@arcadeai/arcadejs 1.2.1 → 1.4.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 (133) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +2 -2
  3. package/_shims/index.d.ts +2 -0
  4. package/_shims/index.js +5 -1
  5. package/_shims/index.mjs +5 -1
  6. package/core.d.ts +12 -1
  7. package/core.d.ts.map +1 -1
  8. package/core.js +10 -7
  9. package/core.js.map +1 -1
  10. package/core.mjs +11 -8
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +6 -2
  13. package/index.d.ts +6 -2
  14. package/index.d.ts.map +1 -1
  15. package/index.js +8 -0
  16. package/index.js.map +1 -1
  17. package/index.mjs +8 -0
  18. package/index.mjs.map +1 -1
  19. package/internal/qs/formats.d.ts +6 -0
  20. package/internal/qs/formats.d.ts.map +1 -0
  21. package/internal/qs/formats.js +11 -0
  22. package/internal/qs/formats.js.map +1 -0
  23. package/internal/qs/formats.mjs +8 -0
  24. package/internal/qs/formats.mjs.map +1 -0
  25. package/internal/qs/index.d.ts +10 -0
  26. package/internal/qs/index.d.ts.map +1 -0
  27. package/internal/qs/index.js +14 -0
  28. package/internal/qs/index.js.map +1 -0
  29. package/internal/qs/index.mjs +10 -0
  30. package/internal/qs/index.mjs.map +1 -0
  31. package/internal/qs/stringify.d.ts +3 -0
  32. package/internal/qs/stringify.d.ts.map +1 -0
  33. package/internal/qs/stringify.js +280 -0
  34. package/internal/qs/stringify.js.map +1 -0
  35. package/internal/qs/stringify.mjs +276 -0
  36. package/internal/qs/stringify.mjs.map +1 -0
  37. package/internal/qs/types.d.ts +57 -0
  38. package/internal/qs/types.d.ts.map +1 -0
  39. package/internal/qs/types.js +3 -0
  40. package/internal/qs/types.js.map +1 -0
  41. package/internal/qs/types.mjs +2 -0
  42. package/internal/qs/types.mjs.map +1 -0
  43. package/internal/qs/utils.d.ts +14 -0
  44. package/internal/qs/utils.d.ts.map +1 -0
  45. package/internal/qs/utils.js +229 -0
  46. package/internal/qs/utils.js.map +1 -0
  47. package/internal/qs/utils.mjs +217 -0
  48. package/internal/qs/utils.mjs.map +1 -0
  49. package/lib/index.d.ts +3 -0
  50. package/lib/index.d.ts.map +1 -0
  51. package/lib/index.js +19 -0
  52. package/lib/index.js.map +1 -0
  53. package/lib/index.mjs +3 -0
  54. package/lib/index.mjs.map +1 -0
  55. package/lib/zod/types.d.ts +34 -0
  56. package/lib/zod/types.d.ts.map +1 -0
  57. package/lib/zod/types.js +3 -0
  58. package/lib/zod/types.js.map +1 -0
  59. package/lib/zod/types.mjs +2 -0
  60. package/lib/zod/types.mjs.map +1 -0
  61. package/lib/zod/zod.d.ts +55 -0
  62. package/lib/zod/zod.d.ts.map +1 -0
  63. package/lib/zod/zod.js +172 -0
  64. package/lib/zod/zod.js.map +1 -0
  65. package/lib/zod/zod.mjs +162 -0
  66. package/lib/zod/zod.mjs.map +1 -0
  67. package/package.json +10 -30
  68. package/resources/chat.d.ts +2 -0
  69. package/resources/chat.d.ts.map +1 -0
  70. package/resources/chat.js +19 -0
  71. package/resources/chat.js.map +1 -0
  72. package/resources/chat.mjs +3 -0
  73. package/resources/chat.mjs.map +1 -0
  74. package/resources/index.d.ts +2 -1
  75. package/resources/index.d.ts.map +1 -1
  76. package/resources/index.js +4 -1
  77. package/resources/index.js.map +1 -1
  78. package/resources/index.mjs +1 -0
  79. package/resources/index.mjs.map +1 -1
  80. package/resources/tools/index.d.ts +1 -1
  81. package/resources/tools/index.d.ts.map +1 -1
  82. package/resources/tools/index.js.map +1 -1
  83. package/resources/tools/index.mjs.map +1 -1
  84. package/resources/tools/tools.d.ts +21 -4
  85. package/resources/tools/tools.d.ts.map +1 -1
  86. package/resources/tools/tools.js +5 -5
  87. package/resources/tools/tools.js.map +1 -1
  88. package/resources/tools/tools.mjs +5 -5
  89. package/resources/tools/tools.mjs.map +1 -1
  90. package/resources/tools.d.ts +1 -0
  91. package/resources/tools.d.ts.map +1 -1
  92. package/resources/tools.js +17 -0
  93. package/resources/tools.js.map +1 -1
  94. package/resources/tools.mjs +2 -1
  95. package/resources/tools.mjs.map +1 -1
  96. package/resources/workers.d.ts +180 -0
  97. package/resources/workers.d.ts.map +1 -0
  98. package/resources/workers.js +65 -0
  99. package/resources/workers.js.map +1 -0
  100. package/resources/workers.mjs +60 -0
  101. package/resources/workers.mjs.map +1 -0
  102. package/resources.d.ts +2 -0
  103. package/resources.d.ts.map +1 -0
  104. package/resources.js +18 -0
  105. package/resources.js.map +1 -0
  106. package/resources.mjs +2 -0
  107. package/resources.mjs.map +1 -0
  108. package/src/_shims/index.d.ts +2 -0
  109. package/src/_shims/index.js +5 -1
  110. package/src/_shims/index.mjs +5 -1
  111. package/src/core.ts +27 -8
  112. package/src/index.ts +35 -0
  113. package/src/internal/qs/LICENSE.md +13 -0
  114. package/src/internal/qs/README.md +3 -0
  115. package/src/internal/qs/formats.ts +9 -0
  116. package/src/internal/qs/index.ts +13 -0
  117. package/src/internal/qs/stringify.ts +388 -0
  118. package/src/internal/qs/types.ts +71 -0
  119. package/src/internal/qs/utils.ts +265 -0
  120. package/src/lib/index.ts +2 -0
  121. package/src/lib/zod/types.ts +38 -0
  122. package/src/lib/zod/zod.ts +208 -0
  123. package/src/resources/chat.ts +3 -0
  124. package/src/resources/index.ts +13 -0
  125. package/src/resources/tools/index.ts +1 -0
  126. package/src/resources/tools/tools.ts +37 -5
  127. package/src/resources/tools.ts +3 -0
  128. package/src/resources/workers.ts +330 -0
  129. package/src/resources.ts +1 -0
  130. package/src/version.ts +1 -1
  131. package/version.d.ts +1 -1
  132. package/version.js +1 -1
  133. package/version.mjs +1 -1
