@yaklabs-ai/plugin-protocol 0.13.10 → 0.14.0

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.10"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.14.0"
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.10",
4
+ "version": "0.14.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -2095,7 +2095,7 @@ export declare const KAY_EVENT_PUBLISHER_ID: "kay";
2095
2095
  declare const KAY_PLUGIN_COMPATIBILITY_REFUSAL_CODES: readonly ["unsupported-protocol", "sdk-range-unsatisfied", "sdk-range-unsupported", "host-sdk-version-invalid"];
2096
2096
 
2097
2097
  /** Released SDK contracts still implemented by the host, alongside its current SDK. */
2098
- 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", "0.13.8", "0.13.9"];
2098
+ 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", "0.13.8", "0.13.9", "0.13.10"];
2099
2099
 
2100
2100
  /** The file whose presence makes a directory a plugin. A directory without one is not a plugin. */
2101
2101
  export declare const KAY_PLUGIN_MANIFEST_FILENAME = "kay-plugin.json";
@@ -2408,8 +2408,19 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2408
2408
  * connects a shared identity through (`gmail` over `google.account`), with an optional file picker.
2409
2409
  * Additive: a manifest without them parses unchanged. A plugin that declares one declares
2410
2410
  * `^0.13.10`, so an older host refuses it at load with that reason rather than a schema error.
2411
+ *
2412
+ * 0.14.0 removes `withJev`: `api.withJev` on `kay.agent`, `app.withJev` on `kay.app`, the
2413
+ * `@bonsai/plugin-sdk/jev` subpath and every `Jev*` type it exported. A plugin uses `api.systemOne`
2414
+ * / `app.systemOne` (`@bonsai/plugin-sdk/system-one`) instead. The `jev.use` capability claim is
2415
+ * renamed `systemOne.use`, and stored grants are rewritten to the new slug. The signals subpath
2416
+ * types its own surface now: observe options by `KayAppSignalObserveOptions`, state by
2417
+ * `KayAppSignalState`, and questions and answers by `DecideQuestions` and `DecideAnswer`. For the
2418
+ * api surface this is a clean break with no shim and deliberately NOT a load refusal, like 0.13.0:
2419
+ * every earlier release stays in the retention list, so a plugin compiled against 0.13.x that
2420
+ * reads `api.withJev` gets `undefined` at the call, and one that imports a value from
2421
+ * `@bonsai/plugin-sdk/jev` fails at load. No plugin used either.
2411
2422
  */
2412
- export declare const KAY_PLUGIN_SDK_VERSION: "0.13.10";
2423
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.14.0";
2413
2424
 
2414
2425
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2415
2426
 
@@ -4064,7 +4075,7 @@ export declare function parseResolvedPluginContractV1(value: unknown): ResolvedP
4064
4075
  export declare function parseSemver(value: string): ParsedSemver | undefined;
4065
4076
 
4066
4077
  /** Every capability slug {@link PluginCapabilityClaimV1} can express, for exhaustive table checks. */
4067
- export declare const PLUGIN_CAPABILITY_SLUGS: readonly ["sessions.run", "network.connect", "web-session.request", "web-session.download", "process.spawn", "corpus.read", "signals.read", "skills.read", "tools.describe", "workspace.command", "sessions.create", "sessions.update", "models.complete", "jev.use", "automations.write", "automations.run", "workflows.define", "session-events.subscribe", "agents.run", "dynamic-context.register", "app-data.register", "account.assert", "account.update", "agents.permissions", "tool-interception.register", "interaction.surface", "config.declare-section", "auth.own-service", "auth.shared-identity", "cli.bind", "mcp.host-server", "prompt.resident", "skills.declared-source", "whiteboard.discover", "whiteboard.read", "whiteboard.create", "whiteboard.update", "whiteboard.remove"];
4078
+ export declare const PLUGIN_CAPABILITY_SLUGS: readonly ["sessions.run", "network.connect", "web-session.request", "web-session.download", "process.spawn", "corpus.read", "signals.read", "skills.read", "tools.describe", "workspace.command", "sessions.create", "sessions.update", "models.complete", "systemOne.use", "automations.write", "automations.run", "workflows.define", "session-events.subscribe", "agents.run", "dynamic-context.register", "app-data.register", "account.assert", "account.update", "agents.permissions", "tool-interception.register", "interaction.surface", "config.declare-section", "auth.own-service", "auth.shared-identity", "cli.bind", "mcp.host-server", "prompt.resident", "skills.declared-source", "whiteboard.discover", "whiteboard.read", "whiteboard.create", "whiteboard.update", "whiteboard.remove"];
4068
4079
 
