@derive-to/artifacts 0.6.0 → 0.6.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 (64) hide show
  1. package/README.md +6 -7
  2. package/dist/host/client.d.ts +20 -4
  3. package/dist/host/client.d.ts.map +1 -1
  4. package/dist/host/client.js +29 -1
  5. package/dist/host/client.js.map +1 -1
  6. package/dist/host/index.d.ts +1 -1
  7. package/dist/host/index.d.ts.map +1 -1
  8. package/dist/host/index.js.map +1 -1
  9. package/dist/protocol/tools.d.ts +4 -0
  10. package/dist/protocol/tools.d.ts.map +1 -1
  11. package/dist/protocol/tools.js +5 -1
  12. package/dist/protocol/tools.js.map +1 -1
  13. package/dist/runtime/assets.js +1 -1
  14. package/dist/runtime.global.js +17 -17
  15. package/dist/server/adapters/kysely/index.d.ts +30 -0
  16. package/dist/server/adapters/kysely/index.d.ts.map +1 -0
  17. package/dist/server/adapters/kysely/index.js +31 -0
  18. package/dist/server/adapters/kysely/index.js.map +1 -0
  19. package/dist/server/adapters/kysely/schema.d.ts +11 -0
  20. package/dist/server/adapters/kysely/schema.d.ts.map +1 -0
  21. package/dist/server/adapters/kysely/schema.js +159 -0
  22. package/dist/server/adapters/kysely/schema.js.map +1 -0
  23. package/dist/server/adapters/kysely/sharing.d.ts +5 -0
  24. package/dist/server/adapters/kysely/sharing.d.ts.map +1 -0
  25. package/dist/server/adapters/kysely/sharing.js +81 -0
  26. package/dist/server/adapters/kysely/sharing.js.map +1 -0
  27. package/dist/server/adapters/kysely/store.d.ts +87 -0
  28. package/dist/server/adapters/kysely/store.d.ts.map +1 -0
  29. package/dist/server/adapters/kysely/store.js +328 -0
  30. package/dist/server/adapters/kysely/store.js.map +1 -0
  31. package/dist/server/adapters/sqlite/index.d.ts +7 -8
  32. package/dist/server/adapters/sqlite/index.d.ts.map +1 -1
  33. package/dist/server/adapters/sqlite/index.js +24 -44
  34. package/dist/server/adapters/sqlite/index.js.map +1 -1
  35. package/dist/server/bin.d.ts +3 -0
  36. package/dist/server/bin.d.ts.map +1 -0
  37. package/dist/server/bin.js +7 -0
  38. package/dist/server/bin.js.map +1 -0
  39. package/dist/server/cli.d.ts +8 -0
  40. package/dist/server/cli.d.ts.map +1 -0
  41. package/dist/server/cli.js +103 -0
  42. package/dist/server/cli.js.map +1 -0
  43. package/dist/server/kit/tool.d.ts +7 -1
  44. package/dist/server/kit/tool.d.ts.map +1 -1
  45. package/dist/server/kit/tool.js +9 -0
  46. package/dist/server/kit/tool.js.map +1 -1
  47. package/dist/server/kit.d.ts +1 -1
  48. package/dist/server/kit.d.ts.map +1 -1
  49. package/dist/server/kit.js +1 -1
  50. package/dist/server/kit.js.map +1 -1
  51. package/dist/server/sharing/store.d.ts +1 -1
  52. package/package.json +61 -55
  53. package/dist/server/adapters/sqlite/schema.d.ts +0 -3
  54. package/dist/server/adapters/sqlite/schema.d.ts.map +0 -1
  55. package/dist/server/adapters/sqlite/schema.js +0 -69
  56. package/dist/server/adapters/sqlite/schema.js.map +0 -1
  57. package/dist/server/adapters/sqlite/sharing.d.ts +0 -6
  58. package/dist/server/adapters/sqlite/sharing.d.ts.map +0 -1
  59. package/dist/server/adapters/sqlite/sharing.js +0 -81
  60. package/dist/server/adapters/sqlite/sharing.js.map +0 -1
  61. package/dist/server/adapters/sqlite/store.d.ts +0 -6
  62. package/dist/server/adapters/sqlite/store.d.ts.map +0 -1
  63. package/dist/server/adapters/sqlite/store.js +0 -130
  64. package/dist/server/adapters/sqlite/store.js.map +0 -1
