@yaklabs-ai/plugin-protocol 0.15.0 → 0.15.2

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.15.0"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.15.2"
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.15.0",
4
+ "version": "0.15.2",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -327,6 +327,7 @@ export declare const ArtifactProvenanceCaptureContextSchema: z.ZodObject<{
327
327
  cron: "cron";
328
328
  occurrence: "occurrence";
329
329
  "uri-change": "uri-change";
330
+ "plugin-event": "plugin-event";
330
331
  manual: "manual";
331
332
  }>;
332
333
  }, z.core.$strict>, z.ZodObject<{
@@ -715,6 +716,7 @@ export declare const ArtifactProvenanceEnvelopeV1: z.ZodPipe<z.ZodUnknown, z.Zod
715
716
  cron: "cron";
716
717
  occurrence: "occurrence";
717
718
  "uri-change": "uri-change";
719
+ "plugin-event": "plugin-event";
718
720
  manual: "manual";
719
721
  }>;
720
722
  }, z.core.$strict>, z.ZodObject<{
@@ -1127,6 +1129,7 @@ export declare const ArtifactProvenanceSession: z.ZodObject<{
1127
1129
  cron: "cron";
1128
1130
  occurrence: "occurrence";
1129
1131
  "uri-change": "uri-change";
1132
+ "plugin-event": "plugin-event";
1130
1133
  manual: "manual";
1131
1134
  }>;
1132
1135
  }, z.core.$strict>, z.ZodObject<{
@@ -2435,9 +2438,17 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2435
2438
  * resolving credentials. Plugins using list declare `^0.14.1` so older hosts refuse at load.
2436
2439
  *
2437
2440
  * 0.15.0 replaces plugin-event publish arguments and requires resource URI declarations.
2438
- * Older SDK contracts are no longer retained: their publishers cannot satisfy this contract.
2441
+ * Pre-0.15 SDK contracts are no longer retained: their publishers cannot satisfy this contract.
2442
+ *
2443
+ * 0.15.1 adds plugin-event automation conditions and public event-identity run matches.
2444
+ * The host retains 0.15.0; plugins using the new condition declare ^0.15.1.
2445
+ *
2446
+ * 0.15.2 lets a plugin workflow start on the plugin's own events (a `plugin-event` trigger, with
2447
+ * the event handed to the run as `ctx.match`) and declare `concurrency`. The host retains 0.15.0
2448
+ * and 0.15.1; a plugin using either declares ^0.15.2, so an older host refuses it at load instead
2449
+ * of `define` throwing inside activation.
2439
2450
  */
2440
- export declare const KAY_PLUGIN_SDK_VERSION: "0.15.0";
2451
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.15.2";
2441
2452
 
2442
2453
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2443
2454
 
@@ -8733,6 +8744,7 @@ export declare const SessionCreator: z.ZodDiscriminatedUnion<[z.ZodObject<{
8733
8744
  cron: "cron";
8734
8745
  occurrence: "occurrence";
8735
8746
  "uri-change": "uri-change";
8747
+ "plugin-event": "plugin-event";
8736
8748
  manual: "manual";
8737
8749
  }>;
8738
8750
  }, z.core.$strict>, z.ZodObject<{
@@ -8877,6 +8889,7 @@ export declare const SessionProvenanceRecord: z.ZodObject<{
8877
8889
  cron: "cron";
8878
8890
  occurrence: "occurrence";
8879
8891
  "uri-change": "uri-change";
8892
+ "plugin-event": "plugin-event";
8880
8893
  manual: "manual";
8881
8894
  }>;
8882
8895
  }, z.core.$strict>, z.ZodObject<{
@@ -9352,7 +9365,6 @@ export declare function turnPacket(entries: readonly TurnPacketEntry[], settleEn
9352
9365
  export declare interface TurnPacketEntry {
9353
9366
  readonly id: string;
9354
9367
  readonly parentId?: string | null;
9355
- readonly targetId?: string | null;
9356
9368
  readonly type: string;
9357
9369
  readonly customType?: string;
9358
9370
  /** Epoch milliseconds (pi's `EntryBase.timestamp`). */
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ function branchEntryIds(entries) {
17
17
  return EMPTY_BRANCH_IDS;
18
18
  const byId = new Map(entries.map((entry) => [entry.id, entry]));
19
19
  const onBranch = /* @__PURE__ */ new Set();
20
- let cursor = last.type === "leaf" ? last.targetId ?? null : last.id;
20
+ let cursor = last.id;
21
21
  while (cursor !== null && !onBranch.has(cursor)) {
22
22
  onBranch.add(cursor);
23
23
  cursor = byId.get(cursor)?.parentId ?? null;
@@ -136,8 +136,11 @@ 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.15.0";
140
- var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [];
139
+ var KAY_PLUGIN_SDK_VERSION = "0.15.2";
140
+ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
141
+ "0.15.0",
142
+ "0.15.1"
143
+ ];
141
144
  var KAY_PLUGIN_TARGET_NAMES = [
142
145
  "kay.agent",
143
146
  "kay.app",
@@ -294,15 +297,7 @@ var SessionCreator = z5.discriminatedUnion("kind", [
294
297
  door: SdkSessionDoor,
295
298
  callerSessionId: SessionId.optional()
296
299
  }),
297
- /**
298
- * An automation binding that fired.
299
- *
300
- * `triggerKind` names what the binding matched on, and `uri-change` is in the list because a
301
- * durable watcher is a real condition kind (`@bonsai/automations`'s `AutomationMatch`) with no
302
- * spelling among the other four: it watches the world OUTSIDE the session, so it is neither a
303
- * schedule nor a session-fact occurrence. Added 2026-08-19, when the automation producers
304
- * landed and a watcher's report session had nothing honest to stamp.
305
- */
300
+ /** An automation binding that fired; the run id links its durable execution. */
306
301
  z5.strictObject({
307
302
  kind: z5.literal("trigger"),
308
303
  automationId: NonEmptyString2,
@@ -314,7 +309,14 @@ var SessionCreator = z5.discriminatedUnion("kind", [
314
309
  */
315
310
  runId: NonEmptyString2.optional(),
316
311
  bindingName: NonEmptyString2,
317
- triggerKind: z5.enum(["cron", "time", "occurrence", "uri-change", "manual"])
312
+ triggerKind: z5.enum([
313
+ "cron",
314
+ "time",
315
+ "occurrence",
316
+ "uri-change",
317
+ "plugin-event",
318
+ "manual"
319
+ ])
318
320
  }),
319
321
  /** The daemon itself, for one of its own capabilities. */
320
322
  z5.strictObject({ kind: z5.literal("daemon"), capability: NonEmptyString2 })
@@ -2782,7 +2784,9 @@ var KayUiAppHostCapability = z10.enum([
2782
2784
  "automations.read",
2783
2785
  "automations.run",
2784
2786
  // Grants exactly `panes.place` (see `WORKSPACE_VERB_TIERS`/`KayWorkspaceCommand` in
2785
- // `@bonsai/agent-runtime-protocol`) through the `kay.ui` capability broker's `workspace.place`.
2787
+ // `@bonsai/agent-runtime-protocol`) through the `kay.ui` capability broker's `workspace.place`,
2788
+ // and `workspace.openBeside`: one artifact in the shell's reference side pane beside the app's own
2789
+ // pane. `openBeside` is not a wire verb; it never adds a tab and never reaches another pane.
2786
2790
  "workspace.place-pane",
2787
2791
  // Grants presentation into the native header of the pane hosting this app instance.
2788
2792
  "workspace.pane-header",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
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",