@yaklabs-ai/plugin-protocol 0.55.3 → 0.55.5

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.55.3"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.55.5"
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.55.3",
4
+ "version": "0.55.5",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
package/dist/index.d.ts CHANGED
@@ -4138,6 +4138,9 @@ export declare function isKayPluginCompatibilityRefusal(code: string): code is K
4138
4138
  /** Whether `name` can name a declared event: the shape above, and not the journal's own family. */
4139
4139
  export declare function isPluginProductEventName(name: string): boolean;
4140
4140
 
4141
+ /** Whether a custom entry type is a plugin state entry's. */
4142
+ export declare function isPluginStateEntryCustomType(customType: string): boolean;
4143
+
4141
4144
  /** Whether only plugins the release carries may hold `claim` ({@link PRIVATE_PLUGIN_CAPABILITY_SLUGS}). */
4142
4145
  export declare function isPrivateCapabilityClaim(claim: PluginCapabilityClaimV1): boolean;
4143
4146
 
@@ -4963,8 +4966,19 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4963
4966
  * text, at most `PLUGIN_SIGNAL_BODY_MAX` (20,000) characters. Gmail puts a mail's text there, so
4964
4967
  * Flows can keep the messages a task came from. Additive: a plugin that publishes a body declares
4965
4968
  * ^0.55.3.
4969
+ *
4970
+ * 0.55.4 adds `app.plugins.listServices()` under the new `plugins.read` claim: every auth service
4971
+ * of the installed, enabled plugins, with the plugin's id and display name and whether the person
4972
+ * has connected it. No account, identity or scope. Built-ins hold the claim; any other plugin needs
4973
+ * a grant. Additive; plugins calling it declare ^0.55.4.
4974
+ *
4975
+ * 0.55.5 adds `app.sessions.readState()` and `writeState()` under the new `sessions.state` claim:
4976
+ * a plugin keeps its own state entries in a session's transcript, stored as `plugin-state:<pluginId>:<name>`,
4977
+ * and each write names the newest entry it was computed from, so a write from a stale base is
4978
+ * answered with the newest one instead of landing (compaction plan, phase 2). Additive; plugins
4979
+ * calling them declare ^0.55.5.
4966
4980
  */
4967
- export declare const KAY_PLUGIN_SDK_VERSION: "0.55.3";
4981
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.55.5";
4968
4982
 
4969
4983
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4970
4984
 
@@ -8786,7 +8800,7 @@ export declare function parseSemver(value: string): ParsedSemver | undefined;
8786
8800
  export declare function parseWhere(source: string, keyTypes?: WhereKeyTypes): WhereParseResult;
8787
8801
 
8788
8802
  /** Every capability slug {@link PluginCapabilityClaimV1} can express, for exhaustive table checks. */
8789
- export declare const PLUGIN_CAPABILITY_SLUGS: readonly ["sessions.run", "network.connect", "web-session.request", "web-session.download", "process.spawn", "sessions.read", "signals.read", "uri.call", "endpoints.invoke", "skills.read", "skills.write", "skills.share", "plugins.set-enabled", "sessions.assign-project", "artifacts.resolve-file", "process.run", "sessions.annotate", "sessions.compact", "soul.write", "tools.describe", "workspace.command", "sessions.create", "sessions.update", "models.complete", "systemOne.use", "automations.write", "automations.run", "workflows.define", "workflows.signals", "session-events.subscribe", "agents.run", "dynamic-context.register", "app-data.register", "app-data.read", "knowledge-source.register", "artifacts.read", "session-artifacts.read", "session-artifacts.create", "account.assert", "account.update", "agents.permissions", "tool-interception.register", "interaction.surface", "config.declare-section", "auth.own-service", "auth.shared-identity", "cli.bind", "mcp.host-server", "prompt.resident", "skills.declared-source", "family-folder.root", "whiteboard.discover", "whiteboard.read", "whiteboard.create", "whiteboard.update", "whiteboard.remove", "model-selection.register", "system-prompt.register"];
8803
+ export declare const PLUGIN_CAPABILITY_SLUGS: readonly ["sessions.run", "network.connect", "web-session.request", "web-session.download", "process.spawn", "sessions.read", "signals.read", "uri.call", "endpoints.invoke", "skills.read", "skills.write", "skills.share", "plugins.set-enabled", "plugins.read", "sessions.assign-project", "artifacts.resolve-file", "process.run", "sessions.annotate", "sessions.compact", "sessions.state", "soul.write", "tools.describe", "workspace.command", "sessions.create", "sessions.update", "models.complete", "systemOne.use", "automations.write", "automations.run", "workflows.define", "workflows.signals", "session-events.subscribe", "agents.run", "dynamic-context.register", "app-data.register", "app-data.read", "knowledge-source.register", "artifacts.read", "session-artifacts.read", "session-artifacts.create", "account.assert", "account.update", "agents.permissions", "tool-interception.register", "interaction.surface", "config.declare-section", "auth.own-service", "auth.shared-identity", "cli.bind", "mcp.host-server", "prompt.resident", "skills.declared-source", "family-folder.root", "whiteboard.discover", "whiteboard.read", "whiteboard.create", "whiteboard.update", "whiteboard.remove", "model-selection.register", "system-prompt.register"];
8790
8804
 
