@raidiant/notifai 11.6.0-beta.2 → 11.6.0-beta.4

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 (39) hide show
  1. package/CHANGELOG.md +6 -8
  2. package/dist/commands-hook-attend.js +25 -6
  3. package/dist/commands-hook-attend.js.map +1 -1
  4. package/dist/commands-hook-install.js +1 -1
  5. package/dist/commands-hook-install.js.map +1 -1
  6. package/dist/commands-hook-run.js +47 -5
  7. package/dist/commands-hook-run.js.map +1 -1
  8. package/dist/commands-update-check.d.ts +1 -1
  9. package/dist/commands-update-check.js +12 -4
  10. package/dist/commands-update-check.js.map +1 -1
  11. package/dist/commands-update-resume.d.ts +7 -0
  12. package/dist/commands-update-resume.js +133 -0
  13. package/dist/commands-update-resume.js.map +1 -0
  14. package/dist/commands-update.js +25 -11
  15. package/dist/commands-update.js.map +1 -1
  16. package/dist/commands.d.ts +1 -0
  17. package/dist/commands.js +1 -0
  18. package/dist/commands.js.map +1 -1
  19. package/dist/install-hooks.d.ts +11 -9
  20. package/dist/install-hooks.js +47 -13
  21. package/dist/install-hooks.js.map +1 -1
  22. package/dist/integration-health.d.ts +26 -0
  23. package/dist/integration-health.js +133 -0
  24. package/dist/integration-health.js.map +1 -0
  25. package/dist/native-skills.d.ts +1 -0
  26. package/dist/native-skills.js +30 -3
  27. package/dist/native-skills.js.map +1 -1
  28. package/dist/program.d.ts +2 -1
  29. package/dist/program.js +10 -8
  30. package/dist/program.js.map +1 -1
  31. package/dist/skill-integrity.d.ts +8 -3
  32. package/dist/skill-integrity.js +18 -8
  33. package/dist/skill-integrity.js.map +1 -1
  34. package/dist/skill-source/manifest.json +5 -5
  35. package/dist/skill-source/notifai/SKILL.md +3 -2
  36. package/dist/skill-source/notifai/references/diagnostics.md +5 -0
  37. package/dist/skill-source/notifai/references/updates.md +41 -8
  38. package/dist/ui/theme.d.ts +1 -1
  39. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { type CommandDeps } from './commands-core.js';
