@yaklabs-ai/plugin-protocol 0.39.0 → 0.40.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
@@ -11,7 +11,7 @@ flow.
11
11
  ```json
12
12
  {
13
13
  "dependencies": {
14
- "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.39.0"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.40.0"
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.39.0",
4
+ "version": "0.40.0",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -2807,11 +2807,7 @@ declare const canonicalContributionSchemas: {
2807
2807
  "artifacts.read": "artifacts.read";
2808
2808
  "artifacts.preview": "artifacts.preview";
2809
2809
  "markdown.document-view": "markdown.document-view";
2810
- "cost.read": "cost.read";
2811
2810
  "billing.read": "billing.read";
2812
- "skills.read": "skills.read";
2813
- "memory.read": "memory.read";
2814
- "self-improvement.read": "self-improvement.read";
2815
2811
  "automations.read": "automations.read";
2816
2812
  "automations.run": "automations.run";
2817
2813
  "shared-artifacts.read": "shared-artifacts.read";
@@ -2827,11 +2823,7 @@ declare const canonicalContributionSchemas: {
2827
2823
  "artifacts.read": "artifacts.read";
2828
2824
  "artifacts.preview": "artifacts.preview";
2829
2825
  "markdown.document-view": "markdown.document-view";
2830
- "cost.read": "cost.read";
2831
2826
  "billing.read": "billing.read";
2832
- "skills.read": "skills.read";
2833
- "memory.read": "memory.read";
2834
- "self-improvement.read": "self-improvement.read";
2835
2827
  "automations.read": "automations.read";
2836
2828
  "automations.run": "automations.run";
2837
2829
  "shared-artifacts.read": "shared-artifacts.read";
@@ -2839,6 +2831,7 @@ declare const canonicalContributionSchemas: {
2839
2831
  "workspace.pane-header": "workspace.pane-header";
2840
2832
  "workspace.arrange": "workspace.arrange";
2841
2833
  }>>>;
2834
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2842
2835
  }, z.core.$strict>;
2843
2836
  UiRailEntryContribution: z.ZodObject<{
2844
2837
  id: z.ZodString;
@@ -2900,11 +2893,7 @@ declare const canonicalContributionSchemas: {
2900
2893
  "artifacts.read": "artifacts.read";
2901
2894
  "artifacts.preview": "artifacts.preview";
2902
2895
  "markdown.document-view": "markdown.document-view";
2903
- "cost.read": "cost.read";
2904
2896
  "billing.read": "billing.read";
2905
- "skills.read": "skills.read";
2906
- "memory.read": "memory.read";
2907
- "self-improvement.read": "self-improvement.read";
2908
2897
  "automations.read": "automations.read";
2909
2898
  "automations.run": "automations.run";
2910
2899
  "shared-artifacts.read": "shared-artifacts.read";
@@ -2912,6 +2901,7 @@ declare const canonicalContributionSchemas: {
2912
2901
  "workspace.pane-header": "workspace.pane-header";
2913
2902
  "workspace.arrange": "workspace.arrange";
2914
2903
  }>>>;
2904
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2915
2905
  }, z.core.$strict>>;
2916
2906
  }, z.core.$strict> | z.ZodPreprocess<z.ZodObject<{
2917
2907
  localId: z.ZodString;
@@ -2937,11 +2927,7 @@ declare const canonicalContributionSchemas: {
2937
2927
  "artifacts.read": "artifacts.read";
2938
2928
  "artifacts.preview": "artifacts.preview";
2939
2929
  "markdown.document-view": "markdown.document-view";
2940
- "cost.read": "cost.read";
2941
2930
  "billing.read": "billing.read";
2942
- "skills.read": "skills.read";
2943
- "memory.read": "memory.read";
2944
- "self-improvement.read": "self-improvement.read";
2945
2931
  "automations.read": "automations.read";
2946
2932
  "automations.run": "automations.run";
2947
2933
  "shared-artifacts.read": "shared-artifacts.read";
@@ -2949,6 +2935,7 @@ declare const canonicalContributionSchemas: {
2949
2935
  "workspace.pane-header": "workspace.pane-header";
2950
2936
  "workspace.arrange": "workspace.arrange";
2951
2937
  }>>>;
2938
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2952
2939
  }, z.core.$strict>>;
2953
2940
  }, z.core.$strict>, unknown>;
2954
2941
  ThemeContribution: z.ZodObject<{
@@ -4243,8 +4230,14 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4243
4230
  * 0.39.0 lets a plugin word its own addresses (#15750). A reference presentation gains `words`, and
4244
4231
  * `open` and `resourceKind` become an optional pair, so a module can name its rows, tallies and live
4245
4232
  * phrases without its addresses opening. Additive. A plugin that declares words declares ^0.39.0.
4233
+ *
4234
+ * 0.40.0 lets a `kay.ui` app list the feeds it reads (#15909). `capabilities.feeds` names each one,
4235
+ * resolved at load to the plugin's own feed by that name or otherwise the daemon's, and a session
4236
+ * feed may now declare a `store`. It removes the `cost.read`, `skills.read`, `memory.read` and
4237
+ * `self-improvement.read` host capabilities, so a manifest still listing one no longer parses and
4238
+ * lists the feed instead. A plugin that lists feeds declares ^0.40.0.
4246
4239
  */
4247
- export declare const KAY_PLUGIN_SDK_VERSION: "0.39.0";
4240
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.40.0";
4248
4241
 
4249
4242
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4250
4243
 
@@ -5844,11 +5837,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5844
5837
  "artifacts.read": "artifacts.read";
5845
5838
  "artifacts.preview": "artifacts.preview";
5846
5839
  "markdown.document-view": "markdown.document-view";
5847
- "cost.read": "cost.read";
5848
5840
  "billing.read": "billing.read";
5849
- "skills.read": "skills.read";
5850
- "memory.read": "memory.read";
5851
- "self-improvement.read": "self-improvement.read";
5852
5841
  "automations.read": "automations.read";
5853
5842
  "automations.run": "automations.run";
5854
5843
  "shared-artifacts.read": "shared-artifacts.read";
@@ -5856,6 +5845,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5856
5845
  "workspace.pane-header": "workspace.pane-header";
5857
5846
  "workspace.arrange": "workspace.arrange";
5858
5847
  }>>>;
5848
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
5859
5849
  }, z.core.$strict>>;
5860
5850
  }, z.core.$strict> | z.ZodPreprocess<z.ZodObject<{
5861
5851
  localId: z.ZodString;
@@ -5881,11 +5871,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5881
5871
  "artifacts.read": "artifacts.read";
5882
5872
  "artifacts.preview": "artifacts.preview";
5883
5873
  "markdown.document-view": "markdown.document-view";
5884
- "cost.read": "cost.read";
5885
5874
  "billing.read": "billing.read";
5886
- "skills.read": "skills.read";
5887
- "memory.read": "memory.read";
5888
- "self-improvement.read": "self-improvement.read";
5889
5875
  "automations.read": "automations.read";
5890
5876
  "automations.run": "automations.run";
5891
5877
  "shared-artifacts.read": "shared-artifacts.read";
@@ -5893,6 +5879,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5893
5879
  "workspace.pane-header": "workspace.pane-header";
5894
5880
  "workspace.arrange": "workspace.arrange";
5895
5881
  }>>>;
5882
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
5896
5883
  }, z.core.$strict>>;
5897
5884
  }, z.core.$strict>, unknown>>>;
5898
5885
  railEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -6752,11 +6739,7 @@ export declare const KayUiAppHostCapability: z.ZodEnum<{
6752
6739
  "artifacts.read": "artifacts.read";
6753
6740
  "artifacts.preview": "artifacts.preview";
6754
6741
  "markdown.document-view": "markdown.document-view";
6755
- "cost.read": "cost.read";
6756
6742
  "billing.read": "billing.read";
6757
- "skills.read": "skills.read";
6758
- "memory.read": "memory.read";
6759
- "self-improvement.read": "self-improvement.read";
6760
6743
  "automations.read": "automations.read";
6761
6744
  "automations.run": "automations.run";
6762
6745
  "shared-artifacts.read": "shared-artifacts.read";
@@ -7008,11 +6991,7 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7008
6991
  "artifacts.read": "artifacts.read";
7009
6992
  "artifacts.preview": "artifacts.preview";
7010
6993
  "markdown.document-view": "markdown.document-view";
7011
- "cost.read": "cost.read";
7012
6994
  "billing.read": "billing.read";
7013
- "skills.read": "skills.read";
7014
- "memory.read": "memory.read";
7015
- "self-improvement.read": "self-improvement.read";
7016
6995
  "automations.read": "automations.read";
7017
6996
  "automations.run": "automations.run";
7018
6997
  "shared-artifacts.read": "shared-artifacts.read";
@@ -7020,6 +6999,7 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7020
6999
  "workspace.pane-header": "workspace.pane-header";
7021
7000
  "workspace.arrange": "workspace.arrange";
7022
7001
  }>>>;
7002
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
7023
7003
  }, z.core.$strict>>;
7024
7004
  }, z.core.$strict> | z.ZodPreprocess<z.ZodObject<{
7025
7005
  localId: z.ZodString;
@@ -7045,11 +7025,7 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7045
7025
  "artifacts.read": "artifacts.read";
7046
7026
  "artifacts.preview": "artifacts.preview";
7047
7027
  "markdown.document-view": "markdown.document-view";
7048
- "cost.read": "cost.read";
7049
7028
  "billing.read": "billing.read";
7050
- "skills.read": "skills.read";
7051
- "memory.read": "memory.read";
7052
- "self-improvement.read": "self-improvement.read";
7053
7029
  "automations.read": "automations.read";
7054
7030
  "automations.run": "automations.run";
7055
7031
  "shared-artifacts.read": "shared-artifacts.read";
@@ -7057,6 +7033,7 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7057
7033
  "workspace.pane-header": "workspace.pane-header";
7058
7034
  "workspace.arrange": "workspace.arrange";
7059
7035
  }>>>;
7036
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
7060
7037
  }, z.core.$strict>>;
7061
7038
  }, z.core.$strict>, unknown>>>;
7062
7039
  railEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -11382,11 +11359,7 @@ export declare const ResolvedKayUiApp: z.ZodObject<{
11382
11359
  "artifacts.read": "artifacts.read";
11383
11360
  "artifacts.preview": "artifacts.preview";
11384
11361
  "markdown.document-view": "markdown.document-view";
11385
- "cost.read": "cost.read";
11386
11362
  "billing.read": "billing.read";
11387
- "skills.read": "skills.read";
11388
- "memory.read": "memory.read";
11389
- "self-improvement.read": "self-improvement.read";
11390
11363
  "automations.read": "automations.read";
11391
11364
  "automations.run": "automations.run";
11392
11365
  "shared-artifacts.read": "shared-artifacts.read";
@@ -11394,6 +11367,7 @@ export declare const ResolvedKayUiApp: z.ZodObject<{
11394
11367
  "workspace.pane-header": "workspace.pane-header";
11395
11368
  "workspace.arrange": "workspace.arrange";
11396
11369
  }>>>;
11370
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
11397
11371
  }, z.core.$strict>>;
11398
11372
  }, z.core.$strict>;
11399
11373
 
@@ -12720,11 +12694,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12720
12694
  "artifacts.read": "artifacts.read";
12721
12695
  "artifacts.preview": "artifacts.preview";
12722
12696
  "markdown.document-view": "markdown.document-view";
12723
- "cost.read": "cost.read";
12724
12697
  "billing.read": "billing.read";
12725
- "skills.read": "skills.read";
12726
- "memory.read": "memory.read";
12727
- "self-improvement.read": "self-improvement.read";
12728
12698
  "automations.read": "automations.read";
12729
12699
  "automations.run": "automations.run";
12730
12700
  "shared-artifacts.read": "shared-artifacts.read";
@@ -12732,6 +12702,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12732
12702
  "workspace.pane-header": "workspace.pane-header";
12733
12703
  "workspace.arrange": "workspace.arrange";
12734
12704
  }>>>;
12705
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
12735
12706
  }, z.core.$strict>>;
12736
12707
  }, z.core.$strict>>>;
12737
12708
  }, z.core.$strict>;
@@ -14359,11 +14330,7 @@ export declare const UiAppCapabilities: z.ZodObject<{
14359
14330
  "artifacts.read": "artifacts.read";
14360
14331
  "artifacts.preview": "artifacts.preview";
14361
14332
  "markdown.document-view": "markdown.document-view";
14362
- "cost.read": "cost.read";
14363
14333
  "billing.read": "billing.read";
14364
- "skills.read": "skills.read";
14365
- "memory.read": "memory.read";
14366
- "self-improvement.read": "self-improvement.read";
14367
14334
  "automations.read": "automations.read";
14368
14335
  "automations.run": "automations.run";
14369
14336
  "shared-artifacts.read": "shared-artifacts.read";
@@ -14371,6 +14338,7 @@ export declare const UiAppCapabilities: z.ZodObject<{
14371
14338
  "workspace.pane-header": "workspace.pane-header";
14372
14339
  "workspace.arrange": "workspace.arrange";
14373
14340
  }>>>;
14341
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
14374
14342
  }, z.core.$strict>;
14375
14343
 
14376
14344
  export declare type UiAppCapabilities = z.infer<typeof UiAppCapabilities>;
@@ -14399,11 +14367,7 @@ export declare const UiAppContribution: z.ZodObject<{
14399
14367
  "artifacts.read": "artifacts.read";
14400
14368
  "artifacts.preview": "artifacts.preview";
14401
14369
  "markdown.document-view": "markdown.document-view";
14402
- "cost.read": "cost.read";
14403
14370
  "billing.read": "billing.read";
14404
- "skills.read": "skills.read";
14405
- "memory.read": "memory.read";
14406
- "self-improvement.read": "self-improvement.read";
14407
14371
  "automations.read": "automations.read";
14408
14372
  "automations.run": "automations.run";
14409
14373
  "shared-artifacts.read": "shared-artifacts.read";
@@ -14411,6 +14375,7 @@ export declare const UiAppContribution: z.ZodObject<{
14411
14375
  "workspace.pane-header": "workspace.pane-header";
14412
14376
  "workspace.arrange": "workspace.arrange";
14413
14377
  }>>>;
14378
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
14414
14379
  }, z.core.$strict>>;
14415
14380
  }, z.core.$strict> | z.ZodPreprocess<z.ZodObject<{
14416
14381
  localId: z.ZodString;
@@ -14436,11 +14401,7 @@ export declare const UiAppContribution: z.ZodObject<{
14436
14401
  "artifacts.read": "artifacts.read";
14437
14402
  "artifacts.preview": "artifacts.preview";
14438
14403
  "markdown.document-view": "markdown.document-view";
14439
- "cost.read": "cost.read";
14440
14404
  "billing.read": "billing.read";
14441
- "skills.read": "skills.read";
14442
- "memory.read": "memory.read";
14443
- "self-improvement.read": "self-improvement.read";
14444
14405
  "automations.read": "automations.read";
14445
14406
  "automations.run": "automations.run";
14446
14407
  "shared-artifacts.read": "shared-artifacts.read";
@@ -14448,6 +14409,7 @@ export declare const UiAppContribution: z.ZodObject<{
14448
14409
  "workspace.pane-header": "workspace.pane-header";
14449
14410
  "workspace.arrange": "workspace.arrange";
14450
14411
  }>>>;
14412
+ feeds: z.ZodOptional<z.ZodArray<z.ZodString>>;
14451
14413
  }, z.core.$strict>>;
14452
14414
  }, z.core.$strict>, unknown>;
14453
14415
 
package/dist/index.js CHANGED
@@ -254,7 +254,7 @@ var JsonSchema = z4.record(z4.string(), JsonValue);
254
254
  var KAY_PLUGIN_MANIFEST_SIZE_CAP_BYTES = 1024 * 1024;
255
255
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
256
256
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
257
- var KAY_PLUGIN_SDK_VERSION = "0.39.0";
257
+ var KAY_PLUGIN_SDK_VERSION = "0.40.0";
258
258
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
259
259
  "0.26.3",
260
260
  "0.27.1",
@@ -268,7 +268,8 @@ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
268
268
  "0.35.0",
269
269
  "0.36.0",
270
270
  "0.37.1",
271
- "0.38.0"
271
+ "0.38.0",
272
+ "0.39.0"
272
273
  ];
273
274
  var KAY_PLUGIN_TARGET_NAMES = [
274
275
  "kay.agent",
@@ -3460,13 +3461,6 @@ function createContributionsSchemas(canonical) {
3460
3461
  }
3461
3462
  if (source.store === void 0)
3462
3463
  return;
3463
- if (source.scope === "session") {
3464
- ctx.addIssue({
3465
- code: "custom",
3466
- path: ["store"],
3467
- message: "A declared app-data store requires runtime or account scope."
3468
- });
3469
- }
3470
3464
  const replaces = source.change.semantics?.kind === "snapshot-replacement";
3471
3465
  if (replaces !== (source.store.shape === "value")) {
3472
3466
  ctx.addIssue({
@@ -3958,15 +3952,8 @@ function createContributionsSchemas(canonical) {
3958
3952
  // Draws Bonsai's markdown document view in the app's page (`BonsaiMarkdownDocumentView`).
3959
3953
  // It reads and saves nothing: the app supplies the text and keeps the edits.
3960
3954
  "markdown.document-view",
3961
- "cost.read",
3962
3955
  // Server-rated organization billing, distinct from local/provider cost.
3963
3956
  "billing.read",
3964
- // Skills and Memory analytics reads (full snapshots via the capability broker).
3965
- "skills.read",
3966
- "memory.read",
3967
- // The self-improvement lens: reads the telemetry lane's self-improvement rollup
3968
- // (memory/skill/notebook activity). Follows the same "names the data" convention.
3969
- "self-improvement.read",
3970
3957
  "automations.read",
3971
3958
  "automations.run",
3972
3959
  // Lists the shared artifacts the signed-in account may open and opens one in Bonsai's shared
@@ -3989,9 +3976,12 @@ function createContributionsSchemas(canonical) {
3989
3976
  ]);
3990
3977
  const UiAppCapabilities2 = z12.strictObject({
3991
3978
  endpoints: z12.array(LocalContributionId2).optional(),
3992
- host: z12.array(KayUiAppHostCapability2).optional()
3979
+ host: z12.array(KayUiAppHostCapability2).optional(),
3980
+ // The feeds this app's pages read with `useBonsaiFeed`. A name means this plugin's own
3981
+ // `kay.app` data source if it declares one, otherwise the feed the daemon publishes.
3982
+ feeds: z12.array(LocalContributionId2).optional()
3993
3983
  }).superRefine((capabilities, ctx) => {
3994
- for (const field of ["endpoints", "host"]) {
3984
+ for (const field of ["endpoints", "host", "feeds"]) {
3995
3985
  const seen = /* @__PURE__ */ new Set();
3996
3986
  for (const [index, value] of (capabilities[field] ?? []).entries()) {
3997
3987
  if (seen.has(value)) {
@@ -4870,7 +4860,7 @@ function createManifestSchemas(canonical) {
4870
4860
  }
4871
4861
  materializedAppDataSources.add(materializer.source);
4872
4862
  }
4873
- const declaredRowsStores = new Set(manifest.targets?.kay?.app?.contributes?.dataSources?.filter((source) => source.store?.shape === "rows").map((source) => source.localId) ?? []);
4863
+ const declaredRowsStores = new Set(manifest.targets?.kay?.app?.contributes?.dataSources?.filter((source) => source.store?.shape === "rows" && source.scope !== "session").map((source) => source.localId) ?? []);
4874
4864
  for (const [index, entry] of (manifest.targets?.kay?.ui?.contributes?.railEntries ?? []).entries()) {
4875
4865
  if (entry.badge === void 0)
4876
4866
  continue;
@@ -6054,7 +6044,8 @@ function createResolvedContractSchemas(canonical) {
6054
6044
  assets: z14.array(PackageAssetPath2).optional(),
6055
6045
  capabilities: z14.strictObject({
6056
6046
  endpoints: z14.array(ResolvedKayUiAppEndpointCapability2).optional(),
6057
- host: z14.array(KayUiAppHostCapability2).optional()
6047
+ host: z14.array(KayUiAppHostCapability2).optional(),
6048
+ feeds: z14.array(LocalContributionId2).optional()
6058
6049
  }).optional()
6059
6050
  });
6060
6051
  const ResolvedPluginContractV12 = z14.strictObject({
@@ -6583,7 +6574,8 @@ function resolveKayPluginContractV1(manifest) {
6583
6574
  globalId: resolveGlobalContributionId(namespace, endpoint)
6584
6575
  }))
6585
6576
  },
6586
- ...app.capabilities.host === void 0 ? {} : { host: [...app.capabilities.host] }
6577
+ ...app.capabilities.host === void 0 ? {} : { host: [...app.capabilities.host] },
6578
+ ...app.capabilities.feeds === void 0 ? {} : { feeds: [...app.capabilities.feeds] }
6587
6579
  }
6588
6580
  }
6589
6581
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.39.0",
3
+ "version": "0.40.0",
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",