@agents24/node 0.1.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 (50) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/compatibility.json +54 -0
  4. package/dist/artifacts.cjs +138 -0
  5. package/dist/artifacts.cjs.map +1 -0
  6. package/dist/artifacts.d.cts +76 -0
  7. package/dist/artifacts.d.ts +76 -0
  8. package/dist/artifacts.js +130 -0
  9. package/dist/artifacts.js.map +1 -0
  10. package/dist/index.cjs +733 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.d.cts +564 -0
  13. package/dist/index.d.ts +564 -0
  14. package/dist/index.js +667 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/server.cjs +275 -0
  17. package/dist/server.cjs.map +1 -0
  18. package/dist/server.d.cts +47 -0
  19. package/dist/server.d.ts +47 -0
  20. package/dist/server.js +271 -0
  21. package/dist/server.js.map +1 -0
  22. package/dist/types/agents.d.ts +28 -0
  23. package/dist/types/agents.d.ts.map +1 -0
  24. package/dist/types/artifacts.d.ts +75 -0
  25. package/dist/types/artifacts.d.ts.map +1 -0
  26. package/dist/types/builders.d.ts +27 -0
  27. package/dist/types/builders.d.ts.map +1 -0
  28. package/dist/types/client-runtime-admin.d.ts +17 -0
  29. package/dist/types/client-runtime-admin.d.ts.map +1 -0
  30. package/dist/types/client.d.ts +17 -0
  31. package/dist/types/client.d.ts.map +1 -0
  32. package/dist/types/embed.d.ts +22 -0
  33. package/dist/types/embed.d.ts.map +1 -0
  34. package/dist/types/errors.d.ts +17 -0
  35. package/dist/types/errors.d.ts.map +1 -0
  36. package/dist/types/generated/manifest.d.ts +3 -0
  37. package/dist/types/generated/manifest.d.ts.map +1 -0
  38. package/dist/types/http.d.ts +25 -0
  39. package/dist/types/http.d.ts.map +1 -0
  40. package/dist/types/index.d.ts +10 -0
  41. package/dist/types/index.d.ts.map +1 -0
  42. package/dist/types/runs.d.ts +17 -0
  43. package/dist/types/runs.d.ts.map +1 -0
  44. package/dist/types/server.d.ts +45 -0
  45. package/dist/types/server.d.ts.map +1 -0
  46. package/dist/types/streams.d.ts +4 -0
  47. package/dist/types/streams.d.ts.map +1 -0
  48. package/dist/types/types.d.ts +409 -0
  49. package/dist/types/types.d.ts.map +1 -0
  50. package/package.json +85 -0