4069
4080
  /** Diagnostic messages carry plugin-controlled text (parse errors, module errors); bound it so a
4070
4081
  * hostile or accidental multi-megabyte error can never blow up a log line or a render surface. */
@@ -4581,7 +4592,7 @@ export declare const PluginCapabilityClaimV1: z.ZodDiscriminatedUnion<[z.ZodObje
4581
4592
  envelope: z.ZodObject<{}, z.core.$strict>;
4582
4593
  }, z.core.$strict>, z.ZodObject<{
4583
4594
  target: z.ZodLiteral<"kay.app">;
4584
- slug: z.ZodLiteral<"jev.use">;
4595
+ slug: z.ZodLiteral<"systemOne.use">;
4585
4596
  envelope: z.ZodObject<{}, z.core.$strict>;
4586
4597
  }, z.core.$strict>, z.ZodObject<{
4587
4598
  target: z.ZodLiteral<"kay.app">;
@@ -4817,7 +4828,7 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
4817
4828
  envelope: z.ZodObject<{}, z.core.$strict>;
4818
4829
  }, z.core.$strict>, z.ZodObject<{
4819
4830
  target: z.ZodLiteral<"kay.app">;
4820
- slug: z.ZodLiteral<"jev.use">;
4831
+ slug: z.ZodLiteral<"systemOne.use">;
4821
4832
  envelope: z.ZodObject<{}, z.core.$strict>;
4822
4833
  }, z.core.$strict>, z.ZodObject<{
4823
4834
  target: z.ZodLiteral<"kay.app">;
@@ -5048,7 +5059,7 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
5048
5059
  envelope: z.ZodObject<{}, z.core.$strict>;
5049
5060
  }, z.core.$strict>, z.ZodObject<{
5050
5061
  target: z.ZodLiteral<"kay.app">;
5051
- slug: z.ZodLiteral<"jev.use">;
5062
+ slug: z.ZodLiteral<"systemOne.use">;
5052
5063
  envelope: z.ZodObject<{}, z.core.$strict>;
5053
5064
  }, z.core.$strict>, z.ZodObject<{
5054
5065
  target: z.ZodLiteral<"kay.app">;
@@ -5342,7 +5353,7 @@ export declare const PluginCapabilityRefusalV1: z.ZodObject<{
5342
5353
  envelope: z.ZodObject<{}, z.core.$strict>;
5343
5354
  }, z.core.$strict>, z.ZodObject<{
5344
5355
  target: z.ZodLiteral<"kay.app">;
5345
- slug: z.ZodLiteral<"jev.use">;
5356
+ slug: z.ZodLiteral<"systemOne.use">;
5346
5357
  envelope: z.ZodObject<{}, z.core.$strict>;
5347
5358
  }, z.core.$strict>, z.ZodObject<{
5348
5359
  target: z.ZodLiteral<"kay.app">;
@@ -6393,6 +6404,15 @@ export declare const RegistrableDomain: z.ZodString;
6393
6404
 
6394
6405
  export declare type RegistrableDomain = z.infer<typeof RegistrableDomain>;
6395
6406
 
6407
+ /**
6408
+ * Capability slugs renamed since release, old slug to new. A stored grant naming an old slug is
6409
+ * rewritten to the new one (a read folds it; the boot migration rewrites the stored row), never
6410
+ * ignored: unlike a retired slug it still confers the capability.
6411
+ */
6412
+ export declare const RENAMED_PLUGIN_CAPABILITY_SLUGS: {
6413
+ readonly "jev.use": "systemOne.use";
6414
+ };
6415
+
6396
6416
  /**
6397
6417
  * Id namespaces a directory plugin may never claim. `herd.` is the kernel's first-party namespace
6398
6418
  * (`HERD_RESERVED_ID_PREFIX`: the kernel's extension loader throws on it without a first-party
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.10";
139
+ var KAY_PLUGIN_SDK_VERSION = "0.14.0";
140
140
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
141
141
  "0.8.0",
142
142
  "0.8.1",
@@ -164,7 +164,8 @@ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
164
164
  "0.13.6",
165
165
  "0.13.7",
166
166
  "0.13.8",
167
- "0.13.9"
167
+ "0.13.9",
168
+ "0.13.10"
168
169
  ];
169
170
  var KAY_PLUGIN_TARGET_NAMES = [
170
171
  "kay.agent",
@@ -1644,16 +1645,16 @@ var PluginCapabilityClaimV1 = z8.discriminatedUnion("slug", [
1644
1645
  envelope: z8.strictObject({})
1645
1646
  }),
1646
1647
  z8.strictObject({
1647
- // Held to `kay.app`, the daemon-lifetime tier, even though the same wrapper is exposed on
1648
+ // Held to `kay.app`, the daemon-lifetime tier, even though the same System One client is exposed on
1648
1649
  // BOTH the `kay.app` and `kay.agent` plugin SDKs (and to host composition directly): a slug
1649
1650
  // pins exactly one target (see this file's module doc), so one shared claim is simpler and
1650
1651
  // more honest than a second, `kay.agent`-scoped sibling slug for the identical capability.
1651
- // `kay.agent`'s `api.withJev` authorizes against this SAME claim through the calling
1652
+ // `kay.agent`'s `api.systemOne` authorizes against this SAME claim through the calling
1652
1653
  // plugin's own pinned authority, which already spans both targets for every other capability
1653
1654
  // (`network.connect`/`tool-interception.register` are decided by the identical per-plugin
1654
- // handle `kay.app`-target claims use).
1655
+ // handle `kay.app`-target claims use). `app.systemOne` authorizes against it the same way.
1655
1656
  target: z8.literal("kay.app"),
1656
- slug: z8.literal("jev.use"),
1657
+ slug: z8.literal("systemOne.use"),
1657
1658
  envelope: z8.strictObject({})
1658
1659
  }),
1659
1660
  z8.strictObject({
@@ -1776,6 +1777,9 @@ var RETIRED_PLUGIN_CAPABILITY_SLUGS = [
1776
1777
  "filesystem.read",
1777
1778
  "filesystem.write"
1778
1779
  ];
1780
+ var RENAMED_PLUGIN_CAPABILITY_SLUGS = {
1781
+ "jev.use": "systemOne.use"
1782
+ };
1779
1783
  var PLUGIN_CAPABILITY_SLUGS = [
1780
1784
  "sessions.run",
1781
1785
  "network.connect",
@@ -1790,7 +1794,7 @@ var PLUGIN_CAPABILITY_SLUGS = [
1790
1794
  "sessions.create",
1791
1795
  "sessions.update",
1792
1796
  "models.complete",
1793
- "jev.use",
1797
+ "systemOne.use",
1794
1798
  "automations.write",
1795
1799
  "automations.run",
1796
1800
  "workflows.define",
@@ -1898,7 +1902,7 @@ function sameClaim(a, b) {
1898
1902
  case "tools.describe":
1899
1903
  case "workspace.command":
1900
1904
  case "models.complete":
1901
- case "jev.use":
1905
+ case "systemOne.use":
1902
1906
  case "automations.write":
1903
1907
  case "automations.run":
1904
1908
  case "workflows.define":
@@ -1968,7 +1972,7 @@ function envelopePairs(a, b) {
1968
1972
  case "tools.describe":
1969
1973
  case "workspace.command":
1970
1974
  case "models.complete":
1971
- case "jev.use":
1975
+ case "systemOne.use":
1972
1976
  case "automations.write":
1973
1977
  case "automations.run":
1974
1978
  case "workflows.define":
@@ -5418,6 +5422,7 @@ export {
5418
5422
  PluginToolName,
5419
5423
  PluginWebSessionDeclaration,
5420
5424
  PluginWebSessionProbe,
5425
+ RENAMED_PLUGIN_CAPABILITY_SLUGS,
5421
5426
  RESERVED_DIRECTORY_PLUGIN_ID_PREFIXES,
5422
5427
  RETIRED_COMPATIBILITY_KEYS,
5423
5428
  RETIRED_PERMISSION_ASK_KEYS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.13.10",
3
+ "version": "0.14.0",
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",