@ckanner/flywheel 0.33.1 → 0.34.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 (148) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -0
  3. package/README.zh-CN.md +2 -0
  4. package/THIRD_PARTY_NOTICES.md +5 -1
  5. package/bin/flywheel-kimi-native-worker.js +5 -0
  6. package/bin/flywheel.js +8 -1
  7. package/bin/runtime.js +5 -1
  8. package/dist/bridge.mjs +89 -7
  9. package/dist/claude-code-pro-bridge.mjs +55 -6
  10. package/dist/client.js +40 -5
  11. package/dist/codex-pro-bridge.mjs +12 -5
  12. package/dist/control.mjs +1 -1
  13. package/dist/kimi-native-bridge.mjs +429 -0
  14. package/dist/kimi-native-runtime.mjs +233 -0
  15. package/dist/kimi-native-worker.mjs +77 -0
  16. package/dist/kimi-tower-candidate.mjs +227 -0
  17. package/dist/machine-worker.mjs +39 -5
  18. package/dist/managed-lcu.mjs +223 -0
  19. package/dist/native-doctor.mjs +36 -0
  20. package/dist/native-jobs.mjs +72 -0
  21. package/dist/native-policy.mjs +371 -0
  22. package/dist/native-resources.mjs +144 -0
  23. package/dist/native.mjs +251 -0
  24. package/dist/policy.mjs +13 -3
  25. package/dist/prewarm.mjs +4 -1
  26. package/dist/protocol.mjs +8 -1
  27. package/dist/worker.mjs +16 -9
  28. package/docs/README.md +9 -0
  29. package/docs/README.zh-CN.md +3 -0
  30. package/docs/design.md +33 -11
  31. package/docs/en/claude-code-pro.md +2 -2
  32. package/docs/en/configuration.md +17 -5
  33. package/docs/en/contributing.md +5 -3
  34. package/docs/en/getting-started.md +2 -2
  35. package/docs/en/model-policy.md +2 -2
  36. package/docs/en/native-capabilities.md +185 -0
  37. package/docs/en/releasing.md +2 -2
  38. package/docs/en/session-recovery.md +2 -2
  39. package/docs/plans/2026-11-13-native-harness-capabilities.en.md +258 -0
  40. package/docs/plans/2026-11-13-native-harness-capabilities.md +276 -0
  41. package/docs/plans/README.md +1 -0
  42. package/docs/validation/2026-11-14-desktop-native-configuration.md +128 -0
  43. package/docs/validation/2026-11-14-native-harness-implementation.md +215 -0
  44. package/docs/validation/2026-11-14-published-companions.md +15 -0
  45. package/docs/validation/2026-11-14-release-0.33.1.md +78 -0
  46. package/docs/validation/README.md +3 -0
  47. package/docs/validation/evidence/2026-11-14-native-harness-candidate.json +255 -0
  48. package/docs/validation/evidence/2026-11-14-native-harness-sessions.json +6009 -0
  49. package/docs/validation/evidence/2026-11-14-native-harness-tower-candidate.json +192 -0
  50. package/docs/zh-CN/claude-code-pro.md +2 -2
  51. package/docs/zh-CN/configuration.md +21 -8
  52. package/docs/zh-CN/contributing.md +5 -3
  53. package/docs/zh-CN/getting-started.md +2 -2
  54. package/docs/zh-CN/model-policy.md +2 -2
  55. package/docs/zh-CN/native-capabilities.md +184 -0
  56. package/docs/zh-CN/releasing.md +2 -2
  57. package/docs/zh-CN/session-recovery.md +1 -1
  58. package/native/darwin-amd64/flywheel +0 -0
  59. package/native/darwin-arm64/flywheel +0 -0
  60. package/native/linux-amd64/flywheel +0 -0
  61. package/native/linux-arm64/flywheel +0 -0
  62. package/native/manifest.json +9 -9
  63. package/node_modules/dsh-preset-generator/CHANGELOG.md +77 -0
  64. package/node_modules/dsh-preset-generator/LICENSE +21 -0
  65. package/node_modules/dsh-preset-generator/README.md +149 -0
  66. package/node_modules/dsh-preset-generator/docs/README.zh.md +95 -0
  67. package/node_modules/dsh-preset-generator/package.json +43 -0
  68. package/node_modules/dsh-preset-generator/src/composition.mjs +150 -0
  69. package/node_modules/dsh-preset-generator/src/gen-presets.mjs +367 -0
  70. package/node_modules/dsh-preset-generator/src/policy.mjs +17 -0
  71. package/node_modules/dsh-subagent-codex-pro/CHANGELOG.md +16 -1
  72. package/node_modules/dsh-subagent-codex-pro/README.md +57 -4
  73. package/node_modules/dsh-subagent-codex-pro/assets/native-client.js +118 -0
  74. package/node_modules/dsh-subagent-codex-pro/cordis.patch.yml +6 -0
  75. package/node_modules/dsh-subagent-codex-pro/docs/README.zh.md +49 -2
  76. package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle-validation.md +1 -1
  77. package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle.md +1 -1
  78. package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle.zh.md +1 -1
  79. package/node_modules/dsh-subagent-codex-pro/docs/machine.md +2 -2
  80. package/node_modules/dsh-subagent-codex-pro/docs/native-capabilities.md +254 -0
  81. package/node_modules/dsh-subagent-codex-pro/docs/native-capabilities.zh.md +180 -0
  82. package/node_modules/dsh-subagent-codex-pro/lib/config.js +56 -0
  83. package/node_modules/dsh-subagent-codex-pro/lib/config.js.map +1 -0
  84. package/node_modules/dsh-subagent-codex-pro/lib/desktop-native.js +109 -0
  85. package/node_modules/dsh-subagent-codex-pro/lib/desktop-native.js.map +1 -0
  86. package/node_modules/dsh-subagent-codex-pro/lib/dsh-types.js +3 -4
  87. package/node_modules/dsh-subagent-codex-pro/lib/dsh-types.js.map +1 -1
  88. package/node_modules/dsh-subagent-codex-pro/lib/index.js +64 -15
  89. package/node_modules/dsh-subagent-codex-pro/lib/index.js.map +1 -1
  90. package/node_modules/dsh-subagent-codex-pro/lib/jobs.js +6 -2
  91. package/node_modules/dsh-subagent-codex-pro/lib/jobs.js.map +1 -1
  92. package/node_modules/dsh-subagent-codex-pro/lib/machine-cli.js +2 -2
  93. package/node_modules/dsh-subagent-codex-pro/lib/machine-cli.js.map +1 -1
  94. package/node_modules/dsh-subagent-codex-pro/lib/machine-local.js +5 -2
  95. package/node_modules/dsh-subagent-codex-pro/lib/machine-local.js.map +1 -1
  96. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervision.js +11 -0
  97. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervision.js.map +1 -1
  98. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervisor.js +1 -0
  99. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervisor.js.map +1 -1
  100. package/node_modules/dsh-subagent-codex-pro/lib/machine.js +20 -3
  101. package/node_modules/dsh-subagent-codex-pro/lib/machine.js.map +1 -1
  102. package/node_modules/dsh-subagent-codex-pro/lib/native.js +297 -0
  103. package/node_modules/dsh-subagent-codex-pro/lib/native.js.map +1 -0
  104. package/node_modules/dsh-subagent-codex-pro/lib/process-guardian.js +11 -1
  105. package/node_modules/dsh-subagent-codex-pro/lib/process-guardian.js.map +1 -1
  106. package/node_modules/dsh-subagent-codex-pro/lib/run.js +19 -1
  107. package/node_modules/dsh-subagent-codex-pro/lib/run.js.map +1 -1
  108. package/node_modules/dsh-subagent-codex-pro/lib/tool.js +123 -57
  109. package/node_modules/dsh-subagent-codex-pro/lib/tool.js.map +1 -1
  110. package/node_modules/dsh-subagent-codex-pro/lib/types/config.d.ts +31 -0
  111. package/node_modules/dsh-subagent-codex-pro/lib/types/config.d.ts.map +1 -0
  112. package/node_modules/dsh-subagent-codex-pro/lib/types/desktop-native.d.ts +30 -0
  113. package/node_modules/dsh-subagent-codex-pro/lib/types/desktop-native.d.ts.map +1 -0
  114. package/node_modules/dsh-subagent-codex-pro/lib/types/dsh-types.d.ts +7 -5
  115. package/node_modules/dsh-subagent-codex-pro/lib/types/dsh-types.d.ts.map +1 -1
  116. package/node_modules/dsh-subagent-codex-pro/lib/types/index.d.ts +31 -0
  117. package/node_modules/dsh-subagent-codex-pro/lib/types/index.d.ts.map +1 -1
  118. package/node_modules/dsh-subagent-codex-pro/lib/types/jobs.d.ts +2 -0
  119. package/node_modules/dsh-subagent-codex-pro/lib/types/jobs.d.ts.map +1 -1
  120. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-local.d.ts.map +1 -1
  121. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervision.d.ts.map +1 -1
  122. package/node_modules/dsh-subagent-codex-pro/lib/types/machine.d.ts +7 -0
  123. package/node_modules/dsh-subagent-codex-pro/lib/types/machine.d.ts.map +1 -1
  124. package/node_modules/dsh-subagent-codex-pro/lib/types/native.d.ts +120 -0
  125. package/node_modules/dsh-subagent-codex-pro/lib/types/native.d.ts.map +1 -0
  126. package/node_modules/dsh-subagent-codex-pro/lib/types/run.d.ts +11 -0
  127. package/node_modules/dsh-subagent-codex-pro/lib/types/run.d.ts.map +1 -1
  128. package/node_modules/dsh-subagent-codex-pro/lib/types/tool.d.ts +11 -0
  129. package/node_modules/dsh-subagent-codex-pro/lib/types/tool.d.ts.map +1 -1
  130. package/node_modules/dsh-subagent-codex-pro/lib/types/wire.d.ts +7 -1
  131. package/node_modules/dsh-subagent-codex-pro/lib/types/wire.d.ts.map +1 -1
  132. package/node_modules/dsh-subagent-codex-pro/lib/wire.js +34 -6
  133. package/node_modules/dsh-subagent-codex-pro/lib/wire.js.map +1 -1
  134. package/node_modules/dsh-subagent-codex-pro/package.json +28 -4
  135. package/npm/install.js +2 -2
  136. package/package.json +25 -10
  137. package/plugins/dsh/KIMI_NATIVE_PROTOCOL.en.md +76 -0
  138. package/plugins/dsh/KIMI_NATIVE_PROTOCOL.md +76 -0
  139. package/plugins/dsh/PROTOCOL.md +149 -17
  140. package/plugins/dsh/README.md +15 -12
  141. package/plugins/dsh/README.zh-CN.md +8 -8
  142. package/plugins/dsh/THIRD_PARTY_NOTICES.md +5 -1
  143. package/plugins/dsh/vendor/README.md +40 -11
  144. package/plugins/dsh/vendor/chatgpt.json +21 -0
  145. package/plugins/dsh/vendor/claude-code-pro.json +21 -0
  146. package/plugins/dsh/vendor/codex-pro.json +13 -8
  147. package/plugins/dsh/vendor/lcu.json +21 -0
  148. package/plugins/dsh/vendor/preset-generator.json +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"machine-supervision.js","sourceRoot":"","sources":["../src/machine-supervision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine-supervision.js","sourceRoot":"","sources":["../src/machine-supervision.ts"],"names":[],"mappings":"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"}
