@erode-app/core 0.9.1 → 0.9.3

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 (44) hide show
  1. package/dist/adapters/likec4/likec4-types.d.ts +3 -0
  2. package/dist/adapters/likec4/likec4-types.d.ts.map +1 -1
  3. package/dist/adapters/structurizr/adapter.d.ts.map +1 -1
  4. package/dist/adapters/structurizr/adapter.js +8 -10
  5. package/dist/adapters/structurizr/adapter.js.map +1 -1
  6. package/dist/adapters/structurizr/structurizr-types.d.ts +3 -0
  7. package/dist/adapters/structurizr/structurizr-types.d.ts.map +1 -1
  8. package/dist/analysis/prompts/drift-analysis.md +17 -0
  9. package/dist/analysis/section-formatters.d.ts.map +1 -1
  10. package/dist/analysis/section-formatters.js +10 -1
  11. package/dist/analysis/section-formatters.js.map +1 -1
  12. package/dist/platforms/source-platform.d.ts +3 -2
  13. package/dist/platforms/source-platform.d.ts.map +1 -1
  14. package/dist/providers/anthropic/models.d.ts +2 -2
  15. package/dist/providers/anthropic/models.js +2 -2
  16. package/dist/providers/anthropic/models.js.map +1 -1
  17. package/dist/providers/anthropic/provider.d.ts +2 -1
  18. package/dist/providers/anthropic/provider.d.ts.map +1 -1
  19. package/dist/providers/anthropic/provider.js +10 -3
  20. package/dist/providers/anthropic/provider.js.map +1 -1
  21. package/dist/providers/base-provider.d.ts +3 -2
  22. package/dist/providers/base-provider.d.ts.map +1 -1
  23. package/dist/providers/base-provider.js +32 -8
  24. package/dist/providers/base-provider.js.map +1 -1
  25. package/dist/providers/gemini/provider.d.ts +2 -1
  26. package/dist/providers/gemini/provider.d.ts.map +1 -1
  27. package/dist/providers/gemini/provider.js +66 -2
  28. package/dist/providers/gemini/provider.js.map +1 -1
  29. package/dist/providers/generation-profile.d.ts +14 -0
  30. package/dist/providers/generation-profile.d.ts.map +1 -0
  31. package/dist/providers/generation-profile.js +34 -0
  32. package/dist/providers/generation-profile.js.map +1 -0
  33. package/dist/providers/openai/models.d.ts +2 -2
  34. package/dist/providers/openai/models.js +2 -2
  35. package/dist/providers/openai/models.js.map +1 -1
  36. package/dist/providers/openai/provider.d.ts +2 -1
  37. package/dist/providers/openai/provider.d.ts.map +1 -1
  38. package/dist/providers/openai/provider.js +74 -14
  39. package/dist/providers/openai/provider.js.map +1 -1
  40. package/dist/schemas/structurizr.schema.d.ts +6 -5
  41. package/dist/schemas/structurizr.schema.d.ts.map +1 -1
  42. package/dist/schemas/structurizr.schema.js +5 -5
  43. package/dist/schemas/structurizr.schema.js.map +1 -1
  44. package/package.json +9 -9
@@ -1,4 +1,7 @@
1
1
  import type { LikeC4Element, LikeC4Relationship } from '../../schemas/likec4.schema.js';
2
+ /**
3
+ * @public
4
+ */
2
5
  export type { LikeC4Element, LikeC4Relationship };
