@superblocksteam/sdk-api 2.0.105-next.0 → 2.0.105-next.2

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.
Files changed (163) hide show
  1. package/README.md +202 -86
  2. package/dist/api/definition.d.ts +11 -6
  3. package/dist/api/definition.d.ts.map +1 -1
  4. package/dist/api/definition.js +19 -12
  5. package/dist/api/definition.js.map +1 -1
  6. package/dist/api/definition.test.js +39 -15
  7. package/dist/api/definition.test.js.map +1 -1
  8. package/dist/errors.d.ts +1 -1
  9. package/dist/errors.js +1 -1
  10. package/dist/index.d.ts +10 -10
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +9 -5
  13. package/dist/index.js.map +1 -1
  14. package/dist/integrations/base/index.d.ts +2 -1
  15. package/dist/integrations/base/index.d.ts.map +1 -1
  16. package/dist/integrations/base/index.js +1 -0
  17. package/dist/integrations/base/index.js.map +1 -1
  18. package/dist/integrations/base/rest-api-client-base.d.ts +48 -0
  19. package/dist/integrations/base/rest-api-client-base.d.ts.map +1 -0
  20. package/dist/integrations/base/rest-api-client-base.js +98 -0
  21. package/dist/integrations/base/rest-api-client-base.js.map +1 -0
  22. package/dist/integrations/base/rest-api-integration-client.d.ts +10 -20
  23. package/dist/integrations/base/rest-api-integration-client.d.ts.map +1 -1
  24. package/dist/integrations/base/rest-api-integration-client.js +10 -65
  25. package/dist/integrations/base/rest-api-integration-client.js.map +1 -1
  26. package/dist/integrations/box/types.d.ts +1 -1
  27. package/dist/integrations/declarations.d.ts +5 -63
  28. package/dist/integrations/declarations.d.ts.map +1 -1
  29. package/dist/integrations/declarations.js +5 -59
  30. package/dist/integrations/declarations.js.map +1 -1
  31. package/dist/integrations/documentation.test.js +0 -2
  32. package/dist/integrations/documentation.test.js.map +1 -1
  33. package/dist/integrations/googledrive/types.d.ts +1 -1
  34. package/dist/integrations/index.d.ts +1 -9
  35. package/dist/integrations/index.d.ts.map +1 -1
  36. package/dist/integrations/index.js +1 -6
  37. package/dist/integrations/index.js.map +1 -1
  38. package/dist/integrations/registry.d.ts +1 -10
  39. package/dist/integrations/registry.d.ts.map +1 -1
  40. package/dist/integrations/registry.js +0 -25
  41. package/dist/integrations/registry.js.map +1 -1
  42. package/dist/integrations/slack/client.d.ts +13 -9
  43. package/dist/integrations/slack/client.d.ts.map +1 -1
  44. package/dist/integrations/slack/client.js +60 -8
  45. package/dist/integrations/slack/client.js.map +1 -1
  46. package/dist/integrations/slack/client.test.d.ts +11 -0
  47. package/dist/integrations/slack/client.test.d.ts.map +1 -0
  48. package/dist/integrations/slack/client.test.js +368 -0
  49. package/dist/integrations/slack/client.test.js.map +1 -0
  50. package/dist/integrations/slack/index.d.ts +2 -1
  51. package/dist/integrations/slack/index.d.ts.map +1 -1
  52. package/dist/integrations/slack/index.js +1 -0
  53. package/dist/integrations/slack/index.js.map +1 -1
  54. package/dist/integrations/slack/types.d.ts +127 -28
  55. package/dist/integrations/slack/types.d.ts.map +1 -1
  56. package/dist/integrations/slack/types.js +27 -1
  57. package/dist/integrations/slack/types.js.map +1 -1
  58. package/dist/integrations/snowflake/client.d.ts +2 -2
  59. package/dist/integrations/snowflake/client.js +2 -2
  60. package/dist/runtime/context.d.ts +1 -1
  61. package/dist/runtime/executor.d.ts +2 -2
  62. package/dist/types.d.ts +14 -5
  63. package/dist/types.d.ts.map +1 -1
  64. package/package.json +2 -2
  65. package/src/api/definition.test.ts +40 -15
  66. package/src/api/definition.ts +19 -12
  67. package/src/errors.ts +1 -1
  68. package/src/index.ts +13 -30
  69. package/src/integrations/asana/README.md +12 -12
  70. package/src/integrations/base/index.ts +2 -1
  71. package/src/integrations/base/rest-api-client-base.ts +134 -0
  72. package/src/integrations/base/rest-api-integration-client.ts +12 -89
  73. package/src/integrations/bitbucket/README.md +19 -19
  74. package/src/integrations/box/README.md +24 -24
  75. package/src/integrations/box/types.ts +1 -1
  76. package/src/integrations/circleci/README.md +18 -18
  77. package/src/integrations/declarations.ts +5 -91
  78. package/src/integrations/documentation.test.ts +0 -2
  79. package/src/integrations/googledrive/README.md +25 -22
  80. package/src/integrations/googledrive/types.ts +1 -1
  81. package/src/integrations/graphql/README.md +2 -2
  82. package/src/integrations/index.ts +0 -45
  83. package/src/integrations/registry.ts +1 -34
  84. package/src/integrations/salesforce/README.md +11 -9
  85. package/src/integrations/slack/README.md +62 -19
  86. package/src/integrations/slack/client.test.ts +553 -0
  87. package/src/integrations/slack/client.ts +92 -12
  88. package/src/integrations/slack/index.ts +6 -1
  89. package/src/integrations/slack/types.ts +142 -29
  90. package/src/integrations/snowflake/client.ts +2 -2
  91. package/src/integrations/zoom/README.md +15 -15
  92. package/src/runtime/context.ts +1 -1
  93. package/src/runtime/executor.ts +2 -2
  94. package/src/types.ts +14 -5
  95. package/dist/integrations/couchbase/client.d.ts +0 -36
  96. package/dist/integrations/couchbase/client.d.ts.map +0 -1
  97. package/dist/integrations/couchbase/client.js +0 -148
  98. package/dist/integrations/couchbase/client.js.map +0 -1
  99. package/dist/integrations/couchbase/index.d.ts +0 -8
  100. package/dist/integrations/couchbase/index.d.ts.map +0 -1
  101. package/dist/integrations/couchbase/index.js +0 -7
  102. package/dist/integrations/couchbase/index.js.map +0 -1
  103. package/dist/integrations/couchbase/types.d.ts +0 -100
  104. package/dist/integrations/couchbase/types.d.ts.map +0 -1
  105. package/dist/integrations/couchbase/types.js +0 -5
  106. package/dist/integrations/couchbase/types.js.map +0 -1
  107. package/dist/integrations/kafka/client.d.ts +0 -25
  108. package/dist/integrations/kafka/client.d.ts.map +0 -1
  109. package/dist/integrations/kafka/client.js +0 -124
  110. package/dist/integrations/kafka/client.js.map +0 -1
  111. package/dist/integrations/kafka/index.d.ts +0 -8
  112. package/dist/integrations/kafka/index.d.ts.map +0 -1
  113. package/dist/integrations/kafka/index.js +0 -7
  114. package/dist/integrations/kafka/index.js.map +0 -1
  115. package/dist/integrations/kafka/types.d.ts +0 -113
  116. package/dist/integrations/kafka/types.d.ts.map +0 -1
  117. package/dist/integrations/kafka/types.js +0 -5
  118. package/dist/integrations/kafka/types.js.map +0 -1
  119. package/dist/integrations/kinesis/client.d.ts +0 -31
  120. package/dist/integrations/kinesis/client.d.ts.map +0 -1
  121. package/dist/integrations/kinesis/client.js +0 -101
  122. package/dist/integrations/kinesis/client.js.map +0 -1
  123. package/dist/integrations/kinesis/index.d.ts +0 -8
  124. package/dist/integrations/kinesis/index.d.ts.map +0 -1
  125. package/dist/integrations/kinesis/index.js +0 -7
  126. package/dist/integrations/kinesis/index.js.map +0 -1
  127. package/dist/integrations/kinesis/types.d.ts +0 -97
  128. package/dist/integrations/kinesis/types.d.ts.map +0 -1
  129. package/dist/integrations/kinesis/types.js +0 -7
  130. package/dist/integrations/kinesis/types.js.map +0 -1
  131. package/dist/integrations/python/client.d.ts +0 -42
  132. package/dist/integrations/python/client.d.ts.map +0 -1
  133. package/dist/integrations/python/client.js +0 -89
  134. package/dist/integrations/python/client.js.map +0 -1
  135. package/dist/integrations/python/client.test.d.ts +0 -5
  136. package/dist/integrations/python/client.test.d.ts.map +0 -1
  137. package/dist/integrations/python/client.test.js +0 -214
  138. package/dist/integrations/python/client.test.js.map +0 -1
  139. package/dist/integrations/python/index.d.ts +0 -6
  140. package/dist/integrations/python/index.d.ts.map +0 -1
  141. package/dist/integrations/python/index.js +0 -5
  142. package/dist/integrations/python/index.js.map +0 -1
  143. package/dist/integrations/python/types.d.ts +0 -85
  144. package/dist/integrations/python/types.d.ts.map +0 -1
  145. package/dist/integrations/python/types.js +0 -5
  146. package/dist/integrations/python/types.js.map +0 -1
  147. package/src/integrations/couchbase/README.md +0 -138
  148. package/src/integrations/couchbase/client.ts +0 -225
  149. package/src/integrations/couchbase/index.ts +0 -8
  150. package/src/integrations/couchbase/types.ts +0 -126
  151. package/src/integrations/kafka/README.md +0 -144
  152. package/src/integrations/kafka/client.ts +0 -216
  153. package/src/integrations/kafka/index.ts +0 -14
  154. package/src/integrations/kafka/types.ts +0 -128
  155. package/src/integrations/kinesis/README.md +0 -153
  156. package/src/integrations/kinesis/client.ts +0 -146
  157. package/src/integrations/kinesis/index.ts +0 -14
  158. package/src/integrations/kinesis/types.ts +0 -114
  159. package/src/integrations/python/README.md +0 -566
  160. package/src/integrations/python/client.test.ts +0 -341
  161. package/src/integrations/python/client.ts +0 -136
  162. package/src/integrations/python/index.ts +0 -6
  163. package/src/integrations/python/types.ts +0 -92
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/integrations/slack/client.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Slack integration module.
3
3
  */
