ralph-research 0.1.2 → 0.1.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 (138) hide show
  1. package/README.md +132 -101
  2. package/dist/adapters/fs/json-file-research-project-defaults-store.d.ts +8 -0
  3. package/dist/adapters/fs/json-file-research-project-defaults-store.js +30 -0
  4. package/dist/adapters/fs/json-file-research-project-defaults-store.js.map +1 -0
  5. package/dist/adapters/fs/json-file-research-session-repository.d.ts +24 -0
  6. package/dist/adapters/fs/json-file-research-session-repository.js +199 -0
  7. package/dist/adapters/fs/json-file-research-session-repository.js.map +1 -0
  8. package/dist/adapters/fs/lockfile.js +142 -57
  9. package/dist/adapters/fs/lockfile.js.map +1 -1
  10. package/dist/adapters/fs/manifest-loader.js +8 -1
  11. package/dist/adapters/fs/manifest-loader.js.map +1 -1
  12. package/dist/adapters/proposer/codex-cli-proposer.d.ts +16 -0
  13. package/dist/adapters/proposer/codex-cli-proposer.js +106 -0
  14. package/dist/adapters/proposer/codex-cli-proposer.js.map +1 -0
  15. package/dist/adapters/proposer/codex-cli-session-driver.d.ts +64 -0
  16. package/dist/adapters/proposer/codex-cli-session-driver.js +182 -0
  17. package/dist/adapters/proposer/codex-cli-session-driver.js.map +1 -0
  18. package/dist/adapters/proposer/codex-cli-session-manager.d.ts +79 -0
  19. package/dist/adapters/proposer/codex-cli-session-manager.js +248 -0
  20. package/dist/adapters/proposer/codex-cli-session-manager.js.map +1 -0
  21. package/dist/adapters/proposer/codex-cli-session-outcome-extractor.d.ts +3 -0
  22. package/dist/adapters/proposer/codex-cli-session-outcome-extractor.js +94 -0
  23. package/dist/adapters/proposer/codex-cli-session-outcome-extractor.js.map +1 -0
  24. package/dist/adapters/proposer/proposer-factory.d.ts +22 -0
  25. package/dist/adapters/proposer/proposer-factory.js +19 -0
  26. package/dist/adapters/proposer/proposer-factory.js.map +1 -0
  27. package/dist/app/services/codex-cli-session-lifecycle-service.d.ts +116 -0
  28. package/dist/app/services/codex-cli-session-lifecycle-service.js +186 -0
  29. package/dist/app/services/codex-cli-session-lifecycle-service.js.map +1 -0
  30. package/dist/app/services/manual-decision-service.js +20 -9
  31. package/dist/app/services/manual-decision-service.js.map +1 -1
  32. package/dist/app/services/project-state-service.js +5 -3
  33. package/dist/app/services/project-state-service.js.map +1 -1
  34. package/dist/app/services/research-project-defaults-service.d.ts +18 -0
  35. package/dist/app/services/research-project-defaults-service.js +175 -0
  36. package/dist/app/services/research-project-defaults-service.js.map +1 -0
  37. package/dist/app/services/research-session-draft-service.d.ts +121 -0
  38. package/dist/app/services/research-session-draft-service.js +846 -0
  39. package/dist/app/services/research-session-draft-service.js.map +1 -0
  40. package/dist/app/services/research-session-entry-flow-summary-mapper.d.ts +12 -0
  41. package/dist/app/services/research-session-entry-flow-summary-mapper.js +33 -0
  42. package/dist/app/services/research-session-entry-flow-summary-mapper.js.map +1 -0
  43. package/dist/app/services/research-session-interactive-service.d.ts +35 -0
  44. package/dist/app/services/research-session-interactive-service.js +295 -0
  45. package/dist/app/services/research-session-interactive-service.js.map +1 -0
  46. package/dist/app/services/research-session-launch-service.d.ts +46 -0
  47. package/dist/app/services/research-session-launch-service.js +389 -0
  48. package/dist/app/services/research-session-launch-service.js.map +1 -0
  49. package/dist/app/services/research-session-orchestrator-service.d.ts +140 -0
  50. package/dist/app/services/research-session-orchestrator-service.js +614 -0
  51. package/dist/app/services/research-session-orchestrator-service.js.map +1 -0
  52. package/dist/app/services/research-session-recovery-service.d.ts +30 -0
  53. package/dist/app/services/research-session-recovery-service.js +110 -0
  54. package/dist/app/services/research-session-recovery-service.js.map +1 -0
  55. package/dist/app/services/research-session-wizard-controller.d.ts +51 -0
  56. package/dist/app/services/research-session-wizard-controller.js +220 -0
  57. package/dist/app/services/research-session-wizard-controller.js.map +1 -0
  58. package/dist/app/services/run-cycle-service.d.ts +2 -0
  59. package/dist/app/services/run-cycle-service.js +8 -6
  60. package/dist/app/services/run-cycle-service.js.map +1 -1
  61. package/dist/app/services/run-loop-service.js +11 -3
  62. package/dist/app/services/run-loop-service.js.map +1 -1
  63. package/dist/cli/commands/inspect.js +2 -0
  64. package/dist/cli/commands/inspect.js.map +1 -1
  65. package/dist/cli/commands/launch.d.ts +16 -0
  66. package/dist/cli/commands/launch.js +68 -0
  67. package/dist/cli/commands/launch.js.map +1 -0
  68. package/dist/cli/commands/proposer-display.d.ts +2 -0
  69. package/dist/cli/commands/proposer-display.js +18 -0
  70. package/dist/cli/commands/proposer-display.js.map +1 -0
  71. package/dist/cli/commands/resume.d.ts +14 -0
  72. package/dist/cli/commands/resume.js +134 -0
  73. package/dist/cli/commands/resume.js.map +1 -0
  74. package/dist/cli/commands/run.d.ts +2 -2
  75. package/dist/cli/commands/run.js +15 -4
  76. package/dist/cli/commands/run.js.map +1 -1
  77. package/dist/cli/commands/status.js +4 -0
  78. package/dist/cli/commands/status.js.map +1 -1
  79. package/dist/cli/main.js +2 -29
  80. package/dist/cli/main.js.map +1 -1
  81. package/dist/cli/program.d.ts +15 -0
  82. package/dist/cli/program.js +54 -0
  83. package/dist/cli/program.js.map +1 -0
  84. package/dist/cli/tui/research-session-shell.d.ts +22 -0
  85. package/dist/cli/tui/research-session-shell.js +719 -0
  86. package/dist/cli/tui/research-session-shell.js.map +1 -0
  87. package/dist/core/engine/cycle-runner.d.ts +4 -0
  88. package/dist/core/engine/cycle-runner.js +15 -9
  89. package/dist/core/engine/cycle-runner.js.map +1 -1
  90. package/dist/core/manifest/admission.d.ts +1 -0
  91. package/dist/core/manifest/admission.js +50 -0
  92. package/dist/core/manifest/admission.js.map +1 -1
  93. package/dist/core/manifest/defaults.d.ts +21 -0
  94. package/dist/core/manifest/defaults.js +21 -0
  95. package/dist/core/manifest/defaults.js.map +1 -1
  96. package/dist/core/manifest/schema.d.ts +170 -0
  97. package/dist/core/manifest/schema.js +21 -1
  98. package/dist/core/manifest/schema.js.map +1 -1
  99. package/dist/core/model/codex-cli-cycle-session.d.ts +4 -0
  100. package/dist/core/model/codex-cli-cycle-session.js +2 -0
  101. package/dist/core/model/codex-cli-cycle-session.js.map +1 -0
  102. package/dist/core/model/codex-cli-session-lifecycle.d.ts +131 -0
  103. package/dist/core/model/codex-cli-session-lifecycle.js +237 -0
  104. package/dist/core/model/codex-cli-session-lifecycle.js.map +1 -0
  105. package/dist/core/model/codex-cli-session-outcome.d.ts +121 -0
  106. package/dist/core/model/codex-cli-session-outcome.js +70 -0
  107. package/dist/core/model/codex-cli-session-outcome.js.map +1 -0
  108. package/dist/core/model/research-project-defaults.d.ts +48 -0
  109. package/dist/core/model/research-project-defaults.js +46 -0
  110. package/dist/core/model/research-project-defaults.js.map +1 -0
  111. package/dist/core/model/research-session.d.ts +1143 -0
  112. package/dist/core/model/research-session.js +689 -0
  113. package/dist/core/model/research-session.js.map +1 -0
  114. package/dist/core/model/run-record.d.ts +56 -6
  115. package/dist/core/model/run-record.js +28 -0
  116. package/dist/core/model/run-record.js.map +1 -1
  117. package/dist/core/ports/research-project-defaults-store.d.ts +5 -0
  118. package/dist/core/ports/research-project-defaults-store.js +2 -0
  119. package/dist/core/ports/research-project-defaults-store.js.map +1 -0
  120. package/dist/core/ports/research-session-repository.d.ts +25 -0
  121. package/dist/core/ports/research-session-repository.js +2 -0
  122. package/dist/core/ports/research-session-repository.js.map +1 -0
  123. package/dist/core/state/frontier-materializer.d.ts +2 -0
  124. package/dist/core/state/frontier-materializer.js +11 -2
  125. package/dist/core/state/frontier-materializer.js.map +1 -1
  126. package/dist/core/state/research-session-recovery-classifier.d.ts +24 -0
  127. package/dist/core/state/research-session-recovery-classifier.js +236 -0
  128. package/dist/core/state/research-session-recovery-classifier.js.map +1 -0
  129. package/dist/core/state/research-session-resume-candidate.d.ts +8 -0
  130. package/dist/core/state/research-session-resume-candidate.js +62 -0
  131. package/dist/core/state/research-session-resume-candidate.js.map +1 -0
  132. package/dist/core/state/research-session-state-machine.d.ts +62 -0
  133. package/dist/core/state/research-session-state-machine.js +443 -0
  134. package/dist/core/state/research-session-state-machine.js.map +1 -0
  135. package/dist/mcp/server.d.ts +4 -0
  136. package/dist/mcp/server.js +192 -1
  137. package/dist/mcp/server.js.map +1 -1
  138. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ import { CodexCliSessionProposer } from "./codex-cli-proposer.js";
