@mc1global/opencode-jarvis 0.8.1 → 0.10.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 (91) hide show
  1. package/dist/application/azure-sync/push-use-cases.d.ts +6 -1
  2. package/dist/application/azure-sync/push-use-cases.d.ts.map +1 -1
  3. package/dist/application/azure-sync/push-use-cases.js +31 -5
  4. package/dist/application/azure-sync/push-use-cases.js.map +1 -1
  5. package/dist/application/bootstrap/index.d.ts +1 -1
  6. package/dist/application/bootstrap/index.d.ts.map +1 -1
  7. package/dist/application/bootstrap/index.js +1 -1
  8. package/dist/application/bootstrap/index.js.map +1 -1
  9. package/dist/application/bootstrap/use-cases.d.ts +16 -2
  10. package/dist/application/bootstrap/use-cases.d.ts.map +1 -1
  11. package/dist/application/bootstrap/use-cases.js +66 -215
  12. package/dist/application/bootstrap/use-cases.js.map +1 -1
  13. package/dist/application/config/config-write-service.d.ts +86 -0
  14. package/dist/application/config/config-write-service.d.ts.map +1 -0
  15. package/dist/application/config/config-write-service.js +237 -0
  16. package/dist/application/config/config-write-service.js.map +1 -0
  17. package/dist/application/config/index.d.ts +2 -0
  18. package/dist/application/config/index.d.ts.map +1 -1
  19. package/dist/application/config/index.js +1 -0
  20. package/dist/application/config/index.js.map +1 -1
  21. package/dist/application/context-memory/execution-journal-use-cases.d.ts +69 -0
  22. package/dist/application/context-memory/execution-journal-use-cases.d.ts.map +1 -0
  23. package/dist/application/context-memory/execution-journal-use-cases.js +89 -0
  24. package/dist/application/context-memory/execution-journal-use-cases.js.map +1 -0
  25. package/dist/cli/config-wizard.d.ts +14 -0
  26. package/dist/cli/config-wizard.d.ts.map +1 -0
  27. package/dist/cli/config-wizard.js +120 -0
  28. package/dist/cli/config-wizard.js.map +1 -0
  29. package/dist/cli/section-editors.d.ts +33 -0
  30. package/dist/cli/section-editors.d.ts.map +1 -0
  31. package/dist/cli/section-editors.js +286 -0
  32. package/dist/cli/section-editors.js.map +1 -0
  33. package/dist/cli/wizard-prompts.d.ts +76 -0
  34. package/dist/cli/wizard-prompts.d.ts.map +1 -0
  35. package/dist/cli/wizard-prompts.js +98 -0
  36. package/dist/cli/wizard-prompts.js.map +1 -0
  37. package/dist/domain/azure-sync/value-objects.d.ts +10 -0
  38. package/dist/domain/azure-sync/value-objects.d.ts.map +1 -1
  39. package/dist/domain/azure-sync/value-objects.js +24 -0
  40. package/dist/domain/azure-sync/value-objects.js.map +1 -1
  41. package/dist/domain/config/index.d.ts +1 -1
  42. package/dist/domain/config/index.d.ts.map +1 -1
  43. package/dist/domain/config/repositories.d.ts +26 -6
  44. package/dist/domain/config/repositories.d.ts.map +1 -1
  45. package/dist/domain/config/repositories.js +6 -6
  46. package/dist/domain/context-memory/entities.d.ts +50 -2
  47. package/dist/domain/context-memory/entities.d.ts.map +1 -1
  48. package/dist/domain/context-memory/entities.js +92 -2
  49. package/dist/domain/context-memory/entities.js.map +1 -1
  50. package/dist/domain/context-memory/repositories.d.ts +15 -2
  51. package/dist/domain/context-memory/repositories.d.ts.map +1 -1
  52. package/dist/domain/context-memory/value-objects.d.ts +18 -1
  53. package/dist/domain/context-memory/value-objects.d.ts.map +1 -1
  54. package/dist/domain/context-memory/value-objects.js +39 -1
  55. package/dist/domain/context-memory/value-objects.js.map +1 -1
  56. package/dist/hooks/config-command.d.ts +37 -0
  57. package/dist/hooks/config-command.d.ts.map +1 -0
  58. package/dist/hooks/config-command.js +68 -0
  59. package/dist/hooks/config-command.js.map +1 -0
  60. package/dist/hooks/execution-journal.d.ts +40 -0
  61. package/dist/hooks/execution-journal.d.ts.map +1 -0
  62. package/dist/hooks/execution-journal.js +102 -0
  63. package/dist/hooks/execution-journal.js.map +1 -0
  64. package/dist/hooks/first-run-guide.d.ts +2 -0
  65. package/dist/hooks/first-run-guide.d.ts.map +1 -1
  66. package/dist/hooks/first-run-guide.js +9 -0
  67. package/dist/hooks/first-run-guide.js.map +1 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +58 -3
  70. package/dist/index.js.map +1 -1
  71. package/dist/infrastructure/azure-sync/azure-devops-client.d.ts.map +1 -1
  72. package/dist/infrastructure/azure-sync/azure-devops-client.js +9 -10
  73. package/dist/infrastructure/azure-sync/azure-devops-client.js.map +1 -1
  74. package/dist/infrastructure/config/index.d.ts +1 -0
  75. package/dist/infrastructure/config/index.d.ts.map +1 -1
  76. package/dist/infrastructure/config/index.js +1 -0
  77. package/dist/infrastructure/config/index.js.map +1 -1
  78. package/dist/infrastructure/config/yaml-config-writer.d.ts +16 -0
  79. package/dist/infrastructure/config/yaml-config-writer.d.ts.map +1 -0
  80. package/dist/infrastructure/config/yaml-config-writer.js +49 -0
  81. package/dist/infrastructure/config/yaml-config-writer.js.map +1 -0
  82. package/dist/infrastructure/context-memory/execution-journal-repository.d.ts +26 -0
  83. package/dist/infrastructure/context-memory/execution-journal-repository.d.ts.map +1 -0
  84. package/dist/infrastructure/context-memory/execution-journal-repository.js +110 -0
  85. package/dist/infrastructure/context-memory/execution-journal-repository.js.map +1 -0
  86. package/dist/tools/config-tools.d.ts +12 -0
  87. package/dist/tools/config-tools.d.ts.map +1 -0
  88. package/dist/tools/config-tools.js +136 -0
  89. package/dist/tools/config-tools.js.map +1 -0
  90. package/package.json +5 -2
  91. package/templates/agents-md.template.md +232 -0
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Configuration Domain — Repository Interface
2
+ * Configuration Domain — Repository Interfaces
3
3
  *
