@superblocksteam/sdk-api 2.0.105 → 2.0.106-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.
Files changed (181) hide show
  1. package/README.md +439 -89
  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 -11
  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 -73
  28. package/dist/integrations/declarations.d.ts.map +1 -1
  29. package/dist/integrations/declarations.js +5 -68
  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 -11
  35. package/dist/integrations/index.d.ts.map +1 -1
  36. package/dist/integrations/index.js +1 -7
  37. package/dist/integrations/index.js.map +1 -1
  38. package/dist/integrations/registry.d.ts +1 -11
  39. package/dist/integrations/registry.d.ts.map +1 -1
  40. package/dist/integrations/registry.js +0 -29
  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 +15 -6
  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 -33
  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 -105
  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/groq/README.md +8 -8
  83. package/src/integrations/index.ts +0 -51
  84. package/src/integrations/perplexity/README.md +39 -48
  85. package/src/integrations/registry.ts +1 -39
  86. package/src/integrations/salesforce/README.md +11 -9
  87. package/src/integrations/slack/README.md +62 -19
  88. package/src/integrations/slack/client.test.ts +553 -0
  89. package/src/integrations/slack/client.ts +92 -12
  90. package/src/integrations/slack/index.ts +6 -1
  91. package/src/integrations/slack/types.ts +142 -29
  92. package/src/integrations/snowflake/client.ts +2 -2
  93. package/src/integrations/zoom/README.md +15 -15
  94. package/src/runtime/context.ts +1 -1
  95. package/src/runtime/executor.ts +2 -2
  96. package/src/types.ts +15 -6
  97. package/dist/integrations/couchbase/client.d.ts +0 -36
  98. package/dist/integrations/couchbase/client.d.ts.map +0 -1
  99. package/dist/integrations/couchbase/client.js +0 -148
  100. package/dist/integrations/couchbase/client.js.map +0 -1
  101. package/dist/integrations/couchbase/index.d.ts +0 -8
  102. package/dist/integrations/couchbase/index.d.ts.map +0 -1
  103. package/dist/integrations/couchbase/index.js +0 -7
  104. package/dist/integrations/couchbase/index.js.map +0 -1
  105. package/dist/integrations/couchbase/types.d.ts +0 -100
  106. package/dist/integrations/couchbase/types.d.ts.map +0 -1
  107. package/dist/integrations/couchbase/types.js +0 -5
  108. package/dist/integrations/couchbase/types.js.map +0 -1
  109. package/dist/integrations/kafka/client.d.ts +0 -25
  110. package/dist/integrations/kafka/client.d.ts.map +0 -1
  111. package/dist/integrations/kafka/client.js +0 -124
  112. package/dist/integrations/kafka/client.js.map +0 -1
  113. package/dist/integrations/kafka/index.d.ts +0 -8
  114. package/dist/integrations/kafka/index.d.ts.map +0 -1
  115. package/dist/integrations/kafka/index.js +0 -7
  116. package/dist/integrations/kafka/index.js.map +0 -1
  117. package/dist/integrations/kafka/types.d.ts +0 -113
  118. package/dist/integrations/kafka/types.d.ts.map +0 -1
  119. package/dist/integrations/kafka/types.js +0 -5
  120. package/dist/integrations/kafka/types.js.map +0 -1
  121. package/dist/integrations/kinesis/client.d.ts +0 -31
  122. package/dist/integrations/kinesis/client.d.ts.map +0 -1
  123. package/dist/integrations/kinesis/client.js +0 -101
  124. package/dist/integrations/kinesis/client.js.map +0 -1
  125. package/dist/integrations/kinesis/index.d.ts +0 -8
  126. package/dist/integrations/kinesis/index.d.ts.map +0 -1
  127. package/dist/integrations/kinesis/index.js +0 -7
  128. package/dist/integrations/kinesis/index.js.map +0 -1
  129. package/dist/integrations/kinesis/types.d.ts +0 -97
  130. package/dist/integrations/kinesis/types.d.ts.map +0 -1
  131. package/dist/integrations/kinesis/types.js +0 -7
  132. package/dist/integrations/kinesis/types.js.map +0 -1
  133. package/dist/integrations/python/client.d.ts +0 -42
  134. package/dist/integrations/python/client.d.ts.map +0 -1
  135. package/dist/integrations/python/client.js +0 -89
  136. package/dist/integrations/python/client.js.map +0 -1
  137. package/dist/integrations/python/client.test.d.ts +0 -5
  138. package/dist/integrations/python/client.test.d.ts.map +0 -1
  139. package/dist/integrations/python/client.test.js +0 -214
  140. package/dist/integrations/python/client.test.js.map +0 -1
  141. package/dist/integrations/python/index.d.ts +0 -6
  142. package/dist/integrations/python/index.d.ts.map +0 -1
  143. package/dist/integrations/python/index.js +0 -5
  144. package/dist/integrations/python/index.js.map +0 -1
  145. package/dist/integrations/python/types.d.ts +0 -85
  146. package/dist/integrations/python/types.d.ts.map +0 -1
  147. package/dist/integrations/python/types.js +0 -5
  148. package/dist/integrations/python/types.js.map +0 -1
  149. package/dist/integrations/redis/client.d.ts +0 -43
  150. package/dist/integrations/redis/client.d.ts.map +0 -1
  151. package/dist/integrations/redis/client.js +0 -142
  152. package/dist/integrations/redis/client.js.map +0 -1
  153. package/dist/integrations/redis/index.d.ts +0 -8
  154. package/dist/integrations/redis/index.d.ts.map +0 -1
  155. package/dist/integrations/redis/index.js +0 -7
  156. package/dist/integrations/redis/index.js.map +0 -1
  157. package/dist/integrations/redis/types.d.ts +0 -137
  158. package/dist/integrations/redis/types.d.ts.map +0 -1
  159. package/dist/integrations/redis/types.js +0 -5
  160. package/dist/integrations/redis/types.js.map +0 -1
  161. package/src/integrations/couchbase/README.md +0 -138
  162. package/src/integrations/couchbase/client.ts +0 -225
  163. package/src/integrations/couchbase/index.ts +0 -8
  164. package/src/integrations/couchbase/types.ts +0 -126
  165. package/src/integrations/kafka/README.md +0 -144
  166. package/src/integrations/kafka/client.ts +0 -216
  167. package/src/integrations/kafka/index.ts +0 -14
  168. package/src/integrations/kafka/types.ts +0 -128
  169. package/src/integrations/kinesis/README.md +0 -153
  170. package/src/integrations/kinesis/client.ts +0 -146
  171. package/src/integrations/kinesis/index.ts +0 -14
  172. package/src/integrations/kinesis/types.ts +0 -114
  173. package/src/integrations/python/README.md +0 -566
  174. package/src/integrations/python/client.test.ts +0 -341
  175. package/src/integrations/python/client.ts +0 -136
  176. package/src/integrations/python/index.ts +0 -6
  177. package/src/integrations/python/types.ts +0 -92
  178. package/src/integrations/redis/README.md +0 -200
  179. package/src/integrations/redis/client.ts +0 -208
  180. package/src/integrations/redis/index.ts +0 -8
  181. package/src/integrations/redis/types.ts +0 -167
