@yaklabs-ai/plugin-protocol 0.13.7 → 0.13.8

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
@@ -11,7 +11,7 @@ flow.
11
11
  ```json
12
12
  {
13
13
  "dependencies": {
14
- "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.13.7"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.13.8"
15
15
  }
16
16
  }
17
17
  ```
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@yaklabs-ai/plugin-protocol",
4
- "version": "0.13.7",
4
+ "version": "0.13.8",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -2059,7 +2059,7 @@ export declare const KAY_EVENT_PUBLISHER_ID: "kay";
2059
2059
  declare const KAY_PLUGIN_COMPATIBILITY_REFUSAL_CODES: readonly ["unsupported-protocol", "sdk-range-unsatisfied", "sdk-range-unsupported", "host-sdk-version-invalid"];
2060
2060
 
2061
2061
  /** Released SDK contracts still implemented by the host, alongside its current SDK. */
2062
- export declare const KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS: readonly ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.9.0", "0.9.1", "0.10.0", "0.11.0", "0.11.1", "0.12.0", "0.12.1", "0.12.2", "0.12.3", "0.12.4", "0.12.5", "0.13.0", "0.13.1", "0.13.2", "0.13.3", "0.13.4", "0.13.5", "0.13.6"];
2062
+ export declare const KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS: readonly ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.9.0", "0.9.1", "0.10.0", "0.11.0", "0.11.1", "0.12.0", "0.12.1", "0.12.2", "0.12.3", "0.12.4", "0.12.5", "0.13.0", "0.13.1", "0.13.2", "0.13.3", "0.13.4", "0.13.5", "0.13.6", "0.13.7"];
2063
2063
 
2064
2064
  /** The file whose presence makes a directory a plugin. A directory without one is not a plugin. */
2065
2065
  export declare const KAY_PLUGIN_MANIFEST_FILENAME = "kay-plugin.json";
@@ -2352,8 +2352,16 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2352
2352
  * `skills.declared-source`). Additive: a plugin compiled against 0.13.6 never imports the new
2353
2353
  * subpaths, and its manifest parses unchanged. A plugin that imports one declares `^0.13.7`, so
2354
2354
  * an older host refuses a directory or repository plugin at load instead of the import failing.
2355
+ *
2356
+ * 0.13.8 takes the PATCH slot under the addition rule, as `api.withJev` did in 0.8.1: one new
2357
+ * member on the api a plugin RECEIVES, `api.systemOne` / `app.systemOne` (`@bonsai/plugin-sdk/
2358
+ * system-one`), the System One client for `decide` and `extract` on Jev, Clef, Clef Flash and
2359
+ * Clairic. It is non-optional for the same reason `withJev` is, and a host with no System One
2360
+ * binds a client that throws `not-served`. `withJev` stays for every compatible plugin. A
2361
+ * plugin that calls `systemOne` declares `^0.13.8`, so an older host refuses it at load instead
2362
+ * of the member being absent.
2355
2363
  */
2356
- export declare const KAY_PLUGIN_SDK_VERSION: "0.13.7";
2364
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.13.8";
2357
2365
 
2358
2366
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2359
2367
 
@@ -3808,8 +3816,9 @@ export declare type McpServerAuthMode = z.infer<typeof McpServerAuthMode>;
3808
3816
  * or omitted `auth`) requires `authService`; `auth: "none"` may omit it. `authService` is a local
3809
3817
  * id that must resolve within this same manifest; unlike `uriModule.authService`, qualified foreign
3810
3818
  * service refs are not permitted because the MCP binding belongs to the plugin that ships it.
3811
- * Declaring `mcpServers` at
3812
- * all is bundled-plugin-only — enforced at composition, not by this schema (see `ARCHITECTURE.md`).
3819
+ * A declared server is hosted
3820
+ * only for a plugin holding `mcp.host-server` for its name and URL (the release's own plugins hold
3821
+ * it) — decided at composition, not by this schema (see `ARCHITECTURE.md`).
3813
3822
  */
3814
3823
  export declare const McpServerContribution: z.ZodObject<{
3815
3824
  url: z.ZodString;
package/dist/index.js CHANGED
@@ -136,7 +136,7 @@ var JsonSchema = z2.record(z2.string(), JsonValue);
136
136
  // packages/plugin-protocol/dist/common.js
137
137
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
138
138
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
139
- var KAY_PLUGIN_SDK_VERSION = "0.13.7";
139
+ var KAY_PLUGIN_SDK_VERSION = "0.13.8";
140
140
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
141
141
  "0.8.0",
142
142
  "0.8.1",
@@ -161,7 +161,8 @@ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
161
161
  "0.13.3",
162
162
  "0.13.4",
163
163
  "0.13.5",
164
- "0.13.6"
164
+ "0.13.6",
165
+ "0.13.7"
165
166
  ];
166
167
  var KAY_PLUGIN_TARGET_NAMES = [
167
168
  "kay.agent",
@@ -2914,9 +2915,9 @@ var KayAgentTargetManifest = z10.strictObject({
2914
2915
  * routing, so it should say what the capability is and when to reach for it, not how to
2915
2916
  * operate it — that is the primer's job, and the host appends the primer route after the body.
2916
2917
  *
2917
- * Policy the HOST applies (never trust this field alone): a body over 500 words is dropped,
2918
- * and a directory/repository-origin plugin's declaration is ignored — a third-party manifest
2919
- * does not buy prompt residency (mirrors the skill-exposure clamp).
2918
+ * Policy the HOST applies (never trust this field alone): the doc renders only for a plugin
2919
+ * holding the `prompt.resident` claim (Bonsai's own plugins hold it; any other plugin needs a
2920
+ * grant a person approved), and a body over 500 words is dropped.
2920
2921
  */
2921
2922
  prompt: PackageAssetPath.optional(),
2922
2923
  /**
@@ -2953,8 +2954,8 @@ var KayAppTargetManifest = z10.strictObject({
2953
2954
  deviceDelegations: z10.array(DeviceDelegationContribution).optional(),
2954
2955
  corpusConsumers: z10.array(CorpusContribution).optional(),
2955
2956
  contextContributors: z10.array(ContextContributorContribution).optional(),
2956
- // Vendored MCP servers this plugin ships (see `McpServerContributions`). Bundled-plugin-only
2957
- // in practice; this package cannot see plugin origin, so that ceiling is enforced at
2957
+ // Vendored MCP servers this plugin ships (see `McpServerContributions`). Each is hosted only
2958
+ // for a plugin holding `mcp.host-server` for its name and URL; that is decided at
2958
2959
  // composition, not here (see ARCHITECTURE.md "Validation Law").
2959
2960
  mcpServers: McpServerContributions.optional(),
2960
2961
  // Handler restricted to endpoint-only by the manifest-level refinement below.
@@ -4794,6 +4795,9 @@ function referencedPaths(manifest) {
4794
4795
  if (manifest.iconDark !== void 0) {
4795
4796
  refs.push({ label: "iconDark", path: manifest.iconDark });
4796
4797
  }
4798
+ if (kayAgent?.prompt !== void 0) {
4799
+ refs.push({ label: "kay.agent prompt", path: kayAgent.prompt });
4800
+ }
4797
4801
  for (const skill of kayAgent?.contributes?.skills ?? []) {
4798
4802
  refs.push({ label: `skill '${skill.localId}'`, path: skill.path });
4799
4803
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.13.7",
3
+ "version": "0.13.8",
4
4
  "description": "The Kay plugin manifest schema (`kay.plugin.v1`) — parse and validate a kay-plugin.json.",
5
5
  "author": "YakLabs",
6
6
  "type": "module",