4
- * Port for loading raw configuration data from external sources.
5
- * Infrastructure implements this with YAML file reader.
4
+ * Ports for reading and writing raw configuration data.
5
+ * Infrastructure implements these with YAML file reader/writer.
6
6
  *
7
- * SOLID: DIP — domain defines interface, infrastructure implements
8
- * SOLID: ISP — single-purpose interface for config loading
9
- * DDD: Repository interface in domain layer
7
+ * SOLID: DIP — domain defines interfaces, infrastructure implements
8
+ * SOLID: ISP — separate read and write interfaces
9
+ * DDD: Repository interfaces in domain layer
10
10
  */
11
11
  /**
12
12
  * Port for loading configuration data.
@@ -33,4 +33,24 @@ export interface ConfigRepository {
33
33
  */
34
34
  isAvailable(): boolean;
35
35
  }
36
+ /**
37
+ * Port for writing configuration data back to the source.
38
+ *
39
+ * Accepts a full overrides object (Record<string, unknown>)
40
+ * and persists it. The application layer is responsible for
41
+ * computing which values differ from defaults before calling write.
42
+ *
43
+ * SOLID: ISP — separate from read interface
44
+ */
45
+ export interface ConfigWriteRepository {
46
+ /**
47
+ * Write the complete overrides object to the config source.
48
+ * Overwrites the entire file contents with the provided data.
49
+ *
50
+ * @param data — Top-level config object keyed by context name.
51
+ * Only contains values that differ from defaults.
52
+ * @throws Error if writing fails (permissions, disk, etc.)
53
+ */
54
+ writeAll(data: Record<string, unknown>): void;
55
+ }
36
56
  //# sourceMappingURL=repositories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../../src/domain/config/repositories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAEtD;;;OAGG;IACH,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7C;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../../src/domain/config/repositories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAEtD;;;OAGG;IACH,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7C;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C"}
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Configuration Domain — Repository Interface
2
+ * Configuration Domain — Repository Interfaces
3
3
  *
