@yaklabs-ai/plugin-protocol 0.13.5 → 0.13.6

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.13.5"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.13.6"
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.13.5",
4
+ "version": "0.13.6",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -1708,6 +1708,21 @@ export declare interface DeclaredKayPluginCompatibility {
1708
1708
  /** Drop repeats under {@link sameClaim}, preserving first-seen order (a sort settles the rest). */
1709
1709
  export declare function dedupeClaims(claims: readonly PluginCapabilityClaimV1[]): PluginCapabilityClaimV1[];
1710
1710
 
1711
+ /**
1712
+ * The one `toolName` a directory plugin may declare for the tool `localId`: every `.` in
1713
+ * `namespace` becomes `_`, then one more `_` joins `localId`. The directory verdict drops a tool
1714
+ * that declares anything else. Bundled plugins are not held to it.
1715
+ *
1716
+ * Injective over every schema-valid pair, so two directory plugins can only derive the same tool
1717
+ * name by sharing both namespace and localId. Neither input can contain `_` (`PLUGIN_ID_PATTERN`
1718
+ * and `LOCAL_CONTRIBUTION_ID_PATTERN` exclude it), so every `_` in the output was inserted here,
1719
+ * and splitting on `_` recovers the namespace's segments and then `localId` (which has no `.`).
1720
+ *
1721
+ * A `-` is deliberately left alone: mapping it to `_` too would send `("a", "b-c")` and
1722
+ * `("a-b", "c")` to the same `a_b_c`. The tool-name alphabet admits `-` for that reason (#4341).
1723
+ */
1724
+ export declare function deriveDirectoryPluginToolName(namespace: string, localId: string): string;
1725
+
1711
1726
  export declare const DeviceDelegationContribution: z.ZodObject<{
1712
1727
  localId: z.ZodString;
1713
1728
  device: z.ZodEnum<{
@@ -2016,7 +2031,7 @@ export declare const KAY_APP_DATA_SNAPSHOT_MAX_BYTES: number;
2016
2031
  export declare const KAY_EVENT_PUBLISHER_ID: "kay";
2017
2032
 
2018
2033
  /** Released SDK contracts still implemented by the host, alongside its current SDK. */
2019
- export declare const KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS: readonly ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.9.0", "0.9.1", "0.10.0", "0.11.0", "0.11.1", "0.12.0", "0.12.1", "0.12.2", "0.12.3", "0.12.4", "0.12.5", "0.13.0", "0.13.1", "0.13.2", "0.13.3", "0.13.4"];
2034
+ export declare const KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS: readonly ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.9.0", "0.9.1", "0.10.0", "0.11.0", "0.11.1", "0.12.0", "0.12.1", "0.12.2", "0.12.3", "0.12.4", "0.12.5", "0.13.0", "0.13.1", "0.13.2", "0.13.3", "0.13.4", "0.13.5"];
2020
2035
 
2021
2036
  /** The file whose presence makes a directory a plugin. A directory without one is not a plugin. */
2022
2037
  export declare const KAY_PLUGIN_MANIFEST_FILENAME = "kay-plugin.json";
@@ -2281,11 +2296,26 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2281
2296
  *
2282
2297
  * 0.13.5 loads a `kay.agent` or `kay.app` entrypoint's default export when the manifest's
2283
2298
  * `entrypoint.export` names none, the way Pi writes extensions; a module with no default export
2284
- * still loads from a named `activate`. No API changes. A plugin whose entrypoint has only a default
2299
+ * still loads from a named `activate`. A plugin whose entrypoint has only a default
2285
2300
  * export declares `^0.13.5`, so an older host, which reads only `activate`, refuses it at load
2286
- * instead of failing to find the export.
2301
+ * instead of failing to find the export. It also renamed three published types with no aliases,
2302
+ * a break in the authoring types that shipped in this patch: `kay-app`'s `SessionTreeEntry`
2303
+ * became `TranscriptEntry`, and `transcript`'s `TranscriptEntry` and `TranscriptSourceEntry`
2304
+ * became `TranscriptEntryLike` and `TranscriptSourceEntryLike`.
2305
+ *
2306
+ * 0.13.6 publishes the pure contracts Bonsai's own plugins took from its internal libraries, so a
2307
+ * plugin needs less beside the SDK. A new `@bonsai/plugin-sdk/time` carries `Temporal` (the
2308
+ * host's own instance, like `z`), `canonicalZone`, `isValidZone` and `sameZone`, and the time
2309
+ * door's types. `kay-app` adds
2310
+ * the `JsonSchema` and `JsonValue` schemas, `PluginAgentDefinitionPermissionRule`,
2311
+ * `KAY_APP_DATA_SNAPSHOT_MAX_BYTES`, and the URI types `UriHelp`, `RawResource`, `UriPayload`,
2312
+ * `UriListParams`, `UriListResult`, `UriSearchParams` and `UriSearchResult`. `kay-agent` adds
2313
+ * `compileUriClaim`, `kay-agent/testing` adds `createTestClock`, and `transcript` adds the turn walk
2314
+ * (`turnSegments`), the run records and the work-block and work-headline helpers. Additive: a
2315
+ * plugin compiled against 0.13.5 never imports them. A plugin that imports one declares `^0.13.6`,
2316
+ * so an older host refuses a directory or repository plugin at load instead of the import failing.
2287
2317
  */
2288
- export declare const KAY_PLUGIN_SDK_VERSION: "0.13.5";
2318
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.13.6";
2289
2319
 
2290
2320
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2291
2321