@garygentry/system1-core 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/config/consent.d.ts.map +1 -1
  2. package/dist/config/consent.js +4 -2
  3. package/dist/config/consent.js.map +1 -1
  4. package/dist/config/load.d.ts +11 -1
  5. package/dist/config/load.d.ts.map +1 -1
  6. package/dist/config/load.js +139 -28
  7. package/dist/config/load.js.map +1 -1
  8. package/dist/egress/scrub.d.ts.map +1 -1
  9. package/dist/egress/scrub.js +16 -0
  10. package/dist/egress/scrub.js.map +1 -1
  11. package/dist/egress/size.d.ts +5 -0
  12. package/dist/egress/size.d.ts.map +1 -1
  13. package/dist/egress/size.js +5 -0
  14. package/dist/egress/size.js.map +1 -1
  15. package/dist/index.d.ts +11 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +6 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/model/profiles.d.ts +19 -1
  20. package/dist/model/profiles.d.ts.map +1 -1
  21. package/dist/model/profiles.js +16 -2
  22. package/dist/model/profiles.js.map +1 -1
  23. package/dist/model/schema.d.ts +22 -0
  24. package/dist/model/schema.d.ts.map +1 -0
  25. package/dist/model/schema.js +26 -0
  26. package/dist/model/schema.js.map +1 -0
  27. package/dist/model/validate.d.ts.map +1 -1
  28. package/dist/model/validate.js +6 -0
  29. package/dist/model/validate.js.map +1 -1
  30. package/dist/opportunities/backlog.d.ts +280 -0
  31. package/dist/opportunities/backlog.d.ts.map +1 -0
  32. package/dist/opportunities/backlog.js +393 -0
  33. package/dist/opportunities/backlog.js.map +1 -0
  34. package/dist/prepare.d.ts +8 -0
  35. package/dist/prepare.d.ts.map +1 -1
  36. package/dist/prepare.js +42 -6
  37. package/dist/prepare.js.map +1 -1
  38. package/dist/project/project.d.ts +36 -0
  39. package/dist/project/project.d.ts.map +1 -1
  40. package/dist/project/project.js +64 -18
  41. package/dist/project/project.js.map +1 -1
  42. package/dist/run/budget.d.ts +10 -0
  43. package/dist/run/budget.d.ts.map +1 -1
  44. package/dist/run/budget.js +20 -1
  45. package/dist/run/budget.js.map +1 -1
  46. package/dist/sources/filter.d.ts +19 -0
  47. package/dist/sources/filter.d.ts.map +1 -0
  48. package/dist/sources/filter.js +30 -0
  49. package/dist/sources/filter.js.map +1 -0
  50. package/dist/sources/read.d.ts +10 -0
  51. package/dist/sources/read.d.ts.map +1 -1
  52. package/dist/sources/read.js +7 -2
  53. package/dist/sources/read.js.map +1 -1
  54. package/dist/sources/types.d.ts +2 -2
  55. package/dist/sources/types.d.ts.map +1 -1
  56. package/dist/spec/lint.d.ts +35 -0
  57. package/dist/spec/lint.d.ts.map +1 -0
  58. package/dist/spec/lint.js +175 -0
  59. package/dist/spec/lint.js.map +1 -0
  60. package/dist/spec/spec.d.ts +2 -0
  61. package/dist/spec/spec.d.ts.map +1 -1
  62. package/dist/spec/spec.js +11 -9
  63. package/dist/spec/spec.js.map +1 -1
  64. package/dist/tools/ask.d.ts.map +1 -1
  65. package/dist/tools/ask.js +10 -13
  66. package/dist/tools/ask.js.map +1 -1
  67. package/dist/tools/context.d.ts +9 -1
  68. package/dist/tools/context.d.ts.map +1 -1
  69. package/dist/tools/context.js +24 -0
  70. package/dist/tools/context.js.map +1 -1
  71. package/dist/tools/doctor.d.ts +1 -1
  72. package/dist/tools/doctor.d.ts.map +1 -1
  73. package/dist/tools/doctor.js +46 -3
  74. package/dist/tools/doctor.js.map +1 -1
  75. package/dist/tools/many.d.ts.map +1 -1
  76. package/dist/tools/many.js +3 -0
  77. package/dist/tools/many.js.map +1 -1
  78. package/dist/tools/opportunities.d.ts +33 -0
  79. package/dist/tools/opportunities.d.ts.map +1 -0
  80. package/dist/tools/opportunities.js +74 -0
  81. package/dist/tools/opportunities.js.map +1 -0
  82. package/dist/tools/schemas.d.ts +155 -12
  83. package/dist/tools/schemas.d.ts.map +1 -1
  84. package/dist/tools/schemas.js +32 -25
  85. package/dist/tools/schemas.js.map +1 -1
  86. package/dist/tools/spec-check.d.ts +6 -0
  87. package/dist/tools/spec-check.d.ts.map +1 -1
  88. package/dist/tools/spec-check.js +6 -3
  89. package/dist/tools/spec-check.js.map +1 -1
  90. package/dist/tools/spec-lint.d.ts +31 -0
  91. package/dist/tools/spec-lint.d.ts.map +1 -0
  92. package/dist/tools/spec-lint.js +53 -0
  93. package/dist/tools/spec-lint.js.map +1 -0
  94. package/dist/transport/openrouter.d.ts +4 -1
  95. package/dist/transport/openrouter.d.ts.map +1 -1
  96. package/dist/transport/openrouter.js +5 -2
  97. package/dist/transport/openrouter.js.map +1 -1
  98. package/dist/version.d.ts +1 -1
  99. package/dist/version.js +1 -1
  100. package/dist/wiring.d.ts +1 -1
  101. package/dist/wiring.d.ts.map +1 -1
  102. package/dist/wiring.js +1 -1
  103. package/dist/wiring.js.map +1 -1
  104. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/config/consent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,WAAW,CAAA;AAOxD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,GAAG,OAAa,GACf,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUtE"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/config/consent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,WAAW,CAAA;AAOxD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,GAAG,OAAa,GACf,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYtE"}
