@superblocksteam/sdk-api 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +351 -427
- package/dist/api/definition.d.ts +12 -7
- package/dist/api/definition.d.ts.map +1 -1
- package/dist/api/definition.js +19 -12
- package/dist/api/definition.js.map +1 -1
- package/dist/api/definition.test.js +39 -15
- package/dist/api/definition.test.js.map +1 -1
- package/dist/api/index.d.ts +0 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +0 -2
- package/dist/api/index.js.map +1 -1
- package/dist/errors.d.ts +1 -45
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -33
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +16 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -15
- package/dist/index.js.map +1 -1
- package/dist/integrations/anthropic/types.d.ts +3 -22
- package/dist/integrations/anthropic/types.d.ts.map +1 -1
- package/dist/integrations/athena/client.d.ts +1 -1
- package/dist/integrations/athena/client.d.ts.map +1 -1
- package/dist/integrations/athena/client.js.map +1 -1
- package/dist/integrations/athena/types.d.ts +2 -2
- package/dist/integrations/athena/types.d.ts.map +1 -1
- package/dist/integrations/base/graphql-integration-client.d.ts +8 -4
- package/dist/integrations/base/graphql-integration-client.d.ts.map +1 -1
- package/dist/integrations/base/graphql-integration-client.js +18 -5
- package/dist/integrations/base/graphql-integration-client.js.map +1 -1
- package/dist/integrations/base/index.d.ts +3 -2
- package/dist/integrations/base/index.d.ts.map +1 -1
- package/dist/integrations/base/index.js +1 -0
- package/dist/integrations/base/index.js.map +1 -1
- package/dist/integrations/base/rest-api-client-base.d.ts +48 -0
- package/dist/integrations/base/rest-api-client-base.d.ts.map +1 -0
- package/dist/integrations/base/rest-api-client-base.js +98 -0
- package/dist/integrations/base/rest-api-client-base.js.map +1 -0
- package/dist/integrations/base/rest-api-integration-client.d.ts +11 -65
- package/dist/integrations/base/rest-api-integration-client.d.ts.map +1 -1
- package/dist/integrations/base/rest-api-integration-client.js +11 -174
- package/dist/integrations/base/rest-api-integration-client.js.map +1 -1
- package/dist/integrations/base/types.d.ts +1 -67
- package/dist/integrations/base/types.d.ts.map +1 -1
- package/dist/integrations/bigquery/client.d.ts +1 -1
- package/dist/integrations/bigquery/client.d.ts.map +1 -1
- package/dist/integrations/bigquery/client.js.map +1 -1
- package/dist/integrations/bigquery/types.d.ts +3 -3
- package/dist/integrations/bigquery/types.d.ts.map +1 -1
- package/dist/integrations/box/types.d.ts +1 -1
- package/dist/integrations/cockroachdb/client.d.ts +1 -1
- package/dist/integrations/cockroachdb/client.d.ts.map +1 -1
- package/dist/integrations/cockroachdb/client.js.map +1 -1
- package/dist/integrations/cockroachdb/types.d.ts.map +1 -1
- package/dist/integrations/cosmosdb/client.d.ts +1 -1
- package/dist/integrations/cosmosdb/client.d.ts.map +1 -1
- package/dist/integrations/cosmosdb/client.js.map +1 -1
- package/dist/integrations/cosmosdb/client.test.js.map +1 -1
- package/dist/integrations/cosmosdb/types.d.ts.map +1 -1
- package/dist/integrations/databricks/client.d.ts +1 -1
- package/dist/integrations/databricks/client.d.ts.map +1 -1
- package/dist/integrations/databricks/client.js.map +1 -1
- package/dist/integrations/databricks/types.d.ts +3 -3
- package/dist/integrations/databricks/types.d.ts.map +1 -1
- package/dist/integrations/declarations.d.ts +36 -104
- package/dist/integrations/declarations.d.ts.map +1 -1
- package/dist/integrations/declarations.js +5 -68
- package/dist/integrations/declarations.js.map +1 -1
- package/dist/integrations/declarations.test.js.map +1 -1
- package/dist/integrations/documentation-resolver.test.d.ts +2 -0
- package/dist/integrations/documentation-resolver.test.d.ts.map +1 -0
- package/dist/integrations/documentation-resolver.test.js +608 -0
- package/dist/integrations/documentation-resolver.test.js.map +1 -0
- package/dist/integrations/documentation.d.ts +8 -0
- package/dist/integrations/documentation.d.ts.map +1 -0
- package/dist/integrations/documentation.js +277 -0
- package/dist/integrations/documentation.js.map +1 -0
- package/dist/integrations/documentation.test.d.ts +2 -0
- package/dist/integrations/documentation.test.d.ts.map +1 -0
- package/dist/integrations/documentation.test.js +81 -0
- package/dist/integrations/documentation.test.js.map +1 -0
- package/dist/integrations/dynamodb/client.d.ts +1 -1
- package/dist/integrations/dynamodb/client.d.ts.map +1 -1
- package/dist/integrations/dynamodb/client.js.map +1 -1
- package/dist/integrations/dynamodb/types.d.ts.map +1 -1
- package/dist/integrations/gcs/client.d.ts +1 -1
- package/dist/integrations/gcs/client.d.ts.map +1 -1
- package/dist/integrations/gcs/client.js.map +1 -1
- package/dist/integrations/gcs/types.d.ts.map +1 -1
- package/dist/integrations/googledrive/types.d.ts +1 -1
- package/dist/integrations/graphql/client.test.d.ts +15 -0
- package/dist/integrations/graphql/client.test.d.ts.map +1 -0
- package/dist/integrations/graphql/client.test.js +148 -0
- package/dist/integrations/graphql/client.test.js.map +1 -0
- package/dist/integrations/graphql/types.d.ts +22 -3
- package/dist/integrations/graphql/types.d.ts.map +1 -1
- package/dist/integrations/gsheets/client.d.ts +1 -1
- package/dist/integrations/gsheets/client.d.ts.map +1 -1
- package/dist/integrations/gsheets/client.js.map +1 -1
- package/dist/integrations/gsheets/types.d.ts.map +1 -1
- package/dist/integrations/index.d.ts +2 -12
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +2 -8
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/lakebase/client.d.ts +1 -1
- package/dist/integrations/lakebase/client.d.ts.map +1 -1
- package/dist/integrations/lakebase/client.js.map +1 -1
- package/dist/integrations/lakebase/types.d.ts +4 -4
- package/dist/integrations/lakebase/types.d.ts.map +1 -1
- package/dist/integrations/mariadb/client.d.ts +1 -1
- package/dist/integrations/mariadb/client.d.ts.map +1 -1
- package/dist/integrations/mariadb/client.js.map +1 -1
- package/dist/integrations/mariadb/types.d.ts +2 -2
- package/dist/integrations/mariadb/types.d.ts.map +1 -1
- package/dist/integrations/mongodb/client.d.ts +1 -1
- package/dist/integrations/mongodb/client.d.ts.map +1 -1
- package/dist/integrations/mongodb/client.js.map +1 -1
- package/dist/integrations/mongodb/types.d.ts.map +1 -1
- package/dist/integrations/mssql/client.d.ts +1 -1
- package/dist/integrations/mssql/client.d.ts.map +1 -1
- package/dist/integrations/mssql/client.js.map +1 -1
- package/dist/integrations/mssql/types.d.ts +2 -2
- package/dist/integrations/mssql/types.d.ts.map +1 -1
- package/dist/integrations/mysql/client.d.ts +1 -1
- package/dist/integrations/mysql/client.d.ts.map +1 -1
- package/dist/integrations/mysql/client.js.map +1 -1
- package/dist/integrations/mysql/types.d.ts +4 -4
- package/dist/integrations/mysql/types.d.ts.map +1 -1
- package/dist/integrations/openai_v2/types.d.ts +4 -22
- package/dist/integrations/openai_v2/types.d.ts.map +1 -1
- package/dist/integrations/oracledb/client.d.ts +1 -1
- package/dist/integrations/oracledb/client.d.ts.map +1 -1
- package/dist/integrations/oracledb/client.js.map +1 -1
- package/dist/integrations/oracledb/types.d.ts +2 -2
- package/dist/integrations/oracledb/types.d.ts.map +1 -1
- package/dist/integrations/postgres/client.d.ts +2 -2
- package/dist/integrations/postgres/client.d.ts.map +1 -1
- package/dist/integrations/postgres/client.js.map +1 -1
- package/dist/integrations/postgres/types.d.ts.map +1 -1
- package/dist/integrations/redshift/client.d.ts +1 -1
- package/dist/integrations/redshift/client.d.ts.map +1 -1
- package/dist/integrations/redshift/client.js.map +1 -1
- package/dist/integrations/redshift/types.d.ts.map +1 -1
- package/dist/integrations/registry.d.ts +6 -27
- package/dist/integrations/registry.d.ts.map +1 -1
- package/dist/integrations/registry.js +64 -88
- package/dist/integrations/registry.js.map +1 -1
- package/dist/integrations/registry.test.js +1 -3
- package/dist/integrations/registry.test.js.map +1 -1
- package/dist/integrations/restapiintegration/types.d.ts +2 -2
- package/dist/integrations/restapiintegration/types.d.ts.map +1 -1
- package/dist/integrations/s3/client.d.ts +1 -1
- package/dist/integrations/s3/client.d.ts.map +1 -1
- package/dist/integrations/s3/client.js.map +1 -1
- package/dist/integrations/s3/types.d.ts +3 -1
- package/dist/integrations/s3/types.d.ts.map +1 -1
- package/dist/integrations/salesforce/client.d.ts +1 -1
- package/dist/integrations/salesforce/client.d.ts.map +1 -1
- package/dist/integrations/salesforce/client.js.map +1 -1
- package/dist/integrations/salesforce/types.d.ts.map +1 -1
- package/dist/integrations/slack/client.d.ts +13 -9
- package/dist/integrations/slack/client.d.ts.map +1 -1
- package/dist/integrations/slack/client.js +60 -8
- package/dist/integrations/slack/client.js.map +1 -1
- package/dist/integrations/slack/client.test.d.ts +11 -0
- package/dist/integrations/slack/client.test.d.ts.map +1 -0
- package/dist/integrations/slack/client.test.js +368 -0
- package/dist/integrations/slack/client.test.js.map +1 -0
- package/dist/integrations/slack/index.d.ts +2 -1
- package/dist/integrations/slack/index.d.ts.map +1 -1
- package/dist/integrations/slack/index.js +1 -0
- package/dist/integrations/slack/index.js.map +1 -1
- package/dist/integrations/slack/types.d.ts +127 -28
- package/dist/integrations/slack/types.d.ts.map +1 -1
- package/dist/integrations/slack/types.js +27 -1
- package/dist/integrations/slack/types.js.map +1 -1
- package/dist/integrations/smtp/client.d.ts +1 -1
- package/dist/integrations/smtp/client.d.ts.map +1 -1
- package/dist/integrations/smtp/client.js.map +1 -1
- package/dist/integrations/snowflake/client.d.ts +3 -3
- package/dist/integrations/snowflake/client.d.ts.map +1 -1
- package/dist/integrations/snowflake/client.js +2 -2
- package/dist/integrations/snowflake/client.js.map +1 -1
- package/dist/integrations/snowflake/types.d.ts.map +1 -1
- package/dist/integrations/snowflakecortex/client.d.ts +1 -2
- package/dist/integrations/snowflakecortex/client.d.ts.map +1 -1
- package/dist/integrations/snowflakecortex/client.js +1 -2
- package/dist/integrations/snowflakecortex/client.js.map +1 -1
- package/dist/integrations/snowflakecortex/types.d.ts +3 -4
- package/dist/integrations/snowflakecortex/types.d.ts.map +1 -1
- package/dist/integrations/snowflakepostgres/client.d.ts +1 -1
- package/dist/integrations/snowflakepostgres/client.d.ts.map +1 -1
- package/dist/integrations/snowflakepostgres/client.js.map +1 -1
- package/dist/integrations/snowflakepostgres/types.d.ts.map +1 -1
- package/dist/runtime/context.d.ts +3 -3
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/context.js.map +1 -1
- package/dist/runtime/executor.d.ts +2 -2
- package/dist/runtime/index.d.ts +0 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +1 -6
- package/dist/runtime/index.js.map +1 -1
- package/dist/types.d.ts +15 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/api/definition.test.ts +41 -15
- package/src/api/definition.ts +20 -13
- package/src/api/index.ts +0 -4
- package/src/errors.ts +1 -49
- package/src/index.ts +20 -61
- package/src/integrations/airtable/docs.manifest.json +5 -0
- package/src/integrations/anthropic/README.md +5 -101
- package/src/integrations/anthropic/docs.manifest.json +5 -0
- package/src/integrations/anthropic/types.ts +3 -29
- package/src/integrations/asana/README.md +12 -12
- package/src/integrations/asana/docs.manifest.json +5 -0
- package/src/integrations/athena/README.md +4 -4
- package/src/integrations/athena/client.ts +5 -3
- package/src/integrations/athena/docs.manifest.json +5 -0
- package/src/integrations/athena/types.ts +3 -2
- package/src/integrations/base/graphql-integration-client.ts +27 -5
- package/src/integrations/base/index.ts +2 -3
- package/src/integrations/base/rest-api-client-base.ts +134 -0
- package/src/integrations/base/rest-api-integration-client.ts +15 -239
- package/src/integrations/base/types.ts +4 -74
- package/src/integrations/bigquery/README.md +28 -3
- package/src/integrations/bigquery/client.ts +5 -3
- package/src/integrations/bigquery/docs.manifest.json +5 -0
- package/src/integrations/bigquery/types.ts +4 -3
- package/src/integrations/bitbucket/README.md +19 -19
- package/src/integrations/bitbucket/docs.manifest.json +5 -0
- package/src/integrations/box/README.md +24 -24
- package/src/integrations/box/docs.manifest.json +5 -0
- package/src/integrations/box/types.ts +1 -1
- package/src/integrations/circleci/README.md +18 -18
- package/src/integrations/circleci/docs.manifest.json +5 -0
- package/src/integrations/cockroachdb/client.ts +5 -3
- package/src/integrations/cockroachdb/docs.manifest.json +5 -0
- package/src/integrations/cockroachdb/types.ts +1 -0
- package/src/integrations/cohere/README.md +11 -11
- package/src/integrations/cohere/docs.manifest.json +5 -0
- package/src/integrations/confluence/docs.manifest.json +5 -0
- package/src/integrations/cosmosdb/client.test.ts +2 -1
- package/src/integrations/cosmosdb/client.ts +5 -3
- package/src/integrations/cosmosdb/docs.manifest.json +5 -0
- package/src/integrations/cosmosdb/types.ts +1 -0
- package/src/integrations/databricks/README.md +29 -4
- package/src/integrations/databricks/client.ts +5 -3
- package/src/integrations/databricks/docs.manifest.json +5 -0
- package/src/integrations/databricks/types.ts +4 -3
- package/src/integrations/datadog/docs.manifest.json +5 -0
- package/src/integrations/declarations.test.ts +1 -0
- package/src/integrations/declarations.ts +36 -136
- package/src/integrations/documentation-resolver.test.ts +704 -0
- package/src/integrations/documentation.test.ts +120 -0
- package/src/integrations/documentation.ts +421 -0
- package/src/integrations/dropbox/docs.manifest.json +5 -0
- package/src/integrations/dynamodb/client.ts +3 -2
- package/src/integrations/dynamodb/docs.manifest.json +5 -0
- package/src/integrations/dynamodb/types.ts +1 -0
- package/src/integrations/elasticsearch/docs.manifest.json +5 -0
- package/src/integrations/fireworks/README.md +43 -17
- package/src/integrations/fireworks/docs.manifest.json +5 -0
- package/src/integrations/front/docs.manifest.json +5 -0
- package/src/integrations/gcs/client.ts +5 -3
- package/src/integrations/gcs/docs.manifest.json +5 -0
- package/src/integrations/gcs/types.ts +1 -0
- package/src/integrations/gemini/docs.manifest.json +5 -0
- package/src/integrations/github/docs.manifest.json +5 -0
- package/src/integrations/googleanalytics/README.md +2 -2
- package/src/integrations/googleanalytics/docs.manifest.json +5 -0
- package/src/integrations/googledrive/README.md +27 -24
- package/src/integrations/googledrive/docs.manifest.json +5 -0
- package/src/integrations/googledrive/types.ts +1 -1
- package/src/integrations/graphql/README.md +2 -2
- package/src/integrations/graphql/client.test.ts +220 -0
- package/src/integrations/graphql/docs.manifest.json +5 -0
- package/src/integrations/graphql/types.ts +23 -1
- package/src/integrations/groq/README.md +49 -42
- package/src/integrations/groq/docs.manifest.json +5 -0
- package/src/integrations/gsheets/README.md +2 -2
- package/src/integrations/gsheets/client.ts +5 -3
- package/src/integrations/gsheets/docs.manifest.json +5 -0
- package/src/integrations/gsheets/types.ts +1 -0
- package/src/integrations/hubspot/docs.manifest.json +5 -0
- package/src/integrations/index.ts +1 -52
- package/src/integrations/intercom/docs.manifest.json +5 -0
- package/src/integrations/jira/docs.manifest.json +5 -0
- package/src/integrations/lakebase/README.md +242 -0
- package/src/integrations/lakebase/client.ts +6 -4
- package/src/integrations/lakebase/docs.manifest.json +5 -0
- package/src/integrations/lakebase/types.ts +5 -4
- package/src/integrations/launchdarkly/README.md +2 -2
- package/src/integrations/launchdarkly/docs.manifest.json +5 -0
- package/src/integrations/mariadb/README.md +3 -3
- package/src/integrations/mariadb/client.ts +5 -3
- package/src/integrations/mariadb/docs.manifest.json +5 -0
- package/src/integrations/mariadb/types.ts +3 -2
- package/src/integrations/mistral/README.md +39 -13
- package/src/integrations/mistral/docs.manifest.json +5 -0
- package/src/integrations/mongodb/README.md +65 -12
- package/src/integrations/mongodb/client.ts +5 -3
- package/src/integrations/mongodb/docs.manifest.json +5 -0
- package/src/integrations/mongodb/types.ts +1 -0
- package/src/integrations/mssql/README.md +3 -3
- package/src/integrations/mssql/client.ts +5 -3
- package/src/integrations/mssql/docs.manifest.json +5 -0
- package/src/integrations/mssql/types.ts +3 -2
- package/src/integrations/mysql/README.md +4 -4
- package/src/integrations/mysql/client.ts +5 -3
- package/src/integrations/mysql/docs.manifest.json +5 -0
- package/src/integrations/mysql/types.ts +5 -4
- package/src/integrations/notion/docs.manifest.json +5 -0
- package/src/integrations/openai_v2/README.md +44 -116
- package/src/integrations/openai_v2/docs.manifest.json +5 -0
- package/src/integrations/openai_v2/types.ts +4 -29
- package/src/integrations/oracledb/README.md +3 -3
- package/src/integrations/oracledb/client.ts +5 -3
- package/src/integrations/oracledb/docs.manifest.json +5 -0
- package/src/integrations/oracledb/types.ts +3 -2
- package/src/integrations/pagerduty/README.md +2 -2
- package/src/integrations/pagerduty/docs.manifest.json +5 -0
- package/src/integrations/perplexity/README.md +39 -47
- package/src/integrations/perplexity/docs.manifest.json +5 -0
- package/src/integrations/postgres/client.ts +6 -4
- package/src/integrations/postgres/docs.manifest.json +5 -0
- package/src/integrations/postgres/types.ts +1 -0
- package/src/integrations/redshift/client.ts +5 -3
- package/src/integrations/redshift/docs.manifest.json +5 -0
- package/src/integrations/redshift/types.ts +1 -0
- package/src/integrations/registry.test.ts +2 -3
- package/src/integrations/registry.ts +69 -188
- package/src/integrations/restapiintegration/README.md +320 -0
- package/src/integrations/restapiintegration/docs.manifest.json +5 -0
- package/src/integrations/restapiintegration/types.ts +2 -8
- package/src/integrations/s3/client.ts +5 -3
- package/src/integrations/s3/docs.manifest.json +5 -0
- package/src/integrations/s3/types.ts +4 -1
- package/src/integrations/salesforce/README.md +11 -9
- package/src/integrations/salesforce/client.ts +3 -2
- package/src/integrations/salesforce/docs.manifest.json +5 -0
- package/src/integrations/salesforce/types.ts +1 -0
- package/src/integrations/segment/docs.manifest.json +5 -0
- package/src/integrations/sendgrid/README.md +2 -2
- package/src/integrations/sendgrid/docs.manifest.json +5 -0
- package/src/integrations/slack/README.md +62 -19
- package/src/integrations/slack/client.test.ts +553 -0
- package/src/integrations/slack/client.ts +92 -12
- package/src/integrations/slack/docs.manifest.json +5 -0
- package/src/integrations/slack/index.ts +6 -1
- package/src/integrations/slack/types.ts +142 -29
- package/src/integrations/smtp/README.md +220 -0
- package/src/integrations/smtp/client.ts +4 -2
- package/src/integrations/smtp/docs.manifest.json +5 -0
- package/src/integrations/snowflake/client.ts +7 -5
- package/src/integrations/snowflake/docs.manifest.json +5 -0
- package/src/integrations/snowflake/types.ts +1 -0
- package/src/integrations/snowflakecortex/README.md +167 -0
- package/src/integrations/snowflakecortex/client.ts +2 -3
- package/src/integrations/snowflakecortex/docs.manifest.json +5 -0
- package/src/integrations/snowflakecortex/types.ts +3 -11
- package/src/integrations/snowflakepostgres/README.md +233 -0
- package/src/integrations/snowflakepostgres/client.ts +1 -1
- package/src/integrations/snowflakepostgres/docs.manifest.json +5 -0
- package/src/integrations/snowflakepostgres/types.ts +1 -0
- package/src/integrations/stabilityai/README.md +2 -2
- package/src/integrations/stabilityai/docs.manifest.json +5 -0
- package/src/integrations/stripe/docs.manifest.json +5 -0
- package/src/integrations/superblocks-ocr/docs.manifest.json +5 -0
- package/src/integrations/twilio/docs.manifest.json +5 -0
- package/src/integrations/zendesk/docs.manifest.json +5 -0
- package/src/integrations/zoom/README.md +15 -15
- package/src/integrations/zoom/docs.manifest.json +5 -0
- package/src/runtime/context.ts +11 -11
- package/src/runtime/executor.ts +2 -2
- package/src/runtime/index.ts +1 -23
- package/src/types.ts +16 -6
- package/dist/api/streaming.d.ts +0 -229
- package/dist/api/streaming.d.ts.map +0 -1
- package/dist/api/streaming.js +0 -107
- package/dist/api/streaming.js.map +0 -1
- package/dist/api/streaming.test.d.ts +0 -5
- package/dist/api/streaming.test.d.ts.map +0 -1
- package/dist/api/streaming.test.js +0 -364
- package/dist/api/streaming.test.js.map +0 -1
- package/dist/integrations/couchbase/client.d.ts +0 -36
- package/dist/integrations/couchbase/client.d.ts.map +0 -1
- package/dist/integrations/couchbase/client.js +0 -148
- package/dist/integrations/couchbase/client.js.map +0 -1
- package/dist/integrations/couchbase/index.d.ts +0 -8
- package/dist/integrations/couchbase/index.d.ts.map +0 -1
- package/dist/integrations/couchbase/index.js +0 -7
- package/dist/integrations/couchbase/index.js.map +0 -1
- package/dist/integrations/couchbase/types.d.ts +0 -100
- package/dist/integrations/couchbase/types.d.ts.map +0 -1
- package/dist/integrations/couchbase/types.js +0 -5
- package/dist/integrations/couchbase/types.js.map +0 -1
- package/dist/integrations/kafka/client.d.ts +0 -25
- package/dist/integrations/kafka/client.d.ts.map +0 -1
- package/dist/integrations/kafka/client.js +0 -124
- package/dist/integrations/kafka/client.js.map +0 -1
- package/dist/integrations/kafka/index.d.ts +0 -8
- package/dist/integrations/kafka/index.d.ts.map +0 -1
- package/dist/integrations/kafka/index.js +0 -7
- package/dist/integrations/kafka/index.js.map +0 -1
- package/dist/integrations/kafka/types.d.ts +0 -113
- package/dist/integrations/kafka/types.d.ts.map +0 -1
- package/dist/integrations/kafka/types.js +0 -5
- package/dist/integrations/kafka/types.js.map +0 -1
- package/dist/integrations/kinesis/client.d.ts +0 -31
- package/dist/integrations/kinesis/client.d.ts.map +0 -1
- package/dist/integrations/kinesis/client.js +0 -101
- package/dist/integrations/kinesis/client.js.map +0 -1
- package/dist/integrations/kinesis/index.d.ts +0 -8
- package/dist/integrations/kinesis/index.d.ts.map +0 -1
- package/dist/integrations/kinesis/index.js +0 -7
- package/dist/integrations/kinesis/index.js.map +0 -1
- package/dist/integrations/kinesis/types.d.ts +0 -97
- package/dist/integrations/kinesis/types.d.ts.map +0 -1
- package/dist/integrations/kinesis/types.js +0 -7
- package/dist/integrations/kinesis/types.js.map +0 -1
- package/dist/integrations/python/client.d.ts +0 -42
- package/dist/integrations/python/client.d.ts.map +0 -1
- package/dist/integrations/python/client.js +0 -89
- package/dist/integrations/python/client.js.map +0 -1
- package/dist/integrations/python/client.test.d.ts +0 -5
- package/dist/integrations/python/client.test.d.ts.map +0 -1
- package/dist/integrations/python/client.test.js +0 -214
- package/dist/integrations/python/client.test.js.map +0 -1
- package/dist/integrations/python/index.d.ts +0 -6
- package/dist/integrations/python/index.d.ts.map +0 -1
- package/dist/integrations/python/index.js +0 -5
- package/dist/integrations/python/index.js.map +0 -1
- package/dist/integrations/python/types.d.ts +0 -85
- package/dist/integrations/python/types.d.ts.map +0 -1
- package/dist/integrations/python/types.js +0 -5
- package/dist/integrations/python/types.js.map +0 -1
- package/dist/integrations/redis/client.d.ts +0 -43
- package/dist/integrations/redis/client.d.ts.map +0 -1
- package/dist/integrations/redis/client.js +0 -142
- package/dist/integrations/redis/client.js.map +0 -1
- package/dist/integrations/redis/index.d.ts +0 -8
- package/dist/integrations/redis/index.d.ts.map +0 -1
- package/dist/integrations/redis/index.js +0 -7
- package/dist/integrations/redis/index.js.map +0 -1
- package/dist/integrations/redis/types.d.ts +0 -137
- package/dist/integrations/redis/types.d.ts.map +0 -1
- package/dist/integrations/redis/types.js +0 -5
- package/dist/integrations/redis/types.js.map +0 -1
- package/dist/runtime/execute.d.ts +0 -128
- package/dist/runtime/execute.d.ts.map +0 -1
- package/dist/runtime/execute.js +0 -84
- package/dist/runtime/execute.js.map +0 -1
- package/dist/runtime/streaming-context.d.ts +0 -49
- package/dist/runtime/streaming-context.d.ts.map +0 -1
- package/dist/runtime/streaming-context.js +0 -71
- package/dist/runtime/streaming-context.js.map +0 -1
- package/dist/runtime/streaming-executor.d.ts +0 -159
- package/dist/runtime/streaming-executor.d.ts.map +0 -1
- package/dist/runtime/streaming-executor.js +0 -229
- package/dist/runtime/streaming-executor.js.map +0 -1
- package/src/api/streaming.test.ts +0 -432
- package/src/api/streaming.ts +0 -302
- package/src/integrations/couchbase/README.md +0 -138
- package/src/integrations/couchbase/client.ts +0 -224
- package/src/integrations/couchbase/index.ts +0 -8
- package/src/integrations/couchbase/types.ts +0 -125
- package/src/integrations/kafka/README.md +0 -144
- package/src/integrations/kafka/client.ts +0 -215
- package/src/integrations/kafka/index.ts +0 -14
- package/src/integrations/kafka/types.ts +0 -127
- package/src/integrations/kinesis/README.md +0 -153
- package/src/integrations/kinesis/client.ts +0 -146
- package/src/integrations/kinesis/index.ts +0 -14
- package/src/integrations/kinesis/types.ts +0 -114
- package/src/integrations/python/README.md +0 -566
- package/src/integrations/python/client.test.ts +0 -340
- package/src/integrations/python/client.ts +0 -134
- package/src/integrations/python/index.ts +0 -6
- package/src/integrations/python/types.ts +0 -91
- package/src/integrations/redis/README.md +0 -200
- package/src/integrations/redis/client.ts +0 -207
- package/src/integrations/redis/index.ts +0 -8
- package/src/integrations/redis/types.ts +0 -166
- package/src/runtime/execute.ts +0 -221
- package/src/runtime/streaming-context.ts +0 -164
- package/src/runtime/streaming-executor.ts +0 -367
|
@@ -79,16 +79,21 @@ const UserSchema = z
|
|
|
79
79
|
name: z.string(),
|
|
80
80
|
email: z.string(),
|
|
81
81
|
})
|
|
82
|
-
.nullable()
|
|
82
|
+
.nullable()
|
|
83
|
+
.optional();
|
|
83
84
|
|
|
84
85
|
const user = await ctx.integrations.mongodb.run(
|
|
85
86
|
"users",
|
|
86
87
|
"findOne",
|
|
87
88
|
UserSchema,
|
|
88
89
|
{
|
|
89
|
-
query: { _id: userId },
|
|
90
|
+
query: { _id: { $oid: userId } },
|
|
90
91
|
},
|
|
91
92
|
);
|
|
93
|
+
|
|
94
|
+
// findOne returns undefined (not null) when no document matches,
|
|
95
|
+
// so use .nullable().optional() and coalesce if needed:
|
|
96
|
+
const result = user ?? null;
|
|
92
97
|
```
|
|
93
98
|
|
|
94
99
|
### Insert Document
|
|
@@ -116,8 +121,8 @@ const result = await ctx.integrations.mongodb.run(
|
|
|
116
121
|
|
|
117
122
|
```typescript
|
|
118
123
|
const UpdateResultSchema = z.object({
|
|
119
|
-
matchedCount: z.number(),
|
|
120
|
-
modifiedCount: z.number(),
|
|
124
|
+
matchedCount: z.coerce.number(),
|
|
125
|
+
modifiedCount: z.coerce.number(),
|
|
121
126
|
});
|
|
122
127
|
|
|
123
128
|
const result = await ctx.integrations.mongodb.run(
|
|
@@ -125,7 +130,7 @@ const result = await ctx.integrations.mongodb.run(
|
|
|
125
130
|
"updateOne",
|
|
126
131
|
UpdateResultSchema,
|
|
127
132
|
{
|
|
128
|
-
filter: { _id: userId },
|
|
133
|
+
filter: { _id: { $oid: userId } },
|
|
129
134
|
update: {
|
|
130
135
|
$set: { status: "active", updatedAt: new Date().toISOString() },
|
|
131
136
|
},
|
|
@@ -137,7 +142,7 @@ const result = await ctx.integrations.mongodb.run(
|
|
|
137
142
|
|
|
138
143
|
```typescript
|
|
139
144
|
const DeleteResultSchema = z.object({
|
|
140
|
-
deletedCount: z.number(),
|
|
145
|
+
deletedCount: z.coerce.number(),
|
|
141
146
|
});
|
|
142
147
|
|
|
143
148
|
const result = await ctx.integrations.mongodb.run(
|
|
@@ -145,7 +150,7 @@ const result = await ctx.integrations.mongodb.run(
|
|
|
145
150
|
"deleteOne",
|
|
146
151
|
DeleteResultSchema,
|
|
147
152
|
{
|
|
148
|
-
filter: { _id: userId },
|
|
153
|
+
filter: { _id: { $oid: userId } },
|
|
149
154
|
},
|
|
150
155
|
);
|
|
151
156
|
```
|
|
@@ -156,8 +161,8 @@ const result = await ctx.integrations.mongodb.run(
|
|
|
156
161
|
const AggregateResultSchema = z.array(
|
|
157
162
|
z.object({
|
|
158
163
|
_id: z.string(),
|
|
159
|
-
count: z.number(),
|
|
160
|
-
totalAmount: z.number(),
|
|
164
|
+
count: z.coerce.number(),
|
|
165
|
+
totalAmount: z.coerce.number(),
|
|
161
166
|
}),
|
|
162
167
|
);
|
|
163
168
|
|
|
@@ -183,9 +188,14 @@ const result = await ctx.integrations.mongodb.run(
|
|
|
183
188
|
### Count Documents
|
|
184
189
|
|
|
185
190
|
```typescript
|
|
186
|
-
const count = await ctx.integrations.mongodb.run(
|
|
187
|
-
|
|
188
|
-
|
|
191
|
+
const count = await ctx.integrations.mongodb.run(
|
|
192
|
+
"users",
|
|
193
|
+
"count",
|
|
194
|
+
z.coerce.number(),
|
|
195
|
+
{
|
|
196
|
+
query: { status: "active" },
|
|
197
|
+
},
|
|
198
|
+
);
|
|
189
199
|
```
|
|
190
200
|
|
|
191
201
|
### Find with Projection and Sort
|
|
@@ -245,6 +255,49 @@ try {
|
|
|
245
255
|
}
|
|
246
256
|
```
|
|
247
257
|
|
|
258
|
+
## Gotchas
|
|
259
|
+
|
|
260
|
+
### Numeric fields are returned as strings
|
|
261
|
+
|
|
262
|
+
MongoDB numeric values (e.g. `int32`, `int64`, `double`) are returned as strings by the integration. Using `z.number()` in your schema will fail with `"Expected number, received string"`. Use `z.coerce.number()` instead to automatically convert string values to numbers:
|
|
263
|
+
|
|
264
|
+
```typescript
|
|
265
|
+
// ❌ Will fail — MongoDB returns numbers as strings
|
|
266
|
+
const Schema = z.object({ rating: z.number() });
|
|
267
|
+
|
|
268
|
+
// ✅ Correct — coerces string values to numbers
|
|
269
|
+
const Schema = z.object({ rating: z.coerce.number() });
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### ObjectId fields require `$oid` syntax
|
|
273
|
+
|
|
274
|
+
When querying by `_id` or any ObjectId field, passing a plain string does not match. You must wrap the value using MongoDB Extended JSON `$oid` syntax:
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
// ❌ Will not match — returns null/undefined
|
|
278
|
+
const bad = { query: { _id: userId } };
|
|
279
|
+
|
|
280
|
+
// ✅ Correct — uses Extended JSON $oid wrapper
|
|
281
|
+
const good = { query: { _id: { $oid: userId } } };
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
This applies to `findOne`, `updateOne`, `deleteOne`, and any operation filtering by ObjectId fields.
|
|
285
|
+
|
|
286
|
+
### `findOne` returns `undefined` when no document matches
|
|
287
|
+
|
|
288
|
+
When no document is found, `findOne` returns `undefined` rather than `null`. If your schema uses only `.nullable()`, Zod will reject `undefined` with `"Expected object, received undefined"`. Use `.nullable().optional()` to handle both cases:
|
|
289
|
+
|
|
290
|
+
```typescript
|
|
291
|
+
// ❌ Will fail when no document matches
|
|
292
|
+
const Schema = z.object({ name: z.string() }).nullable();
|
|
293
|
+
|
|
294
|
+
// ✅ Correct — handles both null and undefined
|
|
295
|
+
const Schema = z.object({ name: z.string() }).nullable().optional();
|
|
296
|
+
|
|
297
|
+
// Coalesce to null if needed
|
|
298
|
+
const result = (await ctx.integrations.mongodb.run(...)) ?? null;
|
|
299
|
+
```
|
|
300
|
+
|
|
248
301
|
## API Reference
|
|
249
302
|
|
|
250
303
|
- [MongoDB Manual](https://www.mongodb.com/docs/manual/)
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
* Uses the native MongoDB plugin type from @superblocksteam/types.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { z } from "zod";
|
|
8
7
|
import type { PartialMessage } from "@bufbuild/protobuf";
|
|
8
|
+
import type { z } from "zod";
|
|
9
|
+
|
|
9
10
|
import type { Plugin as MongoDBPlugin } from "@superblocksteam/types/dist/src/plugins/mongodb/v1/plugin_pb";
|
|
10
|
-
|
|
11
|
-
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
11
|
+
|
|
12
12
|
import { RestApiValidationError } from "../../errors.js";
|
|
13
13
|
import { IntegrationError } from "../../runtime/errors.js";
|
|
14
|
+
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
15
|
+
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
14
16
|
import type { MongoDBClient, MongoDBAction, MongoDBParams } from "./types.js";
|
|
15
17
|
|
|
16
18
|
/**
|
|
@@ -39,7 +39,7 @@ export default api({
|
|
|
39
39
|
}),
|
|
40
40
|
async run(ctx, { status }) {
|
|
41
41
|
const users = await ctx.integrations.mssql.query(
|
|
42
|
-
"SELECT id, name, email, created_at FROM users WHERE status =
|
|
42
|
+
"SELECT id, name, email, created_at FROM users WHERE status = @PARAM_1",
|
|
43
43
|
UserSchema,
|
|
44
44
|
[status],
|
|
45
45
|
);
|
|
@@ -54,13 +54,13 @@ export default api({
|
|
|
54
54
|
```typescript
|
|
55
55
|
// INSERT
|
|
56
56
|
await ctx.integrations.mssql.execute(
|
|
57
|
-
"INSERT INTO users (name, email) VALUES (
|
|
57
|
+
"INSERT INTO users (name, email) VALUES (@PARAM_1, @PARAM_2)",
|
|
58
58
|
["John Doe", "john@example.com"],
|
|
59
59
|
);
|
|
60
60
|
|
|
61
61
|
// UPDATE
|
|
62
62
|
const updateResult = await ctx.integrations.mssql.execute(
|
|
63
|
-
"UPDATE users SET last_login = GETDATE() WHERE id =
|
|
63
|
+
"UPDATE users SET last_login = GETDATE() WHERE id = @PARAM_1",
|
|
64
64
|
[userId],
|
|
65
65
|
);
|
|
66
66
|
console.log(`Updated ${updateResult.rowCount} rows`);
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* runtime validation using Zod schemas.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type { z } from "zod";
|
|
9
8
|
import type { PartialMessage } from "@bufbuild/protobuf";
|
|
9
|
+
import type { z } from "zod";
|
|
10
|
+
|
|
10
11
|
import type { Plugin as MSSQLPlugin } from "@superblocksteam/types/dist/src/plugins/mssql/v1/plugin_pb";
|
|
11
|
-
|
|
12
|
-
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
12
|
+
|
|
13
13
|
import { QueryValidationError } from "../../errors.js";
|
|
14
14
|
import { IntegrationError } from "../../runtime/errors.js";
|
|
15
|
+
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
16
|
+
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
15
17
|
import { describeType } from "../utils.js";
|
|
16
18
|
import type { MSSQLClient } from "./types.js";
|
|
17
19
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { z } from "zod";
|
|
8
|
+
|
|
8
9
|
import type { BaseIntegrationClient } from "../../types.js";
|
|
9
10
|
import type { TraceMetadata } from "../registry.js";
|
|
10
11
|
|
|
@@ -24,7 +25,7 @@ import type { TraceMetadata } from "../registry.js";
|
|
|
24
25
|
* });
|
|
25
26
|
*
|
|
26
27
|
* const users = await mssql.query(
|
|
27
|
-
* 'SELECT * FROM users WHERE status =
|
|
28
|
+
* 'SELECT * FROM users WHERE status = @PARAM_1',
|
|
28
29
|
* UserSchema,
|
|
29
30
|
* ['active']
|
|
30
31
|
* );
|
|
@@ -34,7 +35,7 @@ export interface MSSQLClient extends BaseIntegrationClient {
|
|
|
34
35
|
/**
|
|
35
36
|
* Execute a SQL query and validate results against a Zod schema.
|
|
36
37
|
*
|
|
37
|
-
* @param sql - SQL query string (use
|
|
38
|
+
* @param sql - SQL query string (use @PARAM_1, @PARAM_2, etc. for parameters)
|
|
38
39
|
* @param schema - Zod schema to validate the query results
|
|
39
40
|
* @param params - Optional query parameters
|
|
40
41
|
* @returns Promise resolving to validated query results
|
|
@@ -39,7 +39,7 @@ export default api({
|
|
|
39
39
|
}),
|
|
40
40
|
async run(ctx, { status }) {
|
|
41
41
|
const users = await ctx.integrations.mysql.query(
|
|
42
|
-
"SELECT id, name, email, created_at FROM users WHERE status =
|
|
42
|
+
"SELECT id, name, email, created_at FROM users WHERE status = ?",
|
|
43
43
|
UserSchema,
|
|
44
44
|
[status],
|
|
45
45
|
);
|
|
@@ -54,13 +54,13 @@ export default api({
|
|
|
54
54
|
```typescript
|
|
55
55
|
// INSERT
|
|
56
56
|
await ctx.integrations.mysql.execute(
|
|
57
|
-
"INSERT INTO users (name, email) VALUES (
|
|
57
|
+
"INSERT INTO users (name, email) VALUES (?, ?)",
|
|
58
58
|
["John Doe", "john@example.com"],
|
|
59
59
|
);
|
|
60
60
|
|
|
61
61
|
// UPDATE
|
|
62
62
|
const updateResult = await ctx.integrations.mysql.execute(
|
|
63
|
-
"UPDATE users SET last_login = NOW() WHERE id =
|
|
63
|
+
"UPDATE users SET last_login = NOW() WHERE id = ?",
|
|
64
64
|
[userId],
|
|
65
65
|
);
|
|
66
66
|
console.log(`Updated ${updateResult.rowCount} rows`);
|
|
@@ -90,7 +90,7 @@ const orders = await ctx.integrations.mysql.query(
|
|
|
90
90
|
c.email as customer_email
|
|
91
91
|
FROM orders o
|
|
92
92
|
JOIN customers c ON o.customer_id = c.id
|
|
93
|
-
WHERE o.status =
|
|
93
|
+
WHERE o.status = ?`,
|
|
94
94
|
OrderWithCustomerSchema,
|
|
95
95
|
["pending"],
|
|
96
96
|
);
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* runtime validation using Zod schemas.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type { z } from "zod";
|
|
9
8
|
import type { PartialMessage } from "@bufbuild/protobuf";
|
|
9
|
+
import type { z } from "zod";
|
|
10
|
+
|
|
10
11
|
import type { Plugin as MySQLPlugin } from "@superblocksteam/types/dist/src/plugins/mysql/v1/plugin_pb";
|
|
11
|
-
|
|
12
|
-
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
12
|
+
|
|
13
13
|
import { QueryValidationError } from "../../errors.js";
|
|
14
14
|
import { IntegrationError } from "../../runtime/errors.js";
|
|
15
|
+
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
16
|
+
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
15
17
|
import { describeType } from "../utils.js";
|
|
16
18
|
import type { MySQLClient } from "./types.js";
|
|
17
19
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { z } from "zod";
|
|
8
|
+
|
|
8
9
|
import type { BaseIntegrationClient } from "../../types.js";
|
|
9
10
|
import type { TraceMetadata } from "../registry.js";
|
|
10
11
|
|
|
@@ -24,7 +25,7 @@ import type { TraceMetadata } from "../registry.js";
|
|
|
24
25
|
* });
|
|
25
26
|
*
|
|
26
27
|
* const users = await mysql.query(
|
|
27
|
-
* 'SELECT * FROM users WHERE status =
|
|
28
|
+
* 'SELECT * FROM users WHERE status = ?',
|
|
28
29
|
* UserSchema,
|
|
29
30
|
* ['active']
|
|
30
31
|
* );
|
|
@@ -34,7 +35,7 @@ export interface MySQLClient extends BaseIntegrationClient {
|
|
|
34
35
|
/**
|
|
35
36
|
* Execute a SQL query and validate results against a Zod schema.
|
|
36
37
|
*
|
|
37
|
-
* @param sql - SQL query string (use
|
|
38
|
+
* @param sql - SQL query string (use ? placeholders for parameters)
|
|
38
39
|
* @param schema - Zod schema to validate the query results
|
|
39
40
|
* @param params - Optional query parameters
|
|
40
41
|
* @returns Promise resolving to validated query results
|
|
@@ -51,7 +52,7 @@ export interface MySQLClient extends BaseIntegrationClient {
|
|
|
51
52
|
* });
|
|
52
53
|
*
|
|
53
54
|
* const users = await mysql.query(
|
|
54
|
-
* 'SELECT * FROM users WHERE status =
|
|
55
|
+
* 'SELECT * FROM users WHERE status = ?',
|
|
55
56
|
* UserSchema,
|
|
56
57
|
* ['active']
|
|
57
58
|
* );
|
|
@@ -74,7 +75,7 @@ export interface MySQLClient extends BaseIntegrationClient {
|
|
|
74
75
|
* @example
|
|
75
76
|
* ```typescript
|
|
76
77
|
* const result = await mysql.execute(
|
|
77
|
-
* 'UPDATE users SET last_login = NOW() WHERE id =
|
|
78
|
+
* 'UPDATE users SET last_login = NOW() WHERE id = ?',
|
|
78
79
|
* [userId]
|
|
79
80
|
* );
|
|
80
81
|
* console.log(`Updated ${result.rowCount} rows`);
|
|
@@ -4,14 +4,15 @@ Interact with OpenAI's APIs for chat completions, embeddings, image generation,
|
|
|
4
4
|
|
|
5
5
|
## Methods
|
|
6
6
|
|
|
7
|
-
| Method
|
|
8
|
-
|
|
|
9
|
-
| `apiRequest(options, schema, metadata?)`
|
|
10
|
-
| `streamApiRequest(options, schema, metadata?)` | Stream responses with real-time chunk validation |
|
|
7
|
+
| Method | Description |
|
|
8
|
+
| ---------------------------------------- | -------------------------------------------------- |
|
|
9
|
+
| `apiRequest(options, schema, metadata?)` | Make any OpenAI API request with schema validation |
|
|
11
10
|
|
|
12
11
|
## Usage
|
|
13
12
|
|
|
14
|
-
###
|
|
13
|
+
### Step 1: List Available Models
|
|
14
|
+
|
|
15
|
+
Model availability depends on your OpenAI account and API tier. Before making requests, validate which models you can access:
|
|
15
16
|
|
|
16
17
|
```typescript
|
|
17
18
|
import { api, z, openai } from "@superblocksteam/sdk-api";
|
|
@@ -19,6 +20,30 @@ import { api, z, openai } from "@superblocksteam/sdk-api";
|
|
|
19
20
|
// Integration ID from the integrations panel
|
|
20
21
|
const PROD_OPENAI = "a1b2c3d4-5678-90ab-cdef-333333333333";
|
|
21
22
|
|
|
23
|
+
const ModelsResponseSchema = z.object({
|
|
24
|
+
data: z.array(
|
|
25
|
+
z.object({
|
|
26
|
+
id: z.string(),
|
|
27
|
+
object: z.string(),
|
|
28
|
+
}),
|
|
29
|
+
),
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const models = await ctx.integrations.ai.apiRequest(
|
|
33
|
+
{
|
|
34
|
+
method: "GET",
|
|
35
|
+
path: "/models",
|
|
36
|
+
},
|
|
37
|
+
{ response: ModelsResponseSchema },
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
// Use a model ID from the response in subsequent requests
|
|
41
|
+
const availableModelId = models.data[0]?.id;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Chat Completion
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
22
47
|
const ChatCompletionResponseSchema = z.object({
|
|
23
48
|
id: z.string(),
|
|
24
49
|
object: z.literal("chat.completion"),
|
|
@@ -56,7 +81,7 @@ export default api({
|
|
|
56
81
|
const result = await ctx.integrations.ai.apiRequest(
|
|
57
82
|
{
|
|
58
83
|
method: "POST",
|
|
59
|
-
path: "/
|
|
84
|
+
path: "/chat/completions",
|
|
60
85
|
body: {
|
|
61
86
|
model: "gpt-4",
|
|
62
87
|
messages: [
|
|
@@ -105,7 +130,7 @@ const FunctionCallResponseSchema = z.object({
|
|
|
105
130
|
const result = await ctx.integrations.ai.apiRequest(
|
|
106
131
|
{
|
|
107
132
|
method: "POST",
|
|
108
|
-
path: "/
|
|
133
|
+
path: "/chat/completions",
|
|
109
134
|
body: {
|
|
110
135
|
model: "gpt-4",
|
|
111
136
|
messages: [
|
|
@@ -161,7 +186,7 @@ const EmbeddingsResponseSchema = z.object({
|
|
|
161
186
|
const embeddings = await ctx.integrations.ai.apiRequest(
|
|
162
187
|
{
|
|
163
188
|
method: "POST",
|
|
164
|
-
path: "/
|
|
189
|
+
path: "/embeddings",
|
|
165
190
|
body: {
|
|
166
191
|
model: "text-embedding-3-small",
|
|
167
192
|
input: ["Hello world", "How are you?"],
|
|
@@ -192,7 +217,7 @@ const ImageResponseSchema = z.object({
|
|
|
192
217
|
const images = await ctx.integrations.ai.apiRequest(
|
|
193
218
|
{
|
|
194
219
|
method: "POST",
|
|
195
|
-
path: "/
|
|
220
|
+
path: "/images/generations",
|
|
196
221
|
body: {
|
|
197
222
|
model: "dall-e-3",
|
|
198
223
|
prompt: "A serene mountain landscape at sunset",
|
|
@@ -215,7 +240,7 @@ const imageUrl = images.data[0]?.url;
|
|
|
215
240
|
const ttsResult = await ctx.integrations.ai.apiRequest(
|
|
216
241
|
{
|
|
217
242
|
method: "POST",
|
|
218
|
-
path: "/
|
|
243
|
+
path: "/audio/speech",
|
|
219
244
|
body: {
|
|
220
245
|
model: "tts-1",
|
|
221
246
|
input: "Hello, how are you today?",
|
|
@@ -226,91 +251,6 @@ const ttsResult = await ctx.integrations.ai.apiRequest(
|
|
|
226
251
|
);
|
|
227
252
|
```
|
|
228
253
|
|
|
229
|
-
### Streaming Chat Completions
|
|
230
|
-
|
|
231
|
-
For real-time token streaming, use `streamApiRequest()` with `stream: true`:
|
|
232
|
-
|
|
233
|
-
```typescript
|
|
234
|
-
import { streamingApi, z, openai } from "@superblocksteam/sdk-api";
|
|
235
|
-
|
|
236
|
-
// Integration ID from the integrations panel
|
|
237
|
-
const PROD_OPENAI = "a1b2c3d4-5678-90ab-cdef-333333333333";
|
|
238
|
-
|
|
239
|
-
// Schema for OpenAI's streaming SSE chunks
|
|
240
|
-
const OpenAIStreamChunkSchema = z.object({
|
|
241
|
-
id: z.string(),
|
|
242
|
-
object: z.literal("chat.completion.chunk"),
|
|
243
|
-
created: z.number(),
|
|
244
|
-
model: z.string(),
|
|
245
|
-
choices: z.array(
|
|
246
|
-
z.object({
|
|
247
|
-
index: z.number(),
|
|
248
|
-
delta: z.object({
|
|
249
|
-
role: z.string().optional(),
|
|
250
|
-
content: z.string().optional(),
|
|
251
|
-
}),
|
|
252
|
-
finish_reason: z.string().nullable(),
|
|
253
|
-
}),
|
|
254
|
-
),
|
|
255
|
-
});
|
|
256
|
-
|
|
257
|
-
export default streamingApi({
|
|
258
|
-
integrations: {
|
|
259
|
-
ai: openai(PROD_OPENAI),
|
|
260
|
-
},
|
|
261
|
-
|
|
262
|
-
input: z.object({ prompt: z.string() }),
|
|
263
|
-
chunk: z.object({ type: z.literal("text"), text: z.string() }),
|
|
264
|
-
|
|
265
|
-
async *run(ctx, { prompt }) {
|
|
266
|
-
const stream = ctx.integrations.ai.streamApiRequest(
|
|
267
|
-
{
|
|
268
|
-
method: "POST",
|
|
269
|
-
path: "/v1/chat/completions",
|
|
270
|
-
body: {
|
|
271
|
-
model: "gpt-4",
|
|
272
|
-
stream: true, // Enable streaming
|
|
273
|
-
messages: [
|
|
274
|
-
{ role: "system", content: "You are a helpful assistant." },
|
|
275
|
-
{ role: "user", content: prompt },
|
|
276
|
-
],
|
|
277
|
-
},
|
|
278
|
-
},
|
|
279
|
-
{ chunk: OpenAIStreamChunkSchema },
|
|
280
|
-
);
|
|
281
|
-
|
|
282
|
-
// Yield text chunks as they arrive
|
|
283
|
-
for await (const chunk of stream) {
|
|
284
|
-
const content = chunk.choices[0]?.delta?.content;
|
|
285
|
-
if (content) {
|
|
286
|
-
yield { type: "text" as const, text: content };
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
},
|
|
290
|
-
});
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
#### Streaming Chunk Structure
|
|
294
|
-
|
|
295
|
-
OpenAI's streaming chunks have this structure:
|
|
296
|
-
|
|
297
|
-
```typescript
|
|
298
|
-
{
|
|
299
|
-
id: "chatcmpl-...",
|
|
300
|
-
object: "chat.completion.chunk",
|
|
301
|
-
created: 1234567890,
|
|
302
|
-
model: "gpt-4",
|
|
303
|
-
choices: [{
|
|
304
|
-
index: 0,
|
|
305
|
-
delta: {
|
|
306
|
-
role: "assistant", // Only in first chunk
|
|
307
|
-
content: "Hello" // Incremental text
|
|
308
|
-
},
|
|
309
|
-
finish_reason: null // "stop" in final chunk
|
|
310
|
-
}]
|
|
311
|
-
}
|
|
312
|
-
```
|
|
313
|
-
|
|
314
254
|
## Trace Metadata
|
|
315
255
|
|
|
316
256
|
All methods accept an optional `metadata` parameter as the last argument for diagnostics labeling. See the [root SDK README](../../../README.md#trace-metadata) for details.
|
|
@@ -319,7 +259,7 @@ All methods accept an optional `metadata` parameter as the last argument for dia
|
|
|
319
259
|
|
|
320
260
|
### No Specialized Methods
|
|
321
261
|
|
|
322
|
-
The OpenAI client only provides `apiRequest()`. There are no
|
|
262
|
+
The OpenAI client only provides `apiRequest()`. There are no other specialized methods:
|
|
323
263
|
|
|
324
264
|
```typescript
|
|
325
265
|
// WRONG - These methods do not exist
|
|
@@ -328,7 +268,7 @@ await openai.createEmbedding({ ... });
|
|
|
328
268
|
|
|
329
269
|
// CORRECT - Use apiRequest for all operations
|
|
330
270
|
await ctx.integrations.ai.apiRequest(
|
|
331
|
-
{ method: "POST", path: "/
|
|
271
|
+
{ method: "POST", path: "/chat/completions", body: { ... } },
|
|
332
272
|
{ response: ResponseSchema }
|
|
333
273
|
);
|
|
334
274
|
```
|
|
@@ -341,13 +281,13 @@ You must always provide a response schema:
|
|
|
341
281
|
// WRONG - Missing response schema
|
|
342
282
|
const result = await ctx.integrations.ai.apiRequest({
|
|
343
283
|
method: "POST",
|
|
344
|
-
path: "/
|
|
284
|
+
path: "/chat/completions",
|
|
345
285
|
body: { ... },
|
|
346
286
|
});
|
|
347
287
|
|
|
348
288
|
// CORRECT - Include response schema
|
|
349
289
|
const result = await ctx.integrations.ai.apiRequest(
|
|
350
|
-
{ method: "POST", path: "/
|
|
290
|
+
{ method: "POST", path: "/chat/completions", body: { ... } },
|
|
351
291
|
{ response: ChatCompletionResponseSchema }
|
|
352
292
|
);
|
|
353
293
|
```
|
|
@@ -389,7 +329,7 @@ Some features require beta headers:
|
|
|
389
329
|
const result = await ctx.integrations.ai.apiRequest(
|
|
390
330
|
{
|
|
391
331
|
method: "POST",
|
|
392
|
-
path: "/
|
|
332
|
+
path: "/assistants",
|
|
393
333
|
body: { ... },
|
|
394
334
|
headers: {
|
|
395
335
|
"OpenAI-Beta": "assistants=v2",
|
|
@@ -419,7 +359,7 @@ async function withRetry<T>(fn: () => Promise<T>, maxRetries = 3): Promise<T> {
|
|
|
419
359
|
|
|
420
360
|
const result = await withRetry(() =>
|
|
421
361
|
ctx.integrations.ai.apiRequest(
|
|
422
|
-
{ method: "POST", path: "/
|
|
362
|
+
{ method: "POST", path: "/chat/completions", body: { ... } },
|
|
423
363
|
{ response: ChatCompletionResponseSchema }
|
|
424
364
|
)
|
|
425
365
|
);
|
|
@@ -441,7 +381,7 @@ Be aware of model token limits:
|
|
|
441
381
|
const result = await ctx.integrations.ai.apiRequest(
|
|
442
382
|
{
|
|
443
383
|
method: "POST",
|
|
444
|
-
path: "/
|
|
384
|
+
path: "/chat/completions",
|
|
445
385
|
body: {
|
|
446
386
|
model: "gpt-4",
|
|
447
387
|
messages: [...],
|
|
@@ -455,11 +395,11 @@ const result = await ctx.integrations.ai.apiRequest(
|
|
|
455
395
|
## Error Handling
|
|
456
396
|
|
|
457
397
|
```typescript
|
|
458
|
-
import { RestApiValidationError
|
|
398
|
+
import { RestApiValidationError } from "@superblocksteam/sdk-api";
|
|
459
399
|
|
|
460
400
|
try {
|
|
461
401
|
const result = await ctx.integrations.ai.apiRequest(
|
|
462
|
-
{ method: "POST", path: "/
|
|
402
|
+
{ method: "POST", path: "/chat/completions", body: { ... } },
|
|
463
403
|
{ response: ChatCompletionResponseSchema }
|
|
464
404
|
);
|
|
465
405
|
} catch (error) {
|
|
@@ -468,18 +408,6 @@ try {
|
|
|
468
408
|
console.error("Actual response:", error.details.data);
|
|
469
409
|
}
|
|
470
410
|
}
|
|
471
|
-
|
|
472
|
-
// For streaming requests
|
|
473
|
-
try {
|
|
474
|
-
for await (const chunk of stream) {
|
|
475
|
-
// Process chunk
|
|
476
|
-
}
|
|
477
|
-
} catch (error) {
|
|
478
|
-
if (error instanceof StreamChunkValidationError) {
|
|
479
|
-
console.error("Chunk validation failed at index:", error.details.chunkIndex);
|
|
480
|
-
console.error("Raw chunk:", error.details.chunk);
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
411
|
```
|
|
484
412
|
|
|
485
413
|
## API Reference
|