@yaklabs-ai/plugin-sdk 0.44.0 → 0.45.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.44.0"
16
+ "@bonsai/plugin-sdk": "npm:@yaklabs-ai/plugin-sdk@^0.45.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.44.0" },
65
+ "compatibility": { "sdk": "^0.45.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.44.0",
4
+ "version": "0.45.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
@@ -2430,8 +2430,10 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2430
2430
  *
2431
2431
  * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
2432
2432
  * and the kind each one names. Additive: a plugin that lists them declares ^0.44.0.
2433
+ *
2434
+ * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints.
2433
2435
  */
2434
- declare const KAY_PLUGIN_SDK_VERSION: "0.44.0";
2436
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2435
2437
 
2436
2438
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2437
2439
 
@@ -2484,8 +2484,10 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2484
2484
  *
2485
2485
  * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
2486
2486
  * and the kind each one names. Additive: a plugin that lists them declares ^0.44.0.
2487
+ *
2488
+ * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints.
2487
2489
  */
2488
- declare const KAY_PLUGIN_SDK_VERSION: "0.44.0";
2490
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2489
2491
 
2490
2492
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2491
2493
 
@@ -4870,6 +4872,7 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
4870
4872
  interactionDriver: "interactionDriver";
4871
4873
  entityResolver: "entityResolver";
4872
4874
  agentRenderer: "agentRenderer";
4875
+ pluginCard: "pluginCard";
4873
4876
  eventDefinition: "eventDefinition";
4874
4877
  eventSubscription: "eventSubscription";
4875
4878
  appDataSource: "appDataSource";
@@ -5667,6 +5670,22 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
5667
5670
  scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5668
5671
  }, z.core.$strict>>;
5669
5672
  }, z.core.$strict>>>;
5673
+ kayAppCards: z.ZodOptional<z.ZodArray<z.ZodObject<{
5674
+ localId: z.ZodString;
5675
+ globalId: z.ZodString;
5676
+ pluginId: z.ZodString;
5677
+ description: z.ZodString;
5678
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
5679
+ readEndpoint: z.ZodObject<{
5680
+ localId: z.ZodString;
5681
+ globalId: z.ZodString;
5682
+ }, z.core.$strict>;
5683
+ submitEndpoint: z.ZodObject<{
5684
+ localId: z.ZodString;
5685
+ globalId: z.ZodString;
5686
+ }, z.core.$strict>;
5687
+ authService: z.ZodOptional<z.ZodString>;
5688
+ }, z.core.$strict>>>;
5670
5689
  kayAppDataSources: z.ZodOptional<z.ZodArray<z.ZodObject<{
5671
5690
  localId: z.ZodString;
5672
5691
  globalId: z.ZodString;
@@ -2759,8 +2759,10 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2759
2759
  *
2760
2760
  * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
2761
2761
  * and the kind each one names. Additive: a plugin that lists them declares ^0.44.0.
2762
+ *
2763
+ * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints.
2762
2764
  */
2763
- declare const KAY_PLUGIN_SDK_VERSION: "0.44.0";
2765
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2764
2766
 
2765
2767
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2766
2768
 
package/dist/kay-app.d.ts CHANGED
@@ -2744,8 +2744,10 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2744
2744
  *
2745
2745
  * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
2746
2746
  * and the kind each one names. Additive: a plugin that lists them declares ^0.44.0.
2747
+ *
2748
+ * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints.
2747
2749
  */
2748
- declare const KAY_PLUGIN_SDK_VERSION: "0.44.0";
2750
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2749
2751
 
2750
2752
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2751
2753
 
@@ -3970,6 +3972,17 @@ export declare interface KayAppBackgroundCredentialRequest {
3970
3972
  readonly jobId: string;
3971
3973
  }
3972
3974
 
3975
+ /** The background operations of a manifest-declared plugin card. */
3976
+ export declare interface KayAppCardImplementation<Input = unknown, Data = unknown, Values = unknown> {
3977
+ read(inputs: Input): KayAppCardResult<Data> | Promise<KayAppCardResult<Data>>;
3978
+ submit(request: {
3979
+ readonly inputs: Input;
3980
+ readonly values: Values;
3981
+ }): KayAppCardResult<Data> | Promise<KayAppCardResult<Data>>;
3982
+ }
3983
+
3984
+ export declare type KayAppCardResult<T> = PluginCardResult<T>;
3985
+
3973
3986
  /**
3974
3987
  * The `kay.app` system-prompt contract (`app.systemPrompt`): text a plugin adds to every chat's
3975
3988
  * system prompt, rendered by the daemon from a few facts about the chat and reused across chats.
@@ -5384,6 +5397,12 @@ export declare interface KayAppPluginApi {
5384
5397
  * fail-closed at activation, exactly like {@link registerUriModule}.
5385
5398
  */
5386
5399
  registerTool(localId: string, definition: KayAppToolDefinition): void;
5400
+ /**
5401
+ * Implement a declared plugin card through its own declared read and submit endpoints.
5402
+ * Undeclared, duplicate or missing implementations fail activation. The host routes
5403
+ * both operations through the existing endpoint validation and plugin lifecycle.
5404
+ */
5405
+ implementCard<Input = unknown, Data = unknown, Values = unknown>(localId: string, implementation: KayAppCardImplementation<Input, Data, Values>): void;
5387
5406
  /**
5388
5407
  * Supply the code of a workflow this plugin's manifest declares under
5389
5408
  * `targets.kay.app.contributes.workflows` (SDK 0.30.0). The manifest says its name, schedule and
@@ -9798,6 +9817,15 @@ export declare const PluginAgentDefinitionPermissionRule: z.ZodObject<{
9798
9817
 
9799
9818
  export declare type PluginAgentDefinitionPermissionRule = z.infer<typeof PluginAgentDefinitionPermissionRule>;
9800
9819
 
9820
+ declare type PluginCardResult<T> = {
9821
+ readonly ok: true;
9822
+ readonly data: T;
9823
+ } | {
9824
+ readonly ok: false;
9825
+ readonly reason: "needs-auth" | "failed";
9826
+ readonly message: string;
9827
+ };
9828
+
9801
9829
  export declare const PluginEventEnvelope: z.ZodObject<{
9802
9830
  id: z.ZodString;
9803
9831
  localId: z.ZodString;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-sdk",
3
- "version": "0.44.0",
3
+ "version": "0.45.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",