@aeolus-fleet/trierarch 0.32.1 → 0.33.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 (79) hide show
  1. package/README.md +11 -11
  2. package/dist/adapters/caller-check.d.ts +14 -0
  3. package/dist/adapters/caller-check.js +30 -0
  4. package/dist/adapters/caller-check.js.map +1 -1
  5. package/dist/adapters/claude-code.d.ts +26 -6
  6. package/dist/adapters/claude-code.js +54 -33
  7. package/dist/adapters/claude-code.js.map +1 -1
  8. package/dist/adapters/clone-workspace.js +10 -1
  9. package/dist/adapters/clone-workspace.js.map +1 -1
  10. package/dist/adapters/codex.d.ts +47 -16
  11. package/dist/adapters/codex.js +82 -45
  12. package/dist/adapters/codex.js.map +1 -1
  13. package/dist/adapters/container.d.ts +4 -2
  14. package/dist/adapters/container.js +24 -17
  15. package/dist/adapters/container.js.map +1 -1
  16. package/dist/adapters/files.d.ts +6 -0
  17. package/dist/adapters/files.js +16 -0
  18. package/dist/adapters/files.js.map +1 -1
  19. package/dist/adapters/git-workspace.js +21 -4
  20. package/dist/adapters/git-workspace.js.map +1 -1
  21. package/dist/adapters/harnesses.d.ts +4 -3
  22. package/dist/adapters/harnesses.js +6 -7
  23. package/dist/adapters/harnesses.js.map +1 -1
  24. package/dist/adapters/hold-protocol.d.ts +50 -0
  25. package/dist/adapters/hold-protocol.js +58 -0
  26. package/dist/adapters/hold-protocol.js.map +1 -0
  27. package/dist/adapters/hold-runtime.d.ts +36 -0
  28. package/dist/adapters/hold-runtime.js +146 -0
  29. package/dist/adapters/hold-runtime.js.map +1 -0
  30. package/dist/adapters/hold.d.ts +41 -0
  31. package/dist/adapters/hold.js +310 -0
  32. package/dist/adapters/hold.js.map +1 -0
  33. package/dist/adapters/paths.d.ts +2 -0
  34. package/dist/adapters/paths.js +1 -0
  35. package/dist/adapters/paths.js.map +1 -1
  36. package/dist/adapters/plugin-update.js +2 -0
  37. package/dist/adapters/plugin-update.js.map +1 -1
  38. package/dist/adapters/runtime-adapters.d.ts +14 -1
  39. package/dist/adapters/runtime-adapters.js +14 -2
  40. package/dist/adapters/runtime-adapters.js.map +1 -1
  41. package/dist/adapters/stop-turn.d.ts +5 -5
  42. package/dist/adapters/stop-turn.js +6 -6
  43. package/dist/adapters/stop-turn.js.map +1 -1
  44. package/dist/adapters/tmux.d.ts +7 -30
  45. package/dist/adapters/tmux.js +9 -107
  46. package/dist/adapters/tmux.js.map +1 -1
  47. package/dist/bin/aeolus-trierarch.js +16 -7
  48. package/dist/bin/aeolus-trierarch.js.map +1 -1
  49. package/dist/cli/config-check.js +1 -1
  50. package/dist/cli/config-check.js.map +1 -1
  51. package/dist/cli/hold.d.ts +7 -0
  52. package/dist/cli/hold.js +60 -0
  53. package/dist/cli/hold.js.map +1 -0
  54. package/dist/cli/init.d.ts +4 -0
  55. package/dist/cli/init.js +17 -11
  56. package/dist/cli/init.js.map +1 -1
  57. package/dist/cli/main.js +7 -4
  58. package/dist/cli/main.js.map +1 -1
  59. package/dist/cli/run.js +1 -1
  60. package/dist/cli/run.js.map +1 -1
  61. package/dist/cli/upgrade.d.ts +6 -1
  62. package/dist/cli/upgrade.js +10 -2
  63. package/dist/cli/upgrade.js.map +1 -1
  64. package/dist/core/check-session-runtime.d.ts +5 -3
  65. package/dist/core/check-session-runtime.js +13 -14
  66. package/dist/core/check-session-runtime.js.map +1 -1
  67. package/dist/core/ports.d.ts +18 -12
  68. package/dist/core/reconciler.js +20 -5
  69. package/dist/core/reconciler.js.map +1 -1
  70. package/dist/core/remote-control.d.ts +15 -0
  71. package/dist/core/remote-control.js +30 -0
  72. package/dist/core/remote-control.js.map +1 -0
  73. package/package.json +1 -1
  74. package/dist/adapters/codex-screen.d.ts +0 -1
  75. package/dist/adapters/codex-screen.js +0 -19
  76. package/dist/adapters/codex-screen.js.map +0 -1
  77. package/dist/adapters/codex-session-log.d.ts +0 -8
  78. package/dist/adapters/codex-session-log.js +0 -45
  79. package/dist/adapters/codex-session-log.js.map +0 -1