package/README.md CHANGED
@@ -54,7 +54,7 @@ your server ── @derive-to/artifacts/server (Hono) ── /api for your page,
54
54
  | `@derive-to/artifacts/runtime` | sandbox origin | The relay, `window.artifact` inside each artifact, the viewer for other MCP Apps hosts |
55
55
  | `@derive-to/artifacts/host` | your page | Mounts an artifact with the official `AppBridge`; a typed client for the server |
56
56
  | `@derive-to/artifacts/react` | your page | `ArtifactProvider`, `ArtifactStage`, `CommentRail`, `Presence`, editing and history controls |
57
- | `@derive-to/artifacts/server` | Node | A Hono app for artifacts, versions, comments, state, files, live events and MCP; adapters under `/server/postgres`, `/server/sqlite`, `/server/s3`; sharing under `/server/sharing` |
57
+ | `@derive-to/artifacts/server` | Node | A Hono app for artifacts, versions, comments, state, files, live events and MCP; adapters under `/server/kysely` (the default), `/server/postgres`, `/server/sqlite`, `/server/s3`; sharing under `/server/sharing` |
58
58
 
59
59
  The layers never reach upward: the protocol imports nothing, the runtime runs in untrusted
60
60
  frames and never touches Node, and only the server runs on the server. `pnpm lint:boundaries`
@@ -66,15 +66,14 @@ On the server, mount the API and run the sandbox on its own origin:
66
66
 
67
67
  ```ts
68
68
  import { createArtifactServer, createSandboxServer, loadKitAssets, starterKit } from "@derive-to/artifacts/server"
69
- import { postgres } from "@derive-to/artifacts/server/postgres"
70
- import { postgresSharing, sharing } from "@derive-to/artifacts/server/sharing"
69
+ import { kysely } from "@derive-to/artifacts/server/kysely"
70
+ import { sharing } from "@derive-to/artifacts/server/sharing"
71
71
 
72
- const sql = { query: (text, params) => pool.query(text, params) } // the pool you already have
73
- const backend = postgres({ sql })
74
- await backend.migrate()
72
+ const backend = kysely(db) // your Kysely, on Postgres or SQLite
73
+ await backend.migrate() // or `npx artifacts migrate`
75
74
 
76
75
  const share = sharing({
77
- store: postgresSharing({ sql }), // await it.migrate() once, like the backend
76
+ store: backend.sharing, // in the same database
78
77
  seat: (actorId, space) => orgs.role(actorId, space), // null when they are not a member
79
78
  })
80
79
 
@@ -1,6 +1,13 @@
1
1
  import { type CallToolResult, type Tool } from "@modelcontextprotocol/client";
2
- import { type Actor, type Artifact, type ArtifactEvent, type ArtifactLayout, type Csp, type ErrorCode, type LinkRole, type Point, type Quote, type Role, type Sharing, type SharingAccess, type SpaceAccess, type TextEdit, type Thread, type ThreadState, type Version } from "../protocol/index.js";
3
- export interface ClientOptions {
2
+ import * as z from "zod/mini";
3
+ import { type Actor, type Artifact, type ArtifactEvent, type ArtifactLayout, type Csp, type ErrorCode, type LinkRole, type Point, type Quote, type Role, type Sharing, type SharingAccess, type SpaceAccess, type TextEdit, type Thread, type ThreadState, type ToolSpec, type Version } from "../protocol/index.js";
4
+ /** Tool contracts a host's client calls by key, such as a plugin's `defineToolSpec`s. */
5
+ export type ToolSpecs = Readonly<Record<string, ToolSpec<z.ZodMiniObject, z.ZodMiniObject>>>;
6
+ /** One typed call per spec: input and output as the spec declares them. */
7
+ export type TypedTools<T extends ToolSpecs> = {
8
+ readonly [K in keyof T]: (args: z.input<T[K]["input"]>) => Promise<z.output<T[K]["output"]>>;
9
+ };
10
+ export interface ClientOptions<T extends ToolSpecs = ToolSpecs> {
4
11
  /** Where the artifact server is mounted, e.g. `https://app.example.com/api`. */
5
12
  baseUrl: string;
6
13
  /** Defaults to the global fetch. Pass one that adds auth headers if you need them. */
