@yaklabs-ai/plugin-protocol 0.49.0 → 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.49.0"
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.49.0",
4
+ "version": "0.50.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
package/dist/index.d.ts CHANGED
@@ -4741,8 +4741,11 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4741
4741
  * types; callers use the resource surface instead. Previously admitted SDK contracts are no
4742
4742
  * longer served because they included app.memory on notebook hosts. No compatibility alias
4743
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.
4744
4747
  */
4745
- export declare const KAY_PLUGIN_SDK_VERSION: "0.49.0";
4748
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.50.0";
4746
4749
 
4747
4750
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4748
4751
 
@@ -8127,7 +8130,7 @@ export declare function parseSemver(value: string): ParsedSemver | undefined;
8127
8130
  export declare function parseWhere(source: string, keyTypes?: WhereKeyTypes): WhereParseResult;
8128
8131
 
8129
8132
  /** Every capability slug {@link PluginCapabilityClaimV1} can express, for exhaustive table checks. */
8130
- 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", "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"];
8131
8134
 
8132
8135
  /** Diagnostic messages carry plugin-controlled text (parse errors, module errors); bound it so a
8133
8136
  * hostile or accidental multi-megabyte error can never blow up a log line or a render surface. */
@@ -8692,6 +8695,13 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
8692
8695
  scheme: string;
8693
8696
  verb: "search" | "list" | "read" | "write" | "edit" | "delete";
8694
8697
  };
8698
+ } | {
8699
+ target: "kay.agent" | "kay.app";
8700
+ slug: "endpoints.invoke";
8701
+ envelope: {
8702
+ pluginId: string;
8703
+ endpointId: string;
8704
+ };
8695
8705
  } | {
8696
8706
  target: "kay.app";
8697
8707
  slug: "skills.read";
@@ -8952,6 +8962,13 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
8952
8962
  scheme: string;
8953
8963
  verb: "search" | "list" | "read" | "write" | "edit" | "delete";
8954
8964
  };
8965
+ } | {
8966
+ target: "kay.agent" | "kay.app";
8967
+ slug: "endpoints.invoke";
8968
+ envelope: {
8969
+ pluginId: string;
8970
+ endpointId: string;
8971
+ };
8955
8972
  } | {
8956
8973
  target: "kay.app";
8957
8974
  slug: "skills.read";
@@ -9218,6 +9235,16 @@ export declare const PluginCapabilityClaimV1: z.ZodDiscriminatedUnion<[z.ZodObje
9218
9235
  delete: "delete";
9219
9236
  }>;
9220
9237
  }, z.core.$strict>;
9238
+ }, z.core.$strict>, z.ZodObject<{
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>;
9221
9248
  }, z.core.$strict>, z.ZodObject<{
9222
9249
  target: z.ZodLiteral<"kay.app">;
9223
9250
  slug: z.ZodLiteral<"skills.read">;
@@ -9530,6 +9557,16 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
9530
9557
  delete: "delete";
9531
9558
  }>;
9532
9559
  }, z.core.$strict>;
9560
+ }, z.core.$strict>, z.ZodObject<{
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>;
9533
9570
  }, z.core.$strict>, z.ZodObject<{
9534
9571
  target: z.ZodLiteral<"kay.app">;
9535
9572
  slug: z.ZodLiteral<"skills.read">;
@@ -9841,6 +9878,16 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
9841
9878
  delete: "delete";
9842
9879
  }>;
9843
9880
  }, z.core.$strict>;
9881
+ }, z.core.$strict>, z.ZodObject<{
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>;
9844
9891
  }, z.core.$strict>, z.ZodObject<{
9845
9892
  target: z.ZodLiteral<"kay.app">;
9846
9893
  slug: z.ZodLiteral<"skills.read">;
@@ -10186,6 +10233,16 @@ export declare const PluginCapabilityRefusalV1: z.ZodObject<{
10186
10233
  delete: "delete";
10187
10234
  }>;
10188
10235
  }, z.core.$strict>;
10236
+ }, z.core.$strict>, z.ZodObject<{
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>;
10189
10246
  }, z.core.$strict>, z.ZodObject<{
10190
10247
  target: z.ZodLiteral<"kay.app">;
10191
10248
  slug: z.ZodLiteral<"skills.read">;
package/dist/index.js CHANGED
@@ -260,8 +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.49.0";
264
- var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [];
263
+ var KAY_PLUGIN_SDK_VERSION = "0.50.0";
264
+ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = ["0.49.0"];
265
265
  var KAY_PLUGIN_TARGET_NAMES = [
266
266
  "kay.agent",
267
267
  "kay.app",
@@ -1741,6 +1741,7 @@ var PLUGIN_CAPABILITY_SLUGS = [
1741
1741
  "sessions.read",
1742
1742
  "signals.read",
1743
1743
  "uri.call",
1744
+ "endpoints.invoke",
1744
1745
  "skills.read",
1745
1746
  "skills.write",
1746
1747
  "skills.share",
@@ -1806,7 +1807,7 @@ var AGENT_PERMISSION_RULE_FIELDS = [
1806
1807
  "mode"
1807
1808
  ];
1808
1809
  function createAuthoritySchemas(canonical) {
1809
- const { ArtifactGenerationId: ArtifactGenerationId2, NonEmptyString: NonEmptyString3, UriScheme: UriScheme2 } = canonical ? canonicalCommonSchemas : common_exports;
1810
+ const { ArtifactGenerationId: ArtifactGenerationId2, NonEmptyString: NonEmptyString3, UriScheme: UriScheme2, PluginId: PluginId2, LocalContributionId: LocalContributionId2 } = canonical ? canonicalCommonSchemas : common_exports;
1810
1811
  const { PluginAgentDefinitionPermissionRule: PluginAgentDefinitionPermissionRule2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
1811
1812
  const WhiteboardCapabilityScope2 = z10.enum(["own-types", "all-types"]);
1812
1813
  const WhiteboardCapabilityOperation2 = z10.enum([
@@ -1904,6 +1905,14 @@ function createAuthoritySchemas(canonical) {
1904
1905
  verb: z10.enum(["read", "list", "search", "write", "edit", "delete"])
1905
1906
  })
1906
1907
  }),
1908
+ 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
+ })
1915
+ }),
1907
1916
  z10.strictObject({
1908
1917
  // Read every managed skill and its history: identity, versions, revisions, changes against
1909
1918
  // the source, past versions, suggestions. Never a write. An empty envelope because the
@@ -2274,6 +2283,8 @@ function sameClaim(a, b) {
2274
2283
  return true;
2275
2284
  case "uri.call":
2276
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;
2277
2288
  case "network.connect":
2278
2289
  return b.slug === "network.connect" && a.envelope.connect === b.envelope.connect;
2279
2290
  case "web-session.request":
@@ -2364,6 +2375,11 @@ function envelopePairs(a, b) {
2364
2375
  [a.envelope.scheme, b.envelope.scheme],
2365
2376
  [a.envelope.verb, b.envelope.verb]
2366
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
+ ] : [];
2367
2383
  case "network.connect":
2368
2384
  return b.slug === "network.connect" ? [[a.envelope.connect, b.envelope.connect]] : [];
2369
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.49.0",
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",