@yaklabs-ai/plugin-sdk 0.43.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.43.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.43.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.43.0",
4
+ "version": "0.45.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
@@ -2427,8 +2427,13 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2427
2427
  *
2428
2428
  * 0.43.0 adds product events (#15769). `productEvents` in a plugin's `kay.app` target declares them,
2429
2429
  * and `app.productEvents.send` sends them. Additive: a plugin that declares one declares ^0.43.0.
2430
+ *
2431
+ * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
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.
2430
2435
  */
2431
- declare const KAY_PLUGIN_SDK_VERSION: "0.43.0";
2436
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2432
2437
 
2433
2438
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2434
2439
 
@@ -2481,8 +2481,13 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2481
2481
  *
2482
2482
  * 0.43.0 adds product events (#15769). `productEvents` in a plugin's `kay.app` target declares them,
2483
2483
  * and `app.productEvents.send` sends them. Additive: a plugin that declares one declares ^0.43.0.
2484
+ *
2485
+ * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
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.
2484
2489
  */
2485
- declare const KAY_PLUGIN_SDK_VERSION: "0.43.0";
2490
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2486
2491
 
2487
2492
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2488
2493
 
@@ -4867,6 +4872,7 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
4867
4872
  interactionDriver: "interactionDriver";
4868
4873
  entityResolver: "entityResolver";
4869
4874
  agentRenderer: "agentRenderer";
4875
+ pluginCard: "pluginCard";
4870
4876
  eventDefinition: "eventDefinition";
4871
4877
  eventSubscription: "eventSubscription";
4872
4878
  appDataSource: "appDataSource";
@@ -5664,6 +5670,22 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
5664
5670
  scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5665
5671
  }, z.core.$strict>>;
5666
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>>>;
5667
5689
  kayAppDataSources: z.ZodOptional<z.ZodArray<z.ZodObject<{
5668
5690
  localId: z.ZodString;
5669
5691
  globalId: z.ZodString;
@@ -5821,6 +5843,15 @@ declare const ResolvedPluginContractV1: z.ZodObject<{
5821
5843
  plugin: "plugin";
5822
5844
  }>>;
5823
5845
  kind: z.ZodOptional<z.ZodString>;
5846
+ kinds: z.ZodOptional<z.ZodArray<z.ZodObject<{
5847
+ pattern: z.ZodObject<{
5848
+ protocol: z.ZodString;
5849
+ hostname: z.ZodString;
5850
+ pathname: z.ZodOptional<z.ZodString>;
5851
+ search: z.ZodOptional<z.ZodString>;
5852
+ }, z.core.$strict>;
5853
+ kind: z.ZodString;
5854
+ }, z.core.$strict>>>;
5824
5855
  noun: z.ZodOptional<z.ZodString>;
5825
5856
  target: z.ZodOptional<z.ZodString>;
5826
5857
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
@@ -2756,8 +2756,13 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2756
2756
  *
2757
2757
  * 0.43.0 adds product events (#15769). `productEvents` in a plugin's `kay.app` target declares them,
2758
2758
  * and `app.productEvents.send` sends them. Additive: a plugin that declares one declares ^0.43.0.
2759
+ *
2760
+ * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
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.
2759
2764
  */
2760
- declare const KAY_PLUGIN_SDK_VERSION: "0.43.0";
2765
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2761
2766
 
2762
2767
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2763
2768
 
package/dist/kay-app.d.ts CHANGED
@@ -2741,8 +2741,13 @@ declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2741
2741
  *
2742
2742
  * 0.43.0 adds product events (#15769). `productEvents` in a plugin's `kay.app` target declares them,
2743
2743
  * and `app.productEvents.send` sends them. Additive: a plugin that declares one declares ^0.43.0.
2744
+ *
2745
+ * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
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.
2744
2749
  */
2745
- declare const KAY_PLUGIN_SDK_VERSION: "0.43.0";
2750
+ declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
2746
2751
 
2747
2752
  declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2748
2753
 
@@ -3967,6 +3972,17 @@ export declare interface KayAppBackgroundCredentialRequest {
3967
3972
  readonly jobId: string;
3968
3973
  }
3969
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
+
3970
3986
  /**
3971
3987
  * The `kay.app` system-prompt contract (`app.systemPrompt`): text a plugin adds to every chat's
3972
3988
  * system prompt, rendered by the daemon from a few facts about the chat and reused across chats.
@@ -5381,6 +5397,12 @@ export declare interface KayAppPluginApi {
5381
5397
  * fail-closed at activation, exactly like {@link registerUriModule}.
5382
5398
  */
5383
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;
5384
5406
  /**
5385
5407
  * Supply the code of a workflow this plugin's manifest declares under
5386
5408
  * `targets.kay.app.contributes.workflows` (SDK 0.30.0). The manifest says its name, schedule and
@@ -9795,6 +9817,15 @@ export declare const PluginAgentDefinitionPermissionRule: z.ZodObject<{
9795
9817
 
9796
9818
  export declare type PluginAgentDefinitionPermissionRule = z.infer<typeof PluginAgentDefinitionPermissionRule>;
9797
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
+
9798
9829
  export declare const PluginEventEnvelope: z.ZodObject<{
9799
9830
  id: z.ZodString;
9800
9831
  localId: z.ZodString;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-sdk",
3
- "version": "0.43.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",