opensip-cli 0.1.12 → 0.1.14

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 (214) hide show
  1. package/dist/bootstrap/artifact-seams.d.ts +7 -0
  2. package/dist/bootstrap/artifact-seams.d.ts.map +1 -0
  3. package/dist/bootstrap/artifact-seams.js +53 -0
  4. package/dist/bootstrap/artifact-seams.js.map +1 -0
  5. package/dist/bootstrap/atomic-artifact-write.d.ts +19 -0
  6. package/dist/bootstrap/atomic-artifact-write.d.ts.map +1 -0
  7. package/dist/bootstrap/atomic-artifact-write.js +68 -0
  8. package/dist/bootstrap/atomic-artifact-write.js.map +1 -0
  9. package/dist/bootstrap/baseline-seams.d.ts.map +1 -1
  10. package/dist/bootstrap/baseline-seams.js +79 -27
  11. package/dist/bootstrap/baseline-seams.js.map +1 -1
  12. package/dist/bootstrap/build-command-registration-input.d.ts.map +1 -1
  13. package/dist/bootstrap/build-command-registration-input.js.map +1 -1
  14. package/dist/bootstrap/build-external-worker-child-env.d.ts +25 -0
  15. package/dist/bootstrap/build-external-worker-child-env.d.ts.map +1 -0
  16. package/dist/bootstrap/build-external-worker-child-env.js +71 -0
  17. package/dist/bootstrap/build-external-worker-child-env.js.map +1 -0
  18. package/dist/bootstrap/build-per-run-scope.d.ts.map +1 -1
  19. package/dist/bootstrap/build-per-run-scope.js +4 -1
  20. package/dist/bootstrap/build-per-run-scope.js.map +1 -1
  21. package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
  22. package/dist/bootstrap/config-and-capabilities.js +12 -94
  23. package/dist/bootstrap/config-and-capabilities.js.map +1 -1
  24. package/dist/bootstrap/config-declarations.d.ts +23 -0
  25. package/dist/bootstrap/config-declarations.d.ts.map +1 -0
  26. package/dist/bootstrap/config-declarations.js +73 -0
  27. package/dist/bootstrap/config-declarations.js.map +1 -0
  28. package/dist/bootstrap/decorate-tool-primary.d.ts.map +1 -1
  29. package/dist/bootstrap/decorate-tool-primary.js.map +1 -1
  30. package/dist/bootstrap/deliver-envelope.d.ts +4 -1
  31. package/dist/bootstrap/deliver-envelope.d.ts.map +1 -1
  32. package/dist/bootstrap/deliver-envelope.js +38 -10
  33. package/dist/bootstrap/deliver-envelope.js.map +1 -1
  34. package/dist/bootstrap/dispatch-fork-core.d.ts +1 -1
  35. package/dist/bootstrap/dispatch-fork-core.d.ts.map +1 -1
  36. package/dist/bootstrap/dispatch-fork-core.js +73 -75
  37. package/dist/bootstrap/dispatch-fork-core.js.map +1 -1
  38. package/dist/bootstrap/dispatch-host-rpc-handler.d.ts.map +1 -1
  39. package/dist/bootstrap/dispatch-host-rpc-handler.js +4 -0
  40. package/dist/bootstrap/dispatch-host-rpc-handler.js.map +1 -1
  41. package/dist/bootstrap/dispatch-replay-result.d.ts.map +1 -1
  42. package/dist/bootstrap/dispatch-replay-result.js +3 -0
  43. package/dist/bootstrap/dispatch-replay-result.js.map +1 -1
  44. package/dist/bootstrap/io-plane.d.ts.map +1 -1
  45. package/dist/bootstrap/io-plane.js +4 -1
  46. package/dist/bootstrap/io-plane.js.map +1 -1
  47. package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
  48. package/dist/bootstrap/load-tool-capabilities.js +34 -3
  49. package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
  50. package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
  51. package/dist/bootstrap/register-tools-discovery.js +2 -0
  52. package/dist/bootstrap/register-tools-discovery.js.map +1 -1
  53. package/dist/bootstrap/report-failure.d.ts +28 -0
  54. package/dist/bootstrap/report-failure.d.ts.map +1 -0
  55. package/dist/bootstrap/report-failure.js +135 -0
  56. package/dist/bootstrap/report-failure.js.map +1 -0
  57. package/dist/bootstrap/scope-access.d.ts +1 -1
  58. package/dist/bootstrap/scope-access.d.ts.map +1 -1
  59. package/dist/bootstrap/scope-access.js +10 -2
  60. package/dist/bootstrap/scope-access.js.map +1 -1
  61. package/dist/bootstrap/state-lock-policy.d.ts +19 -0
  62. package/dist/bootstrap/state-lock-policy.d.ts.map +1 -0
  63. package/dist/bootstrap/state-lock-policy.js +86 -0
  64. package/dist/bootstrap/state-lock-policy.js.map +1 -0
  65. package/dist/bootstrap/synthesize-external-tool.d.ts.map +1 -1
  66. package/dist/bootstrap/synthesize-external-tool.js +11 -1
  67. package/dist/bootstrap/synthesize-external-tool.js.map +1 -1
  68. package/dist/bootstrap/tool-command-dispatch-types.d.ts +23 -2
  69. package/dist/bootstrap/tool-command-dispatch-types.d.ts.map +1 -1
  70. package/dist/bootstrap/tool-command-worker-config-pass.d.ts.map +1 -1
  71. package/dist/bootstrap/tool-command-worker-config-pass.js.map +1 -1
  72. package/dist/bootstrap/tool-command-worker-context.d.ts +4 -3
  73. package/dist/bootstrap/tool-command-worker-context.d.ts.map +1 -1
  74. package/dist/bootstrap/tool-command-worker-context.js +28 -4
  75. package/dist/bootstrap/tool-command-worker-context.js.map +1 -1
  76. package/dist/bootstrap/tool-command-worker-entry.d.ts.map +1 -1
  77. package/dist/bootstrap/tool-command-worker-entry.js +38 -31
  78. package/dist/bootstrap/tool-command-worker-entry.js.map +1 -1
  79. package/dist/bootstrap/tool-command-worker-result.d.ts +25 -0
  80. package/dist/bootstrap/tool-command-worker-result.d.ts.map +1 -0
  81. package/dist/bootstrap/tool-command-worker-result.js +60 -0
  82. package/dist/bootstrap/tool-command-worker-result.js.map +1 -0
  83. package/dist/bootstrap/tool-trust.d.ts +12 -0
  84. package/dist/bootstrap/tool-trust.d.ts.map +1 -1
  85. package/dist/bootstrap/tool-trust.js +29 -5
  86. package/dist/bootstrap/tool-trust.js.map +1 -1
  87. package/dist/bootstrap/validate-tool.d.ts.map +1 -1
  88. package/dist/bootstrap/validate-tool.js +4 -1
  89. package/dist/bootstrap/validate-tool.js.map +1 -1
  90. package/dist/cli-context.d.ts.map +1 -1
  91. package/dist/cli-context.js +42 -8
  92. package/dist/cli-context.js.map +1 -1
  93. package/dist/commands/agent-catalog.d.ts +8 -7
  94. package/dist/commands/agent-catalog.d.ts.map +1 -1
  95. package/dist/commands/agent-catalog.js +129 -60
  96. package/dist/commands/agent-catalog.js.map +1 -1
  97. package/dist/commands/clear.d.ts.map +1 -1
  98. package/dist/commands/clear.js +12 -2
  99. package/dist/commands/clear.js.map +1 -1
  100. package/dist/commands/config.d.ts +22 -0
  101. package/dist/commands/config.d.ts.map +1 -0
  102. package/dist/commands/config.js +135 -0
  103. package/dist/commands/config.js.map +1 -0
  104. package/dist/commands/configure.d.ts.map +1 -1
  105. package/dist/commands/configure.js +5 -1
  106. package/dist/commands/configure.js.map +1 -1
  107. package/dist/commands/host-command-specs.d.ts.map +1 -1
  108. package/dist/commands/host-command-specs.js +13 -5
  109. package/dist/commands/host-command-specs.js.map +1 -1
  110. package/dist/commands/host-subcommand-config.d.ts +7 -0
  111. package/dist/commands/host-subcommand-config.d.ts.map +1 -0
  112. package/dist/commands/host-subcommand-config.js +75 -0
  113. package/dist/commands/host-subcommand-config.js.map +1 -0
  114. package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
  115. package/dist/commands/host-subcommand-groups.js +7 -1
  116. package/dist/commands/host-subcommand-groups.js.map +1 -1
  117. package/dist/commands/host-subcommand-sessions.d.ts.map +1 -1
  118. package/dist/commands/host-subcommand-sessions.js +8 -4
  119. package/dist/commands/host-subcommand-sessions.js.map +1 -1
  120. package/dist/commands/init/agents-md.d.ts +6 -0
  121. package/dist/commands/init/agents-md.d.ts.map +1 -0
  122. package/dist/commands/init/agents-md.js +52 -0
  123. package/dist/commands/init/agents-md.js.map +1 -0
  124. package/dist/commands/init/language-detection.d.ts.map +1 -1
  125. package/dist/commands/init/language-detection.js +8 -3
  126. package/dist/commands/init/language-detection.js.map +1 -1
  127. package/dist/commands/init/scaffold-writer.d.ts.map +1 -1
  128. package/dist/commands/init/scaffold-writer.js +6 -1
  129. package/dist/commands/init/scaffold-writer.js.map +1 -1
  130. package/dist/commands/init.d.ts +5 -4
  131. package/dist/commands/init.d.ts.map +1 -1
  132. package/dist/commands/init.js +10 -5
  133. package/dist/commands/init.js.map +1 -1
  134. package/dist/commands/mount-command-spec.d.ts +3 -1
  135. package/dist/commands/mount-command-spec.d.ts.map +1 -1
  136. package/dist/commands/mount-command-spec.js +27 -4
  137. package/dist/commands/mount-command-spec.js.map +1 -1
  138. package/dist/commands/plugin-host-ops.d.ts.map +1 -1
  139. package/dist/commands/plugin-host-ops.js +11 -2
  140. package/dist/commands/plugin-host-ops.js.map +1 -1
  141. package/dist/commands/plugin.d.ts.map +1 -1
  142. package/dist/commands/plugin.js +11 -2
  143. package/dist/commands/plugin.js.map +1 -1
  144. package/dist/commands/session-show.js +5 -46
  145. package/dist/commands/session-show.js.map +1 -1
  146. package/dist/commands/shared.d.ts +5 -1
  147. package/dist/commands/shared.d.ts.map +1 -1
  148. package/dist/commands/tools/create-template-writer.d.ts +16 -0
  149. package/dist/commands/tools/create-template-writer.d.ts.map +1 -0
  150. package/dist/commands/tools/create-template-writer.js +39 -0
  151. package/dist/commands/tools/create-template-writer.js.map +1 -0
  152. package/dist/commands/tools/create-templates.d.ts +19 -0
  153. package/dist/commands/tools/create-templates.d.ts.map +1 -0
  154. package/dist/commands/tools/create-templates.js +228 -0
  155. package/dist/commands/tools/create-templates.js.map +1 -0
  156. package/dist/commands/tools/create.d.ts +4 -1
  157. package/dist/commands/tools/create.d.ts.map +1 -1
  158. package/dist/commands/tools/create.js +35 -50
  159. package/dist/commands/tools/create.js.map +1 -1
  160. package/dist/commands/tools/index.d.ts.map +1 -1
  161. package/dist/commands/tools/index.js +8 -0
  162. package/dist/commands/tools/index.js.map +1 -1
  163. package/dist/commands/tools/install.d.ts.map +1 -1
  164. package/dist/commands/tools/install.js +21 -2
  165. package/dist/commands/tools/install.js.map +1 -1
  166. package/dist/commands/tools/storage-contract-checks.d.ts.map +1 -1
  167. package/dist/commands/tools/storage-contract-checks.js.map +1 -1
  168. package/dist/commands/tools/uninstall.d.ts.map +1 -1
  169. package/dist/commands/tools/uninstall.js +14 -3
  170. package/dist/commands/tools/uninstall.js.map +1 -1
  171. package/dist/commands/tools/validate.d.ts.map +1 -1
  172. package/dist/commands/tools/validate.js +51 -6
  173. package/dist/commands/tools/validate.js.map +1 -1
  174. package/dist/commands/uninstall/targets.d.ts.map +1 -1
  175. package/dist/commands/uninstall/targets.js +8 -1
  176. package/dist/commands/uninstall/targets.js.map +1 -1
  177. package/dist/commands/uninstall.d.ts.map +1 -1
  178. package/dist/commands/uninstall.js +12 -2
  179. package/dist/commands/uninstall.js.map +1 -1
  180. package/dist/env/host-env-specs.d.ts.map +1 -1
  181. package/dist/env/host-env-specs.js +57 -4
  182. package/dist/env/host-env-specs.js.map +1 -1
  183. package/dist/error-handler.d.ts.map +1 -1
  184. package/dist/error-handler.js +28 -6
  185. package/dist/error-handler.js.map +1 -1
  186. package/dist/index.js +2 -0
  187. package/dist/index.js.map +1 -1
  188. package/dist/report-compose.d.ts.map +1 -1
  189. package/dist/report-compose.js +21 -3
  190. package/dist/report-compose.js.map +1 -1
  191. package/dist/telemetry/sdk-init.d.ts.map +1 -1
  192. package/dist/telemetry/sdk-init.js +3 -1
  193. package/dist/telemetry/sdk-init.js.map +1 -1
  194. package/dist/ui/result-to-view.d.ts.map +1 -1
  195. package/dist/ui/result-to-view.js +21 -1
  196. package/dist/ui/result-to-view.js.map +1 -1
  197. package/dist/ui/views/init-view.d.ts.map +1 -1
  198. package/dist/ui/views/init-view.js +14 -2
  199. package/dist/ui/views/init-view.js.map +1 -1
  200. package/dist/ui/views/misc-views.d.ts +13 -0
  201. package/dist/ui/views/misc-views.d.ts.map +1 -1
  202. package/dist/ui/views/misc-views.js +77 -5
  203. package/dist/ui/views/misc-views.js.map +1 -1
  204. package/dist/ui/views/plugin-view.d.ts.map +1 -1
  205. package/dist/ui/views/plugin-view.js +4 -1
  206. package/dist/ui/views/plugin-view.js.map +1 -1
  207. package/dist/ui/views/tools-views.d.ts.map +1 -1
  208. package/dist/ui/views/tools-views.js +8 -7
  209. package/dist/ui/views/tools-views.js.map +1 -1
  210. package/dist/update-notifier.d.ts +3 -0
  211. package/dist/update-notifier.d.ts.map +1 -1
  212. package/dist/update-notifier.js +3 -0
  213. package/dist/update-notifier.js.map +1 -1
  214. package/package.json +33 -33
