@farm.js/webmcp 0.1.0-beta.0 → 0.1.0-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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Explicit, typed browser tools for Farm applications using the experimental WebMCP API.
4
4
 
5
- Farm.js and WebMCP are currently in beta. WebMCP is a Community Group draft, not a W3C Standard.
5
+ This package is experimental. WebMCP is a Community Group draft, not a W3C Standard.
6
6
 
7
7
  ## Install
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAE1B,eAAe,EAIf,oBAAoB,EAEpB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyCD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,kEAAkE;QAClE,eAAe,CAAC,EAAE,iBAAiB,CAAC;KACrC;CACF;AAED,+EAA+E;AAC/E,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEb,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;CAM9C;AAED,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,eAAe,EAAE,OAAO,GAAG,eAAe,EAC5F,UAAU,EAAE,IAAI,CACd,oBAAoB,CAAC,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EACtF,UAAU,CACX,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAA;CAAE,GAC3B,oBAAoB,CAAC,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1F,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,OAAO,GAAG,eAAe,EACzB,UAAU,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAO5F;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,EAC/D,UAAU,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,GAChD,MAAM,IAAI,CAKZ;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GACrD,MAAM,IAAI,CAYZ;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,iBAAiB,CAAC,CA0F5B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAE1B,eAAe,EAIf,oBAAoB,EAEpB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyCD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,kEAAkE;QAClE,eAAe,CAAC,EAAE,iBAAiB,CAAC;KACrC;CACF;AAED,+EAA+E;AAC/E,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEb,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;CAM9C;AAED,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,eAAe,EAAE,OAAO,GAAG,eAAe,EAC5F,UAAU,EAAE,IAAI,CACd,oBAAoB,CAAC,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EACtF,UAAU,CACX,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAA;CAAE,GAC3B,oBAAoB,CAAC,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1F,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,OAAO,GAAG,eAAe,EACzB,UAAU,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAO5F;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,EAC/D,UAAU,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,GAChD,MAAM,IAAI,CAKZ;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GACrD,MAAM,IAAI,CAYZ;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,iBAAiB,CAAC,CA+F5B"}
package/dist/client.js CHANGED
@@ -126,8 +126,14 @@ export async function startWebMCPRuntime(options = {}) {
126
126
  });
127
127
  activeRuntime = runtime;
128
128
  exposeDebugRuntime(runtime, options.debug === true);
129
- await runtime.sync();
130
- return runtime;
129
+ try {
130
+ await runtime.sync();
131
+ return runtime;
132
+ }
133
+ catch (error) {
134
+ runtime.close();
135
+ throw error;
136
+ }
131
137
  }
132
138
  function createUnsupportedRuntime() {
133
139
  let closed = false;
package/dist/index.d.ts CHANGED
@@ -1,17 +1,14 @@
1
1
  export type { FarmWebMCPRuntime } from "./types.js";
2
2
  export type { WebMCPUnsupportedBehavior } from "./client.js";
3
3
  export interface WebMCPPluginOptions {
4
- /** Set false to keep the plugin configured without starting its browser runtime. */
5
- enabled?: boolean;
6
4
  /** Behavior when `document.modelContext` is unavailable. Defaults to warn in development. */
7
5
  unsupported?: "ignore" | "warn" | "error";
8
6
  /** Expose `window.__FARM_WEBMCP__` for inspection. Defaults to true in development. */
9
7
  debug?: boolean;
10
8
  }
11
9
  /** Register Farm's explicit browser tools with the experimental WebMCP API. */
12
- export declare function webmcp(options?: WebMCPPluginOptions): import("@farm.js/core/plugin").FarmPlugin<undefined, Record<string, never>, import("./types.js").FarmWebMCPRuntime | undefined, {
13
- enabled: boolean;
10
+ export declare function webmcp(options?: WebMCPPluginOptions): import("@farm.js/core/plugin").FarmPlugin<undefined, Record<string, never>, import("./types.js").FarmWebMCPRuntime, {
14
11
  unsupported: "ignore" | "warn" | "error" | null;
15
12
  debug: boolean | null;
16
- }, unknown, false>;
13
+ }, unknown, false, import("@farm.js/core/plugin").PluginRoutes>;
17
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,uFAAuF;IACvF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,OAAO,GAAE,mBAAwB;;;;mBA6BvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,uFAAuF;IACvF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,OAAO,GAAE,mBAAwB;;;gEA2BvD"}
package/dist/index.js CHANGED
@@ -6,13 +6,10 @@ export function webmcp(options = {}) {
6
6
  name: "farm:webmcp",
7
7
  client: {
8
8
  public: {
9
- enabled: options.enabled ?? true,
10
9
  unsupported: options.unsupported ?? null,
11
10
  debug: options.debug ?? null,
12
11
  },
13
12
  async setup({ public: config, isDev }) {
14
- if (!config.enabled)
15
- return undefined;
16
13
  const runtime = await import("@farm.js/webmcp/client");
17
14
  return runtime.startWebMCPRuntime({
18
15
  unsupported: config.unsupported ?? (isDev ? "warn" : "ignore"),
@@ -31,8 +28,8 @@ export function webmcp(options = {}) {
31
28
  });
32
29
  }
33
30
  function assertOptions(options) {
34
- if (options.enabled !== undefined && typeof options.enabled !== "boolean") {
35
- throw new TypeError("webmcp enabled must be boolean");
31
+ if ("enabled" in options) {
32
+ throw new TypeError("webmcp no longer accepts enabled; remove webmcp() from plugins to disable it");
36
33
  }
37
34
  if (options.debug !== undefined && typeof options.debug !== "boolean") {
38
35
  throw new TypeError("webmcp debug must be boolean");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm.js/webmcp",
3
- "version": "0.1.0-beta.0",
3
+ "version": "0.1.0-beta.1",
4
4
  "description": "Explicit, typed WebMCP tools for Farm.js applications",
5
5
  "keywords": [
6
6
  "agents",
@@ -35,7 +35,7 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@farm.js/core": "0.1.0-beta.86"
38
+ "@farm.js/core": "0.1.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^20.10.5",