pm-orchestrator-runner 1.0.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 (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -0
  3. package/dist/cli/cli-interface.d.ts +150 -0
  4. package/dist/cli/cli-interface.d.ts.map +1 -0
  5. package/dist/cli/cli-interface.js +606 -0
  6. package/dist/cli/cli-interface.js.map +1 -0
  7. package/dist/cli/index.d.ts +13 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/cli/index.js +243 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/cli/llm-sentinel.d.ts +15 -0
  12. package/dist/cli/llm-sentinel.d.ts.map +1 -0
  13. package/dist/cli/llm-sentinel.js +184 -0
  14. package/dist/cli/llm-sentinel.js.map +1 -0
  15. package/dist/config/configuration-manager.d.ts +149 -0
  16. package/dist/config/configuration-manager.d.ts.map +1 -0
  17. package/dist/config/configuration-manager.js +241 -0
  18. package/dist/config/configuration-manager.js.map +1 -0
  19. package/dist/continuation/continuation-control-manager.d.ts +154 -0
  20. package/dist/continuation/continuation-control-manager.d.ts.map +1 -0
  21. package/dist/continuation/continuation-control-manager.js +303 -0
  22. package/dist/continuation/continuation-control-manager.js.map +1 -0
  23. package/dist/core/runner-core.d.ts +474 -0
  24. package/dist/core/runner-core.d.ts.map +1 -0
  25. package/dist/core/runner-core.js +1311 -0
  26. package/dist/core/runner-core.js.map +1 -0
  27. package/dist/errors/error-codes.d.ts +105 -0
  28. package/dist/errors/error-codes.d.ts.map +1 -0
  29. package/dist/errors/error-codes.js +198 -0
  30. package/dist/errors/error-codes.js.map +1 -0
  31. package/dist/errors/runner-error.d.ts +14 -0
  32. package/dist/errors/runner-error.d.ts.map +1 -0
  33. package/dist/errors/runner-error.js +33 -0
  34. package/dist/errors/runner-error.js.map +1 -0
  35. package/dist/evidence/evidence-manager.d.ts +112 -0
  36. package/dist/evidence/evidence-manager.d.ts.map +1 -0
  37. package/dist/evidence/evidence-manager.js +337 -0
  38. package/dist/evidence/evidence-manager.js.map +1 -0
  39. package/dist/executor/claude-code-executor.d.ts +136 -0
  40. package/dist/executor/claude-code-executor.d.ts.map +1 -0
  41. package/dist/executor/claude-code-executor.js +643 -0
  42. package/dist/executor/claude-code-executor.js.map +1 -0
  43. package/dist/executor/deterministic-executor.d.ts +40 -0
  44. package/dist/executor/deterministic-executor.d.ts.map +1 -0
  45. package/dist/executor/deterministic-executor.js +269 -0
  46. package/dist/executor/deterministic-executor.js.map +1 -0
  47. package/dist/lifecycle/lifecycle-controller.d.ts +270 -0
  48. package/dist/lifecycle/lifecycle-controller.d.ts.map +1 -0
  49. package/dist/lifecycle/lifecycle-controller.js +596 -0
  50. package/dist/lifecycle/lifecycle-controller.js.map +1 -0
  51. package/dist/limits/resource-limit-manager.d.ts +200 -0
  52. package/dist/limits/resource-limit-manager.d.ts.map +1 -0
  53. package/dist/limits/resource-limit-manager.js +376 -0
  54. package/dist/limits/resource-limit-manager.js.map +1 -0
  55. package/dist/locks/lock-manager.d.ts +116 -0
  56. package/dist/locks/lock-manager.d.ts.map +1 -0
  57. package/dist/locks/lock-manager.js +306 -0
  58. package/dist/locks/lock-manager.js.map +1 -0
  59. package/dist/logging/index.d.ts +8 -0
  60. package/dist/logging/index.d.ts.map +1 -0
  61. package/dist/logging/index.js +22 -0
  62. package/dist/logging/index.js.map +1 -0
  63. package/dist/logging/sensitive-data-masker.d.ts +90 -0
  64. package/dist/logging/sensitive-data-masker.d.ts.map +1 -0
  65. package/dist/logging/sensitive-data-masker.js +228 -0
  66. package/dist/logging/sensitive-data-masker.js.map +1 -0
  67. package/dist/logging/task-log-manager.d.ts +215 -0
  68. package/dist/logging/task-log-manager.d.ts.map +1 -0
  69. package/dist/logging/task-log-manager.js +743 -0
  70. package/dist/logging/task-log-manager.js.map +1 -0
  71. package/dist/mediation/fail-closed-runner.d.ts +131 -0
  72. package/dist/mediation/fail-closed-runner.d.ts.map +1 -0
  73. package/dist/mediation/fail-closed-runner.js +245 -0
  74. package/dist/mediation/fail-closed-runner.js.map +1 -0
  75. package/dist/mediation/llm-client-with-evidence.d.ts +123 -0
  76. package/dist/mediation/llm-client-with-evidence.d.ts.map +1 -0
  77. package/dist/mediation/llm-client-with-evidence.js +245 -0
  78. package/dist/mediation/llm-client-with-evidence.js.map +1 -0
  79. package/dist/mediation/llm-client.d.ts +102 -0
  80. package/dist/mediation/llm-client.d.ts.map +1 -0
  81. package/dist/mediation/llm-client.js +206 -0
  82. package/dist/mediation/llm-client.js.map +1 -0
  83. package/dist/mediation/llm-evidence-manager.d.ts +108 -0
  84. package/dist/mediation/llm-evidence-manager.d.ts.map +1 -0
  85. package/dist/mediation/llm-evidence-manager.js +230 -0
  86. package/dist/mediation/llm-evidence-manager.js.map +1 -0
  87. package/dist/mediation/llm-mediation-layer.d.ts +175 -0
  88. package/dist/mediation/llm-mediation-layer.d.ts.map +1 -0
  89. package/dist/mediation/llm-mediation-layer.js +315 -0
  90. package/dist/mediation/llm-mediation-layer.js.map +1 -0
  91. package/dist/mediation/llm-sentinel.d.ts +107 -0
  92. package/dist/mediation/llm-sentinel.d.ts.map +1 -0
  93. package/dist/mediation/llm-sentinel.js +187 -0
  94. package/dist/mediation/llm-sentinel.js.map +1 -0
  95. package/dist/mediation/real-llm-mediation-layer.d.ts +104 -0
  96. package/dist/mediation/real-llm-mediation-layer.d.ts.map +1 -0
  97. package/dist/mediation/real-llm-mediation-layer.js +322 -0
  98. package/dist/mediation/real-llm-mediation-layer.js.map +1 -0
  99. package/dist/mediation/verdict-reporter.d.ts +61 -0
  100. package/dist/mediation/verdict-reporter.d.ts.map +1 -0
  101. package/dist/mediation/verdict-reporter.js +178 -0
  102. package/dist/mediation/verdict-reporter.js.map +1 -0
  103. package/dist/models/enums.d.ts +133 -0
  104. package/dist/models/enums.d.ts.map +1 -0
  105. package/dist/models/enums.js +201 -0
  106. package/dist/models/enums.js.map +1 -0
  107. package/dist/models/evidence.d.ts +60 -0
  108. package/dist/models/evidence.d.ts.map +1 -0
  109. package/dist/models/evidence.js +135 -0
  110. package/dist/models/evidence.js.map +1 -0
  111. package/dist/models/execution-result.d.ts +89 -0
  112. package/dist/models/execution-result.d.ts.map +1 -0
  113. package/dist/models/execution-result.js +197 -0
  114. package/dist/models/execution-result.js.map +1 -0
  115. package/dist/models/file-lock.d.ts +62 -0
  116. package/dist/models/file-lock.d.ts.map +1 -0
  117. package/dist/models/file-lock.js +133 -0
  118. package/dist/models/file-lock.js.map +1 -0
  119. package/dist/models/index.d.ts +12 -0
  120. package/dist/models/index.d.ts.map +1 -0
  121. package/dist/models/index.js +91 -0
  122. package/dist/models/index.js.map +1 -0
  123. package/dist/models/repl/index.d.ts +7 -0
  124. package/dist/models/repl/index.d.ts.map +1 -0
  125. package/dist/models/repl/index.js +32 -0
  126. package/dist/models/repl/index.js.map +1 -0
  127. package/dist/models/repl/model-registry.d.ts +73 -0
  128. package/dist/models/repl/model-registry.d.ts.map +1 -0
  129. package/dist/models/repl/model-registry.js +116 -0
  130. package/dist/models/repl/model-registry.js.map +1 -0
  131. package/dist/models/repl/repl-state.d.ts +86 -0
  132. package/dist/models/repl/repl-state.d.ts.map +1 -0
  133. package/dist/models/repl/repl-state.js +152 -0
  134. package/dist/models/repl/repl-state.js.map +1 -0
  135. package/dist/models/repl/task-log.d.ts +247 -0
  136. package/dist/models/repl/task-log.d.ts.map +1 -0
  137. package/dist/models/repl/task-log.js +178 -0
  138. package/dist/models/repl/task-log.js.map +1 -0
  139. package/dist/models/session.d.ts +71 -0
  140. package/dist/models/session.d.ts.map +1 -0
  141. package/dist/models/session.js +140 -0
  142. package/dist/models/session.js.map +1 -0
  143. package/dist/models/supporting.d.ts +97 -0
  144. package/dist/models/supporting.d.ts.map +1 -0
  145. package/dist/models/supporting.js +208 -0
  146. package/dist/models/supporting.js.map +1 -0
  147. package/dist/models/task.d.ts +77 -0
  148. package/dist/models/task.d.ts.map +1 -0
  149. package/dist/models/task.js +170 -0
  150. package/dist/models/task.js.map +1 -0
  151. package/dist/output/output-control-manager.d.ts +217 -0
  152. package/dist/output/output-control-manager.d.ts.map +1 -0
  153. package/dist/output/output-control-manager.js +378 -0
  154. package/dist/output/output-control-manager.js.map +1 -0
  155. package/dist/pool/agent-pool.d.ts +284 -0
  156. package/dist/pool/agent-pool.d.ts.map +1 -0
  157. package/dist/pool/agent-pool.js +451 -0
  158. package/dist/pool/agent-pool.js.map +1 -0
  159. package/dist/repl/commands/index.d.ts +12 -0
  160. package/dist/repl/commands/index.d.ts.map +1 -0
  161. package/dist/repl/commands/index.js +26 -0
  162. package/dist/repl/commands/index.js.map +1 -0
  163. package/dist/repl/commands/init.d.ts +31 -0
  164. package/dist/repl/commands/init.d.ts.map +1 -0
  165. package/dist/repl/commands/init.js +234 -0
  166. package/dist/repl/commands/init.js.map +1 -0
  167. package/dist/repl/commands/keys.d.ts +63 -0
  168. package/dist/repl/commands/keys.d.ts.map +1 -0
  169. package/dist/repl/commands/keys.js +114 -0
  170. package/dist/repl/commands/keys.js.map +1 -0
  171. package/dist/repl/commands/logs.d.ts +91 -0
  172. package/dist/repl/commands/logs.d.ts.map +1 -0
  173. package/dist/repl/commands/logs.js +200 -0
  174. package/dist/repl/commands/logs.js.map +1 -0
  175. package/dist/repl/commands/model.d.ts +85 -0
  176. package/dist/repl/commands/model.d.ts.map +1 -0
  177. package/dist/repl/commands/model.js +225 -0
  178. package/dist/repl/commands/model.js.map +1 -0
  179. package/dist/repl/commands/models.d.ts +50 -0
  180. package/dist/repl/commands/models.d.ts.map +1 -0
  181. package/dist/repl/commands/models.js +180 -0
  182. package/dist/repl/commands/models.js.map +1 -0
  183. package/dist/repl/commands/provider.d.ts +79 -0
  184. package/dist/repl/commands/provider.d.ts.map +1 -0
  185. package/dist/repl/commands/provider.js +291 -0
  186. package/dist/repl/commands/provider.js.map +1 -0
  187. package/dist/repl/commands/session.d.ts +50 -0
  188. package/dist/repl/commands/session.d.ts.map +1 -0
  189. package/dist/repl/commands/session.js +152 -0
  190. package/dist/repl/commands/session.js.map +1 -0
  191. package/dist/repl/commands/status.d.ts +55 -0
  192. package/dist/repl/commands/status.d.ts.map +1 -0
  193. package/dist/repl/commands/status.js +182 -0
  194. package/dist/repl/commands/status.js.map +1 -0
  195. package/dist/repl/index.d.ts +6 -0
  196. package/dist/repl/index.d.ts.map +1 -0
  197. package/dist/repl/index.js +25 -0
  198. package/dist/repl/index.js.map +1 -0
  199. package/dist/repl/repl-interface.d.ts +371 -0
  200. package/dist/repl/repl-interface.d.ts.map +1 -0
  201. package/dist/repl/repl-interface.js +1214 -0
  202. package/dist/repl/repl-interface.js.map +1 -0
  203. package/dist/session/session-manager.d.ts +85 -0
  204. package/dist/session/session-manager.d.ts.map +1 -0
  205. package/dist/session/session-manager.js +217 -0
  206. package/dist/session/session-manager.js.map +1 -0
  207. package/dist/supervisor/executor-supervisor.d.ts +90 -0
  208. package/dist/supervisor/executor-supervisor.d.ts.map +1 -0
  209. package/dist/supervisor/executor-supervisor.js +223 -0
  210. package/dist/supervisor/executor-supervisor.js.map +1 -0
  211. package/dist/supervisor/index.d.ts +5 -0
  212. package/dist/supervisor/index.d.ts.map +1 -0
  213. package/dist/supervisor/index.js +9 -0
  214. package/dist/supervisor/index.js.map +1 -0
  215. package/package.json +57 -0
@@ -0,0 +1,247 @@
1
+ /**
2
+ * TaskLog - Task Logging Models
3
+ *
4
+ * Per spec 05_DATA_MODELS.md Section "Task Log Structures"
5
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md
6
+ *
7
+ * Supports Thread/Run/Task hierarchy (v2.0)
8
+ * Supports executor blocking fields (Property 34-36)
9
+ */
10
+ import type { BlockedReason, TerminatedBy } from '../enums';
11
+ /**
12
+ * Visibility levels for log display
13
+ * Per spec 05_DATA_MODELS.md
14
+ */
15
+ export type VisibilityLevel = 'summary' | 'full';
16
+ /**
17
+ * Thread types
18
+ * Per spec 05_DATA_MODELS.md Section "ThreadType"
19
+ */
20
+ export type ThreadType = 'main' | 'background' | 'system';
21
+ /**
22
+ * Run status
23
+ * Per spec 05_DATA_MODELS.md Section "RunStatus"
24
+ */
25
+ export type RunStatus = 'RUNNING' | 'COMPLETED' | 'FAILED' | 'CANCELLED';
26
+ /**
27
+ * Run trigger
28
+ * Per spec 05_DATA_MODELS.md Section "RunTrigger"
29
+ */
30
+ export type RunTrigger = 'USER_INPUT' | 'USER_RESPONSE' | 'CONTINUATION' | 'EXECUTOR';
31
+ /**
32
+ * Log event types
33
+ * Per spec 05_DATA_MODELS.md
34
+ */
35
+ export type LogEventType = 'USER_INPUT' | 'RUNNER_CLARIFICATION' | 'USER_RESPONSE' | 'TASK_STARTED' | 'TASK_COMPLETED' | 'TASK_ERROR' | 'LLM_MEDIATION_REQUEST' | 'LLM_MEDIATION_RESPONSE' | 'EXECUTOR_DISPATCH' | 'EXECUTOR_OUTPUT' | 'FILE_OPERATION' | 'TEST_EXECUTION';
36
+ /**
37
+ * Summary-level event types (visible by default)
38
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md Section 3.1
39
+ */
40
+ export declare const SUMMARY_VISIBLE_EVENTS: LogEventType[];
41
+ /**
42
+ * Full-level event types (visible only with --full)
43
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md Section 3.1
44
+ */
45
+ export declare const FULL_ONLY_EVENTS: LogEventType[];
46
+ /**
47
+ * Get visibility level for an event type
48
+ */
49
+ export declare function getEventVisibility(eventType: LogEventType): VisibilityLevel;
50
+ /**
51
+ * Thread structure
52
+ * Per spec 05_DATA_MODELS.md Section "Thread"
53
+ */
54
+ export interface Thread {
55
+ thread_id: string;
56
+ session_id: string;
57
+ thread_type: ThreadType;
58
+ created_at: string;
59
+ description?: string;
60
+ }
61
+ /**
62
+ * Run structure
63
+ * Per spec 05_DATA_MODELS.md Section "Run"
64
+ */
65
+ export interface Run {
66
+ run_id: string;
67
+ thread_id: string;
68
+ session_id: string;
69
+ started_at: string;
70
+ completed_at: string | null;
71
+ status: RunStatus;
72
+ trigger: RunTrigger;
73
+ }
74
+ /**
75
+ * Session metadata structure
76
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md Section 1.2
77
+ */
78
+ export interface SessionMetadata {
79
+ session_id: string;
80
+ started_at: string;
81
+ threads: Array<{
82
+ thread_id: string;
83
+ thread_type: ThreadType;
84
+ }>;
85
+ runs: Array<{
86
+ run_id: string;
87
+ thread_id: string;
88
+ status: RunStatus;
89
+ }>;
90
+ }
91
+ /**
92
+ * Global index structure
93
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md Section 1.1
94
+ */
95
+ export interface GlobalLogIndex {
96
+ created_at: string;
97
+ updated_at: string;
98
+ sessions: Array<{
99
+ session_id: string;
100
+ started_at: string;
101
+ task_count: number;
102
+ }>;
103
+ }
104
+ /**
105
+ * LogEvent content structure
106
+ * Per spec 05_DATA_MODELS.md
107
+ */
108
+ export interface LogEventContent {
109
+ text?: string;
110
+ question?: string;
111
+ clarification_reason?: string;
112
+ action?: string;
113
+ target_file?: string;
114
+ status?: string;
115
+ files_modified?: string[];
116
+ evidence_ref?: string;
117
+ error_message?: string;
118
+ provider?: string;
119
+ model?: string;
120
+ prompt_summary?: string;
121
+ tokens_input?: number;
122
+ response_type?: string;
123
+ tokens_output?: number;
124
+ latency_ms?: number;
125
+ executor?: string;
126
+ task_summary?: string;
127
+ exit_code?: number;
128
+ output_summary?: string;
129
+ raw_output_ref?: string;
130
+ }
131
+ /**
132
+ * LogEvent structure
133
+ * Per spec 05_DATA_MODELS.md
134
+ */
135
+ export interface LogEvent {
136
+ event_id: string;
137
+ timestamp: string;
138
+ event_type: LogEventType;
139
+ visibility_level: VisibilityLevel;
140
+ content: LogEventContent;
141
+ metadata?: Record<string, unknown>;
142
+ }
143
+ /**
144
+ * TaskLogSummary structure
145
+ * Per spec 05_DATA_MODELS.md
146
+ */
147
+ export interface TaskLogSummary {
148
+ total_events: number;
149
+ summary_events: number;
150
+ full_events: number;
151
+ total_tokens_input: number;
152
+ total_tokens_output: number;
153
+ total_latency_ms: number;
154
+ }
155
+ /**
156
+ * TaskLog structure with Thread/Run context
157
+ * Per spec 05_DATA_MODELS.md
158
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md - Property 34-36 executor blocking fields
159
+ */
160
+ export interface TaskLog {
161
+ task_id: string;
162
+ session_id: string;
163
+ thread_id: string;
164
+ run_id: string;
165
+ parent_task_id: string | null;
166
+ created_at: string;
167
+ events: LogEvent[];
168
+ summary: TaskLogSummary;
169
+ evidence_refs: string[];
170
+ /** Executor blocked in non-interactive mode (Property 34-36) */
171
+ executor_blocked?: boolean;
172
+ /** Blocking reason - required when executor_blocked is true */
173
+ blocked_reason?: BlockedReason;
174
+ /** Time until blocking was detected (ms) - required when executor_blocked is true */
175
+ timeout_ms?: number;
176
+ /** How the executor was terminated - required when executor_blocked is true */
177
+ terminated_by?: TerminatedBy;
178
+ }
179
+ /**
180
+ * TaskLogEntry structure (for index) with hierarchy fields
181
+ * Per spec 05_DATA_MODELS.md
182
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md - Property 34-36 executor blocking fields
183
+ */
184
+ export interface TaskLogEntry {
185
+ task_id: string;
186
+ thread_id: string;
187
+ run_id: string;
188
+ parent_task_id: string | null;
189
+ status: string;
190
+ started_at: string;
191
+ completed_at: string | null;
192
+ duration_ms: number;
193
+ files_modified_count: number;
194
+ tests_run_count: number;
195
+ log_file: string;
196
+ /** Executor blocked in non-interactive mode (Property 34-36) */
197
+ executor_blocked?: boolean;
198
+ /** Blocking reason - required when executor_blocked is true */
199
+ blocked_reason?: BlockedReason;
200
+ }
201
+ /**
202
+ * TaskLogIndex structure
203
+ * Per spec 05_DATA_MODELS.md
204
+ */
205
+ export interface TaskLogIndex {
206
+ session_id: string;
207
+ created_at: string;
208
+ updated_at: string;
209
+ entries: TaskLogEntry[];
210
+ }
211
+ /**
212
+ * Create initial TaskLogIndex
213
+ */
214
+ export declare function createTaskLogIndex(sessionId: string): TaskLogIndex;
215
+ /**
216
+ * Create initial TaskLog with Thread/Run context
217
+ */
218
+ export declare function createTaskLog(taskId: string, sessionId: string, threadId?: string, runId?: string, parentTaskId?: string | null): TaskLog;
219
+ /**
220
+ * Create initial Thread
221
+ */
222
+ export declare function createThread(threadId: string, sessionId: string, threadType: ThreadType, description?: string): Thread;
223
+ /**
224
+ * Create initial Run
225
+ */
226
+ export declare function createRun(runId: string, threadId: string, sessionId: string, trigger: RunTrigger): Run;
227
+ /**
228
+ * Create initial SessionMetadata
229
+ */
230
+ export declare function createSessionMetadata(sessionId: string): SessionMetadata;
231
+ /**
232
+ * Create initial GlobalLogIndex
233
+ */
234
+ export declare function createGlobalLogIndex(): GlobalLogIndex;
235
+ /**
236
+ * Create a LogEvent
237
+ */
238
+ export declare function createLogEvent(eventId: string, eventType: LogEventType, content: LogEventContent, metadata?: Record<string, unknown>): LogEvent;
239
+ /**
240
+ * Add event to TaskLog and update summary
241
+ */
242
+ export declare function addEventToTaskLog(log: TaskLog, event: LogEvent): TaskLog;
243
+ /**
244
+ * Filter events by visibility level
245
+ */
246
+ export declare function filterEventsByVisibility(events: LogEvent[], level: VisibilityLevel): LogEvent[];
247
+ //# sourceMappingURL=task-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-log.d.ts","sourceRoot":"","sources":["../../../src/models/repl/task-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /**
3
+ * TaskLog - Task Logging Models
4
+ *
5
+ * Per spec 05_DATA_MODELS.md Section "Task Log Structures"
6
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md
7
+ *
8
+ * Supports Thread/Run/Task hierarchy (v2.0)
9
+ * Supports executor blocking fields (Property 34-36)
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FULL_ONLY_EVENTS = exports.SUMMARY_VISIBLE_EVENTS = void 0;
13
+ exports.getEventVisibility = getEventVisibility;
14
+ exports.createTaskLogIndex = createTaskLogIndex;
15
+ exports.createTaskLog = createTaskLog;
16
+ exports.createThread = createThread;
17
+ exports.createRun = createRun;
18
+ exports.createSessionMetadata = createSessionMetadata;
19
+ exports.createGlobalLogIndex = createGlobalLogIndex;
20
+ exports.createLogEvent = createLogEvent;
21
+ exports.addEventToTaskLog = addEventToTaskLog;
22
+ exports.filterEventsByVisibility = filterEventsByVisibility;
23
+ /**
24
+ * Summary-level event types (visible by default)
25
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md Section 3.1
26
+ */
27
+ exports.SUMMARY_VISIBLE_EVENTS = [
28
+ 'USER_INPUT',
29
+ 'USER_RESPONSE',
30
+ 'RUNNER_CLARIFICATION',
31
+ 'TASK_STARTED',
32
+ 'TASK_COMPLETED',
33
+ 'TASK_ERROR',
34
+ ];
35
+ /**
36
+ * Full-level event types (visible only with --full)
37
+ * Per spec 13_LOGGING_AND_OBSERVABILITY.md Section 3.1
38
+ */
39
+ exports.FULL_ONLY_EVENTS = [
40
+ 'LLM_MEDIATION_REQUEST',
41
+ 'LLM_MEDIATION_RESPONSE',
42
+ 'EXECUTOR_DISPATCH',
43
+ 'EXECUTOR_OUTPUT',
44
+ 'FILE_OPERATION',
45
+ 'TEST_EXECUTION',
46
+ ];
47
+ /**
48
+ * Get visibility level for an event type
49
+ */
50
+ function getEventVisibility(eventType) {
51
+ return exports.SUMMARY_VISIBLE_EVENTS.includes(eventType) ? 'summary' : 'full';
52
+ }
53
+ /**
54
+ * Create initial TaskLogIndex
55
+ */
56
+ function createTaskLogIndex(sessionId) {
57
+ const now = new Date().toISOString();
58
+ return {
59
+ session_id: sessionId,
60
+ created_at: now,
61
+ updated_at: now,
62
+ entries: [],
63
+ };
64
+ }
65
+ /**
66
+ * Create initial TaskLog with Thread/Run context
67
+ */
68
+ function createTaskLog(taskId, sessionId, threadId = '', runId = '', parentTaskId = null) {
69
+ return {
70
+ task_id: taskId,
71
+ session_id: sessionId,
72
+ thread_id: threadId,
73
+ run_id: runId,
74
+ parent_task_id: parentTaskId,
75
+ created_at: new Date().toISOString(),
76
+ events: [],
77
+ summary: {
78
+ total_events: 0,
79
+ summary_events: 0,
80
+ full_events: 0,
81
+ total_tokens_input: 0,
82
+ total_tokens_output: 0,
83
+ total_latency_ms: 0,
84
+ },
85
+ evidence_refs: [],
86
+ };
87
+ }
88
+ /**
89
+ * Create initial Thread
90
+ */
91
+ function createThread(threadId, sessionId, threadType, description) {
92
+ return {
93
+ thread_id: threadId,
94
+ session_id: sessionId,
95
+ thread_type: threadType,
96
+ created_at: new Date().toISOString(),
97
+ description,
98
+ };
99
+ }
100
+ /**
101
+ * Create initial Run
102
+ */
103
+ function createRun(runId, threadId, sessionId, trigger) {
104
+ return {
105
+ run_id: runId,
106
+ thread_id: threadId,
107
+ session_id: sessionId,
108
+ started_at: new Date().toISOString(),
109
+ completed_at: null,
110
+ status: 'RUNNING',
111
+ trigger,
112
+ };
113
+ }
114
+ /**
115
+ * Create initial SessionMetadata
116
+ */
117
+ function createSessionMetadata(sessionId) {
118
+ return {
119
+ session_id: sessionId,
120
+ started_at: new Date().toISOString(),
121
+ threads: [],
122
+ runs: [],
123
+ };
124
+ }
125
+ /**
126
+ * Create initial GlobalLogIndex
127
+ */
128
+ function createGlobalLogIndex() {
129
+ const now = new Date().toISOString();
130
+ return {
131
+ created_at: now,
132
+ updated_at: now,
133
+ sessions: [],
134
+ };
135
+ }
136
+ /**
137
+ * Create a LogEvent
138
+ */
139
+ function createLogEvent(eventId, eventType, content, metadata) {
140
+ return {
141
+ event_id: eventId,
142
+ timestamp: new Date().toISOString(),
143
+ event_type: eventType,
144
+ visibility_level: getEventVisibility(eventType),
145
+ content,
146
+ metadata,
147
+ };
148
+ }
149
+ /**
150
+ * Add event to TaskLog and update summary
151
+ */
152
+ function addEventToTaskLog(log, event) {
153
+ const events = [...log.events, event];
154
+ const summary = {
155
+ ...log.summary,
156
+ total_events: log.summary.total_events + 1,
157
+ summary_events: log.summary.summary_events + (event.visibility_level === 'summary' ? 1 : 0),
158
+ full_events: log.summary.full_events + (event.visibility_level === 'full' ? 1 : 0),
159
+ total_tokens_input: log.summary.total_tokens_input + (event.content.tokens_input || 0),
160
+ total_tokens_output: log.summary.total_tokens_output + (event.content.tokens_output || 0),
161
+ total_latency_ms: log.summary.total_latency_ms + (event.content.latency_ms || 0),
162
+ };
163
+ return {
164
+ ...log,
165
+ events,
166
+ summary,
167
+ };
168
+ }
169
+ /**
170
+ * Filter events by visibility level
171
+ */
172
+ function filterEventsByVisibility(events, level) {
173
+ if (level === 'full') {
174
+ return events; // Show all events
175
+ }
176
+ return events.filter(e => e.visibility_level === 'summary');
177
+ }
178
+ //# sourceMappingURL=task-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-log.js","sourceRoot":"","sources":["../../../src/models/repl/task-log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Session Model
3
+ * Based on 05_DATA_MODELS.md L8-21
4
+ */
5
+ import { Phase, OverallStatus } from './enums';
6
+ /**
7
+ * Session execution status (for session manager)
8
+ */
9
+ export declare enum SessionStatus {
10
+ INITIALIZED = "INITIALIZED",
11
+ RUNNING = "RUNNING",
12
+ PAUSED = "PAUSED",
13
+ COMPLETED = "COMPLETED",
14
+ FAILED = "FAILED"
15
+ }
16
+ /**
17
+ * Session data structure
18
+ * Note: status field can be either OverallStatus (for validation outcome)
19
+ * or SessionStatus (for execution state in SessionManager)
20
+ */
21
+ export interface Session {
22
+ session_id: string;
23
+ started_at: string;
24
+ target_project: string;
25
+ runner_version: string;
26
+ configuration: Record<string, unknown>;
27
+ current_phase: Phase;
28
+ status: OverallStatus | SessionStatus;
29
+ continuation_approved: boolean;
30
+ limit_violations: string[];
31
+ phases_completed?: Phase[];
32
+ ended_at?: string;
33
+ completed_at?: string;
34
+ error?: {
35
+ code: string;
36
+ message: string;
37
+ details?: Record<string, unknown>;
38
+ };
39
+ }
40
+ /**
41
+ * Session validation error
42
+ */
43
+ export declare class SessionValidationError extends Error {
44
+ constructor(message: string);
45
+ }
46
+ /**
47
+ * Create a new session
48
+ */
49
+ export declare function createSession(targetProject: string, runnerVersion: string, configuration: Record<string, unknown>): Session;
50
+ /**
51
+ * Validate a session object
52
+ * @throws SessionValidationError if validation fails
53
+ */
54
+ export declare function validateSession(session: Session): boolean;
55
+ /**
56
+ * Update session phase
57
+ */
58
+ export declare function updateSessionPhase(session: Session, newPhase: Phase): Session;
59
+ /**
60
+ * Update session status
61
+ */
62
+ export declare function updateSessionStatus(session: Session, newStatus: OverallStatus): Session;
63
+ /**
64
+ * Mark session as complete
65
+ */
66
+ export declare function completeSession(session: Session): Session;
67
+ /**
68
+ * Mark session with error
69
+ */
70
+ export declare function failSession(session: Session, errorCode: string, errorMessage: string, details?: Record<string, unknown>): Session;
71
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/C;;GAEG;AACH,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,aAAa,EAAE,KAAK,CAAC;IACrB,MAAM,EAAE,aAAa,GAAG,aAAa,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAaT;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAwCzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,OAAO,CAQ7E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAMvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CASzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAWT"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /**
3
+ * Session Model
4
+ * Based on 05_DATA_MODELS.md L8-21
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SessionValidationError = exports.SessionStatus = void 0;
8
+ exports.createSession = createSession;
9
+ exports.validateSession = validateSession;
10
+ exports.updateSessionPhase = updateSessionPhase;
11
+ exports.updateSessionStatus = updateSessionStatus;
12
+ exports.completeSession = completeSession;
13
+ exports.failSession = failSession;
14
+ const uuid_1 = require("uuid");
15
+ const enums_1 = require("./enums");
16
+ /**
17
+ * Session execution status (for session manager)
18
+ */
19
+ var SessionStatus;
20
+ (function (SessionStatus) {
21
+ SessionStatus["INITIALIZED"] = "INITIALIZED";
22
+ SessionStatus["RUNNING"] = "RUNNING";
23
+ SessionStatus["PAUSED"] = "PAUSED";
24
+ SessionStatus["COMPLETED"] = "COMPLETED";
25
+ SessionStatus["FAILED"] = "FAILED";
26
+ })(SessionStatus || (exports.SessionStatus = SessionStatus = {}));
27
+ /**
28
+ * Session validation error
29
+ */
30
+ class SessionValidationError extends Error {
31
+ constructor(message) {
32
+ super(message);
33
+ this.name = 'SessionValidationError';
34
+ }
35
+ }
36
+ exports.SessionValidationError = SessionValidationError;
37
+ /**
38
+ * Create a new session
39
+ */
40
+ function createSession(targetProject, runnerVersion, configuration) {
41
+ return {
42
+ session_id: `session-${(0, uuid_1.v4)()}`,
43
+ started_at: new Date().toISOString(),
44
+ target_project: targetProject,
45
+ runner_version: runnerVersion,
46
+ configuration,
47
+ current_phase: enums_1.Phase.REQUIREMENT_ANALYSIS,
48
+ status: enums_1.OverallStatus.INCOMPLETE,
49
+ continuation_approved: false,
50
+ limit_violations: [],
51
+ phases_completed: [],
52
+ };
53
+ }
54
+ /**
55
+ * Validate a session object
56
+ * @throws SessionValidationError if validation fails
57
+ */
58
+ function validateSession(session) {
59
+ if (!session.session_id || session.session_id.length === 0) {
60
+ throw new SessionValidationError('session_id is required');
61
+ }
62
+ if (!session.started_at || session.started_at.length === 0) {
63
+ throw new SessionValidationError('started_at is required');
64
+ }
65
+ // Validate timestamp format
66
+ const timestamp = new Date(session.started_at);
67
+ if (isNaN(timestamp.getTime())) {
68
+ throw new SessionValidationError('started_at must be a valid ISO 8601 timestamp');
69
+ }
70
+ if (!session.target_project || session.target_project.length === 0) {
71
+ throw new SessionValidationError('target_project is required');
72
+ }
73
+ if (!session.runner_version || session.runner_version.length === 0) {
74
+ throw new SessionValidationError('runner_version is required');
75
+ }
76
+ if (session.current_phase === undefined) {
77
+ throw new SessionValidationError('current_phase is required');
78
+ }
79
+ if (session.status === undefined) {
80
+ throw new SessionValidationError('status is required');
81
+ }
82
+ if (session.continuation_approved === undefined) {
83
+ throw new SessionValidationError('continuation_approved is required');
84
+ }
85
+ if (!Array.isArray(session.limit_violations)) {
86
+ throw new SessionValidationError('limit_violations must be an array');
87
+ }
88
+ return true;
89
+ }
90
+ /**
91
+ * Update session phase
92
+ */
93
+ function updateSessionPhase(session, newPhase) {
94
+ return {
95
+ ...session,
96
+ current_phase: newPhase,
97
+ phases_completed: session.phases_completed
98
+ ? [...session.phases_completed, session.current_phase]
99
+ : [session.current_phase],
100
+ };
101
+ }
102
+ /**
103
+ * Update session status
104
+ */
105
+ function updateSessionStatus(session, newStatus) {
106
+ return {
107
+ ...session,
108
+ status: newStatus,
109
+ ended_at: newStatus !== enums_1.OverallStatus.INCOMPLETE ? new Date().toISOString() : session.ended_at,
110
+ };
111
+ }
112
+ /**
113
+ * Mark session as complete
114
+ */
115
+ function completeSession(session) {
116
+ return {
117
+ ...session,
118
+ status: enums_1.OverallStatus.COMPLETE,
119
+ ended_at: new Date().toISOString(),
120
+ phases_completed: session.phases_completed
121
+ ? [...session.phases_completed, session.current_phase]
122
+ : [session.current_phase],
123
+ };
124
+ }
125
+ /**
126
+ * Mark session with error
127
+ */
128
+ function failSession(session, errorCode, errorMessage, details) {
129
+ return {
130
+ ...session,
131
+ status: enums_1.OverallStatus.ERROR,
132
+ ended_at: new Date().toISOString(),
133
+ error: {
134
+ code: errorCode,
135
+ message: errorMessage,
136
+ details,
137
+ },
138
+ };
139
+ }
140
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/models/session.ts"],"names":[],"mappings":"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"}