profile
viewpoint
Tom Caflisch toymachiner62 @catalyticlabs Rochester, MN High caliber developer

stve/capistrano-local-precompile 188

Fast asset compilation and deployment for your Rails app

toymachiner62/capistrano-node-whenever 2

Capistrano plugin for https://github.com/toymachiner62/node-whenever

toymachiner62/angular.js 0

HTML enhanced for web apps

toymachiner62/arena 0

An interactive UI dashboard for Bee Queue

toymachiner62/better_errors 0

Better error page for Rails and other Rack apps

toymachiner62/boom 0

HTTP-friendly error objects

issue commentcatalyticlabs/catalytic-sdk-php

Bump guzzle to v7?

I will look into it this week.

rabas

comment created time in 16 hours

PullRequestReviewEvent

issue commentsideway/joi

Leaving @hapi and making new plans

Will @hapi/joi-date also get migrated away from Hapi?

hueniverse

comment created time in 6 days

issue commentOpenAPITools/openapi-generator

[BUG][JAVA] Multipart form with array of files doesn't work

Any update on this? A working solution is right here https://github.com/OpenAPITools/openapi-generator/issues/6134#issuecomment-622566458

toymachiner62

comment created time in 15 days

issue commentOpenAPITools/openapi-generator

[BUG][JAVA] setBearerToken method not generated

Please reopen. This is still not working in v5.0.0-beta2.

toymachiner62

comment created time in 15 days

created tagcatalyticlabs/catalytic-sdk-java

tag1.0.0

Catalytic Developer SDK for Java :coffee:

created time in 20 days

release catalyticlabs/catalytic-sdk-java

1.0.0

released time in 20 days

delete branch catalyticlabs/catalytic-sdk-java

delete branch : feat/add-start-and-end-date-to-instance-and-step

delete time in 20 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha 3c09d54a3798ecaf61bea9b7a6b5ce2c4902da39

