@yaklabs-ai/plugin-sdk 0.15.2 → 0.15.3

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.15.2"
16
+ "@bonsai/plugin-sdk": "npm:@yaklabs-ai/plugin-sdk@^0.15.3"
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.15.2" },
65
+ "compatibility": { "sdk": "^0.15.3" },
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.15.2",
4
+ "version": "0.15.3",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
package/dist/kay-app.d.ts CHANGED
@@ -2568,10 +2568,8 @@ export declare interface KayAppAutomationContext {
2568
2568
 
2569
2569
  export declare type KayAppAutomationEffect = {
2570
2570
  /**
2571
- * STORED only: a binding created before the 2026-09-28 owner ruling (agents and plugins
2572
- * may not create `spawn-session` automations) can still carry this effect, so a read must
2573
- * still parse it. Absent from {@link KayAppAutomationEffectInput}, so no NEW binding can
2574
- * be minted with it.
2571
+ * Starts a new session each time the automation fires. Created only with
2572
+ * `owner: "user"`; the creating session's directory and project are stamped here.
2575
2573
  */
2576
2574
  readonly kind: "spawn-session";
2577
2575
  readonly prompt: string;
@@ -2596,16 +2594,20 @@ export declare type KayAppAutomationEffect = {
2596
2594
  };
2597
2595
 
2598
2596
  /**
2599
- * What a plugin may CREATE an automation with. `spawn-session` is deliberately absent: owner
2600
- * ruling (2026-09-28) forbids a plugin (or an agent) from minting a `spawn-session` binding —
2601
- * durable recurring agent work belongs to a plugin workflow (`app.workflows.define` +
2602
- * `ctx.runAgent`) or a direct `app.sessions.run`. A binding created before that ruling can still
2603
- * carry the effect and still reads and runs; see {@link KayAppAutomationEffect}, the STORED type
2604
- * this input narrows.
2597
+ * What a plugin may CREATE an automation with; {@link KayAppAutomationEffect} is the STORED type
2598
+ * this input narrows. `spawn-session` needs `owner: "user"`: an automation the creating session
2599
+ * owns is a follow-up that brings that session back, so it cannot start a new one.
2600
+ * `deliver-turn` is the reverse, session-owned only. A script the user owns references a skill
2601
+ * file (`ref: {kind: "skill-file"}`), because it has no session scripts folder.
2605
2602
  */
2606
2603
  export declare type KayAppAutomationEffectInput = {
2607
2604
  readonly kind: "deliver-turn";
2608
2605
  readonly prompt: string;
2606
+ } | {
2607
+ readonly kind: "spawn-session";
2608
+ readonly prompt: string;
2609
+ /** Resolve the new session's model by tier instead of the default. */
2610
+ readonly tier?: "small" | "medium" | "large" | "ultra";
2609
2611
  } | {
2610
2612
  readonly kind: "script";
2611
2613
  /** The file this automation runs; every stored binding carries one. */
@@ -2860,6 +2862,12 @@ export declare interface KayAppAutomations {
2860
2862
  create(input: {
2861
2863
  readonly name: string;
2862
2864
  readonly description?: string;
2865
+ /**
2866
+ * Who owns the new automation. `session` (the default) ties it to the calling session;
2867
+ * `user` makes it the person's own: it outlives that session, any session may switch it
2868
+ * off, run or delete it, and the Automations page lists it. Requires SDK 0.15.3.
2869
+ */
2870
+ readonly owner?: "session" | "user";
2863
2871
  readonly condition: KayAppAutomationConditionInput;
2864
2872
  readonly effect: KayAppAutomationEffectInput;
2865
2873
  readonly enabled?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-sdk",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
4
4
  "description": "The Kay plugin SDK — types and helpers for authoring a Kay directory plugin.",
5
5
  "author": "YakLabs",
6
6
  "type": "module",