@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.
Files changed (75) hide show
  1. package/README.md +16 -16
  2. package/dist/browser/agents.js +29 -0
  3. package/dist/browser/agents.js.map +1 -0
  4. package/dist/browser/chunk-6QEXJ7XW.js +48564 -0
  5. package/dist/browser/chunk-6QEXJ7XW.js.map +1 -0
  6. package/dist/browser/chunk-WKNVAFKE.js +2176 -0
  7. package/dist/browser/chunk-WKNVAFKE.js.map +1 -0
  8. package/dist/browser/chunk-XWLBKKHZ.js +127 -0
  9. package/dist/browser/chunk-XWLBKKHZ.js.map +1 -0
  10. package/dist/browser/chunk-ZX4ZDU2T.js +58 -0
  11. package/dist/browser/chunk-ZX4ZDU2T.js.map +1 -0
  12. package/dist/browser/client.js +9 -0
  13. package/dist/browser/client.js.map +1 -0
  14. package/dist/browser/collections.js +4 -0
  15. package/dist/browser/connection.js +8 -0
  16. package/dist/browser/connection.js.map +1 -0
  17. package/dist/browser/index.js +10 -0
  18. package/dist/browser/index.js.map +1 -0
  19. package/dist/browser/language-model.js +205 -0
  20. package/dist/browser/language-model.js.map +1 -0
  21. package/dist/client.d.ts +12 -0
  22. package/dist/client.js +54 -0
  23. package/dist/client.js.map +1 -0
  24. package/dist/{well-known/collections.d.ts → collections.d.ts} +170 -23
  25. package/dist/{chunk-L7E6ONLJ.js → collections.js} +18 -24
  26. package/dist/collections.js.map +1 -0
  27. package/dist/connection.d.ts +30 -0
  28. package/dist/connection.js +3 -0
  29. package/dist/connection.js.map +1 -0
  30. package/dist/index.d.ts +6 -2
  31. package/dist/index.js +262 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/language-model.d.ts +3228 -0
  34. package/dist/language-model.js +628 -0
  35. package/dist/language-model.js.map +1 -0
  36. package/dist/models.d.ts +2071 -0
  37. package/dist/models.js +111 -0
  38. package/dist/models.js.map +1 -0
  39. package/dist/node/agents.d.ts +903 -0
  40. package/dist/node/agents.js +27 -0
  41. package/dist/node/agents.js.map +1 -0
  42. package/dist/node/chunk-BLCFITZG.js +56 -0
  43. package/dist/node/chunk-BLCFITZG.js.map +1 -0
  44. package/dist/node/chunk-QMQMPK7Q.js +50 -0
  45. package/dist/node/chunk-QMQMPK7Q.js.map +1 -0
  46. package/dist/node/chunk-QP7AQCEP.js +23478 -0
  47. package/dist/node/chunk-QP7AQCEP.js.map +1 -0
  48. package/dist/node/chunk-T2DG7334.js +125 -0
  49. package/dist/node/chunk-T2DG7334.js.map +1 -0
  50. package/dist/node/client.d.ts +12 -0
  51. package/dist/node/client.js +7 -0
  52. package/dist/node/client.js.map +1 -0
  53. package/dist/node/collections.d.ts +537 -0
  54. package/dist/node/collections.js +4 -0
  55. package/dist/node/collections.js.map +1 -0
  56. package/dist/node/connection.d.ts +30 -0
  57. package/dist/node/connection.js +6 -0
  58. package/dist/node/connection.js.map +1 -0
  59. package/dist/node/index.d.ts +94 -0
  60. package/dist/node/index.js +8 -0
  61. package/dist/node/index.js.map +1 -0
  62. package/dist/node/language-model.d.ts +2840 -0
  63. package/dist/node/language-model.js +203 -0
  64. package/dist/node/language-model.js.map +1 -0
  65. package/package.json +45 -17
  66. package/dist/chunk-L7E6ONLJ.js.map +0 -1
  67. package/dist/well-known/collections.js +0 -3
  68. package/dist/well-known/models.d.ts +0 -127
  69. package/dist/well-known/models.js +0 -46
  70. package/dist/well-known/models.js.map +0 -1
  71. package/src/core/binder.ts +0 -221
  72. package/src/index.ts +0 -16
  73. package/src/well-known/collections.ts +0 -328
  74. package/src/well-known/models.ts +0 -79
  75. /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: "DECO_COLLECTION_TODOS_LIST" },
276
- { name: "DECO_COLLECTION_TODOS_GET" },
277
- { name: "DECO_COLLECTION_TODOS_INSERT" },
278
- { name: "DECO_COLLECTION_TODOS_UPDATE" },
279
- { name: "DECO_COLLECTION_TODOS_DELETE" },
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** - `DECO_COLLECTION_{NAME}_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** - `DECO_COLLECTION_{NAME}_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. **INSERT** - `DECO_COLLECTION_{NAME}_INSERT`
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** - `DECO_COLLECTION_{NAME}_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** - `DECO_COLLECTION_{NAME}_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: "DECO_COLLECTION_MODELS_LIST" },
350
- { name: "DECO_COLLECTION_MODELS_GET" },
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. **DECO_COLLECTION_MODELS_LIST** (required)
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. **DECO_COLLECTION_MODELS_GET** (required)
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/well-known/collections";
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
- // "DECO_COLLECTION_TODOS_LIST" | "DECO_COLLECTION_TODOS_GET" | ...
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"]}