2
+ import { runCommandProposer, } from "./command-proposer.js";
3
+ export function createProposerRunner(proposer, dependencies = {}) {
4
+ switch (proposer.type) {
5
+ case "command":
6
+ return {
7
+ run: (input) => (dependencies.runCommand ?? runCommandProposer)(proposer, input),
8
+ };
9
+ case "codex_cli":
10
+ return new CodexCliSessionProposer(proposer, {
11
+ ...(dependencies.createSessionManager ? { createSessionManager: dependencies.createSessionManager } : {}),
12
+ ...(dependencies.createSessionId ? { createSessionId: dependencies.createSessionId } : {}),
13
+ ...(dependencies.now ? { now: dependencies.now } : {}),
14
+ });
15
+ default:
16
+ throw new Error(`unsupported proposer type ${proposer.type} in cycle runner`);
17
+ }
18
+ }
19
+ //# sourceMappingURL=proposer-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposer-factory.js","sourceRoot":"","sources":["../../../src/adapters/proposer/proposer-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAA4C,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EACL,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC;AAqB/B,MAAM,UAAU,oBAAoB,CAClC,QAA4B,EAC5B,eAA4C,EAAE;IAE9C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO;gBACL,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;aACjF,CAAC;QACJ,KAAK,WAAW;YACd,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE;gBAC3C,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvD,CAAC,CAAC;QACL;YACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
@@ -0,0 +1,116 @@
1
+ import type { CodexCliSessionLifecyclePhase, CodexCliSessionLifecycleRecord } from "../../core/model/codex-cli-session-lifecycle.js";
2
+ import type { ResearchSessionRecord } from "../../core/model/research-session.js";
3
+ import type { PersistedCodexSessionReference } from "../../core/ports/research-session-repository.js";
4
+ import type { ResearchSessionRecoveryStatus } from "../../core/state/research-session-recovery-classifier.js";
5
+ import { ResearchSessionRecoveryService, type ResearchSessionRecoveryInspection, type ResearchSessionRecoveryInput } from "./research-session-recovery-service.js";
6
+ type ReusableAttachmentPhase = Extract<CodexCliSessionLifecyclePhase, "starting" | "running">;
7
+ export type CodexCliSessionAttachability = {
8
+ mode: "attach";
9
+ attachable: true;
10
+ resumable: false;
11
+ reason: string;
12
+ } | {
13
+ mode: "resume";
14
+ attachable: false;
15
+ resumable: true;
16
+ reason: string;
17
+ } | {
18
+ mode: "inspect";
19
+ attachable: false;
20
+ resumable: false;
21
+ reason: string;
22
+ };
23
+ export interface CodexCliReusableAttachmentTarget {
24
+ kind: "reusable_attachment_target";
25
+ session: ResearchSessionRecord;
26
+ lifecycle: CodexCliSessionLifecycleRecord & {
27
+ phase: ReusableAttachmentPhase;
28
+ pid: number;
29
+ attachmentState: CodexCliSessionLifecycleRecord["attachmentState"] & {
30
+ status: "bound";
31
+ };
32
+ };
33
+ recovery: ResearchSessionRecoveryStatus;
34
+ attachability: Extract<CodexCliSessionAttachability, {
35
+ mode: "attach";
36
+ }>;
37
+ target: {
38
+ researchSessionId: string;
39
+ codexSessionId: string;
40
+ pid: number;
41
+ phase: ReusableAttachmentPhase;
42
+ command: string;
43
+ args: string[];
44
+ workingDirectory: string;
45
+ attachmentStatus: "bound";
46
+ trackedGlobs: string[];
47
+ extraWritableDirectories: string[];
48
+ tty: CodexCliSessionLifecycleRecord["tty"];
49
+ workspaceRef?: string;
50
+ workspacePath?: string;
51
+ checkpointRunId?: string;
52
+ checkpointDecisionId?: string;
53
+ };
54
+ }
55
+ export interface CodexCliStaleSessionOutcome {
56
+ kind: "stale_session_outcome";
57
+ session: ResearchSessionRecord;
58
+ lifecycle: CodexCliSessionLifecycleRecord | null;
59
+ recovery: ResearchSessionRecoveryStatus;
60
+ attachability: Exclude<CodexCliSessionAttachability, {
61
+ mode: "attach";
62
+ }>;
63
+ outcome: {
64
+ runtimeState: ResearchSessionRecoveryStatus["runtime"]["state"];
65
+ completedCycles: number;
66
+ resumeFromCycle: number;
67
+ resumable: boolean;
68
+ reason: string;
69
+ phase?: CodexCliSessionLifecyclePhase;
70
+ attachmentStatus?: CodexCliSessionLifecycleRecord["attachmentState"]["status"];
71
+ };
72
+ }
73
+ export interface CodexCliReuseExistingSessionDecision {
74
+ decision: "reuse";
75
+ session: ResearchSessionRecord;
76
+ lifecycle: CodexCliSessionLifecycleRecord & {
77
+ phase: ReusableAttachmentPhase;
78
+ pid: number;
79
+ attachmentState: CodexCliSessionLifecycleRecord["attachmentState"] & {
80
+ status: "bound";
81
+ };
82
+ };
83
+ recovery: ResearchSessionRecoveryStatus;
84
+ codexSessionReference: PersistedCodexSessionReference;
85
+ reason: string;
86
+ reuse: CodexCliReusableAttachmentTarget["target"];
87
+ }
88
+ export interface CodexCliReplaceExistingSessionDecision {
89
+ decision: "replace";
90
+ session: ResearchSessionRecord;
91
+ lifecycle: CodexCliSessionLifecycleRecord | null;
92
+ recovery: ResearchSessionRecoveryStatus;
93
+ codexSessionReference: PersistedCodexSessionReference | null;
94
+ reason: string;
95
+ replace: CodexCliStaleSessionOutcome["outcome"] & {
96
+ attachabilityMode: Exclude<CodexCliSessionAttachability["mode"], "attach">;
97
+ };
98
+ }
99
+ export type CodexCliSessionLifecycleServiceResult = CodexCliReusableAttachmentTarget | CodexCliStaleSessionOutcome;
100
+ export type CodexCliSessionReuseOrReplaceDecision = CodexCliReuseExistingSessionDecision | CodexCliReplaceExistingSessionDecision;
101
+ export interface CodexCliSessionLifecycleServiceDependencies {
102
+ recoveryService?: Pick<ResearchSessionRecoveryService, "inspectSession">;
103
+ createRecoveryService?: () => Pick<ResearchSessionRecoveryService, "inspectSession">;
104
+ attachabilityValidator?: (inspection: ResearchSessionRecoveryInspection) => CodexCliSessionAttachability;
105
+ }
106
+ export declare class CodexCliSessionLifecycleService {
107
+ private readonly recoveryService;
108
+ private readonly attachabilityValidator;
109
+ constructor(dependencies?: CodexCliSessionLifecycleServiceDependencies);
110
+ inspectSession(input: ResearchSessionRecoveryInput): Promise<CodexCliSessionLifecycleServiceResult>;
111
+ resolveCycleSession(input: ResearchSessionRecoveryInput): Promise<CodexCliSessionReuseOrReplaceDecision>;
112
+ }
113
+ export declare function classifyCodexCliSessionLifecycleInspection(inspection: ResearchSessionRecoveryInspection): CodexCliSessionLifecycleServiceResult;
114
+ export declare function resolveCodexCliSessionReuseOrReplaceDecision(inspection: ResearchSessionRecoveryInspection, attachability?: CodexCliSessionAttachability): CodexCliSessionReuseOrReplaceDecision;
115
+ export declare function validateCodexCliSessionAttachability(inspection: ResearchSessionRecoveryInspection): CodexCliSessionAttachability;
116
+ export {};
@@ -0,0 +1,186 @@
1
+ import { ResearchSessionRecoveryService, } from "./research-session-recovery-service.js";
2
+ export class CodexCliSessionLifecycleService {
3
+ recoveryService;
4
+ attachabilityValidator;
5
+ constructor(dependencies = {}) {
6
+ this.recoveryService =
7
+ dependencies.recoveryService ??
8
+ dependencies.createRecoveryService?.() ??
9
+ new ResearchSessionRecoveryService();
10
+ this.attachabilityValidator =
11
+ dependencies.attachabilityValidator ?? validateCodexCliSessionAttachability;
12
+ }
13
+ async inspectSession(input) {
14
+ const inspection = await this.recoveryService.inspectSession(input);
15
+ return materializeCodexCliSessionLifecycleInspection(inspection, this.attachabilityValidator(inspection));
16
+ }
17
+ async resolveCycleSession(input) {
18
+ const inspection = await this.recoveryService.inspectSession(input);
19
+ return resolveCodexCliSessionReuseOrReplaceDecision(inspection, this.attachabilityValidator(inspection));
20
+ }
21
+ }
22
+ export function classifyCodexCliSessionLifecycleInspection(inspection) {
23
+ return materializeCodexCliSessionLifecycleInspection(inspection, validateCodexCliSessionAttachability(inspection));
24
+ }
25
+ export function resolveCodexCliSessionReuseOrReplaceDecision(inspection, attachability = validateCodexCliSessionAttachability(inspection)) {
26
+ const result = materializeCodexCliSessionLifecycleInspection(inspection, attachability);
27
+ if (result.kind === "reusable_attachment_target") {
28
+ if (!inspection.codexSessionReference) {
29
+ throw new Error("Reusable Codex CLI attachments require a persisted Codex session reference");
30
+ }
31
+ return {
32
+ decision: "reuse",
33
+ session: result.session,
34
+ lifecycle: result.lifecycle,
35
+ recovery: result.recovery,
36
+ codexSessionReference: inspection.codexSessionReference,
37
+ reason: result.attachability.reason,
38
+ reuse: result.target,
39
+ };
40
+ }
41
+ return {
42
+ decision: "replace",
43
+ session: result.session,
44
+ lifecycle: result.lifecycle,
45
+ recovery: result.recovery,
46
+ codexSessionReference: inspection.codexSessionReference,
47
+ reason: result.attachability.reason,
48
+ replace: {
49
+ ...result.outcome,
50
+ attachabilityMode: result.attachability.mode,
51
+ },
52
+ };
53
+ }
54
+ function materializeCodexCliSessionLifecycleInspection(inspection, attachability) {
55
+ const reusableAttachmentFailure = getReusableAttachmentFailure(inspection);
56
+ if (attachability.mode === "attach" && isReusableAttachmentLifecycle(inspection)) {
57
+ return buildReusableAttachmentTarget(inspection, attachability);
58
+ }
59
+ const safeAttachability = attachability.mode === "attach"
60
+ ? deriveSafeStaleAttachability(inspection, reusableAttachmentFailure)
61
+ : attachability;
62
+ return buildStaleSessionOutcome(inspection, safeAttachability);
63
+ }
64
+ function buildReusableAttachmentTarget(inspection, attachability) {
65
+ return {
66
+ kind: "reusable_attachment_target",
67
+ session: inspection.session,
68
+ lifecycle: inspection.lifecycle,
69
+ recovery: inspection.recovery,
70
+ attachability,
71
+ target: {
72
+ researchSessionId: inspection.session.sessionId,
73
+ codexSessionId: inspection.lifecycle.identity.codexSessionId,
74
+ pid: inspection.lifecycle.pid,
75
+ phase: inspection.lifecycle.phase,
76
+ command: inspection.lifecycle.command,
77
+ args: [...inspection.lifecycle.args],
78
+ workingDirectory: inspection.lifecycle.workingDirectory,
79
+ attachmentStatus: "bound",
80
+ trackedGlobs: [...inspection.lifecycle.attachmentState.trackedGlobs],
81
+ extraWritableDirectories: [...inspection.lifecycle.attachmentState.extraWritableDirectories],
82
+ tty: { ...inspection.lifecycle.tty },
83
+ ...(inspection.lifecycle.references.workspaceRef
84
+ ? { workspaceRef: inspection.lifecycle.references.workspaceRef }
85
+ : {}),
86
+ ...(inspection.lifecycle.references.workspacePath
87
+ ? { workspacePath: inspection.lifecycle.references.workspacePath }
88
+ : {}),
89
+ ...(inspection.lifecycle.references.checkpointRunId
90
+ ? { checkpointRunId: inspection.lifecycle.references.checkpointRunId }
91
+ : {}),
92
+ ...(inspection.lifecycle.references.checkpointDecisionId
93
+ ? { checkpointDecisionId: inspection.lifecycle.references.checkpointDecisionId }
94
+ : {}),
95
+ },
96
+ };
97
+ }
98
+ function buildStaleSessionOutcome(inspection, attachability) {
99
+ return {
100
+ kind: "stale_session_outcome",
101
+ session: inspection.session,
102
+ lifecycle: inspection.lifecycle,
103
+ recovery: inspection.recovery,
104
+ attachability,
105
+ outcome: {
106
+ runtimeState: inspection.recovery.runtime.state,
107
+ completedCycles: inspection.session.progress.completedCycles,
108
+ resumeFromCycle: inspection.session.resume.resumeFromCycle,
109
+ resumable: inspection.recovery.resumeAllowed,
110
+ reason: inspection.recovery.reason,
111
+ ...(inspection.lifecycle ? { phase: inspection.lifecycle.phase } : {}),
112
+ ...(inspection.lifecycle ? { attachmentStatus: inspection.lifecycle.attachmentState.status } : {}),
113
+ },
114
+ };
115
+ }
116
+ function deriveSafeStaleAttachability(inspection, reusableAttachmentFailure) {
117
+ if (inspection.recovery.resumeAllowed) {
118
+ return {
119
+ mode: "resume",
120
+ attachable: false,
121
+ resumable: true,
122
+ reason: inspection.recovery.reason,
123
+ };
124
+ }
125
+ return {
126
+ mode: "inspect",
127
+ attachable: false,
128
+ resumable: false,
129
+ reason: reusableAttachmentFailure ??
130
+ "Codex CLI session looked attachable, but the persisted lifecycle evidence was incomplete",
131
+ };
132
+ }
133
+ export function validateCodexCliSessionAttachability(inspection) {
134
+ const reusableAttachmentFailure = getReusableAttachmentFailure(inspection);
135
+ if (!reusableAttachmentFailure) {
136
+ return {
137
+ mode: "attach",
138
+ attachable: true,
139
+ resumable: false,
140
+ reason: "Codex CLI session is still live and bound to the persisted working-directory attachment",
141
+ };
142
+ }
143
+ if (inspection.recovery.resumeAllowed) {
144
+ return {
145
+ mode: "resume",
146
+ attachable: false,
147
+ resumable: true,
148
+ reason: inspection.recovery.reason,
149
+ };
150
+ }
151
+ return {
152
+ mode: "inspect",
153
+ attachable: false,
154
+ resumable: false,
155
+ reason: reusableAttachmentFailure ?? inspection.recovery.reason,
156
+ };
157
+ }
158
+ function getReusableAttachmentFailure(inspection) {
159
+ const lifecycle = inspection.lifecycle;
160
+ if (!lifecycle) {
161
+ return inspection.recovery.reason;
162
+ }
163
+ if (!inspection.codexSessionReference) {
164
+ return "Persisted Codex session reference is missing";
165
+ }
166
+ if (inspection.codexSessionReference.codexSessionId !== lifecycle.identity.codexSessionId) {
167
+ return "Persisted Codex session reference does not match the lifecycle codex session id";
168
+ }
169
+ if (!inspection.recovery.runtime.processAlive || inspection.recovery.runtime.state !== "active") {
170
+ return inspection.recovery.reason;
171
+ }
172
+ if (lifecycle.phase !== "starting" && lifecycle.phase !== "running") {
173
+ return `Codex CLI process is live, but lifecycle phase ${lifecycle.phase} cannot accept attachment`;
174
+ }
175
+ if (lifecycle.pid === undefined) {
176
+ return "Codex CLI process is live, but the persisted lifecycle is missing the process id required for attachment";
177
+ }
178
+ if (lifecycle.attachmentState.status !== "bound") {
179
+ return `Codex CLI process is live, but attachmentState.status is ${lifecycle.attachmentState.status} instead of bound`;
180
+ }
181
+ return null;
182
+ }
183
+ function isReusableAttachmentLifecycle(inspection) {
184
+ return getReusableAttachmentFailure(inspection) === null;
185
+ }
186
+ //# sourceMappingURL=codex-cli-session-lifecycle-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-session-lifecycle-service.js","sourceRoot":"","sources":["../../../src/app/services/codex-cli-session-lifecycle-service.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import { JsonFileRunStore } from "../../adapters/fs/json-file-run-store.js";
5
5
  import { acquireLock, releaseLock } from "../../adapters/fs/lockfile.js";
