@intentic/sandbox-contract 1.265.0 → 1.266.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.
Files changed (143) hide show
  1. package/dist/chores/workspace-scope.d.ts.map +1 -1
  2. package/dist/chores/workspace-scope.js.map +1 -1
  3. package/dist/contracts/agent.contract.d.ts +1 -0
  4. package/dist/contracts/agent.contract.d.ts.map +1 -1
  5. package/dist/contracts/agents.contract.d.ts +87 -0
  6. package/dist/contracts/agents.contract.d.ts.map +1 -1
  7. package/dist/contracts/automations.contract.d.ts +1 -0
  8. package/dist/contracts/automations.contract.d.ts.map +1 -1
  9. package/dist/contracts/issues.contract.d.ts.map +1 -1
  10. package/dist/contracts/issues.contract.js.map +1 -1
  11. package/dist/contracts/runner.contract.d.ts +4 -0
  12. package/dist/contracts/runner.contract.d.ts.map +1 -1
  13. package/dist/contracts/settings.contract.d.ts +4 -0
  14. package/dist/contracts/settings.contract.d.ts.map +1 -1
  15. package/dist/contracts/system.contract.d.ts +12 -0
  16. package/dist/contracts/system.contract.d.ts.map +1 -1
  17. package/dist/contracts/workspace.contract.d.ts +8 -2
  18. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  19. package/dist/contracts/workspace.contract.js +13 -4
  20. package/dist/contracts/workspace.contract.js.map +1 -1
  21. package/dist/events/agent-events.d.ts +2 -0
  22. package/dist/events/agent-events.d.ts.map +1 -1
  23. package/dist/events/cards.d.ts +2 -0
  24. package/dist/events/cards.d.ts.map +1 -1
  25. package/dist/events/cards.js +5 -0
  26. package/dist/events/cards.js.map +1 -1
  27. package/dist/events/system-events.d.ts +12 -0
  28. package/dist/events/system-events.d.ts.map +1 -1
  29. package/dist/index.d.ts +117 -6
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +4 -4
  32. package/dist/index.js.map +1 -1
  33. package/dist/models/provider-specs.d.ts.map +1 -1
  34. package/dist/models/provider-specs.js.map +1 -1
  35. package/dist/policy/batch-runs.d.ts.map +1 -1
  36. package/dist/policy/batch-runs.js.map +1 -1
  37. package/dist/policy/capability-env.d.ts.map +1 -1
  38. package/dist/policy/capability-env.js.map +1 -1
  39. package/dist/protocol/host-protocol.d.ts.map +1 -1
  40. package/dist/protocol/host-protocol.js.map +1 -1
  41. package/dist/protocol/peer-dial.d.ts.map +1 -1
  42. package/dist/protocol/peer-dial.js.map +1 -1
  43. package/dist/protocol/runner-protocol.d.ts.map +1 -1
  44. package/dist/protocol/runner-protocol.js.map +1 -1
  45. package/dist/protocol/webext-protocol.d.ts.map +1 -1
  46. package/dist/protocol/webext-protocol.js.map +1 -1
  47. package/dist/schemas/agent.d.ts +1 -0
  48. package/dist/schemas/agent.d.ts.map +1 -1
  49. package/dist/schemas/agent.js +5 -0
  50. package/dist/schemas/agent.js.map +1 -1
  51. package/dist/schemas/agents.d.ts +18 -0
  52. package/dist/schemas/agents.d.ts.map +1 -1
  53. package/dist/schemas/agents.js +9 -0
  54. package/dist/schemas/agents.js.map +1 -1
  55. package/dist/schemas/automations.d.ts +18 -0
  56. package/dist/schemas/automations.d.ts.map +1 -1
  57. package/dist/schemas/automations.js +5 -0
  58. package/dist/schemas/automations.js.map +1 -1
  59. package/dist/schemas/codebase-health.js +1 -1
  60. package/dist/schemas/codebase-health.js.map +1 -1
  61. package/dist/schemas/devices.d.ts +32 -64
  62. package/dist/schemas/devices.d.ts.map +1 -1
  63. package/dist/schemas/devices.js +3 -2
  64. package/dist/schemas/devices.js.map +1 -1
  65. package/dist/schemas/issues.d.ts.map +1 -1
  66. package/dist/schemas/issues.js.map +1 -1
  67. package/dist/schemas/plan-limits.js +1 -1
  68. package/dist/schemas/plan-limits.js.map +1 -1
  69. package/dist/schemas/settings.d.ts +7 -0
  70. package/dist/schemas/settings.d.ts.map +1 -1
  71. package/dist/schemas/settings.js +11 -1
  72. package/dist/schemas/settings.js.map +1 -1
  73. package/dist/schemas/{workspace-repos.d.ts → workspace/workspace-repos.d.ts} +3 -0
  74. package/dist/schemas/workspace/workspace-repos.d.ts.map +1 -0
  75. package/dist/schemas/{workspace-repos.js → workspace/workspace-repos.js} +4 -1
  76. package/dist/schemas/workspace/workspace-repos.js.map +1 -0
  77. package/dist/schemas/workspace/workspace-search.d.ts.map +1 -0
  78. package/dist/schemas/workspace/workspace-search.js.map +1 -0
  79. package/dist/schemas/workspace/workspace-setup.d.ts.map +1 -0
  80. package/dist/schemas/workspace/workspace-setup.js.map +1 -0
  81. package/dist/schemas/workspace/workspace-tree.d.ts.map +1 -0
  82. package/dist/schemas/{workspace-tree.js → workspace/workspace-tree.js} +1 -1
  83. package/dist/schemas/workspace/workspace-tree.js.map +1 -0
  84. package/dist/state/definition.d.ts +8 -8
  85. package/dist/state/fix-attempt-plan.d.ts.map +1 -1
  86. package/dist/state/fix-attempt-plan.js.map +1 -1
  87. package/dist/state/fix-stance.d.ts.map +1 -1
  88. package/dist/state/fix-stance.js.map +1 -1
  89. package/dist/state/workspace-state.d.ts +5 -0
  90. package/dist/state/workspace-state.d.ts.map +1 -1
  91. package/dist/state/workspace-state.js +6 -0
  92. package/dist/state/workspace-state.js.map +1 -1
  93. package/package.json +4 -4
  94. package/src/chores/digest.test.ts +1 -3
  95. package/src/chores/stack.test.ts +1 -2
  96. package/src/chores/workspace-scope.ts +1 -5
  97. package/src/contracts/issues.contract.ts +1 -8
  98. package/src/contracts/workspace.contract.ts +15 -4
  99. package/src/events/cards.ts +9 -0
  100. package/src/ids/share-paths.test.ts +2 -5
  101. package/src/index.ts +4 -4
  102. package/src/models/provider-specs.test.ts +1 -2
  103. package/src/models/provider-specs.ts +1 -2
  104. package/src/policy/batch-runs.ts +3 -32
  105. package/src/policy/capability-env.ts +1 -6
  106. package/src/policy/owner-ticket.test.ts +1 -2
  107. package/src/protocol/host-protocol.ts +1 -6
  108. package/src/protocol/peer-dial.test.ts +3 -11
  109. package/src/protocol/peer-dial.ts +9 -46
  110. package/src/protocol/peer-mcp-server.test.ts +1 -2
  111. package/src/protocol/runner-protocol.ts +1 -4
  112. package/src/protocol/webext-protocol.ts +1 -7
  113. package/src/schemas/agent.ts +12 -60
  114. package/src/schemas/agents.ts +15 -0
  115. package/src/schemas/automations.ts +13 -0
  116. package/src/schemas/codebase-health.ts +1 -1
  117. package/src/schemas/devices.ts +13 -6
  118. package/src/schemas/issues.ts +1 -2
  119. package/src/schemas/plan-limits.ts +2 -2
  120. package/src/schemas/settings.test.ts +25 -0
  121. package/src/schemas/settings.ts +18 -2
  122. package/src/schemas/{workspace-repos.ts → workspace/workspace-repos.ts} +6 -1
  123. package/src/schemas/{workspace-tree.ts → workspace/workspace-tree.ts} +1 -1
  124. package/src/state/fix-attempt-plan.ts +1 -9
  125. package/src/state/fix-stance.ts +1 -9
  126. package/src/state/versions.test.ts +1 -3
  127. package/src/state/workspace-state.ts +8 -6
  128. package/src/text/embed.test.ts +1 -5
  129. package/dist/schemas/workspace-repos.d.ts.map +0 -1
  130. package/dist/schemas/workspace-repos.js.map +0 -1
  131. package/dist/schemas/workspace-search.d.ts.map +0 -1
  132. package/dist/schemas/workspace-search.js.map +0 -1
  133. package/dist/schemas/workspace-setup.d.ts.map +0 -1
  134. package/dist/schemas/workspace-setup.js.map +0 -1
  135. package/dist/schemas/workspace-tree.d.ts.map +0 -1
  136. package/dist/schemas/workspace-tree.js.map +0 -1
  137. /package/dist/schemas/{workspace-search.d.ts → workspace/workspace-search.d.ts} +0 -0
  138. /package/dist/schemas/{workspace-search.js → workspace/workspace-search.js} +0 -0
  139. /package/dist/schemas/{workspace-setup.d.ts → workspace/workspace-setup.d.ts} +0 -0
  140. /package/dist/schemas/{workspace-setup.js → workspace/workspace-setup.js} +0 -0
  141. /package/dist/schemas/{workspace-tree.d.ts → workspace/workspace-tree.d.ts} +0 -0
  142. /package/src/schemas/{workspace-search.ts → workspace/workspace-search.ts} +0 -0
  143. /package/src/schemas/{workspace-setup.ts → workspace/workspace-setup.ts} +0 -0
