@decocms/bindings 0.1.6 → 0.2.1-beta.1
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 +16 -16
- package/dist/browser/agents.js +29 -0
- package/dist/browser/agents.js.map +1 -0
- package/dist/browser/chunk-6QEXJ7XW.js +48564 -0
- package/dist/browser/chunk-6QEXJ7XW.js.map +1 -0
- package/dist/browser/chunk-WKNVAFKE.js +2176 -0
- package/dist/browser/chunk-WKNVAFKE.js.map +1 -0
- package/dist/browser/chunk-XWLBKKHZ.js +127 -0
- package/dist/browser/chunk-XWLBKKHZ.js.map +1 -0
- package/dist/browser/chunk-ZX4ZDU2T.js +58 -0
- package/dist/browser/chunk-ZX4ZDU2T.js.map +1 -0
- package/dist/browser/client.js +9 -0
- package/dist/browser/client.js.map +1 -0
- package/dist/browser/collections.js +4 -0
- package/dist/browser/connection.js +8 -0
- package/dist/browser/connection.js.map +1 -0
- package/dist/browser/index.js +10 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/language-model.js +205 -0
- package/dist/browser/language-model.js.map +1 -0
- package/dist/client.d.ts +12 -0
- package/dist/client.js +54 -0
- package/dist/client.js.map +1 -0
- package/dist/{well-known/collections.d.ts → collections.d.ts} +170 -23
- package/dist/{chunk-L7E6ONLJ.js → collections.js} +18 -24
- package/dist/collections.js.map +1 -0
- package/dist/connection.d.ts +30 -0
- package/dist/connection.js +3 -0
- package/dist/connection.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +262 -1
- package/dist/index.js.map +1 -1
- package/dist/language-model.d.ts +3228 -0
- package/dist/language-model.js +628 -0
- package/dist/language-model.js.map +1 -0
- package/dist/models.d.ts +2071 -0
- package/dist/models.js +111 -0
- package/dist/models.js.map +1 -0
- package/dist/node/agents.d.ts +903 -0
- package/dist/node/agents.js +27 -0
- package/dist/node/agents.js.map +1 -0
- package/dist/node/chunk-BLCFITZG.js +56 -0
- package/dist/node/chunk-BLCFITZG.js.map +1 -0
- package/dist/node/chunk-QMQMPK7Q.js +50 -0
- package/dist/node/chunk-QMQMPK7Q.js.map +1 -0
- package/dist/node/chunk-QP7AQCEP.js +23478 -0
- package/dist/node/chunk-QP7AQCEP.js.map +1 -0
- package/dist/node/chunk-T2DG7334.js +125 -0
- package/dist/node/chunk-T2DG7334.js.map +1 -0
- package/dist/node/client.d.ts +12 -0
- package/dist/node/client.js +7 -0
- package/dist/node/client.js.map +1 -0
- package/dist/node/collections.d.ts +537 -0
- package/dist/node/collections.js +4 -0
- package/dist/node/collections.js.map +1 -0
- package/dist/node/connection.d.ts +30 -0
- package/dist/node/connection.js +6 -0
- package/dist/node/connection.js.map +1 -0
- package/dist/node/index.d.ts +94 -0
- package/dist/node/index.js +8 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/language-model.d.ts +2840 -0
- package/dist/node/language-model.js +203 -0
- package/dist/node/language-model.js.map +1 -0
- package/package.json +45 -17
- package/dist/chunk-L7E6ONLJ.js.map +0 -1
- package/dist/well-known/collections.js +0 -3
- package/dist/well-known/models.d.ts +0 -127
- package/dist/well-known/models.js +0 -46
- package/dist/well-known/models.js.map +0 -1
- package/src/core/binder.ts +0 -221
- package/src/index.ts +0 -16
- package/src/well-known/collections.ts +0 -328
- package/src/well-known/models.ts +0 -79
- /package/dist/{well-known → browser}/collections.js.map +0 -0
package/README.md
CHANGED
|
@@ -272,11 +272,11 @@ const todoChecker = createBindingChecker(TODO_COLLECTION_BINDING);
|
|
|
272
272
|
|
|
273
273
|
// Check if available tools implement the binding
|
|
274
274
|
const availableTools = [
|
|
275
|
-
{ name: "
|
|
276
|
-
{ name: "
|
|
277
|
-
{ name: "
|
|
278
|
-
{ name: "
|
|
279
|
-
{ name: "
|
|
275
|
+
{ name: "COLLECTION_TODOS_LIST" },
|
|
276
|
+
{ name: "COLLECTION_TODOS_GET" },
|
|
277
|
+
{ name: "COLLECTION_TODOS_CREATE" },
|
|
278
|
+
{ name: "COLLECTION_TODOS_UPDATE" },
|
|
279
|
+
{ name: "COLLECTION_TODOS_DELETE" },
|
|
280
280
|
];
|
|
281
281
|
|
|
282
282
|
const isImplemented = await todoChecker.isImplementedBy(availableTools);
|
|
@@ -289,29 +289,29 @@ The `createCollectionBindings` function generates tool bindings based on the `re
|
|
|
289
289
|
|
|
290
290
|
**Required operations (always included):**
|
|
291
291
|
|
|
292
|
-
1. **LIST** - `
|
|
292
|
+
1. **LIST** - `COLLECTION_{NAME}_LIST`
|
|
293
293
|
- Query/search entities with filtering, sorting, and pagination
|
|
294
294
|
- Input: `where?`, `orderBy?`, `limit?`, `offset?`
|
|
295
295
|
- Output: `items[]`, `totalCount?`, `hasMore?`
|
|
296
296
|
|
|
297
|
-
2. **GET** - `
|
|
297
|
+
2. **GET** - `COLLECTION_{NAME}_GET`
|
|
298
298
|
- Get a single entity by ID
|
|
299
299
|
- Input: `id` (string)
|
|
300
300
|
- Output: `item | null`
|
|
301
301
|
|
|
302
302
|
**Optional operations (excluded if `readOnly: true`):**
|
|
303
303
|
|
|
304
|
-
3. **
|
|
304
|
+
3. **CREATE** - `COLLECTION_{NAME}_CREATE`
|
|
305
305
|
- Create a new entity
|
|
306
306
|
- Input: `data` (id may be auto-generated by the server)
|
|
307
307
|
- Output: `item` (with generated id)
|
|
308
308
|
|
|
309
|
-
4. **UPDATE** - `
|
|
309
|
+
4. **UPDATE** - `COLLECTION_{NAME}_UPDATE`
|
|
310
310
|
- Update an existing entity
|
|
311
311
|
- Input: `id` (string), `data` (partial)
|
|
312
312
|
- Output: `item`
|
|
313
313
|
|
|
314
|
-
5. **DELETE** - `
|
|
314
|
+
5. **DELETE** - `COLLECTION_{NAME}_DELETE`
|
|
315
315
|
- Delete an entity
|
|
316
316
|
- Input: `id` (string)
|
|
317
317
|
- Output: `success` (boolean), `id` (string)
|
|
@@ -346,8 +346,8 @@ const modelsChecker = createBindingChecker(MODELS_BINDING);
|
|
|
346
346
|
|
|
347
347
|
// Check if available tools implement the binding
|
|
348
348
|
const availableTools = [
|
|
349
|
-
{ name: "
|
|
350
|
-
{ name: "
|
|
349
|
+
{ name: "COLLECTION_MODELS_LIST" },
|
|
350
|
+
{ name: "COLLECTION_MODELS_GET" },
|
|
351
351
|
];
|
|
352
352
|
|
|
353
353
|
const isImplemented = await modelsChecker.isImplementedBy(availableTools);
|
|
@@ -358,13 +358,13 @@ console.log(isImplemented); // true if all required tools are present
|
|
|
358
358
|
|
|
359
359
|
The `MODELS_BINDING` includes:
|
|
360
360
|
|
|
361
|
-
1. **
|
|
361
|
+
1. **COLLECTION_MODELS_LIST** (required)
|
|
362
362
|
- List available AI models with their capabilities and streaming endpoints
|
|
363
363
|
- Uses collection binding LIST operation
|
|
364
364
|
- Input: `where?`, `orderBy?`, `limit?`, `offset?`
|
|
365
365
|
- Output: `items[]` (array of model entities with endpoint info)
|
|
366
366
|
|
|
367
|
-
2. **
|
|
367
|
+
2. **COLLECTION_MODELS_GET** (required)
|
|
368
368
|
- Get a single model by ID
|
|
369
369
|
- Uses collection binding GET operation
|
|
370
370
|
- Input: `id` (string)
|
|
@@ -576,14 +576,14 @@ import type {
|
|
|
576
576
|
CollectionListInput,
|
|
577
577
|
CollectionGetInput,
|
|
578
578
|
CollectionDeleteInput,
|
|
579
|
-
} from "@decocms/bindings/
|
|
579
|
+
} from "@decocms/bindings/collections";
|
|
580
580
|
|
|
581
581
|
// Extract the binding type
|
|
582
582
|
type TodoBinding = typeof TODO_COLLECTION_BINDING;
|
|
583
583
|
|
|
584
584
|
// Extract tool names
|
|
585
585
|
type TodoTools = CollectionTools<typeof TodoSchema>;
|
|
586
|
-
// "
|
|
586
|
+
// "COLLECTION_TODOS_LIST" | "COLLECTION_TODOS_GET" | ...
|
|
587
587
|
|
|
588
588
|
// Get input types
|
|
589
589
|
type ListInput = CollectionListInput;
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|