feat: added getStartDate and getEndDate to Instance and InstanceStep (#48)

view details

push time in 20 days

issue closedcatalyticlabs/catalytic-sdk-java

Add status, start time, and end time to instances and instance steps

We need to add the status, start time, and end time to Instances and Instance Steps.

closed time in 20 days

toymachiner62

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha 7e3175865e3bf06b3762e26bf150fe0dfa5c89b3

release: 1.0.0 (#47)

view details

push time in 21 days

delete branch catalyticlabs/catalytic-sdk-java

delete branch : release/1.0.0

delete time in 21 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha f196a07de578ea8739ebe5839bc476009ecb0b40

fix: referenceName not being set from Field name (#46)

view details

push time in 21 days

delete branch catalyticlabs/catalytic-sdk-java

delete branch : fix/field-referenceName-not-being-set

delete time in 21 days

Pull request review commentcatalyticlabs/catalytic-sdk-java

release: 1.0.0

 public IntegrationConnection getIntegrationConnection(String id) throws AccessTo     /**      * Create an Integration Connection      *-     * @param name                          The name to give to the Integration      * @param integrationId                 The id of the Integration to create a connection from+     * @param name                          The name to give to the Integration      * @param connectionParams              The connection params to use when creating the Integration Connection      * @return                              The newly created Integration      * @throws AccessTokenNotFoundException If Access Token is not found or if the client was instantiated without an Access Token      * @throws IntegrationNotFoundException If no Integration with the id is found      * @throws InternalErrorException       If any error creating Integrations      * @throws UnauthorizedException        If unauthorized      */-    public IntegrationConnection createIntegrationConnection(String name, String integrationId, List<Field> connectionParams) throws AccessTokenNotFoundException, UnauthorizedException, InternalErrorException, IntegrationNotFoundException {+    public IntegrationConnection createIntegrationConnection(String integrationId, String name, List<Field> connectionParams) throws AccessTokenNotFoundException, UnauthorizedException, InternalErrorException, IntegrationNotFoundException {

I changed the order of the params here to match the ordering that is being used for PHP (and probably .net and node).

toymachiner62

comment created time in 21 days

PullRequestReviewEvent

create barnchcatalyticlabs/catalytic-sdk-java

branch : release/1.0.0

created branch time in 21 days

Pull request review commentcatalyticlabs/catalytic-sdk-java

fix: referenceName not being set from Field name

 private Field createField(org.catalytic.sdk.generated.model.Field internalField)             for (Field field : fields) {                 FieldUpdateRequest fieldUpdateRequest = new FieldUpdateRequest();                 fieldUpdateRequest.setName(field.getName());-                fieldUpdateRequest.setReferenceName(field.getReferenceName());+                fieldUpdateRequest.setReferenceName(field.getName());

IIRC you guys are doing some magic in the REST API to map the fields correctly which is why this works.

toymachiner62

comment created time in 21 days

PullRequestReviewEvent

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha d95feb18989a53b714d63150afec37f351079a0e

fix: referenceName not being set from Field name

view details

push time in 21 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha 0ebf3487de5e51c160256c25ac6d435fa886b518

fix: missing integrations from catalytic client (#45)

view details

push time in 21 days

delete branch catalyticlabs/catalytic-sdk-java

delete branch : fix/missing-integrations

delete time in 21 days

create barnchcatalyticlabs/catalytic-sdk-java

branch : fix/missing-integrations

created branch time in 21 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha 60e4c4049d2677900297af1a583fd1890c990456

feat: added integrations client (#44) * feat: added integrations client * ci: removed java 14-ea

view details

push time in 25 days

delete branch catalyticlabs/catalytic-sdk-java

delete branch : feat/integrations

delete time in 25 days

PR merged catalyticlabs/catalytic-sdk-java

Reviewers
feat: added integrations client

Added integrations client

+5141 -51

1 comment

27 changed files

toymachiner62

pr closed time in 25 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha 31990a14e3f3cb30118ec105c016e7286826d448

ci: removed java 14-ea

view details

push time in 25 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha d009e0751455aa54128496f40279cb0e91a8435a

feat: added integrations client

view details

push time in 25 days

PR opened catalyticlabs/catalytic-sdk-java

feat: added integrations client

Added integrations client

+5139 -49

0 comment

25 changed files

pr created time in 25 days

push eventcatalyticlabs/catalytic-sdk-java

Tom Caflisch

commit sha 9befb5e3be0c4f8e9909a42217e270ddda188329

feat: added integrations client

view details

push time in 25 days

create barnchcatalyticlabs/catalytic-sdk-java

branch : feat/integrations

created branch time in 25 days

issue commentOpenAPITools/openapi-generator

[BUG][JAVA] setBearerToken method not generated

Uhh what version was this released in?

toymachiner62

comment created time in a month

created tagcatalyticlabs/catalytic-sdk-php

tag1.0.3

Catalytic Developer SDK for PHP

created time in a month

release catalyticlabs/catalytic-sdk-php

1.0.3

released time in a month

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 45587e9631b9bd0530b1a77876e1d2a804220459

release: release 1.0.3

view details

push time in a month

PullRequestReviewEvent

created tagcatalyticlabs/catalytic-sdk-php

tag1.0.2

Catalytic Developer SDK for PHP

created time in a month

release catalyticlabs/catalytic-sdk-php

1.0.2

released time in a month

delete branch catalyticlabs/catalytic-sdk-php

delete branch : fix/infinite-loop-while-paging-instance-steps

delete time in a month

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha d9cd4cf0378b5b7d348042062dfbcdc8486b550b

fix: infinite loop while requesting second page of instance steps (#55)

view details

push time in a month

issue closedcatalyticlabs/catalytic-sdk-php

Add status, start time, and end time to instances and instance steps

We need to add the status, start time, and end time to Instances and `Instance Steps.

closed time in 2 months

toymachiner62

issue commentcatalyticlabs/catalytic-sdk-php

Add status, start time, and end time to instances and instance steps

Resolved via #54.

@rabas this has been released in version 1.0.1

toymachiner62

comment created time in 2 months

created tagcatalyticlabs/catalytic-sdk-php

tag1.0.1

Catalytic Developer SDK for PHP

created time in 2 months

release catalyticlabs/catalytic-sdk-php

1.0.1

released time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha e49d4ebe9d0da686404560245e4919a59c571921

release: 1.0.1

view details

push time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 13748c5078126ffb5e1eac341aafad5cf6879506

feat: added start and end date to instances and instance steps (#54)

view details

push time in 2 months

delete branch catalyticlabs/catalytic-sdk-php

delete branch : feat/add-start-and-end-date-to-instances-and-instance-steps

delete time in 2 months

issue openedcatalyticlabs/catalytic-sdk-java

Add status, start time, and end time to instances and instance steps

We need to add the status, start time, and end time to Instances and Instance Steps.

created time in 2 months

issue openedcatalyticlabs/catalytic-sdk-node

Add status, start time, and end time to instances and instance steps

We need to add the status, start time, and end time to Instances and Instance Steps.

created time in 2 months

issue openedcatalyticlabs/catalytic-sdk-php

Add status, start time, and end time to instances and instance steps

We need to add the status, start time, and end time to Instances and `Instance Steps.

created time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 89cf057fdbc5654732d31a28192abcb6bfe9eda8

release: 1.0.0

view details

push time in 2 months

create barnchcatalyticlabs/catalytic-sdk-php

branch : testing

created branch time in 2 months

created tagcatalyticlabs/catalytic-sdk-php

tag1.0.0

Catalytic Developer SDK for PHP

created time in 2 months

release catalyticlabs/catalytic-sdk-php

1.0.0

released time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 700150689f8c3f9732b59a9f9ef513fb87222e9b

release: 1.0.0

view details

push time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha fca906dd4d16a330279ae4ba8c479b9dac73c41a

feat: added integrations methods (#52) * feat: added integrations methods * feat: removed type parameter from create and update integration methods * feat: added ability to print debug to stdout via env var

view details

push time in 2 months

delete branch catalyticlabs/catalytic-sdk-php

delete branch : feat/integrations-methods

delete time in 2 months

Pull request review commentcatalyticlabs/catalytic-sdk-php

feat: added integrations methods

 class CatalyticLogger {     public static function getLogger($clazz)     {+        $logLevel = getenv('CATALYTIC_LOG_LEVEL');++        if ($logLevel === 'DEBUG') {+            $logger = new Logger($clazz);+            $logger->pushHandler(new StreamHandler('php://stdout', Logger::DEBUG));+            return $logger;+        }+

I simply added the ability to turn on debug to stdout via an env var for now.

toymachiner62

comment created time in 2 months

PullRequestReviewEvent

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 1bf72d880c07885fdaa74f8c677210a1f85c8f7c

feat: added ability to print debug to stdout via env var

view details

push time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 0e85906e8be71ec6e9d98f6a21e425eb16974d6b

feat: added ability to print debug to stdout via env var

view details

push time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 2c46df57fe25cfde5a51208cba274571730c00c8

feat: removed type parameter from create and update integration methods

view details

push time in 2 months

Pull request review commentcatalyticlabs/catalytic-sdk-php

feat: added integrations methods

+<?php++namespace Catalytic\SDK\Clients;++use Catalytic\SDK\ApiException;+use Catalytic\SDK\CatalyticLogger;+use Catalytic\SDK\ConfigurationUtils;+use Catalytic\SDK\Api\IntegrationsApi;+use Catalytic\SDK\Clients\ClientHelpers;+use Catalytic\SDK\Entities\{+    Integration,+    IntegrationConnection,+    IntegrationsPage,+    IntegrationType+};+use Catalytic\SDK\Exceptions\{+    AccessTokenNotFoundException,+    IntegrationNotFoundException,+    IntegrationConnectionNotFoundException,+    InternalErrorException,+    UnauthorizedException+};+use Catalytic\SDK\Model\{+    IntegrationCreationRequest,+    Integration as InternalIntegration,+    IntegrationConnection as InternalIntegrationConnection,+    IntegrationConnectionCreationRequest,+    IntegrationUpdateRequest+};+use Catalytic\SDK\Search\{Filter, SearchUtils};++/**+ * Integrations client+ */+class Integrations+{+    private $token;+    private $integrationsApi;++    /**+     * Constructor for Integrations client+     *+     * @param string            $token                      The token used to make the underlying api calls+     * @param IntegrationsApi   $integrationsApi (Optional) The injected IntegrationsApi. Used for unit testing+     */+    public function __construct(?string $token, $integrationsApi = null)+    {+        $config = null;+        $this->logger = CatalyticLogger::getLogger(Integrations::class);+        $this->token = ClientHelpers::trimIfString($token);++        if ($token) {+            $config = ConfigurationUtils::getConfiguration($this->token);+        }++        if ($integrationsApi) {+            $this->integrationsApi = $integrationsApi;+        } else {+            $this->integrationsApi = new IntegrationsApi(null, $config);+        }+    }++    /**+     * Get an Integration by id+     *+     * @param string $id                    The id of the Integration to get+     * @return Integration                  The Integration object+     * @throws AccessTokenNotFoundException If the client was instantiated without an Access Token+     * @throws IntegrationNotFoundException If Integratio nnot found+     * @throws InternalErrorException       If any errors fetching the Integration+     * @throws UnauthorizedException        If unauthorized+     */+    public function get(string $id): Integration+    {+        ClientHelpers::verifyAccessTokenExists($this->token);++        try {+            $this->logger->debug("Getting Integration with id $id");+            $internalIntegration = $this->integrationsApi->getIntegration($id);+        } catch (ApiException $e) {+            if ($e->getCode() === 401) {+                throw new UnauthorizedException(null, $e);+            } elseif ($e->getCode() === 404) {+                throw new IntegrationNotFoundException("Integration with id $id not found", $e);+            }+            throw new InternalErrorException("Unable to get Integration", $e);+        }+        $integration = $this->createIntegration($internalIntegration);+        return $integration;+    }++    /**+     * Find Integrations by a variety of filters+     *+     * @param Filter $filter (Optional)     The filter criteria to search Integrations by+     * @param string $pageToken (Optional)  The token of the page to fetch+     * @param int    $pageSize (Optional)   The number of Integrations per page to fetch+     * @return IntegrationsPage             An IntegrationsPage which contains the results+     * @throws AccessTokenNotFoundException If the client was instantiated without an Access Token+     * @throws InternalErrorException       If any errors finding Integrations+     * @throws UnauthorizedException        If unauthorized+     */+    public function find(Filter $filter = null, string $pageToken = null, int $pageSize = null): IntegrationsPage+    {+        ClientHelpers::verifyAccessTokenExists($this->token);++        $text = null;+        $integrations = [];++        if ($filter !== null) {+            $text = SearchUtils::getSearchCriteriaValueByKey($filter->searchFilters, 'text');+        }++        try {+            $this->logger->debug("Finding Integrations with text $text");+            $internalIntegrations = $this->integrationsApi->findIntegrations($text, null, null, null, null, null, null, $pageToken, $pageSize);+        } catch (ApiException $e) {+            if ($e->getCode() === 401) {+                throw new UnauthorizedException(null, $e);+            }+            throw new InternalErrorException("Unable to find Integrations", $e);+        }++        foreach ($internalIntegrations->getIntegrations() as $internalIntegration) {+            $integration = $this->createIntegration($internalIntegration);+            array_push($integrations, $integration);+        }++        $integrationsPage = new IntegrationsPage($integrations, $internalIntegrations->getCount(), $internalIntegrations->getNextPageToken());+        return $integrationsPage;+    }++    /**+     * Create a custom Integration with which Connections can be created+     *+     * @param string $name                  The name of the Integration+     * @param string $type                  The type of integration+     * @param array  $config                The configuration settings for the Integration+     * @return Integration                  The newly created Integration+     * @throws AccessTokenNotFoundException If the client was instantiated without an Access Token+     * @throws InternalErrorException       If any errors starting Instance+     * @throws UnauthorizedException        If unauthorized+     */+    public function create(string $name, string $type, array $config): Integration+    {+        ClientHelpers::verifyAccessTokenExists($this->token);++        $request = new IntegrationCreationRequest(array('name' => $name, 'type' => $type, 'config' => $config));++        try {+            $this->logger->debug("Creating new Integration with name $name and type $type");+            $internalIntegration = $this->integrationsApi->createIntegration($request);+        } catch (ApiException $e) {+            if ($e->getCode() === 401) {+                throw new UnauthorizedException(null, $e);+            }+            throw new InternalErrorException("Unable to create Integration", $e);+        }+        $integration = $this->createIntegration($internalIntegration);+        return $integration;+    }++    /**+     * Update an Integration by id+     *+     * @param string $id                    The id of the Integration to update+     * @param string $name                  The name of the Integration+     * @param string $type                  The type of integration+     * @param array $config                The configuration settings for the Integration+     * @return Integration                  The updated Integration object+     * @throws AccessTokenNotFoundException If the client was instantiated without an Access Token+     * @throws IntegrationNotFoundException If Integration not found+     * @throws InternalErrorException       If any errors fetching the Integration+     * @throws UnauthorizedException        If unauthorized+     */+    public function update(string $id, string $name, string $type, array $config): Integration+    {+        ClientHelpers::verifyAccessTokenExists($this->token);++        $request = new IntegrationUpdateRequest(array('name' => $name, 'type' => $type, 'config' => $config));++        try {+            $this->logger->debug("Updating Integration with id $id");+            $internalIntegration = $this->integrationsApi->updateIntegration($id, $request);+        } catch (ApiException $e) {+            if ($e->getCode() === 401) {+                throw new UnauthorizedException(null, $e);+            } elseif ($e->getCode() === 404) {+                throw new IntegrationNotFoundException("Integration with id $id not found", $e);+            }+            throw new InternalErrorException("Unable to update Integration", $e);+        }+        $integration = $this->createIntegration($internalIntegration);+        return $integration;+    }++    /**+     * Delete an Integration by id+     *+     * @param string $id                    The id of the integration to delete+     * @throws AccessTokenNotFoundException If the client was instantiated without an Access Token+     * @throws IntegrationNotFoundException If Integratio nnot found+     * @throws InternalErrorException       If any errors fetching the Integration+     * @throws UnauthorizedException        If unauthorized+     */+    public function delete(string $id): void+    {+        ClientHelpers::verifyAccessTokenExists($this->token);++        try {+            $this->logger->debug("Deleting Integration with id $id");+            $this->integrationsApi->deleteIntegration($id);+        } catch (ApiException $e) {+            if ($e->getCode() === 401) {+                throw new UnauthorizedException(null, $e);+            } elseif ($e->getCode() === 404) {+                throw new IntegrationNotFoundException("Integration with id $id not found", $e);+            }+            throw new InternalErrorException("Unable to delete Integration", $e);+        }+    }++    /**+     * Get an Integration Connection by id+     *+     * @param string $id                                The id of the Integration Connection to get+     * @return Integration                              The Integration object+     * @throws AccessTokenNotFoundException             If the client was instantiated without an Access Token+     * @throws IntegrationConnectionNotFoundException   If Integratio nnot found+     * @throws InternalErrorException                   If any errors fetching the Integration+     * @throws UnauthorizedException                    If unauthorized+     */+    public function getIntegrationConnection(string $id): IntegrationConnection+    {+        ClientHelpers::verifyAccessTokenExists($this->token);++        try {+            $this->logger->debug("Getting Integration Connection with id $id");+            $internalIntegrationConnection = $this->integrationsApi->getIntegrationConnection(ClientHelpers::WILDCARD_ID, $id);+        } catch (ApiException $e) {+            if ($e->getCode() === 401) {+                throw new UnauthorizedException(null, $e);+            } elseif ($e->getCode() === 404) {+                throw new IntegrationConnectionNotFoundException("Integration Connection with id $id not found", $e);+            }+            throw new InternalErrorException("Unable to get Integration Connection", $e);+        }+        $integrationConnection = $this->createIntegrationConnectionObject($internalIntegrationConnection);+        return $integrationConnection;+    }++    /**+     * Create a custom IntegrationConnection+     *+     * @param string $integrationId         The id of the Integration to create a connection for+     * @param string $name                  A name to give to the IntegrationConnection+     * @param array  $config                The configuration settings for the IntegrationConnection+     * @return Integration                  The newly created IntegrationConnection+     * @throws AccessTokenNotFoundException If the client was instantiated without an Access Token+     * @throws InternalErrorException       If any errors creating an IntegrationConnection+     * @throws UnauthorizedException        If unauthorized+     */+    public function createIntegrationConnection(string $integrationId, string $name, array $config): IntegrationConnection

Yea I certainly can. Should the create integration method also rename config to connectionParams? I noticed on both the .net and node ones it's config.

toymachiner62

comment created time in 2 months

PullRequestReviewEvent

Pull request review commentcatalyticlabs/catalytic-sdk-php

feat: added integrations methods

 class CatalyticLogger     public static function getLogger($clazz)     {         return new Logger($clazz);+        // $logger = new Logger($clazz);+        // $logger->pushHandler(new StreamHandler('php://stdout', Logger::DEBUG));+        // return $logger;

How are you guys doing logging in either the .net or node sdk? I have this class which gets a logger, but there's no way to actually set where to log to, or the log level, etc.

toymachiner62

comment created time in 2 months

PullRequestReviewEvent

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha d6d57122f90ecb414e8a907b8c18194994019423

feat: added integrations methods

view details

push time in 2 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 99815d3695dcae9f620280342abc1789a2a33efb

feat: added integrations methods

view details

push time in 2 months

create barnchcatalyticlabs/catalytic-sdk-php

branch : feat/integrations-methods

created branch time in 2 months

PullRequestReviewEvent

pull request commentcatalyticlabs/catalytic-sdk-node

1.0.3

@nrod80 I believe this release contains new clients and/or functionality doesn't it? If so we should properly follow semver and the minor number should get incremented so I believe it'd be 1.1.0

nrod80

comment created time in 2 months

pull request commentcatalyticlabs/catalytic-sdk-node

feat: added support for uploading blobs

This looks great to me!

It looks like CodeCov is unhappy with some lines with partial coverage since the overall coverage of the repo is quite high. Those are a pain to handle sometimes if there isn't an easy way to hit the condition in a test. I'm concerned sometimes that it discourages defensive programming, so if you feel like that's the case, let me know and I can try to adjust some of the CodeCov settings.

This is one of the downfalls of using something like nock instead of truly using Dependency Injection and Inversion of control. It makes having unit tests for these error cases and catch clauses hard to test.

It is very easy to test these cases when creating a mock axios instance for example and passing it in using dependency injection and forcing it to do what you want to.

If you're curious here's a video I made once on doing this https://www.youtube.com/watch?v=_HhzbIll4_E&t=9s

getfatday

comment created time in 2 months

delete branch toymachiner62/example-node

delete branch : patch-1

delete time in 3 months

created tagcatalyticlabs/catalytic-sdk-php

tag0.5.1

Catalytic Developer SDK for PHP

created time in 3 months

release catalyticlabs/catalytic-sdk-php

0.5.1

released time in 3 months

delete branch catalyticlabs/catalytic-sdk-php

delete branch : fix/user-agent-string

delete time in 3 months

push eventcatalyticlabs/catalytic-sdk-php

Tom Caflisch

commit sha 1c30d7a6081f1662057616a61ae1c7d92c1124cc

fix: user agent string (#51)

view details

push time in 3 months

created tagcatalyticlabs/catalytic-sdk-java

tag0.1.5

Catalytic Developer SDK for Java :coffee:

created time in 3 months

release catalyticlabs/catalytic-sdk-java

0.1.5

released time in 3 months

delete branch catalyticlabs/catalytic-sdk-java

delete branch : fix/user-agent-string

delete time in 3 months

more