@@ -10,6 +17,8 @@ export interface ClientOptions {
10
17
  /** A live event arrived that this client cannot read (a server newer or broken). The event
11
18
  * is skipped and the stream stays open. Defaults to the platform's `reportError`. */
12
19
  onError?: (error: unknown) => void;
20
+ /** Plugin tools to call as `client.tools.<key>(args)`, typed and checked both ways. */
21
+ tools?: T;
13
22
  }
14
23
  /** An error the server explained. `status` is the HTTP status. */
15
24
  export declare class ArtifactClientError extends Error {
@@ -19,7 +28,11 @@ export declare class ArtifactClientError extends Error {
19
28
  constructor(status: number, message: string, code?: ErrorCode | null);
20
29
  }
21
30
  /** A typed client for `@derive-to/artifacts/server`. Every response is validated. */
22
- export declare const createArtifactClient: (options: ClientOptions) => {
31
+ export declare const createArtifactClient: <T extends ToolSpecs = Readonly<Record<string, ToolSpec<z.ZodMiniObject<Readonly<{
32
+ [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
33
+ }>, z.core.$strip>, z.ZodMiniObject<Readonly<{
34
+ [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
35
+ }>, z.core.$strip>>>>>(options: ClientOptions<T>) => {
23
36
  me: () => Promise<Actor | null>;
24
37
  list: () => Promise<Artifact[]>;
25
38
  /** One page, newest first; pass `next` back for the following page (null at the end). */
@@ -147,6 +160,9 @@ export declare const createArtifactClient: (options: ClientOptions) => {
147
160
  presence: (id: string, cursor: Point | null) => Promise<void>;
148
161
  /** Live events for one artifact. Returns an unsubscribe. */
149
162
  subscribe: (id: string, onEvent: (event: ArtifactEvent) => void) => (() => void);
163
+ tools: TypedTools<T>;
150
164
  };
151
- export type ArtifactClient = ReturnType<typeof createArtifactClient>;
165
+ /** The client the kit's components take: every call but the typed tools, so a client built
166
+ * with any `tools` fits. */
167
+ export type ArtifactClient = Omit<ReturnType<typeof createArtifactClient>, "tools">;
152
168
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/host/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/host/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,IAAI,EACV,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,EACL,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EAGnB,KAAK,GAAG,EAER,KAAK,SAAS,EAId,KAAK,QAAQ,EACb,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,WAAW,EAGhB,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,QAAQ,EAEb,KAAK,OAAO,EAEb,MAAM,sBAAsB,CAAA;AAG7B,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;AAE5F,2EAA2E;AAC3E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI;IAC5C,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC7F,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC5D,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,sFAAsF;IACtF,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,oEAAoE;IACpE,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC;0FACsF;IACtF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,uFAAuF;IACvF,KAAK,CAAC,EAAE,CAAC,CAAA;CACV;AAED,kEAAkE;AAClE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IAC/B,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,GAAG,IAAW,EAKzE;CACF;AA0PD,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,SAAS;;;;gCAC7C,aAAa,CAAC,CAAC,CAAC;cA7MX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBAEnB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEnC,yFAAyF;sBACxE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAOrE,MAAM,KAAG,OAAO,CAAC,QAAQ,CAAC;oBACpB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;IAEpF,uDAAuD;iBACpC,MAAM,SAAS,MAAM,KAAG,OAAO,CAAC,QAAQ,CAAC;IAE5D,4EAA4E;iBACzD,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;mBAGpB,MAAM,KAAG,OAAO,CAAC,OAAO,EAAE,CAAC;kBAG5B,MAAM,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;IAEhF,iEAAiE;kBAC7C,MAAM,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;kBAE1C,MAAM,KAAK,MAAM,KAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC;IAErE,wFAAwF;qBACjE,MAAM,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,2EAA2E;wBACjD,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;kBAErC,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;qBAGvC,MAAM,UACF;QAAE,WAAW,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,KACzD,OAAO,CAAC,OAAO,CAAC;gBAED,MAAM,SAAS,KAAK,QAAQ,IAAI,KAAG,OAAO,CAAC,OAAO,CAAC;iBAOlD,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAG7D,mEAAmE;oBAC7C,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;kBAO3B,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;sBAGtB,MAAM,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;gBAE3E,MAAM,YAAY,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;yBAM/C,MAAM,YAAY,MAAM,SAAS,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC;qBAwBxE,OAAO,CAAC,IAAI,EAAE,CAAC;qBASP,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,cAAc,CAAC;IAEtF,yFAAyF;mBAEnF,MAAM,YACA,MAAM,SACT,QAAQ,EAAE,WACR,cAAc,KACtB,OAAO,CAAC,OAAO,CAAC;mBAyBA,MAAM,UAAU,KAAK,GAAG,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;IAGjE,4DAA4D;oBAC5C,MAAM,WAAW,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;;CAwD/E,CAAA;AAED;6BAC6B;AAC7B,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAA"}
@@ -172,15 +172,43 @@ const liveCalls = ({ call, path, fetcher, init, report }) => ({
172
172
  },
173
173
  }),
174
174
  });
175
+ /** A refused tool call as the client's own error, with its registered code. */
176
+ const toolError = (result) => {
177
+ const body = errorBody.safeParse(result.structuredContent);
178
+ const first = result.content[0];
179
+ const message = body.success
180
+ ? body.data.error
181
+ : first?.type === "text"
182
+ ? first.text
183
+ : "The tool refused.";
184
+ const code = body.success && isErrorCode(body.data.code) ? body.data.code : null;
185
+ return new ArtifactClientError(400, message, code);
186
+ };
187
+ /** `client.tools`: each spec's input is checked before it is sent, its output after. */
188
+ const typedTools = (specs, call) => {
189
+ const entries = Object.entries(specs ?? {}).map(([key, spec]) => [
190
+ key,
191
+ async (args) => {
192
+ const result = await call(spec.name, spec.input.parse(args));
193
+ if (result.isError)
194
+ throw toolError(result);
195
+ return spec.output.parse(result.structuredContent);
196
+ },
197
+ ]);
198
+ // Object.fromEntries loses the pairing of each key with its spec that the map keeps.
199
+ return Object.fromEntries(entries);
200
+ };
175
201
  /** A typed client for `@derive-to/artifacts/server`. Every response is validated. */
176
202
  export const createArtifactClient = (options) => {
177
203
  const t = transport(options);
204
+ const tools = toolCalls(t);
178
205
  return {
179
206
  ...artifactCalls(t),
180
207
  ...threadCalls(t),
181
208
  ...sharingCalls(t),
182
- ...toolCalls(t),
209
+ ...tools,
183
210
  ...liveCalls(t),
211
+ tools: typedTools(options.tools, tools.callTool),
184
212
  };
185
213
  };
186
214
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/host/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/host/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type { McpUiHostContext as HostContext } from "@modelcontextprotocol/ext-apps/app-bridge";
2
2
  export type { ViewEvents } from "./bridge.js";
3
- export { type ArtifactClient, ArtifactClientError, type ClientOptions, createArtifactClient, } from "./client.js";
3
+ export { type ArtifactClient, ArtifactClientError, type ClientOptions, createArtifactClient, type ToolSpecs, type TypedTools, } from "./client.js";
4
4
  export { createLiveChannel, type LiveChannel, type LiveChannelOptions } from "./live.js";
5
5
  export { printHtml } from "./print.js";
6
6
  export { type ArtifactView, type ArtifactViewOptions, mountArtifact } from "./view.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAChG,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EACL,KAAK,cAAc,EACnB,mBAAmB,EACnB,KAAK,aAAa,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAChG,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EACL,KAAK,cAAc,EACnB,mBAAmB,EACnB,KAAK,aAAa,EAClB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,mBAAmB,EAEnB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAA6C,MAAM,WAAW,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAA+C,aAAa,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,mBAAmB,EAEnB,oBAAoB,GAGrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAA6C,MAAM,WAAW,CAAA;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAA+C,aAAa,EAAE,MAAM,WAAW,CAAA"}
@@ -6,6 +6,10 @@ export interface ToolSpec<I extends z.ZodMiniType, O extends z.ZodMiniType> {
6
6
  readonly input: I;
7
7
  readonly output: O;
8
8
  }
9
+ /** A tool's contract, for a plugin to share between its server half (`implementTool`) and the
10
+ * host's client (`createArtifactClient({ tools })`). A tool on one artifact takes
11
+ * `artifactId` in its input. */
12
+ export declare const defineToolSpec: <I extends z.ZodMiniType, O extends z.ZodMiniType>(name: `artifact_${string}`, input: I, output: O) => ToolSpec<I, O>;
9
13
  /** Tools an artifact itself calls. They carry MCP Apps visibility `["app"]`: callable by the
10
14
  * view that the server rendered, never offered to the model. Shared state lives here, so it
11
15
  * persists in every MCP Apps host, with or without the artifact extension. */
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/protocol/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAS7B;0DAC0D;AAC1D,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW;IACxE,QAAQ,CAAC,IAAI,EAAE,YAAY,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnB;AAUD;;+EAE+E;AAC/E,eAAO,MAAM,QAAQ;aACnB,SAAS;;;;;;;;;aAKT,WAAW;;;;;;;;;;;;;;;;;;;;;;aAUX,aAAa;;;;;;;;;;;;;;;;CAKL,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAItC;0DAC0D;AAC1D,eAAO,MAAM,UAAU;;;;;;;;;kBAItB,CAAA;AAED;0DAC0D;AAC1D,eAAO,MAAM,aAAa,kBAAkB,CAAA"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/protocol/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAS7B;0DAC0D;AAC1D,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW;IACxE,QAAQ,CAAC,IAAI,EAAE,YAAY,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnB;AAED;;iCAEiC;AACjC,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,QACvE,YAAY,MAAM,EAAE,SACnB,CAAC,UACA,CAAC,KACR,QAAQ,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA;AAM9C;;+EAE+E;AAC/E,eAAO,MAAM,QAAQ;aACnB,SAAS;;;;;;;;;aAKT,WAAW;;;;;;;;;;;;;;;;;;;;;;aAUX,aAAa;;;;;;;;;;;;;;;;CAKL,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAA;AAItC;0DAC0D;AAC1D,eAAO,MAAM,UAAU;;;;;;;;;kBAItB,CAAA;AAED;0DAC0D;AAC1D,eAAO,MAAM,aAAa,kBAAkB,CAAA"}
@@ -1,6 +1,10 @@
1
1
  import * as z from "zod/mini";
