@songsid/agend 2.3.5-alpha.2 → 2.3.5-alpha.3

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 (212) hide show
  1. package/dist/agend-home.d.ts +13 -0
  2. package/dist/agend-home.js +42 -0
  3. package/dist/agend-home.js.map +1 -1
  4. package/dist/auth-api.d.ts +21 -0
  5. package/dist/auth-api.js +91 -4
  6. package/dist/auth-api.js.map +1 -1
  7. package/dist/authority/web-authority.d.ts +12 -2
  8. package/dist/authority/web-authority.js +25 -4
  9. package/dist/authority/web-authority.js.map +1 -1
  10. package/dist/backend/claude-code.js +16 -1
  11. package/dist/backend/claude-code.js.map +1 -1
  12. package/dist/backend/codex.js +11 -1
  13. package/dist/backend/codex.js.map +1 -1
  14. package/dist/backend/kiro-identity.d.ts +2 -0
  15. package/dist/backend/kiro-identity.js +13 -6
  16. package/dist/backend/kiro-identity.js.map +1 -1
  17. package/dist/backend/kiro.js +18 -3
  18. package/dist/backend/kiro.js.map +1 -1
  19. package/dist/backend-availability.d.ts +6 -0
  20. package/dist/backend-availability.js +13 -5
  21. package/dist/backend-availability.js.map +1 -1
  22. package/dist/channel/mcp-tools.js +1 -1
  23. package/dist/channel/mcp-tools.js.map +1 -1
  24. package/dist/cli.js +6 -9
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config-validator.js +12 -1
  27. package/dist/config-validator.js.map +1 -1
  28. package/dist/daemon.d.ts +5 -0
  29. package/dist/daemon.js +107 -30
  30. package/dist/daemon.js.map +1 -1
  31. package/dist/fleet-manager.d.ts +143 -8
  32. package/dist/fleet-manager.js +874 -166
  33. package/dist/fleet-manager.js.map +1 -1
  34. package/dist/fleet-windows-runtime.js +7 -0
  35. package/dist/fleet-windows-runtime.js.map +1 -1
  36. package/dist/fleet-yaml-patch.d.ts +3 -0
  37. package/dist/fleet-yaml-patch.js +103 -0
  38. package/dist/fleet-yaml-patch.js.map +1 -0
  39. package/dist/general-binding.d.ts +85 -0
  40. package/dist/general-binding.js +298 -0
  41. package/dist/general-binding.js.map +1 -0
  42. package/dist/general-host-owner.d.ts +8 -0
  43. package/dist/general-host-owner.js +26 -0
  44. package/dist/general-host-owner.js.map +1 -0
  45. package/dist/general-instance.d.ts +7 -0
  46. package/dist/general-instance.js +20 -3
  47. package/dist/general-instance.js.map +1 -1
  48. package/dist/general-knowledge/skills/model-discovery/SKILL.md +2 -0
  49. package/dist/general-role.d.ts +5 -0
  50. package/dist/general-role.js +26 -0
  51. package/dist/general-role.js.map +1 -0
  52. package/dist/instance-lifecycle.d.ts +1 -0
  53. package/dist/instance-lifecycle.js +26 -4
  54. package/dist/instance-lifecycle.js.map +1 -1
  55. package/dist/instructions.d.ts +2 -0
  56. package/dist/instructions.js +6 -0
  57. package/dist/instructions.js.map +1 -1
  58. package/dist/kiro-resume-summary.d.ts +37 -0
  59. package/dist/kiro-resume-summary.js +85 -0
  60. package/dist/kiro-resume-summary.js.map +1 -0
  61. package/dist/locale.js +59 -0
  62. package/dist/locale.js.map +1 -1
  63. package/dist/login-controller.js +9 -1
  64. package/dist/login-controller.js.map +1 -1
  65. package/dist/native-pane-lifecycle.js +4 -1
  66. package/dist/native-pane-lifecycle.js.map +1 -1
  67. package/dist/native-pane-manager.d.ts +1 -0
  68. package/dist/native-pane-manager.js +23 -2
  69. package/dist/native-pane-manager.js.map +1 -1
  70. package/dist/needs-you-hub.js +1 -1
  71. package/dist/needs-you-hub.js.map +1 -1
  72. package/dist/needs-you.d.ts +8 -1
  73. package/dist/needs-you.js +5 -2
  74. package/dist/needs-you.js.map +1 -1
  75. package/dist/package-preimage.js +27 -2
  76. package/dist/package-preimage.js.map +1 -1
  77. package/dist/pane-port.d.ts +11 -0
  78. package/dist/public-web-gateway.js +9 -0
  79. package/dist/public-web-gateway.js.map +1 -1
  80. package/dist/public-web-link.d.ts +5 -0
  81. package/dist/public-web-link.js +4 -0
  82. package/dist/public-web-link.js.map +1 -1
  83. package/dist/quickstart-api.js +9 -5
  84. package/dist/quickstart-api.js.map +1 -1
  85. package/dist/quickstart.d.ts +1 -0
  86. package/dist/quickstart.js +4 -1
  87. package/dist/quickstart.js.map +1 -1
  88. package/dist/reply-buttons-controller.js +10 -0
  89. package/dist/reply-buttons-controller.js.map +1 -1
  90. package/dist/runtime-bundle.js +3 -0
  91. package/dist/runtime-bundle.js.map +1 -1
  92. package/dist/runtime-general-protocol.d.ts +22 -0
  93. package/dist/runtime-general-protocol.js +57 -0
  94. package/dist/runtime-general-protocol.js.map +1 -0
  95. package/dist/runtime-general-workspace.d.ts +17 -0
  96. package/dist/runtime-general-workspace.js +213 -0
  97. package/dist/runtime-general-workspace.js.map +1 -0
  98. package/dist/runtime-pane-assets.d.ts +1 -1
  99. package/dist/runtime-pane-assets.js +1 -1
  100. package/dist/runtime-pane-assets.js.map +1 -1
  101. package/dist/runtime-pane-host.d.ts +1 -0
  102. package/dist/runtime-pane-host.js +22 -1
  103. package/dist/runtime-pane-host.js.map +1 -1
  104. package/dist/runtime-pane-mcp.d.ts +8 -0
  105. package/dist/runtime-pane-mcp.js +15 -2
  106. package/dist/runtime-pane-mcp.js.map +1 -1
  107. package/dist/runtime-pane-port.d.ts +6 -1
  108. package/dist/runtime-pane-port.js +21 -0
  109. package/dist/runtime-pane-port.js.map +1 -1
  110. package/dist/runtime-pane-protocol.d.ts +4 -1
  111. package/dist/runtime-pane-protocol.js +7 -1
  112. package/dist/runtime-pane-protocol.js.map +1 -1
  113. package/dist/settings-api.d.ts +5 -0
  114. package/dist/settings-api.js +37 -1
  115. package/dist/settings-api.js.map +1 -1
  116. package/dist/settings-baseline.d.ts +1 -0
  117. package/dist/settings-baseline.js +1 -1
  118. package/dist/settings-baseline.js.map +1 -1
  119. package/dist/settings-confirmation.d.ts +1 -0
  120. package/dist/settings-confirmation.js +1 -0
  121. package/dist/settings-confirmation.js.map +1 -1
  122. package/dist/settings-effect.d.ts +4 -0
  123. package/dist/settings-effect.js +35 -0
  124. package/dist/settings-effect.js.map +1 -1
  125. package/dist/settings-http-confirmation.d.ts +1 -0
  126. package/dist/settings-http-confirmation.js +4 -0
  127. package/dist/settings-http-confirmation.js.map +1 -1
  128. package/dist/settings-request-capability.d.ts +2 -0
  129. package/dist/settings-request-capability.js +4 -0
  130. package/dist/settings-request-capability.js.map +1 -1
  131. package/dist/settings-route-lifetime.d.ts +14 -0
  132. package/dist/settings-route-lifetime.js +48 -0
  133. package/dist/settings-route-lifetime.js.map +1 -0
  134. package/dist/settings-transaction.d.ts +4 -0
  135. package/dist/settings-transaction.js +9 -0
  136. package/dist/settings-transaction.js.map +1 -1
  137. package/dist/setup-form.js +6 -3
  138. package/dist/setup-form.js.map +1 -1
  139. package/dist/setup-i18n.js +3 -0
  140. package/dist/setup-i18n.js.map +1 -1
  141. package/dist/stall-reporter.d.ts +21 -0
  142. package/dist/stall-reporter.js +82 -0
  143. package/dist/stall-reporter.js.map +1 -0
  144. package/dist/tmux-control.d.ts +2 -2
  145. package/dist/tmux-control.js +4 -2
  146. package/dist/tmux-control.js.map +1 -1
  147. package/dist/tmux-exec-helper.d.ts +6 -3
  148. package/dist/tmux-exec-helper.js +115 -53
  149. package/dist/tmux-exec-helper.js.map +1 -1
  150. package/dist/tool-permissions.js +2 -1
  151. package/dist/tool-permissions.js.map +1 -1
  152. package/dist/tunnel/cloudflared-install.d.ts +4 -0
  153. package/dist/tunnel/cloudflared-install.js +20 -1
  154. package/dist/tunnel/cloudflared-install.js.map +1 -1
  155. package/dist/tunnel/cloudflared.d.ts +8 -1
  156. package/dist/tunnel/cloudflared.js +34 -6
  157. package/dist/tunnel/cloudflared.js.map +1 -1
  158. package/dist/tunnel/lease.d.ts +3 -3
  159. package/dist/tunnel/lease.js +23 -19
  160. package/dist/tunnel/lease.js.map +1 -1
  161. package/dist/tunnel/manager.js +6 -7
  162. package/dist/tunnel/manager.js.map +1 -1
  163. package/dist/types.d.ts +2 -0
  164. package/dist/ui/agent-proposals.js +2 -2
  165. package/dist/ui/general-location.js +71 -0
  166. package/dist/ui/native-pane-recovery.js +1 -1
  167. package/dist/ui/panel-chat.js +2 -0
  168. package/dist/ui/panel-needs.js +2 -0
  169. package/dist/ui/panel-settings.js +5 -1
  170. package/dist/ui/settings-dialogs.js +8 -2
  171. package/dist/ui/settings-model.js +2 -1
  172. package/dist/ui/settings-outside.js +176 -0
  173. package/dist/ui/settings-registry.js +1 -0
  174. package/dist/ui/settings-strings.js +2 -0
  175. package/dist/ui/shared/app-i18n.js +2 -2
  176. package/dist/ui/shared/app.css +16 -1
  177. package/dist/ui/shared/instance-nav.js +13 -3
  178. package/dist/ui/shared/panel-view.js +266 -17
  179. package/dist/ui/shared/qrcode.module.js +2237 -0
  180. package/dist/ui/shared/signin.js +39 -5
  181. package/dist/ui/shared/vendor/qrcode-generator.LICENSE +27 -0
  182. package/dist/ui/shared/vendor/vendor.json +19 -2
  183. package/dist/ui/shared/view-strings.js +28 -0
  184. package/dist/unattended-install.d.ts +1 -1
  185. package/dist/unattended-install.js +19 -5
  186. package/dist/unattended-install.js.map +1 -1
  187. package/dist/update-check.d.ts +2 -8
  188. package/dist/update-check.js +2 -5
  189. package/dist/update-check.js.map +1 -1
  190. package/dist/view-api.d.ts +15 -0
  191. package/dist/view-api.js +94 -33
  192. package/dist/view-api.js.map +1 -1
  193. package/dist/web-api.d.ts +12 -0
  194. package/dist/web-api.js +77 -0
  195. package/dist/web-api.js.map +1 -1
  196. package/dist/web-login.d.ts +4 -3
  197. package/dist/web-login.js +23 -14
  198. package/dist/web-login.js.map +1 -1
  199. package/dist/web-only-fleet.d.ts +20 -0
  200. package/dist/web-only-fleet.js +21 -0
  201. package/dist/web-only-fleet.js.map +1 -1
  202. package/dist/web-remote-access.d.ts +152 -0
  203. package/dist/web-remote-access.js +368 -0
  204. package/dist/web-remote-access.js.map +1 -0
  205. package/dist/web-session.d.ts +12 -0
  206. package/dist/web-session.js +22 -8
  207. package/dist/web-session.js.map +1 -1
  208. package/dist/windows-agents.d.ts +12 -0
  209. package/dist/windows-agents.js +24 -0
  210. package/dist/windows-agents.js.map +1 -1
  211. package/launcher/agend-install.cjs +16 -2
  212. package/package.json +1 -1
