@mc1global/opencode-jarvis 0.9.0 → 0.11.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.
- package/QUICK-GUIDE.md +42 -28
- package/README.md +288 -165
- package/dist/application/azure-sync/push-use-cases.d.ts +6 -1
- package/dist/application/azure-sync/push-use-cases.d.ts.map +1 -1
- package/dist/application/azure-sync/push-use-cases.js +31 -5
- package/dist/application/azure-sync/push-use-cases.js.map +1 -1
- package/dist/application/config/config-write-service.d.ts +86 -0
- package/dist/application/config/config-write-service.d.ts.map +1 -0
- package/dist/application/config/config-write-service.js +237 -0
- package/dist/application/config/config-write-service.js.map +1 -0
- package/dist/application/config/index.d.ts +2 -0
- package/dist/application/config/index.d.ts.map +1 -1
- package/dist/application/config/index.js +1 -0
- package/dist/application/config/index.js.map +1 -1
- package/dist/application/context-memory/execution-journal-use-cases.d.ts +69 -0
- package/dist/application/context-memory/execution-journal-use-cases.d.ts.map +1 -0
- package/dist/application/context-memory/execution-journal-use-cases.js +89 -0
- package/dist/application/context-memory/execution-journal-use-cases.js.map +1 -0
- package/dist/cli/config-wizard.d.ts +14 -0
- package/dist/cli/config-wizard.d.ts.map +1 -0
- package/dist/cli/config-wizard.js +120 -0
- package/dist/cli/config-wizard.js.map +1 -0
- package/dist/cli/section-editors.d.ts +33 -0
- package/dist/cli/section-editors.d.ts.map +1 -0
- package/dist/cli/section-editors.js +286 -0
- package/dist/cli/section-editors.js.map +1 -0
- package/dist/cli/wizard-prompts.d.ts +76 -0
- package/dist/cli/wizard-prompts.d.ts.map +1 -0
- package/dist/cli/wizard-prompts.js +98 -0
- package/dist/cli/wizard-prompts.js.map +1 -0
- package/dist/domain/azure-sync/value-objects.d.ts +10 -0
- package/dist/domain/azure-sync/value-objects.d.ts.map +1 -1
- package/dist/domain/azure-sync/value-objects.js +24 -0
- package/dist/domain/azure-sync/value-objects.js.map +1 -1
- package/dist/domain/config/index.d.ts +1 -1
- package/dist/domain/config/index.d.ts.map +1 -1
- package/dist/domain/config/repositories.d.ts +26 -6
- package/dist/domain/config/repositories.d.ts.map +1 -1
- package/dist/domain/config/repositories.js +6 -6
- package/dist/domain/context-memory/entities.d.ts +50 -2
- package/dist/domain/context-memory/entities.d.ts.map +1 -1
- package/dist/domain/context-memory/entities.js +92 -2
- package/dist/domain/context-memory/entities.js.map +1 -1
- package/dist/domain/context-memory/repositories.d.ts +15 -2
- package/dist/domain/context-memory/repositories.d.ts.map +1 -1
- package/dist/domain/context-memory/value-objects.d.ts +18 -1
- package/dist/domain/context-memory/value-objects.d.ts.map +1 -1
- package/dist/domain/context-memory/value-objects.js +39 -1
- package/dist/domain/context-memory/value-objects.js.map +1 -1
- package/dist/hooks/config-command.d.ts +37 -0
- package/dist/hooks/config-command.d.ts.map +1 -0
- package/dist/hooks/config-command.js +68 -0
- package/dist/hooks/config-command.js.map +1 -0
- package/dist/hooks/execution-journal.d.ts +40 -0
- package/dist/hooks/execution-journal.d.ts.map +1 -0
- package/dist/hooks/execution-journal.js +102 -0
- package/dist/hooks/execution-journal.js.map +1 -0
- package/dist/hooks/first-run-guide.d.ts +2 -0
- package/dist/hooks/first-run-guide.d.ts.map +1 -1
- package/dist/hooks/first-run-guide.js +44 -2
- package/dist/hooks/first-run-guide.js.map +1 -1
- package/dist/hooks/slash-commands.d.ts +36 -0
- package/dist/hooks/slash-commands.d.ts.map +1 -0
- package/dist/hooks/slash-commands.js +121 -0
- package/dist/hooks/slash-commands.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -3
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/azure-sync/azure-devops-client.d.ts.map +1 -1
- package/dist/infrastructure/azure-sync/azure-devops-client.js +9 -10
- package/dist/infrastructure/azure-sync/azure-devops-client.js.map +1 -1
- package/dist/infrastructure/config/index.d.ts +1 -0
- package/dist/infrastructure/config/index.d.ts.map +1 -1
- package/dist/infrastructure/config/index.js +1 -0
- package/dist/infrastructure/config/index.js.map +1 -1
- package/dist/infrastructure/config/yaml-config-writer.d.ts +16 -0
- package/dist/infrastructure/config/yaml-config-writer.d.ts.map +1 -0
- package/dist/infrastructure/config/yaml-config-writer.js +49 -0
- package/dist/infrastructure/config/yaml-config-writer.js.map +1 -0
- package/dist/infrastructure/context-memory/execution-journal-repository.d.ts +26 -0
- package/dist/infrastructure/context-memory/execution-journal-repository.d.ts.map +1 -0
- package/dist/infrastructure/context-memory/execution-journal-repository.js +110 -0
- package/dist/infrastructure/context-memory/execution-journal-repository.js.map +1 -0
- package/dist/tools/config-tools.d.ts +12 -0
- package/dist/tools/config-tools.d.ts.map +1 -0
- package/dist/tools/config-tools.js +136 -0
- package/dist/tools/config-tools.js.map +1 -0
- package/package.json +5 -2
- package/scripts/setup/setup-linux.sh +124 -0
- package/scripts/setup/setup-macos.sh +137 -0
- package/scripts/setup/setup-wsl.sh +175 -0
|
@@ -85,15 +85,18 @@ export class AzureSyncUseCases {
|
|
|
85
85
|
const pushed = [];
|
|
86
86
|
const skipped = [];
|
|
87
87
|
const errors = [];
|
|
88
|
+
// Push order: sprints first (creates iterations), then epics (parent WIs),
|
|
89
|
+
// then cards last (may reference iteration paths and epic parents).
|
|
90
|
+
// This ensures iteration paths exist before cards reference them (CD-022).
|
|
91
|
+
if (req.entityType === "sprint" || req.entityType === "all") {
|
|
92
|
+
await this.pushSprints(req, template, pushed, skipped, errors);
|
|
93
|
+
}
|
|
88
94
|
if (req.entityType === "epic" || req.entityType === "all") {
|
|
89
95
|
await this.pushEpics(req, template, pushed, skipped, errors);
|
|
90
96
|
}
|
|
91
97
|
if (req.entityType === "card" || req.entityType === "all") {
|
|
92
98
|
await this.pushCards(req, template, pushed, skipped, errors);
|
|
93
99
|
}
|
|
94
|
-
if (req.entityType === "sprint" || req.entityType === "all") {
|
|
95
|
-
await this.pushSprints(req, template, pushed, skipped, errors);
|
|
96
|
-
}
|
|
97
100
|
const summary = `Pushed ${pushed.length}, skipped ${skipped.length}, errors ${errors.length}`;
|
|
98
101
|
return ok({ pushed, skipped, errors, summary });
|
|
99
102
|
}
|
|
@@ -267,7 +270,12 @@ export class AzureSyncUseCases {
|
|
|
267
270
|
}
|
|
268
271
|
}
|
|
269
272
|
}
|
|
270
|
-
/**
|
|
273
|
+
/**
|
|
274
|
+
* Build a map of local sprint ID -> Azure iteration path.
|
|
275
|
+
* Validates against actually existing iterations in Azure DevOps so that
|
|
276
|
+
* cards whose sprint failed to push are not assigned a non-existent path.
|
|
277
|
+
* This prevents Azure API errors from invalid iteration references (CD-022).
|
|
278
|
+
*/
|
|
271
279
|
async buildIterationPathMap(req) {
|
|
272
280
|
const map = new Map();
|
|
273
281
|
const sprintsResult = await this.deps.sprintUseCases.listSprints({
|
|
@@ -275,9 +283,27 @@ export class AzureSyncUseCases {
|
|
|
275
283
|
});
|
|
276
284
|
if (!sprintsResult.success)
|
|
277
285
|
return map;
|
|
286
|
+
// Fetch actual iterations from Azure to validate paths
|
|
287
|
+
const iterResult = await this.deps.azureClient.listIterations(req.org, req.project);
|
|
288
|
+
const existingPaths = new Set();
|
|
289
|
+
if (iterResult.success) {
|
|
290
|
+
for (const iter of iterResult.data) {
|
|
291
|
+
existingPaths.add(iter.path);
|
|
292
|
+
// Also add by name (Azure returns path like "\Project\Name")
|
|
293
|
+
existingPaths.add(iter.name);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
278
296
|
for (const sprint of sprintsResult.data) {
|
|
279
297
|
const sanitizedName = sanitizeIterationName(sprint.name);
|
|
280
|
-
|
|
298
|
+
const candidatePath = `${req.project}\\${sanitizedName}`;
|
|
299
|
+
// Only include path if the iteration actually exists in Azure
|
|
300
|
+
// (match by full path or by sanitized name in existing paths)
|
|
301
|
+
const pathExists = existingPaths.has(candidatePath)
|
|
302
|
+
|| existingPaths.has(`\\${candidatePath}`)
|
|
303
|
+
|| existingPaths.has(sanitizedName);
|
|
304
|
+
if (pathExists) {
|
|
305
|
+
map.set(sprint.id, candidatePath);
|
|
306
|
+
}
|
|
281
307
|
}
|
|
282
308
|
return map;
|
|
283
309
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-use-cases.js","sourceRoot":"","sources":["../../../src/application/azure-sync/push-use-cases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"push-use-cases.js","sourceRoot":"","sources":["../../../src/application/azure-sync/push-use-cases.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Write Service
|
|
3
|
+
*
|
|
4
|
+
* Application use case for modifying configuration. Coordinates:
|
|
5
|
+
* 1. Read current overrides from the read repository
|
|
6
|
+
* 2. Apply partial updates to a context section
|
|
7
|
+
* 3. Validate the resulting merged config
|
|
8
|
+
* 4. Compute minimal overrides (diff against defaults)
|
|
9
|
+
* 5. Persist via the write repository
|
|
10
|
+
*
|
|
11
|
+
* SOLID: SRP — config write orchestration only
|
|
12
|
+
* SOLID: OCP — validation rules extensible per context
|
|
13
|
+
* SOLID: DIP — depends on repository interfaces, not implementations
|
|
14
|
+
* DDD: Application service coordinating domain VOs + infra repos
|
|
15
|
+
*/
|
|
16
|
+
import type { ConfigRepository } from "../../domain/config/repositories.js";
|
|
17
|
+
import type { ConfigWriteRepository } from "../../domain/config/repositories.js";
|
|
18
|
+
import type { ConfigMap } from "../../domain/config/value-objects.js";
|
|
19
|
+
/** Result of a validation check. */
|
|
20
|
+
export interface ValidationResult {
|
|
21
|
+
readonly valid: boolean;
|
|
22
|
+
readonly errors: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
/** A context-specific validation function. */
|
|
25
|
+
export type ConfigValidator = (merged: unknown) => ValidationResult;
|
|
26
|
+
/**
|
|
27
|
+
* Context names that have typed defaults and can be written.
|
|
28
|
+
* Subset of ConfigContextName — only those present in ConfigMap.
|
|
29
|
+
*/
|
|
30
|
+
export type WritableContextName = keyof ConfigMap;
|
|
31
|
+
/**
|
|
32
|
+
* Orchestrates configuration writes with validation and minimal-diff persistence.
|
|
33
|
+
*/
|
|
34
|
+
export declare class ConfigWriteService {
|
|
35
|
+
private readonly readRepo;
|
|
36
|
+
private readonly writeRepo;
|
|
37
|
+
private readonly validators;
|
|
38
|
+
constructor(readRepo: ConfigRepository, writeRepo: ConfigWriteRepository);
|
|
39
|
+
/**
|
|
40
|
+
* Update a configuration context with partial values.
|
|
41
|
+
*
|
|
42
|
+
* Flow:
|
|
43
|
+
* 1. Validate that the context name is writable
|
|
44
|
+
* 2. Load current overrides from the read repo
|
|
45
|
+
* 3. Deep-merge partial update into current overrides for this context
|
|
46
|
+
* 4. Deep-merge result with defaults to get the effective merged config
|
|
47
|
+
* 5. Validate the merged config
|
|
48
|
+
* 6. Compute minimal overrides (only values differing from defaults)
|
|
49
|
+
* 7. Persist the full overrides object (all contexts)
|
|
50
|
+
*
|
|
51
|
+
* @param contextName — The context section to update
|
|
52
|
+
* @param partialUpdate — Partial values to merge into the context
|
|
53
|
+
* @returns The effective merged config after the update
|
|
54
|
+
* @throws Error if context is not writable or validation fails
|
|
55
|
+
*/
|
|
56
|
+
updateContext(contextName: WritableContextName, partialUpdate: Record<string, unknown>): unknown;
|
|
57
|
+
/**
|
|
58
|
+
* Remove a context section from the overrides file entirely.
|
|
59
|
+
* After removal, the context will use pure defaults.
|
|
60
|
+
*
|
|
61
|
+
* @param contextName — The context section to reset
|
|
62
|
+
*/
|
|
63
|
+
resetContext(contextName: WritableContextName): void;
|
|
64
|
+
/**
|
|
65
|
+
* Get all writable context names.
|
|
66
|
+
*/
|
|
67
|
+
getWritableContexts(): readonly WritableContextName[];
|
|
68
|
+
/**
|
|
69
|
+
* Register a custom validator for a context.
|
|
70
|
+
* Replaces any existing validator for that context.
|
|
71
|
+
*/
|
|
72
|
+
registerValidator(contextName: string, validator: ConfigValidator): void;
|
|
73
|
+
private validate;
|
|
74
|
+
private registerBuiltInValidators;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Compute the minimal set of overrides by diffing effective config against defaults.
|
|
78
|
+
*
|
|
79
|
+
* Rules:
|
|
80
|
+
* - If a value equals the default, omit it
|
|
81
|
+
* - If an object has nested differences, include only the differing subtree
|
|
82
|
+
* - Arrays are compared by JSON equality (override replaces entire array)
|
|
83
|
+
* - Returns undefined if the entire section matches defaults
|
|
84
|
+
*/
|
|
85
|
+
export declare function computeOverrides(defaults: unknown, effective: unknown): Record<string, unknown> | undefined;
|
|
86
|
+
//# sourceMappingURL=config-write-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-write-service.d.ts","sourceRoot":"","sources":["../../../src/application/config/config-write-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAMtE,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,gBAAgB,CAAC;AAIpE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC;AAelD;;GAEG;AACH,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;gBAG9C,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,qBAAqB;IAOnD;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IA+ChG;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAUpD;;OAEG;IACH,mBAAmB,IAAI,SAAS,mBAAmB,EAAE;IAIrD;;;OAGG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI;IAMxE,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,yBAAyB;CAKlC;AAuED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,OAAO,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAgCrC"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { CONFIG_DEFAULTS } from "../../domain/config/value-objects.js";
|
|
2
|
+
import { deepMerge } from "./config-service.js";
|
|
3
|
+
/** All writable context names as a runtime set for validation. */
|
|
4
|
+
const WRITABLE_CONTEXTS = new Set([
|
|
5
|
+
"rag",
|
|
6
|
+
"pipeline",
|
|
7
|
+
"agent-registry",
|
|
8
|
+
"azure-sync",
|
|
9
|
+
"mcp-server",
|
|
10
|
+
"kanban",
|
|
11
|
+
"token-metrics",
|
|
12
|
+
]);
|
|
13
|
+
// ─── Service ───────────────────────────────────────────────────────────
|
|
14
|
+
/**
|
|
15
|
+
* Orchestrates configuration writes with validation and minimal-diff persistence.
|
|
16
|
+
*/
|
|
17
|
+
export class ConfigWriteService {
|
|
18
|
+
readRepo;
|
|
19
|
+
writeRepo;
|
|
20
|
+
validators = new Map();
|
|
21
|
+
constructor(readRepo, writeRepo) {
|
|
22
|
+
this.readRepo = readRepo;
|
|
23
|
+
this.writeRepo = writeRepo;
|
|
24
|
+
this.registerBuiltInValidators();
|
|
25
|
+
}
|
|
26
|
+
// ── Public API ─────────────────────────────────────────────────
|
|
27
|
+
/**
|
|
28
|
+
* Update a configuration context with partial values.
|
|
29
|
+
*
|
|
30
|
+
* Flow:
|
|
31
|
+
* 1. Validate that the context name is writable
|
|
32
|
+
* 2. Load current overrides from the read repo
|
|
33
|
+
* 3. Deep-merge partial update into current overrides for this context
|
|
34
|
+
* 4. Deep-merge result with defaults to get the effective merged config
|
|
35
|
+
* 5. Validate the merged config
|
|
36
|
+
* 6. Compute minimal overrides (only values differing from defaults)
|
|
37
|
+
* 7. Persist the full overrides object (all contexts)
|
|
38
|
+
*
|
|
39
|
+
* @param contextName — The context section to update
|
|
40
|
+
* @param partialUpdate — Partial values to merge into the context
|
|
41
|
+
* @returns The effective merged config after the update
|
|
42
|
+
* @throws Error if context is not writable or validation fails
|
|
43
|
+
*/
|
|
44
|
+
updateContext(contextName, partialUpdate) {
|
|
45
|
+
if (!WRITABLE_CONTEXTS.has(contextName)) {
|
|
46
|
+
throw new Error(`Context "${contextName}" is not writable. Writable contexts: ${[...WRITABLE_CONTEXTS].join(", ")}`);
|
|
47
|
+
}
|
|
48
|
+
// Step 1: Load current overrides for ALL contexts
|
|
49
|
+
const currentOverrides = { ...this.readRepo.loadAll() };
|
|
50
|
+
// Step 2: Merge partial update into existing overrides for this context
|
|
51
|
+
const currentContextOverride = currentOverrides[contextName];
|
|
52
|
+
const updatedContextOverride = currentContextOverride !== undefined
|
|
53
|
+
? deepMerge(currentContextOverride, partialUpdate)
|
|
54
|
+
: partialUpdate;
|
|
55
|
+
// Step 3: Compute effective merged config (defaults + updated overrides)
|
|
56
|
+
const defaults = CONFIG_DEFAULTS[contextName];
|
|
57
|
+
const effectiveMerged = defaults !== undefined
|
|
58
|
+
? deepMerge(defaults, updatedContextOverride)
|
|
59
|
+
: updatedContextOverride;
|
|
60
|
+
// Step 4: Validate the merged result
|
|
61
|
+
const validation = this.validate(contextName, effectiveMerged);
|
|
62
|
+
if (!validation.valid) {
|
|
63
|
+
throw new Error(`Validation failed for "${contextName}": ${validation.errors.join("; ")}`);
|
|
64
|
+
}
|
|
65
|
+
// Step 5: Compute minimal overrides for this context
|
|
66
|
+
const minimalOverride = defaults !== undefined
|
|
67
|
+
? computeOverrides(defaults, effectiveMerged)
|
|
68
|
+
: effectiveMerged;
|
|
69
|
+
// Step 6: Build full overrides object and persist
|
|
70
|
+
const newOverrides = { ...currentOverrides };
|
|
71
|
+
if (minimalOverride !== undefined && Object.keys(minimalOverride).length > 0) {
|
|
72
|
+
newOverrides[contextName] = minimalOverride;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// All values match defaults — remove section from overrides
|
|
76
|
+
delete newOverrides[contextName];
|
|
77
|
+
}
|
|
78
|
+
this.writeRepo.writeAll(newOverrides);
|
|
79
|
+
return effectiveMerged;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Remove a context section from the overrides file entirely.
|
|
83
|
+
* After removal, the context will use pure defaults.
|
|
84
|
+
*
|
|
85
|
+
* @param contextName — The context section to reset
|
|
86
|
+
*/
|
|
87
|
+
resetContext(contextName) {
|
|
88
|
+
if (!WRITABLE_CONTEXTS.has(contextName)) {
|
|
89
|
+
throw new Error(`Context "${contextName}" is not writable.`);
|
|
90
|
+
}
|
|
91
|
+
const currentOverrides = { ...this.readRepo.loadAll() };
|
|
92
|
+
delete currentOverrides[contextName];
|
|
93
|
+
this.writeRepo.writeAll(currentOverrides);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get all writable context names.
|
|
97
|
+
*/
|
|
98
|
+
getWritableContexts() {
|
|
99
|
+
return [...WRITABLE_CONTEXTS];
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Register a custom validator for a context.
|
|
103
|
+
* Replaces any existing validator for that context.
|
|
104
|
+
*/
|
|
105
|
+
registerValidator(contextName, validator) {
|
|
106
|
+
this.validators.set(contextName, validator);
|
|
107
|
+
}
|
|
108
|
+
// ── Validation ─────────────────────────────────────────────────
|
|
109
|
+
validate(contextName, merged) {
|
|
110
|
+
const validator = this.validators.get(contextName);
|
|
111
|
+
if (validator === undefined) {
|
|
112
|
+
return { valid: true, errors: [] };
|
|
113
|
+
}
|
|
114
|
+
return validator(merged);
|
|
115
|
+
}
|
|
116
|
+
registerBuiltInValidators() {
|
|
117
|
+
this.validators.set("azure-sync", validateAzureSyncConfig);
|
|
118
|
+
this.validators.set("token-metrics", validateTokenMetricsConfig);
|
|
119
|
+
this.validators.set("pipeline", validatePipelineConfig);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// ─── Built-in Validators ─────────────────────────────────────────────
|
|
123
|
+
function validateAzureSyncConfig(merged) {
|
|
124
|
+
const errors = [];
|
|
125
|
+
const config = merged;
|
|
126
|
+
if (config.pollEnabled === true) {
|
|
127
|
+
if (!config.organization || config.organization.trim() === "") {
|
|
128
|
+
errors.push("pollEnabled requires a non-empty organization");
|
|
129
|
+
}
|
|
130
|
+
if (!config.project || config.project.trim() === "") {
|
|
131
|
+
errors.push("pollEnabled requires a non-empty project");
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (config.pollIntervalSecs !== undefined) {
|
|
135
|
+
const interval = config.pollIntervalSecs;
|
|
136
|
+
if (typeof interval !== "number" || interval < 30) {
|
|
137
|
+
errors.push("pollIntervalSecs must be a number >= 30");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return { valid: errors.length === 0, errors };
|
|
141
|
+
}
|
|
142
|
+
function validateTokenMetricsConfig(merged) {
|
|
143
|
+
const errors = [];
|
|
144
|
+
const config = merged;
|
|
145
|
+
if (config.budgetAlertThreshold !== undefined) {
|
|
146
|
+
const threshold = config.budgetAlertThreshold;
|
|
147
|
+
if (typeof threshold !== "number" || threshold < 0 || threshold > 1) {
|
|
148
|
+
errors.push("budgetAlertThreshold must be a number between 0 and 1");
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (config.sprintBudgetUsd !== null && config.sprintBudgetUsd !== undefined) {
|
|
152
|
+
const budget = config.sprintBudgetUsd;
|
|
153
|
+
if (typeof budget !== "number" || budget < 0) {
|
|
154
|
+
errors.push("sprintBudgetUsd must be a non-negative number or null");
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return { valid: errors.length === 0, errors };
|
|
158
|
+
}
|
|
159
|
+
function validatePipelineConfig(merged) {
|
|
160
|
+
const errors = [];
|
|
161
|
+
const config = merged;
|
|
162
|
+
if (config.defaultTimeoutMs !== undefined) {
|
|
163
|
+
const timeout = config.defaultTimeoutMs;
|
|
164
|
+
if (typeof timeout !== "number" || timeout < 1000) {
|
|
165
|
+
errors.push("defaultTimeoutMs must be a number >= 1000");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (config.checkTimeoutMs !== undefined) {
|
|
169
|
+
const timeout = config.checkTimeoutMs;
|
|
170
|
+
if (typeof timeout !== "number" || timeout < 1000) {
|
|
171
|
+
errors.push("checkTimeoutMs must be a number >= 1000");
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return { valid: errors.length === 0, errors };
|
|
175
|
+
}
|
|
176
|
+
// ─── Override Computation ────────────────────────────────────────────
|
|
177
|
+
/**
|
|
178
|
+
* Compute the minimal set of overrides by diffing effective config against defaults.
|
|
179
|
+
*
|
|
180
|
+
* Rules:
|
|
181
|
+
* - If a value equals the default, omit it
|
|
182
|
+
* - If an object has nested differences, include only the differing subtree
|
|
183
|
+
* - Arrays are compared by JSON equality (override replaces entire array)
|
|
184
|
+
* - Returns undefined if the entire section matches defaults
|
|
185
|
+
*/
|
|
186
|
+
export function computeOverrides(defaults, effective) {
|
|
187
|
+
if (!isPlainObject(defaults) || !isPlainObject(effective)) {
|
|
188
|
+
// Primitive or array comparison
|
|
189
|
+
return deepEqual(defaults, effective) ? undefined : effective;
|
|
190
|
+
}
|
|
191
|
+
const result = {};
|
|
192
|
+
let hasOverrides = false;
|
|
193
|
+
// Check all keys in effective
|
|
194
|
+
for (const key of Object.keys(effective)) {
|
|
195
|
+
const defaultVal = defaults[key];
|
|
196
|
+
const effectiveVal = effective[key];
|
|
197
|
+
if (defaultVal === undefined) {
|
|
198
|
+
// Key not in defaults — it's always an override
|
|
199
|
+
result[key] = effectiveVal;
|
|
200
|
+
hasOverrides = true;
|
|
201
|
+
}
|
|
202
|
+
else if (isPlainObject(defaultVal) && isPlainObject(effectiveVal)) {
|
|
203
|
+
// Recurse into nested objects
|
|
204
|
+
const nested = computeOverrides(defaultVal, effectiveVal);
|
|
205
|
+
if (nested !== undefined && Object.keys(nested).length > 0) {
|
|
206
|
+
result[key] = nested;
|
|
207
|
+
hasOverrides = true;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else if (!deepEqual(defaultVal, effectiveVal)) {
|
|
211
|
+
result[key] = effectiveVal;
|
|
212
|
+
hasOverrides = true;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return hasOverrides ? result : undefined;
|
|
216
|
+
}
|
|
217
|
+
// ─── Utility Functions ───────────────────────────────────────────────
|
|
218
|
+
function isPlainObject(value) {
|
|
219
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Deep equality check for JSON-serializable values.
|
|
223
|
+
* Uses JSON.stringify for reliable comparison of nested structures.
|
|
224
|
+
*/
|
|
225
|
+
function deepEqual(a, b) {
|
|
226
|
+
if (a === b)
|
|
227
|
+
return true;
|
|
228
|
+
if (a === null || b === null)
|
|
229
|
+
return false;
|
|
230
|
+
if (typeof a !== typeof b)
|
|
231
|
+
return false;
|
|
232
|
+
if (typeof a === "object") {
|
|
233
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
234
|
+
}
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=config-write-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-write-service.js","sourceRoot":"","sources":["../../../src/application/config/config-write-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,6 @@
|
|
|
2
2
|
* Configuration Application — Barrel Exports
|
|
3
3
|
*/
|
|
4
4
|
export { ConfigService, deepMerge } from "./config-service.js";
|
|
5
|
+
export { ConfigWriteService, computeOverrides } from "./config-write-service.js";
|
|
6
|
+
export type { ValidationResult, ConfigValidator, WritableContextName } from "./config-write-service.js";
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execution Journal Use Cases
|
|
3
|
+
*
|
|
4
|
+
* Application service for recording tool execution lifecycle and
|
|
5
|
+
* detecting crashes via orphaned running entries.
|
|
6
|
+
*
|
|
7
|
+
* SOLID: SRP — execution journal orchestration only
|
|
8
|
+
* SOLID: DIP — depends on ExecutionJournalRepository port
|
|
9
|
+
* DDD: Application use case coordinating domain entities + infra repo
|
|
10
|
+
*/
|
|
11
|
+
import type { ExecutionJournalRepository } from "../../domain/context-memory/repositories.js";
|
|
12
|
+
import type { ExecutionEntryId } from "../../domain/context-memory/value-objects.js";
|
|
13
|
+
import type { WorkspaceId } from "../../domain/shared/value-objects.js";
|
|
14
|
+
export interface RecordStartRequest {
|
|
15
|
+
readonly toolName: string;
|
|
16
|
+
readonly argsSummary: string;
|
|
17
|
+
readonly workspace: WorkspaceId;
|
|
18
|
+
readonly sessionId?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface RecordStartResponse {
|
|
21
|
+
readonly entryId: string;
|
|
22
|
+
readonly toolName: string;
|
|
23
|
+
readonly state: string;
|
|
24
|
+
readonly startedAt: string;
|
|
25
|
+
}
|
|
26
|
+
export interface RecordFinishRequest {
|
|
27
|
+
readonly entryId: ExecutionEntryId;
|
|
28
|
+
}
|
|
29
|
+
export interface CrashReport {
|
|
30
|
+
readonly orphanedEntries: readonly CrashEntry[];
|
|
31
|
+
readonly totalCrashed: number;
|
|
32
|
+
readonly summary: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CrashEntry {
|
|
35
|
+
readonly entryId: string;
|
|
36
|
+
readonly toolName: string;
|
|
37
|
+
readonly argsSummary: string;
|
|
38
|
+
readonly startedAt: string;
|
|
39
|
+
}
|
|
40
|
+
export declare class ExecutionJournalUseCases {
|
|
41
|
+
private readonly repository;
|
|
42
|
+
constructor(repository: ExecutionJournalRepository);
|
|
43
|
+
/**
|
|
44
|
+
* Record the start of a tool execution.
|
|
45
|
+
* Creates a Running entry in the journal.
|
|
46
|
+
* Returns the persisted entry with its real ID for later correlation.
|
|
47
|
+
*/
|
|
48
|
+
recordStart(request: RecordStartRequest): Promise<RecordStartResponse>;
|
|
49
|
+
/**
|
|
50
|
+
* Record successful completion of a tool execution.
|
|
51
|
+
*/
|
|
52
|
+
recordSuccess(request: RecordFinishRequest): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Record error completion of a tool execution.
|
|
55
|
+
*/
|
|
56
|
+
recordError(request: RecordFinishRequest, errorMessage: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Detect orphaned running entries from prior sessions.
|
|
59
|
+
* Marks them as Crashed and returns a crash report.
|
|
60
|
+
* Should be called once on plugin initialization.
|
|
61
|
+
*/
|
|
62
|
+
detectCrashes(workspace: WorkspaceId): Promise<CrashReport>;
|
|
63
|
+
/**
|
|
64
|
+
* Prune completed/error/crashed entries older than the retention period.
|
|
65
|
+
* Running entries are never pruned (they indicate ongoing or crashed executions).
|
|
66
|
+
*/
|
|
67
|
+
prune(workspace: WorkspaceId, retentionDays?: number): Promise<number>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=execution-journal-use-cases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-journal-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/context-memory/execution-journal-use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAQD,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,0BAA0B;IAGzD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiB5E;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAgCjE;;;OAGG;IACG,KAAK,CACT,SAAS,EAAE,WAAW,EACtB,aAAa,GAAE,MAA+B,GAC7C,OAAO,CAAC,MAAM,CAAC;CAKnB"}
|