@@ -1,130 +1,32 @@
1
- import { setTimeout as wait } from 'node:timers/promises';
2
1
  import { idSchema } from '@aeolus-fleet/common';
3
- import { heldCommand } from './held-command.js';
4
2
  import { runCommand } from './run-command.js';
5
3
  const PREFIX = 'trierarch-';
6
4
  export const TMUX_SERVER = 'aeolus-trierarch';
7
- /** What a session's command runs through: without the variables that name the trierarch's tmux server (#880). */
8
- const WITHOUT_THE_SERVER = ['env', '-u', 'TMUX', '-u', 'TMUX_PANE', '--'];
9
- /** How many lines back a screen is read: the launch window's first prompt fits well within. */
10
- const SCREEN_LINES = 200;
11
- /** What the tmux command that may start the server runs through: a systemd scope of its own under a systemd unit, which sets INVOCATION_ID. */
12
- export function sessionsLaunch(at) {
13
- return at.platform === 'linux' && at.env.INVOCATION_ID !== undefined ? ['systemd-run', '--user', '--scope', '--quiet', '--collect', '--'] : [];
14
- }
15
- function sessionName(shipId) {
16
- return `${PREFIX}${shipId}`;
17
- }
18
5
  /**
19
- * The host session runtime (docs/architecture.md, "First adapters"): one tmux
20
- * session per ship, named after its ship id, kept on exit so an exit is seen.
21
- * The trierarch uses its own tmux server (`tmux -L aeolus-trierarch`), so it
22
- * never touches the operator's own sessions.
23
- *
24
- * The first session started forks the tmux server, which keeps running when
25
- * the trierarch stops. Under a systemd unit it starts in a scope of its own
26
- * (`systemd-run --scope`), so it is not left over in the service's control
27
- * group on a restart (#537), and the unit's stop leaves it alone (#479).
28
- *
29
- * A tmux server takes its global environment from the process that starts
30
- * it, and every session gets it. Anything else may start the server on the
31
- * trierarch's socket, such as a ship's session after a `tmux kill-server`
32
- * (#881), so before each start the server's global environment is set back
33
- * to the trierarch's own: a variable the trierarch has not is removed, one it
34
- * has with another value is set to its own (#883).
35
- *
36
- * A session's command runs without the `TMUX` and `TMUX_PANE` tmux gives
37
- * its pane: they name the trierarch's server, so a bare `tmux kill-server` in
38
- * a session, such as a test script's, would end every ship's session (#880).
39
- * A bare tmux in a session reaches its user's default server instead.
6
+ * The sessions a trierarch before headless sessions started on the host
7
+ * (headless H4, H19): one tmux session per ship on its own tmux server
8
+ * (`tmux -L aeolus-trierarch`), named after its ship id. The trierarch no
9
+ * longer starts any; it lists them, as of another version, so each is
10
+ * replaced by a hold once its turn is idle, and stops them. Without a server
11
+ * running there are none.
40
12
  */
