@yaklabs-ai/plugin-protocol 0.48.1 → 0.50.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.48.1"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.50.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.48.1",
4
+ "version": "0.50.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
package/dist/index.d.ts CHANGED
@@ -4736,8 +4736,16 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4736
4736
  * 0.48.0 adds the models.complete UI capability.
4737
4737
  *
4738
4738
  * 0.48.1 adds app-tool metadata, conditional tool permissions and screen-action declarations.
4739
+ *
4740
+ * 0.49.0 adds sessionless URI calls on both backend targets. It removes app.memory and its note
4741
+ * types; callers use the resource surface instead. Previously admitted SDK contracts are no
4742
+ * longer served because they included app.memory on notebook hosts. No compatibility alias
4743
+ * restores it; callers migrate and declare ^0.49.0.
4744
+ *
4745
+ * 0.50.0 adds explicit cross-plugin endpoint calls on both backend targets. The URI-only 0.49.0
4746
+ * contract remains served.
4739
4747
  */
4740
- export declare const KAY_PLUGIN_SDK_VERSION: "0.48.1";
4748
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.50.0";
4741
4749
 
4742
4750
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4743
4751
 
@@ -8122,7 +8130,7 @@ export declare function parseSemver(value: string): ParsedSemver | undefined;
8122
8130
  export declare function parseWhere(source: string, keyTypes?: WhereKeyTypes): WhereParseResult;
8123
8131
 
8124
8132
  /** Every capability slug {@link PluginCapabilityClaimV1} can express, for exhaustive table checks. */
8125
- export declare const PLUGIN_CAPABILITY_SLUGS: readonly ["sessions.run", "network.connect", "web-session.request", "web-session.download", "process.spawn", "sessions.read", "signals.read", "memory.read", "memory.write", "skills.read", "skills.write", "skills.share", "plugins.set-enabled", "sessions.annotate", "sessions.compact", "soul.write", "tools.describe", "workspace.command", "sessions.create", "sessions.update", "models.complete", "systemOne.use", "automations.write", "automations.run", "workflows.define", "workflows.signals", "session-events.subscribe", "agents.run", "dynamic-context.register", "app-data.register", "knowledge-source.register", "artifacts.read", "session-artifacts.read", "session-artifacts.create", "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", "model-selection.register", "system-prompt.register"];
8133
+ export declare const PLUGIN_CAPABILITY_SLUGS: readonly ["sessions.run", "network.connect", "web-session.request", "web-session.download", "process.spawn", "sessions.read", "signals.read", "uri.call", "endpoints.invoke", "skills.read", "skills.write", "skills.share", "plugins.set-enabled", "sessions.annotate", "sessions.compact", "soul.write", "tools.describe", "workspace.command", "sessions.create", "sessions.update", "models.complete", "systemOne.use", "automations.write", "automations.run", "workflows.define", "workflows.signals", "session-events.subscribe", "agents.run", "dynamic-context.register", "app-data.register", "knowledge-source.register", "artifacts.read", "session-artifacts.read", "session-artifacts.create", "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", "model-selection.register", "system-prompt.register"];
8126
8134
 
8127
8135
  /** Diagnostic messages carry plugin-controlled text (parse errors, module errors); bound it so a
8128
8136
  * hostile or accidental multi-megabyte error can never blow up a log line or a render surface. */
@@ -8681,13 +8689,19 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
8681
8689
  slug: "signals.read";
8682
8690
  envelope: Record<string, never>;