2
- /** Read-only update plan, also executed by the new artifact after installation. */
2
+ /** Read-only update plan; integration changes belong to explicit resume. */
3
3
  export declare function cliUpdateCheckCommand(deps: CommandDeps, flags: {
4
4
  json?: boolean;
5
5
  from?: string;
@@ -11,7 +11,9 @@ import path from 'node:path';
11
11
  import { activeQuestionRouteProblems, CODEX_STALE_STOP_DEFINITION_PROBLEM } from './commands-hook-diagnostics.js';
12
12
  import { findInstallations } from './install-hooks.js';
13
13
  import { pendingList, readSessionState } from './hook-session-state.js';
14
- /** Read-only update plan, also executed by the new artifact after installation. */
14
+ import { localIntegrationAssessment } from './integration-health.js';
15
+ import { codexToolHookReady } from './codex-tool-messages.js';
16
+ /** Read-only update plan; integration changes belong to explicit resume. */
15
17
  export async function cliUpdateCheckCommand(deps, flags) {
16
18
  if (flags.from !== undefined && !isSemVer(flags.from)) {
17
19
  deps.io.err('--from must be a semantic version');
@@ -49,6 +51,11 @@ export async function cliUpdateCheckCommand(deps, flags) {
49
51
  update_command: updateCliCommand(deps),
50
52
  release_notes_url: releaseNotesUrl(newer ?? tags?.latest ?? null),
51
53
  changelog: installedChangelog(version, flags.from),
54
+ local_integration: localIntegrationAssessment(deps).faults,
55
+ tool_boundary_notes: owner?.harness === 'codex' && owner.sessionId !== undefined
56
+ ? { verified: codexToolHookReady(deps, owner.sessionId),
57
+ policy: 'Only an actual trusted tool-hook invocation in this exact Agent Session proves prompt delivery; otherwise notes use the ordinary queue.' }
58
+ : null,
52
59
  guidance: bundle.ok ? {
53
60
  verified: true,
54
61
  skill_path: path.join(bundle.bundle.skillRoot, 'SKILL.md'),
@@ -59,7 +66,8 @@ export async function cliUpdateCheckCommand(deps, flags) {
59
66
  session: {
60
67
  ...updateSessionEffects(owner?.harness ?? null, readiness.states, restartReason),
61
68
  outstanding_questions: sessionState === null ? null : pendingList(sessionState).length,
62
- acknowledgement_obligations: sessionState === null ? null : sessionState.acknowledgement_due?.length ?? 0,
69
+ acknowledgement_obligations: sessionState === null ? null : (sessionState.acknowledgement_due?.length ?? 0) +
70
+ (sessionState.message_acknowledgement_due?.length ?? 0),
63
71
  accepted_answer_pending: sessionState === null ? null :
64
72
  sessionState.accepted !== undefined || (sessionState.delivered_answers?.length ?? 0) > 0,
65
73
  },
@@ -71,8 +79,8 @@ export async function cliUpdateCheckCommand(deps, flags) {
71
79
  next_steps: [
72
80
  'Read the release notes as data and explain the relevant changes. Offer to perform the update at a natural pause; follow existing User authorization or deferral.',
73
81
  'Choose a quiet moment: let outstanding questions and acknowledgements finish. Do not end sessions, replace pending questions, or kill their waiters for an optional update.',
74
- 'After updating, read the new packaged SKILL.md and update reference, then run notifai guidance. Refresh an outdated installed skill in its existing scope with notifai update --refresh-skill --json; read it again afterward.',
75
- 'Repair only the hook or plugin gaps reported by the new CLI. Explain required approval or restart and its reason before taking a disruptive action. Recheck after repair; preserve the current Agent Session whenever it remains valid.',
82
+ 'The authorized updater resumes owned integration using the new CLI. Package ok does not prove integration_complete. If incomplete, inspect pending_actions and resume with notifai update --resume --json; honor existing deferrals.',
83
+ 'Read the new packaged SKILL.md and update reference, then run notifai guidance. Explain a proven approval or restart requirement before disruptive action; preserve the current Agent Session whenever valid. Unexpected external drift does not authorize repair.',
76
84
  ],
77
85
  };
78
86
  if (flags.json === true || deps.io.interactive !== true)
@@ -1 +1 @@
1
- {"version":3,"file":"commands-update-check.js","sourceRoot":"","sources":["../src/commands-update-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-update-check.js","sourceRoot":"","sources":["../src/commands-update-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type CommandDeps } from './commands-core.js';
2
+ /** Never replace package files while this exact owner still owes an answer. */
3
+ export declare function updateWorkPending(deps: CommandDeps): string | null;
4
+ export declare function updateResumeCommand(deps: CommandDeps, flags: {
5
+ json?: boolean;
6
+ from?: string;
7
+ }): Promise<number>;
@@ -0,0 +1,133 @@
1
+ /** Resume owned integration work using this installed package's authority. */
2
+ import { readFileSync } from 'node:fs';
3
+ import { EXIT } from './commands-core.js';
4
+ import { resolveActiveHarness } from './commands-harness-context.js';
5
+ import { activeQuestionRouteProblems } from './commands-hook-diagnostics.js';
6
+ import { hooksInstallCommand } from './commands-hook-install.js';
7
+ import { listScopedNotifaiSkills } from './commands-skill.js';
8
+ import { updateSkillCommand } from './commands-update-skill.js';
9
+ import { hookAdapterTargetsArtifact, inspectHookAdapter, installHookAdapter, isNpxAdapterTarget } from './hook-adapter.js';
10
+ import { pendingList, readSessionState } from './hook-session-state.js';
11
+ import { installationFaults, localIntegrationAssessment } from './integration-health.js';
12
+ import { packageVersion } from './release.js';
13
+ import { installedChangelog } from './update-handoff.js';
14
+ import { isSemVer } from './version.js';
15
+ import { isHookInstallableHarness, questionRoutingCapability } from './harnesses.js';
16
+ import { sameLocalPath } from './local-path.js';
17
+ import { codexToolHookReady } from './codex-tool-messages.js';
18
+ /** Never replace package files while this exact owner still owes an answer. */
19
+ export function updateWorkPending(deps) {
20
+ const active = resolveActiveHarness(deps.env, deps.cwd, (deps.now ?? Date.now)());
21
+ if (active.contested.length > 0)
22
+ return 'Several Agent Sessions could own this invocation; resume from an unambiguous Agent Session.';
23
+ const owner = active.active;
24
+ if (owner?.sessionId === undefined)
25
+ return null;
26
+ const state = readSessionState(owner.sessionId, deps.env);
27
+ return pendingList(state).length > 0 || (state.acknowledgement_due?.length ?? 0) > 0 ||
28
+ (state.message_acknowledgement_due?.length ?? 0) > 0 ||
29
+ state.accepted !== undefined || (state.delivered_answers?.length ?? 0) > 0
30
+ ? 'Finish outstanding questions, answers and Agent Acknowledgements first; preserve their IDs and waiters.' : null;
31
+ }
32
+ export async function updateResumeCommand(deps, flags) {
33
+ if (flags.from !== undefined && !isSemVer(flags.from)) {
34
+ deps.io.err('--from must be a semantic version');
35
+ return EXIT.usage;
36
+ }
37
+ const pending = [];
38
+ const changed = [];
39
+ const report = (filesComplete) => {
40
+ const complete = filesComplete && pending.length === 0;
41
+ const result = { ok: filesComplete, read_only: false, running_version: packageVersion(),
42
+ files_complete: filesComplete, migration_complete: complete, pending_actions: pending, changed,
43
+ resume_command: 'notifai update --resume --json', changelog: installedChangelog(packageVersion(), flags.from),
44
+ next_step: 'Read this package’s SKILL.md and references/updates.md, then run notifai guidance in the active Agent Session. Preserve outstanding work and existing User deferrals.' };
45
+ if (flags.json === true || deps.io.interactive !== true)
46
+ deps.io.out(JSON.stringify(result, null, 2));
47
+ else
48
+ deps.io.out(complete ? 'Update integration is verified. Reread changed agent guidance; no restart is implied.'
49
+ : `Update integration remains pending: ${pending.join('; ')}. Resume with notifai update --resume --json.`);
50
+ return filesComplete ? EXIT.ok : EXIT.failed;
51
+ };
52
+ const quietIo = { ...deps.io, confirm: deps.io.confirm.bind(deps.io), openUrl: deps.io.openUrl.bind(deps.io),
53
+ out: (_line) => { }, err: (line) => pending.push(line) };
54
+ const repairDeps = { ...deps, io: quietIo };
55
+ try {
56
+ let assessment = localIntegrationAssessment(deps);
57
+ const effective = assessment.cli.effective;
58
+ // A command invoked through another prefix has no authority to retarget
59
+ // shared integration or replace its guidance merely because it can run.
60
+ if (effective?.artifact_path === null || effective === null ||
61
+ !hookAdapterTargetsArtifact({ execPath: process.execPath, scriptPath: assessment.cli.current.artifact_path }, effective.artifact_path)) {
62
+ pending.push('Resolve the effective installation before resuming integration; run notifai doctor --json.');
63
+ return report(false);
64
+ }
65
+ const active = resolveActiveHarness(deps.env, deps.cwd, (deps.now ?? Date.now)());
66
+ const owner = active.contested.length === 0 ? active.active : null;
67
+ const waiting = updateWorkPending(deps);
68
+ if (waiting !== null) {
69
+ pending.push(waiting);
70
+ return report(false);
71
+ }
72
+ const inventory = await listScopedNotifaiSkills(deps);
73
+ if (inventory.errors.length > 0 || inventory.installed.length > 1) {
74
+ pending.push('Resolve unreadable or duplicate skill scopes before integration repair; no scope was selected.');
75
+ return report(false);
76
+ }
77
+ if (assessment.installations.length > 0) {
78
+ const adapter = inspectHookAdapter(deps.hookAdapterHome, deps.hookPlatform);
79
+ if (adapter.problems.length > 0 || adapter.target === null || isNpxAdapterTarget(adapter.target) ||
80
+ !hookAdapterTargetsArtifact(adapter.target, effective.artifact_path) ||
81
+ !sameLocalPath(adapter.target.execPath, process.execPath, deps.hookPlatform ?? process.platform)) {
82
+ if (installHookAdapter({ execPath: process.execPath, scriptPath: effective.artifact_path }, deps.hookAdapterHome, deps.hookPlatform, deps.env).changed)
83
+ changed.push('hook-adapter');
84
+ }
85
+ }
86
+ if (inventory.installed.length === 1) {
87
+ let skillReport = {};
88
+ const skillResult = await updateSkillCommand({ ...repairDeps, io: { ...quietIo,
89
+ out: (line) => { try {
90
+ skillReport = JSON.parse(line);
91
+ }
92
+ catch { /* local status only */ } },
93
+ } }, { json: true });
94
+ if (skillResult !== EXIT.ok) {
95
+ pending.push(skillReport.error ?? 'Skill refresh failed; resume through the native installer in the existing scope.');
96
+ return report(false);
97
+ }
98
+ if (skillReport.changed === true)
99
+ changed.push('skill');
100
+ }
101
+ for (const { installation, env } of assessment.installations) {
102
+ if (installationFaults(installation, deps.hookPlatform).length === 0)
103
+ continue;
104
+ const before = readFileSync(installation.file, 'utf8');
105
+ if (hooksInstallCommand({ ...repairDeps, env }, { harness: installation.harness, narrate: false }) !== EXIT.ok) {
106
+ pending.push(`Could not finish ${installation.harness} hook migration.`);
107
+ return report(false);
108
+ }
109
+ if (readFileSync(installation.file, 'utf8') !== before)
110
+ changed.push(`${installation.harness}-hooks`);
111
+ }
112
+ assessment = localIntegrationAssessment(deps);
113
+ const repairFaults = assessment.faults.filter(fault => fault.code !== 'native-approval-pending');
114
+ pending.push(...assessment.faults.map(fault => `${fault.code}: ${fault.remedy}`));
115
+ if (owner !== null) {
116
+ if (isHookInstallableHarness(owner.harness) && questionRoutingCapability(owner.harness, deps.hookPlatform).stopContinuation !== 'unsupported') {
117
+ pending.push(...activeQuestionRouteProblems(deps, owner, assessment.installations.filter(entry => entry.env === deps.env).map(entry => entry.installation)));
118
+ }
119
+ if (changed.includes(`${owner.harness}-hooks`)) {
120
+ pending.push('Changed hooks need exact-session activation verification; preserve the current Agent Session until a specific approval or fresh-session requirement is proven.');
121
+ }
122
+ if (owner.harness === 'codex' && owner.sessionId !== undefined && !codexToolHookReady(deps, owner.sessionId)) {
123
+ pending.push('Tool-boundary Notes are not yet verified in this exact Agent Session; ordinary queue delivery remains available. Check the next tool callback before considering an approved fresh session.');
124
+ }
125
+ }
126
+ return report(repairFaults.length === 0);
127
+ }
128
+ catch {
129
+ pending.push('Integration could not be verified; run notifai doctor --json and resume after the diagnosed gap is resolved.');
130
+ return report(false);
131
+ }
132
+ }
133
+ //# sourceMappingURL=commands-update-resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-update-resume.js","sourceRoot":"","sources":["../src/commands-update-resume.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { cliReleaseTarget, parseCliDistTags } from './cli-release.js';
10
10
  import { pathContainsDirectory } from './local-path.js';
11
11
  import { npmInvocation } from './npm-invocation.js';
12
12
  import { compareReleasePrecedence } from './version.js';
13
+ import { updateWorkPending } from './commands-update-resume.js';
13
14
  function runningArtifact(deps) {
14
15
  const target = deps.hookInstallTarget;
15
16
  if (target !== undefined && !isNpxAdapterTarget(target))
@@ -120,6 +121,10 @@ export function cliUpdateCommand(deps, requested) {
120
121
  json: requested.json === true || deps.io.interactive !== true,
121
122
  explicitStableSwitch: explicitlySwitchingToStable,
122
123
  };
124
+ const waiting = updateWorkPending(deps);
125
+ if (waiting !== null)
126
+ return failed(deps, flags, { code: 'outstanding_session_work', message: waiting,
127
+ recoveryCommand: 'notifai update --check --json' }, before, null);
123
128
  let target = null;
124
129
  if (channel === 'beta' || cliUpdateChannel(installed) === 'beta') {
125
130
  const tags = publishedDistTags(deps);
@@ -223,21 +228,28 @@ export function cliUpdateCommand(deps, requested) {
223
228
  // The old updater has already imported its modules. Only the newly installed
224
229
  // artifact can describe the new release's guidance and harness requirements.
225
230
  const previousVersion = before.effective?.version ?? before.current.version;
226
- const handoffArgs = [effective.artifact_path, 'update', '--check', '--json'];
231
+ const handoffArgs = [effective.artifact_path, 'update', '--resume', '--json'];
227
232
  if (previousVersion !== null)
228
233
  handoffArgs.push('--from', previousVersion);
229
234
  const handoffProbe = spawnSync(process.execPath, handoffArgs, {
230
235
  encoding: 'utf8', env: deps.env, cwd: deps.cwd,
231
- stdio: ['ignore', 'pipe', 'pipe'], timeout: 30_000, killSignal: 'SIGKILL',
236
+ stdio: ['ignore', 'pipe', 'pipe'], timeout: 120_000, killSignal: 'SIGKILL',
232
237
  });
233
238
  let handoff = null;
234
239
  try {
235
240
  const value = JSON.parse(handoffProbe.stdout ?? '');
236
- if (handoffProbe.status === 0 && typeof value === 'object' && value !== null &&
237
- value.ok === true &&
238
- value.read_only === true &&
239
- value.running_version === effective.version) {
240
- handoff = value;
241
+ if (typeof value === 'object' && value !== null) {
242
+ const record = value;
243
+ // Preserve structured partial progress from the new executable too.
244
+ // A successful package probe alone cannot prove integration finished.
245
+ if (record.read_only === false && record.running_version === effective.version &&
246
+ typeof record.files_complete === 'boolean' && record.ok === record.files_complete &&
247
+ handoffProbe.status === (record.files_complete ? EXIT.ok : EXIT.failed) &&
248
+ typeof record.migration_complete === 'boolean' && Array.isArray(record.pending_actions) &&
249
+ record.pending_actions.every(action => typeof action === 'string') &&
250
+ record.migration_complete === (record.files_complete && record.pending_actions.length === 0)) {
251
+ handoff = record;
252
+ }
241
253
  }
242
254
  }
243
255
  catch {
@@ -254,8 +266,10 @@ export function cliUpdateCommand(deps, requested) {
254
266
  update_prefix: targetPrefix,
255
267
  target: target ?? { version: null, dist_tag: 'latest' },
256
268
  handoff,
257
- follow_up_required: true,
258
- handoff_error: handoff === null ? 'Run notifai update --check --json with the updated CLI before claiming guidance or session readiness.' : null,
269
+ integration_complete: handoff?.migration_complete === true,
270
+ follow_up_required: handoff?.migration_complete !== true,
271
+ guidance_reread_required: true,
272
+ handoff_error: handoff === null ? 'Run notifai update --resume --json with the updated CLI to finish integration; update --check --json is read-only diagnosis.' : null,
259
273
  before,
260
274
  after,
261
275
  hook_adapter: adapterInspection === null
@@ -264,8 +278,8 @@ export function cliUpdateCommand(deps, requested) {
264
278
  }, null, 2));
265
279
  }
266
280
  else {
267
- deps.io.out('The CLI is updated. Read the new release notes and guidance before continuing Notifai work.');
268
- deps.io.out('Run `notifai update --check --json` for skill refresh and session requirements; a restart is not automatic.');
281
+ deps.io.out(handoff?.migration_complete === true ? 'The CLI and integration are verified. Read changed agent guidance.' : 'The package is installed; integration still needs follow-up. Run `notifai update --resume --json`.');
282
+ deps.io.out('Use `notifai update --check --json` for diagnosis; a restart is not automatic.');
269
283
  }
270
284
  return EXIT.ok;
271
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands-update.js","sourceRoot":"","sources":["../src/commands-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-update.js","sourceRoot":"","sources":["../src/commands-update.ts"],"names":[],"mappings":"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"}
@@ -22,3 +22,4 @@ export { projectDisableCommand, projectEnableCommand, projectStatusCommand, } fr
22
22
  export { agentSessionRenameCommand } from './commands-agent-sessions.js';
23
23
  export { realIo } from './commands-io.js';
24
24
  export { updateSkillCommand } from './commands-update-skill.js';
25
+ export { updateResumeCommand } from './commands-update-resume.js';
package/dist/commands.js CHANGED
@@ -22,4 +22,5 @@ export { projectDisableCommand, projectEnableCommand, projectStatusCommand, } fr
22
22
  export { agentSessionRenameCommand } from './commands-agent-sessions.js';
23
23
  export { realIo } from './commands-io.js';
24
24
  export { updateSkillCommand } from './commands-update-skill.js';
25
+ export { updateResumeCommand } from './commands-update-resume.js';
25
26
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,gBAAgB,GAIjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,sCAAsC,EACtC,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvF,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,gBAAgB,GAIjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,sCAAsC,EACtC,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvF,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA"}
@@ -337,17 +337,19 @@ export interface MergeResult {
337
337
  removed: string[];
338
338
  }
339
339
  /**
340
- * Adds our handlers without disturbing anyone else's. Re-running replaces only
341
- * the groups we previously wrote, so an upgrade that changes a timeout does not
342
- * accumulate duplicate hooks.
340
+ * Refresh owned handlers in their existing slots. Codex's approval identity
341
+ * includes group and handler indices, so stripping then appending an unchanged
342
+ * handler can revoke its approval and stale an active session's Stop definition.
343
+ * Missing handlers append after existing slots; foreign handlers and matcher
344
+ * metadata stay in place.
343
345
  *
344
- * Handlers are stripped from EVERY event, not just the ones being installed.
345
- * Only rewriting incoming events left a dropped event's handler in place for
346
- * ever, and since the binary no longer implements it, it exited 2 with
347
- * "Unknown hook event" every time the harness fired it — a permanent hook
348
- * failure that reinstalling could not clear.
346
+ * Retired handlers are considered in every event. Hosts without index-based
347
+ * approval can remove them; strict Codex repair refuses ambiguous removal so
348
+ * an explicit migration can account for native trust and active sessions.
349
349
  */
350
- export declare function mergeHooks(existing: SettingsDocument, incoming: HookConfig, scriptPath: string): MergeResult;
350
+ export declare function mergeHooks(existing: SettingsDocument, incoming: HookConfig, scriptPath: string, options?: {
351
+ preserveIdentities?: boolean;
352
+ }): MergeResult;
351
353
  export declare function removeHooks(existing: SettingsDocument, scriptPath: string): MergeResult;
352
354
  /**
353
355
  * Writes the settings file the way a tool that does not own it should.
@@ -790,17 +790,17 @@ function withoutOurs(groups, scriptPath) {
790
790
  return { groups: kept, removed };
791
791
  }
792
792
  /**
793
- * Adds our handlers without disturbing anyone else's. Re-running replaces only
794
- * the groups we previously wrote, so an upgrade that changes a timeout does not
795
- * accumulate duplicate hooks.
793
+ * Refresh owned handlers in their existing slots. Codex's approval identity
794
+ * includes group and handler indices, so stripping then appending an unchanged
795
+ * handler can revoke its approval and stale an active session's Stop definition.
796
+ * Missing handlers append after existing slots; foreign handlers and matcher
797
+ * metadata stay in place.
796
798
  *
797
- * Handlers are stripped from EVERY event, not just the ones being installed.
798
- * Only rewriting incoming events left a dropped event's handler in place for
799
- * ever, and since the binary no longer implements it, it exited 2 with
800
- * "Unknown hook event" every time the harness fired it — a permanent hook
801
- * failure that reinstalling could not clear.
799
+ * Retired handlers are considered in every event. Hosts without index-based
800
+ * approval can remove them; strict Codex repair refuses ambiguous removal so
801
+ * an explicit migration can account for native trust and active sessions.
802
802
  */
803
- export function mergeHooks(existing, incoming, scriptPath) {
803
+ export function mergeHooks(existing, incoming, scriptPath, options = {}) {
804
804
  const hooks = Object.create(null);
805
805
  const added = [];
806
806
  const replaced = [];
@@ -812,20 +812,54 @@ export function mergeHooks(existing, incoming, scriptPath) {
812
812
  hooks[event] = groups;
813
813
  continue;
814
814
  }
815
- const { groups: foreign, removed: hadOurs } = withoutOurs(groups, scriptPath);
815
+ const desired = (incoming[event] ?? []).map(group => ({ ...group, hooks: [...group.hooks] }));
816
+ const refreshed = [];
817
+ let hadOurs = false;
818
+ for (const group of groups) {
819
+ const next = [];
820
+ for (const handler of group.hooks) {
821
+ if (!isOurHandler(handler, scriptPath)) {
822
+ next.push(handler);
823
+ continue;
824
+ }
825
+ hadOurs = true;
826
+ const replacementGroup = desired.find(candidate => candidate.hooks.some(replacement => handlerEvent(replacement.command) === handlerEvent(handler.command)));
827
+ const index = replacementGroup?.hooks.findIndex(replacement => handlerEvent(replacement.command) === handlerEvent(handler.command)) ?? -1;
828
+ if (replacementGroup !== undefined && index >= 0) {
829
+ next.push(replacementGroup.hooks.splice(index, 1)[0]);
830
+ }
831
+ else if (options.preserveIdentities === true) {
832
+ throw new Error(`Cannot preserve Codex hook identities for ${event}: duplicate or retired owned handlers require explicit migration. Review the existing hooks before retrying; the hook document was not changed.`);
833
+ }
834
+ }
835
+ // Empty native groups also occupy an approval index.
836
+ if (next.length > 0 || options.preserveIdentities === true)
837
+ refreshed.push({ ...group, hooks: next });
838
+ }
839
+ for (const group of desired.filter(candidate => candidate.hooks.length > 0)) {
840
+ // Append to a matching owned group without inserting before a foreign
841
+ // handler. An omitted matcher and '*' both cover the complete event.
842
+ const target = refreshed.find(candidate => (candidate.matcher ?? '*') === (group.matcher ?? '*') &&
843
+ candidate.hooks.some(handler => isOurHandler(handler, scriptPath)));
844
+ if (target === undefined)
845
+ refreshed.push(group);
846
+ else
847
+ target.hooks.push(...group.hooks);
848
+ }
816
849
  if (hadOurs) {
817
850
  if (event in incoming)
818
851
  replaced.push(event);
819
852
  else
820
853
  removed.push(event);
821
854
  }
822
- if (foreign.length > 0)
823
- hooks[event] = foreign;
855
+ if (refreshed.length > 0)
856
+ hooks[event] = refreshed;
824
857
  }
825
858
  for (const [event, groups] of Object.entries(incoming)) {
826
859
  if (!replaced.includes(event))
827
860
  added.push(event);
828
- hooks[event] = [...(hooks[event] ?? []), ...groups];
861
+ if (!(event in (existing.hooks ?? {})))
862
+ hooks[event] = groups;
829
863
  }
830
864
  return { document: { ...existing, hooks }, added, replaced, removed };
831
865
  }