@@ -108,6 +108,7 @@ async function execute(request, options) {
108
108
  };
109
109
  const receipt = await runMachineLocal(request, {
110
110
  signal: abort.signal, env: options.env, onLifecycle,
111
+ onNativeEvent: event => { void send({ type: 'native-event', event }); },
111
112
  onProgress: text => { void send({ type: 'progress', text: text.slice(0, 16_384) }); },
112
113
  }, runId, value => { journal?.receipt(value); });
113
114
  await send({ type: 'result', receipt });
@@ -1 +1 @@
1
- {"version":3,"file":"machine-supervisor.js","sourceRoot":"","sources":["../src/machine-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine-supervisor.js","sourceRoot":"","sources":["../src/machine-supervisor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  /** Versioned, host-independent entry point for deterministic orchestrators. */
2
+ import { parseNativeRequest } from "./native.js";
3
+ export { MACHINE_NATIVE_VERSION, MACHINE_NATIVE_CAPABILITIES } from "./native.js";
2
4
  import { isAbsolute } from 'node:path';
3
5
  import { runMachineLocal } from "./machine-local.js";
4
6
  import { superviseMachine } from "./machine-supervision.js";
@@ -11,7 +13,7 @@ export class MachineInputError extends Error {
11
13
  }
12
14
  const INPUT_KEYS = new Set([
13
15
  'protocol', 'requestId', 'prompt', 'cwd', 'model', 'effort', 'permissionMode',
14
- 'command', 'timeoutMs', 'maxOutputBytes', 'threadMode', 'threadId', 'images', 'outputSchema',
16
+ 'command', 'timeoutMs', 'maxOutputBytes', 'threadMode', 'threadId', 'images', 'outputSchema', 'native',
15
17
  ]);
16
18
  function textField(input, key, optional = false) {
17
19
  const value = input[key];
@@ -28,7 +30,7 @@ export function parseMachineRequest(value) {
28
30
  if (value === null || typeof value !== 'object' || Array.isArray(value)) {
29
31
  throw new MachineInputError('request must be a JSON object');
30
32
  }
31
- const input = value;
33
+ const input = { ...value };
32
34
  if (Object.keys(input).some((key) => !INPUT_KEYS.has(key)))
33
35
  throw new MachineInputError('request contains an unsupported field');
34
36
  if (input.protocol !== MACHINE_PROTOCOL_VERSION)
@@ -68,6 +70,19 @@ export function parseMachineRequest(value) {
68
70
  throw new MachineInputError('outputSchema must be an object-rooted JSON Schema');
69
71
  }
70
72
  }
73
+ if (input.native !== undefined) {
74
+ try {
75
+ input.native = parseNativeRequest(input.native);
76
+ }
77
+ catch (error) {
78
+ throw new MachineInputError(error instanceof Error ? error.message : 'invalid native policy');
79
+ }
80
+ const native = input.native;
81
+ if (native.review && native.agents?.enabled)
82
+ throw new MachineInputError('native review disables collaboration internally; choose an independent query for an agent review');
83
+ if (native.review && (input.threadId !== undefined || input.images !== undefined || input.outputSchema !== undefined))
84
+ throw new MachineInputError('native review requires a fresh thread without images or outputSchema');
85
+ }
71
86
  return input;
72
87
  }
73
88
  /** A machine run never invents an exit code, usage, effective effort, or dollar cost. */
@@ -76,13 +91,15 @@ export async function runMachine(value, options = {}) {
76
91
  if (process.platform === 'win32')
77
92
  throw new MachineInputError('machine execution requires POSIX process-group supervision');
78
93
  if (options === null || typeof options !== 'object' || Array.isArray(options)
79
- || Object.keys(options).some(key => !['signal', 'env', 'onProgress', 'onLifecycle', 'recoveryDirectory'].includes(key))) {
94
+ || Object.keys(options).some(key => !['signal', 'env', 'onProgress', 'onNativeEvent', 'onLifecycle', 'recoveryDirectory'].includes(key))) {
80
95
  throw new MachineInputError('machine options contain unsupported fields');
81
96
  }
82
97
  if (options.signal !== undefined && !(options.signal instanceof AbortSignal))
83
98
  throw new MachineInputError('signal must be an AbortSignal');
84
99
  if (options.onProgress !== undefined && typeof options.onProgress !== 'function')
85
100
  throw new MachineInputError('onProgress must be a function');
101
+ if (options.onNativeEvent !== undefined && typeof options.onNativeEvent !== 'function')
102
+ throw new MachineInputError('onNativeEvent must be a function');
86
103
  if (options.env !== undefined && (options.env === null || typeof options.env !== 'object' || Array.isArray(options.env)
87
104
  || Object.values(options.env).some(value => value !== undefined && (typeof value !== 'string' || value.includes('\0'))))) {
88
105
  throw new MachineInputError('env must contain only string environment values');
@@ -1 +1 @@
1
- {"version":3,"file":"machine.js","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine.js","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ /** Versioned controls and evidence for Codex's native child threads. */
2
+ import { TokenUsageTracker } from "./usage.js";
3
+ export const MACHINE_NATIVE_VERSION = 1;
4
+ export const MACHINE_NATIVE_CAPABILITIES = Object.freeze({ version: 1, agents: true, review: true,
5
+ images: true, structuredOutput: true, childEvents: true, cleanup: 'local-process-group', remoteJobs: false });
6
+ const object = (v) => v !== null && typeof v === 'object' && !Array.isArray(v);
7
+ const text = (v) => typeof v === 'string' && v.trim() !== '' && !v.includes('\0') && Buffer.byteLength(v) <= 65536;
8
+ const keys = (v, allowed) => Object.keys(v).every(k => allowed.includes(k));
9
+ const terminalStates = new Set(['completed', 'failed', 'closed', 'shutdown', 'errored', 'interrupted', 'notFound']);
10
+ /** Reject unsupported controls, instead of silently dropping a policy. */
11
+ export function parseNativeRequest(value) {
12
+ if (!object(value) || !keys(value, ['version', 'agents', 'review']) || value.version !== 1)
13
+ throw new Error('invalid native capability version or fields');
14
+ const agents = value.agents;
15
+ if (agents !== undefined) {
16
+ if (!object(agents) || !keys(agents, ['enabled', 'maxConcurrentThreads', 'defaultModel', 'defaultEffort', 'backend']) || typeof agents.enabled !== 'boolean')
17
+ throw new Error('native.agents needs an explicit enabled boolean');
18
+ if (agents.maxConcurrentThreads !== undefined && (!Number.isSafeInteger(agents.maxConcurrentThreads) || Number(agents.maxConcurrentThreads) < 1))
19
+ throw new Error('native agents concurrency must be a positive safe integer');
20
+ for (const field of ['defaultModel', 'defaultEffort'])
21
+ if (agents[field] !== undefined && !text(agents[field]))
22
+ throw new Error(`invalid native agents ${field}`);
23
+ if (agents.backend !== undefined && agents.backend !== 'v2')
24
+ throw new Error('invalid native agent backend');
25
+ if (agents.maxConcurrentThreads === Number.MAX_SAFE_INTEGER)
26
+ throw new Error('native concurrency must leave room for the root thread');
27
+ if (agents.enabled === false && Object.keys(agents).length !== 1)
28
+ throw new Error('disabled agents cannot have active controls');
29
+ }
30
+ if (value.review !== undefined) {
31
+ if (!object(value.review) || !keys(value.review, ['target']) || !object(value.review.target))
32
+ throw new Error('native review needs an explicit target');
33
+ const target = value.review.target;
34
+ const fields = { uncommittedChanges: ['type'], baseBranch: ['type', 'branch'], commit: ['type', 'sha', 'title'], custom: ['type', 'instructions'] };
35
+ if (typeof target.type !== 'string' || !fields[target.type] || !keys(target, fields[target.type]))
36
+ throw new Error('unsupported native review target');
37
+ for (const field of fields[target.type].filter(f => f !== 'type' && f !== 'title'))
38
+ if (!text(target[field]))
39
+ throw new Error(`review target requires ${field}`);
40
+ if (target.title !== undefined && !text(target.title))
41
+ throw new Error('invalid review title');
42
+ }
43
+ return structuredClone(value);
44
+ }
45
+ /** Each override is passed as one argv value; never interpolated into a shell. */
46
+ export function nativeConfig(request, review = {}) {
47
+ const a = request.agents ?? { enabled: false };
48
+ return { 'agents.enabled': a.enabled,
49
+ ...(!a.enabled ? { 'features.multi_agent_v2': false } : a.backend === 'v2' ? { 'features.multi_agent_v2': { enabled: true, disable_native_tools: false, ...(a.maxConcurrentThreads === undefined ? {} : { max_concurrent_threads_per_session: a.maxConcurrentThreads + 1 }) } } : {}),
50
+ ...(request.review && review.model !== undefined ? { review_model: review.model } : {}),
51
+ ...(request.review && review.effort !== undefined ? { model_reasoning_effort: review.effort } : {}),
52
+ ...(a.maxConcurrentThreads === undefined ? {} : { 'agents.max_concurrent_threads_per_session': a.maxConcurrentThreads }),
53
+ ...(a.defaultModel === undefined ? {} : { 'agents.default_subagent_model': a.defaultModel }),
54
+ ...(a.defaultEffort === undefined ? {} : { 'agents.default_subagent_reasoning_effort': a.defaultEffort }) };
55
+ }
56
+ function toml(value) {
57
+ if (object(value))
58
+ return '{ ' + Object.entries(value).map(([key, item]) => `${key} = ${toml(item)}`).join(', ') + ' }';
59
+ return JSON.stringify(value);
60
+ }
61
+ export function nativeArguments(request, review = {}) {
62
+ return request === undefined ? [] : Object.entries(nativeConfig(request, review)).flatMap(([key, value]) => ['-c', `${key}=${toml(value)}`]);
63
+ }
64
+ /** Identity must be established by a parent relation, never by an arbitrary notification. */
65
+ export class NativeTracker {
66
+ request;
67
+ #root;
68
+ #children = new Map();
69
+ #usage = new Map();
70
+ #fresh = new Set();
71
+ #turns = new Map();
72
+ #history = new Map();
73
+ #orphans = [];
74
+ #expected;
75
+ #events = [];
76
+ #seen = new Set();
77
+ #sequence = 0;
78
+ #truncated = false;
79
+ #effective = { source: null, matched: false, config: null };
80
+ #report;
81
+ constructor(request, report, review = {}) { this.request = request; this.#report = report; this.#expected = nativeConfig(request, review); }
82
+ get configurationOverrides() { return structuredClone(this.#expected); }
83
+ setRoot(id) { this.#root = id; this.#replayOrphans(); }
84
+ #replayOrphans() {
85
+ const pending = this.#orphans.splice(0);
86
+ for (const event of pending)
87
+ this.observe(event.method, event.params);
88
+ }
89
+ verifyConfiguration(response) {
90
+ const config = object(response) && object(response.config) ? response.config : null;
91
+ const expected = this.#expected;
92
+ const actual = {};
93
+ for (const key of Object.keys(expected)) {
94
+ const [group, field] = key.split('.');
95
+ const nested = config?.[group];
96
+ actual[key] = config?.[key] ?? (object(nested) ? nested[field] : undefined) ?? null;
97
+ }
98
+ const matches = (a, b) => object(a) && object(b) ? Object.entries(b).every(([k, v]) => matches(a[k], v)) : a === b;
99
+ let matched = Object.entries(expected).every(([k, v]) => matches(actual[k], v));
100
+ const v2 = object(config?.features) ? config.features.multi_agent_v2 : undefined;
101
+ if (this.request.agents?.enabled && object(v2) && v2.enabled !== false) {
102
+ if (v2.disable_native_tools === true)
103
+ matched = false;
104
+ const cap = this.request.agents.maxConcurrentThreads;
105
+ if (cap !== undefined && typeof v2.max_concurrent_threads_per_session === 'number' && v2.max_concurrent_threads_per_session > cap + 1)
106
+ matched = false;
107
+ actual['effectiveV2'] = v2;
108
+ }
109
+ this.#effective = { source: 'config/read', matched, config: actual };
110
+ if (!matched)
111
+ throw new Error('Codex did not confirm the requested native configuration before dispatch');
112
+ }
113
+ owns(id) { return typeof id === 'string' && (id === this.#root || this.#children.has(id)); }
114
+ #record(kind, child) {
115
+ const key = JSON.stringify([kind, child.id, child.parentId, child.state, child.turnId, child.model]);
116
+ if (this.#seen.has(key))
117
+ return;
118
+ if (this.#events.length >= 4096) {
119
+ this.#truncated = true;
120
+ return;
121
+ }
122
+ this.#seen.add(key);
123
+ const event = { version: 1, sequence: ++this.#sequence, kind, id: child.id, parentId: child.parentId,
124
+ state: child.state, ...(child.turnId === null ? {} : { turnId: child.turnId }), ...(child.model === null ? {} : { model: child.model }) };
125
+ this.#events.push(event);
126
+ try {
127
+ this.#report?.(event);
128
+ }
129
+ catch { /* Observations are not dispatch approvals. */ }
130
+ }
131
+ acceptsTurn(id, turnId, nullable = false) {
132
+ const child = typeof id === 'string' ? this.#children.get(id) : undefined;
133
+ return child !== undefined && ((nullable && turnId === null) || (typeof turnId === 'string' && child.turnId === turnId));
134
+ }
135
+ #child(id, parent, kind = 'agent', fresh = false) {
136
+ if (!text(id) || id === this.#root || !this.owns(parent))
137
+ return undefined;
138
+ const existing = this.#children.get(id);
139
+ if (existing) {
140
+ if (fresh && !this.#fresh.has(id)) {
141
+ this.#fresh.add(id);
142
+ const tracker = new TokenUsageTracker();
143
+ tracker.resetForNewThread(id);
144
+ this.#usage.set(id, tracker);
145
+ for (const event of this.#history.get(id) ?? [])
146
+ this.#foldUsage(existing, event.method, event.params);
147
+ }
148
+ return existing;
149
+ }
150
+ if (this.#children.size >= 4096)
151
+ throw new Error('native child evidence exceeds its bounded ledger');
152
+ if (this.request.agents?.enabled !== true)
153
+ throw new Error('native child dispatch was observed while agents were disabled');
154
+ const child = { id, parentId: String(parent), kind, state: 'created', model: null, turnId: null, usage: null };
155
+ this.#children.set(id, child);
156
+ const tracker = new TokenUsageTracker();
157
+ if (fresh) {
158
+ tracker.resetForNewThread(id);
159
+ this.#fresh.add(id);
160
+ }
161
+ else
162
+ tracker.resetForResume(id);
163
+ this.#usage.set(id, tracker);
164
+ this.#record('child-created', child);
165
+ this.#replayOrphans();
166
+ return child;
167
+ }
168
+ observe(method, params) {
169
+ if (!object(params))
170
+ return;
171
+ if (method === 'thread/started' && object(params.thread)) {
172
+ const t = params.thread;
173
+ const source = object(t.source) ? t.source : object(t.sessionSource) ? t.sessionSource : undefined;
174
+ const sub = source && object(source.subAgent) ? source.subAgent : source && object(source.subagent) ? source.subagent : undefined;
175
+ const spawn = sub && object(sub.thread_spawn) ? sub.thread_spawn : sub && object(sub.threadSpawn) ? sub.threadSpawn : undefined;
176
+ const child = this.#child(t.id, t.parentThreadId ?? spawn?.parent_thread_id ?? spawn?.parentThreadId);
177
+ if (child) {
178
+ if (text(t.model))
179
+ child.model = t.model;
180
+ return;
181
+ }
182
+ }
183
+ const item = object(params.item) ? params.item : undefined;
184
+ if (item && (item.type === 'collabAgentToolCall' || item.type === 'collaborationToolCall')) {
185
+ const parent = item.senderThreadId ?? params.threadId;
186
+ if (!this.owns(parent))
187
+ return;
188
+ const ids = Array.isArray(item.receiverThreadIds) ? item.receiverThreadIds : [];
189
+ for (const id of ids) {
190
+ const child = this.#child(id, parent, 'agent', item.tool === 'spawnAgent');
191
+ if (!child)
192
+ continue;
193
+ const states = object(item.agentsStates) ? item.agentsStates : undefined;
194
+ const state = states && object(states[child.id]) ? states[child.id] : undefined;
195
+ if (state && text(state.status))
196
+ child.state = state.status;
197
+ if (text(item.model))
198
+ child.model = item.model;
199
+ this.#record('child-state', child);
200
+ }
201
+ }
202
+ if (item?.type === 'subAgentActivity') {
203
+ const child = this.#child(item.agentThreadId, params.threadId, 'agent', item.kind === 'started');
204
+ if (child) {
205
+ if (text(item.model))
206
+ child.model = item.model;
207
+ if (text(item.kind))
208
+ child.state = item.kind === 'started' ? 'running' : item.kind;
209
+ this.#record('child-activity', child);
210
+ }
211
+ }
212
+ const child = typeof params.threadId === 'string' ? this.#children.get(params.threadId) : undefined;
213
+ if (!child) {
214
+ // thread/started carries its identity inside `thread`, even before the
215
+ // root/start response establishes our owner. Keep that bounded ancestry
216
+ // evidence so later child requests can be routed to the correct turn.
217
+ const id = method === 'thread/started' && object(params.thread) ? params.thread.id : params.threadId;
218
+ if (text(id) && id !== this.#root && ['thread/tokenUsage/updated', 'turn/started', 'turn/completed', 'thread/started'].includes(method)) {
219
+ if (this.#orphans.length < 128)
220
+ this.#orphans.push({ method, params });
221
+ else
222
+ this.#truncated = true;
223
+ }
224
+ return;
225
+ }
226
+ if (method === 'turn/started' && object(params.turn) && text(params.turn.id)) {
227
+ const turns = this.#turns.get(child.id) ?? new Set();
228
+ if (turns.has(params.turn.id))
229
+ return;
230
+ if (turns.size >= 4096) {
231
+ this.#truncated = true;
232
+ return;
233
+ }
234
+ turns.add(params.turn.id);
235
+ this.#turns.set(child.id, turns);
236
+ }
237
+ if (['thread/tokenUsage/updated', 'turn/started'].includes(method)) {
238
+ const history = this.#history.get(child.id) ?? [];
239
+ if (history.length < 128) {
240
+ history.push({ method, params });
241
+ this.#history.set(child.id, history);
242
+ }
243
+ else if (!this.#fresh.has(child.id))
244
+ this.#truncated = true;
245
+ }
246
+ this.#foldUsage(child, method, params);
247
+ if (method === 'turn/started' && object(params.turn) && text(params.turn.id)) {
248
+ child.turnId = params.turn.id;
249
+ child.state = 'running';
250
+ this.#record('child-turn-started', child);
251
+ }
252
+ else if (method === 'turn/completed' && object(params.turn) && text(params.turn.id)) {
253
+ // A resumed child can emit a late completion for its preceding turn.
254
+ // Keep the live turn identity for approval routing and interruption.
255
+ if (child.turnId !== null && child.turnId !== params.turn.id)
256
+ return;
257
+ child.turnId = params.turn.id;
258
+ child.state = text(params.turn.status) ? params.turn.status : 'unknown';
259
+ this.#record('child-turn-completed', child);
260
+ }
261
+ else if (method === 'thread/closed') {
262
+ child.state = 'closed';
263
+ this.#record('child-closed', child);
264
+ }
265
+ }
266
+ #foldUsage(child, method, params) {
267
+ const tracker = this.#usage.get(child.id);
268
+ if (method === 'turn/started' && object(params.turn) && text(params.turn.id))
269
+ tracker?.beginTurn(params.turn.id);
270
+ else if (method === 'thread/tokenUsage/updated')
271
+ tracker?.observe(params);
272
+ }
273
+ running() {
274
+ return [...this.#children.values()].filter(c => c.state === 'running' && c.turnId !== null).map(c => ({ threadId: c.id, turnId: c.turnId }));
275
+ }
276
+ report(cleanupConfirmed = false) {
277
+ const usage = {};
278
+ for (const [id, tracker] of this.#usage) {
279
+ const report = tracker.report();
280
+ // A cumulative snapshot is attributable, but without a terminal child
281
+ // event it is only a lower bound. Reaping processes cannot fill that gap.
282
+ usage[id] = report.status === 'complete' && !terminalStates.has(this.#children.get(id).state)
283
+ ? { ...report, status: 'partial', reason: 'child terminal consumption was not observed' } : report;
284
+ }
285
+ const children = [...this.#children.values()].map(c => ({ ...c, usage: usage[c.id] ?? null }));
286
+ const pending = children.filter(c => !terminalStates.has(c.state)).map(c => c.id);
287
+ const complete = pending.length === 0 && !this.#truncated && children.every(c => c.usage?.status === 'complete');
288
+ const total = complete ? children.reduce((sum, c) => sum + (c.usage?.run?.totalTokens ?? 0), 0) : null;
289
+ return { version: 1, requested: this.request, effective: this.#effective,
290
+ observed: { events: [...this.#events], truncated: this.#truncated }, children,
291
+ usage: { strategy: 'per-thread', scope: 'observed-children', status: children.length === 0 ? 'unknown' : complete ? 'complete' : 'partial', children: usage,
292
+ totalTokens: total !== null && Number.isSafeInteger(total) && children.length > 0 ? total : null },
293
+ completion: { confirmed: pending.length === 0 && !this.#truncated, pendingIds: pending },
294
+ cleanup: { confirmed: cleanupConfirmed, scope: 'local-process-group', pendingIds: cleanupConfirmed ? [] : pending } };
295
+ }
296
+ }
297
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,16 @@ import { spawn } from 'node:child_process';
22
22
  import { closeSync } from 'node:fs';
23
23
  const command = process.argv[2];
24
24
  const graceMs = Number(process.argv[3]);
25
+ let overrides = [];
26
+ try {
27
+ const value = JSON.parse(process.argv[4] ?? '[]');
28
+ if (!Array.isArray(value) || value.some(x => typeof x !== 'string' || x.includes('\0')))
29
+ throw new Error();
30
+ overrides = value;
31
+ }
32
+ catch {
33
+ process.exit(1);
34
+ }
25
35
  const posix = process.platform !== 'win32';
26
36
  let child;
27
37
  let stopping = false;
@@ -126,7 +136,7 @@ else {
126
136
  delete env.NODE_CHANNEL_FD;
127
137
  delete env.NODE_CHANNEL_SERIALIZATION_MODE;
128
138
  try {
129
- child = spawn(command, ['app-server', '--stdio'], {
139
+ child = spawn(command, [...overrides, 'app-server', '--stdio'], {
130
140
  cwd: process.cwd(), env, stdio: ['inherit', 'inherit', 'inherit'],
131
141
  detached: false, windowsHide: true,
132
142
  });
@@ -1 +1 @@
1
- {"version":3,"file":"process-guardian.js","sourceRoot":"","sources":["../src/process-guardian.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-guardian.js","sourceRoot":"","sources":["../src/process-guardian.ts"],"names":[],"mappings":"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"}