@@ -27,8 +27,10 @@ export function assertConsent(consent, repoRoot) {
27
27
  if (consent.granted)
28
28
  return;
29
29
  throw new DecisionsError("egress-refused", `This repo has not agreed to send content to the decision model's provider. ` +
30
- `Consent is the user's: they run \`decide config egress allow\` in ${repoRoot} themselves ` +
31
- `(the setup skill explains what gets sent). ` +
30
+ `Consent is the user's, and an agent must not grant it: the user runs ` +
31
+ `\`decide config egress allow\` themselves in a terminal in ${repoRoot}, or through their ` +
32
+ `agent prompt's shell escape (not as a chat message) with --confirm added. ` +
33
+ `The setup skill explains what gets sent. ` +
32
34
  `Replay of recorded answers works without consent.`, { repoRoot });
33
35
  }
34
36
  //# sourceMappingURL=consent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/config/consent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAgB,cAAc,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,MAAM,GAAG;;;CAGd,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB,EAChB,OAAgB,EAChB,EAAW,EACX,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAChG,MAAM,OAAO,GAAY,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAClF,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;IACzC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,QAAgB;IAC9D,IAAI,OAAO,CAAC,OAAO;QAAE,OAAM;IAC3B,MAAM,IAAI,cAAc,CACtB,gBAAgB,EAChB,6EAA6E;QAC3E,qEAAqE,QAAQ,cAAc;QAC3F,6CAA6C;QAC7C,mDAAmD,EACrD,EAAE,QAAQ,EAAE,CACb,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"consent.js","sourceRoot":"","sources":["../../src/config/consent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAgB,cAAc,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,MAAM,GAAG;;;CAGd,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB,EAChB,OAAgB,EAChB,EAAW,EACX,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAChG,MAAM,OAAO,GAAY,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAClF,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;IACzC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,QAAgB;IAC9D,IAAI,OAAO,CAAC,OAAO;QAAE,OAAM;IAC3B,MAAM,IAAI,cAAc,CACtB,gBAAgB,EAChB,6EAA6E;QAC3E,uEAAuE;QACvE,8DAA8D,QAAQ,qBAAqB;QAC3F,4EAA4E;QAC5E,2CAA2C;QAC3C,mDAAmD,EACrD,EAAE,QAAQ,EAAE,CACb,CAAA;AACH,CAAC"}
@@ -48,6 +48,12 @@ export interface ResolvedConfig extends DecisionsConfig {
48
48
  repo?: string;
49
49
  credentials?: string;
50
50
  };
51
+ /**
52
+ * Keys and values the files hold but loading ignored: an unknown key or a
53
+ * value of the wrong type. Ignored rather than refused so an old or
54
+ * hand-edited file never stops `decide`; `doctor` reports each one.
55
+ */
56
+ warnings: string[];
51
57
  }
52
58
  export declare const DEFAULTS: DecisionsConfig;
53
59
  /** Walk up from `cwd` to the nearest directory holding `.system1/` or `.git`; else `cwd`. */
@@ -62,6 +68,10 @@ export interface LoadOptions {
62
68
  home?: string;
63
69
  }
64
70
  export declare function loadConfig(options?: LoadOptions): ResolvedConfig;
65
- /** All profiles the config knows: built-ins first, config additions after. */
71
+ /**
72
+ * All profiles the config knows: built-ins first, config additions after. A
73
+ * config profile with a built-in's id replaces it in place, and a repo profile
74
+ * replaces a user one, so later layers win here as everywhere else.
75
+ */
66
76
  export declare function allProfiles(config: Pick<DecisionsConfig, "profiles">): ModelProfile[];
