@superblocksteam/sdk-api 2.0.96 → 2.0.97-next.0
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 +68 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/athena/client.d.ts +3 -3
- package/dist/integrations/athena/client.d.ts.map +1 -1
- package/dist/integrations/athena/client.js +4 -4
- package/dist/integrations/athena/client.js.map +1 -1
- package/dist/integrations/athena/types.d.ts +3 -2
- package/dist/integrations/athena/types.d.ts.map +1 -1
- package/dist/integrations/base/graphql-integration-client.d.ts +5 -3
- package/dist/integrations/base/graphql-integration-client.d.ts.map +1 -1
- package/dist/integrations/base/graphql-integration-client.js +8 -6
- package/dist/integrations/base/graphql-integration-client.js.map +1 -1
- package/dist/integrations/base/rest-api-integration-client.d.ts +6 -4
- package/dist/integrations/base/rest-api-integration-client.d.ts.map +1 -1
- package/dist/integrations/base/rest-api-integration-client.js +7 -5
- package/dist/integrations/base/rest-api-integration-client.js.map +1 -1
- package/dist/integrations/base/types.d.ts +9 -4
- package/dist/integrations/base/types.d.ts.map +1 -1
- package/dist/integrations/bigquery/client.d.ts +3 -3
- package/dist/integrations/bigquery/client.d.ts.map +1 -1
- package/dist/integrations/bigquery/client.js +4 -4
- package/dist/integrations/bigquery/client.js.map +1 -1
- package/dist/integrations/bigquery/types.d.ts +3 -2
- package/dist/integrations/bigquery/types.d.ts.map +1 -1
- package/dist/integrations/cockroachdb/client.d.ts +3 -3
- package/dist/integrations/cockroachdb/client.d.ts.map +1 -1
- package/dist/integrations/cockroachdb/client.js +4 -4
- package/dist/integrations/cockroachdb/client.js.map +1 -1
- package/dist/integrations/cockroachdb/types.d.ts +3 -2
- package/dist/integrations/cockroachdb/types.d.ts.map +1 -1
- package/dist/integrations/cosmosdb/client.d.ts +7 -7
- package/dist/integrations/cosmosdb/client.d.ts.map +1 -1
- package/dist/integrations/cosmosdb/client.js +14 -14
- package/dist/integrations/cosmosdb/client.js.map +1 -1
- package/dist/integrations/cosmosdb/types.d.ts +12 -6
- package/dist/integrations/cosmosdb/types.d.ts.map +1 -1
- package/dist/integrations/couchbase/client.d.ts +5 -5
- package/dist/integrations/couchbase/client.d.ts.map +1 -1
- package/dist/integrations/couchbase/client.js +8 -8
- package/dist/integrations/couchbase/client.js.map +1 -1
- package/dist/integrations/couchbase/types.d.ts +8 -4
- package/dist/integrations/couchbase/types.d.ts.map +1 -1
- package/dist/integrations/databricks/client.d.ts +3 -3
- package/dist/integrations/databricks/client.d.ts.map +1 -1
- package/dist/integrations/databricks/client.js +4 -4
- package/dist/integrations/databricks/client.js.map +1 -1
- package/dist/integrations/databricks/types.d.ts +3 -2
- package/dist/integrations/databricks/types.d.ts.map +1 -1
- package/dist/integrations/dynamodb/client.d.ts +12 -12
- package/dist/integrations/dynamodb/client.d.ts.map +1 -1
- package/dist/integrations/dynamodb/client.js +24 -24
- package/dist/integrations/dynamodb/client.js.map +1 -1
- package/dist/integrations/dynamodb/types.d.ts +28 -14
- package/dist/integrations/dynamodb/types.d.ts.map +1 -1
- package/dist/integrations/gcs/client.d.ts +8 -8
- package/dist/integrations/gcs/client.d.ts.map +1 -1
- package/dist/integrations/gcs/client.js +16 -16
- package/dist/integrations/gcs/client.js.map +1 -1
- package/dist/integrations/gcs/types.d.ts +14 -7
- package/dist/integrations/gcs/types.d.ts.map +1 -1
- package/dist/integrations/graphql/types.d.ts +11 -4
- package/dist/integrations/graphql/types.d.ts.map +1 -1
- package/dist/integrations/gsheets/client.d.ts +2 -2
- package/dist/integrations/gsheets/client.d.ts.map +1 -1
- package/dist/integrations/gsheets/client.js +2 -2
- package/dist/integrations/gsheets/client.js.map +1 -1
- package/dist/integrations/gsheets/types.d.ts +2 -1
- package/dist/integrations/gsheets/types.d.ts.map +1 -1
- package/dist/integrations/index.d.ts +1 -1
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/kafka/client.d.ts +3 -3
- package/dist/integrations/kafka/client.d.ts.map +1 -1
- package/dist/integrations/kafka/client.js +6 -6
- package/dist/integrations/kafka/client.js.map +1 -1
- package/dist/integrations/kafka/types.d.ts +4 -2
- package/dist/integrations/kafka/types.d.ts.map +1 -1
- package/dist/integrations/kinesis/client.d.ts +3 -3
- package/dist/integrations/kinesis/client.d.ts.map +1 -1
- package/dist/integrations/kinesis/client.js +6 -6
- package/dist/integrations/kinesis/client.js.map +1 -1
- package/dist/integrations/kinesis/types.d.ts +4 -2
- package/dist/integrations/kinesis/types.d.ts.map +1 -1
- package/dist/integrations/lakebase/client.d.ts +3 -3
- package/dist/integrations/lakebase/client.d.ts.map +1 -1
- package/dist/integrations/lakebase/client.js +4 -4
- package/dist/integrations/lakebase/client.js.map +1 -1
- package/dist/integrations/lakebase/types.d.ts +3 -2
- package/dist/integrations/lakebase/types.d.ts.map +1 -1
- package/dist/integrations/mariadb/client.d.ts +3 -3
- package/dist/integrations/mariadb/client.d.ts.map +1 -1
- package/dist/integrations/mariadb/client.js +4 -4
- package/dist/integrations/mariadb/client.js.map +1 -1
- package/dist/integrations/mariadb/types.d.ts +3 -2
- package/dist/integrations/mariadb/types.d.ts.map +1 -1
- package/dist/integrations/mongodb/client.d.ts +2 -2
- package/dist/integrations/mongodb/client.d.ts.map +1 -1
- package/dist/integrations/mongodb/client.js +2 -2
- package/dist/integrations/mongodb/client.js.map +1 -1
- package/dist/integrations/mongodb/types.d.ts +2 -1
- package/dist/integrations/mongodb/types.d.ts.map +1 -1
- package/dist/integrations/mssql/client.d.ts +3 -3
- package/dist/integrations/mssql/client.d.ts.map +1 -1
- package/dist/integrations/mssql/client.js +4 -4
- package/dist/integrations/mssql/client.js.map +1 -1
- package/dist/integrations/mssql/types.d.ts +3 -2
- package/dist/integrations/mssql/types.d.ts.map +1 -1
- package/dist/integrations/mysql/client.d.ts +3 -3
- package/dist/integrations/mysql/client.d.ts.map +1 -1
- package/dist/integrations/mysql/client.js +4 -4
- package/dist/integrations/mysql/client.js.map +1 -1
- package/dist/integrations/mysql/types.d.ts +3 -2
- package/dist/integrations/mysql/types.d.ts.map +1 -1
- package/dist/integrations/oracledb/client.d.ts +3 -3
- package/dist/integrations/oracledb/client.d.ts.map +1 -1
- package/dist/integrations/oracledb/client.js +4 -4
- package/dist/integrations/oracledb/client.js.map +1 -1
- package/dist/integrations/oracledb/types.d.ts +3 -2
- package/dist/integrations/oracledb/types.d.ts.map +1 -1
- package/dist/integrations/postgres/client.d.ts +3 -3
- package/dist/integrations/postgres/client.d.ts.map +1 -1
- package/dist/integrations/postgres/client.js +4 -4
- package/dist/integrations/postgres/client.js.map +1 -1
- package/dist/integrations/postgres/types.d.ts +3 -2
- package/dist/integrations/postgres/types.d.ts.map +1 -1
- package/dist/integrations/python/client.d.ts +2 -2
- package/dist/integrations/python/client.d.ts.map +1 -1
- package/dist/integrations/python/client.js +2 -2
- package/dist/integrations/python/client.js.map +1 -1
- package/dist/integrations/python/types.d.ts +19 -2
- package/dist/integrations/python/types.d.ts.map +1 -1
- package/dist/integrations/redis/client.d.ts +12 -12
- package/dist/integrations/redis/client.d.ts.map +1 -1
- package/dist/integrations/redis/client.js +24 -24
- package/dist/integrations/redis/client.js.map +1 -1
- package/dist/integrations/redis/types.d.ts +22 -11
- package/dist/integrations/redis/types.d.ts.map +1 -1
- package/dist/integrations/redshift/client.d.ts +3 -3
- package/dist/integrations/redshift/client.d.ts.map +1 -1
- package/dist/integrations/redshift/client.js +4 -4
- package/dist/integrations/redshift/client.js.map +1 -1
- package/dist/integrations/redshift/types.d.ts +3 -2
- package/dist/integrations/redshift/types.d.ts.map +1 -1
- package/dist/integrations/registry.d.ts +21 -2
- package/dist/integrations/registry.d.ts.map +1 -1
- package/dist/integrations/registry.js.map +1 -1
- package/dist/integrations/s3/client.d.ts +8 -8
- package/dist/integrations/s3/client.d.ts.map +1 -1
- package/dist/integrations/s3/client.js +16 -16
- package/dist/integrations/s3/client.js.map +1 -1
- package/dist/integrations/s3/types.d.ts +14 -7
- package/dist/integrations/s3/types.d.ts.map +1 -1
- package/dist/integrations/salesforce/client.d.ts +10 -10
- package/dist/integrations/salesforce/client.d.ts.map +1 -1
- package/dist/integrations/salesforce/client.js +20 -20
- package/dist/integrations/salesforce/client.js.map +1 -1
- package/dist/integrations/salesforce/types.d.ts +18 -9
- package/dist/integrations/salesforce/types.d.ts.map +1 -1
- package/dist/integrations/smtp/client.d.ts +2 -2
- package/dist/integrations/smtp/client.d.ts.map +1 -1
- package/dist/integrations/smtp/client.js +2 -2
- package/dist/integrations/smtp/client.js.map +1 -1
- package/dist/integrations/smtp/types.d.ts +2 -1
- package/dist/integrations/smtp/types.d.ts.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 +4 -4
- package/dist/integrations/snowflake/client.js.map +1 -1
- package/dist/integrations/snowflake/types.d.ts +3 -2
- package/dist/integrations/snowflake/types.d.ts.map +1 -1
- package/dist/integrations/snowflakepostgres/types.d.ts +3 -2
- package/dist/integrations/snowflakepostgres/types.d.ts.map +1 -1
- package/dist/runtime/context.d.ts +2 -1
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/context.js +2 -2
- package/dist/runtime/context.js.map +1 -1
- package/dist/runtime/execute.d.ts +4 -2
- package/dist/runtime/execute.d.ts.map +1 -1
- package/dist/runtime/execute.js.map +1 -1
- package/dist/runtime/executor.d.ts +2 -1
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/streaming-context.d.ts +3 -2
- package/dist/runtime/streaming-context.d.ts.map +1 -1
- package/dist/runtime/streaming-context.js +2 -2
- package/dist/runtime/streaming-context.js.map +1 -1
- package/dist/runtime/streaming-executor.d.ts +4 -2
- package/dist/runtime/streaming-executor.d.ts.map +1 -1
- package/dist/runtime/streaming-executor.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/integrations/airtable/README.md +7 -3
- package/src/integrations/anthropic/README.md +8 -4
- package/src/integrations/asana/README.md +7 -3
- package/src/integrations/athena/README.md +8 -4
- package/src/integrations/athena/client.ts +5 -3
- package/src/integrations/athena/types.ts +7 -1
- package/src/integrations/base/graphql-integration-client.ts +9 -4
- package/src/integrations/base/rest-api-integration-client.ts +16 -3
- package/src/integrations/base/types.ts +9 -2
- package/src/integrations/bigquery/README.md +8 -4
- package/src/integrations/bigquery/client.ts +5 -3
- package/src/integrations/bigquery/types.ts +7 -1
- package/src/integrations/bitbucket/README.md +7 -3
- package/src/integrations/box/README.md +7 -3
- package/src/integrations/circleci/README.md +7 -3
- package/src/integrations/cockroachdb/README.md +8 -4
- package/src/integrations/cockroachdb/client.ts +5 -3
- package/src/integrations/cockroachdb/types.ts +7 -1
- package/src/integrations/cohere/README.md +7 -3
- package/src/integrations/confluence/README.md +7 -3
- package/src/integrations/cosmosdb/README.md +7 -3
- package/src/integrations/cosmosdb/client.ts +19 -8
- package/src/integrations/cosmosdb/types.ts +12 -0
- package/src/integrations/couchbase/README.md +10 -6
- package/src/integrations/couchbase/client.ts +23 -4
- package/src/integrations/couchbase/types.ts +12 -1
- package/src/integrations/databricks/README.md +8 -4
- package/src/integrations/databricks/client.ts +5 -3
- package/src/integrations/databricks/types.ts +7 -1
- package/src/integrations/datadog/README.md +7 -3
- package/src/integrations/dropbox/README.md +7 -3
- package/src/integrations/dynamodb/README.md +17 -13
- package/src/integrations/dynamodb/client.ts +52 -15
- package/src/integrations/dynamodb/types.ts +32 -6
- package/src/integrations/elasticsearch/README.md +7 -3
- package/src/integrations/fireworks/README.md +7 -3
- package/src/integrations/front/README.md +7 -3
- package/src/integrations/gcs/README.md +13 -9
- package/src/integrations/gcs/client.ts +61 -24
- package/src/integrations/gcs/types.ts +27 -4
- package/src/integrations/gemini/README.md +7 -3
- package/src/integrations/github/README.md +7 -3
- package/src/integrations/googleanalytics/README.md +7 -3
- package/src/integrations/googledrive/README.md +7 -3
- package/src/integrations/graphql/README.md +8 -4
- package/src/integrations/graphql/types.ts +11 -2
- package/src/integrations/groq/README.md +7 -3
- package/src/integrations/gsheets/README.md +7 -3
- package/src/integrations/gsheets/client.ts +4 -1
- package/src/integrations/gsheets/types.ts +2 -0
- package/src/integrations/hubspot/README.md +7 -3
- package/src/integrations/index.ts +1 -0
- package/src/integrations/intercom/README.md +7 -3
- package/src/integrations/jira/README.md +7 -3
- package/src/integrations/kafka/README.md +8 -4
- package/src/integrations/kafka/client.ts +8 -3
- package/src/integrations/kafka/types.ts +12 -2
- package/src/integrations/kinesis/README.md +8 -4
- package/src/integrations/kinesis/client.ts +13 -4
- package/src/integrations/kinesis/types.ts +10 -2
- package/src/integrations/lakebase/client.ts +7 -1
- package/src/integrations/lakebase/types.ts +7 -1
- package/src/integrations/launchdarkly/README.md +7 -3
- package/src/integrations/mariadb/README.md +8 -4
- package/src/integrations/mariadb/client.ts +5 -3
- package/src/integrations/mariadb/types.ts +7 -1
- package/src/integrations/mistral/README.md +7 -3
- package/src/integrations/mongodb/README.md +7 -3
- package/src/integrations/mongodb/client.ts +4 -1
- package/src/integrations/mongodb/types.ts +2 -0
- package/src/integrations/mssql/README.md +8 -4
- package/src/integrations/mssql/client.ts +5 -3
- package/src/integrations/mssql/types.ts +7 -1
- package/src/integrations/mysql/README.md +8 -4
- package/src/integrations/mysql/client.ts +5 -3
- package/src/integrations/mysql/types.ts +7 -1
- package/src/integrations/notion/README.md +7 -3
- package/src/integrations/openai_v2/README.md +8 -4
- package/src/integrations/oracledb/README.md +8 -4
- package/src/integrations/oracledb/client.ts +5 -3
- package/src/integrations/oracledb/types.ts +7 -1
- package/src/integrations/pagerduty/README.md +7 -3
- package/src/integrations/perplexity/README.md +7 -3
- package/src/integrations/postgres/README.md +28 -4
- package/src/integrations/postgres/client.ts +5 -3
- package/src/integrations/postgres/types.ts +7 -1
- package/src/integrations/python/README.md +20 -5
- package/src/integrations/python/client.ts +4 -1
- package/src/integrations/python/types.ts +19 -1
- package/src/integrations/redis/README.md +7 -3
- package/src/integrations/redis/client.ts +46 -23
- package/src/integrations/redis/types.ts +40 -11
- package/src/integrations/redshift/README.md +8 -4
- package/src/integrations/redshift/client.ts +5 -3
- package/src/integrations/redshift/types.ts +7 -1
- package/src/integrations/registry.ts +22 -0
- package/src/integrations/s3/README.md +13 -9
- package/src/integrations/s3/client.ts +61 -24
- package/src/integrations/s3/types.ts +27 -4
- package/src/integrations/salesforce/README.md +15 -11
- package/src/integrations/salesforce/client.ts +29 -12
- package/src/integrations/salesforce/types.ts +30 -3
- package/src/integrations/segment/README.md +7 -3
- package/src/integrations/sendgrid/README.md +7 -3
- package/src/integrations/slack/README.md +7 -3
- package/src/integrations/smtp/client.ts +10 -3
- package/src/integrations/smtp/types.ts +2 -1
- package/src/integrations/snowflake/README.md +8 -4
- package/src/integrations/snowflake/client.ts +5 -3
- package/src/integrations/snowflake/types.ts +7 -1
- package/src/integrations/snowflakepostgres/types.ts +7 -1
- package/src/integrations/stabilityai/README.md +7 -3
- package/src/integrations/stripe/README.md +7 -3
- package/src/integrations/superblocks-ocr/README.md +7 -3
- package/src/integrations/twilio/README.md +7 -3
- package/src/integrations/zendesk/README.md +7 -3
- package/src/integrations/zoom/README.md +7 -3
- package/src/runtime/context.ts +8 -2
- package/src/runtime/execute.ts +4 -0
- package/src/runtime/executor.ts +2 -0
- package/src/runtime/streaming-context.ts +7 -3
- package/src/runtime/streaming-executor.ts +4 -0
|
@@ -8,7 +8,7 @@ import type { z } from "zod";
|
|
|
8
8
|
import type { PartialMessage } from "@bufbuild/protobuf";
|
|
9
9
|
import type { Plugin as S3Plugin } from "@superblocksteam/types/dist/src/plugins/s3/v1/plugin_pb";
|
|
10
10
|
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
11
|
-
import type { QueryExecutor } from "../registry.js";
|
|
11
|
+
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
12
12
|
import { RestApiValidationError } from "../../errors.js";
|
|
13
13
|
import { IntegrationError } from "../../runtime/errors.js";
|
|
14
14
|
import type {
|
|
@@ -44,13 +44,18 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
44
44
|
private async execute(
|
|
45
45
|
action: S3Action,
|
|
46
46
|
request: PartialMessage<S3Plugin>,
|
|
47
|
+
metadata?: TraceMetadata,
|
|
47
48
|
): Promise<unknown> {
|
|
48
49
|
const fullRequest: PartialMessage<S3Plugin> = {
|
|
49
50
|
...request,
|
|
50
51
|
action,
|
|
51
52
|
};
|
|
52
53
|
|
|
53
|
-
return this.executeQuery(
|
|
54
|
+
return this.executeQuery(
|
|
55
|
+
fullRequest as Record<string, unknown>,
|
|
56
|
+
undefined,
|
|
57
|
+
metadata,
|
|
58
|
+
);
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
/**
|
|
@@ -97,9 +102,12 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
97
102
|
}
|
|
98
103
|
}
|
|
99
104
|
|
|
100
|
-
async listBuckets<T>(
|
|
105
|
+
async listBuckets<T>(
|
|
106
|
+
schema: z.ZodSchema<T>,
|
|
107
|
+
metadata?: TraceMetadata,
|
|
108
|
+
): Promise<T> {
|
|
101
109
|
return this.withErrorHandling("listBuckets", async () => {
|
|
102
|
-
const result = await this.execute("LIST_BUCKETS", {});
|
|
110
|
+
const result = await this.execute("LIST_BUCKETS", {}, metadata);
|
|
103
111
|
return this.validate(result, schema, "listBuckets");
|
|
104
112
|
});
|
|
105
113
|
}
|
|
@@ -108,6 +116,7 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
108
116
|
bucket: string,
|
|
109
117
|
schema: z.ZodSchema<T>,
|
|
110
118
|
options?: S3ListObjectsOptions,
|
|
119
|
+
metadata?: TraceMetadata,
|
|
111
120
|
): Promise<T> {
|
|
112
121
|
return this.withErrorHandling("listObjects", async () => {
|
|
113
122
|
const request: PartialMessage<S3Plugin> = {
|
|
@@ -121,7 +130,11 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
121
130
|
};
|
|
122
131
|
}
|
|
123
132
|
|
|
124
|
-
const result = await this.execute(
|
|
133
|
+
const result = await this.execute(
|
|
134
|
+
"LIST_BUCKET_OBJECTS",
|
|
135
|
+
request,
|
|
136
|
+
metadata,
|
|
137
|
+
);
|
|
125
138
|
return this.validate(result, schema, "listObjects");
|
|
126
139
|
});
|
|
127
140
|
}
|
|
@@ -131,6 +144,7 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
131
144
|
path: string,
|
|
132
145
|
schema: z.ZodSchema<T>,
|
|
133
146
|
options?: S3GetObjectOptions,
|
|
147
|
+
metadata?: TraceMetadata,
|
|
134
148
|
): Promise<T> {
|
|
135
149
|
return this.withErrorHandling("getObject", async () => {
|
|
136
150
|
const request: PartialMessage<S3Plugin> = {
|
|
@@ -142,17 +156,25 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
142
156
|
request.responseType = options.responseType;
|
|
143
157
|
}
|
|
144
158
|
|
|
145
|
-
const result = await this.execute("GET_OBJECT", request);
|
|
159
|
+
const result = await this.execute("GET_OBJECT", request, metadata);
|
|
146
160
|
return this.validate(result, schema, "getObject");
|
|
147
161
|
});
|
|
148
162
|
}
|
|
149
163
|
|
|
150
|
-
async deleteObject(
|
|
164
|
+
async deleteObject(
|
|
165
|
+
bucket: string,
|
|
166
|
+
path: string,
|
|
167
|
+
metadata?: TraceMetadata,
|
|
168
|
+
): Promise<void> {
|
|
151
169
|
return this.withErrorHandling("deleteObject", async () => {
|
|
152
|
-
await this.execute(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
170
|
+
await this.execute(
|
|
171
|
+
"DELETE_OBJECT",
|
|
172
|
+
{
|
|
173
|
+
resource: bucket,
|
|
174
|
+
path,
|
|
175
|
+
},
|
|
176
|
+
metadata,
|
|
177
|
+
);
|
|
156
178
|
});
|
|
157
179
|
}
|
|
158
180
|
|
|
@@ -160,25 +182,35 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
160
182
|
bucket: string,
|
|
161
183
|
path: string,
|
|
162
184
|
body: string,
|
|
185
|
+
metadata?: TraceMetadata,
|
|
163
186
|
): Promise<void> {
|
|
164
187
|
return this.withErrorHandling("uploadObject", async () => {
|
|
165
|
-
await this.execute(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
188
|
+
await this.execute(
|
|
189
|
+
"UPLOAD_OBJECT",
|
|
190
|
+
{
|
|
191
|
+
resource: bucket,
|
|
192
|
+
path,
|
|
193
|
+
body,
|
|
194
|
+
},
|
|
195
|
+
metadata,
|
|
196
|
+
);
|
|
170
197
|
});
|
|
171
198
|
}
|
|
172
199
|
|
|
173
200
|
async uploadMultipleObjects(
|
|
174
201
|
bucket: string,
|
|
175
202
|
fileObjects: string,
|
|
203
|
+
metadata?: TraceMetadata,
|
|
176
204
|
): Promise<void> {
|
|
177
205
|
return this.withErrorHandling("uploadMultipleObjects", async () => {
|
|
178
|
-
await this.execute(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
206
|
+
await this.execute(
|
|
207
|
+
"UPLOAD_MULTIPLE_OBJECTS",
|
|
208
|
+
{
|
|
209
|
+
resource: bucket,
|
|
210
|
+
fileObjects,
|
|
211
|
+
},
|
|
212
|
+
metadata,
|
|
213
|
+
);
|
|
182
214
|
});
|
|
183
215
|
}
|
|
184
216
|
|
|
@@ -186,12 +218,17 @@ export class S3ClientImpl implements S3Client, IntegrationClientImpl {
|
|
|
186
218
|
bucket: string,
|
|
187
219
|
path: string,
|
|
188
220
|
schema: z.ZodSchema<T>,
|
|
221
|
+
metadata?: TraceMetadata,
|
|
189
222
|
): Promise<T> {
|
|
190
223
|
return this.withErrorHandling("generatePresignedUrl", async () => {
|
|
191
|
-
const result = await this.execute(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
224
|
+
const result = await this.execute(
|
|
225
|
+
"GENERATE_PRESIGNED_URL",
|
|
226
|
+
{
|
|
227
|
+
resource: bucket,
|
|
228
|
+
path,
|
|
229
|
+
},
|
|
230
|
+
metadata,
|
|
231
|
+
);
|
|
195
232
|
return this.validate(result, schema, "generatePresignedUrl");
|
|
196
233
|
});
|
|
197
234
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import type { z } from "zod";
|
|
6
6
|
import type { BaseIntegrationClient } from "../../types.js";
|
|
7
|
+
import type { TraceMetadata } from "../registry.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* S3 action types (used internally by the client).
|
|
@@ -74,7 +75,7 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
74
75
|
* @param schema - Zod schema for validating the result
|
|
75
76
|
* @returns The validated bucket list
|
|
76
77
|
*/
|
|
77
|
-
listBuckets<T>(schema: z.ZodSchema<T
|
|
78
|
+
listBuckets<T>(schema: z.ZodSchema<T>, metadata?: TraceMetadata): Promise<T>;
|
|
78
79
|
|
|
79
80
|
/**
|
|
80
81
|
* List objects in a bucket.
|
|
@@ -82,12 +83,14 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
82
83
|
* @param bucket - Bucket name
|
|
83
84
|
* @param schema - Zod schema for validating the result
|
|
84
85
|
* @param options - Optional prefix and delimiter filters
|
|
86
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
85
87
|
* @returns The validated object list
|
|
86
88
|
*/
|
|
87
89
|
listObjects<T>(
|
|
88
90
|
bucket: string,
|
|
89
91
|
schema: z.ZodSchema<T>,
|
|
90
92
|
options?: S3ListObjectsOptions,
|
|
93
|
+
metadata?: TraceMetadata,
|
|
91
94
|
): Promise<T>;
|
|
92
95
|
|
|
93
96
|
/**
|
|
@@ -97,6 +100,7 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
97
100
|
* @param path - Object key/path
|
|
98
101
|
* @param schema - Zod schema for validating the result
|
|
99
102
|
* @param options - Optional response type
|
|
103
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
100
104
|
* @returns The validated object content
|
|
101
105
|
*/
|
|
102
106
|
getObject<T>(
|
|
@@ -104,6 +108,7 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
104
108
|
path: string,
|
|
105
109
|
schema: z.ZodSchema<T>,
|
|
106
110
|
options?: S3GetObjectOptions,
|
|
111
|
+
metadata?: TraceMetadata,
|
|
107
112
|
): Promise<T>;
|
|
108
113
|
|
|
109
114
|
/**
|
|
@@ -111,8 +116,13 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
111
116
|
*
|
|
112
117
|
* @param bucket - Bucket name
|
|
113
118
|
* @param path - Object key/path
|
|
119
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
114
120
|
*/
|
|
115
|
-
deleteObject(
|
|
121
|
+
deleteObject(
|
|
122
|
+
bucket: string,
|
|
123
|
+
path: string,
|
|
124
|
+
metadata?: TraceMetadata,
|
|
125
|
+
): Promise<void>;
|
|
116
126
|
|
|
117
127
|
/**
|
|
118
128
|
* Upload an object to a bucket.
|
|
@@ -120,16 +130,27 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
120
130
|
* @param bucket - Bucket name
|
|
121
131
|
* @param path - Object key/path
|
|
122
132
|
* @param body - File content (base64 or text)
|
|
133
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
123
134
|
*/
|
|
124
|
-
uploadObject(
|
|
135
|
+
uploadObject(
|
|
136
|
+
bucket: string,
|
|
137
|
+
path: string,
|
|
138
|
+
body: string,
|
|
139
|
+
metadata?: TraceMetadata,
|
|
140
|
+
): Promise<void>;
|
|
125
141
|
|
|
126
142
|
/**
|
|
127
143
|
* Upload multiple objects to a bucket.
|
|
128
144
|
*
|
|
129
145
|
* @param bucket - Bucket name
|
|
130
146
|
* @param fileObjects - Serialized file objects
|
|
147
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
131
148
|
*/
|
|
132
|
-
uploadMultipleObjects(
|
|
149
|
+
uploadMultipleObjects(
|
|
150
|
+
bucket: string,
|
|
151
|
+
fileObjects: string,
|
|
152
|
+
metadata?: TraceMetadata,
|
|
153
|
+
): Promise<void>;
|
|
133
154
|
|
|
134
155
|
/**
|
|
135
156
|
* Generate a presigned URL for an object.
|
|
@@ -137,11 +158,13 @@ export interface S3Client extends BaseIntegrationClient {
|
|
|
137
158
|
* @param bucket - Bucket name
|
|
138
159
|
* @param path - Object key/path
|
|
139
160
|
* @param schema - Zod schema for validating the result
|
|
161
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
140
162
|
* @returns The validated presigned URL
|
|
141
163
|
*/
|
|
142
164
|
generatePresignedUrl<T>(
|
|
143
165
|
bucket: string,
|
|
144
166
|
path: string,
|
|
145
167
|
schema: z.ZodSchema<T>,
|
|
168
|
+
metadata?: TraceMetadata,
|
|
146
169
|
): Promise<T>;
|
|
147
170
|
}
|
|
@@ -4,17 +4,17 @@ Execute SOQL queries, CRUD operations, and bulk operations against Salesforce wi
|
|
|
4
4
|
|
|
5
5
|
## Methods
|
|
6
6
|
|
|
7
|
-
| Method
|
|
8
|
-
|
|
|
9
|
-
| `query(soql, schema)` | Execute a SOQL query with per-row schema validation |
|
|
10
|
-
| `create(resourceType, body)` | Create a new Salesforce object |
|
|
11
|
-
| `read(resourceType, resourceId, schema)` | Read a single object by ID |
|
|
12
|
-
| `update(resourceType, resourceId, body)` | Update an existing object |
|
|
13
|
-
| `remove(resourceType, resourceId)` | Delete an object by ID |
|
|
14
|
-
| `bulkCreate(resourceType, records)` | Bulk create multiple objects |
|
|
15
|
-
| `bulkUpdate(resourceType, records)` | Bulk update multiple objects |
|
|
16
|
-
| `bulkDelete(resourceType, records)` | Bulk delete multiple objects |
|
|
17
|
-
| `bulkUpsert(resourceType, records, externalId)` | Bulk upsert with external ID matching |
|
|
7
|
+
| Method | Description |
|
|
8
|
+
| ---------------------------------------------------------- | --------------------------------------------------- |
|
|
9
|
+
| `query(soql, schema, metadata?)` | Execute a SOQL query with per-row schema validation |
|
|
10
|
+
| `create(resourceType, body, metadata?)` | Create a new Salesforce object |
|
|
11
|
+
| `read(resourceType, resourceId, schema, metadata?)` | Read a single object by ID |
|
|
12
|
+
| `update(resourceType, resourceId, body, metadata?)` | Update an existing object |
|
|
13
|
+
| `remove(resourceType, resourceId, metadata?)` | Delete an object by ID |
|
|
14
|
+
| `bulkCreate(resourceType, records, metadata?)` | Bulk create multiple objects |
|
|
15
|
+
| `bulkUpdate(resourceType, records, metadata?)` | Bulk update multiple objects |
|
|
16
|
+
| `bulkDelete(resourceType, records, metadata?)` | Bulk delete multiple objects |
|
|
17
|
+
| `bulkUpsert(resourceType, records, externalId, metadata?)` | Bulk upsert with external ID matching |
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
@@ -154,6 +154,10 @@ await salesforce.bulkUpsert(
|
|
|
154
154
|
);
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
+
## Trace Metadata
|
|
158
|
+
|
|
159
|
+
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.
|
|
160
|
+
|
|
157
161
|
## Common Pitfalls
|
|
158
162
|
|
|
159
163
|
### Schema Must Match Salesforce Field Names
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import type { z } from "zod";
|
|
9
9
|
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
10
|
-
import type { QueryExecutor } from "../registry.js";
|
|
10
|
+
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
11
11
|
import { QueryValidationError, RestApiValidationError } from "../../errors.js";
|
|
12
12
|
import { IntegrationError } from "../../runtime/errors.js";
|
|
13
13
|
import { describeType } from "../utils.js";
|
|
@@ -66,9 +66,10 @@ export class SalesforceClientImpl
|
|
|
66
66
|
private async exec(
|
|
67
67
|
request: Record<string, unknown>,
|
|
68
68
|
operation: string,
|
|
69
|
+
metadata?: TraceMetadata,
|
|
69
70
|
): Promise<unknown> {
|
|
70
71
|
try {
|
|
71
|
-
return await this.executeQuery(request);
|
|
72
|
+
return await this.executeQuery(request, undefined, metadata);
|
|
72
73
|
} catch (error) {
|
|
73
74
|
if (
|
|
74
75
|
error instanceof QueryValidationError ||
|
|
@@ -128,7 +129,11 @@ export class SalesforceClientImpl
|
|
|
128
129
|
return { bulk };
|
|
129
130
|
}
|
|
130
131
|
|
|
131
|
-
async query<T>(
|
|
132
|
+
async query<T>(
|
|
133
|
+
soql: string,
|
|
134
|
+
schema: z.ZodSchema<T>,
|
|
135
|
+
metadata?: TraceMetadata,
|
|
136
|
+
): Promise<T[]> {
|
|
132
137
|
const request = {
|
|
133
138
|
soql: {
|
|
134
139
|
action: SOQL_ACTION_SOQL,
|
|
@@ -139,6 +144,7 @@ export class SalesforceClientImpl
|
|
|
139
144
|
const result = await this.exec(
|
|
140
145
|
request as unknown as Record<string, unknown>,
|
|
141
146
|
"query",
|
|
147
|
+
metadata,
|
|
142
148
|
);
|
|
143
149
|
|
|
144
150
|
if (!Array.isArray(result)) {
|
|
@@ -177,22 +183,24 @@ export class SalesforceClientImpl
|
|
|
177
183
|
async create(
|
|
178
184
|
resourceType: string,
|
|
179
185
|
body: Record<string, unknown>,
|
|
186
|
+
metadata?: TraceMetadata,
|
|
180
187
|
): Promise<unknown> {
|
|
181
188
|
const request = this.buildCrudRequest(CRUD_ACTION.CREATE, resourceType, {
|
|
182
189
|
resourceBody: JSON.stringify(body),
|
|
183
190
|
});
|
|
184
|
-
return this.exec(request, "create");
|
|
191
|
+
return this.exec(request, "create", metadata);
|
|
185
192
|
}
|
|
186
193
|
|
|
187
194
|
async read<T>(
|
|
188
195
|
resourceType: string,
|
|
189
196
|
resourceId: string,
|
|
190
197
|
schema: z.ZodSchema<T>,
|
|
198
|
+
metadata?: TraceMetadata,
|
|
191
199
|
): Promise<T> {
|
|
192
200
|
const request = this.buildCrudRequest(CRUD_ACTION.READ, resourceType, {
|
|
193
201
|
resourceId,
|
|
194
202
|
});
|
|
195
|
-
const result = await this.exec(request, "read");
|
|
203
|
+
const result = await this.exec(request, "read", metadata);
|
|
196
204
|
|
|
197
205
|
const parseResult = schema.safeParse(result);
|
|
198
206
|
if (!parseResult.success) {
|
|
@@ -212,61 +220,70 @@ export class SalesforceClientImpl
|
|
|
212
220
|
resourceType: string,
|
|
213
221
|
resourceId: string,
|
|
214
222
|
body: Record<string, unknown>,
|
|
223
|
+
metadata?: TraceMetadata,
|
|
215
224
|
): Promise<unknown> {
|
|
216
225
|
const request = this.buildCrudRequest(CRUD_ACTION.UPDATE, resourceType, {
|
|
217
226
|
resourceId,
|
|
218
227
|
resourceBody: JSON.stringify(body),
|
|
219
228
|
});
|
|
220
|
-
return this.exec(request, "update");
|
|
229
|
+
return this.exec(request, "update", metadata);
|
|
221
230
|
}
|
|
222
231
|
|
|
223
|
-
async remove(
|
|
232
|
+
async remove(
|
|
233
|
+
resourceType: string,
|
|
234
|
+
resourceId: string,
|
|
235
|
+
metadata?: TraceMetadata,
|
|
236
|
+
): Promise<unknown> {
|
|
224
237
|
const request = this.buildCrudRequest(CRUD_ACTION.DELETE, resourceType, {
|
|
225
238
|
resourceId,
|
|
226
239
|
});
|
|
227
|
-
return this.exec(request, "remove");
|
|
240
|
+
return this.exec(request, "remove", metadata);
|
|
228
241
|
}
|
|
229
242
|
|
|
230
243
|
async bulkCreate(
|
|
231
244
|
resourceType: string,
|
|
232
245
|
records: Array<Record<string, unknown>>,
|
|
246
|
+
metadata?: TraceMetadata,
|
|
233
247
|
): Promise<unknown> {
|
|
234
248
|
const request = this.buildBulkRequest(
|
|
235
249
|
BULK_ACTION.CREATE,
|
|
236
250
|
resourceType,
|
|
237
251
|
records,
|
|
238
252
|
);
|
|
239
|
-
return this.exec(request, "bulkCreate");
|
|
253
|
+
return this.exec(request, "bulkCreate", metadata);
|
|
240
254
|
}
|
|
241
255
|
|
|
242
256
|
async bulkUpdate(
|
|
243
257
|
resourceType: string,
|
|
244
258
|
records: Array<Record<string, unknown>>,
|
|
259
|
+
metadata?: TraceMetadata,
|
|
245
260
|
): Promise<unknown> {
|
|
246
261
|
const request = this.buildBulkRequest(
|
|
247
262
|
BULK_ACTION.UPDATE,
|
|
248
263
|
resourceType,
|
|
249
264
|
records,
|
|
250
265
|
);
|
|
251
|
-
return this.exec(request, "bulkUpdate");
|
|
266
|
+
return this.exec(request, "bulkUpdate", metadata);
|
|
252
267
|
}
|
|
253
268
|
|
|
254
269
|
async bulkDelete(
|
|
255
270
|
resourceType: string,
|
|
256
271
|
records: Array<Record<string, unknown>>,
|
|
272
|
+
metadata?: TraceMetadata,
|
|
257
273
|
): Promise<unknown> {
|
|
258
274
|
const request = this.buildBulkRequest(
|
|
259
275
|
BULK_ACTION.DELETE,
|
|
260
276
|
resourceType,
|
|
261
277
|
records,
|
|
262
278
|
);
|
|
263
|
-
return this.exec(request, "bulkDelete");
|
|
279
|
+
return this.exec(request, "bulkDelete", metadata);
|
|
264
280
|
}
|
|
265
281
|
|
|
266
282
|
async bulkUpsert(
|
|
267
283
|
resourceType: string,
|
|
268
284
|
records: Array<Record<string, unknown>>,
|
|
269
285
|
externalId: string,
|
|
286
|
+
metadata?: TraceMetadata,
|
|
270
287
|
): Promise<unknown> {
|
|
271
288
|
const request = this.buildBulkRequest(
|
|
272
289
|
BULK_ACTION.UPSERT,
|
|
@@ -274,6 +291,6 @@ export class SalesforceClientImpl
|
|
|
274
291
|
records,
|
|
275
292
|
externalId,
|
|
276
293
|
);
|
|
277
|
-
return this.exec(request, "bulkUpsert");
|
|
294
|
+
return this.exec(request, "bulkUpsert", metadata);
|
|
278
295
|
}
|
|
279
296
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import type { z } from "zod";
|
|
6
6
|
import type { BaseIntegrationClient } from "../../types.js";
|
|
7
|
+
import type { TraceMetadata } from "../registry.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Salesforce CRUD action identifiers matching proto CrudAction enum.
|
|
@@ -66,16 +67,25 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
66
67
|
* @param schema - Zod schema for validating each row in the result
|
|
67
68
|
* @returns Array of validated records
|
|
68
69
|
*/
|
|
69
|
-
query<T>(
|
|
70
|
+
query<T>(
|
|
71
|
+
soql: string,
|
|
72
|
+
schema: z.ZodSchema<T>,
|
|
73
|
+
metadata?: TraceMetadata,
|
|
74
|
+
): Promise<T[]>;
|
|
70
75
|
|
|
71
76
|
/**
|
|
72
77
|
* Create a new Salesforce object.
|
|
73
78
|
*
|
|
74
79
|
* @param resourceType - Salesforce object type (e.g., 'Account', 'Contact')
|
|
75
80
|
* @param body - Object fields as key-value pairs
|
|
81
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
76
82
|
* @returns The raw result from Salesforce
|
|
77
83
|
*/
|
|
78
|
-
create(
|
|
84
|
+
create(
|
|
85
|
+
resourceType: string,
|
|
86
|
+
body: Record<string, unknown>,
|
|
87
|
+
metadata?: TraceMetadata,
|
|
88
|
+
): Promise<unknown>;
|
|
79
89
|
|
|
80
90
|
/**
|
|
81
91
|
* Read a single Salesforce object by ID.
|
|
@@ -83,12 +93,14 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
83
93
|
* @param resourceType - Salesforce object type (e.g., 'Account', 'Contact')
|
|
84
94
|
* @param resourceId - The record ID
|
|
85
95
|
* @param schema - Zod schema for validating the result
|
|
96
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
86
97
|
* @returns The validated record
|
|
87
98
|
*/
|
|
88
99
|
read<T>(
|
|
89
100
|
resourceType: string,
|
|
90
101
|
resourceId: string,
|
|
91
102
|
schema: z.ZodSchema<T>,
|
|
103
|
+
metadata?: TraceMetadata,
|
|
92
104
|
): Promise<T>;
|
|
93
105
|
|
|
94
106
|
/**
|
|
@@ -97,12 +109,14 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
97
109
|
* @param resourceType - Salesforce object type (e.g., 'Account', 'Contact')
|
|
98
110
|
* @param resourceId - The record ID
|
|
99
111
|
* @param body - Fields to update as key-value pairs
|
|
112
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
100
113
|
* @returns The raw result from Salesforce
|
|
101
114
|
*/
|
|
102
115
|
update(
|
|
103
116
|
resourceType: string,
|
|
104
117
|
resourceId: string,
|
|
105
118
|
body: Record<string, unknown>,
|
|
119
|
+
metadata?: TraceMetadata,
|
|
106
120
|
): Promise<unknown>;
|
|
107
121
|
|
|
108
122
|
/**
|
|
@@ -110,20 +124,27 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
110
124
|
*
|
|
111
125
|
* @param resourceType - Salesforce object type (e.g., 'Account', 'Contact')
|
|
112
126
|
* @param resourceId - The record ID
|
|
127
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
113
128
|
* @returns The raw result from Salesforce
|
|
114
129
|
*/
|
|
115
|
-
remove(
|
|
130
|
+
remove(
|
|
131
|
+
resourceType: string,
|
|
132
|
+
resourceId: string,
|
|
133
|
+
metadata?: TraceMetadata,
|
|
134
|
+
): Promise<unknown>;
|
|
116
135
|
|
|
117
136
|
/**
|
|
118
137
|
* Bulk create multiple Salesforce objects.
|
|
119
138
|
*
|
|
120
139
|
* @param resourceType - Salesforce object type
|
|
121
140
|
* @param records - Array of objects to create
|
|
141
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
122
142
|
* @returns The raw result from Salesforce
|
|
123
143
|
*/
|
|
124
144
|
bulkCreate(
|
|
125
145
|
resourceType: string,
|
|
126
146
|
records: Array<Record<string, unknown>>,
|
|
147
|
+
metadata?: TraceMetadata,
|
|
127
148
|
): Promise<unknown>;
|
|
128
149
|
|
|
129
150
|
/**
|
|
@@ -131,11 +152,13 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
131
152
|
*
|
|
132
153
|
* @param resourceType - Salesforce object type
|
|
133
154
|
* @param records - Array of objects to update (must include Id field)
|
|
155
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
134
156
|
* @returns The raw result from Salesforce
|
|
135
157
|
*/
|
|
136
158
|
bulkUpdate(
|
|
137
159
|
resourceType: string,
|
|
138
160
|
records: Array<Record<string, unknown>>,
|
|
161
|
+
metadata?: TraceMetadata,
|
|
139
162
|
): Promise<unknown>;
|
|
140
163
|
|
|
141
164
|
/**
|
|
@@ -143,11 +166,13 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
143
166
|
*
|
|
144
167
|
* @param resourceType - Salesforce object type
|
|
145
168
|
* @param records - Array of objects to delete (must include Id field)
|
|
169
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
146
170
|
* @returns The raw result from Salesforce
|
|
147
171
|
*/
|
|
148
172
|
bulkDelete(
|
|
149
173
|
resourceType: string,
|
|
150
174
|
records: Array<Record<string, unknown>>,
|
|
175
|
+
metadata?: TraceMetadata,
|
|
151
176
|
): Promise<unknown>;
|
|
152
177
|
|
|
153
178
|
/**
|
|
@@ -156,11 +181,13 @@ export interface SalesforceClient extends BaseIntegrationClient {
|
|
|
156
181
|
* @param resourceType - Salesforce object type
|
|
157
182
|
* @param records - Array of objects to upsert
|
|
158
183
|
* @param externalId - External ID field name used for matching
|
|
184
|
+
* @param metadata - Optional trace metadata for diagnostics
|
|
159
185
|
* @returns The raw result from Salesforce
|
|
160
186
|
*/
|
|
161
187
|
bulkUpsert(
|
|
162
188
|
resourceType: string,
|
|
163
189
|
records: Array<Record<string, unknown>>,
|
|
164
190
|
externalId: string,
|
|
191
|
+
metadata?: TraceMetadata,
|
|
165
192
|
): Promise<unknown>;
|
|
166
193
|
}
|
|
@@ -4,9 +4,9 @@ Track events, identify users, and interact with Segment's customer data platform
|
|
|
4
4
|
|
|
5
5
|
## Methods
|
|
6
6
|
|
|
7
|
-
| Method
|
|
8
|
-
|
|
|
9
|
-
| `apiRequest(options, schema)` | Make any Segment API request with schema validation |
|
|
7
|
+
| Method | Description |
|
|
8
|
+
| ---------------------------------------- | --------------------------------------------------- |
|
|
9
|
+
| `apiRequest(options, schema, metadata?)` | Make any Segment API request with schema validation |
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
@@ -248,6 +248,10 @@ const result = await ctx.integrations.segment.apiRequest(
|
|
|
248
248
|
);
|
|
249
249
|
```
|
|
250
250
|
|
|
251
|
+
## Trace Metadata
|
|
252
|
+
|
|
253
|
+
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.
|
|
254
|
+
|
|
251
255
|
## Common Pitfalls
|
|
252
256
|
|
|
253
257
|
### No Specialized Methods
|
|
@@ -4,9 +4,9 @@ Send transactional emails, manage contacts, and interact with SendGrid's email A
|
|
|
4
4
|
|
|
5
5
|
## Methods
|
|
6
6
|
|
|
7
|
-
| Method
|
|
8
|
-
|
|
|
9
|
-
| `apiRequest(options, schema)` | Make any SendGrid API request with schema validation |
|
|
7
|
+
| Method | Description |
|
|
8
|
+
| ---------------------------------------- | ---------------------------------------------------- |
|
|
9
|
+
| `apiRequest(options, schema, metadata?)` | Make any SendGrid API request with schema validation |
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
@@ -244,6 +244,10 @@ stats.forEach((day) => {
|
|
|
244
244
|
});
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
+
## Trace Metadata
|
|
248
|
+
|
|
249
|
+
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.
|
|
250
|
+
|
|
247
251
|
## Common Pitfalls
|
|
248
252
|
|
|
249
253
|
### No Specialized Methods
|
|
@@ -4,9 +4,9 @@ Send messages, manage channels, and interact with Slack workspaces.
|
|
|
4
4
|
|
|
5
5
|
## Methods
|
|
6
6
|
|
|
7
|
-
| Method
|
|
8
|
-
|
|
|
9
|
-
| `apiRequest(options, schema)` | Make any Slack API request with schema validation |
|
|
7
|
+
| Method | Description |
|
|
8
|
+
| ---------------------------------------- | ------------------------------------------------- |
|
|
9
|
+
| `apiRequest(options, schema, metadata?)` | Make any Slack API request with schema validation |
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
@@ -241,6 +241,10 @@ const result = await ctx.integrations.slack.apiRequest(
|
|
|
241
241
|
);
|
|
242
242
|
```
|
|
243
243
|
|
|
244
|
+
## Trace Metadata
|
|
245
|
+
|
|
246
|
+
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.
|
|
247
|
+
|
|
244
248
|
## Common Pitfalls
|
|
245
249
|
|
|
246
250
|
### No Specialized Methods
|