@yaklabs-ai/plugin-sdk 0.31.0 → 0.33.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
@@ -13,7 +13,7 @@ it under the name your plugin code actually imports:
13
13
  ```json
14
14
  {
15
15
  "dependencies": {
16
- "@bonsai/plugin-sdk": "npm:@yaklabs-ai/plugin-sdk@^0.31.0"
16
+ "@bonsai/plugin-sdk": "npm:@yaklabs-ai/plugin-sdk@^0.33.0"
17
17
  }
18
18
  }
19
19
  ```
@@ -62,7 +62,7 @@ Every tool the entrypoint registers is declared in the manifest too:
62
62
  "description": "Greets people by name.",
63
63
  "version": "0.1.0",
64
64
  "namespace": "widgets",
65
- "compatibility": { "sdk": "^0.31.0" },
65
+ "compatibility": { "sdk": "^0.33.0" },
66
66
  "targets": {
67
67
  "kay": {
68
68
  "agent": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@yaklabs-ai/plugin-sdk",
4
- "version": "0.31.0",
4
+ "version": "0.33.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
@@ -2362,8 +2362,17 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2362
2362
  * `contributes` names each entry's title, page, shortcut and icon file. It replaces `activityRail` on a
2363
2363
  * UI app, which is stripped from a manifest that still carries it, so that manifest loses only the
2364
2364
  * rail button. A plugin that declares a rail entry declares ^0.31.0.
2365
+ *
2366
+ * 0.32.0 lets an app-data source declare its window store as data (#15891). `store` under
2367
+ * `contributes.dataSources` replaces a `kay.ui` data materializer, and a change too big for a live
2368
+ * update becomes a re-read of the snapshot. A plugin that declares a store declares ^0.32.0.
2369
+ *
2370
+ * 0.33.0 lets a plugin declare a window command with its button and menu item (#15903). `commands`
2371
+ * under `kay.ui` `contributes` names each command's title, icon file, `button`, `menu` and `where`,
2372
+ * and `api.implementCommand(localId, handler)` supplies what it does. `placement` is gone and `icon`
2373
+ * is now a file path: nothing ever read either. A plugin that declares a command declares ^0.33.0.
2365
2374
  */
2366
- declare const KAY_PLUGIN_SDK_VERSION: "0.31.0";
2375
+ declare const KAY_PLUGIN_SDK_VERSION: "0.33.0";
2367
2376
 
2368
2377
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2369
2378
 
@@ -2416,8 +2416,17 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2416
2416
  * `contributes` names each entry's title, page, shortcut and icon file. It replaces `activityRail` on a
2417
2417
  * UI app, which is stripped from a manifest that still carries it, so that manifest loses only the
2418
2418
  * rail button. A plugin that declares a rail entry declares ^0.31.0.
2419
+ *
2420
+ * 0.32.0 lets an app-data source declare its window store as data (#15891). `store` under
2421
+ * `contributes.dataSources` replaces a `kay.ui` data materializer, and a change too big for a live
2422
+ * update becomes a re-read of the snapshot. A plugin that declares a store declares ^0.32.0.
2423
+ *
2424
+ * 0.33.0 lets a plugin declare a window command with its button and menu item (#15903). `commands`
2425
+ * under `kay.ui` `contributes` names each command's title, icon file, `button`, `menu` and `where`,
2426
+ * and `api.implementCommand(localId, handler)` supplies what it does. `placement` is gone and `icon`
2427
+ * is now a file path: nothing ever read either. A plugin that declares a command declares ^0.33.0.
2419
2428
  */
2420
- declare const KAY_PLUGIN_SDK_VERSION: "0.31.0";
2429
+ declare const KAY_PLUGIN_SDK_VERSION: "0.33.0";
2421
2430
 
2422
2431
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2423
2432
 
@@ -5577,6 +5586,13 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
5577
5586
  schema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
5578
5587
  }, z.core.$strict>;
5579
5588
  }, z.core.$strict>>;
5589
+ store: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
5590
+ shape: z.ZodLiteral<"rows">;
5591
+ rowsField: z.ZodString;
5592
+ key: z.ZodArray<z.ZodString>;
5593
+ }, z.core.$strict>, z.ZodObject<{
5594
+ shape: z.ZodLiteral<"value">;
5595
+ }, z.core.$strict>], "shape">>;
5580
5596
  }, z.core.$strict>>>;
5581
5597
  kayAppWhiteboardTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
5582
5598
  localId: z.ZodString;
@@ -5686,8 +5702,6 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
5686
5702
  "artifacts.preview": "artifacts.preview";
5687
5703
  "cost.read": "cost.read";
5688
5704
  "billing.read": "billing.read";
5689
- "context.read": "context.read";
5690
- "usage.read": "usage.read";
5691
5705
  "self-improvement.read": "self-improvement.read";
5692
5706
  "automations.read": "automations.read";
5693
5707
  "shared-artifacts.read": "shared-artifacts.read";
@@ -2691,8 +2691,17 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2691
2691
  * `contributes` names each entry's title, page, shortcut and icon file. It replaces `activityRail` on a
2692
2692
  * UI app, which is stripped from a manifest that still carries it, so that manifest loses only the
2693
2693
  * rail button. A plugin that declares a rail entry declares ^0.31.0.
2694
+ *
2695
+ * 0.32.0 lets an app-data source declare its window store as data (#15891). `store` under
2696
+ * `contributes.dataSources` replaces a `kay.ui` data materializer, and a change too big for a live
2697
+ * update becomes a re-read of the snapshot. A plugin that declares a store declares ^0.32.0.
2698
+ *
2699
+ * 0.33.0 lets a plugin declare a window command with its button and menu item (#15903). `commands`
2700
+ * under `kay.ui` `contributes` names each command's title, icon file, `button`, `menu` and `where`,
2701
+ * and `api.implementCommand(localId, handler)` supplies what it does. `placement` is gone and `icon`
2702
+ * is now a file path: nothing ever read either. A plugin that declares a command declares ^0.33.0.
2694
2703
  */
2695
- declare const KAY_PLUGIN_SDK_VERSION: "0.31.0";
2704
+ declare const KAY_PLUGIN_SDK_VERSION: "0.33.0";
2696
2705
 
2697
2706
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2698
2707
 
package/dist/kay-app.d.ts CHANGED
@@ -2646,8 +2646,17 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2646
2646
  * `contributes` names each entry's title, page, shortcut and icon file. It replaces `activityRail` on a
2647
2647
  * UI app, which is stripped from a manifest that still carries it, so that manifest loses only the
2648
2648
  * rail button. A plugin that declares a rail entry declares ^0.31.0.
2649
+ *
2650
+ * 0.32.0 lets an app-data source declare its window store as data (#15891). `store` under
2651
+ * `contributes.dataSources` replaces a `kay.ui` data materializer, and a change too big for a live
2652
+ * update becomes a re-read of the snapshot. A plugin that declares a store declares ^0.32.0.
2653
+ *
2654
+ * 0.33.0 lets a plugin declare a window command with its button and menu item (#15903). `commands`
2655
+ * under `kay.ui` `contributes` names each command's title, icon file, `button`, `menu` and `where`,
2656
+ * and `api.implementCommand(localId, handler)` supplies what it does. `placement` is gone and `icon`
2657
+ * is now a file path: nothing ever read either. A plugin that declares a command declares ^0.33.0.
2649
2658
  */
2650
- declare const KAY_PLUGIN_SDK_VERSION: "0.31.0";
2659
+ declare const KAY_PLUGIN_SDK_VERSION: "0.33.0";
2651
2660
 
2652
2661
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2653
2662
 
@@ -4791,17 +4800,6 @@ export declare interface KayAppModelSelectionEntry extends TranscriptEntryLike {
4791
4800
  readonly message?: unknown;
4792
4801
  }
4793
4802
 
4794
- /** How a helper's settled result reaches the session. */
4795
- export declare interface KayAppModelSelectionHelperHandBack {
4796
- /**
4797
- * Wake the session's own model when the helper fails, or ends its run without stamping its
4798
- * work completed (it stopped short, or reported itself blocked).
4799
- */
4800
- readonly wakeOnFailure: boolean;
4801
- /** Wake it when the helper's answer starts with this marker (the helper handing the work back). */
4802
- readonly wakeOnReplyPrefix?: string;
4803
- }
4804
-
4805
4803
  /** What the daemon shows the person when a change lands, as a visible message the model also reads. */
4806
4804
  export declare interface KayAppModelSelectionNotice {
4807
4805
  readonly kind: "tier-up" | "tier-down" | "thinking-down";
@@ -4857,41 +4855,12 @@ export declare interface KayAppModelSelectionResponseFacts extends KayAppModelSe
4857
4855
  readonly contextTokens: number;
4858
4856
  }
4859
4857
 
4860
- export declare type KayAppModelSelectionSendAnswer = {
4861
- /** The session's own model answers, after `change` when there is one. */
4858
+ /** The policy's answer to a follow-up: the session's own model answers, after `change` when there is one. */
4859
+ export declare interface KayAppModelSelectionSendAnswer {
4862
4860
  readonly kind: "main";
4863
4861
  readonly change?: KayAppModelSelectionChange;
4864
4862
  readonly records?: readonly KayAppModelSelectionRecord[];
4865
- } | {
4866
- /** A helper subagent answers instead, and the session's own model does not run. */
4867
- readonly kind: "helper";
4868
- readonly tier: Exclude<KayAppModelTierId, "small">;
4869
- /**
4870
- * Continue this existing helper of the session (a child the session's earlier hand-offs
4871
- * spawned) instead of starting a new one: `continueHelper.brief` becomes its next message,
4872
- * written for a helper that already holds its earlier request, work and answer. The daemon
4873
- * starts a new helper on the top-level `brief` instead when that child is not this
4874
- * session's, is still working, or cannot take a message; `continueHelper.brief` is used
4875
- * only when the child is actually continued.
4876
- */
4877
- readonly continueHelper?: {
4878
- readonly sessionId: string;
4879
- readonly brief: string;
4880
- };
4881
- /**
4882
- * A new helper's first message, its complete context (the previous reply and the
4883
- * follow-up). Always present: it is what the daemon sends whenever it starts a new helper,
4884
- * including when a `continueHelper` cannot be continued.
4885
- */
4886
- readonly brief: string;
4887
- readonly displayName: string;
4888
- /** Who took the request, for the person's request row ("Quick helper on the medium model"). */
4889
- readonly caption: string;
4890
- /** The full line under the helper's reply ("Answered by Quick helper on the medium model"). */
4891
- readonly replyCaption: string;
4892
- readonly handBack: KayAppModelSelectionHelperHandBack;
4893
- readonly records?: readonly KayAppModelSelectionRecord[];
4894
- };
4863
+ }
4895
4864
 
4896
4865
  /** A person's plain-text follow-up to an idle session, before its model runs. */
4897
4866
  export declare interface KayAppModelSelectionSendFacts extends KayAppModelSelectionSessionFacts {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-sdk",
3
- "version": "0.31.0",
3
+ "version": "0.33.0",
4
4
  "description": "The Kay plugin SDK — types and helpers for authoring a Kay directory plugin.",
5
5
  "author": "YakLabs",
6
6
  "type": "module",