@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
@@ -45,7 +45,12 @@ export declare class AzureSyncUseCases {
45
45
  private pushEpics;
46
46
  private pushCards;
47
47
  private pushSprints;
48
- /** Build a map of local sprint ID -> Azure iteration path. */
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;IA4B3D,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,8DAA8D;YAChD,qBAAqB;YAgBrB,gBAAgB;YA8DhB,gBAAgB;CAiB/B"}
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
- /** Build a map of local sprint ID -> Azure iteration path. */
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
- map.set(sprint.id, `${req.project}\\${sanitizedName}`);
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,GACjB,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"}
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,GACjB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AASjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
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
- * Generate config-adaptive AGENTS.md content.
52
- * Sections for Azure DevOps, Dagger, and container-use only appear when enabled.
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;AAKH,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;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA4BhE"}
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 Generator ──────────────────────────────────────────────
137
+ // ── AGENTS.md Template Engine ─────────────────────────────────────────────────
137
138
  /**
138
- * Generate config-adaptive AGENTS.md content.
139
- * Sections for Azure DevOps, Dagger, and container-use only appear when enabled.
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
- export function generateAgentsMd(config) {
142
- const sections = [];
143
- sections.push(SECTION_HEADER);
144
- sections.push(SECTION_KANBAN_LIFECYCLE);
145
- sections.push(SECTION_GUARDRAILS);
146
- sections.push(SECTION_GOVERNANCE);
147
- if (config.containerUseEnabled) {
148
- sections.push(SECTION_CONTAINER_USE);
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
- if (config.azureSyncEnabled) {
151
- sections.push(generateAzureSyncSection(config));
152
- }
153
- if (config.pipelineEnabled) {
154
- sections.push(SECTION_PIPELINE_DAGGER);
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
- sections.push(SECTION_VAULT);
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
- // ── Static Sections ───────────────────────────────────────────────────────────
165
- const SECTION_HEADER = `# AGENTS.md JARVIS Plugin Operational Guide
166
-
167
- This file instructs agentic coding agents operating in this repository.
168
- JARVIS is an OpenCode plugin implementing a multi-agent development framework
169
- with kanban governance, context memory, and CI/CD pipeline support.`;
170
- const SECTION_KANBAN_LIFECYCLE = `## Mandatory Workflow — Kanban Lifecycle
171
-
172
- ALL non-trivial work (>15 minutes) MUST follow the full kanban pipeline.
173
- Do NOT skip steps. Do NOT commit directly to \`main\`.
174
-
175
- \`\`\`
176
- backlog -> grooming -> ready -> doing -> review -> tested -> done
177
- \`\`\`
178
-
179
- ### Before coding anything:
180
-
181
- 1. **Create or pick a card** — \`kanban-card-create\`, assign to epic and sprint
182
- 2. **Groom it** — Write a scope doc in \`obsidian-vault/12-Scope-Docs/\`, define
183
- acceptance criteria (min 2), estimate story points (Fibonacci), assign epic
184
- 3. **Move to ready** — Card cannot leave grooming without: scope doc, AC, points, epic
185
- 4. **Assign agent + sprint** — Then move to \`doing\`
186
- 5. **Start a session** — \`context-session-start\` before any card work
187
-
188
- ### Grooming rules CRITICAL:
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":"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"}
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,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA4BzC,iFAAiF;AAEjF,MAAM,mBAAmB,GAAG;IAC1B,gBAAgB;IAChB,8BAA8B;IAC9B,oCAAoC;IACpC,8BAA8B;CACtB,CAAC;AAEX,iFAAiF;AAEjF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C5B,CAAC;AAEF,iFAAiF;AAEjF;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAC5B;;;;;;;OAOG;IACH,SAAS,CAAC,SAAiB,EAAE,MAAuB,EAAE,KAAK,GAAG,KAAK;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAClD,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;YACzD,aAAa,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzC,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzC,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,OAAO;YACL,eAAe;YACf,YAAY;YACZ,kBAAkB,EAAE,WAAW;YAC/B,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,eAAiC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,EAAE,YAAY,IAAI,eAAe,EAAE,OAAO,CAAC,CAAC;QACpF,OAAO;YACL,gBAAgB,EAAE,QAAQ;YAC1B,QAAQ,EAAE,eAAe,EAAE,YAAY,IAAI,EAAE;YAC7C,YAAY,EAAE,eAAe,EAAE,OAAO,IAAI,EAAE;YAC5C,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;CACF;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,SAAS,mBAAmB;IAC1B,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,uBAAuB,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,CAAC;KACtE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,MAAM,IAAI,KAAK,CACb,2CAA2C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,UAAmC;IAEnC,iEAAiE;IACjE,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3B,QAAQ,GAAG,MAAM,CAAC;QAClB,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,mDAAmD,EACnD,CAAC,MAAM,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE,CACxC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,SAAiC;IAEjC,OAAO,QAAQ,CAAC,OAAO,CACrB,oBAAoB,EACpB,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAC3D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,UAAU,GAA4B;QAC1C,UAAU,EAAE,MAAM,CAAC,gBAAgB;QACnC,QAAQ,EAAE,MAAM,CAAC,eAAe;QAChC,aAAa,EAAE,MAAM,CAAC,mBAAmB;KAC1C,CAAC;IAEF,MAAM,SAAS,GAA2B;QACxC,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,aAAa,EAAE,MAAM,CAAC,YAAY;KACnC,CAAC;IAEF,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClE,OAAO,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC"}
@@ -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