4
- export type { SlackClient } from "./types.js";
4
+ export type { SlackClient, SlackResponse, SlackErrorResponse, } from "./types.js";
5
+ export { SlackErrorSchema } from "./types.js";
5
6
  export { SlackClientImpl } from "./client.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Slack integration module.
3
3
  */
4
+ export { SlackErrorSchema } from "./types.js";
4
5
  export { SlackClientImpl } from "./client.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/slack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/slack/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,48 +1,147 @@
1
1
  /**
2
2
  * Slack client types.
3
+ *
4
+ * Defines the SlackResponse<T> discriminated union that wraps every
5
+ * Slack API call, plus the SlackClient interface consumers interact with.
3
6
  */
7
+ import { z } from "zod";
4
8
  import type { BaseIntegrationClient } from "../../types.js";
5
- import type { SupportsApiRequest } from "../base/index.js";
9
+ import type { ApiRequestOptions, TraceMetadata } from "../base/types.js";
6
10
  /**
7
- * Slack client for API interactions.
11
+ * Zod schema for Slack API error responses.
12
+ *
13
+ * Slack returns errors as HTTP 200 with `{ ok: false, error: "..." }`.
14
+ * For `missing_scope` errors, `needed` and `provided` list the
15
+ * required vs current OAuth scopes.
16
+ */
17
+ export declare const SlackErrorSchema: z.ZodObject<{
18
+ ok: z.ZodLiteral<false>;
19
+ error: z.ZodString;
20
+ needed: z.ZodOptional<z.ZodString>;
21
+ provided: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ ok: false;
24
+ error: string;
25
+ needed?: string | undefined;
26
+ provided?: string | undefined;
27
+ }, {
28
+ ok: false;
29
+ error: string;
30
+ needed?: string | undefined;
31
+ provided?: string | undefined;
32
+ }>;
33
+ /** Slack API error response, derived from {@link SlackErrorSchema}. */
34
+ export type SlackErrorResponse = z.infer<typeof SlackErrorSchema>;
35
+ /**
36
+ * Zod schema for Slack success envelopes.
37
+ *
38
+ * Success responses from Slack include `{ ok: true, ...payload }`.
39
+ * Callers provide schemas for the payload fields only; the SDK validates
40
+ * this envelope separately and injects `ok: true` in the returned type.
41
+ */
42
+ export declare const SlackSuccessEnvelopeSchema: z.ZodObject<{
43
+ ok: z.ZodLiteral<true>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ ok: true;
46
+ }, {
47
+ ok: true;
48
+ }>;
49
+ /**
50
+ * Enforce that caller-provided success schemas do not define `ok`.
51
+ *
52
+ * The `ok` field belongs to the Slack envelope and is injected by the SDK.
53
+ */
54
+ type SlackSuccessSchemaHasExplicitOkKey<TSchema extends z.AnyZodObject> = TSchema extends z.ZodObject<infer TShape, z.UnknownKeysParam, z.ZodTypeAny, unknown, unknown> ? "ok" extends keyof TShape ? true : false : false;
55
+ export type SlackSuccessSchema<TSchema extends z.AnyZodObject> = SlackSuccessSchemaHasExplicitOkKey<TSchema> extends true ? never : TSchema;
56
+ /**
57
+ * Schema configuration for Slack API requests.
58
+ *
59
+ * Response schema must be an object payload schema (without `ok`).
60
+ */
61
+ export interface SlackApiRequestSchema<TBody, TResponseSchema extends z.AnyZodObject> {
62
+ body?: z.ZodSchema<TBody>;
63
+ response: SlackSuccessSchema<TResponseSchema>;
64
+ }
65
+ /** Slack success response shape with injected discriminant. */
66
+ export type SlackSuccessResponse<T extends Record<string, unknown>> = T & {
67
+ readonly ok: true;
68
+ };
69
+ /**
70
+ * Discriminated union of a Slack success response and error response.
8
71
  *
9
- * Provides generic API request method for interacting with Slack's API.
10
- * Use apiRequest() to make calls to any Slack API endpoint.
72
+ * On success (`ok: true`), the type is `T & { ok: true }` — the
73
+ * validated schema output intersected with a literal `true` discriminant.
74
+ * On failure (`ok: false`), the type is {@link SlackErrorResponse}.
75
+ *
76
+ * Use the `ok` field as a discriminant for type narrowing:
11
77
  *
12
78
  * @example
13
79
  * ```typescript
14
- * // Declare in api(): integrations: { slack: slack(INTEGRATION_ID) }
15
- * // In run(), access via: ctx.integrations.slack
16
- * await ctx.integrations.slack.apiRequest(
17
- * {
18
- * method: 'POST',
19
- * path: '/chat.postMessage',
20
- * body: {
21
- * channel: '#alerts',
22
- * text: 'Deployment completed!',
23
- * },
24
- * },
25
- * { response: PostMessageResponseSchema }
80
+ * const result = await ctx.integrations.slack.apiRequest(
81
+ * { method: "GET", path: "/conversations.list", params: { limit: 100 } },
82
+ * { response: ListChannelsSchema },
26
83
  * );
27
84
  *
28
- * // List channels
29
- * const ListChannelsResponseSchema = z.object({
30
- * channels: z.array(z.object({
31
- * id: z.string(),
32
- * name: z.string(),
33
- * })),
34
- * });
85
+ * if (!result.ok) {
86
+ * // TypeScript narrows to SlackErrorResponse
87
+ * console.error(`Slack error: ${result.error}`);
88
+ * return;
89
+ * }
35
90
  *
91
+ * // TypeScript narrows to T & { ok: true }
92
+ * result.channels.forEach(ch => console.log(ch.name));
93
+ * ```
94
+ */
95
+ export type SlackResponse<T extends Record<string, unknown>> = SlackSuccessResponse<T> | SlackErrorResponse;
96
+ /**
97
+ * Slack client for API interactions.
98
+ *
99
+ * Returns {@link SlackResponse}<T> from `apiRequest` — a discriminated
100
+ * union that encapsulates both Slack success and error responses. This
101
+ * avoids confusing Zod validation errors when Slack returns `ok: false`
102
+ * (which is an HTTP 200 with no success-specific fields).
103
+ *
104
+ * Note: SlackClient intentionally does not extend `SupportsApiRequest`.
105
+ * `SupportsApiRequest.apiRequest` returns `Promise<TResponse>`, while
106
+ * Slack returns `Promise<SlackResponse<T>>` by design.
107
+ *
108
+ * @example
109
+ * ```typescript
36
110
  * const result = await ctx.integrations.slack.apiRequest(
37
111
  * {
38
- * method: 'GET',
39
- * path: '/conversations.list',
40
- * params: { limit: 100 },
112
+ * method: "POST",
113
+ * path: "/chat.postMessage",
114
+ * body: { channel: "#alerts", text: "Deployed!" },
41
115
  * },
42
- * { response: ListChannelsResponseSchema }
116
+ * { response: PostMessageResponseSchema },
43
117
  * );
118
+ *
119
+ * if (!result.ok) {
120
+ * throw new Error(`Slack API error: ${result.error}`);
121
+ * }
122
+ *
123
+ * console.log(`Message sent: ${result.ts}`);
44
124
  * ```
45
125
  */
