cueline 0.1.6 → 0.2.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 (188) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/README.ja.md +77 -30
  5. package/README.ko.md +77 -30
  6. package/README.md +71 -29
  7. package/README.zh-CN.md +77 -30
  8. package/README.zh-TW.md +74 -29
  9. package/config/routing.schema.json +3 -0
  10. package/dist/src/api-caller-work.js +58 -14
  11. package/dist/src/api-caller-work.js.map +1 -1
  12. package/dist/src/api-contracts.d.ts +56 -0
  13. package/dist/src/api-controller-handoff.d.ts +5 -1
  14. package/dist/src/api-controller-handoff.js +178 -38
  15. package/dist/src/api-controller-handoff.js.map +1 -1
  16. package/dist/src/api-run-verification.d.ts +3 -0
  17. package/dist/src/api-run-verification.js +174 -0
  18. package/dist/src/api-run-verification.js.map +1 -0
  19. package/dist/src/api-runtime-lifecycle.d.ts +6 -1
  20. package/dist/src/api-runtime-lifecycle.js +97 -8
  21. package/dist/src/api-runtime-lifecycle.js.map +1 -1
  22. package/dist/src/api.d.ts +26 -4
  23. package/dist/src/api.js +111 -40
  24. package/dist/src/api.js.map +1 -1
  25. package/dist/src/browser/browser-adapter.d.ts +41 -0
  26. package/dist/src/browser/codex-iab/bootstrap.d.ts +21 -0
  27. package/dist/src/browser/codex-iab/bootstrap.js +174 -9
  28. package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
  29. package/dist/src/browser/codex-iab/chatgpt-client.d.ts +3 -0
  30. package/dist/src/browser/codex-iab/chatgpt-client.js +216 -70
  31. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  32. package/dist/src/browser/codex-iab/probe.d.ts +36 -0
  33. package/dist/src/browser/codex-iab/probe.js +217 -0
  34. package/dist/src/browser/codex-iab/probe.js.map +1 -0
  35. package/dist/src/browser/codex-iab/recovery-evidence.d.ts +1 -1
  36. package/dist/src/browser/codex-iab/recovery-evidence.js +7 -10
  37. package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -1
  38. package/dist/src/browser/codex-iab/selectors.d.ts +1 -0
  39. package/dist/src/browser/codex-iab/selectors.js +1 -0
  40. package/dist/src/browser/codex-iab/selectors.js.map +1 -1
  41. package/dist/src/browser/codex-iab/send-button.d.ts +5 -0
  42. package/dist/src/browser/codex-iab/send-button.js +62 -0
  43. package/dist/src/browser/codex-iab/send-button.js.map +1 -0
  44. package/dist/src/browser/codex-iab/submission-url.js +6 -15
  45. package/dist/src/browser/codex-iab/submission-url.js.map +1 -1
  46. package/dist/src/browser/codex-iab/tab-discovery.js +45 -12
  47. package/dist/src/browser/codex-iab/tab-discovery.js.map +1 -1
  48. package/dist/src/browser/codex-iab/timing-options.d.ts +1 -0
  49. package/dist/src/browser/codex-iab/timing-options.js +5 -0
  50. package/dist/src/browser/codex-iab/timing-options.js.map +1 -0
  51. package/dist/src/cli/health-commands.d.ts +2 -0
  52. package/dist/src/cli/health-commands.js +265 -0
  53. package/dist/src/cli/health-commands.js.map +1 -0
  54. package/dist/src/cli/io.d.ts +4 -0
  55. package/dist/src/cli/io.js +2 -0
  56. package/dist/src/cli/io.js.map +1 -0
  57. package/dist/src/cli/main.d.ts +1 -5
  58. package/dist/src/cli/main.js +187 -84
  59. package/dist/src/cli/main.js.map +1 -1
  60. package/dist/src/cli/observation-commands.d.ts +2 -0
  61. package/dist/src/cli/observation-commands.js +350 -0
  62. package/dist/src/cli/observation-commands.js.map +1 -0
  63. package/dist/src/cli/run-status-view.d.ts +87 -0
  64. package/dist/src/cli/run-status-view.js +121 -0
  65. package/dist/src/cli/run-status-view.js.map +1 -0
  66. package/dist/src/core/controller-command-execution.d.ts +2 -2
  67. package/dist/src/core/controller-command-execution.js +82 -16
  68. package/dist/src/core/controller-command-execution.js.map +1 -1
  69. package/dist/src/core/controller-conversation-archive.d.ts +11 -0
  70. package/dist/src/core/controller-conversation-archive.js +109 -0
  71. package/dist/src/core/controller-conversation-archive.js.map +1 -0
  72. package/dist/src/core/controller-loop.d.ts +7 -1
  73. package/dist/src/core/controller-loop.js +136 -23
  74. package/dist/src/core/controller-loop.js.map +1 -1
  75. package/dist/src/core/controller-turn.d.ts +21 -3
  76. package/dist/src/core/controller-turn.js +182 -41
  77. package/dist/src/core/controller-turn.js.map +1 -1
  78. package/dist/src/core/controller-types.d.ts +2 -0
  79. package/dist/src/core/conversation-url.d.ts +3 -0
  80. package/dist/src/core/conversation-url.js +34 -0
  81. package/dist/src/core/conversation-url.js.map +1 -0
  82. package/dist/src/core/run-status.d.ts +17 -2
  83. package/dist/src/core/run-status.js +64 -25
  84. package/dist/src/core/run-status.js.map +1 -1
  85. package/dist/src/core/state-machine.d.ts +36 -1
  86. package/dist/src/core/state-machine.js +242 -13
  87. package/dist/src/core/state-machine.js.map +1 -1
  88. package/dist/src/core/timing.d.ts +9 -0
  89. package/dist/src/core/timing.js +22 -0
  90. package/dist/src/core/timing.js.map +1 -0
  91. package/dist/src/diagnostics/run-doctor.d.ts +22 -0
  92. package/dist/src/diagnostics/run-doctor.js +197 -0
  93. package/dist/src/diagnostics/run-doctor.js.map +1 -0
  94. package/dist/src/jobs/status.d.ts +5 -2
  95. package/dist/src/jobs/status.js +172 -12
  96. package/dist/src/jobs/status.js.map +1 -1
  97. package/dist/src/jobs/supervisor.js +57 -8
  98. package/dist/src/jobs/supervisor.js.map +1 -1
  99. package/dist/src/observation/run-diff.d.ts +39 -0
  100. package/dist/src/observation/run-diff.js +67 -0
  101. package/dist/src/observation/run-diff.js.map +1 -0
  102. package/dist/src/observation/run-graph.d.ts +17 -0
  103. package/dist/src/observation/run-graph.js +77 -0
  104. package/dist/src/observation/run-graph.js.map +1 -0
  105. package/dist/src/observation/run-handoff.d.ts +86 -0
  106. package/dist/src/observation/run-handoff.js +309 -0
  107. package/dist/src/observation/run-handoff.js.map +1 -0
  108. package/dist/src/observation/run-status-at.d.ts +41 -0
  109. package/dist/src/observation/run-status-at.js +65 -0
  110. package/dist/src/observation/run-status-at.js.map +1 -0
  111. package/dist/src/observation/run-timeline.d.ts +32 -0
  112. package/dist/src/observation/run-timeline.js +279 -0
  113. package/dist/src/observation/run-timeline.js.map +1 -0
  114. package/dist/src/observation/run-watch.d.ts +15 -0
  115. package/dist/src/observation/run-watch.js +82 -0
  116. package/dist/src/observation/run-watch.js.map +1 -0
  117. package/dist/src/protocol/limits.d.ts +3 -0
  118. package/dist/src/protocol/limits.js +4 -0
  119. package/dist/src/protocol/limits.js.map +1 -0
  120. package/dist/src/protocol/lint-command.d.ts +24 -0
  121. package/dist/src/protocol/lint-command.js +210 -0
  122. package/dist/src/protocol/lint-command.js.map +1 -0
  123. package/dist/src/protocol/parse-command.js +4 -0
  124. package/dist/src/protocol/parse-command.js.map +1 -1
  125. package/dist/src/protocol/types.d.ts +12 -0
  126. package/dist/src/protocol/validate-command.js +76 -3
  127. package/dist/src/protocol/validate-command.js.map +1 -1
  128. package/dist/src/router/config-loader.js +23 -2
  129. package/dist/src/router/config-loader.js.map +1 -1
  130. package/dist/src/router/explain.d.ts +28 -0
  131. package/dist/src/router/explain.js +86 -0
  132. package/dist/src/router/explain.js.map +1 -0
  133. package/dist/src/router/resolver.d.ts +2 -1
  134. package/dist/src/router/resolver.js +11 -6
  135. package/dist/src/router/resolver.js.map +1 -1
  136. package/dist/src/runners/process-runner.js +55 -12
  137. package/dist/src/runners/process-runner.js.map +1 -1
  138. package/dist/src/runners/runner-adapter.d.ts +2 -0
  139. package/dist/src/runners/runner-adapter.js.map +1 -1
  140. package/dist/src/state/atomic-write.d.ts +6 -0
  141. package/dist/src/state/atomic-write.js +43 -2
  142. package/dist/src/state/atomic-write.js.map +1 -1
  143. package/dist/src/state/cancellation.js +38 -4
  144. package/dist/src/state/cancellation.js.map +1 -1
  145. package/dist/src/state/event-log.js +5 -4
  146. package/dist/src/state/event-log.js.map +1 -1
  147. package/dist/src/state/private-directory.d.ts +5 -0
  148. package/dist/src/state/private-directory.js +37 -0
  149. package/dist/src/state/private-directory.js.map +1 -0
  150. package/dist/src/state/runtime-lease.js +19 -39
  151. package/dist/src/state/runtime-lease.js.map +1 -1
  152. package/dist/src/state/runtime-record-validation.d.ts +6 -0
  153. package/dist/src/state/runtime-record-validation.js +44 -0
  154. package/dist/src/state/runtime-record-validation.js.map +1 -0
  155. package/dist/src/state/runtime-retirement.js +58 -18
  156. package/dist/src/state/runtime-retirement.js.map +1 -1
  157. package/dist/src/state/runtime-takeover-intent.js +2 -2
  158. package/dist/src/state/runtime-takeover-intent.js.map +1 -1
  159. package/dist/src/state/store.d.ts +1 -0
  160. package/dist/src/state/store.js +12 -6
  161. package/dist/src/state/store.js.map +1 -1
  162. package/dist/src/version.d.ts +1 -1
  163. package/dist/src/version.js +1 -1
  164. package/docs/architecture.md +4 -4
  165. package/docs/assets/README.md +3 -1
  166. package/docs/assets/cueline-architecture-en.svg +63 -0
  167. package/docs/assets/cueline-architecture-ja.svg +63 -0
  168. package/docs/assets/cueline-architecture-ko.svg +63 -0
  169. package/docs/assets/cueline-architecture-zh-CN.svg +63 -0
  170. package/docs/assets/cueline-architecture-zh-TW.svg +63 -0
  171. package/docs/assets/cueline-states-en.svg +50 -0
  172. package/docs/assets/cueline-states-ja.svg +48 -0
  173. package/docs/assets/cueline-states-ko.svg +48 -0
  174. package/docs/assets/cueline-states-zh-CN.svg +48 -0
  175. package/docs/assets/cueline-states-zh-TW.svg +48 -0
  176. package/docs/compatibility.md +1 -1
  177. package/docs/controller-protocol.md +44 -7
  178. package/docs/experiments/protocol-lint.md +40 -0
  179. package/docs/experiments/run-doctor.md +39 -0
  180. package/docs/experiments/run-handoff.md +39 -0
  181. package/docs/experiments/run-timeline.md +35 -0
  182. package/docs/experiments/run-watch.md +31 -0
  183. package/docs/multi-model-routing.md +256 -0
  184. package/docs/runner-contract.md +4 -3
  185. package/docs/state-and-recovery.md +45 -5
  186. package/package.json +1 -1
  187. package/schemas/controller-command.schema.json +89 -4
  188. package/skills/cueline/SKILL.md +13 -7
