@decocms/bindings 0.2.4-beta.2 → 0.2.4-beta.3
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 +5 -5
- package/dist/core/binder.d.ts +3 -0
- package/dist/core/binder.js +81 -0
- package/dist/core/binder.js.map +1 -0
- package/dist/{client.js → core/client/http-client-transport.js} +9 -9
- package/dist/core/client/http-client-transport.js.map +1 -0
- package/dist/core/client/index.d.ts +3 -0
- package/dist/core/client/index.js +5 -0
- package/dist/core/client/index.js.map +1 -0
- package/dist/core/client/mcp-client.d.ts +233 -0
- package/dist/core/client/mcp-client.js +99 -0
- package/dist/core/client/mcp-client.js.map +1 -0
- package/dist/core/client/mcp.d.ts +3 -0
- package/dist/core/client/mcp.js +29 -0
- package/dist/core/client/mcp.js.map +1 -0
- package/dist/core/client/proxy.d.ts +10 -0
- package/dist/core/client/proxy.js +104 -0
- package/dist/core/client/proxy.js.map +1 -0
- package/dist/core/connection.js +1 -0
- package/dist/core/connection.js.map +1 -0
- package/dist/core/subset.d.ts +17 -0
- package/dist/core/subset.js +321 -0
- package/dist/core/subset.js.map +1 -0
- package/dist/index-D0aUdNls.d.ts +153 -0
- package/dist/index.d.ts +3 -94
- package/dist/index.js +5 -340
- package/dist/index.js.map +1 -1
- package/dist/{node → well-known}/agents.d.ts +64 -64
- package/dist/well-known/agents.js +28 -0
- package/dist/well-known/agents.js.map +1 -0
- package/dist/{node → well-known}/collections.d.ts +1 -1
- package/dist/{collections.js → well-known/collections.js} +24 -13
- package/dist/well-known/collections.js.map +1 -0
- package/dist/{node → well-known}/language-model.d.ts +353 -357
- package/dist/{node → well-known}/language-model.js +27 -21
- package/dist/well-known/language-model.js.map +1 -0
- package/package.json +17 -37
- package/dist/browser/agents.js +0 -29
- package/dist/browser/agents.js.map +0 -1
- package/dist/browser/chunk-6QEXJ7XW.js +0 -48564
- package/dist/browser/chunk-6QEXJ7XW.js.map +0 -1
- package/dist/browser/chunk-WKNVAFKE.js +0 -2176
- package/dist/browser/chunk-WKNVAFKE.js.map +0 -1
- package/dist/browser/chunk-XWLBKKHZ.js +0 -127
- package/dist/browser/chunk-XWLBKKHZ.js.map +0 -1
- package/dist/browser/chunk-ZX4ZDU2T.js +0 -58
- package/dist/browser/chunk-ZX4ZDU2T.js.map +0 -1
- package/dist/browser/client.js +0 -9
- package/dist/browser/client.js.map +0 -1
- package/dist/browser/collections.js +0 -4
- package/dist/browser/collections.js.map +0 -1
- package/dist/browser/connection.js +0 -8
- package/dist/browser/connection.js.map +0 -1
- package/dist/browser/index.js +0 -10
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/language-model.js +0 -205
- package/dist/browser/language-model.js.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/collections.d.ts +0 -537
- package/dist/collections.js.map +0 -1
- package/dist/connection.js +0 -3
- package/dist/connection.js.map +0 -1
- package/dist/language-model.d.ts +0 -3228
- package/dist/language-model.js +0 -628
- package/dist/language-model.js.map +0 -1
- package/dist/models.d.ts +0 -2071
- package/dist/models.js +0 -111
- package/dist/models.js.map +0 -1
- package/dist/node/agents.js +0 -27
- package/dist/node/agents.js.map +0 -1
- package/dist/node/chunk-BLCFITZG.js +0 -56
- package/dist/node/chunk-BLCFITZG.js.map +0 -1
- package/dist/node/chunk-QMQMPK7Q.js +0 -50
- package/dist/node/chunk-QMQMPK7Q.js.map +0 -1
- package/dist/node/chunk-QP7AQCEP.js +0 -23478
- package/dist/node/chunk-QP7AQCEP.js.map +0 -1
- package/dist/node/chunk-T2DG7334.js +0 -125
- package/dist/node/chunk-T2DG7334.js.map +0 -1
- package/dist/node/client.d.ts +0 -12
- package/dist/node/client.js +0 -7
- package/dist/node/client.js.map +0 -1
- package/dist/node/collections.js +0 -4
- package/dist/node/collections.js.map +0 -1
- package/dist/node/connection.d.ts +0 -30
- package/dist/node/connection.js +0 -6
- package/dist/node/connection.js.map +0 -1
- package/dist/node/index.d.ts +0 -94
- package/dist/node/index.js +0 -8
- package/dist/node/index.js.map +0 -1
- package/dist/node/language-model.js.map +0 -1
- /package/dist/{client.d.ts → core/client/http-client-transport.d.ts} +0 -0
- /package/dist/{connection.d.ts → core/connection.d.ts} +0 -0
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
init_esm_shims();
|
|
9
|
-
var LanguageModelCallOptionsSchema = z.object({
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import { bindingClient } from "../core/binder";
|
|
3
|
+
import {
|
|
4
|
+
BaseCollectionEntitySchema,
|
|
5
|
+
createCollectionBindings
|
|
6
|
+
} from "./collections";
|
|
7
|
+
const LanguageModelCallOptionsSchema = z.object({
|
|
10
8
|
// Core parameters
|
|
11
9
|
prompt: z.any().describe(
|
|
12
10
|
"A language mode prompt is a standardized prompt type (messages, system, etc.)"
|
|
@@ -58,7 +56,7 @@ var LanguageModelCallOptionsSchema = z.object({
|
|
|
58
56
|
headers: z.record(z.string(), z.union([z.string(), z.undefined()])).optional().describe("Additional HTTP headers to be sent with the request"),
|
|
59
57
|
providerOptions: z.any().optional().describe("Additional provider-specific options")
|
|
60
58
|
});
|
|
61
|
-
|
|
59
|
+
const LanguageModelGenerateOutputSchema = z.object({
|
|
62
60
|
// Ordered content that the model has generated
|
|
63
61
|
content: z.array(z.any()).describe(
|
|
64
62
|
"Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)"
|
|
@@ -103,7 +101,7 @@ var LanguageModelGenerateOutputSchema = z.object({
|
|
|
103
101
|
// Warnings for the call (required)
|
|
104
102
|
warnings: z.array(z.any()).describe("Warnings for the call, e.g. unsupported settings")
|
|
105
103
|
});
|
|
106
|
-
|
|
104
|
+
const LanguageModelStreamOutputSchema = z.object({
|
|
107
105
|
// Stream of language model output parts
|
|
108
106
|
stream: z.any().describe("ReadableStream of LanguageModelV2StreamPart"),
|
|
109
107
|
// Request information for telemetry and debugging
|
|
@@ -115,10 +113,10 @@ var LanguageModelStreamOutputSchema = z.object({
|
|
|
115
113
|
headers: z.record(z.string(), z.string()).optional().describe("Response headers")
|
|
116
114
|
}).optional().describe("Optional response data")
|
|
117
115
|
});
|
|
118
|
-
|
|
116
|
+
const LanguageModelMetadataSchema = z.object({
|
|
119
117
|
supportedUrls: z.record(z.string(), z.array(z.string())).describe("Supported URL patterns by media type for the provider")
|
|
120
118
|
});
|
|
121
|
-
|
|
119
|
+
const ModelSchema = z.object({
|
|
122
120
|
modelId: z.string().describe("The ID of the model"),
|
|
123
121
|
// Model-specific fields
|
|
124
122
|
logo: z.string().nullable(),
|
|
@@ -143,11 +141,11 @@ var ModelSchema = z.object({
|
|
|
143
141
|
"openrouter"
|
|
144
142
|
]).nullable()
|
|
145
143
|
});
|
|
146
|
-
|
|
144
|
+
const LanguageModelInputSchema = z.object({
|
|
147
145
|
modelId: z.string().describe("The ID of the model"),
|
|
148
146
|
callOptions: LanguageModelCallOptionsSchema
|
|
149
147
|
});
|
|
150
|
-
|
|
148
|
+
const ModelCollectionEntitySchema = BaseCollectionEntitySchema.extend({
|
|
151
149
|
// Model-specific fields
|
|
152
150
|
logo: z.string().nullable(),
|
|
153
151
|
description: z.string().nullable(),
|
|
@@ -171,12 +169,12 @@ var ModelCollectionEntitySchema = BaseCollectionEntitySchema.extend({
|
|
|
171
169
|
"openrouter"
|
|
172
170
|
]).nullable()
|
|
173
171
|
});
|
|
174
|
-
|
|
172
|
+
const LLM_COLLECTION_BINDING = createCollectionBindings(
|
|
175
173
|
"llm",
|
|
176
174
|
ModelCollectionEntitySchema,
|
|
177
175
|
{ readOnly: true }
|
|
178
176
|
);
|
|
179
|
-
|
|
177
|
+
const LANGUAGE_MODEL_BINDING = [
|
|
180
178
|
{
|
|
181
179
|
name: "LLM_METADATA",
|
|
182
180
|
inputSchema: z.object({
|
|
@@ -196,8 +194,16 @@ var LANGUAGE_MODEL_BINDING = [
|
|
|
196
194
|
},
|
|
197
195
|
...LLM_COLLECTION_BINDING
|
|
198
196
|
];
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
197
|
+
const LanguageModelBinding = bindingClient(LANGUAGE_MODEL_BINDING);
|
|
198
|
+
export {
|
|
199
|
+
LANGUAGE_MODEL_BINDING,
|
|
200
|
+
LanguageModelBinding,
|
|
201
|
+
LanguageModelCallOptionsSchema,
|
|
202
|
+
LanguageModelGenerateOutputSchema,
|
|
203
|
+
LanguageModelInputSchema,
|
|
204
|
+
LanguageModelMetadataSchema,
|
|
205
|
+
LanguageModelStreamOutputSchema,
|
|
206
|
+
ModelCollectionEntitySchema,
|
|
207
|
+
ModelSchema
|
|
208
|
+
};
|
|
203
209
|
//# sourceMappingURL=language-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/well-known/language-model.ts"],"sourcesContent":["/**\n * Language Model Well-Known Binding\n *\n * Defines the interface for AI model providers.\n * Any MCP that implements this binding can provide AI models and streaming endpoints.\n *\n * This binding includes:\n * - LLM operations (metadata, stream, generate)\n * - Collection bindings for LIST and GET operations (read-only)\n * - Streaming endpoint information is included directly in the model entity schema.\n */\n\nimport { z } from \"zod/v3\";\nimport { bindingClient, type ToolBinder } from \"../core/binder\";\nimport {\n BaseCollectionEntitySchema,\n createCollectionBindings,\n} from \"./collections\";\n\n/**\n * Language Model Call Options Schema\n * Based on LanguageModelV2CallOptions from @ai-sdk/provider\n */\nexport const LanguageModelCallOptionsSchema = z.object({\n // Core parameters\n prompt: z\n .any()\n .describe(\n \"A language mode prompt is a standardized prompt type (messages, system, etc.)\",\n ),\n\n // Generation parameters\n maxOutputTokens: z\n .number()\n .optional()\n .describe(\"Maximum number of tokens to generate\"),\n temperature: z\n .number()\n .optional()\n .describe(\n \"Temperature setting. The range depends on the provider and model\",\n ),\n topP: z.number().optional().describe(\"Nucleus sampling parameter\"),\n topK: z\n .number()\n .optional()\n .describe(\n \"Only sample from the top K options for each subsequent token. Used to remove long tail low probability responses\",\n ),\n presencePenalty: z\n .number()\n .optional()\n .describe(\n \"Presence penalty setting. It affects the likelihood of the model to repeat information that is already in the prompt\",\n ),\n frequencyPenalty: z\n .number()\n .optional()\n .describe(\n \"Frequency penalty setting. It affects the likelihood of the model to repeatedly use the same words or phrases\",\n ),\n seed: z\n .number()\n .optional()\n .describe(\n \"The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results\",\n ),\n\n // Stop sequences\n stopSequences: z\n .array(z.string())\n .optional()\n .describe(\n \"Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated\",\n ),\n\n // Response format\n responseFormat: z\n .union([\n z.object({ type: z.literal(\"text\") }),\n z.object({\n type: z.literal(\"json\"),\n schema: z\n .any()\n .optional()\n .describe(\"JSON schema that the generated output should conform to\"),\n name: z\n .string()\n .optional()\n .describe(\"Name of output that should be generated\"),\n description: z\n .string()\n .optional()\n .describe(\"Description of the output that should be generated\"),\n }),\n ])\n .optional()\n .describe(\n \"Response format. The output can either be text or JSON. Default is text\",\n ),\n\n // Tools\n tools: z\n .array(z.any())\n .optional()\n .describe(\"The tools that are available for the model\"),\n toolChoice: z\n .any()\n .optional()\n .describe(\"Specifies how the tool should be selected. Defaults to 'auto'\"),\n\n // Stream options\n includeRawChunks: z\n .boolean()\n .optional()\n .describe(\n \"Include raw chunks in the stream. Only applicable for streaming calls\",\n ),\n\n // Abort signal\n abortSignal: z\n .any()\n .optional()\n .describe(\"Abort signal for cancelling the operation\"),\n\n // Additional options\n headers: z\n .record(z.string(), z.union([z.string(), z.undefined()]))\n .optional()\n .describe(\"Additional HTTP headers to be sent with the request\"),\n providerOptions: z\n .any()\n .optional()\n .describe(\"Additional provider-specific options\"),\n});\n\n/**\n * Language Model Generate Output Schema\n * Based on the return type of LanguageModelV2.doGenerate from @ai-sdk/provider\n */\nexport const LanguageModelGenerateOutputSchema = z.object({\n // Ordered content that the model has generated\n content: z\n .array(z.any())\n .describe(\n \"Ordered content that the model has generated (text, tool-calls, reasoning, files, sources)\",\n ),\n\n // Finish reason (required)\n finishReason: z\n .enum([\n \"stop\",\n \"length\",\n \"content-filter\",\n \"tool-calls\",\n \"error\",\n \"other\",\n \"unknown\",\n ])\n .describe(\"Reason why generation stopped\"),\n\n // Usage information (required)\n usage: z\n .object({\n inputTokens: z.number().optional(),\n outputTokens: z.number().optional(),\n totalTokens: z.number().optional(),\n reasoningTokens: z.number().optional(),\n })\n .passthrough()\n .transform((val) => ({\n inputTokens: val.inputTokens,\n outputTokens: val.outputTokens,\n totalTokens: val.totalTokens,\n reasoningTokens: val.reasoningTokens,\n ...val,\n }))\n .describe(\"Usage information for the language model call\"),\n\n // Provider metadata\n providerMetadata: z\n .any()\n .optional()\n .describe(\"Additional provider-specific metadata\"),\n\n // Request information for telemetry and debugging\n request: z\n .object({\n body: z\n .any()\n .optional()\n .describe(\"Request HTTP body sent to the provider API\"),\n })\n .optional()\n .describe(\"Optional request information for telemetry and debugging\"),\n\n // Response information for telemetry and debugging\n response: z\n .object({\n id: z.string().optional().describe(\"ID for the generated response\"),\n timestamp: z\n .date()\n .optional()\n .describe(\"Timestamp for the start of the generated response\"),\n modelId: z\n .string()\n .optional()\n .describe(\"The ID of the response model that was used\"),\n headers: z\n .record(z.string(), z.string())\n .optional()\n .describe(\"Response headers\"),\n body: z.any().optional().describe(\"Response HTTP body\"),\n })\n .optional()\n .describe(\"Optional response information for telemetry and debugging\"),\n\n // Warnings for the call (required)\n warnings: z\n .array(z.any())\n .describe(\"Warnings for the call, e.g. unsupported settings\"),\n});\n\n/**\n * Language Model Stream Output Schema\n * Based on the return type of LanguageModelV2.doStream from @ai-sdk/provider\n */\nexport const LanguageModelStreamOutputSchema = z.object({\n // Stream of language model output parts\n stream: z.any().describe(\"ReadableStream of LanguageModelV2StreamPart\"),\n\n // Request information for telemetry and debugging\n request: z\n .object({\n body: z\n .any()\n .optional()\n .describe(\"Request HTTP body sent to the provider API\"),\n })\n .optional()\n .describe(\"Optional request information for telemetry and debugging\"),\n\n // Response information\n response: z\n .object({\n headers: z\n .record(z.string(), z.string())\n .optional()\n .describe(\"Response headers\"),\n })\n .optional()\n .describe(\"Optional response data\"),\n});\n\nexport const LanguageModelMetadataSchema = z.object({\n supportedUrls: z\n .record(z.string(), z.array(z.string()))\n .describe(\"Supported URL patterns by media type for the provider\"),\n});\n\n/**\n * Simple Model schema for LLM operations\n */\nexport const ModelSchema = z.object({\n modelId: z.string().describe(\"The ID of the model\"),\n // Model-specific fields\n logo: z.string().nullable(),\n description: z.string().nullable(),\n capabilities: z.array(z.string()),\n limits: z\n .object({\n contextWindow: z.number(),\n maxOutputTokens: z.number(),\n })\n .nullable(),\n costs: z\n .object({\n input: z.number(),\n output: z.number(),\n })\n .nullable(),\n // Provider information\n provider: z\n .enum([\n \"openai\",\n \"anthropic\",\n \"google\",\n \"x-ai\",\n \"deepseek\",\n \"openai-compatible\",\n \"openrouter\",\n ])\n .nullable(),\n});\n\nexport const LanguageModelInputSchema = z.object({\n modelId: z.string().describe(\"The ID of the model\"),\n callOptions: LanguageModelCallOptionsSchema,\n});\n\n/**\n * Model entity schema for AI models (Collection Entity)\n * Extends BaseCollectionEntitySchema with model-specific fields\n * Base schema already includes: id, title, created_at, updated_at, created_by, updated_by\n */\nexport const ModelCollectionEntitySchema = BaseCollectionEntitySchema.extend({\n // Model-specific fields\n logo: z.string().nullable(),\n description: z.string().nullable(),\n capabilities: z.array(z.string()),\n limits: z\n .object({\n contextWindow: z.number(),\n maxOutputTokens: z.number(),\n })\n .nullable(),\n costs: z\n .object({\n input: z.number(),\n output: z.number(),\n })\n .nullable(),\n // Provider information\n provider: z\n .enum([\n \"openai\",\n \"anthropic\",\n \"google\",\n \"xai\",\n \"deepseek\",\n \"openai-compatible\",\n \"openrouter\",\n ])\n .nullable(),\n});\n\n/**\n * LLM Collection Binding (internal)\n *\n * Collection bindings for language models (read-only).\n * Provides LIST and GET operations for AI models.\n */\nconst LLM_COLLECTION_BINDING = createCollectionBindings(\n \"llm\",\n ModelCollectionEntitySchema,\n { readOnly: true },\n);\n\n/**\n * Language Model Binding\n *\n * Defines the interface for AI model providers.\n * Any MCP that implements this binding can provide AI models.\n *\n * Required tools:\n * - LLM_METADATA: Get metadata for a specific model\n * - LLM_DO_STREAM: Stream a language model response\n * - LLM_DO_GENERATE: Generate a language model response\n * - COLLECTION_LLM_LIST: List available AI models with their capabilities\n * - COLLECTION_LLM_GET: Get a single model by ID\n */\nexport const LANGUAGE_MODEL_BINDING = [\n {\n name: \"LLM_METADATA\" as const,\n inputSchema: z.object({\n modelId: z.string().describe(\"The ID of the model\"),\n }),\n outputSchema: LanguageModelMetadataSchema,\n },\n {\n name: \"LLM_DO_STREAM\" as const,\n inputSchema: LanguageModelInputSchema,\n streamable: true,\n },\n {\n name: \"LLM_DO_GENERATE\" as const,\n inputSchema: LanguageModelInputSchema,\n outputSchema: LanguageModelGenerateOutputSchema,\n },\n ...LLM_COLLECTION_BINDING,\n] satisfies ToolBinder[];\n\nexport const LanguageModelBinding = bindingClient(LANGUAGE_MODEL_BINDING);\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decocms/bindings",
|
|
3
|
-
"version": "0.2.4-beta.
|
|
3
|
+
"version": "0.2.4-beta.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsup",
|
|
@@ -9,63 +9,43 @@
|
|
|
9
9
|
"prepublishOnly": "npm run build"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"
|
|
12
|
+
"@modelcontextprotocol/sdk": "^1.20.2",
|
|
13
13
|
"zod": "^3.25.76",
|
|
14
|
-
"zod-to-json-schema": "^3.24.4",
|
|
15
14
|
"zod-from-json-schema": "^0.0.5",
|
|
16
|
-
"
|
|
15
|
+
"zod-to-json-schema": "3.25.0"
|
|
17
16
|
},
|
|
18
|
-
"main": "./dist/
|
|
19
|
-
"types": "./dist/
|
|
17
|
+
"main": "./dist/index.js",
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
20
19
|
"files": [
|
|
21
20
|
"dist/**/*"
|
|
22
21
|
],
|
|
23
22
|
"exports": {
|
|
24
23
|
".": {
|
|
25
|
-
"types": "./dist/
|
|
26
|
-
"
|
|
27
|
-
"bun": "./dist/node/index.js",
|
|
28
|
-
"node": "./dist/node/index.js",
|
|
29
|
-
"default": "./dist/node/index.js"
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"default": "./dist/index.js"
|
|
30
26
|
},
|
|
31
27
|
"./client": {
|
|
32
|
-
"types": "./dist/
|
|
33
|
-
"
|
|
34
|
-
"bun": "./dist/node/client.js",
|
|
35
|
-
"node": "./dist/node/client.js",
|
|
36
|
-
"default": "./dist/node/client.js"
|
|
28
|
+
"types": "./dist/core/client/index.d.ts",
|
|
29
|
+
"default": "./dist/core/client/index.js"
|
|
37
30
|
},
|
|
38
31
|
"./llm": {
|
|
39
|
-
"types": "./dist/
|
|
40
|
-
"
|
|
41
|
-
"bun": "./dist/node/language-model.js",
|
|
42
|
-
"node": "./dist/node/language-model.js",
|
|
43
|
-
"default": "./dist/node/language-model.js"
|
|
32
|
+
"types": "./dist/well-known/language-model.d.ts",
|
|
33
|
+
"default": "./dist/well-known/language-model.js"
|
|
44
34
|
},
|
|
45
35
|
"./connection": {
|
|
46
|
-
"types": "./dist/
|
|
47
|
-
"
|
|
48
|
-
"bun": "./dist/node/connection.js",
|
|
49
|
-
"node": "./dist/node/connection.js",
|
|
50
|
-
"default": "./dist/node/connection.js"
|
|
36
|
+
"types": "./dist/core/connection.d.ts",
|
|
37
|
+
"default": "./dist/core/connection.js"
|
|
51
38
|
},
|
|
52
39
|
"./collections": {
|
|
53
|
-
"types": "./dist/
|
|
54
|
-
"
|
|
55
|
-
"bun": "./dist/node/collections.js",
|
|
56
|
-
"node": "./dist/node/collections.js",
|
|
57
|
-
"default": "./dist/node/collections.js"
|
|
40
|
+
"types": "./dist/well-known/collections.d.ts",
|
|
41
|
+
"default": "./dist/well-known/collections.js"
|
|
58
42
|
},
|
|
59
43
|
"./agents": {
|
|
60
|
-
"types": "./dist/
|
|
61
|
-
"
|
|
62
|
-
"bun": "./dist/node/agents.js",
|
|
63
|
-
"node": "./dist/node/agents.js",
|
|
64
|
-
"default": "./dist/node/agents.js"
|
|
44
|
+
"types": "./dist/well-known/agents.d.ts",
|
|
45
|
+
"default": "./dist/well-known/agents.js"
|
|
65
46
|
}
|
|
66
47
|
},
|
|
67
48
|
"devDependencies": {
|
|
68
|
-
"esbuild-plugin-polyfill-node": "^0.3.0",
|
|
69
49
|
"tsup": "^8.5.0",
|
|
70
50
|
"typescript": "^5.9.3",
|
|
71
51
|
"vitest": "3.2.4"
|
package/dist/browser/agents.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { BaseCollectionEntitySchema, createCollectionBindings } from './chunk-XWLBKKHZ.js';
|
|
2
|
-
import { init_dirname, init_buffer, init_process } from './chunk-WKNVAFKE.js';
|
|
3
|
-
import { z } from 'zod';
|
|
4
|
-
|
|
5
|
-
// src/well-known/agents.ts
|
|
6
|
-
init_dirname();
|
|
7
|
-
init_buffer();
|
|
8
|
-
init_process();
|
|
9
|
-
var AgentSchema = BaseCollectionEntitySchema.extend({
|
|
10
|
-
// Agent-specific fields
|
|
11
|
-
description: z.string().describe("Brief description of the agent's purpose"),
|
|
12
|
-
instructions: z.string().describe("System instructions that define the agent's behavior"),
|
|
13
|
-
tool_set: z.record(z.string(), z.array(z.string())).describe(
|
|
14
|
-
"Map of connection IDs to arrays of allowed tool names for this agent"
|
|
15
|
-
),
|
|
16
|
-
avatar: z.string().url().describe("URL to the agent's avatar image")
|
|
17
|
-
});
|
|
18
|
-
var AGENTS_COLLECTION_BINDING = createCollectionBindings(
|
|
19
|
-
"agents",
|
|
20
|
-
AgentSchema,
|
|
21
|
-
{ readOnly: true }
|
|
22
|
-
);
|
|
23
|
-
var AGENTS_BINDING = [
|
|
24
|
-
...AGENTS_COLLECTION_BINDING
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
export { AGENTS_BINDING, AGENTS_COLLECTION_BINDING, AgentSchema };
|
|
28
|
-
//# sourceMappingURL=agents.js.map
|
|
29
|
-
//# sourceMappingURL=agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/well-known/agents.ts"],"names":[],"mappings":";;;;;AAAA,YAAA,EAAA;AAAA,WAAA,EAAA;AAAA,YAAA,EAAA;AAsBO,IAAM,WAAA,GAAc,2BAA2B,MAAA,CAAO;AAAA;AAAA,EAE3D,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0CAA0C,CAAA;AAAA,EAC3E,YAAA,EAAc,CAAA,CACX,MAAA,EAAO,CACP,SAAS,sDAAsD,CAAA;AAAA,EAClE,QAAA,EAAU,CAAA,CACP,MAAA,CAAO,CAAA,CAAE,MAAA,EAAO,EAAG,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CACtC,QAAA;AAAA,IACC;AAAA,GACF;AAAA,EACF,QAAQ,CAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,SAAS,iCAAiC;AACrE,CAAC;AAQM,IAAM,yBAAA,GAA4B,wBAAA;AAAA,EACvC,QAAA;AAAA,EACA,WAAA;AAAA,EACA,EAAE,UAAU,IAAA;AACd;AAYO,IAAM,cAAA,GAAiB;AAAA,EAC5B,GAAG;AACL","file":"agents.js","sourcesContent":["/**\n * Agents Well-Known Binding\n *\n * Defines the interface for AI agent providers.\n * Any MCP that implements this binding can provide configurable AI agents\n * with custom instructions and tool access controls.\n *\n * This binding uses collection bindings for LIST and GET operations (read-only).\n */\n\nimport { z } from \"zod\";\nimport type { Binder } from \"../core/binder\";\nimport {\n BaseCollectionEntitySchema,\n createCollectionBindings,\n} from \"./collections\";\n\n/**\n * Agent entity schema for AI agents\n * Extends BaseCollectionEntitySchema with agent-specific fields\n * Base schema already includes: id, title, created_at, updated_at, created_by, updated_by\n */\nexport const AgentSchema = BaseCollectionEntitySchema.extend({\n // Agent-specific fields\n description: z.string().describe(\"Brief description of the agent's purpose\"),\n instructions: z\n .string()\n .describe(\"System instructions that define the agent's behavior\"),\n tool_set: z\n .record(z.string(), z.array(z.string()))\n .describe(\n \"Map of connection IDs to arrays of allowed tool names for this agent\",\n ),\n avatar: z.string().url().describe(\"URL to the agent's avatar image\"),\n});\n\n/**\n * AGENTS Collection Binding\n *\n * Collection bindings for agents (read-only).\n * Provides LIST and GET operations for AI agents.\n */\nexport const AGENTS_COLLECTION_BINDING = createCollectionBindings(\n \"agents\",\n AgentSchema,\n { readOnly: true },\n);\n\n/**\n * AGENTS Binding\n *\n * Defines the interface for AI agent providers.\n * Any MCP that implements this binding can provide configurable AI agents.\n *\n * Required tools:\n * - COLLECTION_AGENTS_LIST: List available AI agents with their configurations\n * - COLLECTION_AGENTS_GET: Get a single agent by ID (includes instructions and tool_set)\n */\nexport const AGENTS_BINDING = [\n ...AGENTS_COLLECTION_BINDING,\n] as const satisfies Binder;\n"]}
|