@@ -307,8 +307,6 @@ export const DeviceReportSchema = z.object({
307
307
  // machine won't say. Windows, and every distro it hosts, all answer `hostname` with the same string while being
308
308
  // separate filesystems running separate agents, so this is the only thing that keeps them apart.
309
309
  wsl: z.object({ distro: z.string() }).optional(),
310
- // Filled by the reader, never the agent; empty means no Docker or nothing looked, not that none exist.
311
- sandboxes: z.array(DeviceSandboxSchema),
312
310
  pairings: z.array(DevicePairingSchema),
313
311
  ports: z.array(DevicePortSchema),
314
312
  // The one agent this device runs, on disk and in flight, in one block.
@@ -352,7 +350,8 @@ export const agentBuildSkew = (agent: DeviceAgent): { readonly running: string |
352
350
  export const DeviceGapSchema = z.enum([
353
351
  // A host capability that is enrolled but has no socket right now. Laptops sleep; this is not a fault.
354
352
  "offline",
355
- // Connected, but "Run commands" is off on its capability card; the daemon may not ask it anything.
353
+ // Connected, but "Run commands" is off on its capability card, so it won't describe itself: no folders, no
354
+ // ports, no agent health. Says nothing about its containers, which ride their own switch (`Device.sandboxes`).
356
355
  "scope-off",
357
356
  // Reachable and asked, but has no `intentic-machine` installed, so nothing knows its folders or ports.
358
357
  "no-agent",
@@ -392,6 +391,12 @@ export const DeviceSchema = z.object({
392
391
  agentVersion: z.string().optional(),
393
392
  lastSeen: z.number().optional(),
394
393
  report: DeviceReportSchema.optional(),
394
+ // The containers this machine holds, read through the host door's own `list_sandboxes` and so behind its own
395
+ // switch ("Manage sandboxes on this device", or "Run commands"). Beside the report rather than inside it because
396
+ // the two ride different switches: a card granting sandbox management and nothing else answers this and no
397
+ // report at all. Absent means nobody could look — a sync-only machine, a refusal, an unread device — never that
398
+ // the machine holds none.
399
+ sandboxes: z.array(DeviceSandboxSchema).optional(),
395
400
  gap: DeviceGapSchema.optional(),
396
401
  });
397
402
  export type Device = z.infer<typeof DeviceSchema>;
@@ -400,12 +405,14 @@ export const DevicesListSchema = z.object({ devices: z.array(DeviceSchema) });
400
405
  // The connected, online device whose docker reports a given sandbox slug: the machine that sandbox RUNS ON, as opposed
401
406
  // to any machine merely paired with it. Answers the question every "run it there instead of asking the owner to type
402
407
  // it" path starts from, and is `undefined` for a sync-only agent, which reports no containers at all.
408
+ // Reads the row's own container list, not the report's: a card that grants sandbox management without "Run commands"
409
+ // can run every swap this answer leads to while refusing to describe itself, and judging it on the report would print
410
+ // a terminal command for a machine one click could have done it on.
403
411
  export const hostRunningSandbox = (devices: readonly Device[], slug: string | undefined): string | undefined =>
404
412
  slug === undefined || slug === ""
405
413
  ? undefined
406
- : devices.find(
407
- (device) => device.hostId !== undefined && device.online === true && (device.report?.sandboxes ?? []).some((box) => box.slug === slug),
408
- )?.hostId;
414
+ : devices.find((device) => device.hostId !== undefined && device.online === true && (device.sandboxes ?? []).some((box) => box.slug === slug))
415
+ ?.hostId;
409
416
  // GET /system/sync: sandbox-level facts only, whether sync is possible, whether anything is enrolled, and raw device
410
417
  // reports. Cheap: the sidebar badge reads this and must never fan out to a device.
411
418
  export const SyncStatusSchema = z.object({
@@ -74,8 +74,7 @@ export type IssueIngest = z.infer<typeof IssueIngestSchema>;
74
74
  export const IssueStatusSchema = z.enum(["open", "investigating", "resolved", "ignored"]);
75
75
  export type IssueStatus = z.infer<typeof IssueStatusSchema>;
76
76
 
77
- // One agent turn for this issue; the conversation id is the link, so nothing about the run itself needs storing beyond
78
- // it.
77
+ // Store only the conversation id for an issue run.
79
78
  export const IssueRunSchema = z.object({
80
79
  conversationId: z.string().describe("The conversation this run became."),
81
80
  at: z.number().describe("When it started, in milliseconds."),
@@ -121,14 +121,14 @@ export type TranslatorAccounts = z.infer<typeof TranslatorAccountsSchema>;
121
121
  // resolves all of them, and `kind` says which card answered.
122
122
  export const AgentReplySchema = z.discriminatedUnion("kind", [
123
123
  // Approving sets `bypassPermissions` on the SDK session; the container, not per-tool prompts, is the isolation
124
- // boundary from here on.
124
+ // boundary on both sides of this card, since planning asks nothing either.
125
125
  z.object({
126
126
  kind: z.literal("plan").describe("Answering a plan the agent proposed."),
127
127
  requestId: z.string().min(1).describe("Which card you are answering, from the frame that raised it."),
128
128
  approve: z
129
129
  .boolean()
130
130
  .describe(
131
- "Whether to go ahead. Approving means the plan then runs without asking again per tool, because being asked whether a plan you just approved may run its first command is not a question worth having.",
131
+ "Whether to go ahead. Approving means the plan then runs without a prompt per tool, because being asked whether a plan you just approved may run its first command is not a question worth having.",
132
132
  ),
133
133
  feedback: z.string().optional().describe("Why not, which goes back to the model as the reason."),
134
134
  }),
@@ -0,0 +1,25 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { RuleSchema } from "./settings.js";
3
+
4
+ // A rule that saves cleanly and silently does nothing is the failure this schema exists to refuse: an action, and a
5
+ // built-in's name, are checked against the moment they are written at.
6
+
7
+ const rule = (moment: string, action: unknown) => RuleSchema.safeParse({ id: `r`, label: `r`, moment, action });
8
+
9
+ describe(`which built-in stands at which moment`, () => {
10
+ test(`the versioner stands at the landed moment and nowhere else`, () => {
11
+ expect(rule(`agent.landed`, { kind: `builtin`, name: `version-landed` }).success).toBe(true);
12
+ expect(rule(`turn.ending`, { kind: `builtin`, name: `version-landed` }).success).toBe(false);
13
+ });
14
+
15
+ test(`the verifiers stand at the turn's end and not at the landing`, () => {
16
+ expect(rule(`turn.ending`, { kind: `builtin`, name: `verify-edits` }).success).toBe(true);
17
+ expect(rule(`agent.landed`, { kind: `builtin`, name: `verify-edits` }).success).toBe(false);
18
+ });
19
+
20
+ test(`the landed moment takes no verdict, command or instruction: the work is already in the tree`, () => {
21
+ expect(rule(`agent.landed`, { kind: `verdict`, verdict: `allow` }).success).toBe(false);
22
+ expect(rule(`agent.landed`, { kind: `command`, command: `pnpm test` }).success).toBe(false);
23
+ expect(rule(`agent.landed`, { kind: `instruct`, text: `well done` }).success).toBe(false);
24
+ });
25
+ });
@@ -19,7 +19,7 @@ export type DependencyFreshness = z.infer<typeof DependencyFreshnessSchema>;
19
19
  // three ways; a fourth is now a row here, not a release. Moments are named to match `WorkspaceEventKind`, so folding
20
20
  // chores in later won't rename what users wrote.
21
21
 
22
- // Four places the daemon already stops to decide something; this names those decisions rather than inventing new ones.
22
+ // Five places the daemon already stops to decide something; this names those decisions rather than inventing new ones.
23
23
  export const RuleMomentSchema = z.enum([
24
24
  // A command here runs on the just-written file (`{file}` is its path); the cheapest moment to catch a defect.
25
25
  "file.edited",
@@ -29,6 +29,8 @@ export const RuleMomentSchema = z.enum([
29
29
  "push.starting",
30
30
  // An agent's turn is over and its delta is sitting on its branch. A rule here decides whether it lands.
31
31
  "agent.finished",
32
+ // An agent's delta has just reached the main tree. A rule here decides what becomes of it there.
33
+ "agent.landed",
32
34
  ]);
33
35
  export type RuleMoment = z.infer<typeof RuleMomentSchema>;
34
36
  // What a rule does; the split is functional since the three settings this table replaces each needed a different shape.
@@ -42,7 +44,10 @@ export type RuleMoment = z.infer<typeof RuleMomentSchema>;
42
44
  // verify-ui-edits: rendered surfaces a turn changed, against whether it ever looked at one.
43
45
  // verify-tests: whether a touched test's assertions got weaker than at HEAD, or would have passed before its own
44
46
  // change.
45
- export const RuleBuiltinSchema = z.enum(["verify-edits", "verify-removals", "verify-ui-edits", "verify-tests"]);
47
+ // version-landed: commits what a land brought, in the main tree, under the subject drafted for it, and the tree's own
48
+ // remainder before the next isolated turn starts; the only way a person who never commits keeps every agent seeing
49
+ // the latest tree, since worktrees are cut from HEAD.
50
+ export const RuleBuiltinSchema = z.enum(["verify-edits", "verify-removals", "verify-ui-edits", "verify-tests", "version-landed"]);
46
51
  export type RuleBuiltin = z.infer<typeof RuleBuiltinSchema>;
47
52
  export const RuleActionSchema = z.discriminatedUnion("kind", [
48
53
  z.object({
@@ -80,6 +85,13 @@ const MOMENT_ACTIONS: Record<RuleMoment, readonly RuleAction["kind"][]> = {
80
85
  "turn.ending": ["builtin", "instruct", "command"],
81
86
  "push.starting": ["command"],
82
87
  "agent.finished": ["verdict"],
88
+ "agent.landed": ["builtin"],
89
+ };
90
+ // A built-in reads a record only one moment keeps, so it stands at that moment alone: the verifiers read a turn's
91
+ // ledgers, the versioner reads a landing's claim.
92
+ const MOMENT_BUILTINS: Partial<Record<RuleMoment, readonly RuleBuiltin[]>> = {
93
+ "turn.ending": ["verify-edits", "verify-removals", "verify-ui-edits", "verify-tests"],
94
+ "agent.landed": ["version-landed"],
83
95
  };
84
96
  export const RuleSchema = z
85
97
  .object({
@@ -93,6 +105,10 @@ export const RuleSchema = z
93
105
  .refine((rule) => MOMENT_ACTIONS[rule.moment].includes(rule.action.kind), {
94
106
  message: "that action cannot stand at that moment",
95
107
  path: ["action"],
108
+ })
109
+ .refine((rule) => rule.action.kind !== "builtin" || (MOMENT_BUILTINS[rule.moment] ?? []).includes(rule.action.name), {
110
+ message: "that built-in cannot stand at that moment",
111
+ path: ["action"],
96
112
  });
97
113
  export type Rule = z.infer<typeof RuleSchema>;
98
114
  // Kept out of the settings object on purpose: a firing is not an edit, and writing config on every push would make
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { PanelLaunchSchema } from "./panels.js";
2
+ import { PanelLaunchSchema } from "../panels.js";
3
3
  // Every discovered repo's id (root-relative dir under /work), sorted, roles included.
4
4
  export const ReposListSchema = z.object({
5
5
  repos: z
@@ -15,6 +15,11 @@ export const CloneResultSchema = z.object({
15
15
  name: z.string().describe("What it ended up called."),
16
16
  path: z.string().describe("Where it landed."),
17
17
  });
18
+ // A repository made from nothing: a folder, `git init`, a README that names it, and one commit so it has a main line
19
+ // for agents to branch from.
20
+ export const CreateRepoSchema = z.object({
21
+ name: z.string().min(1).describe("What to call it, which is also its folder under the workspace root."),
22
+ });
18
23
  // status mirrors GitSyncResult plus turn outcomes skipped/error; behind/ahead/head/message are present per status.
19
24
  export const RepoSyncSchema = z.object({
20
25
  repo: z.string().describe("Which repository."),
@@ -1,6 +1,6 @@
1
1
  // workspace tree + files
2
2
  import { z } from "zod";
3
- import { ConversationIdSchema } from "./agent.js";
3
+ import { ConversationIdSchema } from "../agent.js";
4
4
  // Which copy of the workspace a read means: the shared /work tree, or (if `agent` is set) that conversation's own
5
5
  // checkout, resolved in one place so the escape guard, denylist and ignore rules apply the same either way.
6
6
  export const WorkspaceScopeSchema = z.object({
@@ -2,15 +2,7 @@ import { fixAttemptOf, latestFixAttempt, nextFixAttemptId } from "../ids/convers
2
2
  import type { AgentSummary } from "../schemas/agents.js";
3
3
  import { type FixStance, fixStance } from "./fix-stance.js";
4
4
 
5
- /* WHAT A PRESS ON A FAILURE'S FIX CONTROL DOES, decided once for every surface that has one — the push question in
6
- * the shell, the pipelines board's rows, the daemon's own /ci/fix route — so the browser and the daemon cannot
7
- * disagree about whether a press continues an attempt, opens the next one, or has to wait. Pure: the roster in, a
8
- * plan out. Carrying the plan out (stopping, archiving, starting) is the caller's, since each side does that
9
- * through its own doors.
10
- *
11
- * THE RULE, in the order it is read: nothing live (or the last answer landed) opens the NEXT attempt; "start over"
12
- * sets the latest aside and opens the next; an attempt that ENDED is continued; anything else is still in play and
13
- * the reader is sent to it rather than allowed to race a second agent beside it. */
5
+ /* WHAT A PRESS ON A FAILURE'S FIX CONTROL DOES, decided once for every surface that has one — the push question in the shell, the pipelines board's rows. */
14
6
 
15
7
  // How the reader ended the picker, when they did; absent is the plain press on the button.
16
8
  export type FixResume = "continue" | "start-over";
@@ -1,14 +1,6 @@
1
1
  import type { AgentSummary } from "../schemas/agents.js";
2
2
 
3
- /* WHAT BECAME OF THE AGENT A SURFACE SENT AFTER A FAILURE — a red pipeline row, a refused push — read off the fleet
4
- * summary that surface joined by conversation id (ids/conversation-ids.ts). Reads both status and attention, since
5
- * a parked turn is `idle` with a flag rather than finished. Mirrors the fleet board's own labels except for naming
6
- * the subject (`Fix ready`), because on these surfaces the failure is what's read. Pure: no host, no clock.
7
- *
8
- * IN THE CONTRACT, NOT IN ONE SURFACE, because the words must not differ between the pipelines board (an
9
- * extension) and the push question (the shell): the same agent, one click apart, described two ways is a bug a
10
- * reader notices before a test does. Only the reading lives here; how each kind is DRAWN (icon, colour) is the UI
11
- * kit's `fixStanceLook`, which an extension cannot load in a test and this package must not know about. */
3
+ /* WHAT BECAME OF THE AGENT A SURFACE SENT AFTER A FAILURE — a red pipeline row, a refused push. */
12
4
 
13
5
  export type FixStanceKind =
14
6
  // A turn is in flight. Nothing is owed by the reader.
@@ -24,9 +24,7 @@ test("isBehind stays quiet whenever it cannot be sure", () => {
24
24
  expect(isBehind(DEV_VERSION, "1.183.0")).toBe(false); // a build made from a working tree, not a release
25
25
  });
26
26
 
27
- /* A version with a segment that will not parse is read by its numeric prefix, and the failure is one-directional:
28
- * it can withhold a nag, never invent one. Both halves are pinned because only the second is a safety property:
29
- * the first is just the prefix doing its job. */
27
+ /* A version with a segment that will not parse is read by its numeric prefix, and the failure is one-directional: it can withhold a nag, never invent one. */
30
28
  test("a version that isn't dotted-numeric can only ever withhold the nudge", () => {
31
29
  expect(isBehind("1.2.0-rc.1", "1.183.0")).toBe(true); // the prefix already decides it: 2 is behind 183
32
30
  expect(isBehind("1.2.0-rc.1", "1.2.0")).toBe(false); // the unparseable segment is where they differ — silence
@@ -227,6 +227,12 @@ const STATE_FILES = [
227
227
  why: "The same probe for the bug reporter's script, on the same flush timer and read by the same kind of panel, so it is outside the push path for the same reason the Front Desk's is.",
228
228
  portability: "carry",
229
229
  },
230
+ {
231
+ path: ".intentic/records/webchat-outbox.json",
232
+ invalidates: [],
233
+ why: "Front Desk replies a visitor has not collected yet, written when an approved wake answers or a human writes as the agent. The only reader is a stranger's browser polling the public /webchat door, which no query key in this app addresses; the owner's own view of the same words is the conversation's transcript, which the agent registry already pushes.",
234
+ portability: "carry",
235
+ },
230
236
  {
231
237
  path: ".intentic/records/thread-sessions.json",
232
238
  invalidates: [],
@@ -332,9 +338,7 @@ const STATE_FILES = [
332
338
  why: "Scratch that agents and tools leave behind (build logs, demo checkouts); nothing reads it after the turn that wrote it. The state janitor empties it at boot.",
333
339
  portability: "derived",
334
340
  },
335
- // Not written by the daemon: pnpm auto-creates its content-addressable store when an install runs from under
336
- // `.intentic`. Declared anyway so the table accounts for everything under the state dir; a fresh install rebuilds
337
- // it.
341
+ // Account for the pnpm store even though pnpm creates it, not the daemon.
338
342
  {
339
343
  path: ".intentic/local/.pnpm-store/",
340
344
  invalidates: [],
@@ -540,9 +544,7 @@ export const extensionRuntimeDir = (extension: string): string =>
540
544
  `${STATE_GROUP_DIR.local}/runtime/extensions/${extension.replaceAll(/[^a-zA-Z0-9._-]/g, "_")}`;
541
545
 
542
546
  // Manifests the unreadable-manifest notice reports on: exactly the entries that declare `manifests` in
543
- // `invalidates`, since a file's problems are only worth showing if a write to it can refresh the notice. A broken
544
- // file still falls back and sets its bad bytes aside (store/json-file.ts); it just stops asking the owner to fix
545
- // it.
547
+ // Report broken manifests only when a file change can refresh their notice.
546
548
  export const REPORTED_MANIFEST_PATHS: readonly string[] = WORKSPACE_STATE_FILES.filter((file) => file.invalidates.includes("manifests")).map(
547
549
  (file) => file.path,
548
550
  );
@@ -42,11 +42,7 @@ test("a JSON fetch answers the body or throws the refusal", async () => {
42
42
  vi.unstubAllGlobals();
43
43
  });
44
44
 
45
- /* The one test that pays for real work: 12 bits is ~900 awaited digests, which is what carries the solver past
46
- * its 512-nonce batch and through the yield the page needs to keep painting. Every digest is a round trip to
47
- * the platform's crypto, so what that costs is set by how loaded the machine is and never by this code: hence
48
- * a budget that bounds a hang instead of the suite's 5s hang detector for in-memory work, which a busy runner
49
- * beat. The other two prove things that need no work at all, and are cheap on purpose. */
45
+ /* The one test that pays for real work: 12 bits is ~900 awaited digests. */
50
46
  test("the answer really clears the difficulty, and carries the salt back for the daemon to re-derive", async () => {
51
47
  const answer = await solveProofOfWork({ salt: "abc123", difficulty: 12 }, "needs https");
52
48
  expect(answer.startsWith("abc123:")).toBe(true);
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-repos.d.ts","sourceRoot":"","sources":["../../src/schemas/workspace-repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;iBAI1B,CAAC;AACH,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AACH,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;iBAWzB,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;iBAAiH,CAAC;AAGlJ,eAAO,MAAM,sBAAsB;;;iBAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,aAAa;;;;;;iBAGxB,CAAC;AAGH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,mBAAmB;;;;;;iBAE9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,aAAa;;;;;;;;;;;;;iBAkBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;iBAAsF,CAAC;AAClH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAGtD,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,sBAAsB;;;;EAAkC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;iBAA+D,CAAC;AAChG,eAAO,MAAM,cAAc;;;iBAOzB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-repos.js","sourceRoot":"","sources":["../../src/schemas/workspace-repos.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-search.d.ts","sourceRoot":"","sources":["../../src/schemas/workspace-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;iBAwBrC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;iBAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;iBAenC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,eAAO,MAAM,8BAA8B;;;;;;;;;iBAWzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-search.js","sourceRoot":"","sources":["../../src/schemas/workspace-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IAErH,IAAI,EAAE,CAAC;SACF,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACzD,QAAQ,EAAE;SACV,QAAQ,CACL,sLAAsL,CACzL;IACL,cAAc,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAErH,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACnG,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACnE,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;IAEjJ,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,+LAA+L,CAClM;IACL,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CACjG,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC;SACF,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;SAC/G,QAAQ,CACL,uIAAuI,CAC1I;IACL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC3E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAE7C,KAAK,EAAE,CAAC;SACH,KAAK,CAAC,yBAAyB,CAAC;SAChC,QAAQ,CACL,iJAAiJ,CACpJ;IACL,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAEnE,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0GAA0G,CAAC;CAC5H,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IACjG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAE7E,MAAM,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,+GAA+G,CAAC;CACjI,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,oFAAoF,CAAC;IAC5I,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAClG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAE7F,MAAM,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,2JAA2J,CAC9J;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IACrG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IAE5F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACjG,SAAS,EAAE,8BAA8B,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IACxG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAE9E,OAAO,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,yKAAyK,CAC5K;IACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACzF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IAEnG,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,kKAAkK,CACrK;IAEL,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;IAE5I,UAAU,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACL,4JAA4J,CAC/J;IAEL,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;CAChJ,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-setup.d.ts","sourceRoot":"","sources":["../../src/schemas/workspace-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAY7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAE/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,eAAO,MAAM,sBAAsB;;iBAQjC,CAAC;AACH,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-setup.js","sourceRoot":"","sources":["../../src/schemas/workspace-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oFAAoF,CAAC;IAC9G,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;IAC1H,KAAK,EAAE,CAAC;SACH,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;SACpE,QAAQ,CACL,sPAAsP,CACzP;IACL,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uGAAuG,CAAC;CACnJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC;CACjH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC;SACF,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CACL,gJAAgJ,CACnJ;CACR,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CACvH,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-tree.d.ts","sourceRoot":"","sources":["../../src/schemas/workspace-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAOlE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CACrD;AACD,eAAO,MAAM,mBAAmB;;;;;;iBAU9B,CAAC;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAE1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;CACjE;AACD,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAkBjE,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;iBAW9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,4BAA4B;;;;iBASvC,CAAC;AACH,eAAO,MAAM,uBAAuB;;;iBAOlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,eAAO,MAAM,wBAAwB;;iBAA6F,CAAC;AACnI,eAAO,MAAM,+BAA+B;;;iBAE1C,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;iBAiBvC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;iBAarC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;iBAOpC,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;8BAA2F,CAAC;AAI5H,eAAO,MAAM,2BAA2B;;iBAKtC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;iBAmBxC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;iBAUvC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;8BAAiG,CAAC;AACrI,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,eAAO,MAAM,2BAA2B;;;iBAQtC,CAAC;AACH,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AAGH,eAAO,MAAM,kBAAkB;;iBAAoH,CAAC;AACpJ,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;EAAsE,CAAC;AACzG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAYxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-tree.js","sourceRoot":"","sources":["../../src/schemas/workspace-tree.ts"],"names":[],"mappings":"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"}