@@ -0,0 +1,213 @@
1
+ /** Runner-owned General knowledge. Only fixed installed assets enter a dedicated, receipt-owned workspace. */
2
+ import { createHash } from "node:crypto";
3
+ import { constants, closeSync, fstatSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, unlinkSync } from "node:fs";
4
+ import { dirname, join, relative, resolve, sep } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { atomicWriteFileSync } from "./atomic-write.js";
7
+ import { GENERAL_KNOWLEDGE_FILES, GENERAL_ROLE_INSTRUCTIONS } from "./general-role.js";
8
+ import { GeneralManagedFileError, validateGeneralWorkspaceRequest } from "./runtime-general-protocol.js";
9
+ const hash = (text) => createHash("sha256").update(text).digest("hex");
10
+ const missing = (error) => error.code === "ENOENT";
11
+ function directory(path) {
12
+ const stat = lstatSync(path);
13
+ if (!stat.isDirectory() || stat.isSymbolicLink())
14
+ throw Error("General workspace directory is unsafe");
15
+ if (resolve(realpathSync(path)).toLowerCase() !== resolve(path).toLowerCase())
16
+ throw Error("General workspace directory leads elsewhere");
17
+ }
18
+ function text(path, limit) {
19
+ const before = lstatSync(path);
20
+ if (!before.isFile() || before.isSymbolicLink() || before.size > limit)
21
+ throw Error("General program or workspace file is unsafe");
22
+ const fd = openSync(path, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
23
+ try {
24
+ const opened = fstatSync(fd);
25
+ if (!opened.isFile() || opened.size > limit || opened.dev !== before.dev || opened.ino !== before.ino)
26
+ throw Error("General file changed while opening");
27
+ const bytes = readFileSync(fd), after = fstatSync(fd);
28
+ if (bytes.length > limit || after.size !== opened.size || after.mtimeMs !== opened.mtimeMs || bytes.includes(0))
29
+ throw Error("General file changed or contains invalid text");
30
+ const value = bytes.toString("utf8");
31
+ if (!Buffer.from(value, "utf8").equals(bytes))
32
+ throw Error("General asset is not valid UTF-8");
33
+ return value;
34
+ }
35
+ finally {
36
+ closeSync(fd);
37
+ }
38
+ }
39
+ function child(root, name, create = false) {
40
+ if (!name || name.includes("\\") || name.split("/").some(part => !part || part === "." || part === ".."))
41
+ throw Error("Invalid General asset path");
42
+ directory(root);
43
+ const parts = name.split("/");
44
+ let path = root;
45
+ for (const part of parts.slice(0, -1)) {
46
+ path = join(path, part);
47
+ if (create) {
48
+ try {
49
+ mkdirSync(path, { mode: 0o700 });
50
+ }
51
+ catch (error) {
52
+ if (error.code !== "EEXIST")
53
+ throw error;
54
+ }
55
+ }
56
+ directory(path);
57
+ }
58
+ const target = join(root, ...parts), within = relative(root, target);
59
+ if (!within || within.startsWith(".." + sep) || within === "..")
60
+ throw Error("General asset escaped its workspace");
61
+ return target;
62
+ }
63
+ export function loadGeneralKnowledge(cli, moduleDirectory = dirname(fileURLToPath(import.meta.url))) {
64
+ const root = join(moduleDirectory, "general-knowledge");
65
+ directory(root);
66
+ const files = {}, skills = cli === "codex" ? ".agents" : ".claude";
67
+ let total = 0;
68
+ for (const name of GENERAL_KNOWLEDGE_FILES) {
69
+ const value = text(child(root, name), 128 * 1024);
70
+ total += Buffer.byteLength(value);
71
+ if (total > 512 * 1024)
72
+ throw Error("General knowledge pack is too large");
73
+ if (name.startsWith("skills/"))
74
+ files[`${skills}/${name}`] = value;
75
+ else
76
+ files[cli === "codex" ? "AGENTS.md" : "CLAUDE.md"] = `${GENERAL_ROLE_INSTRUCTIONS}\n\n${value}`;
77
+ }
78
+ return { hash: hash(JSON.stringify(files)), files };
79
+ }
80
+ /** The caller serializes publication against live/unknown panes using this cwd. File access is bounded and synchronous. */
81
+ export class RuntimeGeneralWorkspace {
82
+ root;
83
+ moduleDirectory;
84
+ constructor(root, moduleDirectory = dirname(fileURLToPath(import.meta.url))) {
85
+ this.root = root;
86
+ this.moduleDirectory = moduleDirectory;
87
+ }
88
+ path(request, create) {
89
+ directory(this.root);
90
+ const root = join(this.root, "general-workspaces");
91
+ if (create) {
92
+ try {
93
+ mkdirSync(root, { mode: 0o700 });
94
+ }
95
+ catch (error) {
96
+ if (error.code !== "EEXIST")
97
+ throw error;
98
+ }
99
+ }
100
+ directory(root);
101
+ const cwd = join(root, request.bindingId);
102
+ if (create) {
103
+ try {
104
+ mkdirSync(cwd, { mode: 0o700 });
105
+ }
106
+ catch (error) {
107
+ if (error.code !== "EEXIST")
108
+ throw error;
109
+ }
110
+ }
111
+ directory(cwd);
112
+ return cwd;
113
+ }
114
+ manifest(cwd, request) {
115
+ let raw;
116
+ try {
117
+ raw = JSON.parse(text(join(cwd, ".agend-general.json"), 64 * 1024));
118
+ }
119
+ catch (error) {
120
+ if (missing(error))
121
+ return null;
122
+ throw error;
123
+ }
124
+ if (raw?.version !== 1 || raw.bindingId !== request.bindingId || raw.instance !== request.instance || raw.cli !== request.cli
125
+ || Object.keys(raw).some(key => !["version", "bindingId", "instance", "cli", "packHash", "files", "previous"].includes(key))
126
+ || typeof raw.packHash !== "string" || !/^[a-f0-9]{64}$/.test(raw.packHash))
127
+ throw Error("General workspace publication scope differs");
128
+ for (const map of [raw.files, ...(raw.previous !== undefined ? [raw.previous] : [])]) {
129
+ if (!map || typeof map !== "object" || Array.isArray(map) || Object.keys(map).length > 64
130
+ || Object.entries(map).some(([name, digest]) => !(name === (request.cli === "codex" ? "AGENTS.md" : "CLAUDE.md")
131
+ || new RegExp(`^${request.cli === "codex" ? "\\.agents" : "\\.claude"}/skills/[a-z0-9][a-z0-9-]{0,63}/SKILL\\.md$`).test(name))
132
+ || typeof digest !== "string" || !/^[a-f0-9]{64}$/.test(digest)))
133
+ throw Error("Invalid General owned-file manifest");
134
+ }
135
+ return raw;
136
+ }
137
+ existing(cwd, name) {
138
+ try {
139
+ return hash(text(child(cwd, name), 128 * 1024));
140
+ }
141
+ catch (error) {
142
+ if (missing(error))
143
+ return null;
144
+ throw new GeneralManagedFileError(name, "General managed file cannot be verified");
145
+ }
146
+ }
147
+ verify(raw, expectedCwd) {
148
+ const request = validateGeneralWorkspaceRequest(raw), cwd = this.path(request, false), pack = loadGeneralKnowledge(request.cli, this.moduleDirectory);
149
+ if (request.packHash !== pack.hash || expectedCwd !== undefined && resolve(expectedCwd).toLowerCase() !== resolve(cwd).toLowerCase())
150
+ throw Error("General workspace pack or directory differs");
151
+ const manifest = this.manifest(cwd, request);
152
+ if (!manifest || manifest.previous || manifest.packHash !== pack.hash || JSON.stringify(manifest.files) !== JSON.stringify(Object.fromEntries(Object.entries(pack.files).map(([name, value]) => [name, hash(value)]))))
153
+ throw new GeneralManagedFileError(".agend-general.json");
154
+ for (const [name, value] of Object.entries(pack.files)) {
155
+ if (this.existing(cwd, name) !== hash(value))
156
+ throw new GeneralManagedFileError(name);
157
+ }
158
+ return { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: pack.hash, cwd };
159
+ }
160
+ prepare(raw, current, mayWrite) {
161
+ const request = validateGeneralWorkspaceRequest(raw), pack = loadGeneralKnowledge(request.cli, this.moduleDirectory);
162
+ if (pack.hash !== request.packHash || !current())
163
+ throw Error("General workspace pack or lease differs");
164
+ const cwd = this.path(request, true), previous = this.manifest(cwd, request);
165
+ try {
166
+ return this.verify(request);
167
+ }
168
+ catch { /* A partial, owned publication is completed only below. */ }
169
+ if (!mayWrite(cwd) || !current())
170
+ throw Error("General workspace has a live or unconfirmed pane");
171
+ if (!previous && readdirSync(cwd).length)
172
+ throw Error("General workspace contains unowned files");
173
+ const next = Object.fromEntries(Object.entries(pack.files).map(([name, value]) => [name, hash(value)]));
174
+ const known = new Set([...Object.keys(previous?.files ?? {}), ...Object.keys(previous?.previous ?? {}), ...Object.keys(next)]);
175
+ const old = {};
176
+ for (const name of known) {
177
+ const digest = this.existing(cwd, name);
178
+ if (digest !== null && digest !== previous?.files[name] && digest !== previous?.previous?.[name])
179
+ throw new GeneralManagedFileError(name, "General workspace file is not an unchanged owned copy");
180
+ if (digest !== null)
181
+ old[name] = digest;
182
+ }
183
+ // Before any content write, retain both possible hashes so an interrupted update never adopts unknown bytes.
184
+ const pending = { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: pack.hash, files: next, previous: old };
185
+ const save = (value) => { if (!current())
186
+ throw Error("General workspace lease expired"); directory(cwd); atomicWriteFileSync(join(cwd, ".agend-general.json"), JSON.stringify(value), { mode: 0o600 }); };
187
+ save(pending);
188
+ for (const [name, value] of Object.entries(pack.files)) {
189
+ if (!current())
190
+ throw Error("General workspace lease expired");
191
+ const digest = this.existing(cwd, name);
192
+ if (digest !== null && digest !== next[name] && digest !== old[name])
193
+ throw new GeneralManagedFileError(name, "General workspace changed during publication");
194
+ const file = child(cwd, name, true);
195
+ if (digest !== next[name])
196
+ atomicWriteFileSync(file, value, { mode: 0o600 });
197
+ }
198
+ for (const name of Object.keys(old))
199
+ if (!Object.hasOwn(next, name)) {
200
+ if (!current())
201
+ throw Error("General workspace lease expired");
202
+ const digest = this.existing(cwd, name);
203
+ if (digest !== null && digest !== old[name])
204
+ throw new GeneralManagedFileError(name, "Retired General skill changed");
205
+ if (digest !== null)
206
+ unlinkSync(child(cwd, name));
207
+ }
208
+ const { previous: _old, ...committed } = pending;
209
+ save(committed);
210
+ return this.verify(request);
211
+ }
212
+ }
213
+ //# sourceMappingURL=runtime-general-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-general-workspace.js","sourceRoot":"","sources":["../src/runtime-general-workspace.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,6 @@ export declare const RUNTIME_PANE_ASSETS: readonly [{
12
12
  readonly version: "1.1.0";
13
13
  readonly files: readonly ["package.json", "LICENSE", "CONPTY-LICENSE", "CONPTY-NOTICE.md", "lib/index.js", "lib/windowsConoutConnection.js", "lib/eventEmitter2.js", "lib/types.js", "lib/windowsTerminal.js", "lib/utils.js", "lib/worker/conoutSocketWorker.js", "lib/conpty_console_list_agent.js", "lib/interfaces.js", "lib/windowsPtyAgent.js", "lib/shared/conout.js", "lib/terminal.js", "lib/unixTerminal.js", ...string[]];
14
14
  }];
