@intentic/extension-api 1.330.0 → 1.332.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
@@ -45,6 +45,13 @@ flowchart LR
45
45
  `src/surface.json`, which records the api's members, from 2.20.0 a digest of the whole generated manifest
46
46
  schema, since a host's parse drops a field it does not know at any depth, from 2.21.0 `ToolDefinition`'s fields, and
47
47
  from 2.22.0 `api.sideViews`' members and `SideViewRegistration`'s fields.
48
+ - A cached read is keyed through the api, never spelled: `api.sandbox.readKey(procedure, input)` for one contract
49
+ read, which is the host's own key for it, so a view shares the shell's entry and every push the daemon makes for that
50
+ procedure; `api.sandbox.key(...names)` for anything else (a `json` route, a composite). The entry holds the
51
+ procedure's whole answer, so a reader that wants part of it reshapes with `select` (2026-10-12: two packs had each
52
+ keyed `personas`, one storing the answer and one a bare list, and whichever filled the entry broke the other). The
53
+ editor's `queryKeys.guard.test.ts` reads the in-repo packs for a contract read under a hand-picked name. A paged
54
+ (infinite) read is the exception: its entry holds pages, not the answer, so it keeps a name of its own.
48
55
  - Helpers every extension needs live here too: sandbox-scoped module state (`sandboxRef`, cleared on every sandbox
49
56
  switch), background polling for rail badges, `sandboxLedger` (whose writes reject rather than overwrite a file they
50
57
  could not read), `sandboxDocument` (a file of the extension's own read through the `conversions` its shape has had,
package/dist/api.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { sandboxContract } from "@intentic/sandbox-contract";
2
+ import type { InferClientInputs } from "@orpc/client";
2
3
  import type { ContractRouterClient } from "@orpc/contract";
3
4
  import type { Component } from "vue";
4
5
  import type { DiffPayload } from "./diff.js";
@@ -41,6 +42,12 @@ export interface ViewAsk {
41
42
  readonly open: string;
42
43
  readonly actions?: readonly ViewAskAction[] | undefined;
43
44
  }
45
+ type SandboxRpc = ContractRouterClient<typeof sandboxContract>;
46
+ export type SandboxProcedure = {
47
+ [G in keyof SandboxRpc & string]: `${G}.${keyof SandboxRpc[G] & string}`;
48
+ }[keyof SandboxRpc & string];
49
+ type ProcedureNamed<P extends SandboxProcedure> = P extends `${infer G extends keyof SandboxRpc}.${infer N}` ? N extends keyof SandboxRpc[G] ? SandboxRpc[G][N] : never : never;
50
+ export type SandboxProcedureInput<P extends SandboxProcedure> = InferClientInputs<ProcedureNamed<P>>;
44
51
  export interface HostQuery<T = unknown> {
45
52
  readonly queryKey: readonly unknown[];
46
53
  readonly queryFn: () => Promise<T>;
@@ -146,6 +153,7 @@ export interface IntenticApi {
146
153
  fetch<T>(query: HostQuery<T>): Promise<T>;
147
154
  reachable(): boolean;
148
155
  key(...parts: readonly string[]): readonly unknown[];
156
+ readKey<P extends SandboxProcedure>(procedure: P, input?: SandboxProcedureInput<P>): readonly unknown[];
149
157
  origin(): string | undefined;
150
158
  role(): "owner" | "maintainer" | "writer" | "collaborator" | "viewer" | "guest";
151
159
  previewAddress(url: string): Promise<string>;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../src/engines.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,KAAG,OAiBjE,CAAC"}
1
+ {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../src/engines.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,KAAG,OAcjE,CAAC"}
package/dist/engines.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { compareVersions } from "@intentic/sandbox-contract";
1
2
  const parse = (value) => {
2
3
  const match = /^(\d+)(?:\.(\d+))?(?:\.(\d+))?$/.exec(value.trim());
3
4
  if (match === null) {
@@ -8,19 +9,15 @@ const parse = (value) => {
8
9
  export const satisfiesEngines = (range, version) => {
9
10
  const host = parse(version);
10
11
  const caret = range.trim().startsWith(`^`);
11
- const floor = parse(caret ? range.trim().slice(1) : range);
12
+ const bound = caret ? range.trim().slice(1) : range;
13
+ const floor = parse(bound);
12
14
  if (host === undefined || floor === undefined) {
13
15
  return false;
14
16
  }
17
+ const order = compareVersions(version.trim(), bound.trim());
15
18
  if (!caret) {
16
- return host[0] === floor[0] && host[1] === floor[1] && host[2] === floor[2];
19
+ return order === 0;
17
20
  }
18
- if (host[0] !== floor[0] || (floor[0] === 0 && host[1] !== floor[1])) {
19
- return false;
20
- }
21
- if (host[1] !== floor[1]) {
22
- return host[1] > floor[1];
23
- }
24
- return host[2] >= floor[2];
21
+ return host[0] === floor[0] && (floor[0] !== 0 || host[1] === floor[1]) && order >= 0;
25
22
  };
26
23
  //# sourceMappingURL=engines.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engines.js","sourceRoot":"","sources":["../src/engines.ts"],"names":[],"mappings":"AAKA,MAAM,KAAK,GAAG,CAAC,KAAa,EAAwC,EAAE;IAClE,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,OAAe,EAAW,EAAE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"engines.js","sourceRoot":"","sources":["../src/engines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAS7D,MAAM,KAAK,GAAG,CAAC,KAAa,EAAwC,EAAE;IAClE,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,OAAe,EAAW,EAAE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1F,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { createRequire } from "node:module";
3
3
  import { isAbsolute, relative, resolve } from "node:path";
4
- import { createBackoff, sleep } from "@intentic/base/async";
4
+ import { createBackoff, sleep, within } from "@intentic/base/async";
5
5
  import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
6
+ import { FetchJsonError, fetchJson } from "@intentic/base/fetch-json";
6
7
  import { queueOnFile, writeFileAtomic } from "@intentic/base/fs";
7
8
  import { sandboxRouteAllowed } from "@intentic/extension-manifest/permissions";
8
9
  import { readDocument } from "@intentic/sandbox-contract/documents";
@@ -52,15 +53,29 @@ export const createDaemonApi = (options) => {
52
53
  },
53
54
  request: (path, init) => send(`${options.url}${path}`, { ...init, headers: granted(init) }),
54
55
  json: async (path, init) => {
56
+ const method = init?.method ?? "GET";
55
57
  const headers = granted(init);
56
- if (init?.body !== undefined && !headers.has("content-type")) {
58
+ const body = init?.body ?? undefined;
59
+ if (body !== undefined && !headers.has("content-type")) {
57
60
  headers.set("content-type", "application/json");
58
61
  }
59
- const response = await send(`${options.url}${path}`, { ...init, headers });
60
- if (!response.ok) {
61
- throw new Error(`daemon answered ${response.status} for ${init?.method ?? "GET"} ${path}: ${await response.text()}`);
62
+ const request = {
63
+ method,
64
+ headers,
65
+ signal: init?.signal ?? undefined,
66
+ label: `daemon ${method} ${path}`,
67
+ fetch: send,
68
+ };
69
+ try {
70
+ const answer = await fetchJson(`${options.url}${path}`, body === undefined ? request : { ...request, body });
71
+ return answer;
72
+ }
73
+ catch (error) {
74
+ if (error instanceof FetchJsonError && error.kind === "status") {
75
+ throw new Error(`daemon answered ${error.status} for ${method} ${path}: ${error.body ?? ""}`, { cause: error });
76
+ }
77
+ throw error;
62
78
  }
63
- return (await response.json());
64
79
  },
65
80
  };
66
81
  };
@@ -279,19 +294,6 @@ export const activateServerModule = async (imported, api, context) => {
279
294
  };
280
295
  export const DEACTIVATE_DEADLINE_MS = 2_500;
281
296
  export const HEALTH_DEADLINE_MS = 2_000;
282
- const within = async (work, ms, late) => {
283
- let timer;
284
- const lateness = new Promise((settle) => {
285
- timer = setTimeout(() => settle(late), ms);
286
- timer.unref();
287
- });
288
- try {
289
- return await Promise.race([Promise.resolve().then(work), lateness]);
290
- }
291
- finally {
292
- clearTimeout(timer);
293
- }
294
- };
295
297
  export const deactivateWithin = async (activation, log) => {
296
298
  const deactivate = activation.deactivate;
297
299
  if (deactivate === undefined) {
@@ -301,7 +303,7 @@ export const deactivateWithin = async (activation, log) => {
301
303
  const outcome = await within(async () => {
302
304
  await deactivate();
303
305
  return "done";
304
- }, DEACTIVATE_DEADLINE_MS, "late");
306
+ }, DEACTIVATE_DEADLINE_MS, "late", { unref: true });
305
307
  if (outcome === "late") {
306
308
  log(`deactivate did not finish within ${DEACTIVATE_DEADLINE_MS} ms; its code is replaced anyway`);
307
309
  }
@@ -317,7 +319,7 @@ export const healthWithin = async (activation) => {
317
319
  }
318
320
  const late = { state: "degraded", detail: `its health check did not answer within ${HEALTH_DEADLINE_MS} ms` };
319
321
  try {
320
- const answer = await within(health, HEALTH_DEADLINE_MS, late);
322
+ const answer = await within(health, HEALTH_DEADLINE_MS, late, { unref: true });
321
323
  const parsed = ExtensionHealthSchema.safeParse(answer);
322
324
  if (!parsed.success) {
323
325
  return { state: "degraded", detail: "its health check answered something other than ok, starting, degraded or failed" };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAOA,wBAAuB,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmBjH"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAOA,wBAAuB,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAajH"}
package/dist/stream.js CHANGED
@@ -1,17 +1,12 @@
1
- import { sseData, sseFrames } from "@intentic/sandbox-contract";
1
+ import { sseEvents, sseJson } from "@intentic/sandbox-contract";
2
2
  export async function* readDaemonStream(body) {
3
- for await (const frame of sseFrames(body)) {
4
- const parsed = sseData(frame);
3
+ for await (const event of sseEvents(body)) {
4
+ const parsed = sseJson(event);
5
5
  if (typeof parsed !== "object" || parsed === null) {
6
6
  continue;
7
7
  }
8
8
  const record = parsed;
9
- const isError = frame
10
- .split("\n")
11
- .find((line) => line.startsWith("event:"))
12
- ?.slice(6)
13
- .trim() === "error";
14
- if (isError) {
9
+ if (event.event === "error") {
15
10
  yield { kind: "error", message: typeof record["message"] === "string" ? record["message"] : "Provisioning failed." };
16
11
  continue;
17
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAOhE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAAC,IAAgC;IACpE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAChD,SAAS;QACb,CAAC;QACD,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,MAAM,OAAO,GACT,KAAK;aACA,KAAK,CAAC,IAAI,CAAC;aACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,EAAE,KAAK,CAAC,CAAC,CAAC;aACT,IAAI,EAAE,KAAK,OAAO,CAAC;QAC5B,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACrH,SAAS;QACb,CAAC;QACD,MAAM,MAAM,CAAC;IACjB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAOhE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAAC,IAAgC;IACpE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAChD,SAAS;QACb,CAAC;QACD,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACrH,SAAS;QACb,CAAC;QACD,MAAM,MAAM,CAAC;IACjB,CAAC;AACL,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const extensionApiVersion = "2.26.0";
1
+ export declare const extensionApiVersion = "2.27.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAwKA,eAAO,MAAM,mBAAmB,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAgLA,eAAO,MAAM,mBAAmB,WAAW,CAAC"}
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const extensionApiVersion = "2.26.0";
1
+ export const extensionApiVersion = "2.27.0";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAwKA,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAgLA,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/extension-api",
3
- "version": "1.330.0",
3
+ "version": "1.332.0",
4
4
  "description": "The versioned public API intentic extensions compile against, manifest schema, detection facts and the host API",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -64,9 +64,9 @@
64
64
  }
65
65
  },
66
66
  "dependencies": {
67
- "@intentic/base": "1.330.0",
68
- "@intentic/extension-manifest": "1.330.0",
69
- "@intentic/sandbox-contract": "1.330.0",
67
+ "@intentic/base": "1.332.0",
68
+ "@intentic/extension-manifest": "1.332.0",
69
+ "@intentic/sandbox-contract": "1.332.0",
70
70
  "@orpc/client": "1.15.4",
71
71
  "@orpc/contract": "1.15.4",
72
72
  "@orpc/openapi-client": "1.15.4",
@@ -92,7 +92,7 @@
92
92
  "scripts": {
93
93
  "build": "tsgo",
94
94
  "watch": "tsgo --build --watch",
95
- "typecheck": "tsgo --noEmit -p tsconfig.test.json",
95
+ "typecheck": "bun check -p tsconfig.test.json",
96
96
  "test": "suites"
97
97
  }
98
98
  }
package/src/api.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { sandboxContract } from "@intentic/sandbox-contract";
2
+ import type { InferClientInputs } from "@orpc/client";
2
3
  import type { ContractRouterClient } from "@orpc/contract";
3
4
  import type { Component } from "vue";
4
5
  import type { DiffPayload } from "./diff.js";
@@ -58,9 +59,13 @@ export interface ViewAskAction {
58
59
  readonly run: () => Promise<void>;
59
60
  }
60
61
 
61
- // Something a person owes this view a decision on, drawn in the host's Needs you inbox beside what agents are waiting
62
- // on, so one place answers "what is waiting on me" whichever extension holds it. The view stays where the thing is
63
- // handled in depth (edited, scheduled, looked back on); the ask is only the decision.
62
+ // Something a person owes this view a decision on, drawn until 2026-10-12 in the host's Needs you inbox beside what
63
+ // agents were waiting on. The view stays where the thing is handled in depth (edited, scheduled, looked back on); the
64
+ // ask was only the decision.
65
+ /**
66
+ * @deprecated The host draws no asks since 2026-10-12, when its Needs you inbox left the editor: a view's badge on its
67
+ * own tile is what says a person owes it something. Kept so a 2.x extension that declares asks still type-checks.
68
+ */
64
69
  export interface ViewAsk {
65
70
  // Stable for as long as the ask stands; the inbox keeps its selection by it.
66
71
  readonly id: string;
@@ -89,10 +94,22 @@ export interface ViewAsk {
89
94
  readonly actions?: readonly ViewAskAction[] | undefined;
90
95
  }
91
96
 
97
+ // The daemon's contract as `api.sandbox.rpc` types it, and one of its procedures by route name (`personas.list`), the
98
+ // name the host files that read's cache entry under and the daemon's pushes refresh it by.
99
+ type SandboxRpc = ContractRouterClient<typeof sandboxContract>;
100
+ export type SandboxProcedure = { [G in keyof SandboxRpc & string]: `${G}.${keyof SandboxRpc[G] & string}` }[keyof SandboxRpc & string];
101
+ type ProcedureNamed<P extends SandboxProcedure> = P extends `${infer G extends keyof SandboxRpc}.${infer N}`
102
+ ? N extends keyof SandboxRpc[G]
103
+ ? SandboxRpc[G][N]
104
+ : never
105
+ : never;
106
+ export type SandboxProcedureInput<P extends SandboxProcedure> = InferClientInputs<ProcedureNamed<P>>;
107
+
92
108
  // One cached read, shared by `ViewRegistration.warm` and `api.sandbox.fetch`. `staleTime`/`gcTime` are
93
109
  // optional; both default to the host's.
94
110
  export interface HostQuery<T = unknown> {
95
- // Must be scoped by api.sandbox.key(...), so nothing bleeds across a sandbox switch.
111
+ // Must be scoped by api.sandbox.readKey(...) for a contract read, else api.sandbox.key(...), so nothing bleeds across
112
+ // a sandbox switch.
96
113
  readonly queryKey: readonly unknown[];
97
114
  readonly queryFn: () => Promise<T>;
98
115
  readonly staleTime?: number | undefined;
@@ -115,9 +132,10 @@ export interface ViewRegistration {
115
132
  // Read inside the host's computed, so a ref read here re-renders the tile; called on every render, so
116
133
  // keep it cheap, pure and non-writing. Requires `badge: true` on the manifest entry.
117
134
  readonly badge?: ((activation: Activation) => ViewBadge | undefined) | undefined;
118
- // What a person owes this view, itemised for the host's Needs you inbox (see ViewAsk). Read inside the host's
119
- // computed like `badge`, so cheap, pure and non-writing, off module state that stays current while the view is
120
- // closed (`sandboxPoll`). Requires `badge: true` on the manifest entry: the asks are the badge's count, spelled out.
135
+ /**
136
+ * @deprecated Ignored: the host draws no asks since its Needs you inbox left the editor (2026-10-12). Say what a
137
+ * person owes the view with `badge`; the field stays so a 2.x extension that sets it still type-checks.
138
+ */
121
139
  readonly asks?: (() => readonly ViewAsk[]) | undefined;
122
140
  // Declare the query (not a fetcher) the loader should read ahead of need; use the same key your view's
123
141
  // `useQuery` reads. A wish, never a guarantee; called every loader beat, so keep it cheap and pure.
@@ -290,8 +308,14 @@ export interface IntenticApi {
290
308
  fetch<T>(query: HostQuery<T>): Promise<T>;
291
309
  // Whether the active sandbox is reachable; reactive when read inside a computed.
292
310
  reachable(): boolean;
293
- // A cache key scoped to the active sandbox; required prefix for every host-provided vue-query key.
311
+ // A cache key scoped to the active sandbox, for what is not one contract read (a `json` route, a composite);
312
+ // required prefix for every host-provided vue-query key.
294
313
  key(...parts: readonly string[]): readonly unknown[];
314
+ // The cache key of one contract read, exactly the host's own for it, so a view and the shell reading
315
+ // `personas.list` share one entry and every push the daemon makes for that read refreshes it. The entry holds
316
+ // the procedure's whole answer: return `rpc.<group>.<name>(input)` unchanged from `queryFn` and reshape with
317
+ // `select`, or two readers of one key would store two shapes under it.
318
+ readKey<P extends SandboxProcedure>(procedure: P, input?: SandboxProcedureInput<P>): readonly unknown[];
295
319
  // The daemon's public tunnel origin, for externally-shareable URLs; undefined until the sandbox is registered.
296
320
  origin(): string | undefined;
297
321
  // The signed-in user's trust tier, reactive like `reachable`. For affordances only: every route is
package/src/engines.ts CHANGED
@@ -1,8 +1,12 @@
1
+ import { compareVersions } from "@intentic/sandbox-contract";
2
+
1
3
  // Minimal matcher for a manifest's `engines.intentic` range against the host's extension API version: an exact
2
4
  // version ("0.1.0") or a caret range ("^0.1", "^1", "^1.2.3"). Caret follows semver, same major at or above
3
5
  // the floor, and while the major is 0 the minor is breaking too. Anything unparseable fails closed: the loader
4
6
  // reports the extension incompatible rather than activating on a guess.
5
7
 
8
+ // Stricter than the contract's version reader on purpose: no `v`, no prerelease, at most three parts, since an engines
9
+ // range that reads loosely is one an extension activates on by accident. The ordering itself is the contract's.
6
10
  const parse = (value: string): [number, number, number] | undefined => {
7
11
  const match = /^(\d+)(?:\.(\d+))?(?:\.(\d+))?$/.exec(value.trim());
8
12
  if (match === null) {
@@ -14,18 +18,15 @@ const parse = (value: string): [number, number, number] | undefined => {
14
18
  export const satisfiesEngines = (range: string, version: string): boolean => {
15
19
  const host = parse(version);
16
20
  const caret = range.trim().startsWith(`^`);
17
- const floor = parse(caret ? range.trim().slice(1) : range);
21
+ const bound = caret ? range.trim().slice(1) : range;
22
+ const floor = parse(bound);
18
23
  if (host === undefined || floor === undefined) {
19
24
  return false;
20
25
  }
26
+ const order = compareVersions(version.trim(), bound.trim());
21
27
  if (!caret) {
22
- return host[0] === floor[0] && host[1] === floor[1] && host[2] === floor[2];
23
- }
24
- if (host[0] !== floor[0] || (floor[0] === 0 && host[1] !== floor[1])) {
25
- return false;
26
- }
27
- if (host[1] !== floor[1]) {
28
- return host[1] > floor[1];
28
+ return order === 0;
29
29
  }
30
- return host[2] >= floor[2];
30
+ // Inside the caret's compatible span: the same major, and while the major is 0 the same minor too.
31
+ return host[0] === floor[0] && (floor[0] !== 0 || host[1] === floor[1]) && order >= 0;
31
32
  };
@@ -33,6 +33,22 @@ test("a call the manifest declares reaches the daemon, and one it does not is re
33
33
  ]);
34
34
  });
35
35
 
36
+ test("a JSON call sends a caller's body as JSON, and a refusal quotes one bounded line of the daemon's words", async () => {
37
+ const sent: (string | null)[] = [];
38
+ const extension = await fake({
39
+ manifest: { ...manifest, permissions: { daemon: ["GET /ports", "POST /ports"] } },
40
+ daemon: (request) => {
41
+ sent.push(request.headers.get("content-type"));
42
+ return request.method === "POST" ? Response.json({ ok: true }) : new Response(`nope ${"x".repeat(2000)}`, { status: 500 });
43
+ },
44
+ });
45
+ expect(await extension.api.daemon.json<{ ok: boolean }>("/ports", { method: "POST", body: JSON.stringify({ port: 1 }) })).toEqual({ ok: true });
46
+ expect(sent).toEqual(["application/json"]);
47
+ const failure = await extension.api.daemon.json("/ports").catch((error: unknown) => error);
48
+ expect(String(failure)).toMatch(/^Error: daemon answered 500 for GET \/ports: nope x+…$/);
49
+ expect(String(failure).length).toBeLessThan(400);
50
+ });
51
+
36
52
  test("a typed call outside permissions.daemon is refused before anything is sent", async () => {
37
53
  const extension = await fake({ manifest });
38
54
  await expect(extension.api.daemon.rpc.extensions.settings({ id: "acme.probe" })).rejects.toThrow(/declare it in permissions\.daemon/);
package/src/runtime.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { createRequire } from "node:module";
3
3
  import { isAbsolute, relative, resolve } from "node:path";
4
- import { createBackoff, sleep } from "@intentic/base/async";
4
+ import { createBackoff, sleep, within } from "@intentic/base/async";
5
5
  import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
6
+ import { FetchJsonError, fetchJson } from "@intentic/base/fetch-json";
6
7
  import { queueOnFile, writeFileAtomic } from "@intentic/base/fs";
7
8
  import { sandboxRouteAllowed } from "@intentic/extension-manifest/permissions";
8
9
  import type * as SandboxContract from "@intentic/sandbox-contract";
@@ -149,17 +150,35 @@ export const createDaemonApi = (options: DaemonApiOptions): DaemonApi => {
149
150
  return client;
150
151
  },
151
152
  request: (path, init) => send(`${options.url}${path}`, { ...init, headers: granted(init) }),
153
+ // Over base's transport, through the same `send`: a 30 s deadline (with the caller's signal), and a refusal's
154
+ // body cut to one line in the message instead of quoted whole.
152
155
  json: async <T>(path: string, init?: RequestInit): Promise<T> => {
156
+ const method = init?.method ?? "GET";
153
157
  const headers = granted(init);
154
- if (init?.body !== undefined && !headers.has("content-type")) {
158
+ // The caller serialized the body itself; it is JSON unless it said otherwise.
159
+ const body = init?.body ?? undefined;
160
+ if (body !== undefined && !headers.has("content-type")) {
155
161
  headers.set("content-type", "application/json");
156
162
  }
157
- const response = await send(`${options.url}${path}`, { ...init, headers });
158
- if (!response.ok) {
159
- throw new Error(`daemon answered ${response.status} for ${init?.method ?? "GET"} ${path}: ${await response.text()}`);
163
+ const request = {
164
+ method,
165
+ headers,
166
+ signal: init?.signal ?? undefined,
167
+ label: `daemon ${method} ${path}`,
168
+ // SAFETY: `send` is a fetch in all but bun-types' `preconnect`, which the transport never calls.
169
+ fetch: send as typeof fetch,
170
+ };
171
+ try {
172
+ const answer = await fetchJson(`${options.url}${path}`, body === undefined ? request : { ...request, body });
173
+ // SAFETY: the caller names the shape the route answers; `api.daemon.rpc` is the door that checks it.
174
+ return answer as T;
175
+ } catch (error) {
176
+ // A refusal keeps the sentence extensions already match on: the status, the call, the daemon's words.
177
+ if (error instanceof FetchJsonError && error.kind === "status") {
178
+ throw new Error(`daemon answered ${error.status} for ${method} ${path}: ${error.body ?? ""}`, { cause: error });
179
+ }
180
+ throw error;
160
181
  }
161
- // SAFETY: the caller names the shape the route answers; `api.daemon.rpc` is the door that checks it.
162
- return (await response.json()) as T;
163
182
  },
164
183
  };
165
184
  };
@@ -444,20 +463,6 @@ export const activateServerModule = async (imported: ServerBundleExports, api: E
444
463
  export const DEACTIVATE_DEADLINE_MS = 2_500;
445
464
  export const HEALTH_DEADLINE_MS = 2_000;
446
465
 
447
- // `work`'s answer, or `late` once `ms` passes, whichever comes first; the timer never holds the process open.
448
- const within = async <T, L>(work: () => T | Promise<T>, ms: number, late: L): Promise<T | L> => {
449
- let timer: NodeJS.Timeout | undefined;
450
- const lateness = new Promise<L>((settle) => {
451
- timer = setTimeout(() => settle(late), ms);
452
- timer.unref();
453
- });
454
- try {
455
- return await Promise.race([Promise.resolve().then(work), lateness]);
456
- } finally {
457
- clearTimeout(timer);
458
- }
459
- };
460
-
461
466
  // Runs an activation's `deactivate` under the deadline. A throw or a timeout is said, never raised: the code is being
462
467
  // replaced either way, and the caller's next step must not wait on it.
463
468
  export const deactivateWithin = async (activation: ServerActivation, log: (message: string) => void): Promise<void> => {
@@ -469,7 +474,7 @@ export const deactivateWithin = async (activation: ServerActivation, log: (messa
469
474
  const outcome = await within(async () => {
470
475
  await deactivate();
471
476
  return "done" as const;
472
- }, DEACTIVATE_DEADLINE_MS, "late" as const);
477
+ }, DEACTIVATE_DEADLINE_MS, "late" as const, { unref: true });
473
478
  if (outcome === "late") {
474
479
  log(`deactivate did not finish within ${DEACTIVATE_DEADLINE_MS} ms; its code is replaced anyway`);
475
480
  }
@@ -487,7 +492,7 @@ export const healthWithin = async (activation: ServerActivation): Promise<Extens
487
492
  }
488
493
  const late: ExtensionHealth = { state: "degraded", detail: `its health check did not answer within ${HEALTH_DEADLINE_MS} ms` };
489
494
  try {
490
- const answer = await within(health, HEALTH_DEADLINE_MS, late);
495
+ const answer = await within(health, HEALTH_DEADLINE_MS, late, { unref: true });
491
496
  const parsed = ExtensionHealthSchema.safeParse(answer);
492
497
  if (!parsed.success) {
493
498
  return { state: "degraded", detail: "its health check answered something other than ok, starting, degraded or failed" };
@@ -0,0 +1,25 @@
1
+ import { readDaemonStream } from "./stream.js";
2
+
3
+ const bodyOf = (text: string): ReadableStream<Uint8Array> => new Response(text).body!;
4
+
5
+ const records = async (text: string): Promise<Record<string, unknown>[]> => {
6
+ const seen: Record<string, unknown>[] = [];
7
+ for await (const record of readDaemonStream(bodyOf(text))) {
8
+ seen.push(record);
9
+ }
10
+ return seen;
11
+ };
12
+
13
+ it("yields each data frame's record, skipping keep-alives and malformed frames", async () => {
14
+ expect(await records(`: ping\n\ndata: {"kind":"step","n":1}\r\n\r\ndata: {broken\n\ndata: {"kind":\ndata: "done"}\n\n`)).toEqual([
15
+ { kind: `step`, n: 1 },
16
+ { kind: `done` },
17
+ ]);
18
+ });
19
+
20
+ it("turns an error event into an error record, its message kept or a default given", async () => {
21
+ expect(await records(`event: error\ndata: {"message":"No room left."}\n\nevent: error\ndata: {}\n\n`)).toEqual([
22
+ { kind: `error`, message: `No room left.` },
23
+ { kind: `error`, message: `Provisioning failed.` },
24
+ ]);
25
+ });
package/src/stream.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { sseData, sseFrames } from "@intentic/sandbox-contract";
1
+ import { sseEvents, sseJson } from "@intentic/sandbox-contract";
2
2
 
3
3
  // Reads a daemon SSE/ndjson stream: reframes blank-line-separated `data: <JSON>` frames and parses each, through the
4
4
  // contract's one SSE reader, which ends a stream silent past its heartbeat window rather than hanging on it.
@@ -6,19 +6,13 @@ import { sseData, sseFrames } from "@intentic/sandbox-contract";
6
6
  // Reads a daemon stream as parsed ndjson records. An `event: error` frame becomes a `{ kind: "error", message }`
7
7
  // record; malformed frames are skipped.
8
8
  export async function* readDaemonStream(body: ReadableStream<Uint8Array>): AsyncGenerator<Record<string, unknown>> {
9
- for await (const frame of sseFrames(body)) {
10
- const parsed = sseData(frame);
9
+ for await (const event of sseEvents(body)) {
10
+ const parsed = sseJson(event);
11
11
  if (typeof parsed !== "object" || parsed === null) {
12
12
  continue;
13
13
  }
14
14
  const record = parsed as Record<string, unknown>;
15
- const isError =
16
- frame
17
- .split("\n")
18
- .find((line) => line.startsWith("event:"))
19
- ?.slice(6)
20
- .trim() === "error";
21
- if (isError) {
15
+ if (event.event === "error") {
22
16
  yield { kind: "error", message: typeof record["message"] === "string" ? record["message"] : "Provisioning failed." };
23
17
  continue;
24
18
  }
package/src/surface.json CHANGED
@@ -2758,5 +2758,176 @@
2758
2758
  "onDidChangeRefs",
2759
2759
  "onDidChangeRepos"
2760
2760
  ]
2761
+ },
2762
+ "2.27.0": {
2763
+ "manifest": [
2764
+ "$schema",
2765
+ "art",
2766
+ "category",
2767
+ "contributes",
2768
+ "engines",
2769
+ "entry",
2770
+ "icon",
2771
+ "logo",
2772
+ "name",
2773
+ "permissions",
2774
+ "publisher",
2775
+ "server",
2776
+ "version"
2777
+ ],
2778
+ "contributes": [
2779
+ "agent",
2780
+ "automationTemplates",
2781
+ "bin",
2782
+ "capabilities",
2783
+ "commands",
2784
+ "documents",
2785
+ "environment",
2786
+ "files",
2787
+ "listener",
2788
+ "processes",
2789
+ "settings",
2790
+ "sideViews",
2791
+ "tools",
2792
+ "viewers",
2793
+ "views"
2794
+ ],
2795
+ "api": [
2796
+ "apiVersion",
2797
+ "audience",
2798
+ "backend",
2799
+ "chat",
2800
+ "commands",
2801
+ "documents",
2802
+ "href",
2803
+ "models",
2804
+ "navigate",
2805
+ "processes",
2806
+ "route",
2807
+ "sandbox",
2808
+ "settings",
2809
+ "sideViews",
2810
+ "terminal",
2811
+ "theme",
2812
+ "viewers",
2813
+ "views",
2814
+ "workspace"
2815
+ ],
2816
+ "listener": [
2817
+ "automation",
2818
+ "events",
2819
+ "provider"
2820
+ ],
2821
+ "sandboxApi": [
2822
+ "fetch",
2823
+ "json",
2824
+ "key",
2825
+ "origin",
2826
+ "previewAddress",
2827
+ "reachable",
2828
+ "readKey",
2829
+ "request",
2830
+ "role",
2831
+ "rpc"
2832
+ ],
2833
+ "workspaceApi": [
2834
+ "capabilities",
2835
+ "file",
2836
+ "fillDiff",
2837
+ "inProject",
2838
+ "onDidChange",
2839
+ "onDidChangeFiles",
2840
+ "onDidChangeProject",
2841
+ "onDidChangeRefs",
2842
+ "onDidChangeRepos",
2843
+ "openDiff",
2844
+ "project",
2845
+ "readJson",
2846
+ "repos",
2847
+ "setProject",
2848
+ "write"
2849
+ ],
2850
+ "chatApi": [
2851
+ "composeLoop",
2852
+ "composeWorkflow",
2853
+ "openAgent",
2854
+ "openSession"
2855
+ ],
2856
+ "daemonApi": [
2857
+ "json",
2858
+ "request",
2859
+ "rpc"
2860
+ ],
2861
+ "serverApi": [
2862
+ "apiVersion",
2863
+ "cacheDir",
2864
+ "daemon",
2865
+ "document",
2866
+ "extensionDir",
2867
+ "log",
2868
+ "routes",
2869
+ "settings",
2870
+ "stateDir",
2871
+ "tools",
2872
+ "workspace",
2873
+ "workspaceRoot"
2874
+ ],
2875
+ "toolDefinition": [
2876
+ "call",
2877
+ "description",
2878
+ "effect",
2879
+ "inputSchema",
2880
+ "name"
2881
+ ],
2882
+ "sideViewsApi": [
2883
+ "open",
2884
+ "register"
2885
+ ],
2886
+ "sideViewRegistration": [
2887
+ "claim",
2888
+ "describe",
2889
+ "home",
2890
+ "id",
2891
+ "view"
2892
+ ],
2893
+ "viewRegistration": [
2894
+ "asks",
2895
+ "auxiliary",
2896
+ "badge",
2897
+ "detect",
2898
+ "fallback",
2899
+ "id",
2900
+ "label",
2901
+ "surface",
2902
+ "view",
2903
+ "warm"
2904
+ ],
2905
+ "manifestSchema": "752538b92724e78fe88bc4749fee773aa2c1a480053c42ea2643226a32b2181a",
2906
+ "moduleExports": [
2907
+ "conversions",
2908
+ "extensionApiVersion",
2909
+ "flattenQuery",
2910
+ "hostSlot",
2911
+ "mergeQuery",
2912
+ "readDaemonStream",
2913
+ "resetSandboxScope",
2914
+ "sandboxDocument",
2915
+ "sandboxLedger",
2916
+ "sandboxPoll",
2917
+ "sandboxRef",
2918
+ "sandboxScopeGuard",
2919
+ "sandboxShallowRef",
2920
+ "sandboxValue",
2921
+ "satisfiesEngines"
2922
+ ],
2923
+ "serverSettingsApi": [
2924
+ "get",
2925
+ "onDidChange"
2926
+ ],
2927
+ "serverWorkspaceApi": [
2928
+ "onDidChangeFiles",
2929
+ "onDidChangeRefs",
2930
+ "onDidChangeRepos"
2931
+ ]
2761
2932
  }
2762
2933
  }
package/src/version.ts CHANGED
@@ -143,7 +143,9 @@
143
143
  // "what is waiting on me" and sent the reader to the other; the inbox now answers it whole. Gated on the manifest's
144
144
  // `badge: true`, since the asks are the badge's count spelled out. Additive: a view that declares none is unchanged,
145
145
  // and an older host ignores the field. The recorded surface grows a grain for it, ViewRegistration's own fields
146
- // (`viewRegistration`).
146
+ // (`viewRegistration`). Since 2026-10-12 every host ignores it: the inbox left the editor, since the rail already badged
147
+ // each place a wait is answered. The field stays, deprecated, until a major can drop it; no version moved, since no
148
+ // surface did.
147
149
  // 2.24.0 adds the `phone` capability kind: a phone family the user connects their own phone of, through an app installed
148
150
  // on it (`install`, where that app comes from), with a SKILL.md teaching the agent to work on that phone, the way a
149
151
  // `webext` card stands for a browser family. Additive, but a manifest declaring one needs this version: an older host
@@ -166,4 +168,10 @@
166
168
  // and `./testing` holds `fakeExtensionApi`, the backend api on a fake daemon that refuses what the daemon would. Additive:
167
169
  // a bundle that returns nothing from activation and never reads the new members is unchanged. The recorded surface grows
168
170
  // two grains, the backend api's `settings` and `workspace` members, where those blocks arrived and will grow.
169
- export const extensionApiVersion = "2.26.0";
171
+ // 2.27.0 adds `api.sandbox.readKey(procedure, input?)`: a contract read's cache key, exactly the one the host files its
172
+ // own read of that procedure under. `api.sandbox.key(...)` takes free names, so two views that each picked `personas`
173
+ // shared one entry while one stored the whole answer and the other a bare list, and whichever filled it broke the
174
+ // other; a read keyed by its own name was also refreshed only by the pushes that happened to use that name. A read keyed
175
+ // by its procedure shares the host's entry and every push for it. Additive: `key` is unchanged for what is not one
176
+ // contract read.
177
+ export const extensionApiVersion = "2.27.0";