6
6
  import { loadManifestFromFile } from "../../adapters/fs/manifest-loader.js";
7
7
  import { GitClient } from "../../adapters/git/git-client.js";
8
- import { DEFAULT_STORAGE_ROOT } from "../../core/manifest/defaults.js";
9
8
  import { DEFAULT_MANIFEST_FILENAME } from "../../core/manifest/schema.js";
10
9
  import { ensurePromotionArtifact, requirePromotionPatch, requirePromotionPaths } from "../../core/engine/promotion-artifact.js";
11
10
  import { advanceRunPhase } from "../../core/state/run-state-machine.js";
@@ -16,11 +15,16 @@ export class ManualDecisionService {
16
15
  async accept(input) {
17
16
  const repoRoot = resolve(input.repoRoot);
18
17
  const manifestPath = resolve(repoRoot, input.manifestPath ?? DEFAULT_MANIFEST_FILENAME);
19
- const lockPath = join(repoRoot, DEFAULT_STORAGE_ROOT, "lock");
20
- const lock = await acquireLock(lockPath);
18
+ const { manifest } = await loadManifestFromFile(manifestPath, { repoRoot });
19
+ const storageRoot = join(repoRoot, manifest.storage.root);
20
+ const lockPath = join(storageRoot, "lock");
21
+ const lock = await acquireLock(lockPath, {
22
+ owner: {
23
+ operation: "manual-decision",
24
+ runId: input.runId,
25
+ },
26
+ });
21
27
  try {
22
- const { manifest } = await loadManifestFromFile(manifestPath);
23
- const storageRoot = join(repoRoot, manifest.storage.root);
24
28
  const runStore = new JsonFileRunStore(join(storageRoot, "runs"));
25
29
  const decisionStore = new JsonFileDecisionStore(join(storageRoot, "decisions"));
26
30
  const frontierStore = new JsonFileFrontierStore(join(storageRoot, "frontier.json"));
@@ -35,6 +39,7 @@ export class ManualDecisionService {
35
39
  frontierStore,
36
40
  runs,
37
41
  decisions,
42
+ mode: "repair",
38
43
  });
39
44
  const decisionCreatedAt = new Date().toISOString();
40
45
  const runDir = join(storageRoot, "runs", run.runId);
@@ -111,11 +116,16 @@ export class ManualDecisionService {
111
116
  async reject(input) {
112
117
  const repoRoot = resolve(input.repoRoot);
113
118
  const manifestPath = resolve(repoRoot, input.manifestPath ?? DEFAULT_MANIFEST_FILENAME);
114
- const lockPath = join(repoRoot, DEFAULT_STORAGE_ROOT, "lock");
115
- const lock = await acquireLock(lockPath);
119
+ const { manifest } = await loadManifestFromFile(manifestPath, { repoRoot });
120
+ const storageRoot = join(repoRoot, manifest.storage.root);
121
+ const lockPath = join(storageRoot, "lock");
122
+ const lock = await acquireLock(lockPath, {
123
+ owner: {
124
+ operation: "manual-decision",
125
+ runId: input.runId,
126
+ },
127
+ });
116
128
  try {
117
- const { manifest } = await loadManifestFromFile(manifestPath);
118
- const storageRoot = join(repoRoot, manifest.storage.root);
119
129
  const runStore = new JsonFileRunStore(join(storageRoot, "runs"));
120
130
  const decisionStore = new JsonFileDecisionStore(join(storageRoot, "decisions"));
121
131
  const frontierStore = new JsonFileFrontierStore(join(storageRoot, "frontier.json"));
@@ -129,6 +139,7 @@ export class ManualDecisionService {
129
139
  frontierStore,
130
140
  runs,
131
141
  decisions,
142
+ mode: "repair",
132
143
  });
133
144
  const decisionCreatedAt = new Date().toISOString();
134
145
  const rejectedDecision = {
@@ -1 +1 @@
1
- {"version":3,"file":"manual-decision-service.js","sourceRoot":"","sources":["../../../src/app/services/manual-decision-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manual-decision-service.js","sourceRoot":"","sources":["../../../src/app/services/manual-decision-service.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import { JsonFileFrontierStore } from "../../adapters/fs/json-file-frontier-stor
4
4
  import { JsonFileRunStore } from "../../adapters/fs/json-file-run-store.js";
5
5
  import { inspectLock } from "../../adapters/fs/lockfile.js";
6
6
  import { loadManifestFromFile } from "../../adapters/fs/manifest-loader.js";
7
- import { DEFAULT_STORAGE_ROOT } from "../../core/manifest/defaults.js";
8
7
  import { DEFAULT_MANIFEST_FILENAME } from "../../core/manifest/schema.js";
9
8
  import { summarizeMetricDiagnostics } from "../../core/model/metric-diagnostics.js";
10
9
  import { materializeFrontier } from "../../core/state/frontier-materializer.js";
@@ -24,6 +23,7 @@ export async function getProjectStatus(input) {
24
23
  frontierStore,
25
24
  runs,
26
25
  decisions,
26
+ mode: "read_only",
27
27
  });
28
28
  const latestRun = runs.at(-1) ?? null;
29
29
  const latestDecision = latestRun?.decisionId
@@ -61,6 +61,7 @@ export async function getProjectFrontier(input) {
61
61
  frontierStore,
62
62
  runs,
63
63
  decisions,
64
+ mode: "read_only",
64
65
  }),
65
66
  };
66
67
  }
@@ -78,6 +79,7 @@ export async function inspectRun(input) {
78
79
  frontierStore,
79
80
  runs,
80
81
  decisions,
82
+ mode: "read_only",
81
83
  });
82
84
  const judgeRationales = Object.values(run.metrics)
83
85
  .flatMap((metric) => {
@@ -144,12 +146,12 @@ export async function inspectRun(input) {
144
146
  async function loadProjectStores(input) {
145
147
  const repoRoot = resolve(input.repoRoot);
146
148
  const manifestPath = resolve(repoRoot, input.manifestPath ?? DEFAULT_MANIFEST_FILENAME);
147
- const loadedManifest = await loadManifestFromFile(manifestPath);
149
+ const loadedManifest = await loadManifestFromFile(manifestPath, { repoRoot });
148
150
  const storageRoot = join(repoRoot, loadedManifest.manifest.storage.root);
149
151
  return {
150
152
  manifestPath: loadedManifest.path,
151
153
  manifest: loadedManifest.manifest,
152
- lockPath: join(repoRoot, DEFAULT_STORAGE_ROOT, "lock"),
154
+ lockPath: join(storageRoot, "lock"),
153
155
  runStore: new JsonFileRunStore(join(storageRoot, "runs")),
154
156
  decisionStore: new JsonFileDecisionStore(join(storageRoot, "decisions")),
155
157
  frontierStore: new JsonFileFrontierStore(join(storageRoot, "frontier.json")),
@@ -1 +1 @@
1
- {"version":3,"file":"project-state-service.js","sourceRoot":"","sources":["../../../src/app/services/project-state-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-state-service.js","sourceRoot":"","sources":["../../../src/app/services/project-state-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type ResearchProjectDefaultsRecord } from "../../core/model/research-project-defaults.js";
2
+ import type { ResearchSessionRecord } from "../../core/model/research-session.js";
3
+ import type { ResearchProjectDefaultsStore } from "../../core/ports/research-project-defaults-store.js";
4
+ export interface ResearchProjectDefaultsServiceDependencies {
5
+ now?: () => Date;
6
+ createStore?: (filePath: string) => ResearchProjectDefaultsStore;
7
+ }
8
+ export declare class ResearchProjectDefaultsService {
9
+ private readonly now;
10
+ private readonly createStore;
11
+ constructor(dependencies?: ResearchProjectDefaultsServiceDependencies);
12
+ loadForRepo(repoRoot: string): Promise<ResearchProjectDefaultsRecord | null>;
13
+ saveForSession(input: {
14
+ repoRoot: string;
15
+ session: ResearchSessionRecord;
16
+ }): Promise<ResearchProjectDefaultsRecord>;
17
+ private resolveStore;
18
+ }