@@ -0,0 +1,217 @@
1
+ import { RFC1738 } from "./formats.mjs";
2
+ const has = Object.prototype.hasOwnProperty;
3
+ const is_array = Array.isArray;
4
+ const hex_table = (() => {
5
+ const array = [];
6
+ for (let i = 0; i < 256; ++i) {
7
+ array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
8
+ }
9
+ return array;
10
+ })();
11
+ function compact_queue(queue) {
12
+ while (queue.length > 1) {
13
+ const item = queue.pop();
14
+ if (!item)
15
+ continue;
16
+ const obj = item.obj[item.prop];
17
+ if (is_array(obj)) {
18
+ const compacted = [];
19
+ for (let j = 0; j < obj.length; ++j) {
20
+ if (typeof obj[j] !== 'undefined') {
21
+ compacted.push(obj[j]);
22
+ }
23
+ }
24
+ // @ts-ignore
25
+ item.obj[item.prop] = compacted;
26
+ }
27
+ }
28
+ }
29
+ function array_to_object(source, options) {
30
+ const obj = options && options.plainObjects ? Object.create(null) : {};
31
+ for (let i = 0; i < source.length; ++i) {
32
+ if (typeof source[i] !== 'undefined') {
33
+ obj[i] = source[i];
34
+ }
35
+ }
36
+ return obj;
37
+ }
38
+ export function merge(target, source, options = {}) {
39
+ if (!source) {
40
+ return target;
41
+ }
42
+ if (typeof source !== 'object') {
43
+ if (is_array(target)) {
44
+ target.push(source);
45
+ }
46
+ else if (target && typeof target === 'object') {
47
+ if ((options && (options.plainObjects || options.allowPrototypes)) ||
48
+ !has.call(Object.prototype, source)) {
49
+ target[source] = true;
50
+ }
51
+ }
52
+ else {
53
+ return [target, source];
54
+ }
55
+ return target;
56
+ }
57
+ if (!target || typeof target !== 'object') {
58
+ return [target].concat(source);
59
+ }
60
+ let mergeTarget = target;
61
+ if (is_array(target) && !is_array(source)) {
62
+ // @ts-ignore
63
+ mergeTarget = array_to_object(target, options);
64
+ }
65
+ if (is_array(target) && is_array(source)) {
66
+ source.forEach(function (item, i) {
67
+ if (has.call(target, i)) {
68
+ const targetItem = target[i];
69
+ if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
70
+ target[i] = merge(targetItem, item, options);
71
+ }
72
+ else {
73
+ target.push(item);
74
+ }
75
+ }
76
+ else {
77
+ target[i] = item;
78
+ }
79
+ });
80
+ return target;
81
+ }
82
+ return Object.keys(source).reduce(function (acc, key) {
83
+ const value = source[key];
84
+ if (has.call(acc, key)) {
85
+ acc[key] = merge(acc[key], value, options);
86
+ }
87
+ else {
88
+ acc[key] = value;
89
+ }
90
+ return acc;
91
+ }, mergeTarget);
92
+ }
93
+ export function assign_single_source(target, source) {
94
+ return Object.keys(source).reduce(function (acc, key) {
95
+ acc[key] = source[key];
96
+ return acc;
97
+ }, target);
98
+ }
99
+ export function decode(str, _, charset) {
100
+ const strWithoutPlus = str.replace(/\+/g, ' ');
101
+ if (charset === 'iso-8859-1') {
102
+ // unescape never throws, no try...catch needed:
103
+ return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
104
+ }
105
+ // utf-8
106
+ try {
107
+ return decodeURIComponent(strWithoutPlus);
108
+ }
109
+ catch (e) {
110
+ return strWithoutPlus;
111
+ }
112
+ }
113
+ const limit = 1024;
114
+ export const encode = (str, _defaultEncoder, charset, _kind, format) => {
115
+ // This code was originally written by Brian White for the io.js core querystring library.
116
+ // It has been adapted here for stricter adherence to RFC 3986
117
+ if (str.length === 0) {
118
+ return str;
119
+ }
120
+ let string = str;
121
+ if (typeof str === 'symbol') {
122
+ string = Symbol.prototype.toString.call(str);
123
+ }
124
+ else if (typeof str !== 'string') {
125
+ string = String(str);
126
+ }
127
+ if (charset === 'iso-8859-1') {
128
+ return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
129
+ return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
130
+ });
131
+ }
132
+ let out = '';
133
+ for (let j = 0; j < string.length; j += limit) {
134
+ const segment = string.length >= limit ? string.slice(j, j + limit) : string;
135
+ const arr = [];
136
+ for (let i = 0; i < segment.length; ++i) {
137
+ let c = segment.charCodeAt(i);
138
+ if (c === 0x2d || // -
139
+ c === 0x2e || // .
140
+ c === 0x5f || // _
141
+ c === 0x7e || // ~
142
+ (c >= 0x30 && c <= 0x39) || // 0-9
143
+ (c >= 0x41 && c <= 0x5a) || // a-z
144
+ (c >= 0x61 && c <= 0x7a) || // A-Z
145
+ (format === RFC1738 && (c === 0x28 || c === 0x29)) // ( )
146
+ ) {
147
+ arr[arr.length] = segment.charAt(i);
148
+ continue;
149
+ }
150
+ if (c < 0x80) {
151
+ arr[arr.length] = hex_table[c];
152
+ continue;
153
+ }
154
+ if (c < 0x800) {
155
+ arr[arr.length] = hex_table[0xc0 | (c >> 6)] + hex_table[0x80 | (c & 0x3f)];
156
+ continue;
157
+ }
158
+ if (c < 0xd800 || c >= 0xe000) {
159
+ arr[arr.length] =
160
+ hex_table[0xe0 | (c >> 12)] + hex_table[0x80 | ((c >> 6) & 0x3f)] + hex_table[0x80 | (c & 0x3f)];
161
+ continue;
162
+ }
163
+ i += 1;
164
+ c = 0x10000 + (((c & 0x3ff) << 10) | (segment.charCodeAt(i) & 0x3ff));
165
+ arr[arr.length] =
166
+ hex_table[0xf0 | (c >> 18)] +
167
+ hex_table[0x80 | ((c >> 12) & 0x3f)] +
168
+ hex_table[0x80 | ((c >> 6) & 0x3f)] +
169
+ hex_table[0x80 | (c & 0x3f)];
170
+ }
171
+ out += arr.join('');
172
+ }
173
+ return out;
174
+ };
175
+ export function compact(value) {
176
+ const queue = [{ obj: { o: value }, prop: 'o' }];
177
+ const refs = [];
178
+ for (let i = 0; i < queue.length; ++i) {
179
+ const item = queue[i];
180
+ // @ts-ignore
181
+ const obj = item.obj[item.prop];
182
+ const keys = Object.keys(obj);
183
+ for (let j = 0; j < keys.length; ++j) {
184
+ const key = keys[j];
185
+ const val = obj[key];
186
+ if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
187
+ queue.push({ obj: obj, prop: key });
188
+ refs.push(val);
189
+ }
190
+ }
191
+ }
192
+ compact_queue(queue);
193
+ return value;
194
+ }
195
+ export function is_regexp(obj) {
196
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
197
+ }
198
+ export function is_buffer(obj) {
199
+ if (!obj || typeof obj !== 'object') {
200
+ return false;
201
+ }
202
+ return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
203
+ }
204
+ export function combine(a, b) {
205
+ return [].concat(a, b);
206
+ }
207
+ export function maybe_map(val, fn) {
208
+ if (is_array(val)) {
209
+ const mapped = [];
210
+ for (let i = 0; i < val.length; i += 1) {
211
+ mapped.push(fn(val[i]));
212
+ }
213
+ return mapped;
214
+ }
215
+ return fn(val);
216
+ }
217
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../src/internal/qs/utils.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./zod/types.js";
2
+ export * from "./zod/zod.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./zod/types.js"), exports);
18
+ __exportStar(require("./zod/zod.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA4B;AAC5B,+CAA0B"}
package/lib/index.mjs ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./zod/types.mjs";
2
+ export * from "./zod/zod.mjs";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { AuthorizationResponse } from "../../resources/shared.js";
2
+ import { ExecuteToolResponse } from "../../resources/tools/tools.js";
3
+ import { z } from 'zod';
4
+ /**
5
+ * Response returned when a tool requires authorization before execution
6
+ */
7
+ export interface ToolAuthorizationResponse {
8
+ authorization_required: true;
9
+ authorization_response: AuthorizationResponse;
10
+ url: string;
11
+ message: string;
12
+ }
13
+ /**
14
+ * Represents a tool with Zod schema validation and execution capabilities.
15
+ */
16
+ export interface ZodTool {
17
+ name: string;
18
+ description: string | undefined;
19
+ parameters: z.ZodType;
20
+ output: z.ZodType | undefined;
21
+ execute: <T extends unknown>(input: T) => Promise<ExecuteToolResponse>;
22
+ executeOrAuthorize: <T extends unknown>(input: T) => Promise<ExecuteToolResponse | ToolAuthorizationResponse>;
23
+ }
24
+ /**
25
+ * Schema definition for an Arcade tool, containing the tool's name,
26
+ * description, and Zod-validated parameter structure.
27
+ */
28
+ export interface ZodToolSchema {
29
+ name: string;
30
+ description: string | undefined;
31
+ parameters: z.ZodType;
32
+ output: z.ZodType | undefined;
33
+ }
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/zod/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,sBAAsB,EAAE,IAAI,CAAC;IAC7B,sBAAsB,EAAE,qBAAqB,CAAC;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvE,kBAAkB,EAAE,CAAC,CAAC,SAAS,OAAO,EACpC,KAAK,EAAE,CAAC,KACL,OAAO,CAAC,mBAAmB,GAAG,yBAAyB,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;CAC/B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/zod/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/lib/zod/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { ToolDefinition } from "../../resources/tools/tools.js";
2
+ import { ZodTool, ZodToolSchema } from "./types.js";
3
+ import { z } from 'zod';
4
+ import { type Arcade } from "../../index.js";
5
+ /**
6
+ * Checks if an error indicates that authorization for the tool is required
7
+ */
8
+ export declare function isAuthorizationRequiredError(error: Error): boolean;
9
+ /**
10
+ * Converts Arcade Tool Input to Zod schema
11
+ */
12
+ export declare function convertParametersToZodSchema(parameters: ToolDefinition.Input): z.ZodType;
13
+ /**
14
+ * Converts Arcade Tool Output to Zod schema
15
+ */
16
+ export declare function convertOutputToZodSchema(output: ToolDefinition.Output): z.ZodType;
17
+ /**
18
+ * Converts a single tool to a Zod-validated tool schema
19
+ * @param tool - The tool to convert
20
+ * @returns Zod-validated tool schema
21
+ * @throws ToolConversionError if the tool is invalid
22
+ */
23
+ export declare function convertSingleToolToSchema(tool: ToolDefinition): ZodToolSchema;
24
+ /**
25
+ * Converts OpenAI formatted tools to Zod-validated tool schemas
26
+ * @param tools - Array of formatted tools
27
+ * @returns Array of Zod-validated tool schemas
28
+ */
29
+ export declare function toZodSchema(tools: ToolDefinition[]): ZodToolSchema[];
30
+ /**
31
+ * Converts a single tool to a full tool with execution capabilities
32
+ * @param tool - The tool to convert
33
+ * @param client - Arcade client instance
34
+ * @param userId - User ID to use for the tool execution
35
+ * @returns Zod-validated tool with execution methods
36
+ * @throws ToolConversionError if the tool is invalid
37
+ */
38
+ export declare function createZodTool({ tool, client, userId, }: {
39
+ tool: ToolDefinition;
40
+ client: Arcade;
41
+ userId: string;
42
+ }): ZodTool;
43
+ /**
44
+ * Converts formatted tools to full tools with execution capabilities
45
+ * @param tools - Array of formatted tools
46
+ * @param client - Arcade client instance
47
+ * @param userId - User ID to use for the tool execution
48
+ * @returns Array of Zod-validated tools with execution methods
49
+ */
50
+ export declare function toZod({ tools, client, userId, }: {
51
+ tools: ToolDefinition[];
52
+ client: Arcade;
53
+ userId: string;
54
+ }): ZodTool[];
55
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/lib/zod/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAA6B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAMlE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAmBxF;AAyCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAMjF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAU7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,MAAM,EACN,MAAM,GACP,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAuDV;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,MAAM,EACN,MAAM,GACP,EAAE;IACD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,EAAE,CAEZ"}
package/lib/zod/zod.js ADDED
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toZod = exports.createZodTool = exports.toZodSchema = exports.convertSingleToolToSchema = exports.convertOutputToZodSchema = exports.convertParametersToZodSchema = exports.isAuthorizationRequiredError = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Checks if an error indicates that authorization for the tool is required
7
+ */
8
+ function isAuthorizationRequiredError(error) {
9
+ return (error?.name === 'PermissionDeniedError' ||
10
+ error?.message?.includes('permission denied') ||
11
+ error?.message?.includes('authorization required'));
12
+ }
13
+ exports.isAuthorizationRequiredError = isAuthorizationRequiredError;
14
+ /**
15
+ * Converts Arcade Tool Input to Zod schema
16
+ */
17
+ function convertParametersToZodSchema(parameters) {
18
+ if (!parameters.parameters || !Array.isArray(parameters.parameters)) {
19
+ return zod_1.z.object({});
20
+ }
21
+ const schemaObj = {};
22
+ for (const param of parameters.parameters) {
23
+ const { name, required, value_schema } = param;
24
+ let zodType = convertValueSchemaToZod(value_schema);
25
+ if (!required) {
26
+ zodType = zodType.optional();
27
+ }
28
+ schemaObj[name] = zodType;
29
+ }
30
+ return zod_1.z.object(schemaObj);
31
+ }
32
+ exports.convertParametersToZodSchema = convertParametersToZodSchema;
33
+ /**
34
+ * Converts a value schema to Zod type
35
+ */
36
+ function convertValueSchemaToZod(schema) {
37
+ let baseType;
38
+ switch (schema.val_type) {
39
+ case 'string':
40
+ baseType = schema.enum ? zod_1.z.enum(schema.enum) : zod_1.z.string();
41
+ break;
42
+ case 'integer':
43
+ baseType = zod_1.z.number().int();
44
+ break;
45
+ case 'number':
46
+ baseType = zod_1.z.number();
47
+ break;
48
+ case 'boolean':
49
+ baseType = zod_1.z.boolean();
50
+ break;
51
+ case 'json':
52
+ baseType = zod_1.z.any();
53
+ break;
54
+ case 'array':
55
+ if (!schema.inner_val_type) {
56
+ throw new Error('Array type must have inner_val_type specified');
57
+ }
58
+ baseType = zod_1.z.array(convertValueSchemaToZod({ val_type: schema.inner_val_type }));
59
+ break;
60
+ default:
61
+ throw new Error(`Unsupported value type: ${schema.val_type}`);
62
+ }
63
+ return baseType;
64
+ }
65
+ /**
66
+ * Converts Arcade Tool Output to Zod schema
67
+ */
68
+ function convertOutputToZodSchema(output) {
69
+ if (!output.value_schema) {
70
+ return zod_1.z.any();
71
+ }
72
+ return convertValueSchemaToZod(output.value_schema);
73
+ }
74
+ exports.convertOutputToZodSchema = convertOutputToZodSchema;
75
+ /**
76
+ * Converts a single tool to a Zod-validated tool schema
77
+ * @param tool - The tool to convert
78
+ * @returns Zod-validated tool schema
79
+ * @throws ToolConversionError if the tool is invalid
80
+ */
81
+ function convertSingleToolToSchema(tool) {
82
+ const { qualified_name, description, input, output } = tool;
83
+ const zodParameters = convertParametersToZodSchema(input);
84
+ const zodOutput = output ? convertOutputToZodSchema(output) : undefined;
85
+ return {
86
+ name: qualified_name.replace(/\./g, '_'),
87
+ description,
88
+ parameters: zodParameters,
89
+ output: zodOutput,
90
+ };
91
+ }
92
+ exports.convertSingleToolToSchema = convertSingleToolToSchema;
93
+ /**
94
+ * Converts OpenAI formatted tools to Zod-validated tool schemas
95
+ * @param tools - Array of formatted tools
96
+ * @returns Array of Zod-validated tool schemas
97
+ */
98
+ function toZodSchema(tools) {
99
+ return tools.map(convertSingleToolToSchema);
100
+ }
101
+ exports.toZodSchema = toZodSchema;
102
+ /**
103
+ * Converts a single tool to a full tool with execution capabilities
104
+ * @param tool - The tool to convert
105
+ * @param client - Arcade client instance
106
+ * @param userId - User ID to use for the tool execution
107
+ * @returns Zod-validated tool with execution methods
108
+ * @throws ToolConversionError if the tool is invalid
109
+ */
110
+ function createZodTool({ tool, client, userId, }) {
111
+ const schema = convertSingleToolToSchema(tool);
112
+ const { name, description, parameters, output } = schema;
113
+ return {
114
+ name,
115
+ description,
116
+ parameters,
117
+ output,
118
+ execute: async (input) => {
119
+ const validationResult = parameters.safeParse(input);
120
+ if (!validationResult.success) {
121
+ throw new Error(`Invalid input: ${validationResult.error.message}`);
122
+ }
123
+ return client.tools.execute({
124
+ tool_name: name,
125
+ input: validationResult.data,
126
+ user_id: userId,
127
+ });
128
+ },
129
+ executeOrAuthorize: async (input) => {
130
+ const validationResult = parameters.safeParse(input);
131
+ if (!validationResult.success) {
132
+ throw new Error(`Invalid input: ${validationResult.error.message}`);
133
+ }
134
+ try {
135
+ return await client.tools.execute({
136
+ tool_name: name,
137
+ input: validationResult.data,
138
+ user_id: userId,
139
+ });
140
+ }
141
+ catch (error) {
142
+ if (error instanceof Error && isAuthorizationRequiredError(error)) {
143
+ const response = (await client.tools.authorize({
144
+ tool_name: name,
145
+ user_id: userId,
146
+ }));
147
+ return {
148
+ authorization_required: true,
149
+ authorization_response: response,
150
+ url: response.url,
151
+ message: 'This tool requires authorization. Please visit the following URL to authorize the tool: ' +
152
+ response.url,
153
+ };
154
+ }
155
+ throw error;
156
+ }
157
+ },
158
+ };
159
+ }
160
+ exports.createZodTool = createZodTool;
161
+ /**
162
+ * Converts formatted tools to full tools with execution capabilities
163
+ * @param tools - Array of formatted tools
164
+ * @param client - Arcade client instance
165
+ * @param userId - User ID to use for the tool execution
166
+ * @returns Array of Zod-validated tools with execution methods
167
+ */
168
+ function toZod({ tools, client, userId, }) {
169
+ return tools.map((tool) => createZodTool({ tool, client, userId }));
170
+ }
171
+ exports.toZod = toZod;
172
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/lib/zod/zod.ts"],"names":[],"mappings":"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"}