human-to-code 0.1.26 → 0.1.28

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 (75) hide show
  1. package/Readme.md +58 -38
  2. package/dist/agents/direct/discovery.d.ts.map +1 -1
  3. package/dist/agents/direct/discovery.js +8 -6
  4. package/dist/agents/direct/discovery.js.map +1 -1
  5. package/dist/agents/direct/file-memory.d.ts.map +1 -1
  6. package/dist/agents/direct/file-memory.js +70 -1
  7. package/dist/agents/direct/file-memory.js.map +1 -1
  8. package/dist/agents/direct/generation-client.d.ts +10 -0
  9. package/dist/agents/direct/generation-client.d.ts.map +1 -1
  10. package/dist/agents/direct/generation-client.js +19 -0
  11. package/dist/agents/direct/generation-client.js.map +1 -1
  12. package/dist/agents/direct/index.d.ts +3 -0
  13. package/dist/agents/direct/index.d.ts.map +1 -1
  14. package/dist/agents/direct/index.js +3 -0
  15. package/dist/agents/direct/index.js.map +1 -1
  16. package/dist/agents/direct/languages.d.ts +11 -0
  17. package/dist/agents/direct/languages.d.ts.map +1 -1
  18. package/dist/agents/direct/languages.js +19 -0
  19. package/dist/agents/direct/languages.js.map +1 -1
  20. package/dist/agents/direct/presentation.d.ts +20 -0
  21. package/dist/agents/direct/presentation.d.ts.map +1 -1
  22. package/dist/agents/direct/presentation.js +33 -3
  23. package/dist/agents/direct/presentation.js.map +1 -1
  24. package/dist/agents/direct/project-blueprint.d.ts +29 -0
  25. package/dist/agents/direct/project-blueprint.d.ts.map +1 -0
  26. package/dist/agents/direct/project-blueprint.js +170 -0
  27. package/dist/agents/direct/project-blueprint.js.map +1 -0
  28. package/dist/agents/direct/project-contracts.d.ts +34 -0
  29. package/dist/agents/direct/project-contracts.d.ts.map +1 -1
  30. package/dist/agents/direct/project-contracts.js +59 -42
  31. package/dist/agents/direct/project-contracts.js.map +1 -1
  32. package/dist/agents/direct/project-memory.d.ts +6 -0
  33. package/dist/agents/direct/project-memory.d.ts.map +1 -1
  34. package/dist/agents/direct/project-memory.js +20 -0
  35. package/dist/agents/direct/project-memory.js.map +1 -1
  36. package/dist/agents/direct/reference-validation.d.ts +55 -0
  37. package/dist/agents/direct/reference-validation.d.ts.map +1 -0
  38. package/dist/agents/direct/reference-validation.js +415 -0
  39. package/dist/agents/direct/reference-validation.js.map +1 -0
  40. package/dist/agents/direct/types.d.ts +45 -0
  41. package/dist/agents/direct/types.d.ts.map +1 -1
  42. package/dist/agents/direct/unit-todos.d.ts +51 -0
  43. package/dist/agents/direct/unit-todos.d.ts.map +1 -0
  44. package/dist/agents/direct/unit-todos.js +223 -0
  45. package/dist/agents/direct/unit-todos.js.map +1 -0
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +147 -10
  48. package/dist/cli.js.map +1 -1
  49. package/dist/config/config.d.ts +22 -1
  50. package/dist/config/config.d.ts.map +1 -1
  51. package/dist/config/config.js +40 -6
  52. package/dist/config/config.js.map +1 -1
  53. package/dist/prompts/direct-blueprint.d.ts +19 -0
  54. package/dist/prompts/direct-blueprint.d.ts.map +1 -0
  55. package/dist/prompts/direct-blueprint.js +49 -0
  56. package/dist/prompts/direct-blueprint.js.map +1 -0
  57. package/dist/prompts/direct-conversion.d.ts +8 -0
  58. package/dist/prompts/direct-conversion.d.ts.map +1 -1
  59. package/dist/prompts/direct-conversion.js +26 -0
  60. package/dist/prompts/direct-conversion.js.map +1 -1
  61. package/dist/prompts/direct-todos.d.ts +17 -0
  62. package/dist/prompts/direct-todos.d.ts.map +1 -0
  63. package/dist/prompts/direct-todos.js +43 -0
  64. package/dist/prompts/direct-todos.js.map +1 -0
  65. package/dist/prompts/index.d.ts +2 -0
  66. package/dist/prompts/index.d.ts.map +1 -1
  67. package/dist/prompts/index.js +2 -0
  68. package/dist/prompts/index.js.map +1 -1
  69. package/dist/providers/provider.d.ts.map +1 -1
  70. package/dist/providers/provider.js +3 -1
  71. package/dist/providers/provider.js.map +1 -1
  72. package/docs/ARCHITECTURE.md +23 -6
  73. package/docs/CONFIGURATION.md +251 -0
  74. package/docs/MODULES.md +6 -3
  75. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-validation.js","sourceRoot":"","sources":["../../../src/agents/direct/reference-validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { StaticFileMemoryEntry } from "../../pipeline/file-memory.ts";