8791
8805
  /** Diagnostic messages carry plugin-controlled text (parse errors, module errors); bound it so a
8792
8806
  * hostile or accidental multi-megabyte error can never blow up a log line or a render surface. */
@@ -8841,6 +8855,25 @@ export declare const PLUGIN_SIGNAL_SNIPPET_MAX = 500;
8841
8855
 
8842
8856
  export declare const PLUGIN_SIGNAL_TITLE_MAX = 300;
8843
8857
 
8858
+ /**
8859
+ * The most one entry may hold, as serialized UTF-8 JSON: 256 KiB, a quarter of what one
8860
+ * `session/readCustomEntries` read returns, so the newest entry is always read back whole.
8861
+ */
8862
+ export declare const PLUGIN_STATE_ENTRY_MAX_BYTES: number;
8863
+
8864
+ /** The deepest nesting of arrays and objects one entry may hold. */
8865
+ export declare const PLUGIN_STATE_ENTRY_MAX_DEPTH = 64;
8866
+
8867
+ /** A plugin's own entry name: a local contribution id (lowercase letters, digits, dashes), at most 64 characters. */
8868
+ export declare const PLUGIN_STATE_ENTRY_NAME_PATTERN: RegExp;
8869
+
8870
+ /**
8871
+ * The prefix of every plugin state entry's custom type. Its own namespace, apart from herd's
8872
+ * `ext:<extensionId>:` for an extension's own entries, so the host can tell a plugin's state
8873
+ * from every other entry: it is no activity, and a snapshot carries only its newest entry.
8874
+ */
8875
+ export declare const PLUGIN_STATE_ENTRY_TYPE_PREFIX = "plugin-state:";
8876
+
8844
8877
  export declare const PluginAgentDefinitionPermissionRule: z.ZodObject<{
8845
8878
  effect: z.ZodEnum<{
8846
8879
  allow: "allow";
@@ -9500,6 +9533,10 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
9500
9533
  target: "kay.app";
9501
9534
  slug: "plugins.set-enabled";
9502
9535
  envelope: Record<string, never>;
9536
+ } | {
9537
+ target: "kay.app";
9538
+ slug: "plugins.read";
9539
+ envelope: Record<string, never>;
9503
9540
  } | {
9504
9541
  target: "kay.app";
9505
9542
  slug: "sessions.assign-project";
@@ -9520,6 +9557,10 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
9520
9557
  target: "kay.app";
9521
9558
  slug: "sessions.compact";
9522
9559
  envelope: Record<string, never>;
9560
+ } | {
9561
+ target: "kay.app";
9562
+ slug: "sessions.state";
9563
+ envelope: Record<string, never>;
9523
9564
  } | {
9524
9565
  target: "kay.app";
9525
9566
  slug: "soul.write";
@@ -9790,6 +9831,10 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
9790
9831
  target: "kay.app";
9791
9832
  slug: "plugins.set-enabled";
9792
9833
  envelope: Record<string, never>;
9834
+ } | {
9835
+ target: "kay.app";
9836
+ slug: "plugins.read";
9837
+ envelope: Record<string, never>;
9793
9838
  } | {
9794
9839
  target: "kay.app";
9795
9840
  slug: "sessions.assign-project";
@@ -9810,6 +9855,10 @@ export declare const PluginCapabilityClaimInputV1: z.ZodCustom<{
9810
9855
  target: "kay.app";
9811
9856
  slug: "sessions.compact";
9812
9857
  envelope: Record<string, never>;
9858
+ } | {
9859
+ target: "kay.app";
9860
+ slug: "sessions.state";
9861
+ envelope: Record<string, never>;
9813
9862
  } | {
9814
9863
  target: "kay.app";
9815
9864
  slug: "soul.write";
@@ -10090,6 +10139,10 @@ export declare const PluginCapabilityClaimV1: z.ZodDiscriminatedUnion<[z.ZodObje
10090
10139
  target: z.ZodLiteral<"kay.app">;
10091
10140
  slug: z.ZodLiteral<"plugins.set-enabled">;
10092
10141
  envelope: z.ZodObject<{}, z.core.$strict>;
10142
+ }, z.core.$strict>, z.ZodObject<{
10143
+ target: z.ZodLiteral<"kay.app">;
10144
+ slug: z.ZodLiteral<"plugins.read">;
10145
+ envelope: z.ZodObject<{}, z.core.$strict>;
10093
10146
  }, z.core.$strict>, z.ZodObject<{
10094
10147
  target: z.ZodLiteral<"kay.app">;
10095
10148
  slug: z.ZodLiteral<"sessions.assign-project">;
@@ -10110,6 +10163,10 @@ export declare const PluginCapabilityClaimV1: z.ZodDiscriminatedUnion<[z.ZodObje
10110
10163
  target: z.ZodLiteral<"kay.app">;
10111
10164
  slug: z.ZodLiteral<"sessions.compact">;
10112
10165
  envelope: z.ZodObject<{}, z.core.$strict>;
10166
+ }, z.core.$strict>, z.ZodObject<{
10167
+ target: z.ZodLiteral<"kay.app">;
10168
+ slug: z.ZodLiteral<"sessions.state">;
10169
+ envelope: z.ZodObject<{}, z.core.$strict>;
10113
10170
  }, z.core.$strict>, z.ZodObject<{
10114
10171
  target: z.ZodLiteral<"kay.app">;
10115
10172
  slug: z.ZodLiteral<"soul.write">;
@@ -10436,6 +10493,10 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
10436
10493
  target: z.ZodLiteral<"kay.app">;
10437
10494
  slug: z.ZodLiteral<"plugins.set-enabled">;
10438
10495
  envelope: z.ZodObject<{}, z.core.$strict>;
10496
+ }, z.core.$strict>, z.ZodObject<{
10497
+ target: z.ZodLiteral<"kay.app">;
10498
+ slug: z.ZodLiteral<"plugins.read">;
10499
+ envelope: z.ZodObject<{}, z.core.$strict>;
10439
10500
  }, z.core.$strict>, z.ZodObject<{
10440
10501
  target: z.ZodLiteral<"kay.app">;
10441
10502
  slug: z.ZodLiteral<"sessions.assign-project">;
@@ -10456,6 +10517,10 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
10456
10517
  target: z.ZodLiteral<"kay.app">;
10457
10518
  slug: z.ZodLiteral<"sessions.compact">;
10458
10519
  envelope: z.ZodObject<{}, z.core.$strict>;
10520
+ }, z.core.$strict>, z.ZodObject<{
10521
+ target: z.ZodLiteral<"kay.app">;
10522
+ slug: z.ZodLiteral<"sessions.state">;
10523
+ envelope: z.ZodObject<{}, z.core.$strict>;
10459
10524
  }, z.core.$strict>, z.ZodObject<{
10460
10525
  target: z.ZodLiteral<"kay.app">;
10461
10526
  slug: z.ZodLiteral<"soul.write">;
@@ -10781,6 +10846,10 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
10781
10846
  target: z.ZodLiteral<"kay.app">;
10782
10847
  slug: z.ZodLiteral<"plugins.set-enabled">;
10783
10848
  envelope: z.ZodObject<{}, z.core.$strict>;
10849
+ }, z.core.$strict>, z.ZodObject<{
10850
+ target: z.ZodLiteral<"kay.app">;
10851
+ slug: z.ZodLiteral<"plugins.read">;
10852
+ envelope: z.ZodObject<{}, z.core.$strict>;
10784
10853
  }, z.core.$strict>, z.ZodObject<{
10785
10854
  target: z.ZodLiteral<"kay.app">;
10786
10855
  slug: z.ZodLiteral<"sessions.assign-project">;
@@ -10801,6 +10870,10 @@ export declare const PluginCapabilityDecisionV1: z.ZodDiscriminatedUnion<[z.ZodO
10801
10870
  target: z.ZodLiteral<"kay.app">;
10802
10871
  slug: z.ZodLiteral<"sessions.compact">;
10803
10872
  envelope: z.ZodObject<{}, z.core.$strict>;
10873
+ }, z.core.$strict>, z.ZodObject<{
10874
+ target: z.ZodLiteral<"kay.app">;
10875
+ slug: z.ZodLiteral<"sessions.state">;
10876
+ envelope: z.ZodObject<{}, z.core.$strict>;
10804
10877
  }, z.core.$strict>, z.ZodObject<{
10805
10878
  target: z.ZodLiteral<"kay.app">;
10806
10879
  slug: z.ZodLiteral<"soul.write">;
@@ -11160,6 +11233,10 @@ export declare const PluginCapabilityRefusalV1: z.ZodObject<{
11160
11233
  target: z.ZodLiteral<"kay.app">;
11161
11234
  slug: z.ZodLiteral<"plugins.set-enabled">;
11162
11235
  envelope: z.ZodObject<{}, z.core.$strict>;
11236
+ }, z.core.$strict>, z.ZodObject<{
11237
+ target: z.ZodLiteral<"kay.app">;
11238
+ slug: z.ZodLiteral<"plugins.read">;
11239
+ envelope: z.ZodObject<{}, z.core.$strict>;
11163
11240
  }, z.core.$strict>, z.ZodObject<{
11164
11241
  target: z.ZodLiteral<"kay.app">;
11165
11242
  slug: z.ZodLiteral<"sessions.assign-project">;
@@ -11180,6 +11257,10 @@ export declare const PluginCapabilityRefusalV1: z.ZodObject<{
11180
11257
  target: z.ZodLiteral<"kay.app">;
11181
11258
  slug: z.ZodLiteral<"sessions.compact">;
11182
11259
  envelope: z.ZodObject<{}, z.core.$strict>;
11260
+ }, z.core.$strict>, z.ZodObject<{
11261
+ target: z.ZodLiteral<"kay.app">;
11262
+ slug: z.ZodLiteral<"sessions.state">;
11263
+ envelope: z.ZodObject<{}, z.core.$strict>;
11183
11264
  }, z.core.$strict>, z.ZodObject<{
11184
11265
  target: z.ZodLiteral<"kay.app">;
11185
11266
  slug: z.ZodLiteral<"soul.write">;
@@ -12666,6 +12747,14 @@ export declare const PluginSourceClass: z.ZodEnum<{
12666
12747
 
12667
12748
  export declare type PluginSourceClass = z.infer<typeof PluginSourceClass>;
12668
12749
 
12750
+ /**
12751
+ * The custom entry type a plugin's entry `name` is stored under: `plugin-state:<pluginId>:<name>`.
12752
+ * A plugin id holds no `:`, and the name grammar holds no `.`, `:` or `_`, so no kernel or daemon
12753
+ * type (`herd.permission_rules`, `session_steward`, ...) and no other plugin's entry can be
12754
+ * reached. Returns `undefined` for a name outside the grammar.
12755
+ */
12756
+ export declare function pluginStateEntryCustomType(pluginId: string, name: string): string | undefined;
12757
+
12669
12758
  export declare const PluginStorageManifest: z.ZodObject<{
12670
12759
  sqlite: z.ZodOptional<z.ZodObject<{
12671
12760
  enabled: z.ZodBoolean;
@@ -12756,7 +12845,7 @@ declare type PrereleaseIdentifier = string | number;
12756
12845
  * plugin is refused one with layer `release`, nothing offers a grant for it, and a stored grant
12757
12846
  * naming one confers nothing. Each entry backs one SDK method a built-in calls in place of a daemon
12758
12847
  * object it used to take at creation; making it public later means adding consent copy and moving
12759
- * it out of this list (`docs/plugin-host/private-api.md`).
12848
+ * it out of this list (`docs/plans/plugin-host/private-api.md`).
12760
12849
  */
12761
12850
  export declare const PRIVATE_PLUGIN_CAPABILITY_SLUGS: readonly PluginCapabilitySlug[];
12762
12851
 
package/dist/index.js CHANGED
@@ -260,8 +260,10 @@ var JsonSchema = z4.record(z4.string(), JsonValue);
260
260
  var KAY_PLUGIN_MANIFEST_SIZE_CAP_BYTES = 1024 * 1024;
261
261
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
262
262
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
263
- var KAY_PLUGIN_SDK_VERSION = "0.55.3";
263
+ var KAY_PLUGIN_SDK_VERSION = "0.55.5";
264
264
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
265
+ "0.55.4",
266
+ "0.55.3",
265
267
  "0.55.2",
266
268
  "0.55.1",
267
269
  "0.55.0",
@@ -1808,11 +1810,13 @@ var PLUGIN_CAPABILITY_SLUGS = [
1808
1810
  "skills.write",
1809
1811
  "skills.share",
1810
1812
  "plugins.set-enabled",
1813
+ "plugins.read",
1811
1814
  "sessions.assign-project",
1812
1815
  "artifacts.resolve-file",
1813
1816
  "process.run",
1814
1817
  "sessions.annotate",
1815
1818
  "sessions.compact",
1819
+ "sessions.state",
1816
1820
  "soul.write",
1817
1821
  "tools.describe",
1818
1822
  "workspace.command",
@@ -2015,6 +2019,13 @@ function createAuthoritySchemas(canonical) {
2015
2019
  slug: z11.literal("plugins.set-enabled"),
2016
2020
  envelope: z11.strictObject({})
2017
2021
  }),
2022
+ z11.strictObject({
2023
+ // See which installed, enabled plugins declare which auth services and whether each is
2024
+ // connected: ids, display names and a boolean, never an account, identity or scope.
2025
+ target: z11.literal("kay.app"),
2026
+ slug: z11.literal("plugins.read"),
2027
+ envelope: z11.strictObject({})
2028
+ }),
2018
2029
  z11.strictObject({
2019
2030
  // Set the project of sessions no current call or event is about (accepting a project
2020
2031
  // suggestion, undoing an automatic filing). Private (PRIVATE_PLUGIN_CAPABILITY_SLUGS): whether
@@ -2054,6 +2065,15 @@ function createAuthoritySchemas(canonical) {
2054
2065
  slug: z11.literal("sessions.compact"),
2055
2066
  envelope: z11.strictObject({})
2056
2067
  }),
2068
+ z11.strictObject({
2069
+ // Read and write this plugin's own state entries in a session's transcript
2070
+ // (`app.sessions.readState` / `writeState`): custom entries stored under the plugin's own
2071
+ // id, each write checked against the newest one. A write is bound like `sessions.annotate`
2072
+ // to the session whose event the calling handler is answering; a read is not bound.
2073
+ target: z11.literal("kay.app"),
2074
+ slug: z11.literal("sessions.state"),
2075
+ envelope: z11.strictObject({})
2076
+ }),
2057
2077
  z11.strictObject({
2058
2078
  // Read and rewrite the soul file every new conversation is told. Private
2059
2079
  // (PRIVATE_PLUGIN_CAPABILITY_SLUGS): only a plugin the release carries may hold it.
@@ -2367,11 +2387,13 @@ function sameClaim(a, b) {
2367
2387
  case "skills.write":
2368
2388
  case "skills.share":
2369
2389
  case "plugins.set-enabled":
2390
+ case "plugins.read":
2370
2391
  case "sessions.assign-project":
2371
2392
  case "artifacts.resolve-file":
2372
2393
  case "process.run":
2373
2394
  case "sessions.annotate":
2374
2395
  case "sessions.compact":
2396
+ case "sessions.state":
2375
2397
  case "soul.write":
2376
2398
  case "tools.describe":
2377
2399
  case "workspace.command":
@@ -2462,11 +2484,13 @@ function envelopePairs(a, b) {
2462
2484
  case "skills.write":
2463
2485
  case "skills.share":
2464
2486
  case "plugins.set-enabled":
2487
+ case "plugins.read":
2465
2488
  case "sessions.assign-project":
2466
2489
  case "artifacts.resolve-file":
2467
2490
  case "process.run":
2468
2491
  case "sessions.annotate":
2469
2492
  case "sessions.compact":
2493
+ case "sessions.state":
2470
2494
  case "soul.write":
2471
2495
  case "tools.describe":
2472
2496
  case "workspace.command":
@@ -5063,7 +5087,7 @@ function createManifestSchemas(canonical) {
5063
5087
  contextContributors: z18.array(ContextContributorContribution2).optional(),
5064
5088
  // Vendored MCP servers this plugin ships (see `McpServerContributions`). Each is hosted only
5065
5089
  // for a plugin holding `mcp.host-server` for its name and URL; that is decided at
5066
- // composition, not here (see ARCHITECTURE.md "Validation Law").
5090
+ // composition, not here (see AGENTS.md).
5067
5091
  mcpServers: McpServerContributions2.optional(),
5068
5092
  // Handler restricted to endpoint-only by the manifest-level refinement below.
5069
5093
  commands: z18.array(CommandContribution2).optional()
@@ -8062,6 +8086,18 @@ function sessionHealthPWellDecile(pWell) {
8062
8086
  return Math.min(9, Math.floor(pWell * 10));
8063
8087
  }
8064
8088
 
8089
+ // packages/plugin-protocol/dist/session-state.js
8090
+ var PLUGIN_STATE_ENTRY_NAME_PATTERN = /^[a-z][a-z0-9-]{0,63}$/;
8091
+ var PLUGIN_STATE_ENTRY_MAX_BYTES = 256 * 1024;
8092
+ var PLUGIN_STATE_ENTRY_MAX_DEPTH = 64;
8093
+ var PLUGIN_STATE_ENTRY_TYPE_PREFIX = "plugin-state:";
8094
+ function pluginStateEntryCustomType(pluginId, name) {
8095
+ return PLUGIN_STATE_ENTRY_NAME_PATTERN.test(name) ? `${PLUGIN_STATE_ENTRY_TYPE_PREFIX}${pluginId}:${name}` : void 0;
8096
+ }
8097
+ function isPluginStateEntryCustomType(customType) {
8098
+ return customType.startsWith(PLUGIN_STATE_ENTRY_TYPE_PREFIX);
8099
+ }
8100
+
8065
8101
  // packages/plugin-protocol/dist/resource-invocations.js
8066
8102
  import { z as z23 } from "zod";
8067
8103
 
@@ -8627,6 +8663,10 @@ export {
8627
8663
  PLUGIN_SIGNAL_RELATED_KEYS,
8628
8664
  PLUGIN_SIGNAL_SNIPPET_MAX,
8629
8665
  PLUGIN_SIGNAL_TITLE_MAX,
8666
+ PLUGIN_STATE_ENTRY_MAX_BYTES,
8667
+ PLUGIN_STATE_ENTRY_MAX_DEPTH,
8668
+ PLUGIN_STATE_ENTRY_NAME_PATTERN,
8669
+ PLUGIN_STATE_ENTRY_TYPE_PREFIX,
8630
8670
  PRIVATE_PLUGIN_CAPABILITY_SLUGS,
8631
8671
  PackageAssetPath,
8632
8672
  PluginAgentDefinitionPermissionRule,
@@ -8819,6 +8859,7 @@ export {
8819
8859
  isDeclaredLocalAppLink,
8820
8860
  isKayPluginCompatibilityRefusal,
8821
8861
  isPluginProductEventName,
8862
+ isPluginStateEntryCustomType,
8822
8863
  isPrivateCapabilityClaim,
8823
8864
  isQualifiedAuthSchemeRef,
8824
8865
  isQualifiedAuthServiceRef,
@@ -8843,6 +8884,7 @@ export {
8843
8884
  parseWhere,
8844
8885
  pluginIconShape,
8845
8886
  pluginSignalPayloadJsonSchema,
8887
+ pluginStateEntryCustomType,
8846
8888
  precedingPersonMessages,
8847
8889
  readKayPluginDeclaredCompatibility,
8848
8890
  refineWebSessionScopeConfined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.55.3",
3
+ "version": "0.55.5",
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",