4
- * Port for loading raw configuration data from external sources.
5
- * Infrastructure implements this with YAML file reader.
4
+ * Ports for reading and writing raw configuration data.
5
+ * Infrastructure implements these with YAML file reader/writer.
6
6
  *
7
- * SOLID: DIP — domain defines interface, infrastructure implements
8
- * SOLID: ISP — single-purpose interface for config loading
9
- * DDD: Repository interface in domain layer
7
+ * SOLID: DIP — domain defines interfaces, infrastructure implements
8
+ * SOLID: ISP — separate read and write interfaces
9
+ * DDD: Repository interfaces in domain layer
10
10
  */
11
11
  export {};
12
12
  //# sourceMappingURL=repositories.js.map
@@ -9,8 +9,8 @@
9
9
  * SOLID: SRP - each entity manages its own invariants
10
10
  */
11
11
  import { WorkspaceId, Timestamp } from "../shared/value-objects.js";
12
- import { SessionId, TodoId, NoteId, SessionState, TodoStatus, NoteType } from "./value-objects.js";
13
- export { SessionId, TodoId, NoteId, SessionState, TodoStatus, NoteType, WorkspaceId, };
12
+ import { SessionId, TodoId, NoteId, ExecutionEntryId, SessionState, TodoStatus, NoteType, ExecutionState } from "./value-objects.js";
13
+ export { SessionId, TodoId, NoteId, ExecutionEntryId, SessionState, TodoStatus, NoteType, ExecutionState, WorkspaceId, };
14
14
  export interface SessionProps {
15
15
  readonly id: SessionId;
16
16
  readonly workspace: WorkspaceId;
@@ -120,4 +120,52 @@ export declare class Note {
120
120
  }): Note;
121
121
  static reconstitute(props: NoteProps): Note;
122
122
  }
123
+ export interface ExecutionEntryProps {
124
+ readonly id: ExecutionEntryId;
125
+ readonly toolName: string;
126
+ readonly argsSummary: string;
127
+ readonly state: ExecutionState;
128
+ readonly workspace: WorkspaceId;
129
+ readonly sessionId?: SessionId;
130
+ readonly startedAt: Timestamp;
131
+ readonly finishedAt?: Timestamp;
132
+ readonly errorMessage?: string;
133
+ }
134
+ /**
135
+ * Tracks a single tool execution for crash detection.
136
+ *
137
+ * Lifecycle: Running → Success | Error | Crashed
138
+ * An entry stuck in Running after a restart indicates a crash.
139
+ */
140
+ export declare class ExecutionEntry {
141
+ readonly id: ExecutionEntryId;
142
+ readonly toolName: string;
143
+ readonly argsSummary: string;
144
+ readonly workspace: WorkspaceId;
145
+ readonly sessionId: SessionId | undefined;
146
+ readonly startedAt: Timestamp;
147
+ private _state;
148
+ private _finishedAt;
149
+ private _errorMessage;
150
+ private constructor();
151
+ get state(): ExecutionState;
152
+ get finishedAt(): Timestamp | undefined;
153
+ get errorMessage(): string | undefined;
154
+ /** Mark execution as successfully completed. */
155
+ markSuccess(): void;
156
+ /** Mark execution as completed with error. */
157
+ markError(errorMessage: string): void;
158
+ /** Mark as crashed (detected on startup for orphaned running entries). */
159
+ markCrashed(): void;
160
+ private assertNotTerminal;
161
+ /** Create a new running execution entry. */
162
+ static create(params: {
163
+ toolName: string;
164
+ argsSummary: string;
165
+ workspace: WorkspaceId;
166
+ sessionId?: SessionId;
167
+ }): ExecutionEntry;
168
+ /** Reconstitute from persistence. */
169
+ static reconstitute(props: ExecutionEntryProps): ExecutionEntry;
170
+ }
123
171
  //# sourceMappingURL=entities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/domain/context-memory/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/domain/context-memory/entities.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,9 @@
