@yaklabs-ai/plugin-protocol 0.12.3 → 0.12.4

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
- "@kay/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.12.3"
14
+ "@kay/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.12.4"
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.12.3",
4
+ "version": "0.12.4",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -1396,9 +1396,21 @@ export declare type CliBinaryName = z.infer<typeof CliBinaryName>;
1396
1396
  * `aliases`) carry a read/write split the approval policy honors, and — for a
1397
1397
  * vendored binary — a credential injected into the child process env under
1398
1398
  * `authEnvVar`, resolved from `authService`. `readOnly`/`write` are argv prefix
1399
- * strings (e.g. `"apps list"`) the plugin advertises as read vs write — contract
1399
+ * strings (e.g. `"apps list"`) the plugin advertises as read vs write: contract
1400
1400
  * data consumed by approval policy and the prompt, not enforced here.
1401
1401
  *
1402
+ * How the host matches a prefix (#10220): it splits the prefix on single spaces
1403
+ * and compares each word with the command's argv at the same position, starting
1404
+ * with the first argument after the binary. Options are never skipped or
1405
+ * interpreted, so `"apps list"` matches `fly apps list --json` but not
1406
+ * `fly --verbose apps list` or `fly apps --org x list`. A command that matches
1407
+ * no prefix is unknown and goes through the user's approval policy. A `write`
1408
+ * match wins over a `readOnly` match. A prefix with an empty word (a leading,
1409
+ * trailing or doubled space) never matches. So list a read only when its
1410
+ * leading words alone make it a read, and expect a command written option-first
1411
+ * to ask: that is the price of an option value never posing as a subcommand
1412
+ * (`vercel --cwd ls deploy` deploys from the directory `ls`).
1413
+ *
1402
1414
  * `provider` (decision 007) selects where the binary comes from:
1403
1415
  *
1404
1416
  * - `"vendored"` (the default when omitted) — a binary from `@kay/vendored-cli`'s
@@ -1961,7 +1973,7 @@ export declare const KAY_APP_DATA_SNAPSHOT_MAX_BYTES: number;
1961
1973
  export declare const KAY_EVENT_PUBLISHER_ID: "kay";
1962
1974
 
1963
1975
  /** Released SDK contracts still implemented by the host, alongside its current SDK. */
1964
- 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"];
1976
+ 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"];
1965
1977
 
1966
1978
  export declare const KAY_PLUGIN_PROTOCOL_PACKAGE_NAME: "@kay/plugin-protocol";
1967
1979
 
@@ -2151,8 +2163,15 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
2151
2163
  * older host refuses the whole manifest at parse (`manifest-schema-invalid`), before any range
2152
2164
  * check runs. A plugin that declares it still declares `^0.12.3`, so the install-time version
2153
2165
  * checks name the mismatch instead of a schema error.
2166
+ *
2167
+ * 0.12.4 adds `app.repos` (`KayAppRepos`): `resolve(folder)` answers which git checkout encloses a
2168
+ * folder (repo root, primary checkout, common dir, remotes, origin), and `linkedWorktrees(commonDir)`
2169
+ * lists git's linked-worktree registry, both read by the host asynchronously under a time limit and
2170
+ * answering `unknown` rather than throwing. Always present and ungated, like `app.paths`. Additive:
2171
+ * a plugin compiled against 0.12.3 never reads it. A plugin that calls it declares `^0.12.4`, so an
2172
+ * older host refuses a directory or repository plugin at load instead of the call failing.
2154
2173
  */
2155
- export declare const KAY_PLUGIN_SDK_VERSION: "0.12.3";
2174
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.12.4";
2156
2175
 
2157
2176
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
2158
2177
 
package/dist/index.js CHANGED
@@ -115,7 +115,7 @@ import { z as z2 } from "zod";
115
115
  import { z } from "zod";
116
116
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
117
117
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@kay/plugin-protocol";
118
- var KAY_PLUGIN_SDK_VERSION = "0.12.3";
118
+ var KAY_PLUGIN_SDK_VERSION = "0.12.4";
119
119
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
120
120
  "0.8.0",
121
121
  "0.8.1",
@@ -130,7 +130,8 @@ var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
130
130
  "0.11.1",
131
131
  "0.12.0",
132
132
  "0.12.1",
133
- "0.12.2"
133
+ "0.12.2",
134
+ "0.12.3"
134
135
  ];
135
136
  var KAY_PLUGIN_TARGET_NAMES = [
136
137
  "kay.agent",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
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",