@@ -0,0 +1,135 @@
1
+ /**
2
+ * report-failure — host-owned resolver and fan-out for {@link ReportFailureDetail}
3
+ * (Plan 06). Combines core error types with contracts exit-code policy.
4
+ */
5
+ import { EXIT_CODES, mapToolErrorToExitCode } from '@opensip-cli/contracts';
6
+ import { SystemError, ToolError, formatCliDiagnosticHuman, } from '@opensip-cli/core';
7
+ const DEFAULT_FAILURE_EVT = 'tool.command.failed';
8
+ const MODULE_TAG = 'cli:report-failure';
9
+ const MAX_DERIVED_ERROR_MESSAGE_LENGTH = 1000;
10
+ function truncateDerivedMessage(message) {
11
+ if (message.length <= MAX_DERIVED_ERROR_MESSAGE_LENGTH)
12
+ return message;
13
+ return `${message.slice(0, MAX_DERIVED_ERROR_MESSAGE_LENGTH - 3)}...`;
14
+ }
15
+ function stringFromUnknown(error) {
16
+ try {
17
+ return String(error);
18
+ }
19
+ catch {
20
+ return '<unstringifiable thrown value>';
21
+ }
22
+ }
23
+ function deriveErrorDefaults(error) {
24
+ if (error instanceof ToolError) {
25
+ return {
26
+ message: truncateDerivedMessage(error.message),
27
+ exitCode: mapToolErrorToExitCode(error),
28
+ code: error.code,
29
+ };
30
+ }
31
+ if (error instanceof Error) {
32
+ return {
33
+ message: truncateDerivedMessage(error.message),
34
+ exitCode: EXIT_CODES.RUNTIME_ERROR,
35
+ };
36
+ }
37
+ if (error === undefined) {
38
+ return { exitCode: EXIT_CODES.RUNTIME_ERROR };
39
+ }
40
+ return {
41
+ message: truncateDerivedMessage(stringFromUnknown(error)),
42
+ exitCode: EXIT_CODES.RUNTIME_ERROR,
43
+ };
44
+ }
45
+ /** Resolve a {@link ReportFailureDetail} into a plain, effect-ready payload. */
46
+ function applyErrorDefaults(detail, fields) {
47
+ if (detail.error === undefined)
48
+ return fields;
49
+ const derived = deriveErrorDefaults(detail.error);
50
+ return {
51
+ message: fields.message ?? derived.message,
52
+ code: fields.code ?? derived.code,
53
+ exitCode: fields.exitCode ?? derived.exitCode,
54
+ };
55
+ }
56
+ export function resolveReportFailure(detail) {
57
+ const derived = applyErrorDefaults(detail, {
58
+ message: detail.message,
59
+ exitCode: detail.exitCode,
60
+ code: detail.code,
61
+ });
62
+ const message = derived.message;
63
+ const exitCode = derived.exitCode;
64
+ const code = derived.code;
65
+ if (message === undefined || exitCode === undefined) {
66
+ throw new SystemError('reportFailure: message and exitCode are required when no resolvable error is provided');
67
+ }
68
+ return {
69
+ message,
70
+ exitCode,
71
+ ...(detail.suggestion === undefined ? {} : { suggestion: detail.suggestion }),
72
+ ...(code === undefined ? {} : { code }),
73
+ ...(detail.diagnostic === undefined ? {} : { diagnostic: detail.diagnostic }),
74
+ ...(detail.jsonRequested === undefined ? {} : { jsonRequested: detail.jsonRequested }),
75
+ ...(detail.log === undefined ? {} : { log: detail.log }),
76
+ };
77
+ }
78
+ /** Convert a resolved detail to the wire-safe worker replay shape (no Error instances). */
79
+ export function toReportedFailureWire(resolved) {
80
+ return resolved;
81
+ }
82
+ /** Build the async {@link ToolCliContext.reportFailure} seam. */
83
+ export function createReportFailure(deps) {
84
+ const writeStderr = deps.writeStderr ?? ((text) => process.stderr.write(text));
85
+ return async (detail) => {
86
+ const resolved = resolveReportFailure(detail);
87
+ const log = deps.getLogger();
88
+ const logDetail = resolved.log ?? {
89
+ level: 'warn',
90
+ evt: DEFAULT_FAILURE_EVT,
91
+ data: {
92
+ message: resolved.message,
93
+ ...(resolved.code === undefined ? {} : { code: resolved.code }),
94
+ exitCode: resolved.exitCode,
95
+ },
96
+ };
97
+ const logEntry = {
98
+ evt: logDetail.evt,
99
+ module: MODULE_TAG,
100
+ message: resolved.message,
101
+ exitCode: resolved.exitCode,
102
+ ...(resolved.code === undefined ? {} : { code: resolved.code }),
103
+ ...logDetail.data,
104
+ };
105
+ if (logDetail.level === 'error') {
106
+ log.error(logEntry);
107
+ }
108
+ else {
109
+ log.warn(logEntry);
110
+ }
111
+ deps.setExitCode(resolved.exitCode);
112
+ deps.getDiagnostics?.()?.event('execute', 'error', resolved.message);
113
+ if (resolved.jsonRequested === true) {
114
+ deps.emitError({
115
+ message: resolved.message,
116
+ exitCode: resolved.exitCode,
117
+ ...(resolved.suggestion === undefined ? {} : { suggestion: resolved.suggestion }),
118
+ ...(resolved.code === undefined ? {} : { code: resolved.code }),
119
+ ...(resolved.diagnostic === undefined ? {} : { diagnostic: resolved.diagnostic }),
120
+ });
121
+ return;
122
+ }
123
+ if (resolved.diagnostic !== undefined) {
124
+ writeStderr(`${formatCliDiagnosticHuman(resolved.diagnostic)}\n`);
125
+ return;
126
+ }
127
+ await deps.render({
128
+ type: 'error',
129
+ message: resolved.message,
130
+ ...(resolved.suggestion === undefined ? {} : { suggestion: resolved.suggestion }),
131
+ exitCode: resolved.exitCode,
132
+ });
133
+ };
134
+ }
135
+ //# sourceMappingURL=report-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-failure.js","sourceRoot":"","sources":["../../src/bootstrap/report-failure.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ export interface DatastoreThunk {
57
57
  * `project.scope === 'project'` first or handle the throw as a "no project