9
9
  * SOLID: SRP - each entity manages its own invariants
10
10
  */
11
11
  import { WorkspaceId, Timestamp } from "../shared/value-objects.js";
12
- import { SessionId, TodoId, NoteId, SessionState, TodoStatus, NoteType, isValidPriority, MIN_PRIORITY, MAX_PRIORITY, } from "./value-objects.js";
12
+ import { SessionId, TodoId, NoteId, ExecutionEntryId, SessionState, TodoStatus, NoteType, ExecutionState, isValidPriority, isTerminalExecutionState, MIN_PRIORITY, MAX_PRIORITY, } from "./value-objects.js";
13
13
  // Re-export for convenience (consumers import from entities)
14
- export { SessionId, TodoId, NoteId, SessionState, TodoStatus, NoteType, WorkspaceId, };
14
+ export { SessionId, TodoId, NoteId, ExecutionEntryId, SessionState, TodoStatus, NoteType, ExecutionState, WorkspaceId, };
15
15
  /** Valid session state transitions. */
16
16
  const SESSION_TRANSITIONS = {
17
17
  [SessionState.Planning]: [SessionState.Wip, SessionState.Cancelled],
@@ -226,4 +226,94 @@ export class Note {
226
226
  return new Note(props);
227
227
  }
228
228
  }
229
+ // ── Execution Entry ───────────────────────────────────────────────────
230
+ /** Maximum length for args summary to prevent excessive storage. */
231
+ const MAX_ARGS_SUMMARY_LENGTH = 500;
232
+ /**
233
+ * Tracks a single tool execution for crash detection.
234
+ *
235
+ * Lifecycle: Running → Success | Error | Crashed
236
+ * An entry stuck in Running after a restart indicates a crash.
237
+ */
238
+ export class ExecutionEntry {
239
+ id;
240
+ toolName;
241
+ argsSummary;
242
+ workspace;
243
+ sessionId;
244
+ startedAt;
245
+ _state;
246
+ _finishedAt;
247
+ _errorMessage;
248
+ constructor(props) {
249
+ this.id = props.id;
250
+ this.toolName = props.toolName;
251
+ this.argsSummary = props.argsSummary;
252
+ this._state = props.state;
253
+ this.workspace = props.workspace;
254
+ this.sessionId = props.sessionId;
255
+ this.startedAt = props.startedAt;
256
+ this._finishedAt = props.finishedAt;
257
+ this._errorMessage = props.errorMessage;
258
+ }
259
+ get state() {
260
+ return this._state;
261
+ }
262
+ get finishedAt() {
263
+ return this._finishedAt;
264
+ }
265
+ get errorMessage() {
266
+ return this._errorMessage;
267
+ }
268
+ /** Mark execution as successfully completed. */
269
+ markSuccess() {
270
+ this.assertNotTerminal();
271
+ this._state = ExecutionState.Success;
272
+ this._finishedAt = Timestamp.now();
273
+ }
274
+ /** Mark execution as completed with error. */
275
+ markError(errorMessage) {
276
+ this.assertNotTerminal();
277
+ this._state = ExecutionState.Error;
278
+ this._finishedAt = Timestamp.now();
279
+ this._errorMessage = errorMessage;
280
+ }
281
+ /** Mark as crashed (detected on startup for orphaned running entries). */
282
+ markCrashed() {
283
+ if (this._state !== ExecutionState.Running) {
284
+ throw new Error(`ExecutionEntry: can only mark Running entries as Crashed, current state is ${this._state}`);
285
+ }
286
+ this._state = ExecutionState.Crashed;
287
+ this._finishedAt = Timestamp.now();
288
+ this._errorMessage = "Detected as orphaned running entry on startup — probable crash";
289
+ }
290
+ assertNotTerminal() {
291
+ if (isTerminalExecutionState(this._state)) {
292
+ throw new Error(`ExecutionEntry: cannot transition from terminal state ${this._state}`);
293
+ }
294
+ }
295
+ /** Create a new running execution entry. */
296
+ static create(params) {
297
+ const trimmedTool = params.toolName.trim();
298
+ if (trimmedTool.length === 0) {
299
+ throw new Error("ExecutionEntry: toolName cannot be empty");
300
+ }
301
+ const truncatedArgs = params.argsSummary.length > MAX_ARGS_SUMMARY_LENGTH
302
+ ? params.argsSummary.slice(0, MAX_ARGS_SUMMARY_LENGTH) + "..."
303
+ : params.argsSummary;
304
+ return new ExecutionEntry({
305
+ id: ExecutionEntryId.create(Date.now()), // Temporary; persistence assigns real ID
306
+ toolName: trimmedTool,
307
+ argsSummary: truncatedArgs,
308
+ state: ExecutionState.Running,
309
+ workspace: params.workspace,
310
+ ...(params.sessionId !== undefined ? { sessionId: params.sessionId } : {}),
311
+ startedAt: Timestamp.now(),
312
+ });
313
+ }
314
+ /** Reconstitute from persistence. */
315
+ static reconstitute(props) {
316
+ return new ExecutionEntry(props);
317
+ }
318
+ }
229
319
  //# sourceMappingURL=entities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/domain/context-memory/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../src/domain/context-memory/entities.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@