67
77
  //# sourceMappingURL=load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAeA,OAAO,EAAoB,KAAK,YAAY,EAAY,MAAM,sBAAsB,CAAA;AACpF,OAAO,EAAkB,KAAK,WAAW,EAAgB,MAAM,mBAAmB,CAAA;AAElF,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,cAAc,CAAA;AAElE,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,MAAM;IACrB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,2CAA2C;QAC3C,OAAO,EAAE,OAAO,CAAA;QAChB,iEAAiE;QACjE,OAAO,EAAE,MAAM,EAAE,CAAA;KAClB,CAAA;IACD,yDAAyD;IACzD,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,8DAA8D;IAC9D,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,YAAY,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,CAAA;IAC/C,MAAM,EAAE,OAAO,CAAA;IACf,sFAAsF;IACtF,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACpD,oDAAoD;IACpD,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/D;AAED,eAAO,MAAM,QAAQ,EAAE,eAStB,CAAA;AAED,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,SAAY,GAAG,MAAM,CAG5F;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,WAAgB,GAAG,cAAc,CAgDpE;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,YAAY,EAAE,CAErF"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAeA,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAkB,KAAK,WAAW,EAAgB,MAAM,mBAAmB,CAAA;AAElF,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,cAAc,CAAA;AAElE,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,MAAM;IACrB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE;QACN,2CAA2C;QAC3C,OAAO,EAAE,OAAO,CAAA;QAChB,iEAAiE;QACjE,OAAO,EAAE,MAAM,EAAE,CAAA;KAClB,CAAA;IACD,yDAAyD;IACzD,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,8DAA8D;IAC9D,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,YAAY,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,CAAA;IAC/C,MAAM,EAAE,OAAO,CAAA;IACf,sFAAsF;IACtF,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACpD,oDAAoD;IACpD,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9D;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,QAAQ,EAAE,eAStB,CAAA;AAED,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,IAAI,SAAY,GAAG,MAAM,CAG5F;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,WAAgB,GAAG,cAAc,CAwDpE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,YAAY,EAAE,CAIrF"}
@@ -13,7 +13,7 @@ import { homedir } from "node:os";
13
13
  import { dirname, join, resolve } from "node:path";
14
14
  import { parse } from "yaml";
15
15
  import { DecisionsError } from "../errors.js";
16
- import { DEFAULT_MODEL_ID, PROFILES } from "../model/profiles.js";
16
+ import { DEFAULT_MODEL_ID, JEV_CALL_OVERHEAD_TOKENS, PROFILES, } from "../model/profiles.js";
17
17
  import { ROUTE_DEFAULTS } from "../route/route.js";
18
18
  import { DEFAULT_ENDPOINT, DEFAULT_TIMEOUT_MS } from "../transport/openrouter.js";
19
19
  import { detectSession } from "./session.js";
@@ -58,14 +58,21 @@ export function loadConfig(options = {}) {
58
58
  const repoFile = repoConfigPath(repoRoot);
59
59
  const user = readLayer(userFile);
60
60
  const repo = readLayer(repoFile);
61
+ const warnings = [...unknownKeys(user, userFile, "user"), ...unknownKeys(repo, repoFile, "repo")];
62
+ // Repo first: it wins over the user layer.
63
+ const layers = [
64
+ { layer: repo, file: repoFile },
65
+ { layer: user, file: userFile },
66
+ ];
67
+ const pickFrom = (path, rule) => pick(path, rule, layers, warnings);
61
68
  const merged = {
62
- model: pick("model", "string", repo, user) ?? DEFAULTS.model,
63
- endpoint: pick("endpoint", "string", repo, user) ?? DEFAULTS.endpoint,
64
- concurrency: pick("concurrency", "number", repo, user) ?? DEFAULTS.concurrency,
65
- timeoutMs: pick("timeoutMs", "number", repo, user) ?? DEFAULTS.timeoutMs,
69
+ model: pickFrom("model", TEXT) ?? DEFAULTS.model,
70
+ endpoint: pickFrom("endpoint", URL_TEXT) ?? DEFAULTS.endpoint,
71
+ concurrency: pickFrom("concurrency", WHOLE) ?? DEFAULTS.concurrency,
72
+ timeoutMs: pickFrom("timeoutMs", POSITIVE) ?? DEFAULTS.timeoutMs,
66
73
  budget: {
67
- maxCalls: pickIn("budget", "maxCalls", repo, user) ?? DEFAULTS.budget.maxCalls,
68
- maxUsd: pickIn("budget", "maxUsd", repo, user) ?? DEFAULTS.budget.maxUsd,
74
+ maxCalls: pickFrom("budget.maxCalls", NON_NEGATIVE) ?? DEFAULTS.budget.maxCalls,
75
+ maxUsd: pickFrom("budget.maxUsd", NON_NEGATIVE) ?? DEFAULTS.budget.maxUsd,
69
76
  },
70
77
  egress: {
71
78
  consent: readConsent(repo, repoFile),
@@ -74,7 +81,7 @@ export function loadConfig(options = {}) {
74
81
  ...stringList(repo, "egress.exclude", repoFile),
75
82
  ],
76
83
  },
77
- profiles: [...profileList(user, userFile), ...profileList(repo, repoFile)],
84
+ profiles: [...profileList(user, userFile, warnings), ...profileList(repo, repoFile, warnings)],
78
85
  route: readRoute(user, userFile, repo, repoFile, env),
79
86
  };
80
87
  const key = resolveApiKey(env, userDir);
@@ -94,11 +101,19 @@ export function loadConfig(options = {}) {
94
101
  ...(repo ? { repo: repoFile } : {}),
95
102
  ...(key?.file ? { credentials: key.file } : {}),
96
103
  },
104
+ warnings,
97
105
  };