2
2
  import { activitySchema, initialSchema, mutationSchema, snapshotSchema, stateKeySchema, } from "./state.js";
3
- const defineTool = (name, input, output) => ({ name, input, output });
3
+ /** A tool's contract, for a plugin to share between its server half (`implementTool`) and the
4
+ * host's client (`createArtifactClient({ tools })`). A tool on one artifact takes
5
+ * `artifactId` in its input. */
6
+ export const defineToolSpec = (name, input, output) => ({ name, input, output });
7
+ const defineTool = defineToolSpec;
4
8
  const artifactId = z.string().check(z.minLength(1), z.maxLength(64));
5
9
  /** Tools an artifact itself calls. They carry MCP Apps visibility `["app"]`: callable by the
6
10
  * view that the server rendered, never offered to the model. Shared state lives here, so it
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/protocol/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAA;AAUnB,MAAM,UAAU,GAAG,CACjB,IAA0B,EAC1B,KAAQ,EACR,MAAS,EACO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAE9C,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpE;;+EAE+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,UAAU,CACnB,qBAAqB,EACrB,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,EAC7C,cAAc,CACf;IACD,WAAW,EAAE,UAAU,CACrB,uBAAuB,EACvB,CAAC,CAAC,MAAM,CAAC;QACP,UAAU;QACV,GAAG,EAAE,cAAc;QACnB,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;KACnC,CAAC,EACF,cAAc,CACf;IACD,aAAa,EAAE,UAAU,CACvB,yBAAyB,EACzB,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,EAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAChD;CACO,CAAA;AAIV,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;AAEhG;0DAC0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,iBAAiB,EACjB,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EACnE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CACtC,CAAA;AAED;0DAC0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/protocol/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAC7B,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAA;AAUnB;;iCAEiC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAA0B,EAC1B,KAAQ,EACR,MAAS,EACO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAE9C,MAAM,UAAU,GAAG,cAAc,CAAA;AAEjC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpE;;+EAE+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,UAAU,CACnB,qBAAqB,EACrB,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,EAC7C,cAAc,CACf;IACD,WAAW,EAAE,UAAU,CACrB,uBAAuB,EACvB,CAAC,CAAC,MAAM,CAAC;QACP,UAAU;QACV,GAAG,EAAE,cAAc;QACnB,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;KACnC,CAAC,EACF,cAAc,CACf;IACD,aAAa,EAAE,UAAU,CACvB,yBAAyB,EACzB,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,EAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAChD;CACO,CAAA;AAIV,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;AAEhG;0DAC0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,iBAAiB,EACjB,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EACnE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CACtC,CAAA;AAED;0DAC0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA"}