2
+ import type { UnitTodoList } from "./unit-todos.ts";
2
3
  export interface LanguageProfile {
3
4
  /** Output file extension without a dot. */
4
5
  ext: string;
@@ -36,6 +37,14 @@ export interface UnitGenerationContext {
36
37
  fileMemory?: string;
37
38
  /** Target-specific current/projected repository evidence. */
38
39
  projectMemory?: string;
40
+ /** Shared contract agreed for this run, when planning is enabled. */
41
+ blueprint?: string;
42
+ /** Rendered todo list for this target, when a todo pass ran. */
43
+ todos?: string;
44
+ /** Previous complete candidate; present only on a refinement pass. */
45
+ currentDraft?: string;
46
+ /** Todo items the deterministic coverage check did not find in the draft. */
47
+ unaddressedTodos?: readonly string[];
39
48
  }
40
49
  export interface ProjectRelationship {
41
50
  path: string;
@@ -61,6 +70,14 @@ export type ConversionProgress = {
61
70
  kind: "start";
62
71
  unit: ConversionUnit;
63
72
  attempt: number;
73
+ } | {
74
+ kind: "plan";
75
+ unit: ConversionUnit;
76
+ } | {
77
+ kind: "refine";
78
+ unit: ConversionUnit;
79
+ pass: number;
80
+ unaddressed: number;
64
81
  } | {
65
82
  kind: "done";
66
83
  unit: ConversionUnit;
@@ -69,6 +86,17 @@ export type ConversionProgress = {
69
86
  unit: ConversionUnit;
70
87
  reason: string;
71
88
  };
89
+ /** What one unit's planning passes produced, for honest run disclosure. */
90
+ export interface UnitPlanningOutcome {
91
+ unit: ConversionUnit;
92
+ todoRequests: number;
93
+ codingRequests: number;
94
+ /** Set when a refinement was generated and then rejected by the ratchet. */
95
+ refinementRejected?: string;
96
+ addressed: number;
97
+ unaddressed: number;
98
+ unverifiable: number;
99
+ }
72
100
  export interface GenerateUnitsOptions {
73
101
  /** Extra generation attempts when a unit trips the FileMemory guard or the provider errors. */
74
102
  retries?: number;
@@ -79,6 +107,15 @@ export interface GenerateUnitsOptions {
79
107
  projectMemory?: ProjectMemoryProvider;
80
108
  /** Total FileMemory + ProjectMemory character allowance for one request. */
81
109
  contextCharBudget?: number;
110
+ /**
111
+ * Per-unit todo planning. Returning undefined, or throwing, leaves the unit on
112
+ * the single-pass path: planning enriches context and must never fail a unit.
113
+ */
114
+ plan?: (unit: ConversionUnit, context: UnitGenerationContext) => Promise<UnitTodoList | undefined>;
115
+ /** Coding requests allowed per unit. 1 disables refinement entirely. */
116
+ maxCodingPasses?: number;
117
+ /** Collected per-unit planning outcomes, for run disclosure. */
118
+ onPlanningOutcome?: (outcome: UnitPlanningOutcome) => void;
82
119
  }
83
120
  export interface DirectDiscoveryNotice {
84
121
  code: "TARGET_EXISTS" | "UNSUPPORTED_MARKER_FILE" | "EXTENSION_CONFLICT" | "UNCONFIGURED_EXTENSION";
@@ -105,6 +142,14 @@ export interface GenerateOptions {
105
142
  fileMemory?: string;
106
143
  /** Compact current/projected repository evidence for this exact target. */
107
144
  projectMemory?: string;
145
+ /** Shared contract agreed for this run. */
146
+ blueprint?: string;
147
+ /** Rendered todo list for this target. */
148
+ todos?: string;
149
+ /** Previous complete candidate on a refinement pass. */
150
+ currentDraft?: string;
151
+ /** Todo items not found in the draft. */
152
+ unaddressedTodos?: readonly string[];
108
153
  signal?: AbortSignal;
109
154
  }
110
155
  export interface AppliedUnit {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,qFAAqF;IACrF,YAAY,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,mBAAmB,EAAE,CAAC;CACrE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,+EAA+E;IAC/E,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IACnG,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,wBAAwB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,yEAAyE;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,51 @@
1
+ import { type BlueprintVocabularyKind } from "./project-blueprint.ts";
2
+ export interface UnitTodoExpectation {
3
+ kind: BlueprintVocabularyKind;
4
+ names: string[];
5
+ }
6
+ export interface UnitTodo {
7
+ id: string;
8
+ requirement: string;
9
+ expects?: UnitTodoExpectation;
10
+ }
11
+ export interface UnitTodoList {
12
+ todos: UnitTodo[];
13
+ }
14
+ export interface TodoCoverage {
15
+ /** Todo ids whose expected artifacts were all found in the candidate. */
16
+ addressed: string[];
17
+ /** Todo ids that promised artifacts the candidate does not contain. */
18
+ unaddressed: string[];
19
+ /** Todo ids with nothing statically checkable; disclosed, never gating. */
20
+ unverifiable: string[];
21
+ }
22
+ /** A refinement may not shrink a file below this fraction of the previous pass. */
23
+ export declare const MIN_REFINEMENT_LENGTH_RATIO = 0.6;
24
+ /**
25
+ * Strictly validate a todo list. When `allowedNames` is supplied, an expectation
26
+ * naming something outside the agreed vocabulary is dropped rather than
27
+ * rejected: the requirement text is still useful, and a stray name must never
28
+ * become a new instruction.
29
+ */
30
+ export declare function parseUnitTodoList(output: string, allowedNames?: ReadonlySet<string>): UnitTodoList;
31
+ /**
32
+ * Deterministically check which todos left a trace in the candidate. No model
33
+ * request, no execution. Generous on purpose: a false "addressed" only skips a
34
+ * refinement, while a false "unaddressed" would spend a request for nothing.
35
+ */
36
+ export declare function todoCoverage(todos: readonly UnitTodo[], targetPath: string, code: string): TodoCoverage;
37
+ /** Render unaddressed todos for a refinement request. */
38
+ export declare function unaddressedRequirements(todos: readonly UnitTodo[], coverage: TodoCoverage): string[];
39
+ /** Render a todo list into the block the coding prompt receives. */
40
+ export declare function renderTodoList(todos: readonly UnitTodo[]): string;
41
+ export interface ContractRegression {
42
+ /** Artifacts present in the previous pass and absent from the next one. */
43
+ lost: string[];
44
+ /** Next length divided by previous length. */
45
+ shrinkRatio: number;
46
+ }
47
+ /** Compare two passes over the same target. Empty `lost` plus an acceptable ratio means the refinement kept everything. */
48
+ export declare function contractRegression(targetPath: string, previous: string, next: string): ContractRegression;
49
+ /** The ratchet: a refinement is only accepted when it is a strict improvement in coverage terms. */
50
+ export declare function acceptsRefinement(regression: ContractRegression): boolean;
51
+ //# sourceMappingURL=unit-todos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-todos.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/unit-todos.ts"],"names":[],"mappings":"AAeA,OAAO,EAA8B,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGlG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uEAAuE;IACvE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAOD,mFAAmF;AACnF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAuB/C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,YAAY,CA4ClG;AAyCD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,YAAY,CAad;AAED,yDAAyD;AACzD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,QAAQ,EAAE,YAAY,GACrB,MAAM,EAAE,CAQV;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAOjE;AA0BD,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,2HAA2H;AAC3H,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,kBAAkB,CAOpB;AAED,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAEzE"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Per-unit planning and the guard that makes a second coding pass safe.
3
+ *
4
+ * A todo list is agreed for one target before it is written, then a
5
+ * deterministic coverage check looks for the artifacts that list promised. Only
6
+ * a real coverage gap triggers a refinement request, and the refinement is
7
+ * accepted only if it keeps everything the previous pass produced — the
8
+ * regression ratchet. That inverts the usual risk of re-emitting a whole file:
9
+ * a model that drops most of a stylesheet loses its own output, not the run's.
10
+ *
11
+ * Coverage means "the named artifact appears in the output", never "the
12
+ * requirement is implemented" and never verification.
13
+ */
14
+ import { extname } from "node:path";
15
+ import { extractStaticFileMemory } from "../../pipeline/file-memory.js";
16
+ import { BLUEPRINT_VOCABULARY_KINDS } from "./project-blueprint.js";
17
+ import { cssFacts, htmlFacts, javaScriptFacts } from "./project-contracts.js";
18
+ const MAX_TODOS = 24;
19
+ const MAX_EXPECTED_NAMES = 8;
20
+ const MAX_REQUIREMENT_CHARS = 240;
21
+ const ID_PATTERN = /^T[0-9]{1,2}$/u;
22
+ const NAME_PATTERN = /^[A-Za-z_$][A-Za-z0-9_$:.\-/]{0,119}$/u;
23
+ /** A refinement may not shrink a file below this fraction of the previous pass. */
24
+ export const MIN_REFINEMENT_LENGTH_RATIO = 0.6;
25
+ const HTML_EXTENSIONS = new Set([".html", ".htm"]);
26
+ const SCRIPT_EXTENSIONS = new Set([".js", ".jsx", ".mjs", ".cjs", ".ts", ".tsx", ".mts", ".cts"]);
27
+ function oneLine(value, limit) {
28
+ const clean = value
29
+ .replace(/[\u0000-\u0008\u000b-\u001f\u007f]/gu, " ")
30
+ .replace(/\s+/gu, " ")
31
+ .trim();
32
+ return clean.length <= limit ? clean : `${clean.slice(0, Math.max(0, limit - 1))}…`;
33
+ }
34
+ function ownKeys(value, expected) {
35
+ const actual = Object.keys(value).sort();
36
+ const wanted = [...expected].sort();
37
+ return actual.length === wanted.length && actual.every((key, index) => key === wanted[index]);
38
+ }
39
+ function object(value) {
40
+ return typeof value === "object" && value !== null && !Array.isArray(value);
41
+ }
42
+ /**
43
+ * Strictly validate a todo list. When `allowedNames` is supplied, an expectation
44
+ * naming something outside the agreed vocabulary is dropped rather than
45
+ * rejected: the requirement text is still useful, and a stray name must never
46
+ * become a new instruction.
47
+ */
48
+ export function parseUnitTodoList(output, allowedNames) {
49
+ let parsed;
50
+ try {
51
+ parsed = JSON.parse(output);
52
+ }
53
+ catch {
54
+ throw new Error("Todo list is not valid JSON.");
55
+ }
56
+ if (!object(parsed) || !ownKeys(parsed, ["todos"])) {
57
+ throw new Error("Todo list must contain exactly todos.");
58
+ }
59
+ if (!Array.isArray(parsed.todos) || parsed.todos.length === 0 || parsed.todos.length > MAX_TODOS) {
60
+ throw new Error(`Todo list must be an array with 1-${MAX_TODOS} entries.`);
61
+ }
62
+ const seen = new Set();
63
+ const todos = parsed.todos.map((value, index) => {
64
+ if (!object(value) || (!ownKeys(value, ["id", "requirement"]) && !ownKeys(value, ["expects", "id", "requirement"]))) {
65
+ throw new Error(`Todo ${index} has unknown or missing fields.`);
66
+ }
67
+ if (typeof value.id !== "string" || !ID_PATTERN.test(value.id)) {
68
+ throw new Error(`Todo ${index} has an invalid id.`);
69
+ }
70
+ if (seen.has(value.id))
71
+ throw new Error(`Todo list repeats the id ${value.id}.`);
72
+ seen.add(value.id);
73
+ if (typeof value.requirement !== "string")
74
+ throw new Error(`Todo ${index} has an invalid requirement.`);
75
+ const requirement = oneLine(value.requirement, MAX_REQUIREMENT_CHARS);
76
+ if (requirement.length === 0)
77
+ throw new Error(`Todo ${index} has an empty requirement.`);
78
+ if (value.expects === undefined)
79
+ return { id: value.id, requirement };
80
+ if (!object(value.expects) || !ownKeys(value.expects, ["kind", "names"])) {
81
+ throw new Error(`Todo ${index} has an invalid expects object.`);
82
+ }
83
+ const { kind, names } = value.expects;
84
+ if (typeof kind !== "string" || !BLUEPRINT_VOCABULARY_KINDS.includes(kind)) {
85
+ throw new Error(`Todo ${index} expects an unknown kind.`);
86
+ }
87
+ if (!Array.isArray(names) || names.length === 0 || names.length > MAX_EXPECTED_NAMES) {
88
+ throw new Error(`Todo ${index} must expect 1-${MAX_EXPECTED_NAMES} names.`);
89
+ }
90
+ const cleaned = names.filter((name) => typeof name === "string" && NAME_PATTERN.test(name) && (allowedNames === undefined || allowedNames.has(name)));
91
+ if (cleaned.length === 0)
92
+ return { id: value.id, requirement };
93
+ return { id: value.id, requirement, expects: { kind, names: [...new Set(cleaned)] } };
94
+ });
95
+ return { todos };
96
+ }
97
+ /** Names a candidate demonstrably contains, by the file's own syntax. */
98
+ function presentNames(targetPath, code) {
99
+ const extension = extname(targetPath).toLowerCase();
100
+ const present = new Set();
101
+ const add = (values) => {
102
+ for (const value of values)
103
+ if (value.length > 0)
104
+ present.add(value);
105
+ };
106
+ if (HTML_EXTENSIONS.has(extension)) {
107
+ const facts = htmlFacts(code);
108
+ add(facts.classes);
109
+ add(facts.ids);
110
+ add(facts.handlerCalls);
111
+ add(facts.elements);
112
+ }
113
+ else if (extension === ".css") {
114
+ const facts = cssFacts(code);
115
+ add(facts.customProperties);
116
+ add(facts.selectors.map((selector) => selector.trim()));
117
+ for (const selector of facts.selectors) {
118
+ add((selector.match(/[.#][A-Za-z0-9_-]+/gu) ?? []).map((token) => token.slice(1)));
119
+ }
120
+ }
121
+ else if (SCRIPT_EXTENSIONS.has(extension)) {
122
+ const facts = javaScriptFacts(code);
123
+ add(facts.toggledClasses);
124
+ add(facts.selectors);
125
+ for (const selector of facts.selectors) {
126
+ add((selector.match(/[.#][A-Za-z0-9_-]+/gu) ?? []).map((token) => token.slice(1)));
127
+ }
128
+ }
129
+ for (const entry of extractStaticFileMemory(targetPath, code)) {
130
+ add((entry.code.match(/[A-Za-z_$][A-Za-z0-9_$]*/gu) ?? []).slice(0, 8));
131
+ }
132
+ return present;
133
+ }
134
+ function mentionsName(code, name) {
135
+ const escaped = name.replace(/[.*+?^${}()|[\]\\/-]/gu, "\\$&");
136
+ return new RegExp(`(?:^|[^A-Za-z0-9_$-])${escaped}(?:[^A-Za-z0-9_$-]|$)`, "u").test(code);
137
+ }
138
+ /**
139
+ * Deterministically check which todos left a trace in the candidate. No model
140
+ * request, no execution. Generous on purpose: a false "addressed" only skips a
141
+ * refinement, while a false "unaddressed" would spend a request for nothing.
142
+ */
143
+ export function todoCoverage(todos, targetPath, code) {
144
+ const present = presentNames(targetPath, code);
145
+ const coverage = { addressed: [], unaddressed: [], unverifiable: [] };
146
+ for (const todo of todos) {
147
+ if (todo.expects === undefined) {
148
+ coverage.unverifiable.push(todo.id);
149
+ continue;
150
+ }
151
+ const missing = todo.expects.names.filter((name) => !present.has(name) && !mentionsName(code, name));
152
+ if (missing.length === 0)
153
+ coverage.addressed.push(todo.id);
154
+ else
155
+ coverage.unaddressed.push(todo.id);
156
+ }
157
+ return coverage;
158
+ }
159
+ /** Render unaddressed todos for a refinement request. */
160
+ export function unaddressedRequirements(todos, coverage) {
161
+ const byId = new Map(todos.map((todo) => [todo.id, todo]));
162
+ return coverage.unaddressed.flatMap((id) => {
163
+ const todo = byId.get(id);
164
+ if (todo === undefined)
165
+ return [];
166
+ const names = todo.expects === undefined ? "" : ` (expected ${todo.expects.kind}: ${todo.expects.names.join(", ")})`;
167
+ return [`${todo.id}: ${todo.requirement}${names}`];
168
+ });
169
+ }
170
+ /** Render a todo list into the block the coding prompt receives. */
171
+ export function renderTodoList(todos) {
172
+ return todos.map((todo) => {
173
+ const names = todo.expects === undefined
174
+ ? ""
175
+ : ` [must produce ${todo.expects.kind}: ${todo.expects.names.join(", ")}]`;
176
+ return `${todo.id}. ${todo.requirement}${names}`;
177
+ }).join("\n");
178
+ }
179
+ /** Countable artifacts a refinement is not allowed to lose. */
180
+ function ratchetSet(targetPath, code) {
181
+ const extension = extname(targetPath).toLowerCase();
182
+ const values = new Set();
183
+ if (HTML_EXTENSIONS.has(extension)) {
184
+ const facts = htmlFacts(code);
185
+ for (const value of facts.ids)
186
+ values.add(`id:${value}`);
187
+ for (const value of facts.classes)
188
+ values.add(`class:${value}`);
189
+ }
190
+ else if (extension === ".css") {
191
+ const facts = cssFacts(code);
192
+ for (const value of facts.selectors)
193
+ values.add(`selector:${value.trim()}`);
194
+ for (const value of facts.customProperties)
195
+ values.add(`var:${value}`);
196
+ }
197
+ else if (SCRIPT_EXTENSIONS.has(extension)) {
198
+ const facts = javaScriptFacts(code);
199
+ for (const value of facts.selectors)
200
+ values.add(`selector:${value}`);
201
+ for (const value of facts.modules)
202
+ values.add(`module:${value}`);
203
+ }
204
+ for (const entry of extractStaticFileMemory(targetPath, code)) {
205
+ values.add(`declaration:${entry.code.trim()}`);
206
+ }
207
+ values.delete("");
208
+ return values;
209
+ }
210
+ /** Compare two passes over the same target. Empty `lost` plus an acceptable ratio means the refinement kept everything. */
211
+ export function contractRegression(targetPath, previous, next) {
212
+ const before = ratchetSet(targetPath, previous);
213
+ const after = ratchetSet(targetPath, next);
214
+ const lost = [...before].filter((value) => !after.has(value));
215
+ const previousLength = previous.trim().length;
216
+ const shrinkRatio = previousLength === 0 ? 1 : next.trim().length / previousLength;
217
+ return { lost, shrinkRatio };
218
+ }
219
+ /** The ratchet: a refinement is only accepted when it is a strict improvement in coverage terms. */
220
+ export function acceptsRefinement(regression) {
221
+ return regression.lost.length === 0 && regression.shrinkRatio >= MIN_REFINEMENT_LENGTH_RATIO;
222
+ }
223
+ //# sourceMappingURL=unit-todos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-todos.js","sourceRoot":"","sources":["../../../src/agents/direct/unit-todos.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sGAAsG;AA86BtG,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiFzD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sGAAsG;AA2jCtG,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiFzD"}