package/dist/server.js ADDED
@@ -0,0 +1,271 @@
1
+ import { Buffer } from 'buffer';
2
+ import { createHmac, timingSafeEqual, createHash } from 'crypto';
3
+ import { createServer } from 'http';
4
+
5
+ // src/server.ts
6
+
7
+ // src/artifacts-runtime.mjs
8
+ function entries(input) {
9
+ if (Array.isArray(input)) return input.map((item) => [null, item]);
10
+ return input && typeof input === "object" ? Object.entries(input) : [];
11
+ }
12
+ function normalizedExports(definition) {
13
+ const exports = [];
14
+ const namesByObject = /* @__PURE__ */ new Map();
15
+ for (const source of [definition.tools, definition.agentNodes, definition.ragOperators]) {
16
+ for (const [mappedName, raw] of entries(source)) {
17
+ if (!raw || typeof raw !== "object") throw new TypeError("Artifact exports must use tool, agentNode, or ragOperator");
18
+ const name = raw.__agents24ExplicitName ? raw.name.trim() : String(mappedName || raw.name || "").trim();
19
+ if (!name) throw new TypeError("Artifact exports require a name");
20
+ exports.push({ ...raw, name, handler_ref: raw.handler_ref || name });
21
+ namesByObject.set(raw, [...namesByObject.get(raw) || [], name]);
22
+ }
23
+ }
24
+ const names = exports.map((item) => item.name);
25
+ const duplicate = names.find((name, index) => names.indexOf(name) !== index);
26
+ if (duplicate) throw new TypeError(`Duplicate artifact export name '${duplicate}'`);
27
+ return { exports, namesByObject };
28
+ }
29
+ function normalizedToolsets(input, exports, namesByObject) {
30
+ if (input == null) return [];
31
+ if (Array.isArray(input) || typeof input !== "object") {
32
+ throw new TypeError("TypeScript artifact toolsets must be an object keyed by stable source key");
33
+ }
34
+ const tools = new Set(exports.filter((item) => item.kind === "tool").map((item) => item.name));
35
+ const seenNames = /* @__PURE__ */ new Set();
36
+ return Object.entries(input).map(([key, value]) => {
37
+ if (!key.trim()) throw new TypeError("Artifact toolset keys cannot be empty");
38
+ if (!value?.__agents24Toolset) throw new TypeError(`Toolset '${key}' must use toolset()`);
39
+ if (!value.name || !value.description || !value.tools.length) {
40
+ throw new TypeError(`Toolset '${key}' requires a name, description, and tool`);
41
+ }
42
+ const folded = value.name.toLocaleLowerCase();
43
+ if (seenNames.has(folded)) throw new TypeError(`Duplicate artifact toolset name '${value.name}'`);
44
+ seenNames.add(folded);
45
+ const members = value.tools.map((reference) => {
46
+ if (typeof reference === "string") return reference.trim();
47
+ const aliases = namesByObject.get(reference) || [];
48
+ if (aliases.length !== 1) throw new TypeError(`Toolset '${key}' contains an unresolved or ambiguous tool reference`);
49
+ return aliases[0];
50
+ });
51
+ if (new Set(members).size !== members.length) throw new TypeError(`Toolset '${key}' contains duplicate tools`);
52
+ for (const member of members) {
53
+ if (!tools.has(member)) throw new TypeError(`Toolset '${key}' references missing or non-tool export '${member}'`);
54
+ }
55
+ return { key, name: value.name, description: value.description, tools: members };
56
+ });
57
+ }
58
+ function defineArtifact(definition = {}) {
59
+ const normalized = normalizedExports(definition);
60
+ return {
61
+ __agents24Artifact: true,
62
+ exports: normalized.exports,
63
+ toolsets: normalizedToolsets(definition.toolsets, normalized.exports, normalized.namesByObject),
64
+ __agents24ToolsetsDeclared: definition.toolsets != null
65
+ };
66
+ }
67
+ function describeArtifact(value) {
68
+ const artifact = value && value.__agents24Artifact ? value : defineArtifact(value || {});
69
+ return artifact.exports.map(({ handler: _handler, ...item }) => item);
70
+ }
71
+ function describeArtifactContract(value) {
72
+ const artifact = value && value.__agents24Artifact ? value : defineArtifact(value || {});
73
+ return { exports: describeArtifact(artifact), toolsets: artifact.toolsets.map((item) => ({ ...item })) };
74
+ }
75
+
76
+ // src/artifacts.ts
77
+ var defineArtifact2 = defineArtifact;
78
+ var describeArtifactContract2 = describeArtifactContract;
79
+
80
+ // src/server.ts
81
+ var DEFAULT_MANIFEST_PATH = "/.well-known/agents24/artifact";
82
+ var DEFAULT_HEALTH_PATH = "/.well-known/agents24/artifact/health";
83
+ var DEFAULT_INVOKE_PATH = "/agents24/artifact/invoke";
84
+ function sorted(value) {
85
+ if (Array.isArray(value)) return value.map(sorted);
86
+ if (value && typeof value === "object") {
87
+ return Object.keys(value).sort().reduce((result, key) => {
88
+ result[key] = sorted(value[key]);
89
+ return result;
90
+ }, {});
91
+ }
92
+ return value;
93
+ }
94
+ function artifactFromExports(exportsValue, toolsetsValue) {
95
+ if (exportsValue && typeof exportsValue === "object" && exportsValue.__agents24Artifact) {
96
+ if (toolsetsValue != null) throw new TypeError("Pass toolsets through defineArtifact or the toolsets option, not both");
97
+ return exportsValue;
98
+ }
99
+ if (Array.isArray(exportsValue)) {
100
+ return defineArtifact2({
101
+ tools: Object.fromEntries(exportsValue.map((item, index) => [String(item.name || index), item])),
102
+ toolsets: toolsetsValue
103
+ });
104
+ }
105
+ if (exportsValue && typeof exportsValue === "object") {
106
+ const record = exportsValue;
107
+ if ("tools" in record || "agentNodes" in record || "ragOperators" in record) {
108
+ return defineArtifact2({ ...record, toolsets: toolsetsValue ?? record.toolsets });
109
+ }
110
+ return defineArtifact2({ tools: record, toolsets: toolsetsValue });
111
+ }
112
+ return defineArtifact2({ toolsets: toolsetsValue });
113
+ }
114
+ function contractExport(item) {
115
+ return {
116
+ export_name: item.export_name || item.name,
117
+ export_kind: item.export_kind || item.kind,
118
+ description: item.description || "",
119
+ input_schema: item.input_schema || {},
120
+ output_schema: item.output_schema || {},
121
+ config_schema: item.config_schema || {},
122
+ ui_schema: item.ui_schema || {},
123
+ side_effects: item.side_effects || [],
124
+ execution_mode: item.execution_mode || "interactive",
125
+ handler_ref: item.handler_ref || item.name,
126
+ metadata: item.metadata || {}
127
+ };
128
+ }
129
+ function manifest(artifact) {
130
+ const described = describeArtifactContract2(artifact);
131
+ const contract = {
132
+ schema_version: "agents24.artifact.v1",
133
+ exports: described.exports.map((item) => contractExport(item)),
134
+ ...artifact.__agents24ToolsetsDeclared ? { toolsets: described.toolsets } : {}
135
+ };
136
+ return {
137
+ ...contract,
138
+ manifest_hash: createHash("sha256").update(JSON.stringify(sorted(contract))).digest("hex")
139
+ };
140
+ }
141
+ function json(payload, init = {}) {
142
+ return new Response(JSON.stringify(payload), {
143
+ ...init,
144
+ headers: { "content-type": "application/json", ...init.headers || {} }
145
+ });
146
+ }
147
+ function signArtifactPayload(input) {
148
+ const timestamp = String(input.timestamp || Date.now());
149
+ const signature = createHmac("sha256", input.signingSecret).update(`${timestamp}.${input.body}`).digest("hex");
150
+ return { "x-agents24-timestamp": timestamp, "x-agents24-signature": `sha256=${signature}` };
151
+ }
152
+ function verifyArtifactSignature(input) {
153
+ const timestamp = String(input.timestamp || "").trim();
154
+ const signature = String(input.signature || "").trim();
155
+ const parsed = Number(timestamp);
156
+ if (!timestamp || !signature || !Number.isFinite(parsed)) return false;
157
+ if (Math.abs(Date.now() - parsed) > (input.toleranceMs ?? 5 * 60 * 1e3)) return false;
158
+ const expected = signArtifactPayload({ body: input.body, signingSecret: input.signingSecret, timestamp })["x-agents24-signature"];
159
+ const actualBytes = Buffer.from(signature);
160
+ const expectedBytes = Buffer.from(expected);
161
+ return actualBytes.length === expectedBytes.length && timingSafeEqual(actualBytes, expectedBytes);
162
+ }
163
+ async function requestBody(req) {
164
+ const chunks = [];
165
+ for await (const chunk of req) chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
166
+ return Buffer.concat(chunks);
167
+ }
168
+ async function writeResponse(res, response) {
169
+ res.statusCode = response.status;
170
+ response.headers.forEach((value, key) => res.setHeader(key, value));
171
+ res.end(Buffer.from(await response.arrayBuffer()));
172
+ }
173
+ function createArtifactServer(options) {
174
+ if (!options.signingSecret) throw new Error("createArtifactServer requires signingSecret");
175
+ const manifestPath = options.manifestPath || DEFAULT_MANIFEST_PATH;
176
+ const healthPath = DEFAULT_HEALTH_PATH;
177
+ const invokePath = options.invokePath || DEFAULT_INVOKE_PATH;
178
+ let artifact = artifactFromExports(options.exports, options.toolsets);
179
+ function setExports(next) {
180
+ artifact = artifactFromExports(next);
181
+ }
182
+ async function handleRequest(request) {
183
+ const url = new URL(request.url);
184
+ if (request.method === "GET" && url.pathname === healthPath) return json({ status: "ok", service: "agents24-artifact" });
185
+ if (request.method === "GET" && url.pathname === manifestPath) return json(manifest(artifact));
186
+ if (request.method !== "POST" || url.pathname !== invokePath) return json({ error: "Not found", code: "NOT_FOUND" }, { status: 404 });
187
+ const body = await request.text();
188
+ if (!verifyArtifactSignature({
189
+ body,
190
+ signingSecret: options.signingSecret,
191
+ timestamp: request.headers.get("x-agents24-timestamp"),
192
+ signature: request.headers.get("x-agents24-signature")
193
+ })) {
194
+ return json({ status: "failed", error: { message: "Invalid artifact invocation signature", code: "INVALID_SIGNATURE" } }, { status: 401 });
195
+ }
196
+ let payload;
197
+ try {
198
+ payload = JSON.parse(body);
199
+ } catch {
200
+ return json({ status: "failed", error: { message: "Invalid JSON body", code: "INVALID_JSON" } }, { status: 400 });
201
+ }
202
+ const exportName = String(payload.export_name || "default");
203
+ const selected = artifact.exports.find((item) => item.name === exportName);
204
+ if (!selected) return json({ status: "failed", error: { message: `Artifact export '${exportName}' was not found`, code: "EXPORT_NOT_FOUND" } });
205
+ if (selected.kind !== "tool") return json({ status: "failed", error: { message: "Self-hosted artifact server can invoke tool exports only", code: "UNSUPPORTED_EXPORT_KIND" } });
206
+ if (typeof selected.handler !== "function") return json({ status: "failed", error: { message: `Artifact export '${exportName}' has no handler`, code: "HANDLER_NOT_FOUND" } });
207
+ const started = Date.now();
208
+ try {
209
+ const result = await selected.handler(payload.inputs, payload.config || {}, payload.context || {});
210
+ return json({
211
+ status: "completed",
212
+ result,
213
+ error: null,
214
+ duration_ms: Date.now() - started,
215
+ worker_id: "agents24-node-server",
216
+ dispatch_request_id: payload.run_id || null,
217
+ events: [],
218
+ runtime_metadata: { provider: "agents24_node_server" }
219
+ });
220
+ } catch (error) {
221
+ return json({
222
+ status: "failed",
223
+ error: { message: error instanceof Error ? error.message : String(error), code: "HANDLER_FAILED" },
224
+ duration_ms: Date.now() - started,
225
+ worker_id: "agents24-node-server",
226
+ dispatch_request_id: payload.run_id || null,
227
+ events: [],
228
+ runtime_metadata: { provider: "agents24_node_server" }
229
+ });
230
+ }
231
+ }
232
+ async function nodeHandler(req, res) {
233
+ const body = await requestBody(req);
234
+ const request = new Request(`http://${req.headers.host || "127.0.0.1"}${req.url || "/"}`, {
235
+ method: req.method,
236
+ headers: req.headers,
237
+ body: body.length ? body.toString("utf8") : void 0
238
+ });
239
+ await writeResponse(res, await handleRequest(request));
240
+ }
241
+ function listen(port = 0, hostname = "127.0.0.1") {
242
+ const server = createServer((req, res) => {
243
+ void nodeHandler(req, res).catch((error) => {
244
+ res.statusCode = 500;
245
+ res.setHeader("content-type", "application/json");
246
+ res.end(JSON.stringify({ status: "failed", error: { message: String(error), code: "SERVER_ERROR" } }));
247
+ });
248
+ });
249
+ return new Promise((resolve, reject) => {
250
+ server.once("error", reject);
251
+ server.listen(port, hostname, () => {
252
+ server.off("error", reject);
253
+ resolve(server);
254
+ });
255
+ });
256
+ }
257
+ return {
258
+ manifestPath,
259
+ healthPath,
260
+ invokePath,
261
+ setExports,
262
+ manifest: () => manifest(artifact),
263
+ handleRequest,
264
+ nodeHandler,
265
+ listen
266
+ };
267
+ }
268
+
269
+ export { createArtifactServer, signArtifactPayload, verifyArtifactSignature };
270
+ //# sourceMappingURL=server.js.map
271
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/artifacts-runtime.mjs","../src/artifacts.ts","../src/server.ts"],"names":["defineArtifact","describeArtifactContract"],"mappings":"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","file":"server.js","sourcesContent":["function schema(value) {\n if (value == null) return {};\n if (typeof value.toJSONSchema === \"function\") return value.toJSONSchema();\n if (typeof value.toJsonSchema === \"function\") return value.toJsonSchema();\n if (typeof value === \"object\") {\n if (typeof value.parse === \"function\" && typeof value.safeParse === \"function\" && value._zod) {\n throw new TypeError(\"Zod schemas must expose toJSONSchema(); install Zod v4 or pass z.toJSONSchema(schema)\");\n }\n return value;\n }\n throw new TypeError(\"schema must be a JSON Schema object or expose toJSONSchema()\");\n}\n\nfunction normalize(kind, definition = {}, handler) {\n const actualHandler = handler || definition.handler || definition.execute;\n const explicitName = String(definition.name || \"\").trim();\n const name = explicitName || String(actualHandler?.name || \"\").trim();\n const value = {\n name,\n kind,\n description: definition.description || \"\",\n input_schema: schema(definition.input_schema || definition.inputSchema || definition.input),\n output_schema: schema(definition.output_schema || definition.outputSchema || definition.output),\n config_schema: schema(definition.config_schema || definition.configSchema || definition.config),\n ui_schema: definition.ui_schema || definition.uiSchema || definition.ui || {},\n side_effects: definition.side_effects || definition.sideEffects || [],\n execution_mode: definition.execution_mode || definition.executionMode || \"interactive\",\n handler_ref: definition.handler_ref || definition.handlerRef || actualHandler?.name || name,\n handler: actualHandler,\n };\n Object.defineProperty(value, \"__agents24ExplicitName\", { value: Boolean(explicitName), enumerable: false });\n return value;\n}\n\nexport function tool(definition = {}, handler) {\n return normalize(\"tool\", definition, handler);\n}\n\nexport function agentNode(definition = {}, handler) {\n return normalize(\"agent_node\", definition, handler);\n}\n\nexport function ragOperator(definition = {}, handler) {\n return normalize(\"rag_operator\", definition, handler);\n}\n\nexport function toolset(definition = {}) {\n return {\n __agents24Toolset: true,\n name: String(definition.name || \"\").trim(),\n description: String(definition.description || \"\").trim(),\n tools: Array.isArray(definition.tools) ? definition.tools : [],\n };\n}\n\nfunction entries(input) {\n if (Array.isArray(input)) return input.map((item) => [null, item]);\n return input && typeof input === \"object\" ? Object.entries(input) : [];\n}\n\nfunction normalizedExports(definition) {\n const exports = [];\n const namesByObject = new Map();\n for (const source of [definition.tools, definition.agentNodes, definition.ragOperators]) {\n for (const [mappedName, raw] of entries(source)) {\n if (!raw || typeof raw !== \"object\") throw new TypeError(\"Artifact exports must use tool, agentNode, or ragOperator\");\n const name = raw.__agents24ExplicitName ? raw.name.trim() : String(mappedName || raw.name || \"\").trim();\n if (!name) throw new TypeError(\"Artifact exports require a name\");\n exports.push({ ...raw, name, handler_ref: raw.handler_ref || name });\n namesByObject.set(raw, [...(namesByObject.get(raw) || []), name]);\n }\n }\n const names = exports.map((item) => item.name);\n const duplicate = names.find((name, index) => names.indexOf(name) !== index);\n if (duplicate) throw new TypeError(`Duplicate artifact export name '${duplicate}'`);\n return { exports, namesByObject };\n}\n\nfunction normalizedToolsets(input, exports, namesByObject) {\n if (input == null) return [];\n if (Array.isArray(input) || typeof input !== \"object\") {\n throw new TypeError(\"TypeScript artifact toolsets must be an object keyed by stable source key\");\n }\n const tools = new Set(exports.filter((item) => item.kind === \"tool\").map((item) => item.name));\n const seenNames = new Set();\n return Object.entries(input).map(([key, value]) => {\n if (!key.trim()) throw new TypeError(\"Artifact toolset keys cannot be empty\");\n if (!value?.__agents24Toolset) throw new TypeError(`Toolset '${key}' must use toolset()`);\n if (!value.name || !value.description || !value.tools.length) {\n throw new TypeError(`Toolset '${key}' requires a name, description, and tool`);\n }\n const folded = value.name.toLocaleLowerCase();\n if (seenNames.has(folded)) throw new TypeError(`Duplicate artifact toolset name '${value.name}'`);\n seenNames.add(folded);\n const members = value.tools.map((reference) => {\n if (typeof reference === \"string\") return reference.trim();\n const aliases = namesByObject.get(reference) || [];\n if (aliases.length !== 1) throw new TypeError(`Toolset '${key}' contains an unresolved or ambiguous tool reference`);\n return aliases[0];\n });\n if (new Set(members).size !== members.length) throw new TypeError(`Toolset '${key}' contains duplicate tools`);\n for (const member of members) {\n if (!tools.has(member)) throw new TypeError(`Toolset '${key}' references missing or non-tool export '${member}'`);\n }\n return { key, name: value.name, description: value.description, tools: members };\n });\n}\n\nexport function defineArtifact(definition = {}) {\n const normalized = normalizedExports(definition);\n return {\n __agents24Artifact: true,\n exports: normalized.exports,\n toolsets: normalizedToolsets(definition.toolsets, normalized.exports, normalized.namesByObject),\n __agents24ToolsetsDeclared: definition.toolsets != null,\n };\n}\n\nexport function describeArtifact(value) {\n const artifact = value && value.__agents24Artifact ? value : defineArtifact(value || {});\n return artifact.exports.map(({ handler: _handler, ...item }) => item);\n}\n\nexport function describeArtifactContract(value) {\n const artifact = value && value.__agents24Artifact ? value : defineArtifact(value || {});\n return { exports: describeArtifact(artifact), toolsets: artifact.toolsets.map((item) => ({ ...item })) };\n}\n","// The executable implementation is JavaScript so the platform can inject the\n// exact same source into Worker describe/build sandboxes without transpilation.\n// @ts-expect-error package-internal JavaScript runtime has typed bindings below\nimport * as runtime from \"./artifacts-runtime.mjs\";\n\nexport type JsonSchemaSource = Record<string, unknown> | {\n toJSONSchema?: () => Record<string, unknown>;\n toJsonSchema?: () => Record<string, unknown>;\n};\n\nexport type ArtifactHandler = (\n input: unknown,\n config: Record<string, unknown>,\n context: Record<string, unknown>,\n) => unknown | Promise<unknown>;\n\nexport type ArtifactExportDefinition = {\n name?: string;\n description?: string;\n input_schema?: JsonSchemaSource;\n inputSchema?: JsonSchemaSource;\n input?: JsonSchemaSource;\n output_schema?: JsonSchemaSource;\n outputSchema?: JsonSchemaSource;\n output?: JsonSchemaSource;\n config_schema?: JsonSchemaSource;\n configSchema?: JsonSchemaSource;\n config?: JsonSchemaSource;\n ui_schema?: Record<string, unknown>;\n uiSchema?: Record<string, unknown>;\n ui?: Record<string, unknown>;\n side_effects?: string[];\n sideEffects?: string[];\n execution_mode?: string;\n executionMode?: string;\n handler_ref?: string;\n handlerRef?: string;\n handler?: ArtifactHandler;\n execute?: ArtifactHandler;\n};\n\nexport type ArtifactExport = {\n name: string;\n kind: \"tool\" | \"agent_node\" | \"rag_operator\";\n description: string;\n input_schema: Record<string, unknown>;\n output_schema: Record<string, unknown>;\n config_schema: Record<string, unknown>;\n ui_schema: Record<string, unknown>;\n side_effects: string[];\n execution_mode: string;\n handler_ref: string;\n handler?: ArtifactHandler;\n readonly __agents24ExplicitName?: boolean;\n};\n\nexport type ArtifactToolset = {\n readonly __agents24Toolset: true;\n name: string;\n description: string;\n tools: Array<string | ArtifactExport>;\n};\n\nexport type ArtifactDefinition = {\n readonly __agents24Artifact: true;\n exports: ArtifactExport[];\n toolsets: Array<{ key: string; name: string; description: string; tools: string[] }>;\n readonly __agents24ToolsetsDeclared: boolean;\n};\n\nexport const tool = runtime.tool as (\n definition?: ArtifactExportDefinition,\n handler?: ArtifactHandler,\n) => ArtifactExport;\nexport const agentNode = runtime.agentNode as (\n definition?: ArtifactExportDefinition,\n handler?: ArtifactHandler,\n) => ArtifactExport;\nexport const ragOperator = runtime.ragOperator as (\n definition?: ArtifactExportDefinition,\n handler?: ArtifactHandler,\n) => ArtifactExport;\nexport const toolset = runtime.toolset as (\n definition?: { name?: string; description?: string; tools?: Array<string | ArtifactExport> },\n) => ArtifactToolset;\nexport const defineArtifact = runtime.defineArtifact as (\n definition?: Record<string, unknown>,\n) => ArtifactDefinition;\nexport const describeArtifact = runtime.describeArtifact as (\n value: ArtifactDefinition | Record<string, unknown>,\n) => Array<Omit<ArtifactExport, \"handler\">>;\nexport const describeArtifactContract = runtime.describeArtifactContract as (\n value: ArtifactDefinition | Record<string, unknown>,\n) => {\n exports: Array<Omit<ArtifactExport, \"handler\">>;\n toolsets: ArtifactDefinition[\"toolsets\"];\n};\n","/// <reference types=\"node\" />\n\nimport { Buffer } from \"node:buffer\";\nimport { createHash, createHmac, timingSafeEqual } from \"node:crypto\";\nimport { createServer, type IncomingMessage, type Server, type ServerResponse } from \"node:http\";\n\nimport {\n defineArtifact,\n describeArtifactContract,\n type ArtifactDefinition,\n type ArtifactExport,\n} from \"./artifacts.js\";\n\nexport type ArtifactInvokePayload = {\n run_id?: string;\n artifact_id?: string | null;\n revision_id?: string;\n export_name?: string;\n export_kind?: string;\n inputs?: unknown;\n config?: Record<string, unknown>;\n context?: Record<string, unknown>;\n};\n\nexport type ArtifactServerOptions = {\n exports: unknown;\n toolsets?: unknown;\n signingSecret: string;\n manifestPath?: string;\n invokePath?: string;\n};\n\nexport type ArtifactSignatureHeaders = {\n \"x-agents24-timestamp\": string;\n \"x-agents24-signature\": string;\n};\n\nconst DEFAULT_MANIFEST_PATH = \"/.well-known/agents24/artifact\";\nconst DEFAULT_HEALTH_PATH = \"/.well-known/agents24/artifact/health\";\nconst DEFAULT_INVOKE_PATH = \"/agents24/artifact/invoke\";\n\nfunction sorted(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(sorted);\n if (value && typeof value === \"object\") {\n return Object.keys(value as Record<string, unknown>).sort().reduce<Record<string, unknown>>((result, key) => {\n result[key] = sorted((value as Record<string, unknown>)[key]);\n return result;\n }, {});\n }\n return value;\n}\n\nfunction artifactFromExports(exportsValue: unknown, toolsetsValue?: unknown): ArtifactDefinition {\n if (exportsValue && typeof exportsValue === \"object\" && (exportsValue as { __agents24Artifact?: unknown }).__agents24Artifact) {\n if (toolsetsValue != null) throw new TypeError(\"Pass toolsets through defineArtifact or the toolsets option, not both\");\n return exportsValue as ArtifactDefinition;\n }\n if (Array.isArray(exportsValue)) {\n return defineArtifact({\n tools: Object.fromEntries((exportsValue as ArtifactExport[]).map((item, index) => [String(item.name || index), item])),\n toolsets: toolsetsValue,\n });\n }\n if (exportsValue && typeof exportsValue === \"object\") {\n const record = exportsValue as Record<string, unknown>;\n if (\"tools\" in record || \"agentNodes\" in record || \"ragOperators\" in record) {\n return defineArtifact({ ...record, toolsets: toolsetsValue ?? record.toolsets });\n }\n return defineArtifact({ tools: record, toolsets: toolsetsValue });\n }\n return defineArtifact({ toolsets: toolsetsValue });\n}\n\nfunction contractExport(item: Record<string, unknown>): Record<string, unknown> {\n return {\n export_name: item.export_name || item.name,\n export_kind: item.export_kind || item.kind,\n description: item.description || \"\",\n input_schema: item.input_schema || {},\n output_schema: item.output_schema || {},\n config_schema: item.config_schema || {},\n ui_schema: item.ui_schema || {},\n side_effects: item.side_effects || [],\n execution_mode: item.execution_mode || \"interactive\",\n handler_ref: item.handler_ref || item.name,\n metadata: item.metadata || {},\n };\n}\n\nfunction manifest(artifact: ArtifactDefinition): Record<string, unknown> {\n const described = describeArtifactContract(artifact);\n const contract = {\n schema_version: \"agents24.artifact.v1\",\n exports: described.exports.map((item) => contractExport(item)),\n ...(artifact.__agents24ToolsetsDeclared ? { toolsets: described.toolsets } : {}),\n };\n return {\n ...contract,\n manifest_hash: createHash(\"sha256\").update(JSON.stringify(sorted(contract))).digest(\"hex\"),\n };\n}\n\nfunction json(payload: unknown, init: ResponseInit = {}): Response {\n return new Response(JSON.stringify(payload), {\n ...init,\n headers: { \"content-type\": \"application/json\", ...(init.headers || {}) },\n });\n}\n\nexport function signArtifactPayload(input: {\n body: string;\n signingSecret: string;\n timestamp?: string | number;\n}): ArtifactSignatureHeaders {\n const timestamp = String(input.timestamp || Date.now());\n const signature = createHmac(\"sha256\", input.signingSecret).update(`${timestamp}.${input.body}`).digest(\"hex\");\n return { \"x-agents24-timestamp\": timestamp, \"x-agents24-signature\": `sha256=${signature}` };\n}\n\nexport function verifyArtifactSignature(input: {\n body: string;\n signingSecret: string;\n timestamp: string | null | undefined;\n signature: string | null | undefined;\n toleranceMs?: number;\n}): boolean {\n const timestamp = String(input.timestamp || \"\").trim();\n const signature = String(input.signature || \"\").trim();\n const parsed = Number(timestamp);\n if (!timestamp || !signature || !Number.isFinite(parsed)) return false;\n if (Math.abs(Date.now() - parsed) > (input.toleranceMs ?? 5 * 60 * 1000)) return false;\n const expected = signArtifactPayload({ body: input.body, signingSecret: input.signingSecret, timestamp })[\"x-agents24-signature\"];\n const actualBytes = Buffer.from(signature);\n const expectedBytes = Buffer.from(expected);\n return actualBytes.length === expectedBytes.length && timingSafeEqual(actualBytes, expectedBytes);\n}\n\nasync function requestBody(req: IncomingMessage): Promise<Buffer> {\n const chunks: Buffer[] = [];\n for await (const chunk of req) chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n return Buffer.concat(chunks);\n}\n\nasync function writeResponse(res: ServerResponse, response: Response): Promise<void> {\n res.statusCode = response.status;\n response.headers.forEach((value, key) => res.setHeader(key, value));\n res.end(Buffer.from(await response.arrayBuffer()));\n}\n\nexport function createArtifactServer(options: ArtifactServerOptions) {\n if (!options.signingSecret) throw new Error(\"createArtifactServer requires signingSecret\");\n const manifestPath = options.manifestPath || DEFAULT_MANIFEST_PATH;\n const healthPath = DEFAULT_HEALTH_PATH;\n const invokePath = options.invokePath || DEFAULT_INVOKE_PATH;\n let artifact = artifactFromExports(options.exports, options.toolsets);\n\n function setExports(next: unknown): void { artifact = artifactFromExports(next); }\n\n async function handleRequest(request: Request): Promise<Response> {\n const url = new URL(request.url);\n if (request.method === \"GET\" && url.pathname === healthPath) return json({ status: \"ok\", service: \"agents24-artifact\" });\n if (request.method === \"GET\" && url.pathname === manifestPath) return json(manifest(artifact));\n if (request.method !== \"POST\" || url.pathname !== invokePath) return json({ error: \"Not found\", code: \"NOT_FOUND\" }, { status: 404 });\n const body = await request.text();\n if (!verifyArtifactSignature({\n body,\n signingSecret: options.signingSecret,\n timestamp: request.headers.get(\"x-agents24-timestamp\"),\n signature: request.headers.get(\"x-agents24-signature\"),\n })) {\n return json({ status: \"failed\", error: { message: \"Invalid artifact invocation signature\", code: \"INVALID_SIGNATURE\" } }, { status: 401 });\n }\n let payload: ArtifactInvokePayload;\n try { payload = JSON.parse(body) as ArtifactInvokePayload; }\n catch { return json({ status: \"failed\", error: { message: \"Invalid JSON body\", code: \"INVALID_JSON\" } }, { status: 400 }); }\n const exportName = String(payload.export_name || \"default\");\n const selected = artifact.exports.find((item) => item.name === exportName);\n if (!selected) return json({ status: \"failed\", error: { message: `Artifact export '${exportName}' was not found`, code: \"EXPORT_NOT_FOUND\" } });\n if (selected.kind !== \"tool\") return json({ status: \"failed\", error: { message: \"Self-hosted artifact server can invoke tool exports only\", code: \"UNSUPPORTED_EXPORT_KIND\" } });\n if (typeof selected.handler !== \"function\") return json({ status: \"failed\", error: { message: `Artifact export '${exportName}' has no handler`, code: \"HANDLER_NOT_FOUND\" } });\n const started = Date.now();\n try {\n const result = await selected.handler(payload.inputs, payload.config || {}, payload.context || {});\n return json({\n status: \"completed\", result, error: null, duration_ms: Date.now() - started,\n worker_id: \"agents24-node-server\", dispatch_request_id: payload.run_id || null, events: [],\n runtime_metadata: { provider: \"agents24_node_server\" },\n });\n } catch (error) {\n return json({\n status: \"failed\",\n error: { message: error instanceof Error ? error.message : String(error), code: \"HANDLER_FAILED\" },\n duration_ms: Date.now() - started,\n worker_id: \"agents24-node-server\", dispatch_request_id: payload.run_id || null, events: [],\n runtime_metadata: { provider: \"agents24_node_server\" },\n });\n }\n }\n\n async function nodeHandler(req: IncomingMessage, res: ServerResponse): Promise<void> {\n const body = await requestBody(req);\n const request = new Request(`http://${req.headers.host || \"127.0.0.1\"}${req.url || \"/\"}`, {\n method: req.method,\n headers: req.headers as HeadersInit,\n body: body.length ? body.toString(\"utf8\") : undefined,\n });\n await writeResponse(res, await handleRequest(request));\n }\n\n function listen(port = 0, hostname = \"127.0.0.1\"): Promise<Server> {\n const server = createServer((req, res) => {\n void nodeHandler(req, res).catch((error) => {\n res.statusCode = 500;\n res.setHeader(\"content-type\", \"application/json\");\n res.end(JSON.stringify({ status: \"failed\", error: { message: String(error), code: \"SERVER_ERROR\" } }));\n });\n });\n return new Promise((resolve, reject) => {\n server.once(\"error\", reject);\n server.listen(port, hostname, () => { server.off(\"error\", reject); resolve(server); });\n });\n }\n\n return {\n manifestPath, healthPath, invokePath, setExports,\n manifest: () => manifest(artifact), handleRequest, nodeHandler, listen,\n };\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { type Agents24HttpClient } from "./http.js";
2
+ import type { AgentCreateRequest, AgentListResponse, AgentResponse, AgentStreamRequest, AgentUpdateRequest, AttachmentUploadResult, GraphDefinition, RequestOptions, RunCancelOptions, RunCancelResult, RuntimeEvent, ServerAttachmentUploadOptions, StartRunResult, StreamRequestOptions, StreamResult } from "./types.js";
3
+ export type ListAgentsOptions = {
4
+ status?: string;
5
+ skip?: number;
6
+ limit?: number;
7
+ view?: "summary" | "full" | string;
8
+ };
9
+ export declare class AgentsNamespace {
10
+ private readonly http;
11
+ constructor(http: Agents24HttpClient);
12
+ list(options?: ListAgentsOptions): Promise<AgentListResponse>;
13
+ get(agentId: string): Promise<AgentResponse>;
14
+ create(request: AgentCreateRequest, options?: RequestOptions): Promise<AgentResponse>;
15
+ update(agentId: string, request: AgentUpdateRequest, options?: RequestOptions): Promise<AgentResponse>;
16
+ updateGraph(agentId: string, graph: GraphDefinition, options?: RequestOptions): Promise<AgentResponse>;
17
+ delete(agentId: string, options?: RequestOptions): Promise<unknown>;
18
+ catalog(): Promise<Record<string, unknown>>;
19
+ schema(nodeTypes: string[]): Promise<Record<string, unknown>>;
20
+ validate(agentId: string): Promise<Record<string, unknown>>;
21
+ publish(agentId: string, options?: RequestOptions): Promise<AgentResponse>;
22
+ startRun(agentId: string, payload: AgentStreamRequest, options?: RequestOptions): Promise<StartRunResult>;
23
+ stream(agentId: string, payload: AgentStreamRequest, onEvent?: (event: RuntimeEvent) => void | Promise<void>, mode?: "debug" | "production" | string, options?: StreamRequestOptions): Promise<StreamResult>;
24
+ resumeRun(runId: string, payload: Record<string, unknown>, options?: RequestOptions): Promise<Record<string, unknown>>;
25
+ cancelRun(runId: string, options?: RunCancelOptions): Promise<RunCancelResult>;
26
+ uploadAttachments(agentId: string, options: ServerAttachmentUploadOptions): Promise<AttachmentUploadResult>;
27
+ }
28
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,6BAA6B,EAC7B,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEvH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAErD,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAGjE,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAGrF,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAGtG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAGtG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAGnE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG7D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG3D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAG1E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAGnG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACvD,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,EACtC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,YAAY,CAAC;IASxB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGtH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAG5E,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAUlH"}
@@ -0,0 +1,75 @@
1
+ export type JsonSchemaSource = Record<string, unknown> | {
2
+ toJSONSchema?: () => Record<string, unknown>;
3
+ toJsonSchema?: () => Record<string, unknown>;
4
+ };
5
+ export type ArtifactHandler = (input: unknown, config: Record<string, unknown>, context: Record<string, unknown>) => unknown | Promise<unknown>;
6
+ export type ArtifactExportDefinition = {
7
+ name?: string;
8
+ description?: string;
9
+ input_schema?: JsonSchemaSource;
10
+ inputSchema?: JsonSchemaSource;
11
+ input?: JsonSchemaSource;
12
+ output_schema?: JsonSchemaSource;
13
+ outputSchema?: JsonSchemaSource;
14
+ output?: JsonSchemaSource;
15
+ config_schema?: JsonSchemaSource;
16
+ configSchema?: JsonSchemaSource;
17
+ config?: JsonSchemaSource;
18
+ ui_schema?: Record<string, unknown>;
19
+ uiSchema?: Record<string, unknown>;
20
+ ui?: Record<string, unknown>;
21
+ side_effects?: string[];
22
+ sideEffects?: string[];
23
+ execution_mode?: string;
24
+ executionMode?: string;
25
+ handler_ref?: string;
26
+ handlerRef?: string;
27
+ handler?: ArtifactHandler;
28
+ execute?: ArtifactHandler;
29
+ };
30
+ export type ArtifactExport = {
31
+ name: string;
32
+ kind: "tool" | "agent_node" | "rag_operator";
33
+ description: string;
34
+ input_schema: Record<string, unknown>;
35
+ output_schema: Record<string, unknown>;
36
+ config_schema: Record<string, unknown>;
37
+ ui_schema: Record<string, unknown>;
38
+ side_effects: string[];
39
+ execution_mode: string;
40
+ handler_ref: string;
41
+ handler?: ArtifactHandler;
42
+ readonly __agents24ExplicitName?: boolean;
43
+ };
44
+ export type ArtifactToolset = {
45
+ readonly __agents24Toolset: true;
46
+ name: string;
47
+ description: string;
48
+ tools: Array<string | ArtifactExport>;
49
+ };
50
+ export type ArtifactDefinition = {
51
+ readonly __agents24Artifact: true;
52
+ exports: ArtifactExport[];
53
+ toolsets: Array<{
54
+ key: string;
55
+ name: string;
56
+ description: string;
57
+ tools: string[];
58
+ }>;
59
+ readonly __agents24ToolsetsDeclared: boolean;
60
+ };
61
+ export declare const tool: (definition?: ArtifactExportDefinition, handler?: ArtifactHandler) => ArtifactExport;
62
+ export declare const agentNode: (definition?: ArtifactExportDefinition, handler?: ArtifactHandler) => ArtifactExport;
63
+ export declare const ragOperator: (definition?: ArtifactExportDefinition, handler?: ArtifactHandler) => ArtifactExport;
64
+ export declare const toolset: (definition?: {
65
+ name?: string;
66
+ description?: string;
67
+ tools?: Array<string | ArtifactExport>;
68
+ }) => ArtifactToolset;
69
+ export declare const defineArtifact: (definition?: Record<string, unknown>) => ArtifactDefinition;
70
+ export declare const describeArtifact: (value: ArtifactDefinition | Record<string, unknown>) => Array<Omit<ArtifactExport, "handler">>;
71
+ export declare const describeArtifactContract: (value: ArtifactDefinition | Record<string, unknown>) => {
72
+ exports: Array<Omit<ArtifactExport, "handler">>;
73
+ toolsets: ArtifactDefinition["toolsets"];
74
+ };
75
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/artifacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { AgentsNamespace } from "./agents.js";
2
+ import type { AgentCreateRequest, AgentDefinitionOptions, AgentResponse, GraphDefinition, GraphNode, RequestOptions } from "./types.js";
3
+ export declare class AgentDefinitionBuilder {
4
+ private readonly agents;
5
+ private readonly options;
6
+ constructor(agents: AgentsNamespace, options: AgentDefinitionOptions);
7
+ toGraph(): GraphDefinition;
8
+ toCreateRequest(): AgentCreateRequest;
9
+ create(options?: RequestOptions): Promise<AgentResponse>;
10
+ }
11
+ export declare class GraphBuilder {
12
+ private readonly nodes;
13
+ private readonly edges;
14
+ node(type: string, config?: Record<string, unknown>, options?: {
15
+ id?: string;
16
+ x?: number;
17
+ y?: number;
18
+ label?: string;
19
+ }): GraphNode;
20
+ connect(source: GraphNode | string, target: GraphNode | string, options?: {
21
+ id?: string;
22
+ sourceHandle?: string;
23
+ targetHandle?: string;
24
+ }): this;
25
+ toGraph(): GraphDefinition;
26
+ }
27
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAEtB,aAAa,EACb,eAAe,EAEf,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAuBpB,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAjD,MAAM,EAAE,eAAe,EAAmB,OAAO,EAAE,sBAAsB;IACtG,OAAO,IAAI,eAAe;IA8B1B,eAAe,IAAI,kBAAkB;IAarC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CACzD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,OAAO,GAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,SAAS;IAQ1I,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,OAAO,GAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAWlJ,OAAO,IAAI,eAAe;CAM3B"}
@@ -0,0 +1,17 @@
1
+ import type { Agents24HttpClient } from "./http.js";
2
+ import type { BackendSessionRequestOptions, ClientDeployment, ClientSessionCredentials, CreateBackendClientSessionRequest, CreateClientDeploymentRequest, PromoteClientDeploymentRequest, RequestOptions, UpdateClientDeploymentRequest } from "./types.js";
3
+ export declare class ClientDeploymentsNamespace {
4
+ private readonly http;
5
+ constructor(http: Agents24HttpClient);
6
+ create(request: CreateClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment>;
7
+ get(deploymentId: string): Promise<ClientDeployment>;
8
+ update(deploymentId: string, request: UpdateClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment>;
9
+ promote(deploymentId: string, request: PromoteClientDeploymentRequest, options?: RequestOptions): Promise<ClientDeployment>;
10
+ revoke(deploymentId: string, options?: RequestOptions): Promise<ClientDeployment>;
11
+ }
12
+ export declare class ClientSessionsNamespace {
13
+ private readonly http;
14
+ constructor(http: Agents24HttpClient);
15
+ createBackendSession(deploymentId: string, request: CreateBackendClientSessionRequest, options?: BackendSessionRequestOptions): Promise<ClientSessionCredentials>;
16
+ }
17
+ //# sourceMappingURL=client-runtime-admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-runtime-admin.d.ts","sourceRoot":"","sources":["../../src/client-runtime-admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,cAAc,EACd,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAEpB,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAErD,MAAM,CAAC,OAAO,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMnG,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpD,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMzH,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM3H,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAKlF;AAED,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAErD,oBAAoB,CAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,iCAAiC,EAC1C,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,wBAAwB,CAAC;CAYrC"}
@@ -0,0 +1,17 @@
1
+ import { AgentsNamespace } from "./agents.js";
2
+ import { AgentDefinitionBuilder, GraphBuilder } from "./builders.js";
3
+ import { ClientDeploymentsNamespace, ClientSessionsNamespace } from "./client-runtime-admin.js";
4
+ import { EmbedNamespace } from "./embed.js";
5
+ import { RunsNamespace } from "./runs.js";
6
+ import type { AgentDefinitionOptions, Agents24NodeOptions } from "./types.js";
7
+ export declare class Agents24 {
8
+ readonly agents: AgentsNamespace;
9
+ readonly embed: EmbedNamespace;
10
+ readonly runs: RunsNamespace;
11
+ readonly clientDeployments: ClientDeploymentsNamespace;
12
+ readonly clientSessions: ClientSessionsNamespace;
13
+ constructor(options: Agents24NodeOptions);
14
+ agent(options: AgentDefinitionOptions): AgentDefinitionBuilder;
15
+ graph(): GraphBuilder;
16
+ }
17
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE9E,qBAAa,QAAQ;IACnB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC;gBAErC,OAAO,EAAE,mBAAmB;IASxC,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB;IAI9D,KAAK,IAAI,YAAY;CACtB"}
@@ -0,0 +1,22 @@
1
+ import { type Agents24HttpClient } from "./http.js";
2
+ import type { AttachRunRequest, AttachmentUploadResult, EmbedRuntimeBootstrap, EmbedRunCancelOptions, EmbedStreamRequest, McpAuthStartRequest, McpAuthStartResult, MultiAgentThreadListRequest, MultiAgentThreadSummaryEventOptions, RequestOptions, ResumeRunRequest, RunCancelResult, RunContext, RunContextOptions, RunResumeResult, RuntimeEvent, ServerEmbedAttachmentUploadOptions, StreamRequestOptions, StreamResult, ThreadDeleteOptions, ThreadDeleteResult, ThreadDetail, ThreadDetailOptions, ThreadListOptions, ThreadSummaryEvent, ThreadSummaryEventOptions, ThreadsResponse } from "./types.js";
3
+ export declare class EmbedNamespace {
4
+ private readonly http;
5
+ constructor(http: Agents24HttpClient);
6
+ streamAgent(agentId: string, payload: EmbedStreamRequest, onEvent?: (event: RuntimeEvent) => void | Promise<void>, options?: StreamRequestOptions): Promise<StreamResult>;
7
+ attachAgentRun(agentId: string, runId: string, payload: AttachRunRequest, onEvent?: (event: RuntimeEvent) => void | Promise<void>, options?: StreamRequestOptions): Promise<StreamResult>;
8
+ private stream;
9
+ resumeAgentRun(agentId: string, runId: string, payload: ResumeRunRequest, options?: RequestOptions): Promise<RunResumeResult>;
10
+ startAgentRunMcpAuth(agentId: string, runId: string, serverId: string, payload: McpAuthStartRequest, options?: RequestOptions): Promise<McpAuthStartResult>;
11
+ getRuntimeBootstrap(agentId: string): Promise<EmbedRuntimeBootstrap>;
12
+ listAgentThreads(agentId: string, options: ThreadListOptions): Promise<ThreadsResponse>;
13
+ listAgentThreadsMulti(options: MultiAgentThreadListRequest): Promise<ThreadsResponse>;
14
+ subscribeAgentThreadEvents(agentId: string, options: ThreadSummaryEventOptions, onEvent: (event: ThreadSummaryEvent) => void | Promise<void>): Promise<void>;
15
+ subscribeAgentThreadEventsMulti(options: MultiAgentThreadSummaryEventOptions, onEvent: (event: ThreadSummaryEvent) => void | Promise<void>): Promise<void>;
16
+ getAgentThread(agentId: string, threadId: string, options: ThreadDetailOptions): Promise<ThreadDetail>;
17
+ deleteAgentThread(agentId: string, threadId: string, options: ThreadDeleteOptions): Promise<ThreadDeleteResult>;
18
+ getAgentRunContext(agentId: string, runId: string, options: RunContextOptions): Promise<RunContext>;
19
+ cancelAgentRun(agentId: string, runId: string, options: EmbedRunCancelOptions): Promise<RunCancelResult>;
20
+ uploadAgentAttachments(agentId: string, options: ServerEmbedAttachmentUploadOptions): Promise<AttachmentUploadResult>;
21
+ }
22
+ //# sourceMappingURL=embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type Agents24SDKErrorKind = "protocol" | "network" | "http";
2
+ export type Agents24NodeErrorKind = Agents24SDKErrorKind;
3
+ export declare class Agents24SDKError extends Error {
4
+ readonly kind: Agents24SDKErrorKind;
5
+ readonly status?: number;
6
+ readonly details?: unknown;
7
+ readonly responseHeaders?: Readonly<Record<string, string>>;
8
+ constructor(message: string, options: {
9
+ kind: Agents24SDKErrorKind;
10
+ status?: number;
11
+ details?: unknown;
12
+ responseHeaders?: Readonly<Record<string, string>>;
13
+ cause?: unknown;
14
+ });
15
+ }
16
+ export { Agents24SDKError as Agents24NodeError };
17
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBAG1D,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,IAAI,EAAE,oBAAoB,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CASJ;AAED,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const SDK_OPERATION_IDS: readonly ["agents.cancel_run", "agents.catalog", "agents.create", "agents.delete", "agents.get", "agents.list", "agents.publish", "agents.resume_run", "agents.schema", "agents.start_run", "agents.stream", "agents.update", "agents.update_graph", "agents.upload_attachments", "agents.validate", "client.attachments.upload", "client.bootstrap", "client.chat.stream", "client.deployments.create", "client.deployments.get", "client.deployments.promote", "client.deployments.revoke", "client.deployments.update", "client.hitl.resume", "client.jwks", "client.mcp.redeem", "client.mcp.start", "client.runs.attach", "client.runs.cancel", "client.sessions.anonymous", "client.sessions.backendExchange", "client.sessions.refresh", "client.sessions.revoke", "client.threads.delete", "client.threads.events", "client.threads.get", "client.threads.list", "embed.attach_agent_run", "embed.cancel_agent_run", "embed.delete_agent_thread", "embed.get_agent_run_context", "embed.get_agent_thread", "embed.get_runtime_bootstrap", "embed.list_agent_threads", "embed.list_agent_threads_multi", "embed.resume_agent_run", "embed.start_agent_run_mcp_auth", "embed.stream_agent", "embed.stream_agent_thread_events", "embed.stream_agent_thread_events_multi", "embed.upload_agent_attachments", "runs.get", "runs.get_context", "runs.get_events", "runs.get_tree"];
2
+ export type SDKOperationId = (typeof SDK_OPERATION_IDS)[number];
3
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/generated/manifest.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,uzCAwDpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}