46
- export interface SlackClient extends BaseIntegrationClient, SupportsApiRequest {
126
+ export interface SlackClient extends BaseIntegrationClient {
127
+ /**
128
+ * Execute a Slack API request with type-safe response handling.
129
+ *
130
+ * Returns a {@link SlackResponse}<TResponse> discriminated union:
131
+ * - On success: the Zod-validated payload with injected `ok: true`
132
+ * - On failure: a {@link SlackErrorResponse} with `ok: false` and the Slack error code
133
+ *
134
+ * Body validation still throws {@link RestApiValidationError} if the
135
+ * request body fails its Zod schema.
136
+ *
137
+ * @param options - Request configuration (method, path, params, body, headers)
138
+ * @param schema - Zod schemas for body and response validation (response REQUIRED)
139
+ * - `response` must be `z.object(...)`
140
+ * - `response` should define payload fields only (MUST NOT define `ok`)
141
+ * @param metadata - Optional trace metadata for observability
142
+ * @returns Discriminated union — check `result.ok` before accessing fields
143
+ */
144
+ apiRequest<TBody, TResponseSchema extends z.AnyZodObject>(options: ApiRequestOptions<TBody>, schema: SlackApiRequestSchema<TBody, TResponseSchema>, metadata?: TraceMetadata): Promise<SlackResponse<z.output<TResponseSchema>>>;
47
145
  }
146
+ export {};
48
147
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,WAAY,SAAQ,qBAAqB,EAAE,kBAAkB;CAE7E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/slack/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AAEH;;;;GAIG;AACH,KAAK,kCAAkC,CAAC,OAAO,SAAS,CAAC,CAAC,YAAY,IACpE,OAAO,SAAS,CAAC,CAAC,SAAS,CACzB,MAAM,MAAM,EACZ,CAAC,CAAC,gBAAgB,EAClB,CAAC,CAAC,UAAU,EACZ,OAAO,EACP,OAAO,CACR,GACG,IAAI,SAAS,MAAM,MAAM,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,CAAC,CAAC,YAAY,IAC3D,kCAAkC,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CACpC,KAAK,EACL,eAAe,SAAS,CAAC,CAAC,YAAY;IAEtC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;CAC/C;AAED,+DAA+D;AAC/D,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG;IACxE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACvD,oBAAoB,CAAC,CAAC,CAAC,GACvB,kBAAkB,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,WAAY,SAAQ,qBAAqB;IACxD;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,SAAS,CAAC,CAAC,YAAY,EACtD,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EACjC,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,EACrD,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CACtD"}
@@ -1,5 +1,31 @@
1
1
  /**
2
2
  * Slack client types.
3
+ *
4
+ * Defines the SlackResponse<T> discriminated union that wraps every
5
+ * Slack API call, plus the SlackClient interface consumers interact with.
3
6
  */
4
- export {};
7
+ import { z } from "zod";
8
+ /**
9
+ * Zod schema for Slack API error responses.
10
+ *
11
+ * Slack returns errors as HTTP 200 with `{ ok: false, error: "..." }`.
12
+ * For `missing_scope` errors, `needed` and `provided` list the
13
+ * required vs current OAuth scopes.
14
+ */
15
+ export const SlackErrorSchema = z.object({
16
+ ok: z.literal(false),
17
+ error: z.string(),
18
+ needed: z.string().optional(),
19
+ provided: z.string().optional(),
20
+ });
21
+ /**
22
+ * Zod schema for Slack success envelopes.
23
+ *
24
+ * Success responses from Slack include `{ ok: true, ...payload }`.
25
+ * Callers provide schemas for the payload fields only; the SDK validates
26
+ * this envelope separately and injects `ok: true` in the returned type.
27
+ */
28
+ export const SlackSuccessEnvelopeSchema = z.object({
29
+ ok: z.literal(true),
30
+ });
5
31
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/integrations/slack/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/integrations/slack/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAKH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACpB,CAAC,CAAC"}
@@ -21,10 +21,10 @@ export declare class SnowflakeClientImpl implements SnowflakeClient, Integration
21
21
  * Builds a Snowflake request object from SQL and parameters.
22
22
  *
23
23
  * When params are provided, the SQL body is sent with placeholders intact
24
- * (e.g. $1, $2) and the parameter values are passed via the `parameters`
24
+ * (e.g. ?) and the parameter values are passed via the `parameters`
25
25
  * field as a JSON-stringified array for server-side binding.
26
26
  *
27
- * @param sql - The SQL query with optional $1, $2 placeholders
27
+ * @param sql - The SQL query with optional ? placeholders
28
28
  * @param params - Optional array of parameter values for server-side binding
29
29
  * @returns The plugin request object
30
30
  */
@@ -27,10 +27,10 @@ export class SnowflakeClientImpl {
27
27
  * Builds a Snowflake request object from SQL and parameters.
28
28
  *
29
29
  * When params are provided, the SQL body is sent with placeholders intact
30
- * (e.g. $1, $2) and the parameter values are passed via the `parameters`
30
+ * (e.g. ?) and the parameter values are passed via the `parameters`
31
31
  * field as a JSON-stringified array for server-side binding.
32
32
  *
33
- * @param sql - The SQL query with optional $1, $2 placeholders
33
+ * @param sql - The SQL query with optional ? placeholders
34
34
  * @param params - Optional array of parameter values for server-side binding
35
35
  * @returns The plugin request object
36
36
  */
@@ -24,7 +24,7 @@ export interface CreateContextOptions {
24
24
  /**
25
25
  * Function to execute integration operations.
26
26
  *
27
- * For language plugins (Python, JavaScript), pass the bindings parameter
27
+ * For language plugins (JavaScript), pass the bindings parameter
28
28
  * to the API execution request as `input` field for binding resolution.
29
29
  */
30
30
  executeQuery: (integrationId: string, request: Record<string, unknown>, bindings?: Record<string, unknown>, metadata?: TraceMetadata) => Promise<unknown>;
@@ -30,13 +30,13 @@ export interface ExecuteApiRequest {
30
30
  * The request object should match the protobuf Plugin schema for the
31
31
  * specific integration type (e.g., postgresql.v1.Plugin for Postgres).
32
32
  *
33
- * For language plugins (Python, JavaScript), the bindings parameter should be
33
+ * For language plugins (JavaScript), the bindings parameter should be
34
34
  * passed to the API execution request as `input` or `inputs` field for
35
35
  * binding resolution.
36
36
  *
37
37
  * @param integrationId - The integration ID
38
38
  * @param request - Plugin-specific request object matching the proto schema
39
- * @param bindings - Optional bindings data for binding resolution (e.g., Python/JavaScript bindings)
39
+ * @param bindings - Optional bindings data for binding resolution (e.g., JavaScript bindings)
40
40
  * @returns Promise resolving to the operation result
41
41
  */
42
42
  executeQuery: (integrationId: string, request: Record<string, unknown>, bindings?: Record<string, unknown>, metadata?: TraceMetadata) => Promise<unknown>;
package/dist/types.d.ts CHANGED
@@ -37,10 +37,13 @@ import type { IntegrationRef, AnyIntegrationRef, IntegrationsMap } from "./integ
37
37
  * if (users.length === 0) {
38
38
  * throw new Error('User not found');
39
39
  * }
40
- * await ctx.integrations.notifier.postMessage({
41
- * channel: '#alerts',
42
- * text: `Fetched user ${users[0].name}`,
43
- * });
40
+ * const notifyResult = await ctx.integrations.notifier.apiRequest(
41
+ * { method: 'POST', path: '/chat.postMessage', body: { channel: '#alerts', text: `Fetched user ${users[0].name}` } },
42
+ * { response: z.object({ channel: z.string(), ts: z.string() }) }
43
+ * );
44
+ * if (!notifyResult.ok) {
45
+ * throw new Error(`Slack API error: ${notifyResult.error}`);
46
+ * }
44
47
  * return { user: users[0] };
45
48
  * },
46
49
  * });
@@ -129,7 +132,13 @@ export interface ApiContext<TIntegrations extends Record<string, AnyIntegrationR
129
132
  * const users = await ctx.integrations.db.query('SELECT * FROM users', UserSchema);
130
133
  *
131
134
  * // ctx.integrations.notifier is SlackClient
132
- * await ctx.integrations.notifier.postMessage({ channel: '#alerts', text: 'Hello!' });
135
+ * const notifyResult = await ctx.integrations.notifier.apiRequest(
136
+ * { method: 'POST', path: '/chat.postMessage', body: { channel: '#alerts', text: 'Hello!' } },
137
+ * { response: z.object({ channel: z.string(), ts: z.string() }) }
138
+ * );
139
+ * if (!notifyResult.ok) {
140
+ * throw new Error(`Slack API error: ${notifyResult.error}`);
141
+ * }
133
142
  * ```
134
143
  */
135
144
  readonly integrations: IntegrationsMap<TIntegrations>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/sdk-api",
3
- "version": "2.0.105-next.0",
3
+ "version": "2.0.105-next.2",
4
4
  "description": "Superblocks SDK for TypeScript-based API definitions",
5
5
  "license": "Superblocks Community Software License",
6
6
  "files": [
@@ -16,7 +16,7 @@
16
16
  "registry": "https://registry.npmjs.org"
17
17
  },
18
18
  "dependencies": {
19
- "@superblocksteam/types": "1.196.0",
19
+ "@superblocksteam/types": "1.351.0",
20
20
  "zod": "^3.23.8"
21
21
  },
22
22
  "devDependencies": {
@@ -9,7 +9,7 @@ import { z } from "zod";
9
9
  import {
10
10
  api,
11
11
  __setEntryPoint,
12
- consumeEntryPoint,
12
+ getEntryPoint,
13
13
  type ExtractApiInput,
14
14
  type ExtractApiOutput,
15
15
  } from "./definition.js";
@@ -345,27 +345,52 @@ describe("entryPoint mechanism", () => {
345
345
  expect(compiled.entryPoint).toBe("server/apis/GetUsers/api.ts");
346
346
  });
347
347
 
348
- it("consumeEntryPoint clears the pending value", () => {
349
- __setEntryPoint("server/apis/Temp/api.ts");
350
- const first = consumeEntryPoint();
351
- const second = consumeEntryPoint();
348
+ it("entryPoint persists across multiple api() calls from the same file", () => {
349
+ __setEntryPoint("server/apis/slack/helper.ts");
350
+ const dashboard = api({
351
+ name: "SlackDashboard",
352
+ input: z.object({}),
353
+ output: z.object({}),
354
+ async run() {
355
+ return {};
356
+ },
357
+ });
358
+ const search = api({
359
+ name: "SlackSearch",
360
+ input: z.object({}),
361
+ output: z.object({}),
362
+ async run() {
363
+ return {};
364
+ },
365
+ });
366
+ const postMessage = api({
367
+ name: "SlackPostMessage",
368
+ input: z.object({}),
369
+ output: z.object({}),
370
+ async run() {
371
+ return {};
372
+ },
373
+ });
352
374
 
353
- expect(first).toBe("server/apis/Temp/api.ts");
354
- expect(second).toBeUndefined();
375
+ expect(dashboard.entryPoint).toBe("server/apis/slack/helper.ts");
376
+ expect(search.entryPoint).toBe("server/apis/slack/helper.ts");
377
+ expect(postMessage.entryPoint).toBe("server/apis/slack/helper.ts");
355
378
  });
356
379
 
357
- it("entryPoint is consumed once second api() call gets undefined", () => {
358
- __setEntryPoint("server/apis/First/api.ts");
359
- const first = api({
360
- name: "First",
380
+ it("new __setEntryPoint overwrites previous value for a different file", () => {
381
+ __setEntryPoint("server/apis/slack/helper.ts");
382
+ const slackApi = api({
383
+ name: "SlackDashboard",
361
384
  input: z.object({}),
362
385
  output: z.object({}),
363
386
  async run() {
364
387
  return {};
365
388
  },
366
389
  });
367
- const second = api({
368
- name: "Second",
390
+
391
+ __setEntryPoint("server/apis/users/api.ts");
392
+ const usersApi = api({
393
+ name: "GetUsers",
369
394
  input: z.object({}),
370
395
  output: z.object({}),
371
396
  async run() {
@@ -373,7 +398,7 @@ describe("entryPoint mechanism", () => {
373
398
  },
374
399
  });
375
400
 
376
- expect(first.entryPoint).toBe("server/apis/First/api.ts");
377
- expect(second.entryPoint).toBeUndefined();
401
+ expect(slackApi.entryPoint).toBe("server/apis/slack/helper.ts");
402
+ expect(usersApi.entryPoint).toBe("server/apis/users/api.ts");
378
403
  });
379
404
  });
@@ -52,21 +52,28 @@ import type { ApiConfig, ApiContext, AnyIntegrationRef } from "../types.js";
52
52
 
53
53
  // ---------------------------------------------------------------------------
54
54
  // Entry point setter — used by the Vite plugin to stamp the source file path
55
- // onto the next api() call. ESM top-level execution is
56
- // synchronous, so the prepended __setEntryPoint() always runs before api().
55
+ // onto every api()/streamingApi() call in a module. ESM top-level execution
56
+ // is synchronous, so the prepended __setEntryPoint() always runs before any
57
+ // api() call in the same file. The value is intentionally NOT cleared after
58
+ // the first read so that multiple named-exported api() calls in a single file
59
+ // all receive the same entry point. The next file's __setEntryPoint() call
60
+ // naturally overwrites the value.
57
61
  // ---------------------------------------------------------------------------
58
62
 
59
63
  let __pendingEntryPoint: string | undefined;
60
64
 
61
- /** Called by the Vite plugin to set the entry point for the next api() call. */
65
+ /** Called by the Vite plugin to set the entry point for api() calls in this file. */
62
66
  export function __setEntryPoint(entryPoint: string): void {
63
67
  __pendingEntryPoint = entryPoint;
64
68
  }
65
69
 
66
- export function consumeEntryPoint(): string | undefined {
67
- const ep = __pendingEntryPoint;
68
- __pendingEntryPoint = undefined;
69
- return ep;
70
+ /**
71
+ * Returns the current pending entry point without clearing it.
72
+ * This allows multiple api() calls within the same file to share the same
73
+ * entry point (e.g. named exports from a single module).
74
+ */
75
+ export function getEntryPoint(): string | undefined {
76
+ return __pendingEntryPoint;
70
77
  }
71
78
 
72
79
  /**
@@ -170,10 +177,10 @@ export interface CompiledApi<TInput = unknown, TOutput = unknown> {
170
177
  * throw new Error('User not found');
171
178
  * }
172
179
  *
173
- * await ctx.integrations.notifier.postMessage({
174
- * channel: '#user-lookups',
175
- * text: `Fetched user ${user.name}`,
176
- * });
180
+ * await ctx.integrations.notifier.apiRequest(
181
+ * { method: 'POST', path: '/chat.postMessage', body: { channel: '#user-lookups', text: `Fetched user ${user.name}` } },
182
+ * { response: z.object({ ok: z.boolean() }) }
183
+ * );
177
184
  *
178
185
  * return { user };
179
186
  * },
@@ -196,7 +203,7 @@ export function api<
196
203
  const compiled: CompiledApi<z.infer<TInput>, z.infer<TOutput>> = {
197
204
  name: config.name,
198
205
  description: config.description,
199
- entryPoint: consumeEntryPoint(),
206
+ entryPoint: getEntryPoint(),
200
207
  inputSchema: config.input,
201
208
  outputSchema: config.output,
202
209
  run: config.run as (
package/src/errors.ts CHANGED
@@ -53,7 +53,7 @@ export class QueryValidationError extends Error {
53
53
  }
54
54
 
55
55
  /**
56
- * Error thrown when Python/JavaScript code execution fails.
56
+ * Error thrown when code execution fails.
57
57
  *
58
58
  * Contains context about the code, bindings, and any validation errors
59
59
  * that occurred during execution.