15
- export declare const RUNTIME_PANE_MODULES: readonly ["runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
15
+ export declare const RUNTIME_PANE_MODULES: readonly ["general-role.js", "runtime-general-protocol.js", "runtime-general-workspace.js", "runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
16
16
  /** node-pty@1.1.0 npm prebuilds (lockfile integrity), bundled ConPTY 1.23.251008001. */
17
17
  export declare const PANE_NATIVE_SHA256: Readonly<Record<string, string>>;
@@ -8,7 +8,7 @@ export const RUNTIME_PANE_ASSETS = [
8
8
  ...["win32-x64", "win32-arm64"].flatMap(platform => ["conpty.node", "conpty_console_list.node", "conpty/OpenConsole.exe", "conpty/conpty.dll"].map(file => `prebuilds/${platform}/${file}`)),
9
9
  ] },
10
10
  ];
11
- export const RUNTIME_PANE_MODULES = ["runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
11
+ export const RUNTIME_PANE_MODULES = ["general-role.js", "runtime-general-protocol.js", "runtime-general-workspace.js", "runtime-pane-output.js", "local-pane-stage.ps1", "runtime-pane-stdio.js", "runtime-pane-stdio-protocol.js", "runtime-pane-protocol.js", "runtime-pane-mcp-protocol.js", "runtime-pane-mcp-relay.js", "windows-pane-mcp.js", "runtime-pane-link.js", "runtime-pane-private.js", "runtime-pane-private.ps1", "runtime-pane-service.js", "runtime-pane-assets.js", "runtime-pane-host.js", "runtime-pane-screen.js", "runtime-pane-store.js", "runtime-pane-boot.js", "runtime-pane-native.js", "runtime-pane-config.js", "runtime-pane-transcript.js", "runtime-pane-codex-index.js", "runtime-pane-transcript-protocol.js", "transcript-records.js", "transcript-needles.js", "transcript-turns.js", "runtime-pane-process.js", "runtime-pane-worker.js", "runtime-pane-job-owner.js", "runtime-pane-job.ps1"];
12
12
  /** node-pty@1.1.0 npm prebuilds (lockfile integrity), bundled ConPTY 1.23.251008001. */
13
13
  export const PANE_NATIVE_SHA256 = {
14
14
  "prebuilds/win32-x64/conpty.node": "ee8f4e6f4dad71939eecfda11de249400e34bfefe4c8b48af13f3b5476f4035b",
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pane-assets.js","sourceRoot":"","sources":["../src/runtime-pane-assets.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,gCAAgC,EAAE,iCAAiC,CAAC,EAAE;IACtJ,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,wBAAwB,EAAE,yBAAyB,CAAC,EAAE;IAC9I,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3C,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;YACnM,kCAAkC,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB;YACvL,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;SAC7L,EAAE;CACK,CAAC;AACX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,sBAAsB,CAAU,CAAC;AAE7zB,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,iCAAiC,EAAE,kEAAkE;IACrG,8CAA8C,EAAE,kEAAkE;IAClH,uCAAuC,EAAE,kEAAkE;IAC3G,4CAA4C,EAAE,kEAAkE;IAChH,mCAAmC,EAAE,kEAAkE;IACvG,gDAAgD,EAAE,kEAAkE;IACpH,yCAAyC,EAAE,kEAAkE;IAC7G,8CAA8C,EAAE,kEAAkE;CACnH,CAAC"}
1
+ {"version":3,"file":"runtime-pane-assets.js","sourceRoot":"","sources":["../src/runtime-pane-assets.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,gCAAgC,EAAE,iCAAiC,CAAC,EAAE;IACtJ,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,wBAAwB,EAAE,yBAAyB,CAAC,EAAE;IAC9I,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3C,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;YACnM,kCAAkC,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,qBAAqB;YACvL,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;SAC7L,EAAE;CACK,CAAC;AACX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,sBAAsB,CAAU,CAAC;AAE/4B,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,iCAAiC,EAAE,kEAAkE;IACrG,8CAA8C,EAAE,kEAAkE;IAClH,uCAAuC,EAAE,kEAAkE;IAC3G,4CAA4C,EAAE,kEAAkE;IAChH,mCAAmC,EAAE,kEAAkE;IACvG,gDAAgD,EAAE,kEAAkE;IACpH,yCAAyC,EAAE,kEAAkE;IAC7G,8CAA8C,EAAE,kEAAkE;CACnH,CAAC"}
@@ -30,6 +30,7 @@ export declare class RuntimePaneHost {
30
30
  private readonly live;
31
31
  private readonly queues;
32
32
  private closing;
33
+ private readonly general;
33
34
  constructor(options: RuntimePaneHostOptions);
34
35
  list(): RuntimePaneSnapshot[];
35
36
  /** Exact live reservation; no PID adoption or scans of other panes. */
@@ -1,4 +1,6 @@
1
1
  import { RuntimePaneOutputBuffer } from "./runtime-pane-output.js";
2
+ import { RuntimeGeneralWorkspace, loadGeneralKnowledge } from "./runtime-general-workspace.js";
3
+ import { GeneralManagedFileError } from "./runtime-general-protocol.js";
2
4
  /** Runner-owned, persistent CLI panes. A coordinator reconnect neither launches nor replays anything. */
3
5
  import { randomUUID } from "node:crypto";
4
6
  import { RuntimePaneStore } from "./runtime-pane-store.js";
@@ -14,8 +16,10 @@ export class RuntimePaneHost {
14
16
  live = new Map();
15
17
  queues = new Map();
16
18
  closing = false;
19
+ general;
17
20
  constructor(options) {
18
21
  this.options = options;
22
+ this.general = new RuntimeGeneralWorkspace(options.store.directory);
19
23
  }
20
24
  list() {
21
25
  for (const row of this.options.store.list())
@@ -39,9 +43,24 @@ export class RuntimePaneHost {
39
43
  async request(raw, current = () => true) {
40
44
  const request = validateRuntimePaneRequest(raw);
41
45
  if (request.action === "list")
42
- return { hostBootId: this.options.bootId, capabilities: { openDisposition: true, recovery: true, claudeSessionProof: true, codexSessionProof: true }, panes: this.list() };
46
+ return { hostBootId: this.options.bootId, capabilities: { openDisposition: true, recovery: true, claudeSessionProof: true, codexSessionProof: true, generalWorkspace: true }, panes: this.list() };
43
47
  if (this.closing || !this.options.online() || !current())
44
48
  throw Error("Pane runtime is disconnected");
49
+ if (request.action === "general-workspace") {
50
+ const installed = loadGeneralKnowledge(request.cli).hash;
51
+ if (installed !== request.packHash)
52
+ return { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: installed, upgradeRequired: true };
53
+ try {
54
+ return this.general.prepare(request, current, cwd => !this.list().some(row => row.state !== "exited"
55
+ && this.options.store.get(row.paneId)?.launch.cwd.toLowerCase() === cwd.toLowerCase()));
56
+ }
57
+ catch (err) {
58
+ // Closed, fixed-asset diagnostics cross the transport; raw errors, paths and file contents never do.
59
+ if (!(err instanceof GeneralManagedFileError))
60
+ throw err;
61
+ return { version: 1, bindingId: request.bindingId, instance: request.instance, cli: request.cli, packHash: request.packHash, managedFile: err.file };
62
+ }
63
+ }
45
64
  if (request.action === "shutdown") {
46
65
  // No await between the inventory, admission fence and reply. An accepted/queued launch or an unknown
47
66
  // reservation prevents shutdown; disconnect/lease loss alone never tears down a persistent host.
@@ -107,6 +126,8 @@ export class RuntimePaneHost {
107
126
  this.options.store.put(record);
108
127
  return { ...structuredClone(record.snapshot), reattached: false };
109
128
  }
129
+ if (launch.generalWorkspace)
130
+ this.general.verify({ action: "general-workspace", ...launch.generalWorkspace, instance: launch.instance, cli: launch.cli }, launch.cwd);
110
131
  // Synchronous reservation before the first await: parallel opens cannot oversubscribe the machine.
111
132
  this.options.store.put(record);
112
133
  let process;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pane-host.js","sourceRoot":"","sources":["../src/runtime-pane-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-pane-host.js","sourceRoot":"","sources":["../src/runtime-pane-host.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ interface ToolMenu {
3
3
  name: string;
4
4
  [key: string]: unknown;
5
5
  }
6
+ export interface PaneToolFailure {
7
+ tool: string;
8
+ operationId: string;
9
+ reason: string;
10
+ code: string | number | null;
11
+ }
6
12
  export interface PaneMcpAuthority {
7
13
  machineId: string;
8
14
  owner: PaneMcpOwner;
@@ -17,7 +23,9 @@ export interface PaneMcpAuthority {
17
23
  }, current: () => boolean): Promise<{
18
24
  result: unknown;
19
25
  error?: string;
26
+ errorCode?: string | number;
20
27
  }>;
28
+ toolFailed?(details: PaneToolFailure): void;
21
29
  responseWritten(operationId: string): void;
22
30
  /** Stable authenticated connection generation, distinct from one RPC's short-lived current() fence. */
23
31
  transportEpoch?(): string | null;
@@ -5,6 +5,7 @@ import { atomicWriteFileSync } from "./atomic-write.js";
5
5
  import { runtimeJobDigest } from "./runtime-client-store.js";
6
6
  import { validatePaneMcpBody, validatePaneMcpOwner, samePaneMcpOwner } from "./runtime-pane-mcp-protocol.js";
7
7
  import { OUTBOUND_TOOL_SCHEMAS } from "./channel/mcp-tools.js";
8
+ import { redactDiagnostics } from "./diagnostic-redaction.js";
8
9
  const errorResult = (text) => ({ content: [{ type: "text", text }], isError: true });
9
10
  /** One ledger per exact pane launch; no plaintext arguments, result, provider credential or user input is persisted. */
10
11
  export class PaneMcpAuthorityLease {
@@ -111,8 +112,20 @@ export class PaneMcpAuthorityLease {
111
112
  let response;
112
113
  try {
113
114
  const value = await this.authority.invoke({ tool, args: checked, operationId: call.operationId }, allowed);
114
- if (value.error)
115
- response = errorResult("AgEnD tool operation failed; inspect its operation before retrying");
115
+ if (value.error) {
116
+ // No args, reply bodies or raw provider errors in diagnostics. Redact BEFORE truncating so a
117
+ // credential cannot survive as a partial token. An absent lower-level code stays explicitly unknown.
118
+ const reason = value.error.length > 65_536 ? "Tool failure reason exceeded the diagnostic limit"
119
+ : redactDiagnostics(value.error).replace(/[\r\n]+/g, " ").slice(0, 1000);
120
+ const code = typeof value.errorCode === "number" && Number.isSafeInteger(value.errorCode) ? value.errorCode
121
+ : typeof value.errorCode === "string" ? (value.errorCode.length > 4096 ? "[REDACTED]" : redactDiagnostics(value.errorCode)).slice(0, 80) : null;
122
+ try {
123
+ this.authority.toolFailed?.({ tool, operationId: call.operationId, reason, code });
124
+ }
125
+ catch { /* Logging cannot change a settled tool outcome. */ }
126
+ response = errorResult(`AgEnD tool operation failed: ${reason}${code === null ? "" : ` (code: ${code})`}. Inspect operation ${call.operationId} before retrying.`);
127
+ response.structuredContent = { error: { reason, code, operationId: call.operationId } };
128
+ }
116
129
  else {
117
130
  const text = typeof value.result === "string" ? value.result : JSON.stringify(value.result);
118
131
  response = text === undefined ? errorResult("AgEnD returned no tool result") : { content: [{ type: "text", text }] };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pane-mcp.js","sourceRoot":"","sources":["../src/runtime-pane-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-pane-mcp.js","sourceRoot":"","sources":["../src/runtime-pane-mcp.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /** Coordinator-side pane handle. Remote PIDs are never exposed as local supervision targets. */
2
2
  import { EventEmitter } from "node:events";
3
3
  import { type RuntimePaneLaunch, type RuntimePaneRequest, type RuntimePaneSnapshot } from "./runtime-pane-protocol.js";
4
- import type { Pane, PaneHost, PaneInputProof, PaneKey, PaneObservation, PaneSize, PaneStatus } from "./pane-port.js";
4
+ import type { Pane, PaneHost, PaneInputProof, PaneInputDiagnostic, PaneKey, PaneObservation, PaneSize, PaneStatus } from "./pane-port.js";
5
5
  import type { RuntimeCoordinatorEvent } from "./runtime-coordinator.js";
6
6
  import { type PaneTranscriptBaseline, type PaneTranscriptCursor, type PaneTranscriptWireBatch, type RuntimeTranscriptReference } from "./runtime-pane-transcript-protocol.js";
7
7
  export interface PaneEndpoint {
@@ -22,6 +22,11 @@ export declare class RuntimePanePort implements Pane {
22
22
  private lastObservation;
23
23
  private inputCapture;
24
24
  private inputNotSent;
25
+ private inputDiagnostic;
26
+ private consecutiveRefusals;
27
+ private refusalLogger?;
28
+ setInputRefusalLogger(log: (details: PaneInputDiagnostic) => void): void;
29
+ getLastInputDiagnostic(): PaneInputDiagnostic | null;
25
30
  constructor(endpoint: PaneEndpoint, file: string, launch: RuntimePaneLaunch, inputIsComposer?: (screen: string) => boolean);
26
31
  private save;
27
32
  private serialize;
@@ -20,6 +20,11 @@ export class RuntimePanePort {
20
20
  lastObservation;
21
21
  inputCapture;
22
22
  inputNotSent = false;
23
+ inputDiagnostic = null;
24
+ consecutiveRefusals = 0;
25
+ refusalLogger;
26
+ setInputRefusalLogger(log) { this.refusalLogger = log; }
27
+ getLastInputDiagnostic() { return this.inputDiagnostic ? { ...this.inputDiagnostic } : null; }
23
28
  constructor(endpoint, file, launch, inputIsComposer = () => false) {
24
29
  this.endpoint = endpoint;
25
30
  this.file = file;
@@ -234,16 +239,32 @@ export class RuntimePanePort {
234
239
  this.record.pending = { action: "reconcile", paneId: request.paneId, launchId: request.launchId,
235
240
  operationId: request.operationId, sequence: request.sequence, digest: runtimeJobDigest(request) };
236
241
  this.save();
242
+ if (request.action === "input" || request.action === "key" || request.action === "edit") {
243
+ this.inputDiagnostic = { expectedSeq: request.expectedSeq, observedSeq: null, operationId: request.operationId,
244
+ commandSequence: request.sequence, action: request.action, retryCount: proof?.retryCount ?? this.consecutiveRefusals };
245
+ }
237
246
  const snapshot = this.accept(await this.endpoint.call(request));
238
247
  this.record.snapshot = snapshot;
239
248
  delete this.record.pending;
240
249
  this.save();
241
250
  this.error = null;
251
+ if (this.inputDiagnostic?.operationId === request.operationId)
252
+ this.inputDiagnostic.observedSeq = snapshot.seq;
242
253
  if (snapshot.inputRefused) {
243
254
  this.inputNotSent = true;
244
255
  this.error = "Pane changed after observation; input was not sent";
256
+ if (request.action === "input" || request.action === "key" || request.action === "edit") {
257
+ this.inputDiagnostic = { expectedSeq: request.expectedSeq, observedSeq: snapshot.seq, operationId: request.operationId,
258
+ commandSequence: request.sequence, action: request.action, retryCount: proof?.retryCount ?? this.consecutiveRefusals };
259
+ this.consecutiveRefusals++;
260
+ try {
261
+ this.refusalLogger?.({ ...this.inputDiagnostic });
262
+ }
263
+ catch { /* Diagnostics never change a positive zero-input ACK. */ }
264
+ }
245
265
  return false;
246
266
  }
267
+ this.consecutiveRefusals = 0;
247
268
  return true;
248
269
  }
249
270
  catch {