8683
8691
  } | {
8684
- target: "kay.app";
8685
- slug: "memory.read";
8686
- envelope: Record<string, never>;
8692
+ target: "kay.agent" | "kay.app";
8693
+ slug: "uri.call";
8694
+ envelope: {
8695
+ scheme: string;
8696
+ verb: "search" | "list" | "read" | "write" | "edit" | "delete";
8697
+ };
8687
8698
  } | {
8688
- target: "kay.app";
8689
- slug: "memory.write";
8690
- envelope: Record<string, never>;
8699
+ target: "kay.agent" | "kay.app";
8700
+ slug: "endpoints.invoke";
8701
+ envelope: {
8702
+ pluginId: string;
8703
+ endpointId: string;
8704
+ };
8691
8705
  } | {
8692
8706
  target: "kay.app";
8693
8707
  slug: "skills.read";
@@ -8942,13 +8956,19 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
8942
8956
  slug: "signals.read";
8943
8957
  envelope: Record<string, never>;
8944
8958
  } | {
8945
- target: "kay.app";
8946
- slug: "memory.read";
8947
- envelope: Record<string, never>;
8959
+ target: "kay.agent" | "kay.app";
8960
+ slug: "uri.call";
8961
+ envelope: {
8962
+ scheme: string;
8963
+ verb: "search" | "list" | "read" | "write" | "edit" | "delete";
8964
+ };
8948
8965
  } | {
8949
- target: "kay.app";
8950
- slug: "memory.write";
8951
- envelope: Record<string, never>;
8966
+ target: "kay.agent" | "kay.app";
8967
+ slug: "endpoints.invoke";
8968
+ envelope: {
8969
+ pluginId: string;
8970
+ endpointId: string;
8971
+ };
8952
8972
  } | {
8953
8973
  target: "kay.app";
8954
8974
  slug: "skills.read";
@@ -9199,13 +9219,32 @@ export declare const PluginCapabilityClaimV1: z.ZodDiscriminatedUnion<[z.ZodObje
9199
9219
  slug: z.ZodLiteral<"signals.read">;
9200
9220
  envelope: z.ZodObject<{}, z.core.$strict>;
9201
9221
  }, z.core.$strict>, z.ZodObject<{
9202
- target: z.ZodLiteral<"kay.app">;
9203
- slug: z.ZodLiteral<"memory.read">;
9204
- envelope: z.ZodObject<{}, z.core.$strict>;
9222
+ target: z.ZodEnum<{
9223
+ "kay.agent": "kay.agent";
9224
+ "kay.app": "kay.app";
9225
+ }>;
9226
+ slug: z.ZodLiteral<"uri.call">;
9227
+ envelope: z.ZodObject<{
9228
+ scheme: z.ZodString;
9229
+ verb: z.ZodEnum<{
9230
+ search: "search";
9231
+ list: "list";
9232
+ read: "read";
9233
+ write: "write";
9234
+ edit: "edit";
9235
+ delete: "delete";
9236
+ }>;
9237
+ }, z.core.$strict>;
9205
9238
  }, z.core.$strict>, z.ZodObject<{
9206
- target: z.ZodLiteral<"kay.app">;
9207
- slug: z.ZodLiteral<"memory.write">;
9208
- envelope: z.ZodObject<{}, z.core.$strict>;
9239
+ target: z.ZodEnum<{
9240
+ "kay.agent": "kay.agent";
9241
+ "kay.app": "kay.app";
9242
+ }>;
9243
+ slug: z.ZodLiteral<"endpoints.invoke">;
9244
+ envelope: z.ZodObject<{
9245
+ pluginId: z.ZodString;
9246
+ endpointId: z.ZodString;
9247
+ }, z.core.$strict>;
9209
9248
  }, z.core.$strict>, z.ZodObject<{
9210
9249
  target: z.ZodLiteral<"kay.app">;
9211
9250
  slug: z.ZodLiteral<"skills.read">;
@@ -9502,13 +9541,32 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
9502
9541
  slug: z.ZodLiteral<"signals.read">;
9503
9542
  envelope: z.ZodObject<{}, z.core.$strict>;
9504
9543
  }, z.core.$strict>, z.ZodObject<{
9505
- target: z.ZodLiteral<"kay.app">;
9506
- slug: z.ZodLiteral<"memory.read">;
9507
- envelope: z.ZodObject<{}, z.core.$strict>;
9544
+ target: z.ZodEnum<{
9545
+ "kay.agent": "kay.agent";
9546
+ "kay.app": "kay.app";
9547
+ }>;
9548
+ slug: z.ZodLiteral<"uri.call">;
9549
+ envelope: z.ZodObject<{
9550
+ scheme: z.ZodString;
9551
+ verb: z.ZodEnum<{
9552
+ search: "search";
9553
+ list: "list";
9554
+ read: "read";
9555
+ write: "write";
9556
+ edit: "edit";
9557
+ delete: "delete";
9558
+ }>;
9559
+ }, z.core.$strict>;
9508
9560
  }, z.core.$strict>, z.ZodObject<{
9509
- target: z.ZodLiteral<"kay.app">;
9510
- slug: z.ZodLiteral<"memory.write">;
9511
- envelope: z.ZodObject<{}, z.core.$strict>;
9561
+ target: z.ZodEnum<{
9562
+ "kay.agent": "kay.agent";
9563
+ "kay.app": "kay.app";
9564
+ }>;
9565
+ slug: z.ZodLiteral<"endpoints.invoke">;
9566
+ envelope: z.ZodObject<{
9567
+ pluginId: z.ZodString;
9568
+ endpointId: z.ZodString;
9569
+ }, z.core.$strict>;
9512
9570
  }, z.core.$strict>, z.ZodObject<{
9513
9571
  target: z.ZodLiteral<"kay.app">;
9514
9572
  slug: z.ZodLiteral<"skills.read">;
@@ -9804,13 +9862,32 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
9804
9862
  slug: z.ZodLiteral<"signals.read">;
9805
9863
  envelope: z.ZodObject<{}, z.core.$strict>;
9806
9864
  }, z.core.$strict>, z.ZodObject<{
9807
- target: z.ZodLiteral<"kay.app">;
9808
- slug: z.ZodLiteral<"memory.read">;
9809
- envelope: z.ZodObject<{}, z.core.$strict>;
9865
+ target: z.ZodEnum<{
9866
+ "kay.agent": "kay.agent";
9867
+ "kay.app": "kay.app";
9868
+ }>;
9869
+ slug: z.ZodLiteral<"uri.call">;
9870
+ envelope: z.ZodObject<{
9871
+ scheme: z.ZodString;
9872
+ verb: z.ZodEnum<{
9873
+ search: "search";
9874
+ list: "list";
9875
+ read: "read";
9876
+ write: "write";
9877
+ edit: "edit";
9878
+ delete: "delete";
9879
+ }>;
9880
+ }, z.core.$strict>;
9810
9881
  }, z.core.$strict>, z.ZodObject<{
9811
- target: z.ZodLiteral<"kay.app">;
9812
- slug: z.ZodLiteral<"memory.write">;
9813
- envelope: z.ZodObject<{}, z.core.$strict>;
9882
+ target: z.ZodEnum<{
9883
+ "kay.agent": "kay.agent";
9884
+ "kay.app": "kay.app";
9885
+ }>;
9886
+ slug: z.ZodLiteral<"endpoints.invoke">;
9887
+ envelope: z.ZodObject<{
9888
+ pluginId: z.ZodString;
9889
+ endpointId: z.ZodString;
9890
+ }, z.core.$strict>;
9814
9891
  }, z.core.$strict>, z.ZodObject<{
9815
9892
  target: z.ZodLiteral<"kay.app">;
9816
9893
  slug: z.ZodLiteral<"skills.read">;
@@ -10140,13 +10217,32 @@ export declare const PluginCapabilityRefusalV1: z.ZodObject<{
10140
10217
  slug: z.ZodLiteral<"signals.read">;
10141
10218
  envelope: z.ZodObject<{}, z.core.$strict>;
10142
10219
  }, z.core.$strict>, z.ZodObject<{
10143
- target: z.ZodLiteral<"kay.app">;
10144
- slug: z.ZodLiteral<"memory.read">;
10145
- envelope: z.ZodObject<{}, z.core.$strict>;
10220
+ target: z.ZodEnum<{
10221
+ "kay.agent": "kay.agent";
10222
+ "kay.app": "kay.app";
10223
+ }>;
10224
+ slug: z.ZodLiteral<"uri.call">;
10225
+ envelope: z.ZodObject<{
10226
+ scheme: z.ZodString;
10227
+ verb: z.ZodEnum<{
10228
+ search: "search";
10229
+ list: "list";
10230
+ read: "read";
10231
+ write: "write";
10232
+ edit: "edit";
10233
+ delete: "delete";
10234
+ }>;
10235
+ }, z.core.$strict>;
10146
10236
  }, z.core.$strict>, z.ZodObject<{
10147
- target: z.ZodLiteral<"kay.app">;
10148
- slug: z.ZodLiteral<"memory.write">;
10149
- envelope: z.ZodObject<{}, z.core.$strict>;
10237
+ target: z.ZodEnum<{
10238
+ "kay.agent": "kay.agent";
10239
+ "kay.app": "kay.app";
10240
+ }>;
10241
+ slug: z.ZodLiteral<"endpoints.invoke">;
10242
+ envelope: z.ZodObject<{
10243
+ pluginId: z.ZodString;
10244
+ endpointId: z.ZodString;
10245
+ }, z.core.$strict>;
10150
10246
  }, z.core.$strict>, z.ZodObject<{
10151
10247
  target: z.ZodLiteral<"kay.app">;
10152
10248
  slug: z.ZodLiteral<"skills.read">;
@@ -14743,8 +14839,8 @@ export declare const RETIRED_COMPATIBILITY_KEYS: readonly ["policy"];
14743
14839
  */
14744
14840
  export declare const RETIRED_PERMISSION_ASK_KEYS: readonly ["network", "process", "filesystem", "corpus", "paths", "workspace", "sessions", "automations", "hindsight", "agents", "dynamicContext", "appData", "toolInterception", "account", "device", "config", "workflows", "whiteboard"];
14745
14841
 
14746
- /** Capability slugs retired in SDK 0.13.0; a stored grant naming one is ignored, never refused. */
14747
- export declare const RETIRED_PLUGIN_CAPABILITY_SLUGS: readonly ["filesystem.read", "filesystem.write"];
14842
+ /** Retired capability slugs; a stored grant naming one is ignored, never refused. */
14843
+ export declare const RETIRED_PLUGIN_CAPABILITY_SLUGS: readonly ["filesystem.read", "filesystem.write", "memory.read", "memory.write"];
14748
14844
 
14749
14845
  /**
14750
14846
  * The one retired FIELD inside a surviving row: a `webSession` row's `operations` only ever fed the
package/dist/index.js CHANGED
@@ -260,15 +260,8 @@ var JsonSchema = z4.record(z4.string(), JsonValue);
260
260
  var KAY_PLUGIN_MANIFEST_SIZE_CAP_BYTES = 1024 * 1024;
261
261
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
262
262
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
263
- var KAY_PLUGIN_SDK_VERSION = "0.48.1";
264
- var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
265
- "0.48.0",
266
- "0.47.0",
267
- "0.42.0",
268
- "0.42.1",
269
- "0.43.0",
270
- "0.44.0"
271
- ];
263
+ var KAY_PLUGIN_SDK_VERSION = "0.50.0";
264
+ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = ["0.49.0"];
272
265
  var KAY_PLUGIN_TARGET_NAMES = [
273
266
  "kay.agent",
274
267
  "kay.app",
@@ -1731,7 +1724,9 @@ function retiredPermissionAsksIn(rawManifest) {
1731
1724
  // packages/plugin-protocol/dist/authority.js
1732
1725
  var RETIRED_PLUGIN_CAPABILITY_SLUGS = [
1733
1726
  "filesystem.read",
1734
- "filesystem.write"
1727
+ "filesystem.write",
1728
+ "memory.read",
1729
+ "memory.write"
1735
1730
  ];
1736
1731
  var RENAMED_PLUGIN_CAPABILITY_SLUGS = {
1737
1732
  "jev.use": "systemOne.use",
@@ -1745,8 +1740,8 @@ var PLUGIN_CAPABILITY_SLUGS = [
1745
1740
  "process.spawn",
1746
1741
  "sessions.read",
1747
1742
  "signals.read",
1748
- "memory.read",
1749
- "memory.write",
1743
+ "uri.call",
1744
+ "endpoints.invoke",
1750
1745
  "skills.read",
1751
1746
  "skills.write",
1752
1747
  "skills.share",
@@ -1812,7 +1807,7 @@ var AGENT_PERMISSION_RULE_FIELDS = [
1812
1807
  "mode"
1813
1808
  ];
1814
1809
  function createAuthoritySchemas(canonical) {
1815
- const { ArtifactGenerationId: ArtifactGenerationId2, NonEmptyString: NonEmptyString3 } = canonical ? canonicalCommonSchemas : common_exports;
1810
+ const { ArtifactGenerationId: ArtifactGenerationId2, NonEmptyString: NonEmptyString3, UriScheme: UriScheme2, PluginId: PluginId2, LocalContributionId: LocalContributionId2 } = canonical ? canonicalCommonSchemas : common_exports;
1816
1811
  const { PluginAgentDefinitionPermissionRule: PluginAgentDefinitionPermissionRule2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
1817
1812
  const WhiteboardCapabilityScope2 = z10.enum(["own-types", "all-types"]);
1818
1813
  const WhiteboardCapabilityOperation2 = z10.enum([
@@ -1903,14 +1898,20 @@ function createAuthoritySchemas(canonical) {
1903
1898
  envelope: z10.strictObject({})
1904
1899
  }),
1905
1900
  z10.strictObject({
1906
- target: z10.literal("kay.app"),
1907
- slug: z10.literal("memory.read"),
1908
- envelope: z10.strictObject({})
1901
+ target: z10.enum(["kay.agent", "kay.app"]),
1902
+ slug: z10.literal("uri.call"),
1903
+ envelope: z10.strictObject({
1904
+ scheme: UriScheme2,
1905
+ verb: z10.enum(["read", "list", "search", "write", "edit", "delete"])
1906
+ })
1909
1907
  }),
1910
1908
  z10.strictObject({
1911
- target: z10.literal("kay.app"),
1912
- slug: z10.literal("memory.write"),
1913
- envelope: z10.strictObject({})
1909
+ target: z10.enum(["kay.agent", "kay.app"]),
1910
+ slug: z10.literal("endpoints.invoke"),
1911
+ envelope: z10.strictObject({
1912
+ pluginId: PluginId2,
1913
+ endpointId: LocalContributionId2
1914
+ })
1914
1915
  }),
1915
1916
  z10.strictObject({
1916
1917
  // Read every managed skill and its history: identity, versions, revisions, changes against
@@ -2256,8 +2257,6 @@ function sameClaim(a, b) {
2256
2257
  case "sessions.update":
2257
2258
  case "sessions.read":
2258
2259
  case "signals.read":
2259
- case "memory.read":
2260
- case "memory.write":
2261
2260
  case "skills.read":
2262
2261
  case "skills.write":
2263
2262
  case "skills.share":
@@ -2282,6 +2281,10 @@ function sameClaim(a, b) {
2282
2281
  case "model-selection.register":
2283
2282
  case "system-prompt.register":
2284
2283
  return true;
2284
+ case "uri.call":
2285
+ return b.slug === "uri.call" && a.envelope.scheme === b.envelope.scheme && a.envelope.verb === b.envelope.verb;
2286
+ case "endpoints.invoke":
2287
+ return b.slug === "endpoints.invoke" && a.envelope.pluginId === b.envelope.pluginId && a.envelope.endpointId === b.envelope.endpointId;
2285
2288
  case "network.connect":
2286
2289
  return b.slug === "network.connect" && a.envelope.connect === b.envelope.connect;
2287
2290
  case "web-session.request":
@@ -2343,8 +2346,6 @@ function envelopePairs(a, b) {
2343
2346
  case "sessions.update":
2344
2347
  case "sessions.read":
2345
2348
  case "signals.read":
2346
- case "memory.read":
2347
- case "memory.write":
2348
2349
  case "skills.read":
2349
2350
  case "skills.write":
2350
2351
  case "skills.share":
@@ -2369,6 +2370,16 @@ function envelopePairs(a, b) {
2369
2370
  case "model-selection.register":
2370
2371
  case "system-prompt.register":
2371
2372
  return [];
2373
+ case "uri.call":
2374
+ return b.slug === "uri.call" ? [
2375
+ [a.envelope.scheme, b.envelope.scheme],
2376
+ [a.envelope.verb, b.envelope.verb]
2377
+ ] : [];
2378
+ case "endpoints.invoke":
2379
+ return b.slug === "endpoints.invoke" ? [
2380
+ [a.envelope.pluginId, b.envelope.pluginId],
2381
+ [a.envelope.endpointId, b.envelope.endpointId]
2382
+ ] : [];
2372
2383
  case "network.connect":
2373
2384
  return b.slug === "network.connect" ? [[a.envelope.connect, b.envelope.connect]] : [];
2374
2385
  case "web-session.request":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.48.1",
3
+ "version": "0.50.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",