@@ -1,43 +0,0 @@
1
- /**
2
- * Redis client implementation.
3
- *
4
- * Uses the native Redis plugin type from @superblocksteam/types.
5
- * Supports raw Redis commands and typed structured operations
6
- * (get, set, del, keys, hget, hset, hgetall, etc.).
7
- *
8
- * Request format matches the Redis plugin proto's oneof structure:
9
- * - Raw: `{ raw: { singleton: { query: "..." } } }`
10
- * - Structured: `{ structured: { set: { key: "...", value: "..." } } }`
11
- */
12
- import type { z } from "zod";
13
- import type { QueryExecutor, TraceMetadata } from "../registry.js";
14
- import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
15
- import type { RedisClient } from "./types.js";
16
- /**
17
- * Internal implementation of RedisClient.
18
- *
19
- * Provides both raw and structured Redis command execution.
20
- */
21
- export declare class RedisClientImpl implements RedisClient, IntegrationClientImpl {
22
- readonly config: IntegrationConfig;
23
- private readonly executeQuery;
24
- constructor(config: IntegrationConfig, executeQuery: QueryExecutor);
25
- get name(): string;
26
- get pluginId(): string;
27
- /**
28
- * Execute a request and wrap errors.
29
- */
30
- private exec;
31
- command<T>(command: string, schema: z.ZodSchema<T>, metadata?: TraceMetadata): Promise<T>;
32
- get(key: string, metadata?: TraceMetadata): Promise<unknown>;
33
- set(key: string, value: string, expirationMs?: number, metadata?: TraceMetadata): Promise<unknown>;
34
- del(key: string, metadata?: TraceMetadata): Promise<unknown>;
35
- keys(pattern: string, metadata?: TraceMetadata): Promise<unknown>;
36
- hget(key: string, field: string, metadata?: TraceMetadata): Promise<unknown>;
37
- hset(key: string, field: string, value: string, metadata?: TraceMetadata): Promise<unknown>;
38
- hgetall(key: string, metadata?: TraceMetadata): Promise<unknown>;
39
- hdel(key: string, field: string, metadata?: TraceMetadata): Promise<unknown>;
40
- expire(key: string, seconds: number, metadata?: TraceMetadata): Promise<unknown>;
41
- ttl(key: string, metadata?: TraceMetadata): Promise<unknown>;
42
- }
43
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/integrations/redis/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAsC9C;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,WAAW,EAAE,qBAAqB;IACxE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa;IAKlE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;YACW,IAAI;IAmBZ,OAAO,CAAC,CAAC,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,CAAC,CAAC;IA4BP,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D,GAAG,CACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IASb,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjE,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IAKb,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IAKb,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAKhE,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IAKb,MAAM,CACV,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IAKb,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAInE"}
@@ -1,142 +0,0 @@
1
- /**
2
- * Redis client implementation.
3
- *
4
- * Uses the native Redis plugin type from @superblocksteam/types.
5
- * Supports raw Redis commands and typed structured operations
6
- * (get, set, del, keys, hget, hset, hgetall, etc.).
7
- *
8
- * Request format matches the Redis plugin proto's oneof structure:
9
- * - Raw: `{ raw: { singleton: { query: "..." } } }`
10
- * - Structured: `{ structured: { set: { key: "...", value: "..." } } }`
11
- */
12
- import { RestApiValidationError } from "../../errors.js";
13
- import { IntegrationError } from "../../runtime/errors.js";
14
- /**
15
- * Build a raw Redis command request matching the proto JSON format.
16
- *
17
- * Proto structure: `oneof command_type { Raw raw = 3; }`
18
- * Raw structure: `oneof action { Singleton singleton = 1; }`
19
- */
20
- function buildRawRequest(command) {
21
- return {
22
- raw: {
23
- singleton: {
24
- query: command,
25
- },
26
- },
27
- };
28
- }
29
- /**
30
- * Build a structured Redis command request matching the proto JSON format.
31
- *
32
- * Proto structure: `oneof command_type { Structured structured = 4; }`
33
- * Structured structure: `oneof action { Get get = 6; Set set = 7; ... }`
34
- *
35
- * @param actionName - The structured action name (e.g., 'get', 'set')
36
- * @param value - The action-specific parameters
37
- */
38
- function buildStructuredRequest(actionName, value) {
39
- return {
40
- structured: {
41
- [actionName]: value,
42
- },
43
- };
44
- }
45
- /**
46
- * Internal implementation of RedisClient.
47
- *
48
- * Provides both raw and structured Redis command execution.
49
- */
50
- export class RedisClientImpl {
51
- config;
52
- executeQuery;
53
- constructor(config, executeQuery) {
54
- this.config = config;
55
- this.executeQuery = executeQuery;
56
- }
57
- get name() {
58
- return this.config.name;
59
- }
60
- get pluginId() {
61
- return this.config.pluginId;
62
- }
63
- /**
64
- * Execute a request and wrap errors.
65
- */
66
- async exec(request, operation, metadata) {
67
- try {
68
- return await this.executeQuery(request, undefined, metadata);
69
- }
70
- catch (error) {
71
- if (error instanceof RestApiValidationError ||
72
- error instanceof IntegrationError) {
73
- throw error;
74
- }
75
- throw new IntegrationError(this.config.name, operation, error);
76
- }
77
- }
78
- async command(command, schema, metadata) {
79
- const request = buildRawRequest(command);
80
- const rawResult = await this.exec(request, "command", metadata);
81
- // The Redis plugin wraps raw command results in { response: ... }.
82
- // Unwrap to the actual value so callers can validate against the expected type.
83
- const result = rawResult !== null &&
84
- typeof rawResult === "object" &&
85
- "response" in rawResult
86
- ? rawResult.response
87
- : rawResult;
88
- const parseResult = schema.safeParse(result);
89
- if (!parseResult.success) {
90
- throw new RestApiValidationError(`Result validation failed: ${parseResult.error.message}`, {
91
- zodError: parseResult.error,
92
- data: result,
93
- });
94
- }
95
- return parseResult.data;
96
- }
97
- async get(key, metadata) {
98
- const request = buildStructuredRequest("get", { key });
99
- return this.exec(request, "get", metadata);
100
- }
101
- async set(key, value, expirationMs, metadata) {
102
- const params = { key, value };
103
- if (expirationMs !== undefined) {
104
- params.expirationMs = expirationMs;
105
- }
106
- const request = buildStructuredRequest("set", params);
107
- return this.exec(request, "set", metadata);
108
- }
109
- async del(key, metadata) {
110
- const request = buildStructuredRequest("del", { key });
111
- return this.exec(request, "del", metadata);
112
- }
113
- async keys(pattern, metadata) {
114
- const request = buildStructuredRequest("keys", { pattern });
115
- return this.exec(request, "keys", metadata);
116
- }
117
- async hget(key, field, metadata) {
118
- const request = buildStructuredRequest("hget", { key, field });
119
- return this.exec(request, "hget", metadata);
120
- }
121
- async hset(key, field, value, metadata) {
122
- const request = buildStructuredRequest("hset", { key, field, value });
123
- return this.exec(request, "hset", metadata);
124
- }
125
- async hgetall(key, metadata) {
126
- const request = buildStructuredRequest("hgetall", { key });
127
- return this.exec(request, "hgetall", metadata);
128
- }
129
- async hdel(key, field, metadata) {
130
- const request = buildStructuredRequest("hdel", { key, field });
131
- return this.exec(request, "hdel", metadata);
132
- }
133
- async expire(key, seconds, metadata) {
134
- const request = buildStructuredRequest("expire", { key, seconds });
135
- return this.exec(request, "expire", metadata);
136
- }
137
- async ttl(key, metadata) {
138
- const request = buildStructuredRequest("ttl", { key });
139
- return this.exec(request, "ttl", metadata);
140
- }
141
- }
142
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/integrations/redis/client.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Redis integration client.
3
- *
4
- * @module
5
- */
6
- export type { RedisClient } from "./types.js";
7
- export { RedisClientImpl } from "./client.js";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/redis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Redis integration client.
3
- *
4
- * @module
5
- */
6
- export { RedisClientImpl } from "./client.js";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/redis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,137 +0,0 @@
1
- /**
2
- * Redis client types.
3
- */
4
- import type { z } from "zod";
5
- import type { BaseIntegrationClient } from "../../types.js";
6
- import type { TraceMetadata } from "../registry.js";
7
- /**
8
- * Redis client for executing commands.
9
- *
10
- * Provides typed methods for common Redis operations as well as a
11
- * generic command() method for executing raw Redis commands.
12
- *
13
- * @example
14
- * ```typescript
15
- * // Declare in api(): integrations: { redis: redis(INTEGRATION_ID) }
16
- * // In run(), access via ctx.integrations.redis
17
- *
18
- * // Typed string operations
19
- * await redis.set('user:1', 'Alice');
20
- * const name = await redis.get('user:1');
21
- *
22
- * // Typed hash operations
23
- * await redis.hset('user:1', 'name', 'Alice');
24
- * const val = await redis.hget('user:1', 'name');
25
- * const all = await redis.hgetall('user:1');
26
- *
27
- * // Key operations
28
- * await redis.del('user:1');
29
- * const userKeys = await redis.keys('user:*');
30
- *
31
- * // Raw command for anything not covered by typed methods
32
- * const result = await redis.command(
33
- * 'LRANGE mylist 0 -1',
34
- * z.array(z.string())
35
- * );
36
- * ```
37
- */
38
- export interface RedisClient extends BaseIntegrationClient {
39
- /**
40
- * Execute a raw Redis command.
41
- *
42
- * Use this for commands not covered by the typed methods.
43
- *
44
- * @param command - The Redis command string (e.g., "LRANGE mylist 0 -1")
45
- * @param schema - Zod schema for validating the result
46
- * @returns The validated result
47
- */
48
- command<T>(command: string, schema: z.ZodSchema<T>, metadata?: TraceMetadata): Promise<T>;
49
- /**
50
- * Get the value of a key.
51
- *
52
- * @param key - The key to get
53
- * @param metadata - Optional trace metadata for diagnostics
54
- * @returns The value, or null if the key does not exist
55
- */
56
- get(key: string, metadata?: TraceMetadata): Promise<unknown>;
57
- /**
58
- * Set the value of a key.
59
- *
60
- * @param key - The key to set
61
- * @param value - The value to set
62
- * @param expirationMs - Optional expiration time in milliseconds
63
- * @param metadata - Optional trace metadata for diagnostics
64
- * @returns The result (typically "OK")
65
- */
66
- set(key: string, value: string, expirationMs?: number, metadata?: TraceMetadata): Promise<unknown>;
67
- /**
68
- * Delete a key.
69
- *
70
- * @param key - The key to delete
71
- * @param metadata - Optional trace metadata for diagnostics
72
- * @returns The number of keys removed
73
- */
74
- del(key: string, metadata?: TraceMetadata): Promise<unknown>;
75
- /**
76
- * Find all keys matching a pattern.
77
- *
78
- * @param pattern - The glob-style pattern to match (e.g., "user:*")
79
- * @param metadata - Optional trace metadata for diagnostics
80
- * @returns Array of matching keys
81
- */
82
- keys(pattern: string, metadata?: TraceMetadata): Promise<unknown>;
83
- /**
84
- * Get the value of a hash field.
85
- *
86
- * @param key - The hash key
87
- * @param field - The field name
88
- * @param metadata - Optional trace metadata for diagnostics
89
- * @returns The field value, or null if the field does not exist
90
- */
91
- hget(key: string, field: string, metadata?: TraceMetadata): Promise<unknown>;
92
- /**
93
- * Set the value of a hash field.
94
- *
95
- * @param key - The hash key
96
- * @param field - The field name
97
- * @param value - The value to set
98
- * @param metadata - Optional trace metadata for diagnostics
99
- * @returns The number of fields that were added
100
- */
101
- hset(key: string, field: string, value: string, metadata?: TraceMetadata): Promise<unknown>;
102
- /**
103
- * Get all fields and values of a hash.
104
- *
105
- * @param key - The hash key
106
- * @param metadata - Optional trace metadata for diagnostics
107
- * @returns Object with all field-value pairs
108
- */
109
- hgetall(key: string, metadata?: TraceMetadata): Promise<unknown>;
110
- /**
111
- * Delete a hash field.
112
- *
113
- * @param key - The hash key
114
- * @param field - The field to delete
115
- * @param metadata - Optional trace metadata for diagnostics
116
- * @returns The number of fields that were removed
117
- */
118
- hdel(key: string, field: string, metadata?: TraceMetadata): Promise<unknown>;
119
- /**
120
- * Set expiration on a key.
121
- *
122
- * @param key - The key to set expiration on
123
- * @param seconds - Time to live in seconds
124
- * @param metadata - Optional trace metadata for diagnostics
125
- * @returns 1 if timeout was set, 0 if key does not exist
126
- */
127
- expire(key: string, seconds: number, metadata?: TraceMetadata): Promise<unknown>;
128
- /**
129
- * Get the remaining time to live of a key.
130
- *
131
- * @param key - The key to check
132
- * @param metadata - Optional trace metadata for diagnostics
133
- * @returns TTL in seconds, -2 if key does not exist, -1 if no expiration
134
- */
135
- ttl(key: string, metadata?: TraceMetadata): Promise<unknown>;
136
- }
137
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/integrations/redis/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,WAAY,SAAQ,qBAAqB;IACxD;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EACP,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D;;;;;;;;OAQG;IACH,GAAG,CACD,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E;;;;;;;;OAQG;IACH,IAAI,CACF,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E;;;;;;;OAOG;IACH,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Redis client types.
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/integrations/redis/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,138 +0,0 @@
1
- # Couchbase Client
2
-
3
- Interact with Couchbase databases with full type safety and runtime validation.
4
-
5
- ## Methods
6
-
7
- | Method | Description |
8
- | ------------------------------------------------ | -------------------------------------------- |
9
- | `query(bucket, sql, schema, params?, metadata?)` | Execute a SQL++ query with schema validation |
10
- | `insert(key, value, identifier, metadata?)` | Insert a document into a collection |
11
- | `get(key, schema, identifier, metadata?)` | Get a document by key with schema validation |
12
- | `remove(key, identifier, metadata?)` | Remove a document by key |
13
-
14
- ## Usage
15
-
16
- ### SQL++ Query
17
-
18
- ```typescript
19
- import { api, z, couchbase } from "@superblocksteam/sdk-api";
20
-
21
- // Integration ID from the integrations panel
22
- const PROD_COUCHBASE = "a1b2c3d4-5678-90ab-cdef-couchbase001";
23
-
24
- const UserSchema = z.object({
25
- id: z.string(),
26
- name: z.string(),
27
- email: z.string(),
28
- });
29
-
30
- export default api({
31
- name: "CouchbaseExample",
32
- integrations: {
33
- cb: couchbase(PROD_COUCHBASE),
34
- },
35
- input: z.object({
36
- status: z.string(),
37
- }),
38
- output: z.object({
39
- users: z.array(UserSchema),
40
- }),
41
- async run(ctx, { status }) {
42
- const users = await ctx.integrations.cb.query(
43
- "my-bucket",
44
- `SELECT META().id, name, email FROM bucket WHERE status = "${status}"`,
45
- UserSchema,
46
- );
47
-
48
- return { users };
49
- },
50
- });
51
- ```
52
-
53
- ### Parameterized Query
54
-
55
- ```typescript
56
- const users = await ctx.integrations.cb.query(
57
- "my-bucket",
58
- "SELECT META().id, name, email FROM bucket WHERE status = $1",
59
- UserSchema,
60
- [status],
61
- );
62
- ```
63
-
64
- ### Insert Document
65
-
66
- ```typescript
67
- await ctx.integrations.cb.insert(
68
- "user::123",
69
- { name: "Alice", email: "alice@example.com", status: "active" },
70
- { bucket: "my-bucket", scope: "_default", collection: "_default" },
71
- );
72
- ```
73
-
74
- ### Get Document
75
-
76
- ```typescript
77
- const UserSchema = z.object({
78
- name: z.string(),
79
- email: z.string(),
80
- status: z.string(),
81
- });
82
-
83
- const user = await ctx.integrations.cb.get("user::123", UserSchema, {
84
- bucket: "my-bucket",
85
- scope: "_default",
86
- collection: "_default",
87
- });
88
- ```
89
-
90
- ### Remove Document
91
-
92
- ```typescript
93
- await ctx.integrations.cb.remove("user::123", {
94
- bucket: "my-bucket",
95
- scope: "_default",
96
- collection: "_default",
97
- });
98
- ```
99
-
100
- ## Trace Metadata
101
-
102
- 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.
103
-
104
- ## Error Handling
105
-
106
- ```typescript
107
- import {
108
- QueryValidationError,
109
- RestApiValidationError,
110
- } from "@superblocksteam/sdk-api";
111
-
112
- try {
113
- const users = await ctx.integrations.cb.query(
114
- "my-bucket",
115
- "SELECT * FROM bucket",
116
- UserSchema,
117
- );
118
- } catch (error) {
119
- if (error instanceof QueryValidationError) {
120
- // Query result row failed schema validation
121
- console.error(
122
- "Row",
123
- error.details.rowIndex,
124
- "failed:",
125
- error.details.errors,
126
- );
127
- }
128
- if (error instanceof RestApiValidationError) {
129
- // Document get result failed schema validation
130
- console.error("Validation failed:", error.details.zodError);
131
- }
132
- }
133
- ```
134
-
135
- ## API Reference
136
-
137
- - [SQL++ Query Language](https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/index.html)
138
- - [Couchbase Key-Value Operations](https://docs.couchbase.com/server/current/learn/data/data.html)