@@ -0,0 +1,265 @@
1
+ import { routingConfigPath } from "../api.js";
2
+ import { CueLineError } from "../core/errors.js";
3
+ import { executableAvailability } from "../router/availability.js";
4
+ import { loadRoutingConfig } from "../router/config-loader.js";
5
+ import { explainRoutingConfig } from "../router/explain.js";
6
+ import { resolveRoute } from "../router/resolver.js";
7
+ import { defaultCueLineHome } from "../state/paths.js";
8
+ import { CUELINE_VERSION } from "../version.js";
9
+ function routingErrorCode(error) {
10
+ return error instanceof CueLineError ? error.code : "ROUTE_UNAVAILABLE";
11
+ }
12
+ async function collectRoutingReport(environment) {
13
+ const configPath = routingConfigPath(environment);
14
+ let config;
15
+ try {
16
+ config = await loadRoutingConfig(configPath);
17
+ }
18
+ catch {
19
+ return {
20
+ version: CUELINE_VERSION,
21
+ config: {
22
+ path: configPath,
23
+ valid: false,
24
+ errorCode: "ROUTING_CONFIG_INVALID",
25
+ },
26
+ availableLanes: 0,
27
+ lanes: [],
28
+ findings: [
29
+ {
30
+ code: "ROUTING_CONFIG_INVALID",
31
+ message: "Routing configuration could not be loaded.",
32
+ },
33
+ ],
34
+ };
35
+ }
36
+ const availability = executableAvailability(environment);
37
+ const lanes = [];
38
+ for (const [lane, laneConfig] of Object.entries(config.lanes)) {
39
+ if (!laneConfig.enabled) {
40
+ lanes.push({
41
+ name: lane,
42
+ enabled: false,
43
+ status: "disabled",
44
+ selectedRunnerId: null,
45
+ });
46
+ continue;
47
+ }
48
+ try {
49
+ const route = resolveRoute(lane, config, availability);
50
+ lanes.push({
51
+ name: lane,
52
+ enabled: true,
53
+ status: "available",
54
+ selectedRunnerId: route.candidate.id,
55
+ });
56
+ }
57
+ catch (error) {
58
+ lanes.push({
59
+ name: lane,
60
+ enabled: true,
61
+ status: "unavailable",
62
+ selectedRunnerId: null,
63
+ errorCode: routingErrorCode(error),
64
+ });
65
+ }
66
+ }
67
+ return {
68
+ version: CUELINE_VERSION,
69
+ config: { path: configPath, valid: true },
70
+ availableLanes: lanes.filter((lane) => lane.status === "available").length,
71
+ lanes,
72
+ findings: [],
73
+ };
74
+ }
75
+ async function routingCommand(json, environment, io) {
76
+ const report = await collectRoutingReport(environment);
77
+ if (json) {
78
+ io.stdout(JSON.stringify(report, null, 2));
79
+ }
80
+ else if (!report.config.valid) {
81
+ io.stdout(`config\t${report.config.path}\tinvalid\t${report.config.errorCode}`);
82
+ }
83
+ else {
84
+ for (const lane of report.lanes) {
85
+ io.stdout(`${lane.name}\t${lane.selectedRunnerId ?? "-"}\t${lane.status}${lane.errorCode === undefined ? "" : ` (${lane.errorCode})`}`);
86
+ }
87
+ }
88
+ return report.availableLanes > 0 ? 0 : 1;
89
+ }
90
+ async function collectRoutingExplanation(requestedLane, environment) {
91
+ const configPath = routingConfigPath(environment);
92
+ try {
93
+ const config = await loadRoutingConfig(configPath);
94
+ return {
95
+ schema: "cueline-routing-explain/0.1",
96
+ version: CUELINE_VERSION,
97
+ config: { path: configPath, valid: true },
98
+ ...explainRoutingConfig(config, executableAvailability(environment), requestedLane),
99
+ };
100
+ }
101
+ catch {
102
+ return {
103
+ schema: "cueline-routing-explain/0.1",
104
+ version: CUELINE_VERSION,
105
+ config: { path: configPath, valid: false, errorCode: "ROUTING_CONFIG_INVALID" },
106
+ requestedLane: requestedLane ?? null,
107
+ availableLanes: 0,
108
+ lanes: [],
109
+ findings: [
110
+ {
111
+ code: "ROUTING_CONFIG_INVALID",
112
+ message: "Routing configuration could not be loaded.",
113
+ },
114
+ ],
115
+ };
116
+ }
117
+ }
118
+ async function routingExplainCommand(requestedLane, json, environment, io) {
119
+ const report = await collectRoutingExplanation(requestedLane, environment);
120
+ if (json) {
121
+ io.stdout(JSON.stringify(report, null, 2));
122
+ }
123
+ else if (!report.config.valid) {
124
+ io.stdout(`config\t${report.config.path}\tinvalid\t${report.config.errorCode}`);
125
+ }
126
+ else if (report.findings.length > 0) {
127
+ for (const finding of report.findings)
128
+ io.stdout(`finding\t${finding.code}\t${finding.message}`);
129
+ }
130
+ else {
131
+ for (const lane of report.lanes) {
132
+ io.stdout(`${lane.name}\t${lane.selectedRunnerId ?? "-"}\t${lane.status}`);
133
+ for (const candidate of lane.candidates) {
134
+ io.stdout(`candidate\t${candidate.index}\t${candidate.id}\t${candidate.reasonCode}`);
135
+ }
136
+ }
137
+ }
138
+ return report.availableLanes > 0 ? 0 : 1;
139
+ }
140
+ async function collectDoctorReport(environment) {
141
+ const configPath = routingConfigPath(environment);
142
+ const home = defaultCueLineHome(environment);
143
+ const major = Number.parseInt(process.versions.node.split(".")[0] ?? "0", 10);
144
+ const nodeOk = major >= 22;
145
+ const availability = executableAvailability(environment);
146
+ const findings = [];
147
+ let callerLanes = 0;
148
+ let processAvailableLanes = 0;
149
+ let config;
150
+ try {
151
+ config = await loadRoutingConfig(configPath);
152
+ }
153
+ catch {
154
+ findings.push({
155
+ code: "ROUTING_CONFIG_INVALID",
156
+ surface: "config",
157
+ message: "Routing configuration could not be loaded.",
158
+ });
159
+ }
160
+ if (config !== undefined) {
161
+ for (const [lane, laneConfig] of Object.entries(config.lanes)) {
162
+ if (!laneConfig.enabled)
163
+ continue;
164
+ callerLanes += 1;
165
+ try {
166
+ resolveRoute(lane, config, availability);
167
+ processAvailableLanes += 1;
168
+ }
169
+ catch {
170
+ // `cueline routing` reports per-lane details.
171
+ }
172
+ }
173
+ }
174
+ if (!nodeOk) {
175
+ findings.push({
176
+ code: "NODE_VERSION_UNSUPPORTED",
177
+ surface: "node",
178
+ message: "Node.js 22 or newer is required.",
179
+ });
180
+ }
181
+ if (config !== undefined && callerLanes === 0) {
182
+ findings.push({
183
+ code: "CALLER_LANES_UNAVAILABLE",
184
+ surface: "caller",
185
+ message: "No enabled caller lane is configured.",
186
+ });
187
+ }
188
+ const callerReady = nodeOk && config !== undefined && callerLanes > 0;
189
+ return {
190
+ version: CUELINE_VERSION,
191
+ status: callerReady ? "ok" : "degraded",
192
+ node: {
193
+ version: process.versions.node,
194
+ ok: nodeOk,
195
+ requirement: ">=22",
196
+ },
197
+ config: config === undefined
198
+ ? { path: configPath, valid: false, errorCode: "ROUTING_CONFIG_INVALID" }
199
+ : { path: configPath, valid: true },
200
+ home,
201
+ caller: {
202
+ ready: callerReady,
203
+ enabledLanes: callerLanes,
204
+ },
205
+ process: {
206
+ availableLanes: processAvailableLanes,
207
+ },
208
+ findings,
209
+ };
210
+ }
211
+ async function doctorCommand(json, environment, io) {
212
+ const report = await collectDoctorReport(environment);
213
+ if (json) {
214
+ io.stdout(JSON.stringify(report, null, 2));
215
+ }
216
+ else {
217
+ io.stdout(`CueLine ${report.version}`);
218
+ io.stdout(`status\t${report.status}`);
219
+ io.stdout(`node\t${report.node.version}\t${report.node.ok ? "ok" : `requires ${report.node.requirement}`}`);
220
+ io.stdout(`config\t${report.config.path}\t${report.config.valid ? "valid" : "invalid"}`);
221
+ io.stdout(`home\t${report.home}`);
222
+ io.stdout(`caller_ready\t${report.caller.ready ? "yes" : "no"}`);
223
+ io.stdout(`caller_lanes\t${report.caller.enabledLanes}`);
224
+ io.stdout(`process_available_lanes\t${report.process.availableLanes}`);
225
+ for (const item of report.findings) {
226
+ io.stdout(`finding\t${item.code}\t${item.surface}\t${item.message}`);
227
+ }
228
+ }
229
+ return report.status === "ok" ? 0 : 1;
230
+ }
231
+ export async function handleHealthCommand(args, environment, io) {
232
+ if (args[0] === "routing" && args[1] === "explain") {
233
+ let requestedLane;
234
+ let json = false;
235
+ let valid = true;
236
+ for (let index = 2; index < args.length; index += 1) {
237
+ const argument = args[index];
238
+ if (argument === "--json" && !json) {
239
+ json = true;
240
+ }
241
+ else if (typeof argument === "string" &&
242
+ !argument.startsWith("-") &&
243
+ requestedLane === undefined) {
244
+ requestedLane = argument;
245
+ }
246
+ else {
247
+ valid = false;
248
+ }
249
+ }
250
+ if (!valid) {
251
+ throw new CueLineError("CLI_ARGUMENTS_INVALID", "usage: cueline routing explain [lane] [--json]");
252
+ }
253
+ return routingExplainCommand(requestedLane, json, environment, io);
254
+ }
255
+ if (args[0] === "routing" &&
256
+ (args.length === 1 || (args.length === 2 && args[1] === "--json"))) {
257
+ return routingCommand(args[1] === "--json", environment, io);
258
+ }
259
+ if (args[0] === "doctor" &&
260
+ (args.length === 1 || (args.length === 2 && args[1] === "--json"))) {
261
+ return doctorCommand(args[1] === "--json", environment, io);
262
+ }
263
+ return undefined;
264
+ }
265
+ //# sourceMappingURL=health-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-commands.js","sourceRoot":"","sources":["../../../src/cli/health-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAA2B,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAyDhD,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,WAA8B;IAChE,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,MAAqD,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE;gBACN,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,wBAAwB;aACpC;YACD,cAAc,EAAE,CAAC;YACjB,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,4CAA4C;iBACtD;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,UAAU;gBAClB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;gBACnB,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa;gBACrB,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;QACzC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;QAC1E,KAAK;QACL,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAa,EACb,WAA8B,EAC9B,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,IAAI,EAAE,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,CACP,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,GAC3D,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,GACzD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,aAAiC,EACjC,WAA8B;IAE9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO;YACL,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;YACzC,GAAG,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;SACpF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE;YAC/E,aAAa,EAAE,aAAa,IAAI,IAAI;YACpC,cAAc,EAAE,CAAC;YACjB,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,4CAA4C;iBACtD;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,aAAiC,EACjC,IAAa,EACb,WAA8B,EAC9B,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC3E,IAAI,IAAI,EAAE,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAClF,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;YAAE,EAAE,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,EAAE,CAAC,MAAM,CACP,cAAc,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,UAAU,EAAE,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,WAA8B;IAC/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAiE,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,SAAS;YAClC,WAAW,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBACzC,qBAAqB,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,kCAAkC;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,uCAAuC;SACjD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC,CAAC;IACtE,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;QACvC,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YAC9B,EAAE,EAAE,MAAM;YACV,WAAW,EAAE,MAAM;SACpB;QACD,MAAM,EACJ,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE;YACzE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;QACvC,IAAI;QACJ,MAAM,EAAE;YACN,KAAK,EAAE,WAAW;YAClB,YAAY,EAAE,WAAW;SAC1B;QACD,OAAO,EAAE;YACP,cAAc,EAAE,qBAAqB;SACtC;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAa,EACb,WAA8B,EAC9B,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,IAAI,EAAE,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,EAAE,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,EAAE,CAAC,MAAM,CACP,SAAS,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CACjG,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACzF,EAAE,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,EAAE,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,EAAE,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACzD,EAAE,CAAC,MAAM,CAAC,4BAA4B,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnC,EAAE,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAuB,EACvB,WAA8B,EAC9B,EAAS;IAET,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACnD,IAAI,aAAiC,CAAC;QACtC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IACL,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;gBACzB,aAAa,KAAK,SAAS,EAC3B,CAAC;gBACD,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,gDAAgD,CACjD,CAAC;QACJ,CAAC;QACD,OAAO,qBAAqB,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;QACrB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAClE,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QACpB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAClE,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface CliIo {
2
+ stdout: (line: string) => void;
3
+ stderr: (line: string) => void;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../../src/cli/io.ts"],"names":[],"mappings":""}
@@ -1,7 +1,3 @@
1
1
  #!/usr/bin/env node
2
- interface CliIo {
3
- stdout: (line: string) => void;
4
- stderr: (line: string) => void;
5
- }
2
+ import type { CliIo } from "./io.js";
6
3
  export declare function main(args?: readonly string[], environment?: NodeJS.ProcessEnv, io?: CliIo): Promise<number>;
7
- export {};