58
58
  * found" error.
59
59
  */
60
- export declare function buildDatastoreThunk(project: ProjectContext, log?: Logger): DatastoreThunk;
60
+ export declare function buildDatastoreThunk(project: ProjectContext, log?: Logger, commandName?: string): DatastoreThunk;
61
61
  /**
62
62
  * Open (or return cached) project-local SQLite DataStore via the
63
63
  * scope's datastore thunk. Shared between tool action bodies and
@@ -1 +1 @@
1
- {"version":3,"file":"scope-access.d.ts","sourceRoot":"","sources":["../../src/bootstrap/scope-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,QAAQ,EAKd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE1E;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI,QAAQ,CAWpC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAS9C;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,SAAS,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,GAAG,GAAE,MAAsB,GAC1B,cAAc,CA8BhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAsB,GAAG,SAAS,CAG1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAgB/C;AAED,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,GAAG,cAAc,EAC/B,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,CAAC;AACnB,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"scope-access.d.ts","sourceRoot":"","sources":["../../src/bootstrap/scope-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,QAAQ,EAKd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI1E;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI,QAAQ,CAWpC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAS9C;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,SAAS,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,EACvB,GAAG,GAAE,MAAsB,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CAqChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAsB,GAAG,SAAS,CAG1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAgB/C;AAED,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,GAAG,cAAc,EAC/B,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,CAAC;AACnB,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,SAAS,GAAG,SAAS,CAAC"}
@@ -14,6 +14,7 @@
14
14
  */