3
6
  export interface LikeC4Model {
4
7
  elements(): Iterable<LikeC4Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"likec4-types.d.ts","sourceRoot":"","sources":["../../../src/adapters/likec4/likec4-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAExF,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpC,aAAa,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"likec4-types.d.ts","sourceRoot":"","sources":["../../../src/adapters/likec4/likec4-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAExF;;GAEG;AACH,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpC,aAAa,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CAC/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/structurizr/adapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,oBAAoB,EAMrB,MAAM,wBAAwB,CAAC;AAiBhC,qBAAa,kBAAmB,YAAW,wBAAwB;IACjE,QAAQ,CAAC,QAAQ,mDAAwB;IACzC,SAAS,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACxD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,aAAa,CAA6B;IAE5C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuBzD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;cAgCxD,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtE,SAAS,CAAC,iBAAiB,IAAI,sBAAsB,EAAE;IA4BvD,SAAS,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;IA4CrD,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,cAAc;IAYnF,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAQ9E,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAcxE,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOjE,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAkBvE,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAkBrE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAoBvE,gBAAgB,IAAI,sBAAsB,EAAE;IAO5C,mBAAmB,IAAI,iBAAiB,EAAE;IAO1C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAY1D,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,WAAW;CAOpB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/structurizr/adapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,oBAAoB,EAMrB,MAAM,wBAAwB,CAAC;AAiBhC,qBAAa,kBAAmB,YAAW,wBAAwB;IACjE,QAAQ,CAAC,QAAQ,mDAAwB;IACzC,SAAS,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACxD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,aAAa,CAA6B;IAE5C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuBzD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;cAgCxD,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtE,SAAS,CAAC,iBAAiB,IAAI,sBAAsB,EAAE;IA4BvD,SAAS,CAAC,oBAAoB,IAAI,iBAAiB,EAAE;IA4CrD,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,cAAc;IAYnF,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAQ9E,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAcxE,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOjE,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAkBvE,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAkBrE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAoBvE,gBAAgB,IAAI,sBAAsB,EAAE;IAO5C,mBAAmB,IAAI,iBAAiB,EAAE;IAO1C,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAY1D,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,WAAW;CAOpB"}
@@ -288,12 +288,12 @@ export class StructurizrAdapter {
288
288
  const localId = element.id ?? this.toSnakeCase(element.name ?? '');
289
289
  const resolvedId = this.resolveElementId(element, localId, parentPath);
290
290
  callback(element, parentPath);
291
- const sys = element;
292
- if (sys.containers)
293
- walk(sys.containers, resolvedId);
294
- const container = element;
295
- if (container.components)
296
- walk(container.components, resolvedId);
291
+ if ('containers' in element && Array.isArray(element.containers)) {
292
+ walk(element.containers, resolvedId);
293
+ }
294
+ if ('components' in element && Array.isArray(element.components)) {
295
+ walk(element.components, resolvedId);
296
+ }
297
297
  }
298
298
  };
299
299
  walk(this.workspace.model.people, '');
@@ -335,11 +335,9 @@ export class StructurizrAdapter {
335
335
  }
336
336
  getElementType(element, parentPath) {
337
337
  // Infer from position in hierarchy or explicit type from parser
338
- const sys = element;
339
- if (sys.containers)
338
+ if ('containers' in element && element.containers)
340
339
  return 'softwareSystem';
341
- const container = element;
342
- if (container.components)
340
+ if ('components' in element && element.components)
343
341
  return 'container';
344
342
  if (this.workspace?.model?.people?.some((p) => p.id === element.id && p.name === element.name)) {
345
343
  return 'person';
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/structurizr/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/structurizr/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
1
  import type { StructurizrWorkspace, StructurizrSoftwareSystem, StructurizrContainer, StructurizrComponent, StructurizrPerson, StructurizrRelationship } from '../../schemas/structurizr.schema.js';
2
+ /**
3
+ * @public
4
+ */
2
5
  export type { StructurizrWorkspace, StructurizrSoftwareSystem, StructurizrContainer, StructurizrComponent, StructurizrPerson, StructurizrRelationship, };
3
6
  //# sourceMappingURL=structurizr-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"structurizr-types.d.ts","sourceRoot":"","sources":["../../../src/adapters/structurizr/structurizr-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,CAAC"}
1
+ {"version":3,"file":"structurizr-types.d.ts","sourceRoot":"","sources":["../../../src/adapters/structurizr/structurizr-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAE7C;;GAEG;AACH,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,CAAC"}
@@ -64,6 +64,23 @@ These are ALL relationships currently declared in the architecture model:
64
64
 
65
65
  Cross-reference the dependency changes above against the architecture model and assess:
66
66
 
67
+ ### Dependency Coverage
68
+
69
+ For every ADDED dependency in the DEPENDENCY CHANGES DETECTED section, account for it
70
+ explicitly. Classify each dependency as one of:
71
+
72
+ - Already declared in the model
73
+ - New relationship to add
74
+ - New component plus relationship to add
75
+ - External package or third-party dependency that should not be modeled
76
+ - Ignored with a brief reason
77
+
78
+ If an existing modeled component gains a dependency on a newly introduced component,
79
+ include both the new component and that relationship. If a newly introduced component
80
+ depends on an existing modeled component, include both the new component and that
81
+ relationship. Do not let one dependency that created a new component hide other
82
+ relationships to or from that component.
83
+
67
84
  ### 1. New Dependencies NOT in Model (Potential Drift)
68
85
 
69
86
  - Are there new dependencies that aren't in the allowed dependencies list?
@@ -1 +1 @@
1
- {"version":3,"file":"section-formatters.d.ts","sourceRoot":"","sources":["../../src/analysis/section-formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,wBAAgB,yBAAyB,CAAC,aAAa,EAAE;IACvD,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjF,GAAG,MAAM,CAoBT;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAIrF;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,0BAA0B,GAAG,MAAM,CA+BxF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAKT;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EAAE,GACF,MAAM,CAWR;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACjF,MAAM,CAWR;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAK/D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAOA"}
1
+ {"version":3,"file":"section-formatters.d.ts","sourceRoot":"","sources":["../../src/analysis/section-formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,wBAAgB,yBAAyB,CAAC,aAAa,EAAE;IACvD,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjF,GAAG,MAAM,CAoBT;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAIrF;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,0BAA0B,GAAG,MAAM,CAwCxF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAKT;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE;IACV,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EAAE,GACF,MAAM,CAWR;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACjF,MAAM,CAWR;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAK/D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAOA"}
@@ -43,7 +43,16 @@ export function formatDependencyChanges(dependencies) {
43
43
  if (items && items.length > 0) {
44
44
  section += `**${label} Dependencies:**\n`;
45
45
  section += items
46
- .map((dep) => `- ${dep.dependency} (${dep.file})\n ${dep.description}`)
46
+ .map((dep) => {
47
+ const trimmedCode = dep.code.trim();
48
+ const evidence = trimmedCode
49
+ ? `\n Evidence:\n${trimmedCode
50
+ .split('\n')
51
+ .map((line) => ` ${line}`)
52
+ .join('\n')}`
53
+ : '';
54
+ return `- ${dep.dependency} (${dep.file})\n ${dep.description}${evidence}`;
55
+ })
47
56
  .join('\n');
48
57
  section += '\n\n';
49
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"section-formatters.js","sourceRoot":"","sources":["../../src/analysis/section-formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-formatters.js","sourceRoot":"","sources":["../../src/analysis/section-formatters.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,yBAAyB,CAAC,aAGzC;IACC,IAAI,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI;gBACtC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;gBACjB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;gBACrB,KAAK,EAAE,EAAc;aACtB,CAAC;YACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAAyD,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,EAAE,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;aAC9E,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAA4C;IAC3E,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/D,CAAC,CAAC,mBAAmB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,YAAwC;IAC9E,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,6EAA6E,CAAC;IACvF,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAE9C,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACb,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAA2B;QACrC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,IAAI,OAAO,GAAG,uDAAuD,CAAC;IAEtE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,KAAK,KAAK,oBAAoB,CAAC;YAC1C,OAAO,IAAI,KAAK;iBACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,WAAW;oBAC1B,CAAC,CAAC,kBAAkB,WAAW;yBAC1B,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;yBAC5B,IAAI,CAAC,IAAI,CAAC,EAAE;oBACjB,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,KAAK,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,WAAW,GAAG,QAAQ,EAAE,CAAC;YAC9E,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,IAAI,MAAM,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAKtC;IACC,OAAO;aACI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QAC1B,IAAI,CAAC,IAAI;EACf,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAMG;IAEH,OAAO,UAAU;SACd,GAAG,CACF,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;EAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;aACf,CAAC,CAAC,IAAI;aACN,CAAC,CAAC,IAAI;KACd,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;KACnD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,aAAkF;IAElF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,8BAA8B,CAAC;IACxC,CAAC;IACD,OAAO,aAAa;SACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;IACzD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAqB;IAIjD,MAAM,OAAO,GAAG,OAAO;SACpB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;SAC3F,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,10 +1,10 @@
1
- export interface CommitStats {
1
+ interface CommitStats {
2
2
  total: number;
3
3
  additions: number;
4
4
  deletions: number;
5
5
  }
6
6
  /** Platform-specific identifiers for the repository. */
7
- export interface PlatformId {
7
+ interface PlatformId {
8
8
  owner: string;
9
9
  repo: string;
10
10
  }
@@ -113,4 +113,5 @@ export interface SourcePlatformWriter {
113
113
  /** Close an open change request by its source branch name. No-op if none exists. */
114
114
  closeChangeRequest(branchName: string): Promise<void>;
115
115
  }
116
+ export {};
116
117
  //# sourceMappingURL=source-platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-platform.d.ts","sourceRoot":"","sources":["../../src/platforms/source-platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-platform.d.ts","sourceRoot":"","sources":["../../src/platforms/source-platform.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const ANTHROPIC_MODELS: {
2
- readonly FAST: "claude-haiku-4-5-20251001";
3
- readonly ADVANCED: "claude-sonnet-4-5-20250929";
2
+ readonly FAST: "claude-haiku-4-5";
3
+ readonly ADVANCED: "claude-sonnet-4-6";
4
4
  };
5
5
  //# sourceMappingURL=models.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export const ANTHROPIC_MODELS = {
2
- FAST: 'claude-haiku-4-5-20251001',
3
- ADVANCED: 'claude-sonnet-4-5-20250929',
2
+ FAST: 'claude-haiku-4-5',
3
+ ADVANCED: 'claude-sonnet-4-6',
4
4
  };
5
5
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/providers/anthropic/models.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,4BAA4B;CAC9B,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/providers/anthropic/models.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,mBAAmB;CACrB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { BaseProvider, type ProviderConfig } from '../base-provider.js';
2
2
  import type { AnalysisPhase } from '../analysis-phase.js';
3
+ import { type GenerationProfile } from '../generation-profile.js';
3
4
  export declare class AnthropicProvider extends BaseProvider {
4
5
  private readonly client;
5
6
  constructor(config: ProviderConfig);
6
- protected callModel(model: string, prompt: string, phase: AnalysisPhase, maxTokens: number): Promise<string>;
7
+ protected callModel(model: string, prompt: string, phase: AnalysisPhase, generationProfile: GenerationProfile): Promise<string>;
7
8
  }
8
9
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,EAAE,cAAc;cAelB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CA8CnB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AASlC,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,MAAM,EAAE,cAAc;cAelB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;CAgDnB"}
@@ -2,7 +2,13 @@ import Anthropic from '@anthropic-ai/sdk';
2
2
  import { BaseProvider } from '../base-provider.js';
3
3
  import { ApiError, ErodeError, ErrorCode } from '../../errors.js';
4
4
  import { ENV_VAR_NAMES, RC_FILENAME } from '../../utils/config.js';
5
+ import { resolveOutputTokenLimit, } from '../generation-profile.js';
5
6
  import { ANTHROPIC_MODELS } from './models.js';
7
+ const MAX_TOKENS_BY_OUTPUT_SIZE = {
8
+ small: 600,
9
+ medium: 1500,
10
+ large: 8192,
11
+ };
6
12
  export class AnthropicProvider extends BaseProvider {
7
13
  client;
8
14
  constructor(config) {
@@ -15,11 +21,12 @@ export class AnthropicProvider extends BaseProvider {
15
21
  });
16
22
  this.client = new Anthropic({ apiKey: config.apiKey });
17
23
  }
18
- async callModel(model, prompt, phase, maxTokens) {
24
+ async callModel(model, prompt, phase, generationProfile) {
25
+ const outputTokenLimit = resolveOutputTokenLimit(generationProfile, MAX_TOKENS_BY_OUTPUT_SIZE);
19
26
  try {
20
27
  const response = await this.client.messages.create({
21
28
  model,
22
- max_tokens: maxTokens,
29
+ max_tokens: outputTokenLimit,
23
30
  messages: [{ role: 'user', content: prompt }],
24
31
  });
25
32
  if (response.stop_reason === 'refusal') {
@@ -31,7 +38,7 @@ export class AnthropicProvider extends BaseProvider {
31
38
  throw new ErodeError('Anthropic returned an empty response', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The Anthropic API returned no content', { model, phase });
32
39
  }
33
40
  if (response.stop_reason === 'max_tokens') {
34
- throw new ErodeError('Anthropic response was cut short (max_tokens reached)', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The AI response was truncated. The output may be partial.', { model, phase, maxTokens });
41
+ throw new ErodeError('Anthropic response was cut short (max_tokens reached)', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The Anthropic response used the available output budget before completion. Try a smaller change or tune the provider output budget.', { model, phase, outputTokenLimit });
35
42
  }
36
43
  return text;
37
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/anthropic/provider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAChC,MAAM,CAAY;IAEnC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAClB,gCAAgC,EAChC,SAAS,CAAC,gBAAgB,EAC1B,mCAAmC,aAAa,CAAC,eAAe,2BAA2B,WAAW,GAAG,CAC1G,CAAC;QACJ,CAAC;QACD,KAAK,CAAC;YACJ,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,gBAAgB,CAAC,IAAI;YACpD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,gBAAgB,CAAC,QAAQ;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,KAAa,EACb,MAAc,EACd,KAAoB,EACpB,SAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACjD,KAAK;gBACL,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aAC9C,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,UAAU,CAClB,+CAA+C,EAC/C,SAAS,CAAC,qBAAqB,EAC/B,mFAAmF,EACnF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,SAAS,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAE3E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,UAAU,CAClB,sCAAsC,EACtC,SAAS,CAAC,yBAAyB,EACnC,uCAAuC,EACvC,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;gBAC1C,MAAM,IAAI,UAAU,CAClB,uDAAuD,EACvD,SAAS,CAAC,yBAAyB,EACnC,2DAA2D,EAC3D,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAC5B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/anthropic/provider.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AIProvider } from './ai-provider.js';
2
2
  import type { DependencyExtractionPromptData, ComponentSelectionPromptData, DriftAnalysisPromptData, DriftAnalysisResult } from '../analysis/analysis-types.js';
3
3
  import type { DependencyExtractionResult } from '../schemas/dependency-extraction.schema.js';
4
4
  import { AnalysisPhase } from './analysis-phase.js';
5
+ import { type GenerationProfile } from './generation-profile.js';
5
6
  export interface ProviderConfig {
6
7
  apiKey: string;
7
8
  fastModel?: string;
@@ -25,10 +26,10 @@ export declare abstract class BaseProvider implements AIProvider {
25
26
  * @param model - The model identifier to use
26
27
  * @param prompt - The prompt text to send
27
28
  * @param phase - The analysis phase (for error context)
28
- * @param maxTokens - Maximum tokens for the response (some providers may ignore this)
29
+ * @param generationProfile - Provider-agnostic output intent
29
30
  * @returns The text content of the model response
30
31
  */
31
- protected abstract callModel(model: string, prompt: string, phase: AnalysisPhase, maxTokens: number): Promise<string>;
32
+ protected abstract callModel(model: string, prompt: string, phase: AnalysisPhase, generationProfile: GenerationProfile): Promise<string>;
32
33
  selectComponent(data: ComponentSelectionPromptData): Promise<string | null>;
33
34
  extractDependencies(data: DependencyExtractionPromptData): Promise<DependencyExtractionResult>;
34
35
  analyzeDrift(data: DriftAnalysisPromptData): Promise<DriftAnalysisResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAO7F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,8BAAsB,YAAa,YAAW,UAAU;IACtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAE7B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAKhE;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAEZ,eAAe,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsB3E,mBAAmB,CACvB,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAWhC,YAAY,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkBzE,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;YAmBJ,YAAY;IAmC1B,OAAO,CAAC,gBAAgB;CAGzB"}
1
+ {"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAO7F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAgBjC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,8BAAsB,YAAa,YAAW,UAAU;IACtD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAE7B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAKhE;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;IAEZ,eAAe,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+B3E,mBAAmB,CACvB,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAUhC,YAAY,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiBzE,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;YA2BJ,YAAY;IAuC1B,OAAO,CAAC,gBAAgB;CAGzB"}
@@ -6,11 +6,19 @@ import { ErodeError, ErrorCode, ApiError } from '../errors.js';
6
6
  import { withRetry } from '../utils/retry.js';
7
7
  import { AnalysisPhase } from './analysis-phase.js';
8
8
  import { CONFIG } from '../utils/config.js';
9
+ import { getGenerationProfileForModelPatch, getGenerationProfileForPhase, } from './generation-profile.js';
9
10
  function debugLog(msg, data) {
10
11
  if (CONFIG.debug.verbose) {
11
12
  console.error(`[AI] ${msg}`, data !== undefined ? JSON.stringify(data) : '');
12
13
  }
13
14
  }
15
+ function formatDuration(startedAt) {
16
+ const elapsedMs = Number(process.hrtime.bigint() - startedAt) / 1_000_000;
17
+ if (elapsedMs < 1000) {
18
+ return `${String(Math.round(elapsedMs))}ms`;
19
+ }
20
+ return `${(elapsedMs / 1000).toFixed(2)}s`;
21
+ }
14
22
  /**
15
23
  * Abstract base class for AI providers.
16
24
  *
@@ -26,10 +34,13 @@ export class BaseProvider {
26
34
  }
27
35
  async selectComponent(data) {
28
36
  const prompt = PromptBuilder.buildComponentSelectionPrompt(data);
29
- const responseText = await withRetry(() => this.callModel(this.fastModel, prompt, AnalysisPhase.COMPONENT_RESOLUTION, 256), {
37
+ debugLog('selectComponent using model', this.fastModel);
38
+ const startedAt = process.hrtime.bigint();
39
+ const responseText = await withRetry(() => this.callModel(this.fastModel, prompt, AnalysisPhase.COMPONENT_RESOLUTION, getGenerationProfileForPhase(AnalysisPhase.COMPONENT_RESOLUTION)), {
30
40
  retries: 2,
31
41
  shouldRetry: (error) => this.isRetryableError(error),
32
42
  });
43
+ debugLog('selectComponent completed in', formatDuration(startedAt));
33
44
  if (!responseText) {
34
45
  return null;
35
46
  }
@@ -45,7 +56,6 @@ export class BaseProvider {
45
56
  prompt: PromptBuilder.buildDependencyExtractionPrompt(data),
46
57
  schema: DependencyExtractionResultSchema,
47
58
  schemaName: 'DependencyExtractionResult',
48
- maxTokens: 4096,
49
59
  });
50
60
  }
51
61
  async analyzeDrift(data) {
@@ -55,7 +65,6 @@ export class BaseProvider {
55
65
  prompt: PromptBuilder.buildDriftAnalysisPrompt(data),
56
66
  schema: DriftAnalysisResponseSchema,
57
67
  schemaName: 'DriftAnalysisResponse',
58
- maxTokens: 8192,
59
68
  });
60
69
  return {
61
70
  ...analysisResponse,
@@ -70,21 +79,26 @@ export class BaseProvider {
70
79
  linesToInsert,
71
80
  modelFormat,
72
81
  });
73
- // Estimate tokens: ~4 chars per token, add 20% headroom for inserted lines
74
- const estimatedTokens = Math.ceil(fileContent.length / 4) + linesToInsert.length * 50;
75
- const maxTokens = Math.max(4096, Math.ceil(estimatedTokens * 1.2));
76
82
  debugLog('patchModel using model', this.fastModel);
77
- return withRetry(() => this.callModel(this.fastModel, prompt, AnalysisPhase.MODEL_UPDATE, maxTokens), {
83
+ const startedAt = process.hrtime.bigint();
84
+ return withRetry(() => this.callModel(this.fastModel, prompt, AnalysisPhase.MODEL_UPDATE, getGenerationProfileForModelPatch(fileContent, linesToInsert)), {
78
85
  retries: 2,
79
86
  shouldRetry: (error) => this.isRetryableError(error),
87
+ })
88
+ .then((response) => unwrapModelPatchResponse(response))
89
+ .finally(() => {
90
+ debugLog('patchModel completed in', formatDuration(startedAt));
80
91
  });
81
92
  }
82
93
  async executeStage(config) {
83
94
  debugLog(`executeStage ${config.phase} using model`, config.model);
84
- const responseText = await withRetry(() => this.callModel(config.model, config.prompt, config.phase, config.maxTokens), {
95
+ const generationProfile = config.generationProfile ?? getGenerationProfileForPhase(config.phase);
96
+ const startedAt = process.hrtime.bigint();
97
+ const responseText = await withRetry(() => this.callModel(config.model, config.prompt, config.phase, generationProfile), {
85
98
  retries: 2,
86
99
  shouldRetry: (error) => this.isRetryableError(error),
87
100
  });
101
+ debugLog(`executeStage ${config.phase} completed in`, formatDuration(startedAt));
88
102
  const jsonStr = PromptBuilder.extractJson(responseText);
89
103
  if (!jsonStr) {
90
104
  debugLog(`extractJson returned null for ${config.phase}, raw response (first 500 chars)`, responseText.slice(0, 500));
@@ -97,4 +111,14 @@ export class BaseProvider {
97
111
  return error instanceof ApiError && (error.isRateLimited || error.isTimeout);
98
112
  }
99
113
  }
114
+ function unwrapModelPatchResponse(response) {
115
+ const trimmed = response.trim();
116
+ const lines = trimmed.split(/\r?\n/);
117
+ const firstLine = lines[0];
118
+ const lastLine = lines.at(-1);
119
+ if (firstLine?.startsWith('```') && lastLine === '```') {
120
+ return lines.slice(1, -1).join('\n');
121
+ }
122
+ return response;
123
+ }
100
124
  //# sourceMappingURL=base-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { BaseProvider, type ProviderConfig } from '../base-provider.js';
2
2
  import type { AnalysisPhase } from '../analysis-phase.js';
3
+ import { type GenerationProfile } from '../generation-profile.js';
3
4
  export declare class GeminiProvider extends BaseProvider {
4
5
  private readonly client;
5
6
  constructor(config: ProviderConfig);
6
- protected callModel(model: string, prompt: string, phase: AnalysisPhase, _maxTokens: number): Promise<string>;
7
+ protected callModel(model: string, prompt: string, phase: AnalysisPhase, generationProfile: GenerationProfile): Promise<string>;
7
8
  }
8
9
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,cAAc;cAelB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;CAmCnB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/gemini/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,0BAA0B,CAAC;AASlC,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,EAAE,cAAc;cAelB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;CA0HnB"}
@@ -1,8 +1,14 @@
1
- import { FinishReason, GoogleGenAI } from '@google/genai';
1
+ import { FinishReason, GoogleGenAI, ThinkingLevel } from '@google/genai';
2
2
  import { BaseProvider } from '../base-provider.js';
3
3
  import { ApiError, ErodeError, ErrorCode } from '../../errors.js';
4
4
  import { ENV_VAR_NAMES, RC_FILENAME } from '../../utils/config.js';
5
+ import { resolveOutputTokenLimit, } from '../generation-profile.js';
5
6
  import { GEMINI_MODELS } from './models.js';
7
+ const MAX_OUTPUT_TOKENS_BY_OUTPUT_SIZE = {
8
+ small: 1500,
9
+ medium: 3000,
10
+ large: 6000,
11
+ };
6
12
  export class GeminiProvider extends BaseProvider {
7
13
  client;
8
14
  constructor(config) {
@@ -15,16 +21,22 @@ export class GeminiProvider extends BaseProvider {
15
21
  });
16
22
  this.client = new GoogleGenAI({ apiKey: config.apiKey });
17
23
  }
18
- async callModel(model, prompt, phase, _maxTokens) {
24
+ async callModel(model, prompt, phase, generationProfile) {
25
+ const maxOutputTokens = resolveOutputTokenLimit(generationProfile, MAX_OUTPUT_TOKENS_BY_OUTPUT_SIZE);
26
+ const thinkingConfig = getThinkingConfig(model, generationProfile.reasoningEffort);
19
27
  try {
20
28
  const response = await this.client.models.generateContent({
21
29
  model,
22
30
  contents: prompt,
31
+ config: { maxOutputTokens, thinkingConfig },
23
32
  });
24
33
  const candidate = response.candidates?.[0];
25
34
  if (candidate?.finishReason === FinishReason.SAFETY) {
26
35
  throw new ErodeError('Gemini safety filters blocked the response', ErrorCode.PROVIDER_SAFETY_BLOCK, 'Content was blocked by the AI provider safety filters. Try simplifying the input.', { model, phase });
27
36
  }
37
+ if (candidate?.finishReason === FinishReason.MAX_TOKENS) {
38
+ throw new ErodeError('Gemini response was cut short by the output token limit', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The Gemini response used the available output budget before completion. Try a smaller change or tune the provider output budget.', { model, phase, maxOutputTokens, outputSize: generationProfile.outputSize });
39
+ }
28
40
  const text = response.text;
29
41
  if (!text) {
30
42
  throw new ErodeError('Gemini returned an empty response', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The Gemini API returned no content', { model, phase });
@@ -37,6 +49,58 @@ export class GeminiProvider extends BaseProvider {
37
49
  }
38
50
  throw ApiError.fromGeminiError(error);
39
51
  }
52
+ function getThinkingConfig(thinkingModel, reasoningIntent) {
53
+ if (isGemini25Model(thinkingModel)) {
54
+ return getGemini25ThinkingConfig(thinkingModel, reasoningIntent);
55
+ }
56
+ if (isGemini3Model(thinkingModel)) {
57
+ return getGemini3ThinkingConfig(thinkingModel, reasoningIntent);
58
+ }
59
+ return {};
60
+ }
61
+ function getGemini25ThinkingConfig(thinkingModel, reasoningIntent) {
62
+ if (isGemini25ProModel(thinkingModel)) {
63
+ return { thinkingBudget: -1 };
64
+ }
65
+ switch (reasoningIntent) {
66
+ case 'high':
67
+ case 'medium':
68
+ return { thinkingBudget: -1 };
69
+ case 'low':
70
+ case undefined:
71
+ return { thinkingBudget: 0 };
72
+ default:
73
+ return { thinkingBudget: 0 };
74
+ }
75
+ }
76
+ function getGemini3ThinkingConfig(thinkingModel, reasoningIntent) {
77
+ switch (reasoningIntent) {
78
+ case 'high':
79
+ return { thinkingLevel: ThinkingLevel.HIGH };
80
+ case 'medium':
81
+ if (isLegacyGemini3ProModel(thinkingModel)) {
82
+ return { thinkingLevel: ThinkingLevel.HIGH };
83
+ }
84
+ return { thinkingLevel: ThinkingLevel.MEDIUM };
85
+ case 'low':
86
+ case undefined:
87
+ return { thinkingLevel: ThinkingLevel.LOW };
88
+ default:
89
+ return { thinkingLevel: ThinkingLevel.LOW };
90
+ }
91
+ }
92
+ function isGemini25Model(thinkingModel) {
93
+ return thinkingModel.startsWith('gemini-2.5-');
94
+ }
95
+ function isGemini25ProModel(thinkingModel) {
96
+ return thinkingModel.startsWith('gemini-2.5-pro');
97
+ }
98
+ function isGemini3Model(thinkingModel) {
99
+ return thinkingModel.startsWith('gemini-3-') || thinkingModel.startsWith('gemini-3.');
100
+ }
101
+ function isLegacyGemini3ProModel(thinkingModel) {
102
+ return thinkingModel.startsWith('gemini-3-pro');
103
+ }
40
104
  }
41
105
  }
42
106
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/gemini/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC7B,MAAM,CAAc;IAErC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAClB,4BAA4B,EAC5B,SAAS,CAAC,gBAAgB,EAC1B,gCAAgC,aAAa,CAAC,YAAY,2BAA2B,WAAW,GAAG,CACpG,CAAC;QACJ,CAAC;QACD,KAAK,CAAC;YACJ,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI;YACjD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,KAAa,EACb,MAAc,EACd,KAAoB,EACpB,UAAkB;QAElB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;gBACxD,KAAK;gBACL,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,SAAS,EAAE,YAAY,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;gBACpD,MAAM,IAAI,UAAU,CAClB,4CAA4C,EAC5C,SAAS,CAAC,qBAAqB,EAC/B,mFAAmF,EACnF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,UAAU,CAClB,mCAAmC,EACnC,SAAS,CAAC,yBAAyB,EACnC,oCAAoC,EACpC,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/gemini/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { AnalysisPhase } from './analysis-phase.js';
2
+ export type OutputSize = 'small' | 'medium' | 'large';
3
+ export type ReasoningEffort = 'low' | 'medium' | 'high';
4
+ export interface GenerationProfile {
5
+ outputSize: OutputSize;
6
+ reasoningEffort?: ReasoningEffort;
7
+ outputContentHint?: {
8
+ characters: number;
9
+ };
10
+ }
11
+ export declare function getGenerationProfileForPhase(phase: AnalysisPhase): GenerationProfile;
12
+ export declare function getGenerationProfileForModelPatch(fileContent: string, linesToInsert: string[]): GenerationProfile;
13
+ export declare function resolveOutputTokenLimit(profile: GenerationProfile, sizeTable: Record<OutputSize, number>): number;
14
+ //# sourceMappingURL=generation-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-profile.d.ts","sourceRoot":"","sources":["../../src/providers/generation-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CAYpF;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,GACtB,iBAAiB,CAYnB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GACpC,MAAM,CAOR"}
@@ -0,0 +1,34 @@
1
+ import { AnalysisPhase } from './analysis-phase.js';
2
+ export function getGenerationProfileForPhase(phase) {
3
+ switch (phase) {
4
+ case AnalysisPhase.COMPONENT_RESOLUTION:
5
+ case AnalysisPhase.DEPENDENCY_SCAN:
6
+ return { outputSize: 'small', reasoningEffort: 'low' };
7
+ case AnalysisPhase.MODEL_UPDATE:
8
+ return { outputSize: 'medium', reasoningEffort: 'medium' };
9
+ case AnalysisPhase.CHANGE_ANALYSIS:
10
+ return { outputSize: 'large', reasoningEffort: 'low' };
11
+ default:
12
+ return { outputSize: 'small', reasoningEffort: 'low' };
13
+ }
14
+ }
15
+ export function getGenerationProfileForModelPatch(fileContent, linesToInsert) {
16
+ const insertedLineCharacters = linesToInsert.length * 200;
17
+ const estimatedCharacters = Math.ceil((fileContent.length + insertedLineCharacters) * 1.2);
18
+ const minimumCharacters = 4096 * 4;
19
+ return {
20
+ outputSize: 'medium',
21
+ reasoningEffort: 'medium',
22
+ outputContentHint: {
23
+ characters: Math.max(minimumCharacters, estimatedCharacters),
24
+ },
25
+ };
26
+ }
27
+ export function resolveOutputTokenLimit(profile, sizeTable) {
28
+ const profileLimit = sizeTable[profile.outputSize];
29
+ const hintedLimit = profile.outputContentHint
30
+ ? Math.ceil(profile.outputContentHint.characters / 4)
31
+ : 0;
32
+ return Math.max(profileLimit, hintedLimit);
33
+ }
34
+ //# sourceMappingURL=generation-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-profile.js","sourceRoot":"","sources":["../../src/providers/generation-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAapD,MAAM,UAAU,4BAA4B,CAAC,KAAoB;IAC/D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa,CAAC,oBAAoB,CAAC;QACxC,KAAK,aAAa,CAAC,eAAe;YAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACzD,KAAK,aAAa,CAAC,YAAY;YAC7B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;QAC7D,KAAK,aAAa,CAAC,eAAe;YAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACzD;YACE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,WAAmB,EACnB,aAAuB;IAEvB,MAAM,sBAAsB,GAAG,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC;IAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC;IAEnC,OAAO;QACL,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAA0B,EAC1B,SAAqC;IAErC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB;QAC3C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare const OPENAI_MODELS: {
2
- readonly FAST: "gpt-4.1-mini";
3
- readonly ADVANCED: "gpt-4.1";
2
+ readonly FAST: "gpt-5-mini";
3
+ readonly ADVANCED: "gpt-5";
4
4
  };
5
5
  //# sourceMappingURL=models.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export const OPENAI_MODELS = {
2
- FAST: 'gpt-4.1-mini',
3
- ADVANCED: 'gpt-4.1',
2
+ FAST: 'gpt-5-mini',
3
+ ADVANCED: 'gpt-5',
4
4
  };
5
5
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/providers/openai/models.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;CACX,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/providers/openai/models.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,OAAO;CACT,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { BaseProvider, type ProviderConfig } from '../base-provider.js';
2
2
  import type { AnalysisPhase } from '../analysis-phase.js';
3
+ import { type GenerationProfile } from '../generation-profile.js';
3
4
  export declare class OpenAIProvider extends BaseProvider {
4
5
  private readonly client;
5
6
  constructor(config: ProviderConfig);
6
- protected callModel(model: string, prompt: string, phase: AnalysisPhase, maxTokens: number): Promise<string>;
7
+ protected callModel(model: string, prompt: string, phase: AnalysisPhase, generationProfile: GenerationProfile): Promise<string>;
7
8
  }
8
9
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,cAAc;cAelB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CAsDnB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,0BAA0B,CAAC;AAWlC,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,cAAc;cAelB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;CAwInB"}
@@ -2,7 +2,13 @@ import OpenAI from 'openai';
2
2
  import { BaseProvider } from '../base-provider.js';
3
3
  import { ErodeError, ErrorCode, ApiError } from '../../errors.js';
4
4
  import { ENV_VAR_NAMES, RC_FILENAME } from '../../utils/config.js';
5
+ import { resolveOutputTokenLimit, } from '../generation-profile.js';
5
6
  import { OPENAI_MODELS } from './models.js';
7
+ const MAX_OUTPUT_TOKENS_BY_OUTPUT_SIZE = {
8
+ small: 1500,
9
+ medium: 6000,
10
+ large: 10000,
11
+ };
6
12
  export class OpenAIProvider extends BaseProvider {
7
13
  client;
8
14
  constructor(config) {
@@ -15,27 +21,23 @@ export class OpenAIProvider extends BaseProvider {
15
21
  });
16
22
  this.client = new OpenAI({ apiKey: config.apiKey });
17
23
  }
18
- async callModel(model, prompt, phase, maxTokens) {
24
+ async callModel(model, prompt, phase, generationProfile) {
25
+ const maxOutputTokens = resolveOutputTokenLimit(generationProfile, MAX_OUTPUT_TOKENS_BY_OUTPUT_SIZE);
26
+ const reasoningEffort = getOpenAIReasoningEffort(generationProfile.reasoningEffort);
19
27
  try {
20
- const response = await this.client.chat.completions.create({
28
+ const response = await this.client.responses.create({
21
29
  model,
22
- max_tokens: maxTokens,
23
- messages: [{ role: 'user', content: prompt }],
30
+ input: prompt,
31
+ max_output_tokens: maxOutputTokens,
32
+ ...(supportsReasoningEffort(model) ? { reasoning: { effort: reasoningEffort } } : {}),
24
33
  });
25
- const choice = response.choices[0];
26
- if (!choice) {
27
- throw new ErodeError('OpenAI returned an empty response', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The OpenAI API returned no content', { model, phase });
28
- }
29
- if (choice.finish_reason === 'content_filter') {
30
- throw new ErodeError('OpenAI safety filters blocked the response', ErrorCode.PROVIDER_SAFETY_BLOCK, 'Content was blocked by the AI provider safety filters. Try simplifying the input.', { model, phase });
34
+ if (response.status === 'incomplete') {
35
+ handleIncompleteResponse(response, model, phase, maxOutputTokens, generationProfile, reasoningEffort);
31
36
  }
32
- const text = choice.message.content;
37
+ const text = extractText(response);
33
38
  if (!text) {
34
39
  throw new ErodeError('OpenAI returned an empty response', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The OpenAI API returned no content', { model, phase });
35
40
  }
36
- if (choice.finish_reason === 'length') {
37
- throw new ErodeError('OpenAI response was cut short (max_tokens reached)', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The AI response was truncated. The output may be partial.', { model, phase, maxTokens });
38
- }
39
41
  return text;
40
42
  }
41
43
  catch (error) {
@@ -44,6 +46,64 @@ export class OpenAIProvider extends BaseProvider {
44
46
  }
45
47
  throw ApiError.fromOpenAIError(error);
46
48
  }
49
+ function handleIncompleteResponse(response, incompleteModel, incompletePhase, incompleteMaxOutputTokens, incompleteGenerationProfile, incompleteReasoningEffort) {
50
+ if (response.incomplete_details?.reason === 'max_output_tokens') {
51
+ throw new ErodeError('Model ran out of output budget before producing a complete response', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The AI response used the available output budget before completion. Try a smaller change or tune the provider output budget or reasoning effort.', {
52
+ model: incompleteModel,
53
+ phase: incompletePhase,
54
+ maxOutputTokens: incompleteMaxOutputTokens,
55
+ outputSize: incompleteGenerationProfile.outputSize,
56
+ reasoningEffort: incompleteGenerationProfile.reasoningEffort,
57
+ providerReasoningEffort: incompleteReasoningEffort,
58
+ });
59
+ }
60
+ if (response.incomplete_details?.reason === 'content_filter') {
61
+ throw new ErodeError('OpenAI safety filters blocked the response', ErrorCode.PROVIDER_SAFETY_BLOCK, 'Content was blocked by the AI provider safety filters. Try simplifying the input.', { model: incompleteModel, phase: incompletePhase });
62
+ }
63
+ throw new ErodeError('OpenAI returned an incomplete response', ErrorCode.PROVIDER_INVALID_RESPONSE, 'The OpenAI response was incomplete for an unknown provider reason. Try again or tune the provider output budget.', {
64
+ model: incompleteModel,
65
+ phase: incompletePhase,
66
+ reason: response.incomplete_details?.reason,
67
+ maxOutputTokens: incompleteMaxOutputTokens,
68
+ outputSize: incompleteGenerationProfile.outputSize,
69
+ });
70
+ }
71
+ function extractText(response) {
72
+ if (response.output_text.length > 0) {
73
+ return response.output_text;
74
+ }
75
+ return response.output
76
+ .filter((item) => item.type === 'message')
77
+ .flatMap((item) => item.content)
78
+ .filter((content) => content.type === 'output_text')
79
+ .map((content) => content.text)
80
+ .join('');
81
+ }
82
+ function supportsReasoningEffort(reasoningModel) {
83
+ if (reasoningModel.includes('chat')) {
84
+ return false;
85
+ }
86
+ if (reasoningModel.startsWith('gpt-5')) {
87
+ return true;
88
+ }
89
+ return ['o1', 'o3', 'o4'].some((prefix) => {
90
+ return reasoningModel === prefix || reasoningModel.startsWith(`${prefix}-`);
91
+ });
92
+ }
93
+ function getOpenAIReasoningEffort(reasoningIntent) {
94
+ switch (reasoningIntent) {
95
+ case 'high':
96
+ return 'high';
97
+ case 'medium':
98
+ return 'medium';
99
+ case 'low':
100
+ return 'low';
101
+ case undefined:
102
+ return 'minimal';
103
+ default:
104
+ return 'minimal';
105
+ }
106
+ }
47
107
  }
48
108
  }
49
109
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/openai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC7B,MAAM,CAAS;IAEhC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAClB,6BAA6B,EAC7B,SAAS,CAAC,gBAAgB,EAC1B,gCAAgC,aAAa,CAAC,YAAY,2BAA2B,WAAW,GAAG,CACpG,CAAC;QACJ,CAAC;QACD,KAAK,CAAC;YACJ,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI;YACjD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,KAAa,EACb,MAAc,EACd,KAAoB,EACpB,SAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACzD,KAAK;gBACL,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aAC9C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,UAAU,CAClB,mCAAmC,EACnC,SAAS,CAAC,yBAAyB,EACnC,oCAAoC,EACpC,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,IAAI,UAAU,CAClB,4CAA4C,EAC5C,SAAS,CAAC,qBAAqB,EAC/B,mFAAmF,EACnF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,UAAU,CAClB,mCAAmC,EACnC,SAAS,CAAC,yBAAyB,EACnC,oCAAoC,EACpC,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,UAAU,CAClB,oDAAoD,EACpD,SAAS,CAAC,yBAAyB,EACnC,2DAA2D,EAC3D,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAC5B,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/openai/provider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const StructurizrRelationshipSchema: z.ZodObject<{
2
+ declare const StructurizrRelationshipSchema: z.ZodObject<{
3
3
  sourceId: z.ZodString;
4
4
  destinationId: z.ZodString;
5
5
  description: z.ZodOptional<z.ZodString>;
@@ -7,7 +7,7 @@ export declare const StructurizrRelationshipSchema: z.ZodObject<{
7
7
  tags: z.ZodOptional<z.ZodString>;
8
8
  }, z.core.$loose>;
9
9
  export type StructurizrRelationship = z.infer<typeof StructurizrRelationshipSchema>;
10
- export declare const StructurizrComponentSchema: z.ZodObject<{
10
+ declare const StructurizrComponentSchema: z.ZodObject<{
11
11
  id: z.ZodOptional<z.ZodString>;
12
12
  name: z.ZodOptional<z.ZodString>;
13
13
  description: z.ZodOptional<z.ZodString>;
@@ -24,7 +24,7 @@ export declare const StructurizrComponentSchema: z.ZodObject<{
24
24
  }, z.core.$loose>>>;
25
25
  }, z.core.$loose>;
26
26
  export type StructurizrComponent = z.infer<typeof StructurizrComponentSchema>;
27
- export declare const StructurizrContainerSchema: z.ZodObject<{
27
+ declare const StructurizrContainerSchema: z.ZodObject<{
28
28
  id: z.ZodOptional<z.ZodString>;
29
29
  name: z.ZodOptional<z.ZodString>;
30
30
  description: z.ZodOptional<z.ZodString>;
@@ -57,7 +57,7 @@ export declare const StructurizrContainerSchema: z.ZodObject<{
57
57
  }, z.core.$loose>>>;
58
58
  }, z.core.$loose>;
59
59
  export type StructurizrContainer = z.infer<typeof StructurizrContainerSchema>;
60
- export declare const StructurizrSoftwareSystemSchema: z.ZodObject<{
60
+ declare const StructurizrSoftwareSystemSchema: z.ZodObject<{
61
61
  id: z.ZodOptional<z.ZodString>;
62
62
  name: z.ZodOptional<z.ZodString>;
63
63
  description: z.ZodOptional<z.ZodString>;
@@ -122,7 +122,7 @@ export declare const StructurizrSoftwareSystemSchema: z.ZodObject<{
122
122
  }, z.core.$loose>>>;
123
123
  }, z.core.$loose>;
124
124
  export type StructurizrSoftwareSystem = z.infer<typeof StructurizrSoftwareSystemSchema>;
125
- export declare const StructurizrPersonSchema: z.ZodObject<{
125
+ declare const StructurizrPersonSchema: z.ZodObject<{
126
126
  id: z.ZodOptional<z.ZodString>;
127
127
  name: z.ZodOptional<z.ZodString>;
128
128
  description: z.ZodOptional<z.ZodString>;
@@ -231,4 +231,5 @@ export declare const StructurizrWorkspaceSchema: z.ZodObject<{
231
231
  }, z.core.$loose>>;
232
232
  }, z.core.$loose>;
233
233
  export type StructurizrWorkspace = z.infer<typeof StructurizrWorkspaceSchema>;
234
+ export {};
234
235
  //# sourceMappingURL=structurizr.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"structurizr.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/structurizr.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,6BAA6B;;;;;;iBAQhC,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAW7B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAElC,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAU1B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAUxE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"structurizr.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/structurizr.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,6BAA6B;;;;;;iBAQzB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAWtB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEtB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE3B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;iBAUnB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAUxE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export const StructurizrRelationshipSchema = z
2
+ const StructurizrRelationshipSchema = z
3
3
  .object({
4
4
  sourceId: z.string(),
5
5
  destinationId: z.string(),
@@ -8,7 +8,7 @@ export const StructurizrRelationshipSchema = z
8
8
  tags: z.string().optional(),
9
9
  })
10
10
  .loose();
11
- export const StructurizrComponentSchema = z
11
+ const StructurizrComponentSchema = z
12
12
  .object({
13
13
  id: z.string().optional(),
14
14
  name: z.string().optional(),
@@ -20,13 +20,13 @@ export const StructurizrComponentSchema = z
20
20
  relationships: z.array(StructurizrRelationshipSchema).optional(),
21
21
  })
22
22
  .loose();
23
- export const StructurizrContainerSchema = StructurizrComponentSchema.extend({
23
+ const StructurizrContainerSchema = StructurizrComponentSchema.extend({
24
24
  components: z.array(StructurizrComponentSchema).optional(),
25
25
  }).loose();
26
- export const StructurizrSoftwareSystemSchema = StructurizrContainerSchema.extend({
26
+ const StructurizrSoftwareSystemSchema = StructurizrContainerSchema.extend({
27
27
  containers: z.array(StructurizrContainerSchema).optional(),
28
28
  }).loose();
29
- export const StructurizrPersonSchema = z
29
+ const StructurizrPersonSchema = z
30
30
  .object({
31
31
  id: z.string().optional(),
32
32
  name: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"structurizr.schema.js","sourceRoot":"","sources":["../../src/schemas/structurizr.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structurizr.schema.js","sourceRoot":"","sources":["../../src/schemas/structurizr.schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erode-app/core",
3
- "version": "0.9.1",
3
+ "version": "0.9.3",
4
4
  "description": "Architecture erosion detection",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -55,26 +55,26 @@
55
55
  "node": ">=24.0.0"
56
56
  },
57
57
  "dependencies": {
58
- "@anthropic-ai/sdk": "^0.89.0",
58
+ "@anthropic-ai/sdk": "^0.92.0",
59
59
  "@gitbeaker/rest": "^43.8.0",
60
- "@google/genai": "^1.50.1",
60
+ "@google/genai": "^1.51.0",
61
61
  "@octokit/rest": "^22.0.1",
62
62
  "dotenv": "^17.4.2",
63
- "likec4": "^1.54.0",
63
+ "likec4": "^1.56.0",
64
64
  "minimatch": "^10.2.5",
65
- "openai": "^6.34.0",
66
- "zod": "^4.1.13"
65
+ "openai": "^6.35.0",
66
+ "zod": "^4.4.1"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@erode-app/eslint-config": "*",
70
70
  "@types/node": "^24.12.2",
71
71
  "@vitest/coverage-v8": "^4.1.5",
72
72
  "concurrently": "^9.2.1",
73
- "eslint": "^10.2.1",
74
- "prettier": "^3.7.3",
73
+ "eslint": "^10.3.0",
74
+ "prettier": "^3.8.3",
75
75
  "rimraf": "^6.1.2",
76
76
  "tsx": "^4.21.0",
77
- "typescript": "^6.0.2",
77
+ "typescript": "^6.0.3",
78
78
  "vitest": "^4.1.3"
79
79
  }
80
80
  }