@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.
- 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/bootstrap/index.d.ts +1 -1
- package/dist/application/bootstrap/index.d.ts.map +1 -1
- package/dist/application/bootstrap/index.js +1 -1
- package/dist/application/bootstrap/index.js.map +1 -1
- package/dist/application/bootstrap/use-cases.d.ts +16 -2
- package/dist/application/bootstrap/use-cases.d.ts.map +1 -1
- package/dist/application/bootstrap/use-cases.js +66 -215
- package/dist/application/bootstrap/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 +9 -0
- package/dist/hooks/first-run-guide.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -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/templates/agents-md.template.md +232 -0
|
@@ -45,7 +45,12 @@ export declare class AzureSyncUseCases {
|
|
|
45
45
|
private pushEpics;
|
|
46
46
|
private pushCards;
|
|
47
47
|
private pushSprints;
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Build a map of local sprint ID -> Azure iteration path.
|
|
50
|
+
* Validates against actually existing iterations in Azure DevOps so that
|
|
51
|
+
* cards whose sprint failed to push are not assigned a non-existent path.
|
|
52
|
+
* This prevents Azure API errors from invalid iteration references (CD-022).
|
|
53
|
+
*/
|
|
49
54
|
private buildIterationPathMap;
|
|
50
55
|
private pushSingleEntity;
|
|
51
56
|
private linkToParentEpic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/azure-sync/push-use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAOxG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EAAE,gBAAgB,EACjC,WAAW,EAAE,YAAY,EACzB,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAC5D,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAID;;;GAGG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAEf,IAAI,EAAE,aAAa;IAUhD,wEAAwE;IAClE,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IA+DvE,yDAAyD;IACnD,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"push-use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/azure-sync/push-use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAOxG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EAAE,gBAAgB,EACjC,WAAW,EAAE,YAAY,EACzB,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAC5D,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAID;;;GAGG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAEf,IAAI,EAAE,aAAa;IAUhD,wEAAwE;IAClE,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IA+DvE,yDAAyD;IACnD,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IA+B3D,6DAA6D;IACvD,UAAU,CACd,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IA2CtC,iDAAiD;IAC3C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAmB7C,SAAS;YA6CT,SAAS;YA4ET,WAAW;IA2DzB;;;;;OAKG;YACW,qBAAqB;YAqCrB,gBAAgB;YA8DhB,gBAAgB;CAiB/B"}
|
|
@@ -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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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Re-exports the bootstrap use cases, healthcheck, types, and template generator.
|
|
5
5
|
*/
|
|
6
|
-
export { BootstrapUseCases, generateAgentsMd, } from "./use-cases.js";
|
|
6
|
+
export { BootstrapUseCases, generateAgentsMd, processConditionalBlocks, replacePlaceholders, } from "./use-cases.js";
|
|
7
7
|
export type { BootstrapConfig, BootstrapResult, } from "./use-cases.js";
|
|
8
8
|
export { HealthcheckUseCases } from "./healthcheck-use-cases.js";
|
|
9
9
|
export type { CheckStatus, CheckResult, HealthcheckResponse, HealthcheckDeps, } from "./healthcheck-use-cases.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/bootstrap/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/bootstrap/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,YAAY,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Re-exports the bootstrap use cases, healthcheck, types, and template generator.
|
|
5
5
|
*/
|
|
6
|
-
export { BootstrapUseCases, generateAgentsMd, } from "./use-cases.js";
|
|
6
|
+
export { BootstrapUseCases, generateAgentsMd, processConditionalBlocks, replacePlaceholders, } from "./use-cases.js";
|
|
7
7
|
export { HealthcheckUseCases } from "./healthcheck-use-cases.js";
|
|
8
8
|
export { TerminalCommandsUseCases } from "./terminal-commands-use-cases.js";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/bootstrap/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/bootstrap/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AASjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -48,8 +48,22 @@ export declare class BootstrapUseCases {
|
|
|
48
48
|
buildConfig(azureSyncConfig?: AzureSyncConfig): BootstrapConfig;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
51
|
+
* Process conditional blocks in a template string.
|
|
52
|
+
*
|
|
53
|
+
* Syntax: `{{#IF NAME}}...content...{{/IF NAME}}`
|
|
54
|
+
* If `conditions[NAME]` is truthy, the content is kept; otherwise removed.
|
|
55
|
+
* Supports nested conditions.
|
|
56
|
+
*/
|
|
57
|
+
export declare function processConditionalBlocks(template: string, conditions: Record<string, boolean>): string;
|
|
58
|
+
/**
|
|
59
|
+
* Replace `{{PLACEHOLDER}}` tokens with values from a variables map.
|
|
60
|
+
*/
|
|
61
|
+
export declare function replacePlaceholders(template: string, variables: Record<string, string>): string;
|
|
62
|
+
/**
|
|
63
|
+
* Generate config-adaptive AGENTS.md content from external template.
|
|
64
|
+
*
|
|
65
|
+
* Reads `templates/agents-md.template.md`, processes conditional blocks
|
|
66
|
+
* based on config flags, and replaces placeholders with config values.
|
|
53
67
|
*/
|
|
54
68
|
export declare function generateAgentsMd(config: BootstrapConfig): string;
|
|
55
69
|
//# sourceMappingURL=use-cases.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/bootstrap/use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"use-cases.d.ts","sourceRoot":"","sources":["../../../src/application/bootstrap/use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,sDAAsD;IACtD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,wDAAwD;IACxD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AA8DD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,UAAQ,GAAG,eAAe;IAiDrF;;OAEG;IACH,WAAW,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,eAAe;CAUhE;AAiCD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAiBhE"}
|
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* SOLID: OCP — new sections can be added without modifying existing ones
|
|
9
9
|
* SOLID: DIP — depends on ConfigService abstraction for config reading
|
|
10
10
|
*/
|
|
11
|
-
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
12
|
-
import { join } from "node:path";
|
|
11
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
12
|
+
import { dirname, join } from "node:path";
|
|
13
|
+
import { fileURLToPath } from "node:url";
|
|
13
14
|
// ── Vault Skeleton Folders ────────────────────────────────────────────────────
|
|
14
15
|
const VAULT_SKELETON_DIRS = [
|
|
15
16
|
"obsidian-vault",
|
|
@@ -133,223 +134,73 @@ export class BootstrapUseCases {
|
|
|
133
134
|
};
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
|
-
// ── AGENTS.md Template
|
|
137
|
+
// ── AGENTS.md Template Engine ─────────────────────────────────────────────────
|
|
137
138
|
/**
|
|
138
|
-
*
|
|
139
|
-
*
|
|
139
|
+
* Resolve the path to the external AGENTS.md template file.
|
|
140
|
+
*
|
|
141
|
+
* Checks three locations in order:
|
|
142
|
+
* 1. `templates/` relative to package root (npm published layout)
|
|
143
|
+
* 2. `../../templates/` relative to compiled dist/ (development via dist/)
|
|
144
|
+
* 3. `templates/` relative to CWD (fallback for local dev)
|
|
140
145
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
function resolveTemplatePath() {
|
|
147
|
+
// Use import.meta.url to find package root relative to this compiled file.
|
|
148
|
+
// In dist: dist/application/bootstrap/use-cases.js → ../../.. = package root
|
|
149
|
+
const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
150
|
+
const packageRoot = join(thisDir, "..", "..", "..");
|
|
151
|
+
const candidates = [
|
|
152
|
+
join(packageRoot, "templates", "agents-md.template.md"),
|
|
153
|
+
join(thisDir, "..", "..", "..", "templates", "agents-md.template.md"),
|
|
154
|
+
];
|
|
155
|
+
for (const candidate of candidates) {
|
|
156
|
+
if (existsSync(candidate))
|
|
157
|
+
return candidate;
|
|
149
158
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
159
|
+
// Should never happen in a correctly installed package
|
|
160
|
+
throw new Error(`AGENTS.md template not found. Searched: ${candidates.join(", ")}`);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Process conditional blocks in a template string.
|
|
164
|
+
*
|
|
165
|
+
* Syntax: `{{#IF NAME}}...content...{{/IF NAME}}`
|
|
166
|
+
* If `conditions[NAME]` is truthy, the content is kept; otherwise removed.
|
|
167
|
+
* Supports nested conditions.
|
|
168
|
+
*/
|
|
169
|
+
export function processConditionalBlocks(template, conditions) {
|
|
170
|
+
// Process from innermost to outermost by iterating until stable.
|
|
171
|
+
let result = template;
|
|
172
|
+
let previous = "";
|
|
173
|
+
while (result !== previous) {
|
|
174
|
+
previous = result;
|
|
175
|
+
result = result.replace(/\{\{#IF (\w+)\}\}\n?([\s\S]*?)\{\{\/IF \1\}\}\n?/g, (_match, name, content) => conditions[name] ? content : "");
|
|
155
176
|
}
|
|
156
|
-
|
|
157
|
-
sections.push(SECTION_GIT_STRATEGY);
|
|
158
|
-
sections.push(SECTION_CONFIG_SYSTEM);
|
|
159
|
-
sections.push(SECTION_TOOL_QUICK_REFERENCE);
|
|
160
|
-
sections.push(SECTION_SKILLS_AND_COMMANDS);
|
|
161
|
-
sections.push(SECTION_RAG_ORACLE);
|
|
162
|
-
return sections.join("\n\n") + "\n";
|
|
177
|
+
return result;
|
|
163
178
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
Grooming defines **problem, value, and boundaries**. It does NOT prescribe
|
|
191
|
-
implementation details (no class names, method signatures, field names, code
|
|
192
|
-
snippets). The implementing agent decides those during the \`doing\` phase.
|
|
193
|
-
|
|
194
|
-
### After coding:
|
|
195
|
-
|
|
196
|
-
6. **Run tests + linter** — All must pass, zero errors
|
|
197
|
-
7. **Commit** — Imperative mood, reference card: \`Add X (CD-XXX)\` or \`Fix Y (CD-XXX)\`
|
|
198
|
-
8. **Move card** — \`doing -> review -> tested -> done\`, meet all AC and gate tasks first
|
|
199
|
-
9. **Update vault** — Dashboard + domain reference doc at end of every phase`;
|
|
200
|
-
const SECTION_GUARDRAILS = `## Guardrails — Hard Rules
|
|
201
|
-
|
|
202
|
-
### NEVER:
|
|
203
|
-
- Use fallback/mock behavior to mask errors — errors must throw with proper handling
|
|
204
|
-
- Use a "simpler approach" to bypass the real solution
|
|
205
|
-
- Read \`.csv\` directly — use \`data-csv-query\` tool
|
|
206
|
-
- Read \`.yaml/.yml\` directly — use \`data-yaml-get\` tool
|
|
207
|
-
- Read \`.env\`, \`.pem\`, \`.key\`, credentials files — blocked by governance
|
|
208
|
-
- Run \`git push --force\` on main/master
|
|
209
|
-
- Run \`sqlite3\` CLI — use repository methods
|
|
210
|
-
- Create \`TODO.md\`, \`PLAN.md\`, or \`ROADMAP.md\` — use kanban tools
|
|
211
|
-
- Bypass the kanban pipeline for trackable work
|
|
212
|
-
- Push to git without explicit user approval
|
|
213
|
-
- Start the app from the agent session — ask the user to do it in another terminal
|
|
214
|
-
|
|
215
|
-
### ALWAYS:
|
|
216
|
-
- Search RAG (\`rag-search\` / \`rag-snippet\`) before creating or modifying files
|
|
217
|
-
- Use specialized tools instead of raw file operations
|
|
218
|
-
- Get full codebase context before making changes — ask if unclear
|
|
219
|
-
- Validate card status transitions through the kanban domain
|
|
220
|
-
- Track context with sessions, TODOs, and notes`;
|
|
221
|
-
const SECTION_GOVERNANCE = `## Governance Policies (Runtime Enforced)
|
|
222
|
-
|
|
223
|
-
Governance policies are evaluated by the \`tool.execute.before\` hook on every
|
|
224
|
-
tool invocation. Violations with \`error\` severity throw and block execution.
|
|
225
|
-
These cover: CSV/YAML/env file access, force push, direct SQLite CLI,
|
|
226
|
-
destructive shell ops, credential file reads.
|
|
227
|
-
|
|
228
|
-
Use \`governance-validate\` to pre-check if an operation is allowed.
|
|
229
|
-
Use \`governance-policies\` to list all active policies.`;
|
|
230
|
-
const SECTION_CONTAINER_USE = `## Container-Use Environments
|
|
231
|
-
|
|
232
|
-
Container-use environments are isolated containers with their own git worktree
|
|
233
|
-
branches. Use them for all file, code, and shell operations.
|
|
234
|
-
|
|
235
|
-
Workflow:
|
|
236
|
-
1. \`env-init\` — Detect project stack
|
|
237
|
-
2. \`env-create\` — Spin up container from git ref
|
|
238
|
-
3. Work inside container via \`container-use_environment_*\` tools
|
|
239
|
-
4. \`env-merge\` — Merge branch back to main
|
|
240
|
-
5. \`env-delete\` — Clean up container + worktree
|
|
241
|
-
|
|
242
|
-
IMPORTANT: Always inform the user how to view your work using
|
|
243
|
-
\`container-use log <env_id>\` and \`container-use checkout <env_id>\`.
|
|
244
|
-
|
|
245
|
-
Do NOT install or use the git CLI with \`environment_run_cmd\`. All environment
|
|
246
|
-
tools handle git operations automatically.`;
|
|
247
|
-
const SECTION_PIPELINE_DAGGER = `## CI/CD Pipelines (Dagger)
|
|
248
|
-
|
|
249
|
-
Pipeline BC uses Dagger for CI/CD gate execution. Pipelines are created from
|
|
250
|
-
stack templates (typescript-lib, python-app, etc.) and run gates in containers.
|
|
251
|
-
|
|
252
|
-
Workflow:
|
|
253
|
-
1. \`pipeline-init\` — Create pipeline from stack template
|
|
254
|
-
2. \`pipeline-activate\` — Make pipeline runnable
|
|
255
|
-
3. \`pipeline-run\` — Execute gates via Dagger
|
|
256
|
-
4. \`pipeline-gate\` — Manual pass/fail/skip/retry for gates
|
|
257
|
-
5. \`pipeline-status\` — View pipeline state and gate results
|
|
258
|
-
|
|
259
|
-
Templates available via \`pipeline-template\` tool.
|
|
260
|
-
Scaffold Dagger modules via \`pipeline-scaffold\` tool.`;
|
|
261
|
-
const SECTION_VAULT = `## Obsidian Vault
|
|
262
|
-
|
|
263
|
-
Documentation lives in \`obsidian-vault/\`. Use structured lists, NOT markdown
|
|
264
|
-
tables (token efficiency). Update at end of every phase:
|
|
265
|
-
|
|
266
|
-
- \`09-Dashboards/\` — Project dashboards and metrics
|
|
267
|
-
- \`11-Domain-Reference/\` — Per-context architecture docs
|
|
268
|
-
- \`12-Scope-Docs/CD-XXX-*.md\` — Grooming scope documents
|
|
269
|
-
|
|
270
|
-
Use \`vault-manage\` tool for smart vault operations (inspect, read, write, create,
|
|
271
|
-
search, table-read, table-update).`;
|
|
272
|
-
const SECTION_GIT_STRATEGY = `## Git Strategy
|
|
273
|
-
|
|
274
|
-
- Work on feature branches (never commit directly to \`main\`)
|
|
275
|
-
- Commit messages: imperative verb + summary + card reference
|
|
276
|
-
- \`Add feature X (CD-001)\`
|
|
277
|
-
- \`Fix bug Y (CD-015)\`
|
|
278
|
-
- Merge via PR or controlled merge
|
|
279
|
-
- Never amend pushed commits without explicit request
|
|
280
|
-
- Never push without explicit user approval`;
|
|
281
|
-
const SECTION_CONFIG_SYSTEM = `## Configuration System
|
|
282
|
-
|
|
283
|
-
\`config/jarvis.yaml\` holds tunable settings per bounded context. The ConfigService
|
|
284
|
-
deep-merges YAML overrides over hardcoded defaults. Access config via the
|
|
285
|
-
appropriate getter methods — never read YAML files directly.`;
|
|
286
|
-
const SECTION_TOOL_QUICK_REFERENCE = `## Tool Quick Reference (112 tools)
|
|
287
|
-
|
|
288
|
-
JARVIS provides 112 tools across 11 bounded contexts. Key tool groups:
|
|
289
|
-
|
|
290
|
-
- **Context Memory** (8): \`context-session-start\`, \`context-session-finish\`, \`context-todo-add\`, \`context-note-add\`, \`context-search\`...
|
|
291
|
-
- **Kanban** (31): \`kanban-card-create\`, \`kanban-card-move\`, \`kanban-board-view\`, \`kanban-sprint-create\`, \`kanban-epic-create\`...
|
|
292
|
-
- **Governance** (2): \`governance-validate\`, \`governance-policies\`
|
|
293
|
-
- **Token Metrics** (7): \`metrics-summary\`, \`metrics-agent-report\`, \`metrics-card-report\`...
|
|
294
|
-
- **Vault** (11): \`vault-manage\` (smart facade), \`vault-doc-create\`, \`vault-doc-search\`...
|
|
295
|
-
- **RAG** (8): \`rag-search\`, \`rag-snippet\`, \`rag-index\`, \`rag-oracle-search\`, \`rag-oracle-index\`...
|
|
296
|
-
- **Data** (3): \`data-yaml-get\`, \`data-json-get\`, \`data-csv-query\`
|
|
297
|
-
- **Agent** (8): \`agent-sessions\`, \`agent-send\`, \`agent-spawn\`, \`agent-dispatch\`...
|
|
298
|
-
- **Pipeline** (10): \`pipeline-init\`, \`pipeline-run\`, \`pipeline-status\`...
|
|
299
|
-
- **Environment** (6): \`env-create\`, \`env-status\`, \`env-merge\`, \`env-delete\`...
|
|
300
|
-
- **Workspace** (4): \`workspace-info\`, \`workspace-list\`, \`workspace-update\`, \`workspace-link\`
|
|
301
|
-
- **Bootstrap** (2): \`jarvis-bootstrap\`, \`jarvis-healthcheck\`
|
|
302
|
-
|
|
303
|
-
For detailed workflows, load the appropriate skill (see below).`;
|
|
304
|
-
const SECTION_SKILLS_AND_COMMANDS = `## Available Skills
|
|
305
|
-
|
|
306
|
-
Load skills via the \`skill()\` tool to get detailed workflow instructions:
|
|
307
|
-
|
|
308
|
-
- **\`jarvis-kanban\`** — Full kanban lifecycle: card creation, grooming, sprint management, gate tasks
|
|
309
|
-
- **\`jarvis-azure-sync\`** — Azure DevOps sync: push/pull/bidi-sync, PR creation, poll events
|
|
310
|
-
- **\`jarvis-onboarding\`** — Setup, healthcheck, RAG indexing, tool group reference
|
|
311
|
-
|
|
312
|
-
### Available Commands
|
|
313
|
-
|
|
314
|
-
Use these slash commands for common operations:
|
|
315
|
-
|
|
316
|
-
- **\`/healthcheck\`** — Run diagnostics and get actionable fix guidance
|
|
317
|
-
- **\`/sync-azure\`** — Execute Azure DevOps sync workflow
|
|
318
|
-
- **\`/start-card CD-XXX\`** — Start working on a specific card (handles full lifecycle)
|
|
319
|
-
|
|
320
|
-
When you encounter an unfamiliar workflow, ALWAYS load the relevant skill first.`;
|
|
321
|
-
const SECTION_RAG_ORACLE = `## Knowledge Search — RAG & ORACLE
|
|
322
|
-
|
|
323
|
-
Before creating or modifying code, ALWAYS search first:
|
|
324
|
-
|
|
325
|
-
- **\`rag-search\`** / **\`rag-snippet\`** — Search the codebase semantically
|
|
326
|
-
- **\`rag-oracle-search\`** — Search curated framework documentation (governance, workflows, patterns)
|
|
327
|
-
|
|
328
|
-
When you don't know how to do something, search ORACLE:
|
|
329
|
-
\`\`\`
|
|
330
|
-
rag-oracle-search query="how to sync azure devops"
|
|
331
|
-
rag-oracle-search query="kanban grooming requirements" domain="workflows"
|
|
332
|
-
\`\`\`
|
|
333
|
-
|
|
334
|
-
ORACLE domains: \`governance\`, \`workflows\`, \`patterns\`, \`quick_reference\`.`;
|
|
335
|
-
// ── Dynamic Sections ──────────────────────────────────────────────────────────
|
|
336
|
-
function generateAzureSyncSection(config) {
|
|
337
|
-
return `## Azure DevOps Integration
|
|
338
|
-
|
|
339
|
-
This project is connected to Azure DevOps (${config.azureOrg}/${config.azureProject}).
|
|
340
|
-
|
|
341
|
-
Available tools:
|
|
342
|
-
- \`azure-sync-discover\` — Detect project template, list work items + iterations
|
|
343
|
-
- \`azure-sync-push\` — Push cards/epics/sprints to Azure DevOps
|
|
344
|
-
- \`azure-sync-pull\` — Pull work items from Azure DevOps
|
|
345
|
-
- \`azure-sync-sync\` — Bidirectional sync (push then pull)
|
|
346
|
-
- \`azure-sync-status\` — Show sync status between local and Azure
|
|
347
|
-
- \`azure-sync-config\` — Show configuration + test connectivity
|
|
348
|
-
- \`azure-sync-events\` — List/acknowledge/dismiss detected change events
|
|
349
|
-
- \`azure-pr-create\` — Create Pull Request in Azure Repos
|
|
350
|
-
- \`azure-pr-list\` — List Pull Requests
|
|
351
|
-
|
|
352
|
-
Poll service can be enabled in \`config/jarvis.yaml\` under \`azure-sync.pollEnabled\`
|
|
353
|
-
to automatically detect changes made by team members in Azure DevOps.`;
|
|
179
|
+
/**
|
|
180
|
+
* Replace `{{PLACEHOLDER}}` tokens with values from a variables map.
|
|
181
|
+
*/
|
|
182
|
+
export function replacePlaceholders(template, variables) {
|
|
183
|
+
return template.replace(/\{\{([A-Z_]+)\}\}/g, (_match, name) => variables[name] ?? `{{${name}}}`);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Generate config-adaptive AGENTS.md content from external template.
|
|
187
|
+
*
|
|
188
|
+
* Reads `templates/agents-md.template.md`, processes conditional blocks
|
|
189
|
+
* based on config flags, and replaces placeholders with config values.
|
|
190
|
+
*/
|
|
191
|
+
export function generateAgentsMd(config) {
|
|
192
|
+
const templatePath = resolveTemplatePath();
|
|
193
|
+
const raw = readFileSync(templatePath, "utf-8");
|
|
194
|
+
const conditions = {
|
|
195
|
+
AZURE_SYNC: config.azureSyncEnabled,
|
|
196
|
+
PIPELINE: config.pipelineEnabled,
|
|
197
|
+
CONTAINER_USE: config.containerUseEnabled,
|
|
198
|
+
};
|
|
199
|
+
const variables = {
|
|
200
|
+
AZURE_ORG: config.azureOrg,
|
|
201
|
+
AZURE_PROJECT: config.azureProject,
|
|
202
|
+
};
|
|
203
|
+
const afterConditions = processConditionalBlocks(raw, conditions);
|
|
204
|
+
return replacePlaceholders(afterConditions, variables);
|
|
354
205
|
}
|
|
355
206
|
//# sourceMappingURL=use-cases.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cases.js","sourceRoot":"","sources":["../../../src/application/bootstrap/use-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"use-cases.js","sourceRoot":"","sources":["../../../src/application/bootstrap/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
|