41
13
  export function createTmux(options = {}) {
42
14
  const server = options.server ?? TMUX_SERVER;
43
- const launch = options.launch ?? [];
44
- const environment = options.environment ?? process.env;
45
- const tmux = async (args) => runCommand('tmux', { args: ['-L', server, ...args] });
46
- const must = async (args) => {
47
- const result = await tmux(args);
48
- if (result.status !== 0) {
49
- throw new Error(`tmux ${args.join(' ')} failed: ${result.stderr.trim()}`);
50
- }
51
- return result.stdout;
52
- };
53
- /** Sets the running server's global environment back to the trierarch's own; with no server running there is nothing to set. */
54
- const resetEnvironment = async () => {
55
- const shown = await tmux(['show-environment', '-g']);
56
- if (shown.status !== 0) {
57
- return;
58
- }
59
- for (const line of shown.stdout.split('\n')) {
60
- // A line `-NAME` is a variable removed already; `NAME=value` one the server holds.
61
- const separator = line.indexOf('=');
62
- if (line === '' || line.startsWith('-') || separator < 1) {
63
- continue;
64
- }
65
- const variable = line.slice(0, separator);
66
- const own = environment[variable];
67
- if (own === undefined) {
68
- await must(['set-environment', '-g', '-u', variable]);
69
- }
70
- else if (own !== line.slice(separator + 1)) {
71
- await must(['set-environment', '-g', variable, own]);
72
- }
73
- }
74
- };
15
+ const tmux = (args) => runCommand('tmux', { args: ['-L', server, ...args] }).catch(() => ({ status: 1, stdout: '', stderr: 'tmux does not run here' }));
75
16
  return {
76
17
  list: async () => {
77
18
  const result = await tmux(['list-panes', '-a', '-F', '#{session_name} #{pane_dead}']);
78
- // No server running yet means no session at all.
79
19
  if (result.status !== 0) {
80
20
  return [];
81
21
  }
82
- return result.stdout
83
- .split('\n')
84
- .flatMap((line) => {
22
+ return result.stdout.split('\n').flatMap((line) => {
85
23
  const [name = '', isDead = ''] = line.split(' ');
86
24
  const shipId = idSchema('ship').safeParse(name.slice(PREFIX.length));
87
25
  return name.startsWith(PREFIX) && shipId.success ? [{ shipId: shipId.data, status: isDead === '1' ? 'exited' : 'running' }] : [];
88
26
  });
89
27
  },
90
28
  stop: async (shipId) => {
91
- await tmux(['kill-session', '-t', `=${sessionName(shipId)}`]);
92
- },
93
- start: async ({ shipId, folder, command, env = {} }) => {
94
- const name = sessionName(shipId);
95
- await tmux(['kill-session', '-t', `=${name}`]);
96
- await resetEnvironment();
97
- // Start with the shell, keep the pane on exit, then run the command: so even a command that ends at once leaves its exit to see.
98
- // The one command that starts the server when none runs yet.
99
- const [program, ...args] = [...launch, 'tmux', '-L', server, 'new-session', '-d', '-s', name, '-c', folder, '-x', '200', '-y', '50'];
100
- const started = await runCommand(program, { args });
101
- if (started.status !== 0) {
102
- throw new Error(`tmux new-session failed: ${started.stderr.trim()}`);
103
- }
104
- await must(['set-option', '-w', '-t', `=${name}:`, 'remain-on-exit', 'on']);
105
- const sessionVariables = Object.entries(env).flatMap(([variable, value]) => ['-e', `${variable}=${value}`]);
106
- await must(['respawn-pane', '-k', '-t', `=${name}:`, '-c', folder, ...sessionVariables, '--', ...WITHOUT_THE_SERVER, ...heldCommand(command)]);
107
- },
108
- type: async ({ shipId, text, settleMs }) => {
109
- const target = `=${sessionName(shipId)}:`;
110
- await must(['send-keys', '-t', target, '-l', text]);
111
- if (settleMs !== undefined) {
112
- await wait(settleMs);
113
- }
114
- await must(['send-keys', '-t', target, 'Enter']);
115
- },
116
- interrupt: async (shipId) => {
117
- await must(['send-keys', '-t', `=${sessionName(shipId)}:`, 'Escape']);
118
- },
119
- screen: async (shipId) => {
120
- const result = await tmux(['capture-pane', '-p', '-J', '-S', `-${String(SCREEN_LINES)}`, '-t', `=${sessionName(shipId)}:`]);
121
- return result.status === 0 ? result.stdout : '';
122
- },
123
- // The pane's process: the session's command and all it starts run under it.
124
- sessionRootOf: async (shipId) => {
125
- const result = await tmux(['display-message', '-p', '-t', `=${sessionName(shipId)}:`, '#{pane_pid}']);
126
- const pid = Number(result.stdout.trim());
127
- return result.status === 0 && Number.isInteger(pid) && pid > 1 ? pid : undefined;
29
+ await tmux(['kill-session', '-t', `=${PREFIX}${shipId}`]);
128
30
  },
129
31
  };
130
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../src/adapters/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,UAA+B,EAAE;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;IAC7C,MAAM,IAAI,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;IAC3K,OAAO;QACL,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAqB,EAAE;gBACnE,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnI,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;YAC7B,MAAM,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,13 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * `aeolus-trierarch`: runs a trierarch on this machine (docs/trierarch.md).
4
- * See `main.ts` for its commands.
4
+ * See `main.ts` for its commands. A session's hold (`hold`) loads only what it
5
+ * needs: one runs per session, for as long as the session.
5
6
  */
6
- import { CLAUDE_CODE_MANAGED_SETTINGS } from '../adapters/claude-code-setup.js';
7
- import { main } from '../cli/main.js';
8
- const outcome = await main(process.argv.slice(2), { env: process.env, managedSettings: CLAUDE_CODE_MANAGED_SETTINGS, platform: process.platform });
9
- if (outcome.output !== '') {
10
- process.stdout.write(`${outcome.output}\n`);
7
+ const [command, ...words] = process.argv.slice(2);
8
+ if (command === 'hold') {
9
+ const { holdCommand } = await import('../cli/hold.js');
10
+ process.exitCode = await holdCommand(words, { env: process.env, platform: process.platform });
11
11
  }
12
- process.exitCode = outcome.code;
12
+ else {
13
+ const { CLAUDE_CODE_MANAGED_SETTINGS } = await import('../adapters/claude-code-setup.js');
14
+ const { main } = await import('../cli/main.js');
15
+ const outcome = await main(process.argv.slice(2), { env: process.env, managedSettings: CLAUDE_CODE_MANAGED_SETTINGS, platform: process.platform });
16
+ if (outcome.output !== '') {
17
+ process.stdout.write(`${outcome.output}\n`);
18
+ }
19
+ process.exitCode = outcome.code;
20
+ }
21
+ export {};
13
22
  //# sourceMappingURL=aeolus-trierarch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aeolus-trierarch.js","sourceRoot":"","sources":["../../src/bin/aeolus-trierarch.ts"],"names":[],"mappings":";AACA;;;GAGG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnJ,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;AAC9C,CAAC;AACD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"aeolus-trierarch.js","sourceRoot":"","sources":["../../src/bin/aeolus-trierarch.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,MAAM,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACvD,OAAO,CAAC,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChG,CAAC;KAAM,CAAC;IACN,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAC1F,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnJ,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;AAClC,CAAC"}
@@ -41,7 +41,7 @@ export async function configCheck(paths, machine) {
41
41
  flags,
42
42
  options: Object.fromEntries(Object.entries(harness.options).map(([option, settings]) => [option, settings.values])),
43
43
  adapterFlags: adapterFlags[name] ?? [],
44
- ...(await commandLinesOf({ harness: name, flags, files, permissionModes: detected[name]?.permissionModes })),
44
+ ...(await commandLinesOf({ harness: name, flags, files, permissionModes: detected[name]?.permissionModes, isHeadless: runtime.kind !== 'container' })),
45
45
  },
46
46
  ];
47
47
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"config-check.js","sourceRoot":"","sources":["../../src/cli/config-check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AA6B7E,+GAA+G;AAC/G,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAA2B;IACxE,OAAO,IAAI,kBAAkB,CAAC,CAAC,wBAAwB,MAAM,yCAAyC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpK,CAAC;AAED,yCAAyC;AACzC,SAAS,WAAW,CAAC,OAAqC,EAAE,cAAsB;IAChF,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM;QAC5B,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,iCAAiC,OAAO,CAAC,MAAM,oBAAoB,OAAO,CAAC,MAAM,kBAAkB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,cAAc,GAAG,CAAC;AACjL,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAqB,EAAE,OAAuB;IAC9E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,uGAAuG;QACvG,MAAM,IAAI,kBAAkB,CAC1B,wBAAwB,KAAK,CAAC,MAAM,4BAA4B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,+FAA+F,CAC/L,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IACzG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,sEAAsE;IACtE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI;YACJ;gBACE,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnH,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;gBACtC,GAAG,CAAC,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;aAC7G;SACO,CAAC;IACb,CAAC,CAAC,CACH,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACjE,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAC/D,CAAC,CAAC,GAAG,IAAI,wCAAwC;QACjD,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/I,CAAC;IACF,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,SAAS;QACT,OAAO;QACP,IAAI,EAAE;YACJ,wBAAwB,KAAK,CAAC,MAAM,QAAQ;YAC5C,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;YACtC,0DAA0D;YAC1D,aAAa,CAAC,aAAa,CAAC;YAC5B,EAAE;YACF,uDAAuD;YACvD,GAAG,QAAQ;SACZ,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config-check.js","sourceRoot":"","sources":["../../src/cli/config-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** The harness's environment, from the hold's own and the variables given. */
2
+ export declare function harnessEnvironment(own: Readonly<Record<string, string | undefined>>, given: Readonly<Record<string, string>>): Record<string, string>;
3
+ /** Runs the hold with the words after `hold`; answers its exit code, or 2 for words it cannot take. */
4
+ export declare function holdCommand(words: readonly string[], at: {
5
+ env: Readonly<Record<string, string | undefined>>;
6
+ platform: string;
7
+ }): Promise<number>;
@@ -0,0 +1,60 @@
1
+ import { readdir, readFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { idSchema } from '@aeolus-fleet/common';
4
+ import { createTrierarchCallerCheck } from '../adapters/caller-check.js';
5
+ import { runHold } from '../adapters/hold.js';
6
+ import { holdFilesOf } from '../adapters/hold-protocol.js';
7
+ import { runningVersion } from '../adapters/version.js';
8
+ /**
9
+ * `aeolus-trierarch hold <ship id> --sessions <folder> --folder <folder>
10
+ * --harness <name> [--env NAME=value]... -- <command>...`: the hold of one
11
+ * session (headless H8), as the trierarch starts it, never a person. The
12
+ * harness's environment is built from nothing (H10): HOME and PATH from the
13
+ * hold's own, then each `--env` given; nothing else of the trierarch's.
14
+ */
15
+ /** What the harness takes of the hold's own environment; everything else it is given. */
16
+ const KEPT_VARIABLES = ['HOME', 'PATH'];
17
+ /** The harness's environment, from the hold's own and the variables given. */
18
+ export function harnessEnvironment(own, given) {
19
+ const kept = KEPT_VARIABLES.flatMap((variable) => {
20
+ const value = own[variable];
21
+ return value === undefined ? [] : [[variable, value]];
22
+ });
23
+ return { ...Object.fromEntries(kept), ...given };
24
+ }
25
+ /** The process each session runs under: every hold's, from its pid file. */
26
+ async function holdPids(sessions) {
27
+ const folders = await readdir(sessions).catch(() => []);
28
+ const pids = await Promise.all(folders.map(async (folder) => Number(await readFile(join(sessions, folder, 'hold.pid'), 'utf8').catch(() => ''))));
29
+ return pids.filter((pid) => Number.isInteger(pid) && pid > 1);
30
+ }
31
+ /** Runs the hold with the words after `hold`; answers its exit code, or 2 for words it cannot take. */
32
+ export async function holdCommand(words, at) {
33
+ const end = words.indexOf('--');
34
+ const [ship, ...options] = end === -1 ? words : words.slice(0, end);
35
+ const command = end === -1 ? [] : words.slice(end + 1);
36
+ const shipId = idSchema('ship').safeParse(ship);
37
+ const valueOf = (name) => options[options.indexOf(name) + 1];
38
+ const sessions = valueOf('--sessions');
39
+ const folder = valueOf('--folder');
40
+ const harness = valueOf('--harness');
41
+ if (!shipId.success || sessions === undefined || folder === undefined || harness === undefined || command.length === 0) {
42
+ process.stderr.write('Usage: aeolus-trierarch hold <ship id> --sessions <folder> --folder <folder> --harness <name> [--env NAME=value]... -- <command>...\n');
43
+ return 2;
44
+ }
45
+ const given = Object.fromEntries(options.flatMap((option, at) => {
46
+ const pair = options[at - 1] === '--env' ? option : undefined;
47
+ const separator = pair?.indexOf('=') ?? -1;
48
+ return pair === undefined || separator < 1 ? [] : [[pair.slice(0, separator), pair.slice(separator + 1)]];
49
+ }));
50
+ return runHold({
51
+ files: holdFilesOf(sessions, shipId.data),
52
+ folder,
53
+ harness,
54
+ command,
55
+ environment: harnessEnvironment(at.env, given),
56
+ version: runningVersion(),
57
+ mayCall: createTrierarchCallerCheck({ platform: at.platform, sessionRoots: () => holdPids(sessions) }),
58
+ });
59
+ }
60
+ //# sourceMappingURL=hold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hold.js","sourceRoot":"","sources":["../../src/cli/hold.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,10 @@ export declare function initTrierarch(input: {
55
55
  codex: CodexSetup;
56
56
  /** Whether `codex` runs on this machine: only then, or when Codex is configured, does init ask about it. */
57
57
  isCodexInstalled: boolean;
58
+ /** Whether `claude` runs on this machine: with Codex, one of the two must, before init registers anything. */
59
+ isClaudeCodeInstalled: boolean;
60
+ /** The Node this runs on, as `process.versions.node` gives it. */
61
+ nodeVersion: string;
58
62
  /** Detects the configured harnesses' options (#365), once per harness version. */
59
63
  detect: DetectHarnesses;
60
64
  service: Pick<Service, 'install' | 'rewrite' | 'restart' | 'status'>;
package/dist/cli/init.js CHANGED
@@ -2,12 +2,12 @@ import { mkdir, stat, writeFile } from 'node:fs/promises';
2
2
  import { idSchema } from '@aeolus-fleet/common';
3
3
  import { configurationJsonSchema, initialConfiguration, loadConfiguration, readCrewFile, TrierarchFileError, writeCrewFile } from '../adapters/files.js';
4
4
  import { FleetRefusal } from '../adapters/rest-fleet.js';
5
+ import { withoutRemoteControl } from '../core/remote-control.js';
5
6
  import { describeDetected } from './detect.js';
6
7
  import { NOT_SAID_YET, startNewProcess } from './new-process.js';
7
8
  import { absolutePath, nameRefusal, placeRefusal } from './places.js';
8
9
  const CLAUDE_CODE = 'claude-code';
9
10
  const SKIP_PERMISSIONS = '--dangerously-skip-permissions';
10
- const REMOTE_CONTROL = '--remote-control';
11
11
  const CODEX = 'codex';
12
12
  const BYPASS_APPROVALS = '--dangerously-bypass-approvals-and-sandbox';
13
13
  /** Takes every default, and refuses a question that has none: what `--yes` asks. */
@@ -59,6 +59,16 @@ function pluginShipOf(flags) {
59
59
  }
60
60
  return accepted.value;
61
61
  }
62
+ const MINIMUM_NODE_MAJOR = 26;
63
+ /** Refuses, before anything is registered, a machine that cannot run the trierarch or crew anything: Node older than 26, or neither Claude Code nor Codex installed. */
64
+ function checkMachine(at) {
65
+ if (Number.parseInt(at.nodeVersion, 10) < MINIMUM_NODE_MAJOR) {
66
+ throw new TrierarchFileError(`The trierarch needs Node ${String(MINIMUM_NODE_MAJOR)} or newer and this is Node ${at.nodeVersion}. Install Node ${String(MINIMUM_NODE_MAJOR)} (https://nodejs.org), then run the setup line again.`);
67
+ }
68
+ if (!at.isClaudeCodeInstalled && !at.isCodexInstalled) {
69
+ throw new TrierarchFileError('Neither Claude Code nor Codex runs on this machine, so it could crew nothing. Install Claude Code (https://code.claude.com/docs/en/setup) or Codex (npm install -g @openai/codex) and be signed in to it, then run the setup line again.');
70
+ }
71
+ }
62
72
  /**
63
73
  * Registers the trierarch's ship, saying so first, as the fleet may be slow to
64
74
  * answer. A ship crewed already was registered by its setup line run elsewhere:
@@ -185,22 +195,17 @@ async function askCodex(at) {
185
195
  }
186
196
  /** The configuration from the operator's answers, starting from what it holds: Claude Code's and Codex's flags, the repositories, the folders and the caps. Everything else is kept. */
187
197
  async function askConfiguration(at) {
188
- const { base, prompter } = at;
198
+ const { prompter } = at;
199
+ // A session the trierarch runs has no terminal, so no Remote Control: init offers it no more and keeps none (headless H20).
200
+ const base = withoutRemoteControl(at.base).configuration;
189
201
  const harness = base.harnesses[CLAUDE_CODE] ?? { flags: [], options: {} };
190
202
  prompter.step('Claude Code');
191
203
  const isSkipping = await prompter.confirm(`Launch Claude Code with ${SKIP_PERMISSIONS}? Its sessions then run every tool without asking.`, {
192
204
  isDefault: harness.flags.includes(SKIP_PERMISSIONS),
193
205
  });
194
- const isRemote = await prompter.confirm(`Launch Claude Code with ${REMOTE_CONTROL}, so you can follow each session from claude.ai?`, {
195
- isDefault: harness.flags.includes(REMOTE_CONTROL),
196
- });
197
- const flags = [
198
- ...harness.flags.filter((flag) => flag !== SKIP_PERMISSIONS && flag !== REMOTE_CONTROL),
199
- ...(isSkipping ? [SKIP_PERMISSIONS] : []),
200
- ...(isRemote ? [REMOTE_CONTROL] : []),
201
- ];
206
+ const flags = [...harness.flags.filter((flag) => flag !== SKIP_PERMISSIONS), ...(isSkipping ? [SKIP_PERMISSIONS] : [])];
202
207
  prompter.step('Codex');
203
- const codex = await askCodex(at);
208
+ const codex = await askCodex({ ...at, base });
204
209
  prompter.step('Workspaces');
205
210
  const repositories = await askPlaces({ held: base.repositories, prompter, homeDirectory: at.homeDirectory, questions: REPOSITORY_QUESTIONS });
206
211
  const folders = await askPlaces({ held: base.folders, prompter, homeDirectory: at.homeDirectory, questions: FOLDER_QUESTIONS });
@@ -224,6 +229,7 @@ export async function initTrierarch(input) {
224
229
  const { hasSaidVersion } = await startNewProcess({ start, service, running: input.running, ...(input.sleep !== undefined && { sleep: input.sleep }) });
225
230
  said.push(line, ...(hasSaidVersion ? [] : [NOT_SAID_YET]));
226
231
  };
232
+ checkMachine({ nodeVersion: input.nodeVersion, isClaudeCodeInstalled: input.isClaudeCodeInstalled, isCodexInstalled });
227
233
  const pluginShipId = pluginShipOf(flags);
228
234
  // The ship: registered once per machine, never again.
229
235
  const crew = await readCrewFile(paths.crewToken).catch(() => undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAA4C,MAAM,sBAAsB,CAAC;AAI1F,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAE3K,OAAO,EAAE,YAAY,EAAkB,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0CtE,MAAM,WAAW,GAAG,aAAa,CAAC;AAClC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAC1D,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAC1C,MAAM,KAAK,GAAG,OAAO,CAAC;AACtB,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAItE,oFAAoF;AACpF,SAAS,YAAY,CAAC,QAAkB;IACtC,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAkB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxI,OAAO;QACL,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvH,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACjE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;YACf,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,0EAA0E;QAC1E,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;KACtB,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,KAAK,UAAU,QAAQ,CAAI,EAAsH;IAC/I,SAAS,CAAC;QACR,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB,CAAC;QACD,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,sCAAsC,EAAE,CAAC;AAC5G,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,2BAA2B,EAAE,CAAC;AACxK,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,uCAAuC,EAAE,CAAC;AAClH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS,CAAC;AACjE,CAAC;AAED,qIAAqI;AACrI,SAAS,YAAY,CAAC,KAAgB;IACpC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAID;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,EAAgI;IAC1J,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IAC9C,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,MAAM,OAAO,QAAQ,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,gDAAgD,QAAQ,cAAc,MAAM,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,YAAY,EAAE,4BAA4B,CAAC;YAC9L,MAAM,IAAI,kBAAkB,CAC1B,GAAG,MAAM,yJAAyJ,MAAM,sEAAsE,IAAI,EAAE,CACrP,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,KAAK,UAAU,WAAW,CAAC,KAAgC;IACzD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;YACrG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,KAAK,UAAU,OAAO,CAAC,KAAgB,EAAE,QAAkB;IACzD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;YACrI,MAAM,IAAI,kBAAkB,CAAC,yDAAyD,KAAK,UAAU,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,CAAI,KAAyB,EAAE,MAAuC,EAAiB,EAAE;QACxG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAClK,MAAM,MAAM,GACV,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;QAChC,CAAC,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,6EAA6E,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5J,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;IAChH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAUD,yHAAyH;AACzH,KAAK,UAAU,SAAS,CAAC,EAA8H;IACrJ,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACxD,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,SAAS,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAS;YAClC,QAAQ;YACR,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACxD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAS;YAClC,QAAQ;YACR,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACvB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACrD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACzD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YAC3D,CAAC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,oBAAoB,GAAmB;IAC3C,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,4EAA4E;IACjF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,eAAe;CACjD,CAAC;AAEF,MAAM,gBAAgB,GAAmB;IACvC,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,8EAA8E;IACnF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,GAAG;CACrC,CAAC;AAEF;;;;GAIG;AACH,KAAK,UAAU,QAAQ,CAAC,EAAmF;IACzG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,EAAE,CAAC,gBAAgB,IAAI,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACvI,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,qBAAqB,gBAAgB,gFAAgF,EAAE;QAChK,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KAC5C,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;QAC/B,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1G,CAAC;AACJ,CAAC;AAED,wLAAwL;AACxL,KAAK,UAAU,gBAAgB,CAAC,EAA0G;IACxI,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1E,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,2BAA2B,gBAAgB,oDAAoD,EAAE;QACzI,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACpD,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,2BAA2B,cAAc,kDAAkD,EAAE;QACnI,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;KAClD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG;QACZ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,cAAc,CAAC;QACvF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC9I,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAChI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrK,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACpK,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;IACrG,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACxB,YAAY;QACZ,OAAO;QACP,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KAC/G,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAkBnC;IACC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,KAAK,EAAE,KAA0B,EAAE,IAAY,EAAiB,EAAE;QACjF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACvJ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACzC,sDAAsD;IACtD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,QAAgB,CAAC;IACrB,IAAI,MAA0B,CAAC;IAC/B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,wGAAwG;IACxG,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACnG,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACzJ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,MAAM,OAAO,QAAQ,+BAA+B,KAAK,CAAC,SAAS,wDAAwD,CAAC,CAAC;IACvJ,CAAC;SAAM,CAAC;QACN,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,uBAAuB,MAAM,IAAI,UAAU,OAAO,QAAQ,EAAE,CAAC;QAC1E,mHAAmH;QACnH,MAAM,gBAAgB,GAAG,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC5K,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,IAAI,kEAAkE,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;QACjK,CAAC;QACD,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,MAAM,KAAK,SAAS,IAAI,gBAAgB,EAAE,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,0CAA0C,MAAM,OAAO,QAAQ,KAAK,CAAC,CAAC;YACnF,IAAI,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,uBAAuB,MAAM,OAAO,QAAQ,6EAA6E,CAAC,CAAC;YACvI,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,2GAA2G,CAAC,CAAC,CAAC;gBAC7K,SAAS,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAChJ,iBAAiB,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,kFAAkF,QAAQ,+BAA+B,KAAK,CAAC,SAAS,wDAAwD,CAAC,CAAC;YACvN,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,mCAAmC,IAAI,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,4HAA4H;QAC5H,eAAe,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY,CAAC;QACnF,IAAI,eAAe,IAAI,iBAAiB,EAAE,CAAC;YACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,KAAK,CAAC,SAAS,iFAAiF,CAAC,CAAC;YACrJ,CAAC;YACD,MAAM,gBAAgB,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;YAC3D,MAAM,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACnJ,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,sEAAsE,YAAY,GAAG,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE/F,0FAA0F;IAC1F,IAAI,aAAqC,CAAC;IAC1C,IAAI,UAAU,GAAgC,MAAM,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAClC,aAAa,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,CAAC,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9J,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC9E,aAAa,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC3G,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;IAC1H,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,CAAC;IAC3D,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzB,mGAAmG;IACnG,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpH,0GAA0G;IAC1G,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7B,IAAI,QAAQ,GAA0B,WAAW,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,uFAAuF,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACzI,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,wDAAwD,MAAM,CAAC,IAAI,yCAAyC,CAAC,CAAC;YACtJ,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,cAAc,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,eAAe,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,0DAA0D,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACjL,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,qDAAqD,CAAC,CAAC;YAC/F,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc,EAAE,IAAI,KAAK,SAAS;QAClC,QAAQ;QACR,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;QACvC,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,iBAAiB,EAAE,KAAK,CAAC,YAAY;QACrC,OAAO,EAAE,QAAQ;QACjB,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,EAK9B;IACC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClF,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,+DAA+D,CAAC,CAAC;IACrG,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,gGAAgG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,kDAAkD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,sGAAsG;IACtG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,mEAAmE,UAAU,CAAC,KAAK,CAAC,UAAU,4DAA4D,CAAC,CAAC;IACtK,IAAI,yBAAyB,GAAG,MAAM,UAAU,CAAC,yBAAyB,EAAE,CAAC;IAC7E,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC3E,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,yHAAyH,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACxM,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACzC,yBAAyB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,6FAA6F,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxI,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,wFAAwF,gBAAgB,8CAA8C,CAAC,CAAC;QACpK,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CAAC,EAA8E;IACtG,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC1C,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnI,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,YAAY;YACZ,IAAI,EAAE;gBACJ,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,mIAAmI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzL,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,uDAAuD;aAClL;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,wBAAwB,GAAG,2FAA2F,CAAC,EAAE,CAAC;IAC3K,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
package/dist/cli/main.js CHANGED
@@ -9,7 +9,7 @@ import { createCodexSetup } from '../adapters/codex-setup.js';
9
9
  import { createContainerHost } from '../adapters/container-host.js';
10
10
  import { createDetectedFile } from '../adapters/detected-file.js';
11
11
  import { createDetectors } from '../adapters/detectors.js';
12
- import { loadConfiguration, readCrewFile, readRunningFile, TrierarchFileError } from '../adapters/files.js';
12
+ import { loadConfiguration, readCrewFile, readRunningFile, removeRemoteControl, TrierarchFileError } from '../adapters/files.js';
13
13
  import { createJsonState } from '../adapters/json-state.js';
14
14
  import { createLogger, readLogLine, renderLogLine } from '../adapters/log.js';
15
15
  import { createStyle, isColourTerminal } from '../adapters/style.js';
@@ -19,7 +19,7 @@ import { createPluginUpdate } from '../adapters/plugin-update.js';
19
19
  import { createRestFleet } from '../adapters/rest-fleet.js';
20
20
  import { runCommand, streamCommand } from '../adapters/run-command.js';
21
21
  import { createService, serviceEnvironment } from '../adapters/service.js';
22
- import { createTmux } from '../adapters/tmux.js';
22
+ import { hostSessions } from '../adapters/runtime-adapters.js';
23
23
  import { runningVersion } from '../adapters/version.js';
24
24
  import { createDetectHarnesses } from '../core/detect-harnesses.js';
25
25
  import { createUninstall } from '../core/uninstall.js';
@@ -154,7 +154,7 @@ export async function main(argv, machine) {
154
154
  crew,
155
155
  service: serviceAt(),
156
156
  lease: leaseFrom(() => fleet.whoami()),
157
- processes: createTmux(),
157
+ processes: hostSessions({ paths, version: runningVersion() }),
158
158
  state: createJsonState(paths.state),
159
159
  });
160
160
  return { data: report, text: describeStatus(report, style) };
@@ -184,6 +184,8 @@ export async function main(argv, machine) {
184
184
  claudeCode: claudeCodeSetup(),
185
185
  codex: createCodexSetup(),
186
186
  isCodexInstalled: (await runCommand('sh', { args: ['-c', 'command -v codex'] })).status === 0,
187
+ isClaudeCodeInstalled: (await runCommand('sh', { args: ['-c', 'command -v claude'] })).status === 0,
188
+ nodeVersion: process.versions.node,
187
189
  service: serviceAt(),
188
190
  running: () => readRunningFile(paths.running),
189
191
  detect: detectAt(),
@@ -219,6 +221,7 @@ export async function main(argv, machine) {
219
221
  const report = await upgradeTrierarch({
220
222
  ...(version !== undefined && { version }),
221
223
  isPluginStepOfAnUpgrade: env[PLUGIN_STEP_VARIABLE] === '1',
224
+ removeRemoteControl: () => removeRemoteControl(paths.config),
222
225
  installedVersion: runningVersion,
223
226
  npm: {
224
227
  globalFolder: async () => {
@@ -295,7 +298,7 @@ export async function main(argv, machine) {
295
298
  return { data: status, text };
296
299
  },
297
300
  uninstall: async () => {
298
- const report = await uninstallTrierarch({ service: serviceAt(), uninstall: createUninstall({ processes: createTmux(), state: createJsonState(paths.state) }), home: paths.home });
301
+ const report = await uninstallTrierarch({ service: serviceAt(), uninstall: createUninstall({ processes: hostSessions({ paths, version: runningVersion() }), state: createJsonState(paths.state) }), home: paths.home });
299
302
  return { data: report, text: report.said.join('\n') };
300
303
  },
301
304
  run: async () => {