agentstack-sdk 0.6.1 → 0.6.2-rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -29
- package/dist/api.cjs +1994 -2
- package/dist/api.d.cts +29 -0
- package/dist/api.d.ts +25 -1
- package/dist/api.js +1801 -2
- package/dist/core-DcGxYeok.d.ts +1238 -0
- package/dist/core-XN6gWSAb.d.cts +1238 -0
- package/dist/core.cjs +1773 -2
- package/dist/core.d.cts +7 -0
- package/dist/core.d.ts +7 -5
- package/dist/core.js +1725 -2
- package/dist/extensions.cjs +798 -2
- package/dist/extensions.d.cts +244 -0
- package/dist/extensions.d.ts +240 -1
- package/dist/extensions.js +652 -2
- package/dist/index.cjs +3142 -2
- package/dist/index.d.cts +10 -0
- package/dist/index.d.ts +10 -7
- package/dist/index.js +2781 -2
- package/dist/index.umd.js +16509 -2
- package/dist/schemas-Dy3P_eAt.d.cts +57 -0
- package/dist/schemas-Dy3P_eAt.d.ts +57 -0
- package/dist/server.cjs +2762 -0
- package/dist/server.d.cts +244 -0
- package/dist/server.d.ts +244 -0
- package/dist/server.js +2716 -0
- package/dist/types-B5B3b0V2.d.cts +396 -0
- package/dist/types-B5B3b0V2.d.ts +396 -0
- package/dist/types-CmEs5_Ag.d.cts +3522 -0
- package/dist/types-DJm5-rZZ.d.ts +3522 -0
- package/dist/types-DvLt-XuC.d.ts +866 -0
- package/dist/types-E26YDM19.d.cts +866 -0
- package/dist/types-MfIzGgpV.d.cts +43 -0
- package/dist/types-MfIzGgpV.d.ts +43 -0
- package/package.json +36 -21
- package/src/client/a2a/extensions/auth/oauth/index.ts +6 -6
- package/src/client/a2a/extensions/auth/secrets/index.ts +6 -6
- package/src/client/a2a/extensions/interactions/approval/index.ts +7 -7
- package/src/client/a2a/extensions/services/embedding/index.ts +7 -3
- package/src/client/a2a/extensions/services/form/index.ts +3 -3
- package/src/client/a2a/extensions/services/llm/index.ts +3 -3
- package/src/client/a2a/extensions/services/mcp/index.ts +3 -3
- package/src/client/a2a/extensions/services/platform-api/index.ts +2 -2
- package/src/client/a2a/extensions/ui/agent-detail/index.ts +4 -4
- package/src/client/a2a/extensions/ui/canvas/index.ts +4 -4
- package/src/client/a2a/extensions/ui/citation/index.ts +4 -4
- package/src/client/a2a/extensions/ui/error/index.ts +4 -4
- package/src/client/a2a/extensions/ui/form-request/index.ts +4 -4
- package/src/client/a2a/extensions/ui/settings/index.ts +7 -3
- package/src/client/a2a/extensions/ui/trajectory/index.ts +4 -4
- package/src/client/core/extensions/types.ts +8 -1
- package/src/client/core/handle-task-status-update.ts +10 -3
- package/src/client/core/index.ts +1 -0
- package/src/client/core/utils/extract-text-from-message.ts +15 -0
- package/src/examples/hello-world.ts +34 -0
- package/src/experimental/server/a2a/extensions/agent-detail/index.ts +35 -0
- package/src/experimental/server/a2a/extensions/agent-detail/types.ts +10 -0
- package/src/experimental/server/a2a/extensions/index.ts +11 -0
- package/src/experimental/server/a2a/extensions/llm/index.ts +70 -0
- package/src/experimental/server/a2a/extensions/llm/types.ts +16 -0
- package/src/experimental/server/a2a/extensions/platform-self-registration/index.ts +34 -0
- package/src/experimental/server/a2a/extensions/platform-self-registration/types.ts +10 -0
- package/src/experimental/server/a2a/helpers.ts +95 -0
- package/{dist/client/a2a/index.d.ts → src/experimental/server/a2a/index.ts} +1 -1
- package/src/experimental/server/a2a/utils.ts +43 -0
- package/src/experimental/server/core/config/index.ts +17 -0
- package/src/experimental/server/core/config/schemas.ts +15 -0
- package/src/experimental/server/core/config/types.ts +10 -0
- package/src/experimental/server/core/context/index.ts +18 -0
- package/src/experimental/server/core/extensions/types.ts +24 -0
- package/{dist/client/a2a/protocol/index.d.ts → src/experimental/server/core/index.ts} +4 -0
- package/{dist/client/a2a/protocol/tests.d.ts → src/experimental/server/core/schemas.ts} +2 -1
- package/src/experimental/server/core/server/autoregistration.ts +142 -0
- package/src/experimental/server/core/server/executor.ts +284 -0
- package/src/experimental/server/core/server/helpers.ts +12 -0
- package/src/experimental/server/core/server/index.ts +166 -0
- package/src/experimental/server/core/server/types.ts +58 -0
- package/src/experimental/server/core/types.ts +8 -0
- package/src/experimental/server/core/utils.ts +59 -0
- package/{dist/client/api/core/errors/index.d.ts → src/server.ts} +3 -2
- package/dist/api.cjs.map +0 -1
- package/dist/api.js.map +0 -1
- package/dist/api.umd.js +0 -2
- package/dist/api.umd.js.map +0 -1
- package/dist/client/a2a/extensions/auth/oauth/index.d.ts +0 -10
- package/dist/client/a2a/extensions/auth/oauth/schemas.d.ts +0 -32
- package/dist/client/a2a/extensions/auth/oauth/types.d.ts +0 -13
- package/dist/client/a2a/extensions/auth/secrets/index.d.ts +0 -10
- package/dist/client/a2a/extensions/auth/secrets/schemas.d.ts +0 -23
- package/dist/client/a2a/extensions/auth/secrets/types.d.ts +0 -10
- package/dist/client/a2a/extensions/common/form/schemas.d.ts +0 -290
- package/dist/client/a2a/extensions/common/form/types.d.ts +0 -24
- package/dist/client/a2a/extensions/index.d.ts +0 -21
- package/dist/client/a2a/extensions/interactions/approval/index.d.ts +0 -10
- package/dist/client/a2a/extensions/interactions/approval/schemas.d.ts +0 -43
- package/dist/client/a2a/extensions/interactions/approval/types.d.ts +0 -14
- package/dist/client/a2a/extensions/schemas.d.ts +0 -19
- package/dist/client/a2a/extensions/services/embedding/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/embedding/schemas.d.ts +0 -29
- package/dist/client/a2a/extensions/services/embedding/types.d.ts +0 -10
- package/dist/client/a2a/extensions/services/form/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/form/schemas.d.ts +0 -97
- package/dist/client/a2a/extensions/services/form/types.d.ts +0 -8
- package/dist/client/a2a/extensions/services/llm/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/llm/schemas.d.ts +0 -29
- package/dist/client/a2a/extensions/services/llm/types.d.ts +0 -10
- package/dist/client/a2a/extensions/services/mcp/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/mcp/schemas.d.ts +0 -35
- package/dist/client/a2a/extensions/services/mcp/types.d.ts +0 -14
- package/dist/client/a2a/extensions/services/platform-api/index.d.ts +0 -11
- package/dist/client/a2a/extensions/services/platform-api/schemas.d.ts +0 -10
- package/dist/client/a2a/extensions/services/platform-api/types.d.ts +0 -7
- package/dist/client/a2a/extensions/types.d.ts +0 -19
- package/dist/client/a2a/extensions/ui/agent-detail/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/agent-detail/schemas.d.ts +0 -41
- package/dist/client/a2a/extensions/ui/agent-detail/types.d.ts +0 -13
- package/dist/client/a2a/extensions/ui/canvas/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/canvas/schemas.d.ts +0 -11
- package/dist/client/a2a/extensions/ui/canvas/types.d.ts +0 -7
- package/dist/client/a2a/extensions/ui/citation/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/citation/schemas.d.ts +0 -21
- package/dist/client/a2a/extensions/ui/citation/types.d.ts +0 -8
- package/dist/client/a2a/extensions/ui/error/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/error/schemas.d.ts +0 -30
- package/dist/client/a2a/extensions/ui/error/types.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/form-request/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/settings/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/settings/schemas.d.ts +0 -113
- package/dist/client/a2a/extensions/ui/settings/types.d.ts +0 -18
- package/dist/client/a2a/extensions/ui/trajectory/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/trajectory/schemas.d.ts +0 -10
- package/dist/client/a2a/extensions/ui/trajectory/types.d.ts +0 -7
- package/dist/client/a2a/protocol/schemas.d.ts +0 -988
- package/dist/client/a2a/protocol/types.d.ts +0 -52
- package/dist/client/a2a/protocol/utils.d.ts +0 -6
- package/dist/client/api/common/schemas.d.ts +0 -30
- package/dist/client/api/common/types.d.ts +0 -18
- package/dist/client/api/configuration/api.d.ts +0 -22
- package/dist/client/api/configuration/schemas.d.ts +0 -31
- package/dist/client/api/configuration/types.d.ts +0 -11
- package/dist/client/api/connectors/api.d.ts +0 -78
- package/dist/client/api/connectors/schemas.d.ts +0 -114
- package/dist/client/api/connectors/types.d.ts +0 -28
- package/dist/client/api/contexts/api.d.ts +0 -133
- package/dist/client/api/contexts/schemas.d.ts +0 -359
- package/dist/client/api/contexts/types.d.ts +0 -34
- package/dist/client/api/core/client.d.ts +0 -1273
- package/dist/client/api/core/errors/types.d.ts +0 -36
- package/dist/client/api/core/errors/utils.d.ts +0 -23
- package/dist/client/api/core/index.d.ts +0 -7
- package/dist/client/api/core/schemas.d.ts +0 -17
- package/dist/client/api/core/types.d.ts +0 -45
- package/dist/client/api/core/utils.d.ts +0 -23
- package/dist/client/api/files/api.d.ts +0 -32
- package/dist/client/api/files/schemas.d.ts +0 -61
- package/dist/client/api/files/types.d.ts +0 -19
- package/dist/client/api/index.d.ts +0 -7
- package/dist/client/api/model-providers/api.d.ts +0 -50
- package/dist/client/api/model-providers/schemas.d.ts +0 -80
- package/dist/client/api/model-providers/types.d.ts +0 -44
- package/dist/client/api/provider-builds/api.d.ts +0 -143
- package/dist/client/api/provider-builds/schemas.d.ts +0 -250
- package/dist/client/api/provider-builds/types.d.ts +0 -31
- package/dist/client/api/providers/api.d.ts +0 -847
- package/dist/client/api/providers/schemas.d.ts +0 -1335
- package/dist/client/api/providers/types.d.ts +0 -45
- package/dist/client/api/schemas.d.ts +0 -15
- package/dist/client/api/types.d.ts +0 -15
- package/dist/client/api/user-feedback/api.d.ts +0 -9
- package/dist/client/api/user-feedback/schemas.d.ts +0 -15
- package/dist/client/api/user-feedback/types.d.ts +0 -8
- package/dist/client/api/users/api.d.ts +0 -13
- package/dist/client/api/users/schemas.d.ts +0 -20
- package/dist/client/api/users/types.d.ts +0 -14
- package/dist/client/api/variables/api.d.ts +0 -12
- package/dist/client/api/variables/schemas.d.ts +0 -13
- package/dist/client/api/variables/types.d.ts +0 -10
- package/dist/client/core/create-authenticated-fetch.d.ts +0 -5
- package/dist/client/core/extensions/extract.d.ts +0 -8
- package/dist/client/core/extensions/fulfill.d.ts +0 -8
- package/dist/client/core/extensions/resolve-user-metadata.d.ts +0 -6
- package/dist/client/core/extensions/types.d.ts +0 -68
- package/dist/client/core/fulfillment-resolvers/build-llm-extension-fulfillment-resolver.d.ts +0 -8
- package/dist/client/core/handle-agent-card.d.ts +0 -128
- package/dist/client/core/handle-task-status-update.d.ts +0 -7
- package/dist/client/core/index.d.ts +0 -14
- package/dist/client/core/utils/build-message-builder.d.ts +0 -9
- package/dist/client/core/utils/get-agent-card-path.d.ts +0 -5
- package/dist/core.cjs.map +0 -1
- package/dist/core.js.map +0 -1
- package/dist/core.umd.js +0 -2
- package/dist/core.umd.js.map +0 -1
- package/dist/extensions.cjs.map +0 -1
- package/dist/extensions.js.map +0 -1
- package/dist/extensions.umd.js +0 -2
- package/dist/extensions.umd.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.umd.js.map +0 -1
package/dist/server.cjs
ADDED
|
@@ -0,0 +1,2762 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/server.ts
|
|
31
|
+
var server_exports = {};
|
|
32
|
+
__export(server_exports, {
|
|
33
|
+
AgentDetailExtensionSpec: () => AgentDetailExtensionSpec,
|
|
34
|
+
LLMExtensionServer: () => LLMExtensionServer,
|
|
35
|
+
LLMExtensionSpec: () => LLMExtensionSpec,
|
|
36
|
+
PLATFORM_SELF_REGISTRATION_EXTENSION_URI: () => PLATFORM_SELF_REGISTRATION_EXTENSION_URI,
|
|
37
|
+
PlatformSelfRegistrationExtensionSpec: () => PlatformSelfRegistrationExtensionSpec,
|
|
38
|
+
RunContext: () => RunContext,
|
|
39
|
+
Server: () => Server,
|
|
40
|
+
configSchema: () => configSchema,
|
|
41
|
+
isProductionMode: () => isProductionMode,
|
|
42
|
+
loadConfig: () => loadConfig
|
|
43
|
+
});
|
|
44
|
+
module.exports = __toCommonJS(server_exports);
|
|
45
|
+
|
|
46
|
+
// src/client/a2a/extensions/auth/oauth/index.ts
|
|
47
|
+
var import_zod2 = __toESM(require("zod"), 1);
|
|
48
|
+
|
|
49
|
+
// src/client/a2a/extensions/auth/oauth/schemas.ts
|
|
50
|
+
var import_zod = __toESM(require("zod"), 1);
|
|
51
|
+
var oauthDemandSchema = import_zod.default.object({
|
|
52
|
+
redirect_uri: import_zod.default.boolean()
|
|
53
|
+
});
|
|
54
|
+
var oauthDemandsSchema = import_zod.default.object({
|
|
55
|
+
oauth_demands: import_zod.default.record(import_zod.default.string(), oauthDemandSchema)
|
|
56
|
+
});
|
|
57
|
+
var oauthFulfillmentSchema = import_zod.default.object({
|
|
58
|
+
redirect_uri: import_zod.default.string()
|
|
59
|
+
});
|
|
60
|
+
var oauthFulfillmentsSchema = import_zod.default.object({
|
|
61
|
+
oauth_fulfillments: import_zod.default.record(import_zod.default.string(), oauthFulfillmentSchema)
|
|
62
|
+
});
|
|
63
|
+
var oauthRequestSchema = import_zod.default.object({
|
|
64
|
+
authorization_endpoint_url: import_zod.default.string()
|
|
65
|
+
});
|
|
66
|
+
var oauthResponseSchema = import_zod.default.object({
|
|
67
|
+
redirect_uri: import_zod.default.string()
|
|
68
|
+
});
|
|
69
|
+
var oauthMessageSchema = import_zod.default.object({
|
|
70
|
+
data: oauthResponseSchema
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// src/client/a2a/extensions/auth/secrets/index.ts
|
|
74
|
+
var import_zod4 = __toESM(require("zod"), 1);
|
|
75
|
+
|
|
76
|
+
// src/client/a2a/extensions/auth/secrets/schemas.ts
|
|
77
|
+
var import_zod3 = __toESM(require("zod"), 1);
|
|
78
|
+
var secretDemandSchema = import_zod3.default.object({
|
|
79
|
+
name: import_zod3.default.string(),
|
|
80
|
+
description: import_zod3.default.string().nullish()
|
|
81
|
+
});
|
|
82
|
+
var secretDemandsSchema = import_zod3.default.object({
|
|
83
|
+
secret_demands: import_zod3.default.record(import_zod3.default.string(), secretDemandSchema)
|
|
84
|
+
});
|
|
85
|
+
var secretFulfillmentSchema = import_zod3.default.object({
|
|
86
|
+
secret: import_zod3.default.string()
|
|
87
|
+
});
|
|
88
|
+
var secretFulfillmentsSchema = import_zod3.default.object({
|
|
89
|
+
secret_fulfillments: import_zod3.default.record(import_zod3.default.string(), secretFulfillmentSchema)
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// src/client/a2a/extensions/interactions/approval/index.ts
|
|
93
|
+
var import_zod6 = __toESM(require("zod"), 1);
|
|
94
|
+
|
|
95
|
+
// src/client/a2a/extensions/interactions/approval/schemas.ts
|
|
96
|
+
var import_zod5 = __toESM(require("zod"), 1);
|
|
97
|
+
|
|
98
|
+
// src/client/a2a/extensions/interactions/approval/types.ts
|
|
99
|
+
var ApprovalDecision = /* @__PURE__ */ ((ApprovalDecision2) => {
|
|
100
|
+
ApprovalDecision2["Approve"] = "approve";
|
|
101
|
+
ApprovalDecision2["Reject"] = "reject";
|
|
102
|
+
return ApprovalDecision2;
|
|
103
|
+
})(ApprovalDecision || {});
|
|
104
|
+
|
|
105
|
+
// src/client/a2a/extensions/interactions/approval/schemas.ts
|
|
106
|
+
var genericApprovalRequestSchema = import_zod5.default.object({
|
|
107
|
+
action: import_zod5.default.literal("generic"),
|
|
108
|
+
title: import_zod5.default.string().nullish().describe("A human-readable title for the action being approved."),
|
|
109
|
+
description: import_zod5.default.string().nullish().describe("A human-readable description of the action being approved.")
|
|
110
|
+
});
|
|
111
|
+
var toolCallApprovalRequestSchema = import_zod5.default.object({
|
|
112
|
+
action: import_zod5.default.literal("tool-call"),
|
|
113
|
+
title: import_zod5.default.string().nullish().describe("A human-readable title of the tool."),
|
|
114
|
+
description: import_zod5.default.string().nullish().describe("A human-readable description of the tool."),
|
|
115
|
+
name: import_zod5.default.string().describe("The programmatic name of the tool."),
|
|
116
|
+
input: import_zod5.default.object().nullish().describe("The input for the tool."),
|
|
117
|
+
server: import_zod5.default.object({
|
|
118
|
+
name: import_zod5.default.string().describe("The programmatic name of the server."),
|
|
119
|
+
title: import_zod5.default.string().nullish().describe("A human-readable title for the server."),
|
|
120
|
+
version: import_zod5.default.string().describe("The version of the server.")
|
|
121
|
+
}).nullish().describe("The server executing the tool.")
|
|
122
|
+
});
|
|
123
|
+
var approvalRequestSchema = import_zod5.default.discriminatedUnion("action", [
|
|
124
|
+
genericApprovalRequestSchema,
|
|
125
|
+
toolCallApprovalRequestSchema
|
|
126
|
+
]);
|
|
127
|
+
var approvalDecisionSchema = import_zod5.default.enum(ApprovalDecision);
|
|
128
|
+
var approvalResponseSchema = import_zod5.default.object({
|
|
129
|
+
decision: approvalDecisionSchema
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// src/client/a2a/extensions/common/form/schemas.ts
|
|
133
|
+
var import_zod7 = __toESM(require("zod"), 1);
|
|
134
|
+
var baseFieldSchema = import_zod7.default.object({
|
|
135
|
+
id: import_zod7.default.string().nonempty(),
|
|
136
|
+
label: import_zod7.default.string().nonempty(),
|
|
137
|
+
required: import_zod7.default.boolean().nullish(),
|
|
138
|
+
col_span: import_zod7.default.int().min(1).max(4).nullish()
|
|
139
|
+
});
|
|
140
|
+
var textFieldSchema = baseFieldSchema.extend({
|
|
141
|
+
type: import_zod7.default.literal("text"),
|
|
142
|
+
placeholder: import_zod7.default.string().nullish(),
|
|
143
|
+
default_value: import_zod7.default.string().nullish(),
|
|
144
|
+
auto_resize: import_zod7.default.boolean().default(true).nullish()
|
|
145
|
+
});
|
|
146
|
+
var dateFieldSchema = baseFieldSchema.extend({
|
|
147
|
+
type: import_zod7.default.literal("date"),
|
|
148
|
+
placeholder: import_zod7.default.string().nullish(),
|
|
149
|
+
default_value: import_zod7.default.string().nullish()
|
|
150
|
+
});
|
|
151
|
+
var fileFieldSchema = baseFieldSchema.extend({
|
|
152
|
+
type: import_zod7.default.literal("file"),
|
|
153
|
+
accept: import_zod7.default.array(import_zod7.default.string())
|
|
154
|
+
});
|
|
155
|
+
var selectFieldOptionSchema = import_zod7.default.object({
|
|
156
|
+
id: import_zod7.default.string().nonempty(),
|
|
157
|
+
label: import_zod7.default.string().nonempty()
|
|
158
|
+
});
|
|
159
|
+
var singleSelectFieldSchema = baseFieldSchema.extend({
|
|
160
|
+
type: import_zod7.default.literal("singleselect"),
|
|
161
|
+
options: import_zod7.default.array(selectFieldOptionSchema).nonempty(),
|
|
162
|
+
default_value: import_zod7.default.string().nullish()
|
|
163
|
+
});
|
|
164
|
+
var multiSelectFieldSchema = baseFieldSchema.extend({
|
|
165
|
+
type: import_zod7.default.literal("multiselect"),
|
|
166
|
+
options: import_zod7.default.array(selectFieldOptionSchema).nonempty(),
|
|
167
|
+
default_value: import_zod7.default.array(import_zod7.default.string()).nullish()
|
|
168
|
+
});
|
|
169
|
+
var checkboxFieldSchema = baseFieldSchema.extend({
|
|
170
|
+
type: import_zod7.default.literal("checkbox"),
|
|
171
|
+
content: import_zod7.default.string(),
|
|
172
|
+
default_value: import_zod7.default.boolean().nullish()
|
|
173
|
+
});
|
|
174
|
+
var formFieldSchema = import_zod7.default.discriminatedUnion("type", [
|
|
175
|
+
textFieldSchema,
|
|
176
|
+
dateFieldSchema,
|
|
177
|
+
fileFieldSchema,
|
|
178
|
+
singleSelectFieldSchema,
|
|
179
|
+
multiSelectFieldSchema,
|
|
180
|
+
checkboxFieldSchema
|
|
181
|
+
]);
|
|
182
|
+
var textFieldValueSchema = import_zod7.default.object({
|
|
183
|
+
type: textFieldSchema.shape.type,
|
|
184
|
+
value: import_zod7.default.string().nullish()
|
|
185
|
+
});
|
|
186
|
+
var dateFieldValueSchema = import_zod7.default.object({
|
|
187
|
+
type: dateFieldSchema.shape.type,
|
|
188
|
+
value: import_zod7.default.string().nullish()
|
|
189
|
+
});
|
|
190
|
+
var fileFieldValueSchema = import_zod7.default.object({
|
|
191
|
+
type: fileFieldSchema.shape.type,
|
|
192
|
+
value: import_zod7.default.array(
|
|
193
|
+
import_zod7.default.object({
|
|
194
|
+
uri: import_zod7.default.string(),
|
|
195
|
+
name: import_zod7.default.string().nullish(),
|
|
196
|
+
mime_type: import_zod7.default.string().nullish()
|
|
197
|
+
})
|
|
198
|
+
).nullish()
|
|
199
|
+
});
|
|
200
|
+
var singleSelectFieldValueSchema = import_zod7.default.object({
|
|
201
|
+
type: singleSelectFieldSchema.shape.type,
|
|
202
|
+
value: import_zod7.default.string().nullish()
|
|
203
|
+
});
|
|
204
|
+
var multiSelectFieldValueSchema = import_zod7.default.object({
|
|
205
|
+
type: multiSelectFieldSchema.shape.type,
|
|
206
|
+
value: import_zod7.default.array(import_zod7.default.string()).nullish()
|
|
207
|
+
});
|
|
208
|
+
var checkboxFieldValueSchema = import_zod7.default.object({
|
|
209
|
+
type: checkboxFieldSchema.shape.type,
|
|
210
|
+
value: import_zod7.default.boolean().nullish()
|
|
211
|
+
});
|
|
212
|
+
var formFieldValueSchema = import_zod7.default.discriminatedUnion("type", [
|
|
213
|
+
textFieldValueSchema,
|
|
214
|
+
dateFieldValueSchema,
|
|
215
|
+
fileFieldValueSchema,
|
|
216
|
+
singleSelectFieldValueSchema,
|
|
217
|
+
multiSelectFieldValueSchema,
|
|
218
|
+
checkboxFieldValueSchema
|
|
219
|
+
]);
|
|
220
|
+
var formRenderSchema = import_zod7.default.object({
|
|
221
|
+
fields: import_zod7.default.array(formFieldSchema).nonempty(),
|
|
222
|
+
title: import_zod7.default.string().nullish(),
|
|
223
|
+
description: import_zod7.default.string().nullish(),
|
|
224
|
+
columns: import_zod7.default.int().min(1).max(4).nullish(),
|
|
225
|
+
submit_label: import_zod7.default.string().nullish()
|
|
226
|
+
});
|
|
227
|
+
var formValuesSchema = import_zod7.default.record(import_zod7.default.string(), formFieldValueSchema);
|
|
228
|
+
var formResponseSchema = import_zod7.default.object({
|
|
229
|
+
values: formValuesSchema
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
// src/client/a2a/extensions/services/embedding/schemas.ts
|
|
233
|
+
var import_zod8 = __toESM(require("zod"), 1);
|
|
234
|
+
var embeddingDemandSchema = import_zod8.default.object({
|
|
235
|
+
description: import_zod8.default.string().nullish(),
|
|
236
|
+
suggested: import_zod8.default.array(import_zod8.default.string()).nullish()
|
|
237
|
+
});
|
|
238
|
+
var embeddingDemandsSchema = import_zod8.default.object({
|
|
239
|
+
embedding_demands: import_zod8.default.record(import_zod8.default.string(), embeddingDemandSchema)
|
|
240
|
+
});
|
|
241
|
+
var embeddingFulfillmentSchema = import_zod8.default.object({
|
|
242
|
+
identifier: import_zod8.default.string().nullish(),
|
|
243
|
+
api_base: import_zod8.default.string(),
|
|
244
|
+
api_key: import_zod8.default.string(),
|
|
245
|
+
api_model: import_zod8.default.string()
|
|
246
|
+
});
|
|
247
|
+
var embeddingFulfillmentsSchema = import_zod8.default.object({
|
|
248
|
+
embedding_fulfillments: import_zod8.default.record(import_zod8.default.string(), embeddingFulfillmentSchema)
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
// src/client/a2a/extensions/services/form/schemas.ts
|
|
252
|
+
var import_zod9 = __toESM(require("zod"), 1);
|
|
253
|
+
var formDemandsSchema = import_zod9.default.object({
|
|
254
|
+
form_demands: import_zod9.default.object({
|
|
255
|
+
initial_form: formRenderSchema
|
|
256
|
+
}).partial()
|
|
257
|
+
});
|
|
258
|
+
var formFulfillmentsSchema = import_zod9.default.object({
|
|
259
|
+
form_fulfillments: import_zod9.default.record(import_zod9.default.string(), formResponseSchema)
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
// src/client/a2a/extensions/services/llm/schemas.ts
|
|
263
|
+
var import_zod10 = __toESM(require("zod"), 1);
|
|
264
|
+
var llmDemandSchema = import_zod10.default.object({
|
|
265
|
+
description: import_zod10.default.string().nullish(),
|
|
266
|
+
suggested: import_zod10.default.array(import_zod10.default.string()).nullish()
|
|
267
|
+
});
|
|
268
|
+
var llmDemandsSchema = import_zod10.default.object({
|
|
269
|
+
llm_demands: import_zod10.default.record(import_zod10.default.string(), llmDemandSchema)
|
|
270
|
+
});
|
|
271
|
+
var llmFulfillmentSchema = import_zod10.default.object({
|
|
272
|
+
identifier: import_zod10.default.string().nullish(),
|
|
273
|
+
api_base: import_zod10.default.string(),
|
|
274
|
+
api_key: import_zod10.default.string(),
|
|
275
|
+
api_model: import_zod10.default.string()
|
|
276
|
+
});
|
|
277
|
+
var llmFulfillmentsSchema = import_zod10.default.object({
|
|
278
|
+
llm_fulfillments: import_zod10.default.record(import_zod10.default.string(), llmFulfillmentSchema)
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
// src/client/a2a/extensions/services/mcp/schemas.ts
|
|
282
|
+
var import_zod11 = __toESM(require("zod"), 1);
|
|
283
|
+
|
|
284
|
+
// src/client/a2a/extensions/services/mcp/types.ts
|
|
285
|
+
var MCPTransportType = /* @__PURE__ */ ((MCPTransportType2) => {
|
|
286
|
+
MCPTransportType2["StreamableHttp"] = "streamable_http";
|
|
287
|
+
MCPTransportType2["Stdio"] = "stdio";
|
|
288
|
+
return MCPTransportType2;
|
|
289
|
+
})(MCPTransportType || {});
|
|
290
|
+
|
|
291
|
+
// src/client/a2a/extensions/services/mcp/schemas.ts
|
|
292
|
+
var mcpTransportTypeSchema = import_zod11.default.enum(MCPTransportType);
|
|
293
|
+
var mcpDemandSchema = import_zod11.default.object({
|
|
294
|
+
description: import_zod11.default.string().nullish(),
|
|
295
|
+
suggested: import_zod11.default.array(import_zod11.default.string()).nullish(),
|
|
296
|
+
allowed_transports: import_zod11.default.array(mcpTransportTypeSchema).nullish()
|
|
297
|
+
});
|
|
298
|
+
var mcpDemandsSchema = import_zod11.default.object({
|
|
299
|
+
mcp_demands: import_zod11.default.record(import_zod11.default.string(), mcpDemandSchema)
|
|
300
|
+
});
|
|
301
|
+
var mcpFulfillmentSchema = import_zod11.default.object({
|
|
302
|
+
transport: import_zod11.default.object({
|
|
303
|
+
type: mcpTransportTypeSchema,
|
|
304
|
+
url: import_zod11.default.string(),
|
|
305
|
+
headers: import_zod11.default.record(import_zod11.default.string(), import_zod11.default.string()).optional()
|
|
306
|
+
})
|
|
307
|
+
});
|
|
308
|
+
var mcpFulfillmentsSchema = import_zod11.default.object({
|
|
309
|
+
mcp_fulfillments: import_zod11.default.record(import_zod11.default.string(), mcpFulfillmentSchema)
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
// src/client/a2a/extensions/services/platform-api/schemas.ts
|
|
313
|
+
var import_zod12 = __toESM(require("zod"), 1);
|
|
314
|
+
var platformApiMetadataSchema = import_zod12.default.object({
|
|
315
|
+
base_url: import_zod12.default.string().nullish(),
|
|
316
|
+
auth_token: import_zod12.default.string(),
|
|
317
|
+
expires_at: import_zod12.default.string().nullish()
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
// src/client/a2a/extensions/ui/agent-detail/schemas.ts
|
|
321
|
+
var import_zod13 = __toESM(require("zod"), 1);
|
|
322
|
+
|
|
323
|
+
// src/client/a2a/extensions/ui/agent-detail/types.ts
|
|
324
|
+
var InteractionMode = /* @__PURE__ */ ((InteractionMode2) => {
|
|
325
|
+
InteractionMode2["SingleTurn"] = "single-turn";
|
|
326
|
+
InteractionMode2["MultiTurn"] = "multi-turn";
|
|
327
|
+
return InteractionMode2;
|
|
328
|
+
})(InteractionMode || {});
|
|
329
|
+
|
|
330
|
+
// src/client/a2a/extensions/ui/agent-detail/schemas.ts
|
|
331
|
+
var interactionModeSchema = import_zod13.default.enum(InteractionMode);
|
|
332
|
+
var agentDetailToolSchema = import_zod13.default.object({
|
|
333
|
+
name: import_zod13.default.string(),
|
|
334
|
+
description: import_zod13.default.string()
|
|
335
|
+
});
|
|
336
|
+
var agentDetailContributorSchema = import_zod13.default.object({
|
|
337
|
+
name: import_zod13.default.string(),
|
|
338
|
+
email: import_zod13.default.string().nullish(),
|
|
339
|
+
url: import_zod13.default.string().nullish()
|
|
340
|
+
});
|
|
341
|
+
var agentDetailSchema = import_zod13.default.object({
|
|
342
|
+
interaction_mode: import_zod13.default.union([interactionModeSchema, import_zod13.default.string()]).nullish(),
|
|
343
|
+
user_greeting: import_zod13.default.string().nullish(),
|
|
344
|
+
input_placeholder: import_zod13.default.string().nullish(),
|
|
345
|
+
tools: import_zod13.default.array(agentDetailToolSchema).nullish(),
|
|
346
|
+
framework: import_zod13.default.string().nullish(),
|
|
347
|
+
license: import_zod13.default.string().nullish(),
|
|
348
|
+
programming_language: import_zod13.default.string().nullish(),
|
|
349
|
+
homepage_url: import_zod13.default.string().nullish(),
|
|
350
|
+
source_code_url: import_zod13.default.string().nullish(),
|
|
351
|
+
container_image_url: import_zod13.default.string().nullish(),
|
|
352
|
+
author: agentDetailContributorSchema.nullish(),
|
|
353
|
+
contributors: import_zod13.default.array(agentDetailContributorSchema).nullish()
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
// src/client/a2a/extensions/ui/canvas/schemas.ts
|
|
357
|
+
var import_zod14 = __toESM(require("zod"), 1);
|
|
358
|
+
var canvasEditRequestSchema = import_zod14.default.object({
|
|
359
|
+
start_index: import_zod14.default.int(),
|
|
360
|
+
end_index: import_zod14.default.int(),
|
|
361
|
+
description: import_zod14.default.string().nullish(),
|
|
362
|
+
artifact_id: import_zod14.default.string()
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
// src/client/a2a/extensions/ui/citation/schemas.ts
|
|
366
|
+
var import_zod15 = __toESM(require("zod"), 1);
|
|
367
|
+
var citationSchema = import_zod15.default.object({
|
|
368
|
+
url: import_zod15.default.string().nullish(),
|
|
369
|
+
start_index: import_zod15.default.number().nullish(),
|
|
370
|
+
end_index: import_zod15.default.number().nullish(),
|
|
371
|
+
title: import_zod15.default.string().nullish(),
|
|
372
|
+
description: import_zod15.default.string().nullish()
|
|
373
|
+
});
|
|
374
|
+
var citationMetadataSchema = import_zod15.default.object({
|
|
375
|
+
citations: import_zod15.default.array(citationSchema)
|
|
376
|
+
});
|
|
377
|
+
|
|
378
|
+
// src/client/a2a/extensions/ui/error/schemas.ts
|
|
379
|
+
var import_zod16 = __toESM(require("zod"), 1);
|
|
380
|
+
var errorSchema = import_zod16.default.object({
|
|
381
|
+
title: import_zod16.default.string(),
|
|
382
|
+
message: import_zod16.default.string()
|
|
383
|
+
});
|
|
384
|
+
var errorGroupSchema = import_zod16.default.object({
|
|
385
|
+
message: import_zod16.default.string(),
|
|
386
|
+
errors: import_zod16.default.array(errorSchema)
|
|
387
|
+
});
|
|
388
|
+
var errorMetadataSchema = import_zod16.default.object({
|
|
389
|
+
error: import_zod16.default.union([errorSchema, errorGroupSchema]),
|
|
390
|
+
context: import_zod16.default.record(import_zod16.default.string(), import_zod16.default.unknown()).nullish(),
|
|
391
|
+
stack_trace: import_zod16.default.string().nullish()
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
// src/client/a2a/extensions/ui/settings/schemas.ts
|
|
395
|
+
var import_zod17 = __toESM(require("zod"), 1);
|
|
396
|
+
var settingsCheckboxFieldSchema = import_zod17.default.object({
|
|
397
|
+
id: import_zod17.default.string().nonempty(),
|
|
398
|
+
label: import_zod17.default.string().nonempty(),
|
|
399
|
+
default_value: import_zod17.default.boolean()
|
|
400
|
+
});
|
|
401
|
+
var settingsCheckboxGroupFieldSchema = import_zod17.default.object({
|
|
402
|
+
id: import_zod17.default.string().nonempty(),
|
|
403
|
+
type: import_zod17.default.literal("checkbox_group"),
|
|
404
|
+
fields: import_zod17.default.array(settingsCheckboxFieldSchema)
|
|
405
|
+
});
|
|
406
|
+
var settingsOptionItemSchema = import_zod17.default.object({
|
|
407
|
+
label: import_zod17.default.string().nonempty(),
|
|
408
|
+
value: import_zod17.default.string().nonempty()
|
|
409
|
+
});
|
|
410
|
+
var settingsSingleSelectFieldSchema = import_zod17.default.object({
|
|
411
|
+
type: import_zod17.default.literal("single_select"),
|
|
412
|
+
id: import_zod17.default.string().nonempty(),
|
|
413
|
+
label: import_zod17.default.string().nonempty(),
|
|
414
|
+
options: import_zod17.default.array(settingsOptionItemSchema).nonempty(),
|
|
415
|
+
default_value: import_zod17.default.string().nonempty()
|
|
416
|
+
});
|
|
417
|
+
var settingsFieldSchema = import_zod17.default.discriminatedUnion("type", [
|
|
418
|
+
settingsCheckboxGroupFieldSchema,
|
|
419
|
+
settingsSingleSelectFieldSchema
|
|
420
|
+
]);
|
|
421
|
+
var settingsCheckboxFieldValueSchema = import_zod17.default.object({
|
|
422
|
+
value: import_zod17.default.boolean()
|
|
423
|
+
});
|
|
424
|
+
var settingsCheckboxGroupFieldValueSchema = import_zod17.default.object({
|
|
425
|
+
type: import_zod17.default.literal("checkbox_group"),
|
|
426
|
+
values: import_zod17.default.record(import_zod17.default.string(), settingsCheckboxFieldValueSchema)
|
|
427
|
+
});
|
|
428
|
+
var settingsSingleSelectFieldValueSchema = import_zod17.default.object({
|
|
429
|
+
type: import_zod17.default.literal("single_select"),
|
|
430
|
+
value: import_zod17.default.string()
|
|
431
|
+
});
|
|
432
|
+
var settingsFieldValueSchema = import_zod17.default.discriminatedUnion("type", [
|
|
433
|
+
settingsCheckboxGroupFieldValueSchema,
|
|
434
|
+
settingsSingleSelectFieldValueSchema
|
|
435
|
+
]);
|
|
436
|
+
var settingsDemandsSchema = import_zod17.default.object({
|
|
437
|
+
fields: import_zod17.default.array(settingsFieldSchema)
|
|
438
|
+
});
|
|
439
|
+
var settingsValuesSchema = import_zod17.default.record(import_zod17.default.string(), settingsFieldValueSchema);
|
|
440
|
+
var settingsFulfillmentsSchema = import_zod17.default.object({
|
|
441
|
+
values: settingsValuesSchema
|
|
442
|
+
});
|
|
443
|
+
|
|
444
|
+
// src/client/a2a/extensions/ui/trajectory/schemas.ts
|
|
445
|
+
var import_zod18 = __toESM(require("zod"), 1);
|
|
446
|
+
var trajectoryMetadataSchema = import_zod18.default.object({
|
|
447
|
+
title: import_zod18.default.string().nullish(),
|
|
448
|
+
content: import_zod18.default.string().nullish(),
|
|
449
|
+
group_id: import_zod18.default.string().nullish()
|
|
450
|
+
});
|
|
451
|
+
|
|
452
|
+
// src/client/a2a/extensions/services/llm/index.ts
|
|
453
|
+
var LLM_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/llm/v1";
|
|
454
|
+
|
|
455
|
+
// src/client/a2a/extensions/ui/agent-detail/index.ts
|
|
456
|
+
var import_zod19 = __toESM(require("zod"), 1);
|
|
457
|
+
var AGENT_DETAIL_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/ui/agent-detail/v1";
|
|
458
|
+
|
|
459
|
+
// src/client/a2a/extensions/ui/canvas/index.ts
|
|
460
|
+
var import_zod20 = __toESM(require("zod"), 1);
|
|
461
|
+
|
|
462
|
+
// src/client/a2a/extensions/ui/citation/index.ts
|
|
463
|
+
var import_zod21 = __toESM(require("zod"), 1);
|
|
464
|
+
|
|
465
|
+
// src/client/a2a/extensions/ui/error/index.ts
|
|
466
|
+
var import_zod22 = __toESM(require("zod"), 1);
|
|
467
|
+
|
|
468
|
+
// src/client/a2a/extensions/ui/form-request/index.ts
|
|
469
|
+
var import_zod23 = __toESM(require("zod"), 1);
|
|
470
|
+
|
|
471
|
+
// src/client/a2a/extensions/ui/trajectory/index.ts
|
|
472
|
+
var import_zod24 = __toESM(require("zod"), 1);
|
|
473
|
+
|
|
474
|
+
// src/experimental/server/a2a/extensions/agent-detail/index.ts
|
|
475
|
+
var AgentDetailExtensionSpec = class {
|
|
476
|
+
uri = AGENT_DETAIL_EXTENSION_URI;
|
|
477
|
+
params;
|
|
478
|
+
constructor(params) {
|
|
479
|
+
this.params = {
|
|
480
|
+
...params,
|
|
481
|
+
programming_language: params.programming_language ?? "TypeScript"
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
toAgentCardExtension() {
|
|
485
|
+
return {
|
|
486
|
+
uri: this.uri,
|
|
487
|
+
required: false,
|
|
488
|
+
params: this.params
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
parseFulfillments() {
|
|
492
|
+
return void 0;
|
|
493
|
+
}
|
|
494
|
+
};
|
|
495
|
+
|
|
496
|
+
// src/experimental/server/a2a/extensions/llm/index.ts
|
|
497
|
+
var LLMExtensionSpec = class {
|
|
498
|
+
uri = LLM_EXTENSION_URI;
|
|
499
|
+
params;
|
|
500
|
+
fulfillmentsSchema = llmFulfillmentsSchema;
|
|
501
|
+
constructor(params) {
|
|
502
|
+
this.params = params;
|
|
503
|
+
}
|
|
504
|
+
toAgentCardExtension() {
|
|
505
|
+
return {
|
|
506
|
+
uri: this.uri,
|
|
507
|
+
required: true,
|
|
508
|
+
params: {
|
|
509
|
+
llm_demands: this.params.demands
|
|
510
|
+
}
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
parseFulfillments(message) {
|
|
514
|
+
const { metadata } = message;
|
|
515
|
+
if (!metadata) {
|
|
516
|
+
return void 0;
|
|
517
|
+
}
|
|
518
|
+
const extensionData = metadata[this.uri];
|
|
519
|
+
if (!extensionData) {
|
|
520
|
+
return void 0;
|
|
521
|
+
}
|
|
522
|
+
const { success, data } = this.fulfillmentsSchema.safeParse(extensionData);
|
|
523
|
+
if (!success) {
|
|
524
|
+
return void 0;
|
|
525
|
+
}
|
|
526
|
+
return data;
|
|
527
|
+
}
|
|
528
|
+
};
|
|
529
|
+
var LLMExtensionServer = class {
|
|
530
|
+
spec;
|
|
531
|
+
constructor(params) {
|
|
532
|
+
this.spec = new LLMExtensionSpec(params);
|
|
533
|
+
}
|
|
534
|
+
resolveDeps(fulfillments) {
|
|
535
|
+
return {
|
|
536
|
+
fulfillments: fulfillments?.llm_fulfillments
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
};
|
|
540
|
+
|
|
541
|
+
// src/experimental/server/a2a/extensions/platform-self-registration/index.ts
|
|
542
|
+
var PLATFORM_SELF_REGISTRATION_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/platform-self-registration/v1";
|
|
543
|
+
var PlatformSelfRegistrationExtensionSpec = class {
|
|
544
|
+
uri = PLATFORM_SELF_REGISTRATION_EXTENSION_URI;
|
|
545
|
+
params;
|
|
546
|
+
constructor(params) {
|
|
547
|
+
this.params = params;
|
|
548
|
+
}
|
|
549
|
+
toAgentCardExtension() {
|
|
550
|
+
return {
|
|
551
|
+
uri: this.uri,
|
|
552
|
+
required: false,
|
|
553
|
+
params: this.params
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
parseFulfillments() {
|
|
557
|
+
return void 0;
|
|
558
|
+
}
|
|
559
|
+
};
|
|
560
|
+
|
|
561
|
+
// src/experimental/server/core/config/schemas.ts
|
|
562
|
+
var import_zod25 = __toESM(require("zod"), 1);
|
|
563
|
+
var configSchema = import_zod25.default.object({
|
|
564
|
+
platformUrl: import_zod25.default.string().default("http://127.0.0.1:8333"),
|
|
565
|
+
productionMode: import_zod25.default.string().optional().transform((value) => value?.toLowerCase() === "true" || value === "1").default(false)
|
|
566
|
+
});
|
|
567
|
+
|
|
568
|
+
// src/experimental/server/core/config/index.ts
|
|
569
|
+
function loadConfig() {
|
|
570
|
+
return configSchema.parse({
|
|
571
|
+
platformUrl: process.env.PLATFORM_URL,
|
|
572
|
+
productionMode: process.env.PRODUCTION_MODE
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
function isProductionMode() {
|
|
576
|
+
return loadConfig().productionMode;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// src/experimental/server/core/context/index.ts
|
|
580
|
+
var RunContext = class {
|
|
581
|
+
taskId;
|
|
582
|
+
contextId;
|
|
583
|
+
task;
|
|
584
|
+
constructor(taskId, contextId, task) {
|
|
585
|
+
this.taskId = taskId;
|
|
586
|
+
this.contextId = contextId;
|
|
587
|
+
this.task = task;
|
|
588
|
+
}
|
|
589
|
+
};
|
|
590
|
+
|
|
591
|
+
// src/experimental/server/core/server/index.ts
|
|
592
|
+
var import_server = require("@a2a-js/sdk/server");
|
|
593
|
+
var import_express = require("@a2a-js/sdk/server/express");
|
|
594
|
+
var import_express2 = __toESM(require("express"), 1);
|
|
595
|
+
|
|
596
|
+
// src/client/api/configuration/schemas.ts
|
|
597
|
+
var import_zod26 = __toESM(require("zod"), 1);
|
|
598
|
+
var systemConfigurationSchema = import_zod26.default.object({
|
|
599
|
+
id: import_zod26.default.string(),
|
|
600
|
+
created_by: import_zod26.default.string(),
|
|
601
|
+
updated_at: import_zod26.default.string(),
|
|
602
|
+
default_embedding_model: import_zod26.default.string().nullish(),
|
|
603
|
+
default_llm_model: import_zod26.default.string().nullish()
|
|
604
|
+
});
|
|
605
|
+
var readSystemConfigurationRequestSchema = import_zod26.default.never();
|
|
606
|
+
var readSystemConfigurationResponseSchema = systemConfigurationSchema;
|
|
607
|
+
var updateSystemConfigurationRequestSchema = import_zod26.default.object({
|
|
608
|
+
default_embedding_model: import_zod26.default.string().nullish(),
|
|
609
|
+
default_llm_model: import_zod26.default.string().nullish()
|
|
610
|
+
});
|
|
611
|
+
var updateSystemConfigurationResponseSchema = systemConfigurationSchema;
|
|
612
|
+
|
|
613
|
+
// src/client/api/configuration/api.ts
|
|
614
|
+
function createConfigurationApi(callApi) {
|
|
615
|
+
const readSystemConfiguration = () => callApi({
|
|
616
|
+
method: "GET" /* Get */,
|
|
617
|
+
path: "/api/v1/configurations/system",
|
|
618
|
+
schema: readSystemConfigurationResponseSchema
|
|
619
|
+
});
|
|
620
|
+
const updateSystemConfiguration = ({ ...body }) => callApi({
|
|
621
|
+
method: "PUT" /* Put */,
|
|
622
|
+
path: "/api/v1/configurations/system",
|
|
623
|
+
schema: updateSystemConfigurationResponseSchema,
|
|
624
|
+
body
|
|
625
|
+
});
|
|
626
|
+
return {
|
|
627
|
+
readSystemConfiguration,
|
|
628
|
+
updateSystemConfiguration
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
// src/client/api/connectors/schemas.ts
|
|
633
|
+
var import_zod28 = __toESM(require("zod"), 1);
|
|
634
|
+
|
|
635
|
+
// src/client/api/core/schemas.ts
|
|
636
|
+
var import_zod27 = __toESM(require("zod"), 1);
|
|
637
|
+
var paginationQuerySchema = import_zod27.default.object({
|
|
638
|
+
limit: import_zod27.default.number().optional(),
|
|
639
|
+
order: import_zod27.default.string().optional(),
|
|
640
|
+
order_by: import_zod27.default.string().optional(),
|
|
641
|
+
page_token: import_zod27.default.string().nullish()
|
|
642
|
+
});
|
|
643
|
+
var paginatedResponseSchema = import_zod27.default.object({
|
|
644
|
+
items: import_zod27.default.array(import_zod27.default.unknown()),
|
|
645
|
+
total_count: import_zod27.default.number(),
|
|
646
|
+
has_more: import_zod27.default.boolean(),
|
|
647
|
+
next_page_token: import_zod27.default.string().nullable()
|
|
648
|
+
});
|
|
649
|
+
|
|
650
|
+
// src/client/api/connectors/types.ts
|
|
651
|
+
var ConnectorState = /* @__PURE__ */ ((ConnectorState2) => {
|
|
652
|
+
ConnectorState2["Created"] = "created";
|
|
653
|
+
ConnectorState2["AuthRequired"] = "auth_required";
|
|
654
|
+
ConnectorState2["Connected"] = "connected";
|
|
655
|
+
ConnectorState2["Disconnected"] = "disconnected";
|
|
656
|
+
return ConnectorState2;
|
|
657
|
+
})(ConnectorState || {});
|
|
658
|
+
|
|
659
|
+
// src/client/api/connectors/schemas.ts
|
|
660
|
+
var connectorStateSchema = import_zod28.default.enum(ConnectorState);
|
|
661
|
+
var connectorSchema = import_zod28.default.object({
|
|
662
|
+
id: import_zod28.default.string(),
|
|
663
|
+
url: import_zod28.default.string(),
|
|
664
|
+
state: connectorStateSchema,
|
|
665
|
+
auth_request: import_zod28.default.object({
|
|
666
|
+
type: import_zod28.default.literal("code"),
|
|
667
|
+
authorization_endpoint: import_zod28.default.string()
|
|
668
|
+
}).nullable(),
|
|
669
|
+
disconnect_reason: import_zod28.default.string().nullable(),
|
|
670
|
+
metadata: import_zod28.default.record(import_zod28.default.string(), import_zod28.default.string()).nullable()
|
|
671
|
+
});
|
|
672
|
+
var listConnectorsRequestSchema = import_zod28.default.never();
|
|
673
|
+
var listConnectorsResponseSchema = paginatedResponseSchema.extend({
|
|
674
|
+
items: import_zod28.default.array(connectorSchema)
|
|
675
|
+
});
|
|
676
|
+
var createConnectorRequestSchema = import_zod28.default.object({
|
|
677
|
+
match_preset: import_zod28.default.boolean(),
|
|
678
|
+
url: import_zod28.default.string(),
|
|
679
|
+
client_id: import_zod28.default.string().nullish(),
|
|
680
|
+
client_secret: import_zod28.default.string().nullish(),
|
|
681
|
+
metadata: import_zod28.default.record(import_zod28.default.string(), import_zod28.default.string()).nullish()
|
|
682
|
+
});
|
|
683
|
+
var createConnectorResponseSchema = connectorSchema;
|
|
684
|
+
var readConnectorRequestSchema = import_zod28.default.object({
|
|
685
|
+
connector_id: import_zod28.default.string()
|
|
686
|
+
});
|
|
687
|
+
var readConnectorResponseSchema = connectorSchema;
|
|
688
|
+
var deleteConnectorRequestSchema = import_zod28.default.object({
|
|
689
|
+
connector_id: import_zod28.default.string()
|
|
690
|
+
});
|
|
691
|
+
var deleteConnectorResponseSchema = import_zod28.default.null();
|
|
692
|
+
var connectConnectorRequestSchema = import_zod28.default.object({
|
|
693
|
+
connector_id: import_zod28.default.string(),
|
|
694
|
+
redirect_url: import_zod28.default.string().nullish()
|
|
695
|
+
});
|
|
696
|
+
var connectConnectorResponseSchema = connectorSchema;
|
|
697
|
+
var disconnectConnectorRequestSchema = import_zod28.default.object({
|
|
698
|
+
connector_id: import_zod28.default.string()
|
|
699
|
+
});
|
|
700
|
+
var disconnectConnectorResponseSchema = connectorSchema;
|
|
701
|
+
var connectorPresetSchema = import_zod28.default.object({
|
|
702
|
+
url: import_zod28.default.string(),
|
|
703
|
+
metadata: import_zod28.default.record(import_zod28.default.string(), import_zod28.default.string()).nullable()
|
|
704
|
+
});
|
|
705
|
+
var listConnectorPresetsRequestSchema = import_zod28.default.never();
|
|
706
|
+
var listConnectorPresetsResponseSchema = paginatedResponseSchema.extend({
|
|
707
|
+
items: import_zod28.default.array(connectorPresetSchema)
|
|
708
|
+
});
|
|
709
|
+
|
|
710
|
+
// src/client/api/connectors/api.ts
|
|
711
|
+
function createConnectorsApi(callApi) {
|
|
712
|
+
const listConnectors = () => callApi({
|
|
713
|
+
method: "GET" /* Get */,
|
|
714
|
+
path: "/api/v1/connectors",
|
|
715
|
+
schema: listConnectorsResponseSchema
|
|
716
|
+
});
|
|
717
|
+
const createConnector = ({ ...body }) => callApi({
|
|
718
|
+
method: "POST" /* Post */,
|
|
719
|
+
path: "/api/v1/connectors",
|
|
720
|
+
schema: createConnectorResponseSchema,
|
|
721
|
+
body
|
|
722
|
+
});
|
|
723
|
+
const readConnector = ({ connector_id }) => callApi({
|
|
724
|
+
method: "GET" /* Get */,
|
|
725
|
+
path: `/api/v1/connectors/${connector_id}`,
|
|
726
|
+
schema: readConnectorResponseSchema
|
|
727
|
+
});
|
|
728
|
+
const deleteConnector = ({ connector_id }) => callApi({
|
|
729
|
+
method: "DELETE" /* Delete */,
|
|
730
|
+
path: `/api/v1/connectors/${connector_id}`,
|
|
731
|
+
schema: deleteConnectorResponseSchema
|
|
732
|
+
});
|
|
733
|
+
const connectConnector = ({ connector_id, ...body }) => callApi({
|
|
734
|
+
method: "POST" /* Post */,
|
|
735
|
+
path: `/api/v1/connectors/${connector_id}/connect`,
|
|
736
|
+
schema: connectConnectorResponseSchema,
|
|
737
|
+
body
|
|
738
|
+
});
|
|
739
|
+
const disconnectConnector = ({ connector_id }) => callApi({
|
|
740
|
+
method: "POST" /* Post */,
|
|
741
|
+
path: `/api/v1/connectors/${connector_id}/disconnect`,
|
|
742
|
+
schema: disconnectConnectorResponseSchema
|
|
743
|
+
});
|
|
744
|
+
const listConnectorPresets = () => callApi({
|
|
745
|
+
method: "GET" /* Get */,
|
|
746
|
+
path: "/api/v1/connectors/presets",
|
|
747
|
+
schema: listConnectorPresetsResponseSchema
|
|
748
|
+
});
|
|
749
|
+
return {
|
|
750
|
+
listConnectors,
|
|
751
|
+
createConnector,
|
|
752
|
+
readConnector,
|
|
753
|
+
deleteConnector,
|
|
754
|
+
connectConnector,
|
|
755
|
+
disconnectConnector,
|
|
756
|
+
listConnectorPresets
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
// src/client/api/contexts/schemas.ts
|
|
761
|
+
var import_zod31 = __toESM(require("zod"), 1);
|
|
762
|
+
|
|
763
|
+
// src/client/a2a/protocol/schemas.ts
|
|
764
|
+
var import_zod30 = __toESM(require("zod"), 1);
|
|
765
|
+
|
|
766
|
+
// src/client/a2a/protocol/utils.ts
|
|
767
|
+
var import_zod29 = __toESM(require("zod"), 1);
|
|
768
|
+
function a2aSchema(schema) {
|
|
769
|
+
return import_zod29.default.preprocess((value) => normalizeOptionalNulls(schema, value), schema);
|
|
770
|
+
}
|
|
771
|
+
function normalizeOptionalNulls(schema, data) {
|
|
772
|
+
if (schema instanceof import_zod29.default.ZodOptional) {
|
|
773
|
+
if (data === null) {
|
|
774
|
+
return void 0;
|
|
775
|
+
}
|
|
776
|
+
return normalizeOptionalNulls(schema.unwrap(), data);
|
|
777
|
+
}
|
|
778
|
+
if (schema instanceof import_zod29.default.ZodObject) {
|
|
779
|
+
if (data === null || typeof data !== "object" || Array.isArray(data)) {
|
|
780
|
+
return data;
|
|
781
|
+
}
|
|
782
|
+
const { shape } = schema;
|
|
783
|
+
const record = data;
|
|
784
|
+
return Object.keys(record).reduce((acc, key) => {
|
|
785
|
+
acc[key] = key in shape ? normalizeOptionalNulls(shape[key], record[key]) : record[key];
|
|
786
|
+
return acc;
|
|
787
|
+
}, {});
|
|
788
|
+
}
|
|
789
|
+
return data;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
// src/client/a2a/protocol/schemas.ts
|
|
793
|
+
var agentInterfaceSchema = a2aSchema(
|
|
794
|
+
import_zod30.default.object({
|
|
795
|
+
transport: import_zod30.default.string(),
|
|
796
|
+
url: import_zod30.default.string()
|
|
797
|
+
})
|
|
798
|
+
);
|
|
799
|
+
var agentExtensionSchema = a2aSchema(
|
|
800
|
+
import_zod30.default.object({
|
|
801
|
+
uri: import_zod30.default.string(),
|
|
802
|
+
description: import_zod30.default.string().optional(),
|
|
803
|
+
required: import_zod30.default.boolean().optional(),
|
|
804
|
+
params: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
805
|
+
})
|
|
806
|
+
);
|
|
807
|
+
var agentCapabilitiesSchema = a2aSchema(
|
|
808
|
+
import_zod30.default.object({
|
|
809
|
+
extensions: import_zod30.default.array(agentExtensionSchema).optional(),
|
|
810
|
+
pushNotifications: import_zod30.default.boolean().optional(),
|
|
811
|
+
stateTransitionHistory: import_zod30.default.boolean().optional(),
|
|
812
|
+
streaming: import_zod30.default.boolean().optional()
|
|
813
|
+
})
|
|
814
|
+
);
|
|
815
|
+
var agentProviderSchema = a2aSchema(
|
|
816
|
+
import_zod30.default.object({
|
|
817
|
+
url: import_zod30.default.string(),
|
|
818
|
+
organization: import_zod30.default.string()
|
|
819
|
+
})
|
|
820
|
+
);
|
|
821
|
+
var agentCardSignatureSchema = a2aSchema(
|
|
822
|
+
import_zod30.default.object({
|
|
823
|
+
signature: import_zod30.default.string(),
|
|
824
|
+
protected: import_zod30.default.string(),
|
|
825
|
+
header: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
826
|
+
})
|
|
827
|
+
);
|
|
828
|
+
var agentSkillSchema = a2aSchema(
|
|
829
|
+
import_zod30.default.object({
|
|
830
|
+
id: import_zod30.default.string(),
|
|
831
|
+
name: import_zod30.default.string(),
|
|
832
|
+
description: import_zod30.default.string(),
|
|
833
|
+
tags: import_zod30.default.array(import_zod30.default.string()),
|
|
834
|
+
inputModes: import_zod30.default.array(import_zod30.default.string()).optional(),
|
|
835
|
+
outputModes: import_zod30.default.array(import_zod30.default.string()).optional(),
|
|
836
|
+
examples: import_zod30.default.array(import_zod30.default.string()).optional(),
|
|
837
|
+
security: import_zod30.default.array(import_zod30.default.record(import_zod30.default.string(), import_zod30.default.array(import_zod30.default.string()))).optional()
|
|
838
|
+
})
|
|
839
|
+
);
|
|
840
|
+
var authorizationCodeOAuthFlowSchema = a2aSchema(
|
|
841
|
+
import_zod30.default.object({
|
|
842
|
+
authorizationUrl: import_zod30.default.string(),
|
|
843
|
+
tokenUrl: import_zod30.default.string(),
|
|
844
|
+
scopes: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.string()),
|
|
845
|
+
refreshUrl: import_zod30.default.string().optional()
|
|
846
|
+
})
|
|
847
|
+
);
|
|
848
|
+
var clientCredentialsOAuthFlowSchema = a2aSchema(
|
|
849
|
+
import_zod30.default.object({
|
|
850
|
+
tokenUrl: import_zod30.default.string(),
|
|
851
|
+
scopes: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.string()),
|
|
852
|
+
refreshUrl: import_zod30.default.string().optional()
|
|
853
|
+
})
|
|
854
|
+
);
|
|
855
|
+
var implicitOAuthFlowSchema = a2aSchema(
|
|
856
|
+
import_zod30.default.object({
|
|
857
|
+
authorizationUrl: import_zod30.default.string(),
|
|
858
|
+
scopes: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.string()),
|
|
859
|
+
refreshUrl: import_zod30.default.string().optional()
|
|
860
|
+
})
|
|
861
|
+
);
|
|
862
|
+
var passwordOAuthFlowSchema = a2aSchema(
|
|
863
|
+
import_zod30.default.object({
|
|
864
|
+
tokenUrl: import_zod30.default.string(),
|
|
865
|
+
scopes: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.string()),
|
|
866
|
+
refreshUrl: import_zod30.default.string().optional()
|
|
867
|
+
})
|
|
868
|
+
);
|
|
869
|
+
var oauthFlowsSchema = a2aSchema(
|
|
870
|
+
import_zod30.default.object({
|
|
871
|
+
authorizationCode: authorizationCodeOAuthFlowSchema.optional(),
|
|
872
|
+
clientCredentials: clientCredentialsOAuthFlowSchema.optional(),
|
|
873
|
+
implicit: implicitOAuthFlowSchema.optional(),
|
|
874
|
+
password: passwordOAuthFlowSchema.optional()
|
|
875
|
+
})
|
|
876
|
+
);
|
|
877
|
+
var apiKeySecuritySchemeSchema = a2aSchema(
|
|
878
|
+
import_zod30.default.object({
|
|
879
|
+
type: import_zod30.default.literal("apiKey"),
|
|
880
|
+
name: import_zod30.default.string(),
|
|
881
|
+
in: import_zod30.default.literal(["cookie", "header", "query"]),
|
|
882
|
+
description: import_zod30.default.string().optional()
|
|
883
|
+
})
|
|
884
|
+
);
|
|
885
|
+
var httpAuthSecuritySchemeSchema = a2aSchema(
|
|
886
|
+
import_zod30.default.object({
|
|
887
|
+
type: import_zod30.default.literal("http"),
|
|
888
|
+
scheme: import_zod30.default.string(),
|
|
889
|
+
description: import_zod30.default.string().optional(),
|
|
890
|
+
bearerFormat: import_zod30.default.string().optional()
|
|
891
|
+
})
|
|
892
|
+
);
|
|
893
|
+
var oauth2SecuritySchemeSchema = a2aSchema(
|
|
894
|
+
import_zod30.default.object({
|
|
895
|
+
type: import_zod30.default.literal("oauth2"),
|
|
896
|
+
flows: oauthFlowsSchema,
|
|
897
|
+
description: import_zod30.default.string().optional(),
|
|
898
|
+
oauth2MetadataUrl: import_zod30.default.string().optional()
|
|
899
|
+
})
|
|
900
|
+
);
|
|
901
|
+
var openIdConnectSecuritySchemeSchema = a2aSchema(
|
|
902
|
+
import_zod30.default.object({
|
|
903
|
+
type: import_zod30.default.literal("openIdConnect"),
|
|
904
|
+
openIdConnectUrl: import_zod30.default.string(),
|
|
905
|
+
description: import_zod30.default.string().optional()
|
|
906
|
+
})
|
|
907
|
+
);
|
|
908
|
+
var mutualTlsSecuritySchemeSchema = a2aSchema(
|
|
909
|
+
import_zod30.default.object({
|
|
910
|
+
type: import_zod30.default.literal("mutualTLS"),
|
|
911
|
+
description: import_zod30.default.string().optional()
|
|
912
|
+
})
|
|
913
|
+
);
|
|
914
|
+
var securitySchemeSchema = a2aSchema(
|
|
915
|
+
import_zod30.default.union([
|
|
916
|
+
apiKeySecuritySchemeSchema,
|
|
917
|
+
httpAuthSecuritySchemeSchema,
|
|
918
|
+
oauth2SecuritySchemeSchema,
|
|
919
|
+
openIdConnectSecuritySchemeSchema,
|
|
920
|
+
mutualTlsSecuritySchemeSchema
|
|
921
|
+
])
|
|
922
|
+
);
|
|
923
|
+
var agentCardSchema = a2aSchema(
|
|
924
|
+
import_zod30.default.object({
|
|
925
|
+
url: import_zod30.default.string(),
|
|
926
|
+
name: import_zod30.default.string(),
|
|
927
|
+
description: import_zod30.default.string(),
|
|
928
|
+
version: import_zod30.default.string(),
|
|
929
|
+
protocolVersion: import_zod30.default.string(),
|
|
930
|
+
capabilities: agentCapabilitiesSchema,
|
|
931
|
+
defaultInputModes: import_zod30.default.array(import_zod30.default.string()),
|
|
932
|
+
defaultOutputModes: import_zod30.default.array(import_zod30.default.string()),
|
|
933
|
+
skills: import_zod30.default.array(agentSkillSchema),
|
|
934
|
+
iconUrl: import_zod30.default.string().optional(),
|
|
935
|
+
documentationUrl: import_zod30.default.string().optional(),
|
|
936
|
+
preferredTransport: import_zod30.default.string().optional(),
|
|
937
|
+
supportsAuthenticatedExtendedCard: import_zod30.default.boolean().optional(),
|
|
938
|
+
additionalInterfaces: import_zod30.default.array(agentInterfaceSchema).optional(),
|
|
939
|
+
provider: agentProviderSchema.optional(),
|
|
940
|
+
signatures: import_zod30.default.array(agentCardSignatureSchema).optional(),
|
|
941
|
+
security: import_zod30.default.array(import_zod30.default.record(import_zod30.default.string(), import_zod30.default.array(import_zod30.default.string()))).optional(),
|
|
942
|
+
securitySchemes: import_zod30.default.record(import_zod30.default.string(), securitySchemeSchema).optional()
|
|
943
|
+
})
|
|
944
|
+
);
|
|
945
|
+
var fileWithBytesSchema = a2aSchema(
|
|
946
|
+
import_zod30.default.object({
|
|
947
|
+
bytes: import_zod30.default.string(),
|
|
948
|
+
mimeType: import_zod30.default.string().optional(),
|
|
949
|
+
name: import_zod30.default.string().optional()
|
|
950
|
+
})
|
|
951
|
+
);
|
|
952
|
+
var fileWithUriSchema = a2aSchema(
|
|
953
|
+
import_zod30.default.object({
|
|
954
|
+
uri: import_zod30.default.string(),
|
|
955
|
+
mimeType: import_zod30.default.string().optional(),
|
|
956
|
+
name: import_zod30.default.string().optional()
|
|
957
|
+
})
|
|
958
|
+
);
|
|
959
|
+
var textPartSchema = a2aSchema(
|
|
960
|
+
import_zod30.default.object({
|
|
961
|
+
kind: import_zod30.default.literal("text"),
|
|
962
|
+
text: import_zod30.default.string(),
|
|
963
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
964
|
+
})
|
|
965
|
+
);
|
|
966
|
+
var filePartSchema = a2aSchema(
|
|
967
|
+
import_zod30.default.object({
|
|
968
|
+
kind: import_zod30.default.literal("file"),
|
|
969
|
+
file: import_zod30.default.union([fileWithBytesSchema, fileWithUriSchema]),
|
|
970
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
971
|
+
})
|
|
972
|
+
);
|
|
973
|
+
var dataPartSchema = a2aSchema(
|
|
974
|
+
import_zod30.default.object({
|
|
975
|
+
kind: import_zod30.default.literal("data"),
|
|
976
|
+
data: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()),
|
|
977
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
978
|
+
})
|
|
979
|
+
);
|
|
980
|
+
var partSchema = a2aSchema(import_zod30.default.union([textPartSchema, filePartSchema, dataPartSchema]));
|
|
981
|
+
var artifactSchema = a2aSchema(
|
|
982
|
+
import_zod30.default.object({
|
|
983
|
+
artifactId: import_zod30.default.string(),
|
|
984
|
+
parts: import_zod30.default.array(partSchema),
|
|
985
|
+
description: import_zod30.default.string().optional(),
|
|
986
|
+
extensions: import_zod30.default.array(import_zod30.default.string()).optional(),
|
|
987
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional(),
|
|
988
|
+
name: import_zod30.default.string().optional()
|
|
989
|
+
})
|
|
990
|
+
);
|
|
991
|
+
var messageSchema = a2aSchema(
|
|
992
|
+
import_zod30.default.object({
|
|
993
|
+
kind: import_zod30.default.literal("message"),
|
|
994
|
+
messageId: import_zod30.default.string(),
|
|
995
|
+
parts: import_zod30.default.array(partSchema),
|
|
996
|
+
role: import_zod30.default.literal(["agent", "user"]),
|
|
997
|
+
contextId: import_zod30.default.string().optional(),
|
|
998
|
+
extensions: import_zod30.default.array(import_zod30.default.string()).optional(),
|
|
999
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional(),
|
|
1000
|
+
referenceTaskIds: import_zod30.default.array(import_zod30.default.string()).optional(),
|
|
1001
|
+
taskId: import_zod30.default.string().optional()
|
|
1002
|
+
})
|
|
1003
|
+
);
|
|
1004
|
+
var taskStatusSchema = a2aSchema(
|
|
1005
|
+
import_zod30.default.object({
|
|
1006
|
+
state: import_zod30.default.literal([
|
|
1007
|
+
"submitted",
|
|
1008
|
+
"working",
|
|
1009
|
+
"input-required",
|
|
1010
|
+
"completed",
|
|
1011
|
+
"canceled",
|
|
1012
|
+
"failed",
|
|
1013
|
+
"rejected",
|
|
1014
|
+
"auth-required",
|
|
1015
|
+
"unknown"
|
|
1016
|
+
]),
|
|
1017
|
+
message: messageSchema.optional(),
|
|
1018
|
+
timestamp: import_zod30.default.string().optional()
|
|
1019
|
+
})
|
|
1020
|
+
);
|
|
1021
|
+
var taskStatusUpdateEventSchema = a2aSchema(
|
|
1022
|
+
import_zod30.default.object({
|
|
1023
|
+
kind: import_zod30.default.literal("status-update"),
|
|
1024
|
+
taskId: import_zod30.default.string(),
|
|
1025
|
+
contextId: import_zod30.default.string(),
|
|
1026
|
+
status: taskStatusSchema,
|
|
1027
|
+
final: import_zod30.default.boolean(),
|
|
1028
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
1029
|
+
})
|
|
1030
|
+
);
|
|
1031
|
+
var taskSchema = a2aSchema(
|
|
1032
|
+
import_zod30.default.object({
|
|
1033
|
+
kind: import_zod30.default.literal("task"),
|
|
1034
|
+
id: import_zod30.default.string(),
|
|
1035
|
+
contextId: import_zod30.default.string(),
|
|
1036
|
+
status: taskStatusSchema,
|
|
1037
|
+
artifacts: import_zod30.default.array(artifactSchema).optional(),
|
|
1038
|
+
history: import_zod30.default.array(messageSchema).optional(),
|
|
1039
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
1040
|
+
})
|
|
1041
|
+
);
|
|
1042
|
+
var taskArtifactUpdateEventSchema = a2aSchema(
|
|
1043
|
+
import_zod30.default.object({
|
|
1044
|
+
kind: import_zod30.default.literal("artifact-update"),
|
|
1045
|
+
taskId: import_zod30.default.string(),
|
|
1046
|
+
contextId: import_zod30.default.string(),
|
|
1047
|
+
artifact: artifactSchema,
|
|
1048
|
+
append: import_zod30.default.boolean().optional(),
|
|
1049
|
+
lastChunk: import_zod30.default.boolean().optional(),
|
|
1050
|
+
metadata: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
1051
|
+
})
|
|
1052
|
+
);
|
|
1053
|
+
var errorBaseSchema = import_zod30.default.object({
|
|
1054
|
+
message: import_zod30.default.string(),
|
|
1055
|
+
data: import_zod30.default.record(import_zod30.default.string(), import_zod30.default.unknown()).optional()
|
|
1056
|
+
});
|
|
1057
|
+
var jsonRpcErrorSchema = a2aSchema(
|
|
1058
|
+
errorBaseSchema.extend({
|
|
1059
|
+
code: import_zod30.default.number()
|
|
1060
|
+
})
|
|
1061
|
+
);
|
|
1062
|
+
var jsonParseErrorSchema = a2aSchema(
|
|
1063
|
+
errorBaseSchema.extend({
|
|
1064
|
+
code: import_zod30.default.literal(-32700)
|
|
1065
|
+
})
|
|
1066
|
+
);
|
|
1067
|
+
var invalidRequestErrorSchema = a2aSchema(
|
|
1068
|
+
errorBaseSchema.extend({
|
|
1069
|
+
code: import_zod30.default.literal(-32600)
|
|
1070
|
+
})
|
|
1071
|
+
);
|
|
1072
|
+
var methodNotFoundErrorSchema = a2aSchema(
|
|
1073
|
+
errorBaseSchema.extend({
|
|
1074
|
+
code: import_zod30.default.literal(-32601)
|
|
1075
|
+
})
|
|
1076
|
+
);
|
|
1077
|
+
var invalidParamsErrorSchema = a2aSchema(
|
|
1078
|
+
errorBaseSchema.extend({
|
|
1079
|
+
code: import_zod30.default.literal(-32602)
|
|
1080
|
+
})
|
|
1081
|
+
);
|
|
1082
|
+
var internalErrorSchema = a2aSchema(
|
|
1083
|
+
errorBaseSchema.extend({
|
|
1084
|
+
code: import_zod30.default.literal(-32603)
|
|
1085
|
+
})
|
|
1086
|
+
);
|
|
1087
|
+
var taskNotFoundErrorSchema = a2aSchema(
|
|
1088
|
+
errorBaseSchema.extend({
|
|
1089
|
+
code: import_zod30.default.literal(-32001)
|
|
1090
|
+
})
|
|
1091
|
+
);
|
|
1092
|
+
var taskNotCancelableErrorSchema = a2aSchema(
|
|
1093
|
+
errorBaseSchema.extend({
|
|
1094
|
+
code: import_zod30.default.literal(-32002)
|
|
1095
|
+
})
|
|
1096
|
+
);
|
|
1097
|
+
var pushNotificationNotSupportedErrorSchema = a2aSchema(
|
|
1098
|
+
errorBaseSchema.extend({
|
|
1099
|
+
code: import_zod30.default.literal(-32003)
|
|
1100
|
+
})
|
|
1101
|
+
);
|
|
1102
|
+
var unsupportedOperationErrorSchema = a2aSchema(
|
|
1103
|
+
errorBaseSchema.extend({
|
|
1104
|
+
code: import_zod30.default.literal(-32004)
|
|
1105
|
+
})
|
|
1106
|
+
);
|
|
1107
|
+
var contentTypeNotSupportedErrorSchema = a2aSchema(
|
|
1108
|
+
errorBaseSchema.extend({
|
|
1109
|
+
code: import_zod30.default.literal(-32005)
|
|
1110
|
+
})
|
|
1111
|
+
);
|
|
1112
|
+
var invalidAgentResponseErrorSchema = a2aSchema(
|
|
1113
|
+
errorBaseSchema.extend({
|
|
1114
|
+
code: import_zod30.default.literal(-32006)
|
|
1115
|
+
})
|
|
1116
|
+
);
|
|
1117
|
+
var authenticatedExtendedCardNotConfiguredErrorSchema = a2aSchema(
|
|
1118
|
+
errorBaseSchema.extend({
|
|
1119
|
+
code: import_zod30.default.literal(-32007)
|
|
1120
|
+
})
|
|
1121
|
+
);
|
|
1122
|
+
var jsonRpcErrorResponseSchema = a2aSchema(
|
|
1123
|
+
import_zod30.default.object({
|
|
1124
|
+
jsonrpc: import_zod30.default.literal("2.0"),
|
|
1125
|
+
id: import_zod30.default.union([import_zod30.default.string(), import_zod30.default.number()]).nullable(),
|
|
1126
|
+
error: import_zod30.default.union([
|
|
1127
|
+
jsonRpcErrorSchema,
|
|
1128
|
+
jsonParseErrorSchema,
|
|
1129
|
+
invalidRequestErrorSchema,
|
|
1130
|
+
methodNotFoundErrorSchema,
|
|
1131
|
+
invalidParamsErrorSchema,
|
|
1132
|
+
internalErrorSchema,
|
|
1133
|
+
taskNotFoundErrorSchema,
|
|
1134
|
+
taskNotCancelableErrorSchema,
|
|
1135
|
+
pushNotificationNotSupportedErrorSchema,
|
|
1136
|
+
unsupportedOperationErrorSchema,
|
|
1137
|
+
contentTypeNotSupportedErrorSchema,
|
|
1138
|
+
invalidAgentResponseErrorSchema,
|
|
1139
|
+
authenticatedExtendedCardNotConfiguredErrorSchema
|
|
1140
|
+
])
|
|
1141
|
+
})
|
|
1142
|
+
);
|
|
1143
|
+
var getTaskSuccessResponseSchema = a2aSchema(
|
|
1144
|
+
import_zod30.default.object({
|
|
1145
|
+
jsonrpc: import_zod30.default.literal("2.0"),
|
|
1146
|
+
id: import_zod30.default.union([import_zod30.default.string(), import_zod30.default.number()]).nullable(),
|
|
1147
|
+
result: taskSchema
|
|
1148
|
+
})
|
|
1149
|
+
);
|
|
1150
|
+
var getTaskResponseSchema = a2aSchema(import_zod30.default.union([jsonRpcErrorResponseSchema, getTaskSuccessResponseSchema]));
|
|
1151
|
+
|
|
1152
|
+
// src/client/api/contexts/types.ts
|
|
1153
|
+
var ContextHistoryKind = /* @__PURE__ */ ((ContextHistoryKind2) => {
|
|
1154
|
+
ContextHistoryKind2["Artifact"] = "artifact";
|
|
1155
|
+
ContextHistoryKind2["Message"] = "message";
|
|
1156
|
+
return ContextHistoryKind2;
|
|
1157
|
+
})(ContextHistoryKind || {});
|
|
1158
|
+
|
|
1159
|
+
// src/client/api/contexts/schemas.ts
|
|
1160
|
+
var contextSchema = import_zod31.default.object({
|
|
1161
|
+
id: import_zod31.default.string(),
|
|
1162
|
+
created_at: import_zod31.default.string(),
|
|
1163
|
+
updated_at: import_zod31.default.string(),
|
|
1164
|
+
last_active_at: import_zod31.default.string(),
|
|
1165
|
+
created_by: import_zod31.default.string(),
|
|
1166
|
+
provider_id: import_zod31.default.string().nullable(),
|
|
1167
|
+
metadata: import_zod31.default.record(import_zod31.default.string(), import_zod31.default.unknown()).nullable()
|
|
1168
|
+
});
|
|
1169
|
+
var listContextsRequestSchema = import_zod31.default.object({
|
|
1170
|
+
query: paginationQuerySchema.extend({
|
|
1171
|
+
provider_id: import_zod31.default.string().nullish(),
|
|
1172
|
+
include_empty: import_zod31.default.boolean().optional()
|
|
1173
|
+
}).optional()
|
|
1174
|
+
});
|
|
1175
|
+
var listContextsResponseSchema = paginatedResponseSchema.extend({
|
|
1176
|
+
items: import_zod31.default.array(contextSchema)
|
|
1177
|
+
});
|
|
1178
|
+
var createContextRequestSchema = import_zod31.default.object({
|
|
1179
|
+
provider_id: import_zod31.default.string().nullish(),
|
|
1180
|
+
metadata: import_zod31.default.record(import_zod31.default.string(), import_zod31.default.string()).nullish()
|
|
1181
|
+
});
|
|
1182
|
+
var createContextResponseSchema = contextSchema;
|
|
1183
|
+
var readContextRequestSchema = import_zod31.default.object({
|
|
1184
|
+
context_id: import_zod31.default.string()
|
|
1185
|
+
});
|
|
1186
|
+
var readContextResponseSchema = contextSchema;
|
|
1187
|
+
var updateContextRequestSchema = import_zod31.default.object({
|
|
1188
|
+
context_id: import_zod31.default.string(),
|
|
1189
|
+
metadata: import_zod31.default.record(import_zod31.default.string(), import_zod31.default.string()).nullish()
|
|
1190
|
+
});
|
|
1191
|
+
var updateContextResponseSchema = contextSchema;
|
|
1192
|
+
var deleteContextRequestSchema = import_zod31.default.object({
|
|
1193
|
+
context_id: import_zod31.default.string()
|
|
1194
|
+
});
|
|
1195
|
+
var deleteContextResponseSchema = import_zod31.default.null();
|
|
1196
|
+
var contextHistoryKind = import_zod31.default.enum(ContextHistoryKind);
|
|
1197
|
+
var contextHistorySchema = import_zod31.default.object({
|
|
1198
|
+
id: import_zod31.default.string(),
|
|
1199
|
+
context_id: import_zod31.default.string(),
|
|
1200
|
+
created_at: import_zod31.default.string(),
|
|
1201
|
+
kind: contextHistoryKind,
|
|
1202
|
+
data: import_zod31.default.union([artifactSchema, messageSchema])
|
|
1203
|
+
});
|
|
1204
|
+
var listContextHistoryRequestSchema = import_zod31.default.object({
|
|
1205
|
+
context_id: import_zod31.default.string(),
|
|
1206
|
+
query: paginationQuerySchema.optional()
|
|
1207
|
+
});
|
|
1208
|
+
var listContextHistoryResponseSchema = paginatedResponseSchema.extend({
|
|
1209
|
+
items: import_zod31.default.array(contextHistorySchema)
|
|
1210
|
+
});
|
|
1211
|
+
var createContextHistoryRequestSchema = import_zod31.default.object({
|
|
1212
|
+
context_id: import_zod31.default.string(),
|
|
1213
|
+
data: import_zod31.default.union([artifactSchema, messageSchema])
|
|
1214
|
+
});
|
|
1215
|
+
var createContextHistoryResponseSchema = import_zod31.default.null();
|
|
1216
|
+
var patchContextMetadataRequestSchema = import_zod31.default.object({
|
|
1217
|
+
context_id: import_zod31.default.string(),
|
|
1218
|
+
metadata: import_zod31.default.record(import_zod31.default.string(), import_zod31.default.union([import_zod31.default.string(), import_zod31.default.null()]))
|
|
1219
|
+
});
|
|
1220
|
+
var patchContextMetadataResponseSchema = contextSchema;
|
|
1221
|
+
var contextTokenSchema = import_zod31.default.object({
|
|
1222
|
+
token: import_zod31.default.string(),
|
|
1223
|
+
expires_at: import_zod31.default.string().nullable()
|
|
1224
|
+
});
|
|
1225
|
+
var resourceIdPermissionSchema = import_zod31.default.object({
|
|
1226
|
+
id: import_zod31.default.string()
|
|
1227
|
+
});
|
|
1228
|
+
var contextPermissionsGrantSchema = import_zod31.default.object({
|
|
1229
|
+
files: import_zod31.default.array(import_zod31.default.literal(["read", "write", "extract", "*"])).optional(),
|
|
1230
|
+
vector_stores: import_zod31.default.array(import_zod31.default.literal(["read", "write", "*"])).optional(),
|
|
1231
|
+
context_data: import_zod31.default.array(import_zod31.default.literal(["read", "write", "*"])).optional()
|
|
1232
|
+
});
|
|
1233
|
+
var globalPermissionsGrantSchema = contextPermissionsGrantSchema.extend({
|
|
1234
|
+
feedback: import_zod31.default.array(import_zod31.default.literal("write")).optional(),
|
|
1235
|
+
llm: import_zod31.default.array(import_zod31.default.union([import_zod31.default.literal("*"), resourceIdPermissionSchema])).optional(),
|
|
1236
|
+
embeddings: import_zod31.default.array(import_zod31.default.union([import_zod31.default.literal("*"), resourceIdPermissionSchema])).optional(),
|
|
1237
|
+
model_providers: import_zod31.default.array(import_zod31.default.literal(["read", "write", "*"])).optional(),
|
|
1238
|
+
a2a_proxy: import_zod31.default.array(import_zod31.default.union([import_zod31.default.literal("*"), import_zod31.default.string()])).optional(),
|
|
1239
|
+
providers: import_zod31.default.array(import_zod31.default.literal(["read", "write", "*"])).optional(),
|
|
1240
|
+
provider_variables: import_zod31.default.array(import_zod31.default.literal(["read", "write", "*"])).optional(),
|
|
1241
|
+
contexts: import_zod31.default.array(import_zod31.default.literal(["read", "write", "*"])).optional(),
|
|
1242
|
+
connectors: import_zod31.default.array(import_zod31.default.literal(["read", "write", "proxy", "*"])).optional()
|
|
1243
|
+
}).superRefine((val, ctx) => {
|
|
1244
|
+
if (!val.a2a_proxy) return;
|
|
1245
|
+
if (val.a2a_proxy.length === 0) {
|
|
1246
|
+
ctx.addIssue({
|
|
1247
|
+
code: import_zod31.default.ZodIssueCode.custom,
|
|
1248
|
+
message: "a2a_proxy cannot be empty array",
|
|
1249
|
+
path: ["a2a_proxy"]
|
|
1250
|
+
});
|
|
1251
|
+
return;
|
|
1252
|
+
}
|
|
1253
|
+
const hasWildcard = val.a2a_proxy.includes("*");
|
|
1254
|
+
const hasOthers = val.a2a_proxy.some((v) => v !== "*");
|
|
1255
|
+
if (hasWildcard && hasOthers) {
|
|
1256
|
+
ctx.addIssue({
|
|
1257
|
+
code: import_zod31.default.ZodIssueCode.custom,
|
|
1258
|
+
message: "a2a_proxy cannot mix '*' with specific providers",
|
|
1259
|
+
path: ["a2a_proxy"]
|
|
1260
|
+
});
|
|
1261
|
+
}
|
|
1262
|
+
});
|
|
1263
|
+
var createContextTokenRequestSchema = import_zod31.default.object({
|
|
1264
|
+
context_id: import_zod31.default.string(),
|
|
1265
|
+
grant_context_permissions: contextPermissionsGrantSchema.optional(),
|
|
1266
|
+
grant_global_permissions: globalPermissionsGrantSchema.optional()
|
|
1267
|
+
});
|
|
1268
|
+
var createContextTokenResponseSchema = contextTokenSchema;
|
|
1269
|
+
|
|
1270
|
+
// src/client/api/contexts/api.ts
|
|
1271
|
+
function createContextsApi(callApi) {
|
|
1272
|
+
const listContexts = ({ query }) => callApi({
|
|
1273
|
+
method: "GET" /* Get */,
|
|
1274
|
+
path: "/api/v1/contexts",
|
|
1275
|
+
schema: listContextsResponseSchema,
|
|
1276
|
+
query
|
|
1277
|
+
});
|
|
1278
|
+
const createContext = ({ ...body }) => callApi({
|
|
1279
|
+
method: "POST" /* Post */,
|
|
1280
|
+
path: "/api/v1/contexts",
|
|
1281
|
+
schema: createContextResponseSchema,
|
|
1282
|
+
body
|
|
1283
|
+
});
|
|
1284
|
+
const readContext = ({ context_id }) => callApi({
|
|
1285
|
+
method: "GET" /* Get */,
|
|
1286
|
+
path: `/api/v1/contexts/${context_id}`,
|
|
1287
|
+
schema: readContextResponseSchema
|
|
1288
|
+
});
|
|
1289
|
+
const updateContext = ({ context_id, ...body }) => callApi({
|
|
1290
|
+
method: "PUT" /* Put */,
|
|
1291
|
+
path: `/api/v1/contexts/${context_id}`,
|
|
1292
|
+
schema: updateContextResponseSchema,
|
|
1293
|
+
body
|
|
1294
|
+
});
|
|
1295
|
+
const deleteContext = ({ context_id }) => callApi({
|
|
1296
|
+
method: "DELETE" /* Delete */,
|
|
1297
|
+
path: `/api/v1/contexts/${context_id}`,
|
|
1298
|
+
schema: deleteContextResponseSchema
|
|
1299
|
+
});
|
|
1300
|
+
const listContextHistory = ({ context_id, query }) => callApi({
|
|
1301
|
+
method: "GET" /* Get */,
|
|
1302
|
+
path: `/api/v1/contexts/${context_id}/history`,
|
|
1303
|
+
schema: listContextHistoryResponseSchema,
|
|
1304
|
+
query
|
|
1305
|
+
});
|
|
1306
|
+
const createContextHistory = ({ context_id, ...body }) => callApi({
|
|
1307
|
+
method: "POST" /* Post */,
|
|
1308
|
+
path: `/api/v1/contexts/${context_id}/history`,
|
|
1309
|
+
schema: createContextHistoryResponseSchema,
|
|
1310
|
+
body
|
|
1311
|
+
});
|
|
1312
|
+
const patchContextMetadata = ({ context_id, ...body }) => callApi({
|
|
1313
|
+
method: "PATCH" /* Patch */,
|
|
1314
|
+
path: `/api/v1/contexts/${context_id}/metadata`,
|
|
1315
|
+
schema: patchContextMetadataResponseSchema,
|
|
1316
|
+
body
|
|
1317
|
+
});
|
|
1318
|
+
const createContextToken = ({ context_id, ...body }) => callApi({
|
|
1319
|
+
method: "POST" /* Post */,
|
|
1320
|
+
path: `/api/v1/contexts/${context_id}/token`,
|
|
1321
|
+
schema: createContextTokenResponseSchema,
|
|
1322
|
+
body
|
|
1323
|
+
});
|
|
1324
|
+
return {
|
|
1325
|
+
listContexts,
|
|
1326
|
+
createContext,
|
|
1327
|
+
readContext,
|
|
1328
|
+
updateContext,
|
|
1329
|
+
deleteContext,
|
|
1330
|
+
listContextHistory,
|
|
1331
|
+
createContextHistory,
|
|
1332
|
+
patchContextMetadata,
|
|
1333
|
+
createContextToken
|
|
1334
|
+
};
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
// src/client/api/files/schemas.ts
|
|
1338
|
+
var import_zod32 = __toESM(require("zod"), 1);
|
|
1339
|
+
|
|
1340
|
+
// src/client/api/files/types.ts
|
|
1341
|
+
var FileType = /* @__PURE__ */ ((FileType2) => {
|
|
1342
|
+
FileType2["UserUpload"] = "user_upload";
|
|
1343
|
+
FileType2["ExtractedText"] = "extracted_text";
|
|
1344
|
+
return FileType2;
|
|
1345
|
+
})(FileType || {});
|
|
1346
|
+
|
|
1347
|
+
// src/client/api/files/schemas.ts
|
|
1348
|
+
var fileTypeSchema = import_zod32.default.enum(FileType);
|
|
1349
|
+
var fileSchema = import_zod32.default.object({
|
|
1350
|
+
id: import_zod32.default.string(),
|
|
1351
|
+
filename: import_zod32.default.string(),
|
|
1352
|
+
content_type: import_zod32.default.string(),
|
|
1353
|
+
file_type: fileTypeSchema,
|
|
1354
|
+
created_by: import_zod32.default.string(),
|
|
1355
|
+
created_at: import_zod32.default.string(),
|
|
1356
|
+
context_id: import_zod32.default.string().nullish(),
|
|
1357
|
+
file_size_bytes: import_zod32.default.number().nullish(),
|
|
1358
|
+
parent_file_id: import_zod32.default.string().nullish()
|
|
1359
|
+
});
|
|
1360
|
+
var createFileRequestSchema = import_zod32.default.object({
|
|
1361
|
+
context_id: import_zod32.default.string().nullable(),
|
|
1362
|
+
file: import_zod32.default.union([
|
|
1363
|
+
import_zod32.default.file(),
|
|
1364
|
+
import_zod32.default.object({
|
|
1365
|
+
blob: import_zod32.default.instanceof(Blob),
|
|
1366
|
+
filename: import_zod32.default.string()
|
|
1367
|
+
})
|
|
1368
|
+
])
|
|
1369
|
+
});
|
|
1370
|
+
var createFileResponseSchema = fileSchema;
|
|
1371
|
+
var readFileRequestSchema = import_zod32.default.object({
|
|
1372
|
+
context_id: import_zod32.default.string().nullable(),
|
|
1373
|
+
file_id: import_zod32.default.string()
|
|
1374
|
+
});
|
|
1375
|
+
var readFileResponseSchema = fileSchema;
|
|
1376
|
+
var deleteFileRequestSchema = import_zod32.default.object({
|
|
1377
|
+
context_id: import_zod32.default.string().nullable(),
|
|
1378
|
+
file_id: import_zod32.default.string()
|
|
1379
|
+
});
|
|
1380
|
+
var deleteFileResponseSchema = import_zod32.default.null();
|
|
1381
|
+
var readFileContentRequestSchema = import_zod32.default.object({
|
|
1382
|
+
context_id: import_zod32.default.string().nullable(),
|
|
1383
|
+
file_id: import_zod32.default.string()
|
|
1384
|
+
});
|
|
1385
|
+
var readFileContentResponseSchema = import_zod32.default.unknown();
|
|
1386
|
+
|
|
1387
|
+
// src/client/api/files/api.ts
|
|
1388
|
+
function createFilesApi(callApi) {
|
|
1389
|
+
const createFile = ({ context_id, file }) => {
|
|
1390
|
+
const body = new FormData();
|
|
1391
|
+
if (file instanceof File) {
|
|
1392
|
+
body.append("file", file);
|
|
1393
|
+
} else {
|
|
1394
|
+
body.append("file", file.blob, file.filename);
|
|
1395
|
+
}
|
|
1396
|
+
return callApi({
|
|
1397
|
+
method: "POST" /* Post */,
|
|
1398
|
+
path: "/api/v1/files",
|
|
1399
|
+
schema: createFileResponseSchema,
|
|
1400
|
+
query: { context_id },
|
|
1401
|
+
body
|
|
1402
|
+
});
|
|
1403
|
+
};
|
|
1404
|
+
const readFile = ({ context_id, file_id }) => callApi({
|
|
1405
|
+
method: "GET" /* Get */,
|
|
1406
|
+
path: `/api/v1/files/${file_id}`,
|
|
1407
|
+
schema: readFileResponseSchema,
|
|
1408
|
+
query: { context_id }
|
|
1409
|
+
});
|
|
1410
|
+
const deleteFile = ({ context_id, file_id }) => callApi({
|
|
1411
|
+
method: "DELETE" /* Delete */,
|
|
1412
|
+
path: `/api/v1/files/${file_id}`,
|
|
1413
|
+
schema: deleteFileResponseSchema,
|
|
1414
|
+
query: { context_id }
|
|
1415
|
+
});
|
|
1416
|
+
const readFileContent = ({ context_id, file_id }) => callApi({
|
|
1417
|
+
method: "GET" /* Get */,
|
|
1418
|
+
path: `/api/v1/files/${file_id}/content`,
|
|
1419
|
+
schema: readFileContentResponseSchema,
|
|
1420
|
+
query: { context_id }
|
|
1421
|
+
});
|
|
1422
|
+
return {
|
|
1423
|
+
createFile,
|
|
1424
|
+
readFile,
|
|
1425
|
+
deleteFile,
|
|
1426
|
+
readFileContent
|
|
1427
|
+
};
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
// src/client/api/model-providers/schemas.ts
|
|
1431
|
+
var import_zod33 = __toESM(require("zod"), 1);
|
|
1432
|
+
|
|
1433
|
+
// src/client/api/model-providers/types.ts
|
|
1434
|
+
var ModelCapability = /* @__PURE__ */ ((ModelCapability2) => {
|
|
1435
|
+
ModelCapability2["Llm"] = "llm";
|
|
1436
|
+
ModelCapability2["Embedding"] = "embedding";
|
|
1437
|
+
return ModelCapability2;
|
|
1438
|
+
})(ModelCapability || {});
|
|
1439
|
+
var ModelProviderType = /* @__PURE__ */ ((ModelProviderType2) => {
|
|
1440
|
+
ModelProviderType2["Anthropic"] = "anthropic";
|
|
1441
|
+
ModelProviderType2["Cerebras"] = "cerebras";
|
|
1442
|
+
ModelProviderType2["Chutes"] = "chutes";
|
|
1443
|
+
ModelProviderType2["Cohere"] = "cohere";
|
|
1444
|
+
ModelProviderType2["DeepSeek"] = "deepseek";
|
|
1445
|
+
ModelProviderType2["Gemini"] = "gemini";
|
|
1446
|
+
ModelProviderType2["GitHub"] = "github";
|
|
1447
|
+
ModelProviderType2["Groq"] = "groq";
|
|
1448
|
+
ModelProviderType2["Watsonx"] = "watsonx";
|
|
1449
|
+
ModelProviderType2["Jan"] = "jan";
|
|
1450
|
+
ModelProviderType2["Mistral"] = "mistral";
|
|
1451
|
+
ModelProviderType2["Moonshot"] = "moonshot";
|
|
1452
|
+
ModelProviderType2["Nvidia"] = "nvidia";
|
|
1453
|
+
ModelProviderType2["Ollama"] = "ollama";
|
|
1454
|
+
ModelProviderType2["OpenAI"] = "openai";
|
|
1455
|
+
ModelProviderType2["OpenRouter"] = "openrouter";
|
|
1456
|
+
ModelProviderType2["Perplexity"] = "perplexity";
|
|
1457
|
+
ModelProviderType2["Together"] = "together";
|
|
1458
|
+
ModelProviderType2["Voyage"] = "voyage";
|
|
1459
|
+
ModelProviderType2["Rits"] = "rits";
|
|
1460
|
+
ModelProviderType2["Other"] = "other";
|
|
1461
|
+
return ModelProviderType2;
|
|
1462
|
+
})(ModelProviderType || {});
|
|
1463
|
+
|
|
1464
|
+
// src/client/api/model-providers/schemas.ts
|
|
1465
|
+
var modelCapabilitySchema = import_zod33.default.enum(ModelCapability);
|
|
1466
|
+
var modelProviderTypeSchema = import_zod33.default.enum(ModelProviderType);
|
|
1467
|
+
var modelProviderSchema = import_zod33.default.object({
|
|
1468
|
+
id: import_zod33.default.string(),
|
|
1469
|
+
base_url: import_zod33.default.string(),
|
|
1470
|
+
created_at: import_zod33.default.string(),
|
|
1471
|
+
capabilities: import_zod33.default.array(modelCapabilitySchema),
|
|
1472
|
+
name: import_zod33.default.string().nullish(),
|
|
1473
|
+
description: import_zod33.default.string().nullish(),
|
|
1474
|
+
type: modelProviderTypeSchema
|
|
1475
|
+
});
|
|
1476
|
+
var listModelProvidersRequestSchema = import_zod33.default.never();
|
|
1477
|
+
var listModelProvidersResponseSchema = paginatedResponseSchema.extend({
|
|
1478
|
+
items: import_zod33.default.array(modelProviderSchema)
|
|
1479
|
+
});
|
|
1480
|
+
var createModelProviderRequestSchema = import_zod33.default.object({
|
|
1481
|
+
api_key: import_zod33.default.string(),
|
|
1482
|
+
base_url: import_zod33.default.string(),
|
|
1483
|
+
type: modelProviderTypeSchema,
|
|
1484
|
+
name: import_zod33.default.string().nullish(),
|
|
1485
|
+
description: import_zod33.default.string().nullish(),
|
|
1486
|
+
watsonx_project_id: import_zod33.default.string().nullish(),
|
|
1487
|
+
watsonx_space_id: import_zod33.default.string().nullish()
|
|
1488
|
+
});
|
|
1489
|
+
var createModelProviderResponseSchema = modelProviderSchema;
|
|
1490
|
+
var readModelProviderRequestSchema = import_zod33.default.object({
|
|
1491
|
+
model_provider_id: import_zod33.default.string()
|
|
1492
|
+
});
|
|
1493
|
+
var readModelProviderResponseSchema = modelProviderSchema;
|
|
1494
|
+
var deleteModelProviderRequestSchema = import_zod33.default.object({
|
|
1495
|
+
model_provider_id: import_zod33.default.string()
|
|
1496
|
+
});
|
|
1497
|
+
var deleteModelProviderResponseSchema = import_zod33.default.null();
|
|
1498
|
+
var matchModelProvidersRequestSchema = import_zod33.default.object({
|
|
1499
|
+
suggested_models: import_zod33.default.array(import_zod33.default.string()).nullable(),
|
|
1500
|
+
capability: modelCapabilitySchema,
|
|
1501
|
+
score_cutoff: import_zod33.default.number()
|
|
1502
|
+
});
|
|
1503
|
+
var matchModelProvidersResponseSchema = paginatedResponseSchema.extend({
|
|
1504
|
+
items: import_zod33.default.array(
|
|
1505
|
+
import_zod33.default.object({
|
|
1506
|
+
model_id: import_zod33.default.string(),
|
|
1507
|
+
score: import_zod33.default.number()
|
|
1508
|
+
})
|
|
1509
|
+
)
|
|
1510
|
+
});
|
|
1511
|
+
|
|
1512
|
+
// src/client/api/model-providers/api.ts
|
|
1513
|
+
function createModelProvidersApi(callApi) {
|
|
1514
|
+
const listModelProviders = () => callApi({
|
|
1515
|
+
method: "GET" /* Get */,
|
|
1516
|
+
path: "/api/v1/model_providers",
|
|
1517
|
+
schema: listModelProvidersResponseSchema
|
|
1518
|
+
});
|
|
1519
|
+
const createModelProvider = ({ ...body }) => callApi({
|
|
1520
|
+
method: "POST" /* Post */,
|
|
1521
|
+
path: "/api/v1/model_providers",
|
|
1522
|
+
schema: createModelProviderResponseSchema,
|
|
1523
|
+
body
|
|
1524
|
+
});
|
|
1525
|
+
const readModelProvider = ({ model_provider_id }) => callApi({
|
|
1526
|
+
method: "GET" /* Get */,
|
|
1527
|
+
path: `/api/v1/model_providers/${model_provider_id}`,
|
|
1528
|
+
schema: readModelProviderResponseSchema
|
|
1529
|
+
});
|
|
1530
|
+
const deleteModelProvider = ({ model_provider_id }) => callApi({
|
|
1531
|
+
method: "DELETE" /* Delete */,
|
|
1532
|
+
path: `/api/v1/model_providers/${model_provider_id}`,
|
|
1533
|
+
schema: deleteModelProviderResponseSchema
|
|
1534
|
+
});
|
|
1535
|
+
const matchModelProviders = ({ ...body }) => callApi({
|
|
1536
|
+
method: "POST" /* Post */,
|
|
1537
|
+
path: "/api/v1/model_providers/match",
|
|
1538
|
+
schema: matchModelProvidersResponseSchema,
|
|
1539
|
+
body
|
|
1540
|
+
});
|
|
1541
|
+
return {
|
|
1542
|
+
listModelProviders,
|
|
1543
|
+
createModelProvider,
|
|
1544
|
+
readModelProvider,
|
|
1545
|
+
deleteModelProvider,
|
|
1546
|
+
matchModelProviders
|
|
1547
|
+
};
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
// src/client/api/provider-builds/schemas.ts
|
|
1551
|
+
var import_zod35 = __toESM(require("zod"), 1);
|
|
1552
|
+
|
|
1553
|
+
// src/client/api/common/schemas.ts
|
|
1554
|
+
var import_zod34 = __toESM(require("zod"), 1);
|
|
1555
|
+
|
|
1556
|
+
// src/client/api/common/types.ts
|
|
1557
|
+
var GitHubVersionType = /* @__PURE__ */ ((GitHubVersionType2) => {
|
|
1558
|
+
GitHubVersionType2["Head"] = "head";
|
|
1559
|
+
GitHubVersionType2["Tag"] = "tag";
|
|
1560
|
+
return GitHubVersionType2;
|
|
1561
|
+
})(GitHubVersionType || {});
|
|
1562
|
+
|
|
1563
|
+
// src/client/api/common/schemas.ts
|
|
1564
|
+
var gitHubVersionTypeSchema = import_zod34.default.enum(GitHubVersionType);
|
|
1565
|
+
var gitHubRegistryLocationSchema = import_zod34.default.string();
|
|
1566
|
+
var networkRegistryLocationSchema = import_zod34.default.string();
|
|
1567
|
+
var fileSystemRegistryLocationSchema = import_zod34.default.string();
|
|
1568
|
+
var dockerImageIdSchema = import_zod34.default.string();
|
|
1569
|
+
var dockerImageProviderLocationSchema = dockerImageIdSchema;
|
|
1570
|
+
var networkProviderLocationSchema = import_zod34.default.string();
|
|
1571
|
+
var resolvedGitHubUrlSchema = import_zod34.default.object({
|
|
1572
|
+
host: import_zod34.default.string(),
|
|
1573
|
+
org: import_zod34.default.string(),
|
|
1574
|
+
repo: import_zod34.default.string(),
|
|
1575
|
+
version: import_zod34.default.string(),
|
|
1576
|
+
version_type: gitHubVersionTypeSchema,
|
|
1577
|
+
commit_hash: import_zod34.default.string(),
|
|
1578
|
+
path: import_zod34.default.string().nullish()
|
|
1579
|
+
});
|
|
1580
|
+
var resolvedDockerImageIdSchema = import_zod34.default.object({
|
|
1581
|
+
registry: import_zod34.default.string(),
|
|
1582
|
+
repository: import_zod34.default.string(),
|
|
1583
|
+
tag: import_zod34.default.string(),
|
|
1584
|
+
digest: import_zod34.default.string(),
|
|
1585
|
+
image_id: dockerImageIdSchema
|
|
1586
|
+
});
|
|
1587
|
+
var readableStreamSchema = import_zod34.default.custom(
|
|
1588
|
+
(value) => value instanceof ReadableStream,
|
|
1589
|
+
{ error: "Expected ReadableStream" }
|
|
1590
|
+
);
|
|
1591
|
+
|
|
1592
|
+
// src/client/api/provider-builds/types.ts
|
|
1593
|
+
var ProviderBuildState = /* @__PURE__ */ ((ProviderBuildState2) => {
|
|
1594
|
+
ProviderBuildState2["Missing"] = "missing";
|
|
1595
|
+
ProviderBuildState2["InProgress"] = "in_progress";
|
|
1596
|
+
ProviderBuildState2["BuildCompleted"] = "build_completed";
|
|
1597
|
+
ProviderBuildState2["Completed"] = "completed";
|
|
1598
|
+
ProviderBuildState2["Failed"] = "failed";
|
|
1599
|
+
return ProviderBuildState2;
|
|
1600
|
+
})(ProviderBuildState || {});
|
|
1601
|
+
|
|
1602
|
+
// src/client/api/provider-builds/schemas.ts
|
|
1603
|
+
var providerBuildStateSchema = import_zod35.default.enum(ProviderBuildState);
|
|
1604
|
+
var providerBuildAddActionSchema = import_zod35.default.object({
|
|
1605
|
+
type: import_zod35.default.literal("add_provider"),
|
|
1606
|
+
auto_stop_timeout_sec: import_zod35.default.number().nullish(),
|
|
1607
|
+
variables: import_zod35.default.record(import_zod35.default.string(), import_zod35.default.string()).nullish()
|
|
1608
|
+
});
|
|
1609
|
+
var providerBuildUpdateActionSchema = import_zod35.default.object({
|
|
1610
|
+
type: import_zod35.default.literal("update_provider"),
|
|
1611
|
+
provider_id: import_zod35.default.string()
|
|
1612
|
+
});
|
|
1613
|
+
var providerBuildNoActionSchema = import_zod35.default.object({
|
|
1614
|
+
type: import_zod35.default.literal("no_action")
|
|
1615
|
+
});
|
|
1616
|
+
var providerBuildOnCompleteActionSchema = import_zod35.default.union([
|
|
1617
|
+
providerBuildAddActionSchema,
|
|
1618
|
+
providerBuildUpdateActionSchema,
|
|
1619
|
+
providerBuildNoActionSchema
|
|
1620
|
+
]);
|
|
1621
|
+
var providerBuildConfigurationSchema = import_zod35.default.object({
|
|
1622
|
+
dockerfile_path: import_zod35.default.string().nullish()
|
|
1623
|
+
});
|
|
1624
|
+
var providerBuildSchema = import_zod35.default.object({
|
|
1625
|
+
id: import_zod35.default.string(),
|
|
1626
|
+
created_at: import_zod35.default.string(),
|
|
1627
|
+
created_by: import_zod35.default.string(),
|
|
1628
|
+
provider_origin: import_zod35.default.string(),
|
|
1629
|
+
status: providerBuildStateSchema,
|
|
1630
|
+
source: resolvedGitHubUrlSchema,
|
|
1631
|
+
destination: dockerImageIdSchema,
|
|
1632
|
+
on_complete: providerBuildOnCompleteActionSchema,
|
|
1633
|
+
build_configuration: providerBuildConfigurationSchema.nullish(),
|
|
1634
|
+
provider_id: import_zod35.default.string().nullish(),
|
|
1635
|
+
error_message: import_zod35.default.string().nullish()
|
|
1636
|
+
});
|
|
1637
|
+
var listProviderBuildsRequestSchema = import_zod35.default.object({
|
|
1638
|
+
query: paginationQuerySchema.extend({
|
|
1639
|
+
status: providerBuildStateSchema.nullish(),
|
|
1640
|
+
user_owned: import_zod35.default.boolean().nullish()
|
|
1641
|
+
}).optional()
|
|
1642
|
+
});
|
|
1643
|
+
var listProviderBuildsResponseSchema = paginatedResponseSchema.extend({
|
|
1644
|
+
items: import_zod35.default.array(providerBuildSchema)
|
|
1645
|
+
});
|
|
1646
|
+
var createProviderBuildRequestSchema = import_zod35.default.object({
|
|
1647
|
+
location: import_zod35.default.string(),
|
|
1648
|
+
build_configuration: providerBuildConfigurationSchema.nullish(),
|
|
1649
|
+
on_complete: providerBuildOnCompleteActionSchema.optional()
|
|
1650
|
+
});
|
|
1651
|
+
var createProviderBuildResponseSchema = providerBuildSchema;
|
|
1652
|
+
var readProviderBuildRequestSchema = import_zod35.default.object({
|
|
1653
|
+
id: import_zod35.default.string()
|
|
1654
|
+
});
|
|
1655
|
+
var readProviderBuildResponseSchema = providerBuildSchema;
|
|
1656
|
+
var deleteProviderBuildRequestSchema = import_zod35.default.object({
|
|
1657
|
+
id: import_zod35.default.string()
|
|
1658
|
+
});
|
|
1659
|
+
var deleteProviderBuildResponseSchema = import_zod35.default.null();
|
|
1660
|
+
var readProviderBuildLogsRequestSchema = import_zod35.default.object({
|
|
1661
|
+
id: import_zod35.default.string()
|
|
1662
|
+
});
|
|
1663
|
+
var readProviderBuildLogsResponseSchema = readableStreamSchema;
|
|
1664
|
+
var previewProviderBuildRequestSchema = import_zod35.default.object({
|
|
1665
|
+
location: import_zod35.default.string(),
|
|
1666
|
+
build_configuration: providerBuildConfigurationSchema.nullish(),
|
|
1667
|
+
on_complete: providerBuildOnCompleteActionSchema.optional()
|
|
1668
|
+
});
|
|
1669
|
+
var previewProviderBuildResponseSchema = providerBuildSchema;
|
|
1670
|
+
|
|
1671
|
+
// src/client/api/provider-builds/api.ts
|
|
1672
|
+
function createProviderBuildsApi(callApi) {
|
|
1673
|
+
const listProviderBuilds = ({ query }) => callApi({
|
|
1674
|
+
method: "GET" /* Get */,
|
|
1675
|
+
path: "/api/v1/provider_builds",
|
|
1676
|
+
schema: listProviderBuildsResponseSchema,
|
|
1677
|
+
query
|
|
1678
|
+
});
|
|
1679
|
+
const createProviderBuild = ({ ...body }) => callApi({
|
|
1680
|
+
method: "POST" /* Post */,
|
|
1681
|
+
path: "/api/v1/provider_builds",
|
|
1682
|
+
schema: createProviderBuildResponseSchema,
|
|
1683
|
+
body
|
|
1684
|
+
});
|
|
1685
|
+
const readProviderBuild = ({ id }) => callApi({
|
|
1686
|
+
method: "GET" /* Get */,
|
|
1687
|
+
path: `/api/v1/provider_builds/${id}`,
|
|
1688
|
+
schema: readProviderBuildResponseSchema
|
|
1689
|
+
});
|
|
1690
|
+
const deleteProviderBuild = ({ id }) => callApi({
|
|
1691
|
+
method: "DELETE" /* Delete */,
|
|
1692
|
+
path: `/api/v1/provider_builds/${id}`,
|
|
1693
|
+
schema: deleteProviderBuildResponseSchema
|
|
1694
|
+
});
|
|
1695
|
+
const readProviderBuildLogs = ({ id }) => callApi({
|
|
1696
|
+
method: "GET" /* Get */,
|
|
1697
|
+
path: `/api/v1/provider_builds/${id}/logs`,
|
|
1698
|
+
schema: readProviderBuildLogsResponseSchema,
|
|
1699
|
+
parseAsStream: true
|
|
1700
|
+
});
|
|
1701
|
+
const previewProviderBuild = ({ ...body }) => callApi({
|
|
1702
|
+
method: "POST" /* Post */,
|
|
1703
|
+
path: "/api/v1/provider_builds/preview",
|
|
1704
|
+
schema: previewProviderBuildResponseSchema,
|
|
1705
|
+
body
|
|
1706
|
+
});
|
|
1707
|
+
return {
|
|
1708
|
+
listProviderBuilds,
|
|
1709
|
+
createProviderBuild,
|
|
1710
|
+
readProviderBuild,
|
|
1711
|
+
deleteProviderBuild,
|
|
1712
|
+
readProviderBuildLogs,
|
|
1713
|
+
previewProviderBuild
|
|
1714
|
+
};
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
// src/client/api/providers/schemas.ts
|
|
1718
|
+
var import_zod36 = __toESM(require("zod"), 1);
|
|
1719
|
+
|
|
1720
|
+
// src/client/api/providers/types.ts
|
|
1721
|
+
var ProviderType = /* @__PURE__ */ ((ProviderType2) => {
|
|
1722
|
+
ProviderType2["Managed"] = "managed";
|
|
1723
|
+
ProviderType2["Unmanaged"] = "unmanaged";
|
|
1724
|
+
return ProviderType2;
|
|
1725
|
+
})(ProviderType || {});
|
|
1726
|
+
var ProviderStatus = /* @__PURE__ */ ((ProviderStatus2) => {
|
|
1727
|
+
ProviderStatus2["Missing"] = "missing";
|
|
1728
|
+
ProviderStatus2["Starting"] = "starting";
|
|
1729
|
+
ProviderStatus2["Ready"] = "ready";
|
|
1730
|
+
ProviderStatus2["Running"] = "running";
|
|
1731
|
+
ProviderStatus2["Error"] = "error";
|
|
1732
|
+
return ProviderStatus2;
|
|
1733
|
+
})(ProviderStatus || {});
|
|
1734
|
+
var ProviderUnmanagedStatus = /* @__PURE__ */ ((ProviderUnmanagedStatus2) => {
|
|
1735
|
+
ProviderUnmanagedStatus2["Online"] = "online";
|
|
1736
|
+
ProviderUnmanagedStatus2["Offline"] = "offline";
|
|
1737
|
+
return ProviderUnmanagedStatus2;
|
|
1738
|
+
})(ProviderUnmanagedStatus || {});
|
|
1739
|
+
|
|
1740
|
+
// src/client/api/providers/schemas.ts
|
|
1741
|
+
var providerTypeSchema = import_zod36.default.enum(ProviderType);
|
|
1742
|
+
var providerStatusSchema = import_zod36.default.enum(ProviderStatus);
|
|
1743
|
+
var providerUnmanagedStatusSchema = import_zod36.default.enum(ProviderUnmanagedStatus);
|
|
1744
|
+
var providerErrorSchema = import_zod36.default.object({
|
|
1745
|
+
message: import_zod36.default.string()
|
|
1746
|
+
});
|
|
1747
|
+
var providerEnvVarSchema = import_zod36.default.object({
|
|
1748
|
+
name: import_zod36.default.string(),
|
|
1749
|
+
required: import_zod36.default.boolean(),
|
|
1750
|
+
description: import_zod36.default.string().nullish()
|
|
1751
|
+
});
|
|
1752
|
+
var providerVersionInfoSchema = import_zod36.default.object({
|
|
1753
|
+
docker: resolvedDockerImageIdSchema.nullish(),
|
|
1754
|
+
github: resolvedGitHubUrlSchema.nullish()
|
|
1755
|
+
});
|
|
1756
|
+
var providerSchema = import_zod36.default.object({
|
|
1757
|
+
id: import_zod36.default.string(),
|
|
1758
|
+
source: import_zod36.default.union([dockerImageProviderLocationSchema, networkProviderLocationSchema]),
|
|
1759
|
+
agent_card: agentCardSchema,
|
|
1760
|
+
state: import_zod36.default.union([providerStatusSchema, providerUnmanagedStatusSchema]),
|
|
1761
|
+
origin: import_zod36.default.string(),
|
|
1762
|
+
created_at: import_zod36.default.string(),
|
|
1763
|
+
created_by: import_zod36.default.string(),
|
|
1764
|
+
updated_at: import_zod36.default.string(),
|
|
1765
|
+
last_active_at: import_zod36.default.string(),
|
|
1766
|
+
auto_stop_timeout: import_zod36.default.string(),
|
|
1767
|
+
managed: import_zod36.default.boolean(),
|
|
1768
|
+
type: providerTypeSchema,
|
|
1769
|
+
env: import_zod36.default.array(providerEnvVarSchema),
|
|
1770
|
+
registry: import_zod36.default.union([gitHubRegistryLocationSchema, networkRegistryLocationSchema, fileSystemRegistryLocationSchema]).nullish(),
|
|
1771
|
+
last_error: providerErrorSchema.nullish(),
|
|
1772
|
+
missing_configuration: import_zod36.default.array(providerEnvVarSchema).optional(),
|
|
1773
|
+
version_info: providerVersionInfoSchema.optional()
|
|
1774
|
+
});
|
|
1775
|
+
var listProvidersRequestSchema = import_zod36.default.object({
|
|
1776
|
+
query: import_zod36.default.object({
|
|
1777
|
+
origin: import_zod36.default.string().nullish(),
|
|
1778
|
+
user_owned: import_zod36.default.boolean().nullish()
|
|
1779
|
+
}).optional()
|
|
1780
|
+
});
|
|
1781
|
+
var listProvidersResponseSchema = paginatedResponseSchema.extend({
|
|
1782
|
+
items: import_zod36.default.array(providerSchema)
|
|
1783
|
+
});
|
|
1784
|
+
var createProviderRequestSchema = import_zod36.default.object({
|
|
1785
|
+
location: import_zod36.default.union([dockerImageProviderLocationSchema, networkProviderLocationSchema]),
|
|
1786
|
+
agent_card: agentCardSchema.nullish(),
|
|
1787
|
+
auto_stop_timeout_sec: import_zod36.default.number().nullish(),
|
|
1788
|
+
origin: import_zod36.default.string().nullish(),
|
|
1789
|
+
variables: import_zod36.default.record(import_zod36.default.string(), import_zod36.default.string()).nullish()
|
|
1790
|
+
});
|
|
1791
|
+
var createProviderResponseSchema = providerSchema;
|
|
1792
|
+
var readProviderRequestSchema = import_zod36.default.object({
|
|
1793
|
+
id: import_zod36.default.string()
|
|
1794
|
+
});
|
|
1795
|
+
var readProviderResponseSchema = providerSchema;
|
|
1796
|
+
var deleteProviderRequestSchema = import_zod36.default.object({
|
|
1797
|
+
id: import_zod36.default.string()
|
|
1798
|
+
});
|
|
1799
|
+
var deleteProviderResponseSchema = import_zod36.default.null();
|
|
1800
|
+
var patchProviderRequestSchema = import_zod36.default.object({
|
|
1801
|
+
id: import_zod36.default.string(),
|
|
1802
|
+
location: import_zod36.default.union([dockerImageProviderLocationSchema, networkProviderLocationSchema]).nullish(),
|
|
1803
|
+
agent_card: agentCardSchema.nullish(),
|
|
1804
|
+
auto_stop_timeout_sec: import_zod36.default.number().nullish(),
|
|
1805
|
+
origin: import_zod36.default.string().nullish(),
|
|
1806
|
+
variables: import_zod36.default.record(import_zod36.default.string(), import_zod36.default.string()).nullish()
|
|
1807
|
+
});
|
|
1808
|
+
var patchProviderResponseSchema = providerSchema;
|
|
1809
|
+
var readProviderLogsRequestSchema = import_zod36.default.object({
|
|
1810
|
+
id: import_zod36.default.string()
|
|
1811
|
+
});
|
|
1812
|
+
var readProviderLogsResponseSchema = readableStreamSchema;
|
|
1813
|
+
var listProviderVariablesRequestSchema = import_zod36.default.object({
|
|
1814
|
+
id: import_zod36.default.string()
|
|
1815
|
+
});
|
|
1816
|
+
var listProviderVariablesResponseSchema = import_zod36.default.object({
|
|
1817
|
+
variables: import_zod36.default.record(import_zod36.default.string(), import_zod36.default.string())
|
|
1818
|
+
});
|
|
1819
|
+
var updateProviderVariablesRequestSchema = import_zod36.default.object({
|
|
1820
|
+
id: import_zod36.default.string(),
|
|
1821
|
+
variables: import_zod36.default.record(import_zod36.default.string(), import_zod36.default.union([import_zod36.default.string(), import_zod36.default.null()]))
|
|
1822
|
+
});
|
|
1823
|
+
var updateProviderVariablesResponseSchema = import_zod36.default.null();
|
|
1824
|
+
var readProviderByLocationRequestSchema = import_zod36.default.object({
|
|
1825
|
+
location: import_zod36.default.string()
|
|
1826
|
+
});
|
|
1827
|
+
var readProviderByLocationResponseSchema = providerSchema;
|
|
1828
|
+
var previewProviderResponseSchema = providerSchema;
|
|
1829
|
+
|
|
1830
|
+
// src/client/api/providers/api.ts
|
|
1831
|
+
function createProvidersApi(callApi) {
|
|
1832
|
+
const listProviders = ({ query }) => callApi({
|
|
1833
|
+
method: "GET" /* Get */,
|
|
1834
|
+
path: "/api/v1/providers",
|
|
1835
|
+
schema: listProvidersResponseSchema,
|
|
1836
|
+
query
|
|
1837
|
+
});
|
|
1838
|
+
const createProvider = ({ ...body }) => callApi({
|
|
1839
|
+
method: "POST" /* Post */,
|
|
1840
|
+
path: "/api/v1/providers",
|
|
1841
|
+
schema: createProviderResponseSchema,
|
|
1842
|
+
body
|
|
1843
|
+
});
|
|
1844
|
+
const readProvider = ({ id }) => callApi({
|
|
1845
|
+
method: "GET" /* Get */,
|
|
1846
|
+
path: `/api/v1/providers/${id}`,
|
|
1847
|
+
schema: readProviderResponseSchema
|
|
1848
|
+
});
|
|
1849
|
+
const deleteProvider = ({ id }) => callApi({
|
|
1850
|
+
method: "DELETE" /* Delete */,
|
|
1851
|
+
path: `/api/v1/providers/${id}`,
|
|
1852
|
+
schema: deleteProviderResponseSchema
|
|
1853
|
+
});
|
|
1854
|
+
const patchProvider = ({ id, ...body }) => callApi({
|
|
1855
|
+
method: "PATCH" /* Patch */,
|
|
1856
|
+
path: `/api/v1/providers/${id}`,
|
|
1857
|
+
schema: patchProviderResponseSchema,
|
|
1858
|
+
body
|
|
1859
|
+
});
|
|
1860
|
+
const readProviderLogs = ({ id }) => callApi({
|
|
1861
|
+
method: "GET" /* Get */,
|
|
1862
|
+
path: `/api/v1/providers/${id}/logs`,
|
|
1863
|
+
schema: readProviderLogsResponseSchema,
|
|
1864
|
+
parseAsStream: true
|
|
1865
|
+
});
|
|
1866
|
+
const listProviderVariables = ({ id }) => callApi({
|
|
1867
|
+
method: "GET" /* Get */,
|
|
1868
|
+
path: `/api/v1/providers/${id}/variables`,
|
|
1869
|
+
schema: listProviderVariablesResponseSchema
|
|
1870
|
+
});
|
|
1871
|
+
const updateProviderVariables = ({ id, ...body }) => callApi({
|
|
1872
|
+
method: "PUT" /* Put */,
|
|
1873
|
+
path: `/api/v1/providers/${id}/variables`,
|
|
1874
|
+
schema: updateProviderVariablesResponseSchema,
|
|
1875
|
+
body
|
|
1876
|
+
});
|
|
1877
|
+
const readProviderByLocation = ({ location }) => callApi({
|
|
1878
|
+
method: "GET" /* Get */,
|
|
1879
|
+
path: `/api/v1/providers/by-location/${location}`,
|
|
1880
|
+
schema: readProviderByLocationResponseSchema
|
|
1881
|
+
});
|
|
1882
|
+
const previewProvider = ({ ...body }) => callApi({
|
|
1883
|
+
method: "POST" /* Post */,
|
|
1884
|
+
path: "/api/v1/providers/preview",
|
|
1885
|
+
schema: previewProviderResponseSchema,
|
|
1886
|
+
body
|
|
1887
|
+
});
|
|
1888
|
+
return {
|
|
1889
|
+
listProviders,
|
|
1890
|
+
createProvider,
|
|
1891
|
+
readProvider,
|
|
1892
|
+
deleteProvider,
|
|
1893
|
+
patchProvider,
|
|
1894
|
+
readProviderLogs,
|
|
1895
|
+
listProviderVariables,
|
|
1896
|
+
updateProviderVariables,
|
|
1897
|
+
readProviderByLocation,
|
|
1898
|
+
previewProvider
|
|
1899
|
+
};
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
// src/client/api/user-feedback/schemas.ts
|
|
1903
|
+
var import_zod37 = __toESM(require("zod"), 1);
|
|
1904
|
+
var createUserFeedbackRequestSchema = import_zod37.default.object({
|
|
1905
|
+
provider_id: import_zod37.default.string(),
|
|
1906
|
+
context_id: import_zod37.default.string(),
|
|
1907
|
+
task_id: import_zod37.default.string(),
|
|
1908
|
+
message: import_zod37.default.string(),
|
|
1909
|
+
rating: import_zod37.default.union([import_zod37.default.literal(1), import_zod37.default.literal(-1)]),
|
|
1910
|
+
comment: import_zod37.default.string().nullish(),
|
|
1911
|
+
comment_tags: import_zod37.default.array(import_zod37.default.string()).nullish()
|
|
1912
|
+
});
|
|
1913
|
+
var createUserFeedbackResponseSchema = import_zod37.default.null();
|
|
1914
|
+
|
|
1915
|
+
// src/client/api/user-feedback/api.ts
|
|
1916
|
+
function createUserFeedbackApi(callApi) {
|
|
1917
|
+
const createUserFeedback = ({ ...body }) => callApi({
|
|
1918
|
+
method: "POST" /* Post */,
|
|
1919
|
+
path: "/api/v1/user_feedback",
|
|
1920
|
+
schema: createUserFeedbackResponseSchema,
|
|
1921
|
+
body
|
|
1922
|
+
});
|
|
1923
|
+
return {
|
|
1924
|
+
createUserFeedback
|
|
1925
|
+
};
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
// src/client/api/users/schemas.ts
|
|
1929
|
+
var import_zod38 = __toESM(require("zod"), 1);
|
|
1930
|
+
|
|
1931
|
+
// src/client/api/users/types.ts
|
|
1932
|
+
var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
1933
|
+
UserRole2["Admin"] = "admin";
|
|
1934
|
+
UserRole2["Developer"] = "developer";
|
|
1935
|
+
UserRole2["User"] = "user";
|
|
1936
|
+
return UserRole2;
|
|
1937
|
+
})(UserRole || {});
|
|
1938
|
+
|
|
1939
|
+
// src/client/api/users/schemas.ts
|
|
1940
|
+
var userRoleSchema = import_zod38.default.enum(UserRole);
|
|
1941
|
+
var userSchema = import_zod38.default.object({
|
|
1942
|
+
id: import_zod38.default.string(),
|
|
1943
|
+
role: userRoleSchema,
|
|
1944
|
+
email: import_zod38.default.string(),
|
|
1945
|
+
created_at: import_zod38.default.string()
|
|
1946
|
+
});
|
|
1947
|
+
var readUserRequestSchema = import_zod38.default.never();
|
|
1948
|
+
var readUserResponseSchema = userSchema;
|
|
1949
|
+
|
|
1950
|
+
// src/client/api/users/api.ts
|
|
1951
|
+
function createUsersApi(callApi) {
|
|
1952
|
+
const readUser = () => callApi({
|
|
1953
|
+
method: "GET" /* Get */,
|
|
1954
|
+
path: "/api/v1/user",
|
|
1955
|
+
schema: readUserResponseSchema
|
|
1956
|
+
});
|
|
1957
|
+
return {
|
|
1958
|
+
readUser
|
|
1959
|
+
};
|
|
1960
|
+
}
|
|
1961
|
+
|
|
1962
|
+
// src/client/api/variables/schemas.ts
|
|
1963
|
+
var import_zod39 = __toESM(require("zod"), 1);
|
|
1964
|
+
var listVariablesRequestSchema = import_zod39.default.never();
|
|
1965
|
+
var listVariablesResponseSchema = import_zod39.default.object({
|
|
1966
|
+
variables: import_zod39.default.record(import_zod39.default.string(), import_zod39.default.string())
|
|
1967
|
+
});
|
|
1968
|
+
var updateVariablesRequestSchema = import_zod39.default.object({
|
|
1969
|
+
variables: import_zod39.default.record(import_zod39.default.string(), import_zod39.default.union([import_zod39.default.string(), import_zod39.default.null()]))
|
|
1970
|
+
});
|
|
1971
|
+
var updateVariablesResponseSchema = import_zod39.default.null();
|
|
1972
|
+
|
|
1973
|
+
// src/client/api/variables/api.ts
|
|
1974
|
+
function createVariablesApi(callApi) {
|
|
1975
|
+
const listVariables = () => callApi({
|
|
1976
|
+
method: "GET" /* Get */,
|
|
1977
|
+
path: "/api/v1/variables",
|
|
1978
|
+
schema: listVariablesResponseSchema
|
|
1979
|
+
});
|
|
1980
|
+
const updateVariables = ({ ...body }) => callApi({
|
|
1981
|
+
method: "PUT" /* Put */,
|
|
1982
|
+
path: "/api/v1/variables",
|
|
1983
|
+
schema: updateVariablesResponseSchema,
|
|
1984
|
+
body
|
|
1985
|
+
});
|
|
1986
|
+
return {
|
|
1987
|
+
listVariables,
|
|
1988
|
+
updateVariables
|
|
1989
|
+
};
|
|
1990
|
+
}
|
|
1991
|
+
|
|
1992
|
+
// src/client/api/core/utils.ts
|
|
1993
|
+
function buildRequestUrl({ baseUrl, path, query }) {
|
|
1994
|
+
const url = `${baseUrl.replace(/\/+$/, "")}${path}`;
|
|
1995
|
+
if (query) {
|
|
1996
|
+
const searchParams = new URLSearchParams();
|
|
1997
|
+
Object.entries(query).forEach(([key, value]) => {
|
|
1998
|
+
if (value != null) {
|
|
1999
|
+
searchParams.append(key, String(value));
|
|
2000
|
+
}
|
|
2001
|
+
});
|
|
2002
|
+
const queryString = searchParams.toString();
|
|
2003
|
+
if (queryString) {
|
|
2004
|
+
return `${url}?${queryString}`;
|
|
2005
|
+
}
|
|
2006
|
+
}
|
|
2007
|
+
return url;
|
|
2008
|
+
}
|
|
2009
|
+
function buildRequestInit({ method, body }) {
|
|
2010
|
+
const headers = new Headers();
|
|
2011
|
+
let requestBody;
|
|
2012
|
+
if (body) {
|
|
2013
|
+
if (body instanceof FormData) {
|
|
2014
|
+
requestBody = body;
|
|
2015
|
+
} else {
|
|
2016
|
+
headers.set("Content-Type", "application/json");
|
|
2017
|
+
requestBody = JSON.stringify(body);
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
return {
|
|
2021
|
+
method,
|
|
2022
|
+
headers,
|
|
2023
|
+
body: requestBody
|
|
2024
|
+
};
|
|
2025
|
+
}
|
|
2026
|
+
async function safeReadText(response) {
|
|
2027
|
+
try {
|
|
2028
|
+
return await response.text();
|
|
2029
|
+
} catch {
|
|
2030
|
+
return null;
|
|
2031
|
+
}
|
|
2032
|
+
}
|
|
2033
|
+
function parseBodyText(bodyText, headers) {
|
|
2034
|
+
const isStreamResponse = bodyText instanceof ReadableStream;
|
|
2035
|
+
if (isStreamResponse) {
|
|
2036
|
+
return {
|
|
2037
|
+
data: bodyText
|
|
2038
|
+
};
|
|
2039
|
+
}
|
|
2040
|
+
if (bodyText == null || bodyText.trim() === "") {
|
|
2041
|
+
return {
|
|
2042
|
+
data: null
|
|
2043
|
+
};
|
|
2044
|
+
}
|
|
2045
|
+
const contentType = headers.get("content-type") ?? "";
|
|
2046
|
+
const isJsonResponse = contentType.includes("application/json");
|
|
2047
|
+
if (isJsonResponse) {
|
|
2048
|
+
try {
|
|
2049
|
+
return {
|
|
2050
|
+
data: JSON.parse(bodyText)
|
|
2051
|
+
};
|
|
2052
|
+
} catch (error) {
|
|
2053
|
+
return {
|
|
2054
|
+
data: null,
|
|
2055
|
+
error: error instanceof Error ? error : new Error("Failed to parse body text.")
|
|
2056
|
+
};
|
|
2057
|
+
}
|
|
2058
|
+
}
|
|
2059
|
+
return {
|
|
2060
|
+
data: bodyText
|
|
2061
|
+
};
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
// src/client/api/core/client.ts
|
|
2065
|
+
function createCallApi({ baseUrl, fetch: fetchFn }) {
|
|
2066
|
+
return async function callApi({ method, path, schema, query, body, parseAsStream }) {
|
|
2067
|
+
const requestUrl = buildRequestUrl({ baseUrl, path, query });
|
|
2068
|
+
const requestInit = buildRequestInit({ method, body });
|
|
2069
|
+
const request = {
|
|
2070
|
+
method,
|
|
2071
|
+
url: requestUrl
|
|
2072
|
+
};
|
|
2073
|
+
try {
|
|
2074
|
+
const rawResponse = await fetchFn(requestUrl, requestInit);
|
|
2075
|
+
const bodyText = parseAsStream ? rawResponse.body : await safeReadText(rawResponse);
|
|
2076
|
+
const { ok, status, statusText, headers } = rawResponse;
|
|
2077
|
+
const response = { status, statusText, bodyText };
|
|
2078
|
+
if (!ok) {
|
|
2079
|
+
return {
|
|
2080
|
+
ok: false,
|
|
2081
|
+
error: {
|
|
2082
|
+
type: "http" /* Http */,
|
|
2083
|
+
message: "API Http Error",
|
|
2084
|
+
request,
|
|
2085
|
+
response
|
|
2086
|
+
}
|
|
2087
|
+
};
|
|
2088
|
+
}
|
|
2089
|
+
const { data: parsedBody, error: parseError } = parseBodyText(bodyText, headers);
|
|
2090
|
+
if (parseError) {
|
|
2091
|
+
return {
|
|
2092
|
+
ok: false,
|
|
2093
|
+
error: {
|
|
2094
|
+
type: "parse" /* Parse */,
|
|
2095
|
+
message: "API Parse Error",
|
|
2096
|
+
request,
|
|
2097
|
+
response,
|
|
2098
|
+
details: parseError
|
|
2099
|
+
}
|
|
2100
|
+
};
|
|
2101
|
+
}
|
|
2102
|
+
const { data: result, success, error } = schema.safeParse(parsedBody);
|
|
2103
|
+
if (!success) {
|
|
2104
|
+
return {
|
|
2105
|
+
ok: false,
|
|
2106
|
+
error: {
|
|
2107
|
+
type: "validation" /* Validation */,
|
|
2108
|
+
message: "API Validation Error",
|
|
2109
|
+
request,
|
|
2110
|
+
response,
|
|
2111
|
+
details: error
|
|
2112
|
+
}
|
|
2113
|
+
};
|
|
2114
|
+
}
|
|
2115
|
+
return {
|
|
2116
|
+
ok: true,
|
|
2117
|
+
data: result,
|
|
2118
|
+
response
|
|
2119
|
+
};
|
|
2120
|
+
} catch (details) {
|
|
2121
|
+
return {
|
|
2122
|
+
ok: false,
|
|
2123
|
+
error: {
|
|
2124
|
+
type: "network" /* Network */,
|
|
2125
|
+
message: "API Network Error",
|
|
2126
|
+
request,
|
|
2127
|
+
details
|
|
2128
|
+
}
|
|
2129
|
+
};
|
|
2130
|
+
}
|
|
2131
|
+
};
|
|
2132
|
+
}
|
|
2133
|
+
var buildApiClient = ({
|
|
2134
|
+
baseUrl,
|
|
2135
|
+
fetch: fetchFn
|
|
2136
|
+
} = { baseUrl: "" }) => {
|
|
2137
|
+
const maybeFetch = fetchFn ?? (typeof globalThis.fetch !== "undefined" ? globalThis.fetch : void 0);
|
|
2138
|
+
if (!maybeFetch) {
|
|
2139
|
+
throw new Error(
|
|
2140
|
+
"fetch is not available. In Node.js < 18 or environments without global fetch, provide a fetch implementation via the fetch option."
|
|
2141
|
+
);
|
|
2142
|
+
}
|
|
2143
|
+
const callApi = createCallApi({ baseUrl, fetch: maybeFetch });
|
|
2144
|
+
const configurationApi = createConfigurationApi(callApi);
|
|
2145
|
+
const connectorsApi = createConnectorsApi(callApi);
|
|
2146
|
+
const contextsApi = createContextsApi(callApi);
|
|
2147
|
+
const filesApi = createFilesApi(callApi);
|
|
2148
|
+
const modelProvidersApi = createModelProvidersApi(callApi);
|
|
2149
|
+
const providerBuildsApi = createProviderBuildsApi(callApi);
|
|
2150
|
+
const providersApi = createProvidersApi(callApi);
|
|
2151
|
+
const userFeedbackApi = createUserFeedbackApi(callApi);
|
|
2152
|
+
const usersApi = createUsersApi(callApi);
|
|
2153
|
+
const variablesApi = createVariablesApi(callApi);
|
|
2154
|
+
return {
|
|
2155
|
+
...configurationApi,
|
|
2156
|
+
...connectorsApi,
|
|
2157
|
+
...contextsApi,
|
|
2158
|
+
...filesApi,
|
|
2159
|
+
...modelProvidersApi,
|
|
2160
|
+
...providerBuildsApi,
|
|
2161
|
+
...providersApi,
|
|
2162
|
+
...userFeedbackApi,
|
|
2163
|
+
...usersApi,
|
|
2164
|
+
...variablesApi
|
|
2165
|
+
};
|
|
2166
|
+
};
|
|
2167
|
+
|
|
2168
|
+
// src/experimental/server/core/utils.ts
|
|
2169
|
+
function sleep(ms) {
|
|
2170
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
2171
|
+
}
|
|
2172
|
+
async function withRetry(fn, options = {}) {
|
|
2173
|
+
const { maxAttempts = 10, maxDelayMs = 1e4, shouldAbort, onRetry } = options;
|
|
2174
|
+
let lastError;
|
|
2175
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
2176
|
+
if (shouldAbort?.()) {
|
|
2177
|
+
throw new Error("Operation aborted");
|
|
2178
|
+
}
|
|
2179
|
+
try {
|
|
2180
|
+
return await fn();
|
|
2181
|
+
} catch (error) {
|
|
2182
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
2183
|
+
const delay = Math.min(1e3 * Math.pow(2, attempt), maxDelayMs);
|
|
2184
|
+
onRetry?.(attempt + 1, lastError, delay);
|
|
2185
|
+
await sleep(delay);
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2188
|
+
throw lastError ?? new Error("Max retry attempts exceeded");
|
|
2189
|
+
}
|
|
2190
|
+
function setsEqual(a, b) {
|
|
2191
|
+
if (a.size !== b.size) {
|
|
2192
|
+
return false;
|
|
2193
|
+
}
|
|
2194
|
+
for (const item of a) {
|
|
2195
|
+
if (!b.has(item)) {
|
|
2196
|
+
return false;
|
|
2197
|
+
}
|
|
2198
|
+
}
|
|
2199
|
+
return true;
|
|
2200
|
+
}
|
|
2201
|
+
function getErrorMessage(error) {
|
|
2202
|
+
return error instanceof Error ? error.message : String(error);
|
|
2203
|
+
}
|
|
2204
|
+
|
|
2205
|
+
// src/experimental/server/core/server/helpers.ts
|
|
2206
|
+
function createAgentCardUrl(host, port, selfRegistrationId) {
|
|
2207
|
+
return `http://${host === "0.0.0.0" ? "localhost" : host}:${port}${selfRegistrationId ? `#${selfRegistrationId}` : ""}`;
|
|
2208
|
+
}
|
|
2209
|
+
function normalizeDockerHost(host) {
|
|
2210
|
+
return host.replace(/0\.0\.0\.0|localhost|127\.0\.0\.1/g, "host.docker.internal");
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
// src/experimental/server/core/server/autoregistration.ts
|
|
2214
|
+
var VARIABLE_RELOAD_INTERVAL_MS = 5e3;
|
|
2215
|
+
function createAutoregisterToAgentstack(options) {
|
|
2216
|
+
const { selfRegistrationId, agentCard, host, port, api } = options;
|
|
2217
|
+
let providerId = null;
|
|
2218
|
+
let variableReloadInterval = null;
|
|
2219
|
+
let configuredVariables = /* @__PURE__ */ new Set();
|
|
2220
|
+
let stopped = false;
|
|
2221
|
+
async function loadVariables(firstRun = false) {
|
|
2222
|
+
if (!providerId) {
|
|
2223
|
+
return;
|
|
2224
|
+
}
|
|
2225
|
+
try {
|
|
2226
|
+
const result = await api.listProviderVariables({ id: providerId });
|
|
2227
|
+
if (!result.ok) {
|
|
2228
|
+
console.warn(`Failed to load variables: ${result.error.message}`);
|
|
2229
|
+
return;
|
|
2230
|
+
}
|
|
2231
|
+
const variables = result.data.variables;
|
|
2232
|
+
const oldVariables = configuredVariables;
|
|
2233
|
+
const newVariables = /* @__PURE__ */ new Set();
|
|
2234
|
+
for (const variable of configuredVariables) {
|
|
2235
|
+
if (!(variable in variables)) {
|
|
2236
|
+
delete process.env[variable];
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2239
|
+
for (const [key, value] of Object.entries(variables)) {
|
|
2240
|
+
process.env[key] = value;
|
|
2241
|
+
newVariables.add(key);
|
|
2242
|
+
}
|
|
2243
|
+
const dirty = !setsEqual(oldVariables, newVariables);
|
|
2244
|
+
configuredVariables = newVariables;
|
|
2245
|
+
if (dirty && configuredVariables.size > 0) {
|
|
2246
|
+
console.log(`Environment variables reloaded: ${[...configuredVariables].join(", ")}`);
|
|
2247
|
+
}
|
|
2248
|
+
if (firstRun && configuredVariables.size > 0) {
|
|
2249
|
+
console.log("Environment variables loaded.");
|
|
2250
|
+
}
|
|
2251
|
+
} catch (error) {
|
|
2252
|
+
console.error(`Failed to load variables: ${getErrorMessage(error)}`);
|
|
2253
|
+
}
|
|
2254
|
+
}
|
|
2255
|
+
async function register() {
|
|
2256
|
+
if (isProductionMode()) {
|
|
2257
|
+
console.log("Agent is not automatically registered in production mode.");
|
|
2258
|
+
return;
|
|
2259
|
+
}
|
|
2260
|
+
const location = createAgentCardUrl(normalizeDockerHost(host), port, selfRegistrationId);
|
|
2261
|
+
console.log("Registering agent to the Agent Stack platform", { location });
|
|
2262
|
+
try {
|
|
2263
|
+
await withRetry(
|
|
2264
|
+
async () => {
|
|
2265
|
+
const existingResult = await api.readProviderByLocation({
|
|
2266
|
+
location: encodeURIComponent(location)
|
|
2267
|
+
});
|
|
2268
|
+
if (existingResult.ok) {
|
|
2269
|
+
const patchResult = await api.patchProvider({
|
|
2270
|
+
id: existingResult.data.id,
|
|
2271
|
+
agent_card: agentCard
|
|
2272
|
+
});
|
|
2273
|
+
if (!patchResult.ok) {
|
|
2274
|
+
throw new Error(`Failed to patch provider: ${patchResult.error.message}`);
|
|
2275
|
+
}
|
|
2276
|
+
providerId = patchResult.data.id;
|
|
2277
|
+
} else if (existingResult.error.type === "http" /* Http */ && existingResult.error.response.status === 404) {
|
|
2278
|
+
const createResult = await api.createProvider({
|
|
2279
|
+
location,
|
|
2280
|
+
agent_card: agentCard
|
|
2281
|
+
});
|
|
2282
|
+
if (!createResult.ok) {
|
|
2283
|
+
throw new Error(`Failed to create provider: ${createResult.error.message}`);
|
|
2284
|
+
}
|
|
2285
|
+
providerId = createResult.data.id;
|
|
2286
|
+
} else {
|
|
2287
|
+
throw new Error(`Failed to lookup provider: ${existingResult.error.message}`);
|
|
2288
|
+
}
|
|
2289
|
+
},
|
|
2290
|
+
{
|
|
2291
|
+
shouldAbort: () => stopped,
|
|
2292
|
+
onRetry: (attempt, _error, delayMs) => {
|
|
2293
|
+
console.warn(`Registration attempt ${attempt} failed, retrying in ${delayMs}ms...`);
|
|
2294
|
+
}
|
|
2295
|
+
}
|
|
2296
|
+
);
|
|
2297
|
+
console.log("Agent registered successfully");
|
|
2298
|
+
await loadVariables(true);
|
|
2299
|
+
variableReloadInterval = setInterval(() => {
|
|
2300
|
+
loadVariables().catch((error) => console.error("Error during variable reload:", error));
|
|
2301
|
+
}, VARIABLE_RELOAD_INTERVAL_MS);
|
|
2302
|
+
} catch (error) {
|
|
2303
|
+
console.error(`Agent cannot be registered to agentstack server: ${getErrorMessage(error)}`);
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
function stop() {
|
|
2307
|
+
stopped = true;
|
|
2308
|
+
if (variableReloadInterval) {
|
|
2309
|
+
clearInterval(variableReloadInterval);
|
|
2310
|
+
variableReloadInterval = null;
|
|
2311
|
+
}
|
|
2312
|
+
}
|
|
2313
|
+
register();
|
|
2314
|
+
return stop;
|
|
2315
|
+
}
|
|
2316
|
+
|
|
2317
|
+
// src/experimental/server/a2a/helpers.ts
|
|
2318
|
+
var import_crypto = require("crypto");
|
|
2319
|
+
function createMessage({
|
|
2320
|
+
taskId,
|
|
2321
|
+
contextId,
|
|
2322
|
+
parts,
|
|
2323
|
+
metadata
|
|
2324
|
+
}) {
|
|
2325
|
+
return {
|
|
2326
|
+
kind: "message",
|
|
2327
|
+
messageId: (0, import_crypto.randomUUID)(),
|
|
2328
|
+
role: "agent",
|
|
2329
|
+
taskId,
|
|
2330
|
+
contextId,
|
|
2331
|
+
parts,
|
|
2332
|
+
metadata
|
|
2333
|
+
};
|
|
2334
|
+
}
|
|
2335
|
+
function createTextPart(text) {
|
|
2336
|
+
return {
|
|
2337
|
+
kind: "text",
|
|
2338
|
+
text
|
|
2339
|
+
};
|
|
2340
|
+
}
|
|
2341
|
+
function createDataPart(data) {
|
|
2342
|
+
return {
|
|
2343
|
+
kind: "data",
|
|
2344
|
+
data
|
|
2345
|
+
};
|
|
2346
|
+
}
|
|
2347
|
+
function createStatusUpdateEvent({
|
|
2348
|
+
taskId,
|
|
2349
|
+
contextId,
|
|
2350
|
+
status,
|
|
2351
|
+
final
|
|
2352
|
+
}) {
|
|
2353
|
+
return {
|
|
2354
|
+
kind: "status-update",
|
|
2355
|
+
taskId,
|
|
2356
|
+
contextId,
|
|
2357
|
+
status,
|
|
2358
|
+
final
|
|
2359
|
+
};
|
|
2360
|
+
}
|
|
2361
|
+
function createArtifactUpdateEvent({
|
|
2362
|
+
taskId,
|
|
2363
|
+
contextId,
|
|
2364
|
+
artifact,
|
|
2365
|
+
lastChunk,
|
|
2366
|
+
append
|
|
2367
|
+
}) {
|
|
2368
|
+
return {
|
|
2369
|
+
kind: "artifact-update",
|
|
2370
|
+
taskId,
|
|
2371
|
+
contextId,
|
|
2372
|
+
artifact,
|
|
2373
|
+
lastChunk,
|
|
2374
|
+
append
|
|
2375
|
+
};
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
// src/experimental/server/a2a/utils.ts
|
|
2379
|
+
function isObjectLike(value) {
|
|
2380
|
+
return value != null && typeof value === "object";
|
|
2381
|
+
}
|
|
2382
|
+
function isAsyncIterable(value) {
|
|
2383
|
+
return isObjectLike(value) && Symbol.asyncIterator in value;
|
|
2384
|
+
}
|
|
2385
|
+
function isMessage(value) {
|
|
2386
|
+
return isObjectLike(value) && "kind" in value && value.kind === "message";
|
|
2387
|
+
}
|
|
2388
|
+
function isArtifact(value) {
|
|
2389
|
+
return isObjectLike(value) && "artifactId" in value;
|
|
2390
|
+
}
|
|
2391
|
+
function isPart(value) {
|
|
2392
|
+
return isObjectLike(value) && "kind" in value && typeof value.kind === "string" && ["text", "file", "data"].includes(value.kind);
|
|
2393
|
+
}
|
|
2394
|
+
function isTaskStatus(value) {
|
|
2395
|
+
return isObjectLike(value) && "state" in value;
|
|
2396
|
+
}
|
|
2397
|
+
function isTaskStatusUpdateEvent(value) {
|
|
2398
|
+
return isObjectLike(value) && "kind" in value && value.kind === "status-update";
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
// src/experimental/server/core/server/executor.ts
|
|
2402
|
+
var AgentExecutorImpl = class {
|
|
2403
|
+
handler;
|
|
2404
|
+
extensions;
|
|
2405
|
+
runningTasks = /* @__PURE__ */ new Map();
|
|
2406
|
+
constructor(handler, extensions) {
|
|
2407
|
+
this.handler = handler;
|
|
2408
|
+
this.extensions = extensions;
|
|
2409
|
+
}
|
|
2410
|
+
getOrCreateTask(requestContext, eventBus) {
|
|
2411
|
+
const { taskId, contextId, task } = requestContext;
|
|
2412
|
+
if (task) {
|
|
2413
|
+
return task;
|
|
2414
|
+
}
|
|
2415
|
+
const initialTask = {
|
|
2416
|
+
kind: "task",
|
|
2417
|
+
id: taskId,
|
|
2418
|
+
contextId,
|
|
2419
|
+
status: {
|
|
2420
|
+
state: "submitted",
|
|
2421
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
2422
|
+
},
|
|
2423
|
+
history: []
|
|
2424
|
+
};
|
|
2425
|
+
eventBus.publish(initialTask);
|
|
2426
|
+
eventBus.publish(
|
|
2427
|
+
createStatusUpdateEvent({
|
|
2428
|
+
taskId: initialTask.id,
|
|
2429
|
+
contextId,
|
|
2430
|
+
status: {
|
|
2431
|
+
state: "working"
|
|
2432
|
+
},
|
|
2433
|
+
final: false
|
|
2434
|
+
})
|
|
2435
|
+
);
|
|
2436
|
+
return initialTask;
|
|
2437
|
+
}
|
|
2438
|
+
async execute(requestContext, eventBus) {
|
|
2439
|
+
const { userMessage, contextId } = requestContext;
|
|
2440
|
+
const task = this.getOrCreateTask(requestContext, eventBus);
|
|
2441
|
+
const runContext = new RunContext(task.id, contextId, task);
|
|
2442
|
+
const taskState = { cancelled: false };
|
|
2443
|
+
this.runningTasks.set(task.id, taskState);
|
|
2444
|
+
try {
|
|
2445
|
+
const deps = this.resolveExtensions(userMessage);
|
|
2446
|
+
const result = this.handler(userMessage, runContext, deps);
|
|
2447
|
+
if (isAsyncIterable(result)) {
|
|
2448
|
+
for await (const yielded of result) {
|
|
2449
|
+
if (taskState.cancelled) {
|
|
2450
|
+
this.publishCancelled(eventBus, task.id, contextId);
|
|
2451
|
+
return;
|
|
2452
|
+
}
|
|
2453
|
+
this.processYield(eventBus, task.id, contextId, yielded);
|
|
2454
|
+
}
|
|
2455
|
+
} else {
|
|
2456
|
+
const awaited = await result;
|
|
2457
|
+
if (awaited !== void 0) {
|
|
2458
|
+
this.processYield(eventBus, task.id, contextId, awaited);
|
|
2459
|
+
}
|
|
2460
|
+
}
|
|
2461
|
+
if (!taskState.cancelled) {
|
|
2462
|
+
eventBus.publish(
|
|
2463
|
+
createStatusUpdateEvent({
|
|
2464
|
+
taskId: task.id,
|
|
2465
|
+
contextId,
|
|
2466
|
+
status: {
|
|
2467
|
+
state: "completed"
|
|
2468
|
+
},
|
|
2469
|
+
final: true
|
|
2470
|
+
})
|
|
2471
|
+
);
|
|
2472
|
+
}
|
|
2473
|
+
} catch (error) {
|
|
2474
|
+
const message = createMessage({
|
|
2475
|
+
taskId: task.id,
|
|
2476
|
+
contextId,
|
|
2477
|
+
parts: [createTextPart(error instanceof Error ? error.message : "Unknown error")]
|
|
2478
|
+
});
|
|
2479
|
+
eventBus.publish(
|
|
2480
|
+
createStatusUpdateEvent({
|
|
2481
|
+
taskId: task.id,
|
|
2482
|
+
contextId,
|
|
2483
|
+
status: {
|
|
2484
|
+
state: "failed",
|
|
2485
|
+
message
|
|
2486
|
+
},
|
|
2487
|
+
final: true
|
|
2488
|
+
})
|
|
2489
|
+
);
|
|
2490
|
+
this.runningTasks.delete(task.id);
|
|
2491
|
+
} finally {
|
|
2492
|
+
eventBus.finished();
|
|
2493
|
+
}
|
|
2494
|
+
}
|
|
2495
|
+
async cancelTask(taskId) {
|
|
2496
|
+
const taskState = this.runningTasks.get(taskId);
|
|
2497
|
+
if (taskState) {
|
|
2498
|
+
taskState.cancelled = true;
|
|
2499
|
+
}
|
|
2500
|
+
}
|
|
2501
|
+
resolveExtensions(message) {
|
|
2502
|
+
if (!this.extensions) {
|
|
2503
|
+
return {};
|
|
2504
|
+
}
|
|
2505
|
+
const deps = {};
|
|
2506
|
+
for (const [key, ext] of Object.entries(this.extensions)) {
|
|
2507
|
+
const fulfillments = ext.spec.parseFulfillments(message);
|
|
2508
|
+
deps[key] = ext.resolveDeps(fulfillments);
|
|
2509
|
+
}
|
|
2510
|
+
return deps;
|
|
2511
|
+
}
|
|
2512
|
+
publishCancelled(eventBus, taskId, contextId) {
|
|
2513
|
+
eventBus.publish(
|
|
2514
|
+
createStatusUpdateEvent({
|
|
2515
|
+
taskId,
|
|
2516
|
+
contextId,
|
|
2517
|
+
status: {
|
|
2518
|
+
state: "canceled"
|
|
2519
|
+
},
|
|
2520
|
+
final: true
|
|
2521
|
+
})
|
|
2522
|
+
);
|
|
2523
|
+
}
|
|
2524
|
+
processYield(eventBus, taskId, contextId, yielded) {
|
|
2525
|
+
if (typeof yielded === "string") {
|
|
2526
|
+
const message = createMessage({
|
|
2527
|
+
taskId,
|
|
2528
|
+
contextId,
|
|
2529
|
+
parts: [createTextPart(yielded)]
|
|
2530
|
+
});
|
|
2531
|
+
eventBus.publish(
|
|
2532
|
+
createStatusUpdateEvent({
|
|
2533
|
+
taskId,
|
|
2534
|
+
contextId,
|
|
2535
|
+
status: {
|
|
2536
|
+
state: "working",
|
|
2537
|
+
message
|
|
2538
|
+
},
|
|
2539
|
+
final: false
|
|
2540
|
+
})
|
|
2541
|
+
);
|
|
2542
|
+
} else if (yielded instanceof Error) {
|
|
2543
|
+
const message = createMessage({
|
|
2544
|
+
taskId,
|
|
2545
|
+
contextId,
|
|
2546
|
+
parts: [createTextPart(yielded.message)]
|
|
2547
|
+
});
|
|
2548
|
+
eventBus.publish(
|
|
2549
|
+
createStatusUpdateEvent({
|
|
2550
|
+
taskId,
|
|
2551
|
+
contextId,
|
|
2552
|
+
status: {
|
|
2553
|
+
state: "failed",
|
|
2554
|
+
message
|
|
2555
|
+
},
|
|
2556
|
+
final: true
|
|
2557
|
+
})
|
|
2558
|
+
);
|
|
2559
|
+
} else if (isMessage(yielded)) {
|
|
2560
|
+
const message = {
|
|
2561
|
+
...yielded,
|
|
2562
|
+
taskId,
|
|
2563
|
+
contextId
|
|
2564
|
+
};
|
|
2565
|
+
eventBus.publish(
|
|
2566
|
+
createStatusUpdateEvent({
|
|
2567
|
+
taskId,
|
|
2568
|
+
contextId,
|
|
2569
|
+
status: {
|
|
2570
|
+
state: "working",
|
|
2571
|
+
message
|
|
2572
|
+
},
|
|
2573
|
+
final: false
|
|
2574
|
+
})
|
|
2575
|
+
);
|
|
2576
|
+
} else if (isPart(yielded)) {
|
|
2577
|
+
const message = createMessage({
|
|
2578
|
+
taskId,
|
|
2579
|
+
contextId,
|
|
2580
|
+
parts: [yielded]
|
|
2581
|
+
});
|
|
2582
|
+
eventBus.publish(
|
|
2583
|
+
createStatusUpdateEvent({
|
|
2584
|
+
taskId,
|
|
2585
|
+
contextId,
|
|
2586
|
+
status: {
|
|
2587
|
+
state: "working",
|
|
2588
|
+
message
|
|
2589
|
+
},
|
|
2590
|
+
final: false
|
|
2591
|
+
})
|
|
2592
|
+
);
|
|
2593
|
+
} else if (isTaskStatusUpdateEvent(yielded)) {
|
|
2594
|
+
eventBus.publish(yielded);
|
|
2595
|
+
} else if (isTaskStatus(yielded)) {
|
|
2596
|
+
eventBus.publish(
|
|
2597
|
+
createStatusUpdateEvent({
|
|
2598
|
+
taskId,
|
|
2599
|
+
contextId,
|
|
2600
|
+
status: yielded,
|
|
2601
|
+
final: false
|
|
2602
|
+
})
|
|
2603
|
+
);
|
|
2604
|
+
} else if (isArtifact(yielded)) {
|
|
2605
|
+
eventBus.publish(
|
|
2606
|
+
createArtifactUpdateEvent({
|
|
2607
|
+
taskId,
|
|
2608
|
+
contextId,
|
|
2609
|
+
artifact: yielded,
|
|
2610
|
+
lastChunk: true,
|
|
2611
|
+
append: false
|
|
2612
|
+
})
|
|
2613
|
+
);
|
|
2614
|
+
} else if (typeof yielded === "object" && yielded != null) {
|
|
2615
|
+
const message = createMessage({
|
|
2616
|
+
taskId,
|
|
2617
|
+
contextId,
|
|
2618
|
+
parts: [createDataPart(yielded)]
|
|
2619
|
+
});
|
|
2620
|
+
eventBus.publish(
|
|
2621
|
+
createStatusUpdateEvent({
|
|
2622
|
+
taskId,
|
|
2623
|
+
contextId,
|
|
2624
|
+
status: {
|
|
2625
|
+
state: "working",
|
|
2626
|
+
message
|
|
2627
|
+
},
|
|
2628
|
+
final: false
|
|
2629
|
+
})
|
|
2630
|
+
);
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
};
|
|
2634
|
+
|
|
2635
|
+
// src/experimental/server/core/server/index.ts
|
|
2636
|
+
var Server = class {
|
|
2637
|
+
agentCard;
|
|
2638
|
+
agentOptions;
|
|
2639
|
+
agentConfigured = false;
|
|
2640
|
+
agent(options) {
|
|
2641
|
+
if (this.agentConfigured) {
|
|
2642
|
+
throw new Error("Agent already configured. Only one agent per server is supported.");
|
|
2643
|
+
}
|
|
2644
|
+
let extensions = this.buildExtensions(options.extensions);
|
|
2645
|
+
if (options.detail) {
|
|
2646
|
+
const detailExt = new AgentDetailExtensionSpec(options.detail);
|
|
2647
|
+
extensions = [...extensions ?? [], detailExt.toAgentCardExtension()];
|
|
2648
|
+
}
|
|
2649
|
+
this.agentCard = {
|
|
2650
|
+
name: options.name,
|
|
2651
|
+
description: options.description ?? "",
|
|
2652
|
+
url: "http://localhost:8000",
|
|
2653
|
+
version: options.version ?? "1.0.0",
|
|
2654
|
+
protocolVersion: options.protocolVersion ?? "0.3.0",
|
|
2655
|
+
capabilities: {
|
|
2656
|
+
streaming: true,
|
|
2657
|
+
extensions
|
|
2658
|
+
},
|
|
2659
|
+
defaultInputModes: ["text"],
|
|
2660
|
+
defaultOutputModes: ["text"],
|
|
2661
|
+
skills: []
|
|
2662
|
+
};
|
|
2663
|
+
this.agentOptions = options;
|
|
2664
|
+
this.agentConfigured = true;
|
|
2665
|
+
return this;
|
|
2666
|
+
}
|
|
2667
|
+
async run(options = {}) {
|
|
2668
|
+
if (!this.agentConfigured || !this.agentCard || !this.agentOptions) {
|
|
2669
|
+
throw new Error("No agent configured. Call agent() before run().");
|
|
2670
|
+
}
|
|
2671
|
+
const config = loadConfig();
|
|
2672
|
+
const host = options.host ?? "0.0.0.0";
|
|
2673
|
+
const port = options.port ?? 8e3;
|
|
2674
|
+
const selfRegistrationId = options.selfRegistrationId;
|
|
2675
|
+
const platformUrl = options.platformUrl ?? config.platformUrl;
|
|
2676
|
+
const productionMode = config.productionMode;
|
|
2677
|
+
this.agentCard.url = createAgentCardUrl(host, port);
|
|
2678
|
+
if (selfRegistrationId && !productionMode) {
|
|
2679
|
+
const selfRegExtension = new PlatformSelfRegistrationExtensionSpec({ self_registration_id: selfRegistrationId });
|
|
2680
|
+
this.agentCard.capabilities.extensions = [
|
|
2681
|
+
...this.agentCard.capabilities.extensions ?? [],
|
|
2682
|
+
selfRegExtension.toAgentCardExtension()
|
|
2683
|
+
];
|
|
2684
|
+
}
|
|
2685
|
+
const taskStore = new import_server.InMemoryTaskStore();
|
|
2686
|
+
const executor = new AgentExecutorImpl(this.agentOptions.handler, this.agentOptions.extensions);
|
|
2687
|
+
const requestHandler = new import_server.DefaultRequestHandler(this.agentCard, taskStore, executor);
|
|
2688
|
+
const app = (0, import_express2.default)();
|
|
2689
|
+
const agentCardPath = `/.well-known/agent-card.json`;
|
|
2690
|
+
app.use((0, import_express.jsonRpcHandler)({ requestHandler, userBuilder: import_express.UserBuilder.noAuthentication }));
|
|
2691
|
+
app.use(agentCardPath, (0, import_express.agentCardHandler)({ agentCardProvider: requestHandler }));
|
|
2692
|
+
const api = buildApiClient({ baseUrl: platformUrl });
|
|
2693
|
+
let stopAutoregistration;
|
|
2694
|
+
if (selfRegistrationId && !productionMode) {
|
|
2695
|
+
stopAutoregistration = createAutoregisterToAgentstack({
|
|
2696
|
+
selfRegistrationId,
|
|
2697
|
+
agentCard: this.agentCard,
|
|
2698
|
+
host,
|
|
2699
|
+
port,
|
|
2700
|
+
api
|
|
2701
|
+
});
|
|
2702
|
+
}
|
|
2703
|
+
return new Promise((resolve, reject) => {
|
|
2704
|
+
const server = app.listen(port, host, async () => {
|
|
2705
|
+
console.log(`Agent "${this.agentCard.name}" running at http://${host}:${port}`);
|
|
2706
|
+
console.log(`Agent card available at http://${host}:${port}${agentCardPath}`);
|
|
2707
|
+
const url = createAgentCardUrl(host, port);
|
|
2708
|
+
const handle = {
|
|
2709
|
+
port,
|
|
2710
|
+
url,
|
|
2711
|
+
close: () => new Promise((resolveClose, rejectClose) => {
|
|
2712
|
+
stopAutoregistration?.();
|
|
2713
|
+
server.close((error) => {
|
|
2714
|
+
if (error) {
|
|
2715
|
+
rejectClose(error);
|
|
2716
|
+
} else {
|
|
2717
|
+
resolveClose();
|
|
2718
|
+
}
|
|
2719
|
+
});
|
|
2720
|
+
})
|
|
2721
|
+
};
|
|
2722
|
+
resolve(handle);
|
|
2723
|
+
});
|
|
2724
|
+
server.on("error", (error) => {
|
|
2725
|
+
stopAutoregistration?.();
|
|
2726
|
+
reject(error);
|
|
2727
|
+
});
|
|
2728
|
+
const cleanup = () => {
|
|
2729
|
+
stopAutoregistration?.();
|
|
2730
|
+
server.close();
|
|
2731
|
+
};
|
|
2732
|
+
process.on("SIGTERM", cleanup);
|
|
2733
|
+
process.on("SIGINT", cleanup);
|
|
2734
|
+
});
|
|
2735
|
+
}
|
|
2736
|
+
buildExtensions(extensionConfig) {
|
|
2737
|
+
if (!extensionConfig) {
|
|
2738
|
+
return void 0;
|
|
2739
|
+
}
|
|
2740
|
+
const extensions = [];
|
|
2741
|
+
for (const ext of Object.values(extensionConfig)) {
|
|
2742
|
+
extensions.push(ext.spec.toAgentCardExtension());
|
|
2743
|
+
}
|
|
2744
|
+
if (extensions.length === 0) {
|
|
2745
|
+
return void 0;
|
|
2746
|
+
}
|
|
2747
|
+
return extensions;
|
|
2748
|
+
}
|
|
2749
|
+
};
|
|
2750
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
2751
|
+
0 && (module.exports = {
|
|
2752
|
+
AgentDetailExtensionSpec,
|
|
2753
|
+
LLMExtensionServer,
|
|
2754
|
+
LLMExtensionSpec,
|
|
2755
|
+
PLATFORM_SELF_REGISTRATION_EXTENSION_URI,
|
|
2756
|
+
PlatformSelfRegistrationExtensionSpec,
|
|
2757
|
+
RunContext,
|
|
2758
|
+
Server,
|
|
2759
|
+
configSchema,
|
|
2760
|
+
isProductionMode,
|
|
2761
|
+
loadConfig
|
|
2762
|
+
});
|