6
6
  * SOLID: ISP - one interface per aggregate root
7
7
  */
8
8
  import type { WorkspaceId } from "../shared/value-objects.js";
9
- import type { Session, Todo, Note } from "./entities.js";
10
- import type { SessionId, TodoId, TodoStatus } from "./value-objects.js";
9
+ import type { Session, Todo, Note, ExecutionEntry } from "./entities.js";
10
+ import type { SessionId, TodoId, TodoStatus, ExecutionEntryId } from "./value-objects.js";
11
11
  /** Persistence port for Session aggregate root. */
12
12
  export interface SessionRepository {
13
13
  save(session: Session): Promise<void>;
@@ -43,4 +43,17 @@ export interface ContextSearchResult {
43
43
  readonly content: string;
44
44
  readonly relevance: number;
45
45
  }
46
+ /** Persistence port for ExecutionEntry (execution journal). */
47
+ export interface ExecutionJournalRepository {
48
+ /** Save a new entry; returns entry with persistence-assigned ID. */
49
+ save(entry: ExecutionEntry): Promise<ExecutionEntry>;
50
+ /** Find entry by ID. */
51
+ findById(id: ExecutionEntryId): Promise<ExecutionEntry | null>;
52
+ /** Update an existing entry (state, finishedAt, errorMessage). */
53
+ update(entry: ExecutionEntry): Promise<void>;
54
+ /** Find all entries in Running state for a workspace (orphaned = crash). */
55
+ findRunning(workspace: WorkspaceId): Promise<readonly ExecutionEntry[]>;
56
+ /** Delete entries older than the given date for a workspace. */
57
+ pruneOlderThan(workspace: WorkspaceId, before: Date): Promise<number>;
58
+ }
46
59
  //# sourceMappingURL=repositories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../../src/domain/context-memory/repositories.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAExE,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACjD,eAAe,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IACrE,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC3C,eAAe,CACb,SAAS,EAAE,WAAW,EACtB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5B,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,eAAe,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAClE,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC9D,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;CACzE;AAED,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC,SAAS,CACP,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../../src/domain/context-memory/repositories.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Context Memory Value Objects
3
3
  *
4
- * Identity types for Session, Todo, and Note entities.
4
+ * Identity types for Session, Todo, Note, and ExecutionEntry entities.
5
5
  * All are immutable, compared by value.
6
6
  *
7
7
  * DDD: Value Objects - no identity lifecycle, equality by value
@@ -62,4 +62,21 @@ export declare class NoteId extends EntityId {
62
62
  export declare const MIN_PRIORITY = 1;
63
63
  export declare const MAX_PRIORITY = 5;
64
64
  export declare function isValidPriority(priority: number): boolean;
65
+ /** Execution entry lifecycle states. */
66
+ export declare enum ExecutionState {
67
+ Running = "running",
68
+ Success = "success",
69
+ Error = "error",
70
+ Crashed = "crashed"
71
+ }
72
+ export declare function isTerminalExecutionState(state: ExecutionState): boolean;
73
+ /**
74
+ * Execution entry identifier. Auto-increment integer (assigned by persistence).
75
+ */
76
+ export declare class ExecutionEntryId extends EntityId {
77
+ private constructor();
78
+ static create(id: number): ExecutionEntryId;
79
+ static from(value: string): ExecutionEntryId;
80
+ get numericValue(): number;
81
+ }
65
82
  //# sourceMappingURL=value-objects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"value-objects.d.ts","sourceRoot":"","sources":["../../../src/domain/context-memory/value-objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEjE,gCAAgC;AAChC,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,+BAA+B;AAC/B,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,iCAAiC;AACjC,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,QAAQ;IACrC,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS;IAQrE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,IAAI,SAAS,IAAI,MAAM,CAGtB;IAED,IAAI,SAAS,IAAI,MAAM,CAGtB;CACF;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,QAAQ;IAClC,OAAO;IAIP,MAAM,CAAC,MAAM,IAAI,MAAM;IAIvB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGnC;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,QAAQ;IAClC,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAOjC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF;AAED,mDAAmD;AACnD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMzD"}
1
+ {"version":3,"file":"value-objects.d.ts","sourceRoot":"","sources":["../../../src/domain/context-memory/value-objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEjE,gCAAgC;AAChC,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,+BAA+B;AAC/B,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,UAAU,gBAAgB;IAC1B,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,iCAAiC;AACjC,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,QAAQ;IACrC,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS;IAQrE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,IAAI,SAAS,IAAI,MAAM,CAGtB;IAED,IAAI,SAAS,IAAI,MAAM,CAGtB;CACF;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,QAAQ;IAClC,OAAO;IAIP,MAAM,CAAC,MAAM,IAAI,MAAM;IAIvB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGnC;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,QAAQ;IAClC,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAOjC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF;AAED,mDAAmD;AACnD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMzD;AAID,wCAAwC;AACxC,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AASD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,OAAO;IAIP,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAO3C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAI5C,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Context Memory Value Objects
3
3
  *
4
- * Identity types for Session, Todo, and Note entities.
4
+ * Identity types for Session, Todo, Note, and ExecutionEntry entities.
5
5
  * All are immutable, compared by value.
6
6
  *
7
7
  * DDD: Value Objects - no identity lifecycle, equality by value
@@ -102,4 +102,42 @@ export function isValidPriority(priority) {
102
102
  priority >= MIN_PRIORITY &&
103
103
  priority <= MAX_PRIORITY);
104
104
  }
105
+ // ── Execution Journal ─────────────────────────────────────────────────
106
+ /** Execution entry lifecycle states. */
107
+ export var ExecutionState;
108
+ (function (ExecutionState) {
109
+ ExecutionState["Running"] = "running";
110
+ ExecutionState["Success"] = "success";
111
+ ExecutionState["Error"] = "error";
112
+ ExecutionState["Crashed"] = "crashed";
113
+ })(ExecutionState || (ExecutionState = {}));
114
+ /** Terminal states — an entry in one of these states cannot transition. */
115
+ const TERMINAL_EXECUTION_STATES = new Set([
116
+ ExecutionState.Success,
117
+ ExecutionState.Error,
118
+ ExecutionState.Crashed,
119
+ ]);
120
+ export function isTerminalExecutionState(state) {
121
+ return TERMINAL_EXECUTION_STATES.has(state);
122
+ }
123
+ /**
124
+ * Execution entry identifier. Auto-increment integer (assigned by persistence).
125
+ */
126
+ export class ExecutionEntryId extends EntityId {
127
+ constructor(value) {
128
+ super(value);
129
+ }
130
+ static create(id) {
131
+ if (id <= 0) {
132
+ throw new Error("ExecutionEntryId: must be a positive integer");
133
+ }
134
+ return new ExecutionEntryId(String(id));
135
+ }
136
+ static from(value) {
137
+ return new ExecutionEntryId(value);
138
+ }
139
+ get numericValue() {
140
+ return Number(this.value);
141
+ }
142
+ }
105
143
  //# sourceMappingURL=value-objects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value-objects.js","sourceRoot":"","sources":["../../../src/domain/context-memory/value-objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value-objects.js","sourceRoot":"","sources":["../../../src/domain/context-memory/value-objects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Config Command Hook
3
+ *
4
+ * Intercepts the `/config` slash command in OpenCode sessions.
5
+ * Injects a system prompt that instructs the agent to use the
6
+ * config-read and config-write tools for agent-guided configuration.
7
+ *
8
+ * Hook: "command.execute.before"
9
+ * Signature: (input: { command, sessionID, arguments }, output: { parts: Part[] }) => Promise<void>
10
+ *
11
+ * When the user types `/config` or `/config <section>`, this hook
12
+ * pushes a TextPart instructing the agent on how to proceed.
13
+ *
14
+ * SOLID: SRP — /config command interception only
15
+ */
16
+ interface CommandHookInput {
17
+ command: string;
18
+ sessionID: string;
19
+ arguments: string;
20
+ }
21
+ interface CommandHookOutput {
22
+ parts: Array<{
23
+ type: string;
24
+ [key: string]: unknown;
25
+ }>;
26
+ }
27
+ export interface ConfigCommandHookDeps {
28
+ /** Readable list of writable config sections for the prompt. */
29
+ readonly writableContexts: readonly string[];
30
+ }
31
+ /**
32
+ * Creates the command hook for /config.
33
+ * Returns undefined for non-/config commands (no-op).
34
+ */
35
+ export declare function createConfigCommandHook(deps: ConfigCommandHookDeps): (input: CommandHookInput, output: CommandHookOutput) => Promise<void>;
36
+ export {};
37
+ //# sourceMappingURL=config-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-command.d.ts","sourceRoot":"","sources":["../../src/hooks/config-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CACxD;AAID,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAsCD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,qBAAqB,GAC1B,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAkBvE"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Config Command Hook
3
+ *
4
+ * Intercepts the `/config` slash command in OpenCode sessions.
5
+ * Injects a system prompt that instructs the agent to use the
6
+ * config-read and config-write tools for agent-guided configuration.
7
+ *
8
+ * Hook: "command.execute.before"
9
+ * Signature: (input: { command, sessionID, arguments }, output: { parts: Part[] }) => Promise<void>
10
+ *
11
+ * When the user types `/config` or `/config <section>`, this hook
12
+ * pushes a TextPart instructing the agent on how to proceed.
13
+ *
14
+ * SOLID: SRP — /config command interception only
15
+ */
16
+ // ── Prompt Templates ──────────────────────────────────────────────────
17
+ function buildAllSectionsPrompt(contexts) {
18
+ return `[JARVIS /config COMMAND]
19
+
20
+ The user wants to view or modify JARVIS configuration.
21
+
22
+ INSTRUCTIONS:
23
+ 1. Use the "config-read" tool (no arguments) to read ALL current configuration sections
24
+ 2. Present the configuration to the user in a clear, organized format
25
+ 3. Ask the user which section they want to modify
26
+ 4. When the user tells you what to change, use the "config-write" tool with:
27
+ - section: the section name (e.g., "azure-sync")
28
+ - values: a JSON string with ONLY the keys to change
29
+
30
+ Available sections: ${contexts.join(", ")}
31
+
32
+ IMPORTANT: Only include changed values in the config-write call. The system automatically computes minimal overrides against defaults.`;
33
+ }
34
+ function buildSectionPrompt(section) {
35
+ return `[JARVIS /config COMMAND — section: ${section}]
36
+
37
+ The user wants to view or modify the "${section}" configuration section.
38
+
39
+ INSTRUCTIONS:
40
+ 1. Use the "config-read" tool with section="${section}" to read current values
41
+ 2. Present the configuration to the user
42
+ 3. Ask what they want to change
43
+ 4. Use the "config-write" tool to apply changes
44
+
45
+ IMPORTANT: Only include changed values in the config-write call.`;
46
+ }
47
+ // ── Hook Factory ──────────────────────────────────────────────────────
48
+ /**
49
+ * Creates the command hook for /config.
50
+ * Returns undefined for non-/config commands (no-op).
51
+ */
52
+ export function createConfigCommandHook(deps) {
53
+ return async (input, output) => {
54
+ if (input.command !== "config") {
55
+ return;
56
+ }
57
+ const sectionArg = input.arguments.trim();
58
+ const prompt = sectionArg
59
+ ? buildSectionPrompt(sectionArg)
60
+ : buildAllSectionsPrompt(deps.writableContexts);
61
+ const textPart = {
62
+ type: "text",
63
+ text: prompt,
64
+ };
65
+ output.parts.push(textPart);
66
+ };
67
+ }
68
+ //# sourceMappingURL=config-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-command.js","sourceRoot":"","sources":["../../src/hooks/config-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4BH,yEAAyE;AAEzE,SAAS,sBAAsB,CAAC,QAA2B;IACzD,OAAO;;;;;;;;;;;;sBAYa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;uIAE8F,CAAC;AACxI,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,sCAAsC,OAAO;;wCAEd,OAAO;;;8CAGD,OAAO;;;;;iEAKY,CAAC;AAClE,CAAC;AAED,yEAAyE;AAEzE;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAA2B;IAE3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAChC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Execution Journal Hooks
3
+ *
4
+ * Records tool execution lifecycle for crash detection:
5
+ * - tool.execute.before: Creates a Running entry in the journal
6
+ * - event (tool.execute.after): Updates entry to Success or Error
7
+ *
8
+ * Uses an in-memory pending entries map to correlate before/after events.
9
+ * On plugin init, detectCrashes() finds orphaned Running entries from
10
+ * prior sessions and surfaces them to the user.
11
+ *
12
+ * SOLID: SRP — execution journal recording only
13
+ * SOLID: DIP — depends on ExecutionJournalUseCases abstraction
14
+ */
15
+ import type { ExecutionJournalUseCases } from "../application/context-memory/execution-journal-use-cases.js";
16
+ import type { PluginEvent } from "./event-handlers.js";
17
+ import type { PluginLogger } from "./logger.js";
18
+ export interface ExecutionJournalHookDeps {
19
+ readonly journalUseCases: ExecutionJournalUseCases;
20
+ readonly workspace: string;
21
+ readonly log?: PluginLogger;
22
+ }
23
+ export interface ExecutionJournalHooks {
24
+ /** Hook for tool.execute.before — records start. */
25
+ readonly beforeHook: (input: {
26
+ tool: string;
27
+ }, output: {
28
+ args: Record<string, unknown>;
29
+ }) => Promise<void>;
30
+ /** Hook for event — records finish (success/error). */
31
+ readonly afterHook: (input: {
32
+ event: PluginEvent;
33
+ }) => Promise<void>;
34
+ }
35
+ /**
36
+ * Creates execution journal hooks.
37
+ * The beforeHook and afterHook share state via the PendingEntries tracker.
38
+ */
39
+ export declare function createExecutionJournalHooks(deps: ExecutionJournalHookDeps): ExecutionJournalHooks;
40
+ //# sourceMappingURL=execution-journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-journal.d.ts","sourceRoot":"","sources":["../../src/hooks/execution-journal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAI7G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;CAC7B;AAmDD,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACvB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,wBAAwB,GAC7B,qBAAqB,CA0DvB"}