98
106
  }
99
- /** All profiles the config knows: built-ins first, config additions after. */
107
+ /**
108
+ * All profiles the config knows: built-ins first, config additions after. A
109
+ * config profile with a built-in's id replaces it in place, and a repo profile
110
+ * replaces a user one, so later layers win here as everywhere else.
111
+ */
100
112
  export function allProfiles(config) {
101
- return [...PROFILES, ...config.profiles];
113
+ const byId = new Map();
114
+ for (const profile of [...PROFILES, ...config.profiles])
115
+ byId.set(profile.id, profile);
116
+ return [...byId.values()];
102
117
  }
103
118
  function readLayer(file) {
104
119
  if (!existsSync(file))
@@ -119,25 +134,88 @@ function readLayer(file) {
119
134
  }
120
135
  return parsed;
121
136
  }
122
- function pick(key, type, ...layers) {
123
- for (const layer of layers) {
124
- const value = layer?.[key];
125
- if (typeof value === type)
126
- return value;
137
+ /** Top-level keys, and keys of the plain sections, that loading reads. */
138
+ const KNOWN = {
139
+ "": ["model", "endpoint", "concurrency", "timeoutMs", "budget", "egress", "profiles", "route"],
140
+ budget: ["maxCalls", "maxUsd"],
141
+ egress: ["consent", "exclude"],
142
+ };
143
+ /**
144
+ * Warnings for what a layer holds but loading never reads: unknown keys, a
145
+ * section that isn't a mapping, and consent in the user file (read only from
146
+ * the repo, decision 0009). A key set to nothing (`budget:`) counts as unset.
147
+ */
148
+ function unknownKeys(layer, file, which) {
149
+ if (!layer)
150
+ return [];
151
+ const warnings = Object.keys(layer)
152
+ .filter((k) => !KNOWN[""]?.includes(k))
153
+ .map((key) => `${file}: unknown key ${key}`);
154
+ for (const section of ["budget", "egress"]) {
155
+ const value = layer[section];
156
+ if (value === undefined || value === null)
157
+ continue;
158
+ if (!isMapping(value)) {
159
+ warnings.push(`${file}: ${section} must be a mapping (ignored)`);
160
+ continue;
161
+ }
162
+ for (const key of Object.keys(value)) {
163
+ if (!KNOWN[section]?.includes(key))
164
+ warnings.push(`${file}: unknown key ${section}.${key}`);
165
+ }
166
+ }
167
+ const egress = layer.egress;
168
+ if (which === "user" && isMapping(egress) && egress.consent !== undefined) {
169
+ warnings.push(`${file}: egress.consent is read only from the repo file (ignored)`);
127
170
  }
128
- return undefined;
171
+ return warnings;
129
172
  }
130
- function pickIn(section, key, ...layers) {
131
- for (const layer of layers) {
132
- const value = layer?.[section]?.[key];
133
- if (typeof value === "number" && value >= 0)
134
- return value;
173
+ const TEXT = { ok: (v) => typeof v === "string", expected: "text" };
174
+ const URL_TEXT = {
175
+ ok: (v) => typeof v === "string" && URL.canParse(v) && /^https?:$/.test(new URL(v).protocol),
176
+ expected: "an http(s) URL",
177
+ };
178
+ const WHOLE = {
179
+ ok: (v) => Number.isInteger(v) && v >= 1,
180
+ expected: "a whole number of at least 1",
181
+ };
182
+ const POSITIVE = {
183
+ ok: (v) => typeof v === "number" && Number.isFinite(v) && v > 0,
184
+ expected: "a number above 0",
185
+ };
186
+ const NON_NEGATIVE = {
187
+ ok: (v) => typeof v === "number" && Number.isFinite(v) && v >= 0,
188
+ expected: "a number of at least 0",
189
+ };
190
+ /**
191
+ * The first layer's valid value at `path` (`key` or `section.key`). A value
192
+ * that breaks the rule is skipped, so the next layer (or the default) applies.
193
+ * Every layer is checked, so a bad value warns whichever layer wins. A key set
194
+ * to nothing (`model:`) counts as unset.
195
+ */
196
+ function pick(path, rule, layers, warnings) {
197
+ let found;
198
+ for (const { layer, file } of layers) {
199
+ const [head, key] = path.split(".");
200
+ let value = layer?.[head];
201
+ // A section that isn't a mapping is reported once, by unknownKeys.
202
+ if (key !== undefined)
203
+ value = isMapping(value) ? value[key] : undefined;
204
+ if (value === undefined || value === null)
205
+ continue;
206
+ if (!rule.ok(value))
207
+ warnings.push(`${file}: ${path} must be ${rule.expected} (ignored)`);
208
+ else if (found === undefined)
209
+ found = value;
135
210
  }
136
- return undefined;
211
+ return found;
212
+ }
213
+ function isMapping(value) {
214
+ return typeof value === "object" && value !== null && !Array.isArray(value);
137
215
  }
138
216
  function readConsent(repo, file) {
139
217
  const consent = repo?.egress?.consent;
140
- if (consent === undefined)
218
+ if (consent === undefined || consent === null)
141
219
  return { granted: false };
142
220
  if (typeof consent !== "object" ||
143
221
  consent === null ||
@@ -153,7 +231,7 @@ function readConsent(repo, file) {
153
231
  }
154
232
  function stringList(layer, path, file) {
155
233
  const value = layer?.egress?.exclude;
156
- if (value === undefined)
234
+ if (value === undefined || value === null)
157
235
  return [];
158
236
  if (!Array.isArray(value) || !value.every((v) => typeof v === "string")) {
159
237
  throw new DecisionsError("config-error", `${file}: ${path} must be a list of glob patterns`, {
@@ -162,14 +240,36 @@ function stringList(layer, path, file) {
162
240
  }
163
241
  return value;
164
242
  }
165
- function profileList(layer, file) {
243
+ /** The fields a config profile may set. Anything else is dropped with a warning. */
244
+ const PROFILE_FIELDS = [
245
+ "id",
246
+ "displayName",
247
+ "transport",
248
+ "maxStateTokens",
249
+ "maxChoices",
250
+ "callOverheadTokens",
251
+ "usdPerInputToken",
252
+ "usdPerOutputToken",
253
+ "priceAsOf",
254
+ "undecidedFloor",
255
+ "calibrated",
256
+ ];
257
+ function profileList(layer, file, warnings) {
166
258
  const value = layer?.profiles;
167
- if (value === undefined)
259
+ if (value === undefined || value === null)
168
260
  return [];
169
261
  if (!Array.isArray(value))
170
262
  throw new DecisionsError("config-error", `${file}: profiles must be a list`, { file });
171
263
  return value.map((p, i) => {
172
- const profile = p;
264
+ const profile = { ...p };
265
+ // A field with no value (`priceAsOf:`) is unset, so the default applies. This
266
+ // runs before the checks below, so an empty optional field is never an error.
267
+ // Unknown keys are left for the warning below, empty or not.
268
+ for (const [key, v] of Object.entries(profile)) {
269
+ if (v === null && PROFILE_FIELDS.includes(key)) {
270
+ delete profile[key];
271
+ }
272
+ }
173
273
  const ok = typeof profile.id === "string" &&
174
274
  typeof profile.maxStateTokens === "number" &&
175
275
  typeof profile.usdPerInputToken === "number" &&
@@ -177,18 +277,29 @@ function profileList(layer, file) {
177
277
  if (!ok) {
178
278
  throw new DecisionsError("config-error", `${file}: profiles[${i}] needs id, maxStateTokens, usdPerInputToken and undecidedFloor`, { file });
179
279
  }
280
+ if (profile.callOverheadTokens !== undefined &&
281
+ !(Number.isInteger(profile.callOverheadTokens) && profile.callOverheadTokens >= 0)) {
282
+ throw new DecisionsError("config-error", `${file}: profiles[${i}].callOverheadTokens must be a whole number of at least 0`, { file });
283
+ }
180
284
  if (profile.maxChoices !== undefined &&
181
285
  !(Number.isInteger(profile.maxChoices) && profile.maxChoices >= 2)) {
182
286
  throw new DecisionsError("config-error", `${file}: profiles[${i}].maxChoices must be a whole number of at least 2`, { file });
183
287
  }
288
+ const extra = Object.keys(profile).filter((k) => !PROFILE_FIELDS.includes(k));
289
+ for (const key of extra) {
290
+ warnings.push(`${file}: unknown key profiles[${i}].${key} (ignored)`);
291
+ delete profile[key];
292
+ }
184
293
  return {
185
294
  displayName: profile.id,
186
295
  transport: "openrouter-decisions",
187
296
  usdPerOutputToken: 0,
188
297
  priceAsOf: "unknown",
189
298
  calibrated: true,
190
- // Same wire contract as Jev unless the config says otherwise.
299
+ // Same wire contract as Jev unless the config says otherwise. The overhead is
300
+ // Jev's measured one: unknown for another model, but it errs toward stopping.
191
301
  maxChoices: 255,
302
+ callOverheadTokens: JEV_CALL_OVERHEAD_TOKENS,
192
303
  ...profile,
193
304
  };
194
305
  });
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrub.d.ts","sourceRoot":"","sources":["../../src/egress/scrub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AA0D3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEhD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,WAAgB,GAAG,MAAM,CASxE;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,WAAgB,GAAG,KAAK,CAExE;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,GAAE,WAAgB,GAAG,WAAW,CAW5F"}
1
+ {"version":3,"file":"scrub.d.ts","sourceRoot":"","sources":["../../src/egress/scrub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AA4E3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEhD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,WAAgB,GAAG,MAAM,CASxE;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,WAAgB,GAAG,KAAK,CAExE;AAwBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,GAAE,WAAgB,GAAG,WAAW,CAW5F"}
@@ -16,6 +16,13 @@ const RULES = [
16
16
  { kind: "slack-token", pattern: /\bxox[baprs]-[A-Za-z0-9-]{10,}\b/g },
17
17
  { kind: "stripe-key", pattern: /\b[rs]k_(?:live|test)_[A-Za-z0-9]{16,}\b/g },
18
18
  { kind: "google-api-key", pattern: /\bAIza[0-9A-Za-z_-]{35}\b/g },
19
+ // Service tokens with a known prefix and separator, whatever they are
20
+ // assigned to (MCP server env blocks name them freely: NOTION_INTEGRATION,
21
+ // HONEYCOMB_WRITEKEY).
22
+ {
23
+ kind: "service-token",
24
+ pattern: /\b(?:secret_|ntn_|glpat-|npm_|pypi-|shpat_|shpss_|dop_v1_|hcaik_|hcxik_|sntrys_|lin_api_|figd_|xapp-)[A-Za-z0-9_]{20,}\b/g,
25
+ },
19
26
  { kind: "jwt", pattern: /\beyJ[A-Za-z0-9_-]{8,}\.eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/g },
20
27
  { kind: "url-credentials", pattern: /(?<=\b[a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)[^\s@/]{3,}(?=@)/gi },
21
28
  // NAME = "literal": a quoted value of 8+ chars assigned to a secret-sounding name.
@@ -30,6 +37,15 @@ const RULES = [
30
37
  kind: "assigned-secret",
31
38
  pattern: new RegExp(`(?<=\\b${SECRET_NAME}\\s*[:=]\\s*)(?!\\$\\{|<|\\[REDACTED)(?=[A-Za-z_\\-+/=~]*\\d)[A-Za-z0-9_\\-+/=~]{8,}(?![\\w(.])`, "gi"),
32
39
  },
40
+ // ENV_NAME: "value" in upper-case environment style, ending in a credential
41
+ // word (API_WRITEKEY, SERVICE_PAT). Case-sensitive, and the value must look
42
+ // like a credential (12+ characters, letters and digits, no dots or colons),
43
+ // so UI constants (`PROBE_KEY = "pulse:probe"`) and code are left alone.
44
+ // Last, so a value an earlier rule already caught keeps that rule's name.
45
+ {
46
+ kind: "env-secret",
47
+ pattern: /(?<=\b[A-Z][A-Z0-9_]*(?:KEY|TOKEN|SECRET|PASSWORD|PASS|PAT|CREDENTIALS?)["']?\s*[:=]\s*["']?)(?!\$\{|<|\[REDACTED)(?=[A-Za-z0-9_\-+/=~]*\d)(?=[A-Za-z0-9_\-+/=~]*[A-Za-z])[A-Za-z0-9_\-+/=~]{12,}(?=["'\s,}]|$)/gm,
48
+ },
33
49
  ];
34
50
  export function scrubText(text, counts = {}) {
35
51
  let out = text;
@@ -1 +1 @@
1
- {"version":3,"file":"scrub.js","sourceRoot":"","sources":["../../src/egress/scrub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrub.js","sourceRoot":"","sources":["../../src/egress/scrub.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ import type { QuestionSet, State } from "../model/types.js";
5
5
  * Real tokenizers average nearer 4 for English and code, so this
6
6
  * over-estimates. That is the right direction for a limit check and a cost
7
7
  * projection.
8
+ *
9
+ * The provider's own per-call prompt is not counted here: a projection adds
10
+ * the profile's `callOverheadTokens` (run/budget.ts), but the size limit
11
+ * doesn't, since `maxStateTokens` limits the item and the 3-characters-a-token
12
+ * overcount already leaves more headroom than that prompt takes.
8
13
  */
9
14
  export declare const CHARS_PER_TOKEN = 3;
10
15
  export declare function estimateTokens(value: State | QuestionSet): number;
@@ -1 +1 @@
1
- {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../src/egress/size.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,MAAM,CAGjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,YAAY,GACpB,MAAM,CAWR"}
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../src/egress/size.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,MAAM,CAGjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,YAAY,GACpB,MAAM,CAWR"}
@@ -4,6 +4,11 @@ import { DecisionsError } from "../errors.js";
4
4
  * Real tokenizers average nearer 4 for English and code, so this
5
5
  * over-estimates. That is the right direction for a limit check and a cost
6
6
  * projection.
7
+ *
8
+ * The provider's own per-call prompt is not counted here: a projection adds
9
+ * the profile's `callOverheadTokens` (run/budget.ts), but the size limit
10
+ * doesn't, since `maxStateTokens` limits the item and the 3-characters-a-token
11
+ * overcount already leaves more headroom than that prompt takes.
7
12
  */
8
13
  export const CHARS_PER_TOKEN = 3;
9
14
  export function estimateTokens(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"size.js","sourceRoot":"","sources":["../../src/egress/size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEhC,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAA;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAU,EACV,KAAY,EACZ,SAAsB,EACtB,OAAqB;IAErB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAChE,IAAI,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,GAAG,EAAE,aAAa,MAAM,+BAA+B,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,cAAc,IAAI;YACrG,4DAA4D,EAC9D,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CACxE,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"size.js","sourceRoot":"","sources":["../../src/egress/size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEhC,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAA;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAU,EACV,KAAY,EACZ,SAAsB,EACtB,OAAqB;IAErB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAChE,IAAI,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,GAAG,EAAE,aAAa,MAAM,+BAA+B,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,cAAc,IAAI;YACrG,4DAA4D,EAC9D,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CACxE,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,8 @@ export type { ModelProfile } from "./model/profiles.js";
18
18
  export { DEFAULT_MODEL_ID, PROFILES, projectCost, resolveProfile } from "./model/profiles.js";
19
19
  export type * from "./model/types.js";
20
20
  export { assertQuestionSet, parseDecisionResponse } from "./model/validate.js";
21
+ export type { Backlog, Candidate, Opportunity, OpportunityStatus } from "./opportunities/backlog.js";
22
+ export { BACKLOG_FORMAT, BacklogSchema, backlogPath, backlogProblems, CandidateSchema, opportunityId, projectedSaving, } from "./opportunities/backlog.js";
21
23
  export type { PingOptions, PingResult } from "./ping.js";
22
24
  export { ping, probeUrl } from "./ping.js";
23
25
  export type { Prepared, PrepareInput } from "./prepare.js";
@@ -31,10 +33,14 @@ export { checkBudget, project } from "./run/budget.js";
31
33
  export { mapWithConcurrency } from "./run/pool.js";
32
34
  export type { AnswerSource, SpendEntry, SpendSummary } from "./run/spend.js";
33
35
  export { SpendLedger, sumUsage } from "./run/spend.js";
36
+ export type { FilterResult } from "./sources/filter.js";
37
+ export { applyFilter } from "./sources/filter.js";
34
38
  export { gitIgnored, parseFileRef, readSources, splitDiffByFile } from "./sources/read.js";
35
39
  export type { Document, Item, LineRange, Skipped, SourceSpec } from "./sources/types.js";
36
40
  export type { Expectation } from "./spec/expect.js";
37
41
  export { describeExpectation, meets, parseExpect } from "./spec/expect.js";
42
+ export type { LintCheck, LintFinding, LintSeverity } from "./spec/lint.js";
43
+ export { LINT_CHECKS, LINT_SEVERITY, lintQuestions, lintSpec, lintStatement, } from "./spec/lint.js";
38
44
  export type { Spec, SpecDirs, SpecFile, SpecListing } from "./spec/spec.js";
39
45
  export { assertExamples, exampleProblems, listSpecs, loadSpec, parseQuestionSet, parseSpec, SpecSchema, specDirs, } from "./spec/spec.js";
40
46
  export type { SplitSpec } from "./split/split.js";
@@ -47,12 +53,16 @@ export type { CheckStatus, DoctorCheck, DoctorOptions, DoctorResult } from "./to
47
53
  export { CODEX_RULE, DOCTOR_CHECKS, runDoctor, which } from "./tools/doctor.js";
48
54
  export type { ManyResult, ResultRow, SkippedSummary } from "./tools/many.js";
49
55
  export { runMany, summariseSkipped } from "./tools/many.js";
56
+ export type { OpportunitiesAddResult, OpportunitiesCheckResult, OpportunitiesListResult, } from "./tools/opportunities.js";
57
+ export { runOpportunitiesAdd, runOpportunitiesCheck, runOpportunitiesList, } from "./tools/opportunities.js";
50
58
  export type { RouteToolResult } from "./tools/route.js";
51
59
  export { runRoute } from "./tools/route.js";
52
60
  export type { ToolName } from "./tools/schemas.js";
53
- export { AskInput, ManyInput, RouteInput, SpecCheckInput, TOOL_SCHEMAS, UsageInput, } from "./tools/schemas.js";
61
+ export { AskInput, ManyInput, OpportunitiesAddInput, OpportunitiesCheckInput, OpportunitiesListInput, RouteInput, SpecCheckInput, SpecLintInput, TOOL_SCHEMAS, UsageInput, } from "./tools/schemas.js";
54
62
  export type { ExampleResult, ExampleStatus, SpecCheckResult } from "./tools/spec-check.js";
55
63
  export { runSpecCheck } from "./tools/spec-check.js";
64
+ export type { SpecLintEntry, SpecLintResult } from "./tools/spec-lint.js";
65
+ export { runSpecLint } from "./tools/spec-lint.js";
56
66
  export type { UsageResult } from "./tools/usage.js";
57
67
  export { runUsage } from "./tools/usage.js";
58
68
  export type { Transport, TransportOptions, TransportResult } from "./transport/openrouter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ export { canonicalJson, FIXTURE_VERSION, FixtureStore, fixtureKey } from "./fixt
10
10
  export { confidenceOf, DEFAULT_UNDECIDED_FLOOR, isChoice, isNoul, isScore, isUndecided, noulConfidence, rankedProbabilities, undecidedNames, } from "./model/answers.js";
11
11
  export { DEFAULT_MODEL_ID, PROFILES, projectCost, resolveProfile } from "./model/profiles.js";
12
12
  export { assertQuestionSet, parseDecisionResponse } from "./model/validate.js";
13
+ export { BACKLOG_FORMAT, BacklogSchema, backlogPath, backlogProblems, CandidateSchema, opportunityId, projectedSaving, } from "./opportunities/backlog.js";
13
14
  export { ping, probeUrl } from "./ping.js";
14
15
  export { prepare } from "./prepare.js";
15
16
  export { matches, parseFilter, parseSort, project as projectRows } from "./project/project.js";
@@ -17,17 +18,21 @@ export { activeTriggers, BUILTIN_IGNORE, BUILTIN_TRIGGERS, DEFAULT_MESSAGE, ROUT
17
18
  export { checkBudget, project } from "./run/budget.js";
18
19
  export { mapWithConcurrency } from "./run/pool.js";
19
20
  export { SpendLedger, sumUsage } from "./run/spend.js";
21
+ export { applyFilter } from "./sources/filter.js";
20
22
  export { gitIgnored, parseFileRef, readSources, splitDiffByFile } from "./sources/read.js";
21
23
  export { describeExpectation, meets, parseExpect } from "./spec/expect.js";
24
+ export { LINT_CHECKS, LINT_SEVERITY, lintQuestions, lintSpec, lintStatement, } from "./spec/lint.js";
22
25
  export { assertExamples, exampleProblems, listSpecs, loadSpec, parseQuestionSet, parseSpec, SpecSchema, specDirs, } from "./spec/spec.js";
23
26
  export { parseSplit, split } from "./split/split.js";
24
27
  export { runAsk } from "./tools/ask.js";
25
28
  export { createContext, deciderFor } from "./tools/context.js";
26
29
  export { CODEX_RULE, DOCTOR_CHECKS, runDoctor, which } from "./tools/doctor.js";
27
30
  export { runMany, summariseSkipped } from "./tools/many.js";
31
+ export { runOpportunitiesAdd, runOpportunitiesCheck, runOpportunitiesList, } from "./tools/opportunities.js";
28
32
  export { runRoute } from "./tools/route.js";
29
- export { AskInput, ManyInput, RouteInput, SpecCheckInput, TOOL_SCHEMAS, UsageInput, } from "./tools/schemas.js";
33
+ export { AskInput, ManyInput, OpportunitiesAddInput, OpportunitiesCheckInput, OpportunitiesListInput, RouteInput, SpecCheckInput, SpecLintInput, TOOL_SCHEMAS, UsageInput, } from "./tools/schemas.js";
30
34
  export { runSpecCheck } from "./tools/spec-check.js";
35
+ export { runSpecLint } from "./tools/spec-lint.js";
31
36
  export { runUsage } from "./tools/usage.js";
32
37
  export { createOpenRouterTransport, DEFAULT_TIMEOUT_MS, RETRY_STATUSES, } from "./transport/openrouter.js";
33
38
  export { CLI_PACKAGE, VERSION } from "./version.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}