15
15
  import { ConfigurationError, SystemError, currentScope, logger as defaultLogger, resolveProjectPaths, } from '@opensip-cli/core';
16
16
  import { DataStoreFactory } from '@opensip-cli/datastore';
17
+ import { buildDatastoreLockContext } from './state-lock-policy.js';
17
18
  /**
18
19
  * Strict reader: the only way to obtain the per-run scope is `currentScope()`
19
20
  * (entered by pre-action-hook or explicit runWithScope in tests). All previous
@@ -57,7 +58,7 @@ export function getCurrentProjectRoot() {
57
58
  * `project.scope === 'project'` first or handle the throw as a "no project
58
59
  * found" error.
59
60
  */
60
- export function buildDatastoreThunk(project, log = defaultLogger) {
61
+ export function buildDatastoreThunk(project, log = defaultLogger, commandName) {
61
62
  let cached;
62
63
  const thunk = (() => {
63
64
  if (cached)
@@ -67,7 +68,14 @@ export function buildDatastoreThunk(project, log = defaultLogger) {
67
68
  'errored earlier with "No OpenSIP CLI project found" before touching this.', { code: 'SYSTEM.BOOTSTRAP.DATASTORE_OUTSIDE_PROJECT' });
68
69
  }
69
70
  const path = `${resolveProjectPaths(project.projectRoot).runtimeDir}/datastore.sqlite`;
70
- cached = DataStoreFactory.open({ backend: 'sqlite', path });
71
+ cached = DataStoreFactory.open({
72
+ backend: 'sqlite',
73
+ path,
74
+ lock: buildDatastoreLockContext(log, {
75
+ cwd: project.projectRoot,
76
+ commandName,
77
+ }),
78
+ });
71
79
  log.info({
72
80
  evt: 'cli.datastore.opened',
73
81
  module: 'cli:context',
@@ -1 +1 @@
1
- {"version":3,"file":"scope-access.js","sourceRoot":"","sources":["../../src/bootstrap/scope-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-access.js","sourceRoot":"","sources":["../../src/bootstrap/scope-access.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * state-lock-policy — resolves datastore/artifact write-lock timing from host env.
3
+ *
4
+ * Local interactive runs wait longer and recover stale locks; CI/non-interactive
5
+ * runs fail fast by default. All overrides flow through {@link hostEnv}.
6
+ */
7
+ import { type FileLockEvent, type Logger, type StateLockPolicy } from '@opensip-cli/core';
8
+ import type { DataStoreLockContext } from '@opensip-cli/datastore';
9
+ /** Resolve lock timing policy from host env and interactive/CI context. */
10
+ export declare function resolveStateLockPolicy(input?: {
11
+ readonly commandName?: string;
12
+ }): StateLockPolicy;
13
+ export declare function createStateLockEventBridge(logger: Logger): (event: FileLockEvent) => void;
14
+ /** Build datastore lock context for {@link DataStoreFactory.open}. */
15
+ export declare function buildDatastoreLockContext(logger: Logger, input?: {
16
+ readonly commandName?: string;
17
+ readonly cwd?: string;
18
+ }): DataStoreLockContext;
19
+ //# sourceMappingURL=state-lock-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-lock-policy.d.ts","sourceRoot":"","sources":["../../src/bootstrap/state-lock-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAsBnE,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAoBjG;AAWD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CA4BzF;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,oBAAoB,CAStB"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * state-lock-policy — resolves datastore/artifact write-lock timing from host env.
3
+ *
4
+ * Local interactive runs wait longer and recover stale locks; CI/non-interactive
5
+ * runs fail fast by default. All overrides flow through {@link hostEnv}.
6
+ */
7
+ import { basename } from 'node:path';
8
+ import { ConfigurationError, currentScope, } from '@opensip-cli/core';
9
+ import { hostEnv } from '../env/host-env-specs.js';
10
+ const DEFAULT_LOCAL_WAIT_MS = 30_000;
11
+ const DEFAULT_CI_WAIT_MS = 5000;
12
+ const DEFAULT_STALE_MS = 600_000;
13
+ const DEFAULT_HEARTBEAT_MS = 2000;
14
+ function parseNonNegativeLockOverride(raw, name) {
15
+ const value = Number(raw);
16
+ if (!Number.isInteger(value) || value < 0) {
17
+ throw new ConfigurationError(`${name} must be a non-negative integer`, {
18
+ code: 'CONFIGURATION.STATE_LOCK.INVALID_OVERRIDE',
19
+ });
20
+ }
21
+ return value;
22
+ }
23
+ function isCiEnv() {
24
+ const ci = hostEnv.get('CI');
25
+ return ci !== undefined && ci.length > 0 && ci !== '0' && ci.toLowerCase() !== 'false';
26
+ }
27
+ /** Resolve lock timing policy from host env and interactive/CI context. */
28
+ export function resolveStateLockPolicy(input) {
29
+ const waitOverride = hostEnv.get('OPENSIP_STATE_LOCK_WAIT_MS');
30
+ const staleOverride = hostEnv.get('OPENSIP_STATE_LOCK_STALE_MS');
31
+ const defaultWait = isCiEnv() ? DEFAULT_CI_WAIT_MS : DEFAULT_LOCAL_WAIT_MS;
32
+ const waitMs = waitOverride === undefined
33
+ ? defaultWait
34
+ : parseNonNegativeLockOverride(waitOverride, 'OPENSIP_STATE_LOCK_WAIT_MS');
35
+ const staleMs = staleOverride === undefined
36
+ ? DEFAULT_STALE_MS
37
+ : parseNonNegativeLockOverride(staleOverride, 'OPENSIP_STATE_LOCK_STALE_MS');
38
+ void input?.commandName;
39
+ return {
40
+ waitMs,
41
+ staleMs,
42
+ heartbeatMs: DEFAULT_HEARTBEAT_MS,
43
+ };
44
+ }
45
+ /** Map generic lock events to logger + RunDiagnostics (phase `persist`). */
46
+ const LOCK_EVENT_LOGGER_NAMES = {
47
+ 'acquire.start': 'state.lock.acquire.start',
48
+ 'acquire.wait': 'state.lock.acquire.wait',
49
+ 'acquire.complete': 'state.lock.acquire.complete',
50
+ 'acquire.timeout': 'state.lock.acquire.timeout',
51
+ 'stale.recovered': 'state.lock.stale.recovered',
52
+ };
53
+ export function createStateLockEventBridge(logger) {
54
+ return (event) => {
55
+ const loggerEvt = LOCK_EVENT_LOGGER_NAMES[event.kind];
56
+ logger.info({
57
+ evt: loggerEvt,
58
+ module: 'cli:state-lock',
59
+ resource: event.resource,
60
+ operation: event.operation,
61
+ waitMs: event.waitMs,
62
+ ownerPid: event.ownerPid,
63
+ ownerHostname: event.ownerHostname,
64
+ });
65
+ const scope = currentScope();
66
+ scope?.diagnostics?.event('persist', event.kind === 'acquire.timeout' ? 'warn' : 'info', loggerEvt, {
67
+ resource: event.resource,
68
+ operation: event.operation,
69
+ waitMs: event.waitMs,
70
+ ownerPid: event.ownerPid,
71
+ ownerHostname: event.ownerHostname,
72
+ });
73
+ };
74
+ }
75
+ /** Build datastore lock context for {@link DataStoreFactory.open}. */
76
+ export function buildDatastoreLockContext(logger, input) {
77
+ const scope = currentScope();
78
+ return {
79
+ policy: resolveStateLockPolicy(input),
80
+ runId: scope?.runId,
81
+ command: input?.commandName,
82
+ cwdBasename: input?.cwd ? basename(input.cwd) : basename(process.cwd()),
83
+ onLockEvent: createStateLockEventBridge(logger),
84
+ };
85
+ }
86
+ //# sourceMappingURL=state-lock-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-lock-policy.js","sourceRoot":"","sources":["../../src/bootstrap/state-lock-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize-external-tool.d.ts","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,UAAU,EAOV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAsC3B,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,CAAC,OAAO,UAAU,CAAC,CA4B/B"}
1
+ {"version":3,"file":"synthesize-external-tool.d.ts","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,UAAU,EAQV,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAmD3B,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,CAAC,OAAO,UAAU,CAAC,CA4B/B"}
@@ -3,7 +3,7 @@
3
3
  * EXTERNAL provenance, so the HOST can register + mount an external tool's
4
4
  * commands WITHOUT importing its untrusted runtime (ADR-0054 M4-G capstone).
5
5
  */
6
- import { assertCommandSpec, defineTool, SystemError, } from '@opensip-cli/core';
6
+ import { assertCommandSpec, defineTool, PluginIncompatibleError, SystemError, } from '@opensip-cli/core';
7
7
  function externalDispatchStub(commandName) {
8
8
  return () => {
9
9
  throw new SystemError(`external tool command '${commandName}' handler was invoked in the host process; ` +
@@ -14,7 +14,17 @@ function externalDispatchStub(commandName) {
14
14
  function manifestOptionToSpec(option) {
15
15
  return { ...option };
16
16
  }
17
+ /**
18
+ * @throws {PluginIncompatibleError} When an external manifest declares an in-process-only output mode.
19
+ */
17
20
  function manifestCommandToSpec(cmd) {
21
+ if (cmd.output === 'live-view') {
22
+ throw new PluginIncompatibleError(`external tool command '${cmd.name}' declares output 'live-view', which is bundled/in-process only; ` +
23
+ "external commands must use 'command-result', 'signal-envelope', or 'raw-stream'.", {
24
+ code: 'PLUGIN_INCOMPATIBLE',
25
+ diagnostic: "external command output 'live-view' is not supported",
26
+ });
27
+ }
18
28
  const spec = {
19
29
  name: cmd.name,
20
30
  description: cmd.description,
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize-external-tool.js","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synthesize-external-tool.js","sourceRoot":"","sources":["../../src/bootstrap/synthesize-external-tool.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@
30
30
  * still fail loud in the worker — Ink/TTY rendering cannot leave the host
31
31
  * (ADR-0054 M4-C mapping table; documented as a later increment).
32
32
  */
33
- import type { CommandOutputMode, ToolSessionContribution, ToolSource } from '@opensip-cli/core';
33
+ import type { CliDiagnostic, CommandOutputMode, ToolSessionContribution, ToolSource } from '@opensip-cli/core';
34
34
  /**
35
35
  * The request the host writes to a temp JSON spec file and forks the worker
36
36
  * with (`fork(workerEntry, [specPath])`). The worker re-resolves + re-imports
@@ -109,7 +109,7 @@ export interface ToolCommandWorkerSpec {
109
109
  * pass, so the UX is identical regardless of which
110
110
  * pass caught the failure.
111
111
  */
112
- export type ToolCommandFailureClass = 'tool-handler-throw' | 'unsupported-seam' | 'host-rpc-failed' | 'command-not-found' | 'runtime-load-failed' | 'bad-spec' | 'config-invalid';
112
+ export type ToolCommandFailureClass = 'tool-handler-throw' | 'unsupported-seam' | 'host-rpc-failed' | 'command-not-found' | 'runtime-load-failed' | 'bad-spec' | 'config-invalid' | 'payload_too_large';
113
113
  /**
114
114
  * The final-result-return payload the worker posts back over IPC once the
115
115
  * command handler resolves. The host replays it through the REAL host
@@ -137,6 +137,23 @@ export interface ToolCommandResult {
137
137
  readonly suggestion?: string;
138
138
  readonly code?: string;
139
139
  };
140
+ /**
141
+ * `ctx.reportFailure(...)` resolved detail — replayed host-side through the
142
+ * real reportFailure seam (Plan 06). Wire-safe plain data only; no Error instances.
143
+ */
144
+ readonly reportedFailure?: {
145
+ readonly message: string;
146
+ readonly exitCode: number;
147
+ readonly suggestion?: string;
148
+ readonly code?: string;
149
+ readonly diagnostic?: CliDiagnostic;
150
+ readonly jsonRequested?: boolean;
151
+ readonly log?: {
152
+ readonly level?: 'warn' | 'error';
153
+ readonly evt: string;
154
+ readonly data?: Readonly<Record<string, unknown>>;
155
+ };
156
+ };
140
157
  /** The last `ctx.setExitCode(...)` value (last-write-wins). */
141
158
  readonly exitCode?: number;
142
159
  /**
@@ -202,6 +219,10 @@ export type HostRpcCall = {
202
219
  readonly seam: 'writeSarif';
203
220
  readonly envelope: unknown;
204
221
  readonly path: string;
222
+ } | {
223
+ readonly seam: 'writeArtifact';
224
+ readonly path: string;
225
+ readonly bytes: string;
205
226
  } | {
206
227
  readonly seam: 'saveBaseline';
207
228
  readonly tool: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-command-dispatch-types.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-dispatch-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-command-dispatch-types.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-dispatch-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,eAAe,CAAC;IACtD,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,kGAAkG;IAClG,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,UAAU,GACV,gBAAgB,GAChB,mBAAmB,CAAC;AAExB;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;QACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QACjC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACb,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;YAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SACnD,CAAC;KACH,CAAC;IACF,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAeD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;AAEpE,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1D;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;CACH,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GAChC;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;CACnC,CAAC;AAEN;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAChB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-command-worker-config-pass.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-config-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAqBhE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAwBjF"}
1
+ {"version":3,"file":"tool-command-worker-config-pass.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-config-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAwBhE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAwBjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-command-worker-config-pass.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-config-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAa,MAAM,mBAAmB,CAAC;AAYhE,sFAAsF;AACtF,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAiC,CAAC,SAAS,KAAK,UAAU,CACnE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,MAAe;IAC3D,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAClD,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAExF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAC5B,OAAO,GAAG,WAAW,CAAC,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,8BAA8B,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,MACzE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wCACjC,EAAE,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"tool-command-worker-config-pass.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-config-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAa,MAAM,mBAAmB,CAAC;AAehE,sFAAsF;AACtF,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAiC,CAAC,SAAS,KAAK,UAAU,CACnE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,MAAe;IAC3D,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAClD,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAExF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAC5B,OAAO,GAAG,WAAW,CAAC,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,8BAA8B,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,MACzE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wCACjC,EAAE,CAAC;AACL,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * ResultAccumulator} drained into a `ToolCommandResult` after the handler
11
11
  * resolves; the host replays them through the real seams.
12
12
  * - host-RPC (RPC): `deliverSignals` / `writeSarif` / the four baseline seams
13
- * / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
13
+ * / `writeArtifact` / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
14
14
  * a typed {@link HostRpcRequest} via the {@link WorkerRpcClient} and await
15
15
  * the host's reply — the HOST performs the privileged effect (datastore /
16
16
  * egress / FS / process exit) and returns the result.
@@ -22,7 +22,7 @@
22
22
  * {@link RunScope} + run timer (the worker re-bootstraps its own scope; it never
23
23
  * ships a live `RunScope` across IPC).
24
24
  */
25
- import { type RunScope, type RunTimer, type ToolCliContext } from '@opensip-cli/core';
25
+ import { type ResolvedReportFailure, type RunScope, type RunTimer, type ToolCliContext } from '@opensip-cli/core';
26
26
  import type { ToolCommandFailureClass, ToolCommandResult } from './tool-command-dispatch-types.js';
27
27
  import type { WorkerRpcClient } from './tool-command-worker-rpc.js';
28
28
  /**
@@ -45,11 +45,12 @@ export interface ResultAccumulator {
45
45
  json?: unknown;
46
46
  raw?: unknown;
47
47
  error?: ToolCommandResult['error'];
48
+ reportedFailure?: ResolvedReportFailure;
48
49
  exitCode?: number;
49
50
  }
50
51
  /**
51
52
  * Build the worker-side {@link ToolCliContext} shim. FRR seams record into
52
53
  * `acc`; RPC seams upcall via `rpcClient`; the live-view seams fail loud.
53
54
  */
54
- export declare function buildWorkerContext(scope: RunScope, timing: RunTimer, acc: ResultAccumulator, rpcClient: WorkerRpcClient): ToolCliContext;
55
+ export declare function buildWorkerContext(scope: RunScope, timing: RunTimer, acc: ResultAccumulator, rpcClient: WorkerRpcClient, maxCapturedOutputBytes?: number): ToolCliContext;
55
56
  //# sourceMappingURL=tool-command-worker-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-command-worker-context.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEb,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAGV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAsB;gBACxD,IAAI,EAAE,MAAM;CAQzB;AAeD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2DD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,eAAe,GACzB,cAAc,CA+DhB"}
1
+ {"version":3,"file":"tool-command-worker-context.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAQL,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEb,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAGV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAsB;gBACxD,IAAI,EAAE,MAAM;CAQzB;AAeD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2DD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,eAAe,EAC1B,sBAAsB,SAA2C,GAChE,cAAc,CAqFhB"}
@@ -10,7 +10,7 @@
10
10
  * ResultAccumulator} drained into a `ToolCommandResult` after the handler
11
11
  * resolves; the host replays them through the real seams.
12
12
  * - host-RPC (RPC): `deliverSignals` / `writeSarif` / the four baseline seams
13
- * / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
13
+ * / `writeArtifact` / `toolState.*` / `hostPlanes.*` / `maybeOpenReport` / `getExitCode` issue
14
14
  * a typed {@link HostRpcRequest} via the {@link WorkerRpcClient} and await
15
15
  * the host's reply — the HOST performs the privileged effect (datastore /
16
16
  * egress / FS / process exit) and returns the result.
@@ -22,6 +22,8 @@
22
22
  * {@link RunScope} + run timer (the worker re-bootstraps its own scope; it never
23
23
  * ships a live `RunScope` across IPC).
24
24
  */
25
+ import { assertCapturedOutputFits, getWorkerLimits, } from '@opensip-cli/core';
26
+ import { resolveReportFailure, toReportedFailureWire } from './report-failure.js';
25
27
  /**
26
28
  * A loud, marked failure for a seam the worker shim cannot marshal (the
27
29
  * live-view seams). Carries the {@link ToolCommandFailureClass} so the
@@ -101,23 +103,30 @@ function buildHostPlanesRpc(client) {
101
103
  * Build the worker-side {@link ToolCliContext} shim. FRR seams record into
102
104
  * `acc`; RPC seams upcall via `rpcClient`; the live-view seams fail loud.
103
105
  */
104
- export function buildWorkerContext(scope, timing, acc, rpcClient) {
106
+ export function buildWorkerContext(scope, timing, acc, rpcClient, maxCapturedOutputBytes = getWorkerLimits().maxCapturedOutputBytes) {
107
+ const cap = (field, value) => {
108
+ assertCapturedOutputFits(field, value, maxCapturedOutputBytes);
109
+ };
105
110
  return {
106
111
  scope,
107
112
  runSession: { timing },
108
113
  logger: scope.logger,
109
114
  // ── Final-result-return seams (recorded, replayed host-side) ──────────
110
115
  render: (result) => {
116
+ cap('render', result);
111
117
  acc.render = result;
112
118
  return Promise.resolve();
113
119
  },
114
120
  emitJson: (value) => {
121
+ cap('json', value);
115
122
  acc.json = value;
116
123
  },
117
124
  emitEnvelope: (envelope) => {
125
+ cap('envelope', envelope);
118
126
  acc.envelope = envelope;
119
127
  },
120
128
  emitRaw: (value) => {
129
+ cap('raw', value);
121
130
  acc.raw = value;
122
131
  },
123
132
  emitError: (detail) => {
@@ -128,6 +137,13 @@ export function buildWorkerContext(scope, timing, acc, rpcClient) {
128
137
  ...(detail.code === undefined ? {} : { code: detail.code }),
129
138
  };
130
139
  },
140
+ reportFailure: (detail) => {
141
+ const resolved = resolveReportFailure(detail);
142
+ const wire = toReportedFailureWire(resolved);
143
+ cap('reportedFailure', wire);
144
+ acc.reportedFailure = wire;
145
+ return Promise.resolve();
146
+ },
131
147
  setExitCode: (code) => {
132
148
  acc.exitCode = code;
133
149
  },
@@ -144,13 +160,21 @@ export function buildWorkerContext(scope, timing, acc, rpcClient) {
144
160
  },
145
161
  }),
146
162
  writeSarif: (envelope, path) => rpc(rpcClient, { seam: 'writeSarif', envelope, path }),
163
+ writeArtifact: (path, bytes) => rpc(rpcClient, { seam: 'writeArtifact', path, bytes }),
147
164
  saveBaseline: (tool, envelope) => rpc(rpcClient, { seam: 'saveBaseline', tool, envelope }),
148
- compareBaseline: (tool, envelope) => rpc(rpcClient, { seam: 'compareBaseline', tool, envelope }),
165
+ compareBaseline: (tool, envelope) => rpc(rpcClient, {
166
+ seam: 'compareBaseline',
167
+ tool,
168
+ envelope,
169
+ }),
149
170
  exportBaselineSarif: (tool, path) => rpc(rpcClient, { seam: 'exportBaselineSarif', tool, path }),
150
171
  exportBaselineFingerprints: (tool, path) => rpc(rpcClient, { seam: 'exportBaselineFingerprints', tool, path }),
151
172
  maybeOpenReport: (opts) => rpc(rpcClient, {
152
173
  seam: 'maybeOpenReport',
153
- opts: { openRequested: opts.openRequested, jsonOutput: opts.jsonOutput },
174
+ opts: {
175
+ openRequested: opts.openRequested,
176
+ jsonOutput: opts.jsonOutput,
177
+ },
154
178
  }),
155
179
  toolState: buildToolStateRpc(rpcClient),
156
180
  hostPlanes: buildHostPlanesRpc(rpcClient),
@@ -1 +1 @@
1
- {"version":3,"file":"tool-command-worker-context.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-command-worker-context.js","sourceRoot":"","sources":["../../src/bootstrap/tool-command-worker-context.ts"],"names":[],"mappings":"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"}