harness-dispatch 0.5.0 → 0.6.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 (94) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/README.md +5 -2
  3. package/dist/bin.d.ts.map +1 -1
  4. package/dist/bin.js +1 -175
  5. package/dist/bin.js.map +1 -1
  6. package/dist/config/route-fields.d.ts +72 -0
  7. package/dist/config/route-fields.d.ts.map +1 -0
  8. package/dist/config/route-fields.js +128 -0
  9. package/dist/config/route-fields.js.map +1 -0
  10. package/dist/config/validation.js +1 -1
  11. package/dist/config/validation.js.map +1 -1
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +32 -171
  14. package/dist/config.js.map +1 -1
  15. package/dist/configure-yaml.d.ts +23 -0
  16. package/dist/configure-yaml.d.ts.map +1 -0
  17. package/dist/configure-yaml.js +193 -0
  18. package/dist/configure-yaml.js.map +1 -0
  19. package/dist/dispatchers/base.d.ts +3 -0
  20. package/dist/dispatchers/base.d.ts.map +1 -1
  21. package/dist/dispatchers/base.js.map +1 -1
  22. package/dist/dispatchers/generic-cli.d.ts.map +1 -1
  23. package/dist/dispatchers/generic-cli.js +4 -0
  24. package/dist/dispatchers/generic-cli.js.map +1 -1
  25. package/dist/dispatchers/openai-compatible.d.ts.map +1 -1
  26. package/dist/dispatchers/openai-compatible.js +18 -0
  27. package/dist/dispatchers/openai-compatible.js.map +1 -1
  28. package/dist/dispatchers/shared/stream-subprocess.d.ts +11 -0
  29. package/dist/dispatchers/shared/stream-subprocess.d.ts.map +1 -1
  30. package/dist/dispatchers/shared/stream-subprocess.js +57 -35
  31. package/dist/dispatchers/shared/stream-subprocess.js.map +1 -1
  32. package/dist/http/parse.d.ts +64 -0
  33. package/dist/http/parse.d.ts.map +1 -0
  34. package/dist/http/parse.js +230 -0
  35. package/dist/http/parse.js.map +1 -0
  36. package/dist/http/server.d.ts +2 -11
  37. package/dist/http/server.d.ts.map +1 -1
  38. package/dist/http/server.js +26 -232
  39. package/dist/http/server.js.map +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -2
  43. package/dist/index.js.map +1 -1
  44. package/dist/jobs/context.d.ts +17 -0
  45. package/dist/jobs/context.d.ts.map +1 -0
  46. package/dist/jobs/context.js +84 -0
  47. package/dist/jobs/context.js.map +1 -0
  48. package/dist/jobs/store.d.ts +80 -0
  49. package/dist/jobs/store.d.ts.map +1 -0
  50. package/dist/jobs/store.js +279 -0
  51. package/dist/jobs/store.js.map +1 -0
  52. package/dist/jobs/types.d.ts +135 -0
  53. package/dist/jobs/types.d.ts.map +1 -0
  54. package/dist/jobs/types.js +11 -0
  55. package/dist/jobs/types.js.map +1 -0
  56. package/dist/jobs.d.ts +113 -123
  57. package/dist/jobs.d.ts.map +1 -1
  58. package/dist/jobs.js +314 -309
  59. package/dist/jobs.js.map +1 -1
  60. package/dist/mcp/tool-schemas.d.ts +194 -0
  61. package/dist/mcp/tool-schemas.d.ts.map +1 -0
  62. package/dist/mcp/tool-schemas.js +311 -0
  63. package/dist/mcp/tool-schemas.js.map +1 -0
  64. package/dist/mcp/tools.d.ts +15 -59
  65. package/dist/mcp/tools.d.ts.map +1 -1
  66. package/dist/mcp/tools.js +63 -239
  67. package/dist/mcp/tools.js.map +1 -1
  68. package/dist/quota.d.ts +19 -1
  69. package/dist/quota.d.ts.map +1 -1
  70. package/dist/quota.js +39 -4
  71. package/dist/quota.js.map +1 -1
  72. package/dist/router.d.ts +4 -0
  73. package/dist/router.d.ts.map +1 -1
  74. package/dist/router.js +8 -0
  75. package/dist/router.js.map +1 -1
  76. package/dist/status.d.ts +13 -0
  77. package/dist/status.d.ts.map +1 -1
  78. package/dist/status.js +6 -0
  79. package/dist/status.js.map +1 -1
  80. package/dist/types.d.ts +24 -0
  81. package/dist/types.d.ts.map +1 -1
  82. package/dist/workspace-resolve.d.ts +98 -0
  83. package/dist/workspace-resolve.d.ts.map +1 -0
  84. package/dist/workspace-resolve.js +382 -0
  85. package/dist/workspace-resolve.js.map +1 -0
  86. package/dist/workspaces.d.ts +1 -0
  87. package/dist/workspaces.d.ts.map +1 -1
  88. package/dist/workspaces.js +67 -15
  89. package/dist/workspaces.js.map +1 -1
  90. package/package.json +5 -4
  91. package/dist/dashboard/live.d.ts +0 -49
  92. package/dist/dashboard/live.d.ts.map +0 -1
  93. package/dist/dashboard/live.js +0 -149
  94. package/dist/dashboard/live.js.map +0 -1
@@ -0,0 +1,128 @@
1
+ /**
2
+ * One field contract shared by every route shape.
3
+ *
4
+ * THE DEFECT THIS EXISTS TO RETIRE. `clis:`, `endpoints:` and the legacy
5
+ * `services:` block each resolved route fields with their own hand-written
6
+ * list, so a key added to one was easy to forget in the others. That produced
7
+ * five separate silent-drop defects in one file, each the same shape: a
8
+ * correctly-spelled, correctly-valued setting written in config and read by
9
+ * nobody —
10
+ *
11
+ * workspace_policy honoured for services:/endpoints:, dropped for clis:
12
+ * api_keys honoured for clis:, dropped for endpoints:
13
+ * effective_safety honoured for clis:/services:, dropped for endpoints:
14
+ * escalate_model honoured for clis:, dropped for endpoints:
15
+ *
16
+ * These are safety and isolation controls, so "silently absent" means
17
+ * "silently less restrictive" — a route asked to run `read_only` running with
18
+ * write access, a route asked to run in an isolated copy running in the user's
19
+ * repository. Nothing warns, because nothing is wrong with what was written.
20
+ *
21
+ * WHY A TABLE RATHER THAN A SHARED FUNCTION. The obvious unification — have
22
+ * the CLI builder call the endpoint builder's `billingFields()` — is wrong,
23
+ * and tests/route-field-parity.test.ts says why: the CLI path resolves
24
+ * `entry.X ?? harnessDefaults.X` against the defaults shipped in
25
+ * config.default.yaml, and `billingFields(raw)` has no defaults layer at all.
26
+ * Collapsing them would silently drop the fallback every built-in harness
27
+ * relies on — trading five silent-drop bugs for a bigger one. A table carries
28
+ * the defaults layer explicitly: each field says how to parse it AND where its
29
+ * fallback comes from, and a shape with no defaults (endpoints) simply passes
30
+ * none.
31
+ *
32
+ * WHAT IS DELIBERATELY NOT HERE. Billing identity — provider, surface,
33
+ * auth_source, billing_kind, paid_usage_possible — resolves differently per
34
+ * shape for real reasons, not by accident: endpoints infer it from the base
35
+ * URL (localhost is local_compute), while CLI routes factor in whether an
36
+ * api_key is present (a key means a metered account exists whatever the
37
+ * declared kind says). Those stay in their builders. Pretending they are
38
+ * shared would be the same mistake in the other direction.
39
+ *
40
+ * tests/route-field-parity.test.ts still pins every key here against both
41
+ * shapes. It is no longer the only thing standing between a new field and a
42
+ * silent drop, but it is what proves this table is actually wired into both.
43
+ */
44
+ import { normalizeSafetyProfile } from "../safety.js";
45
+ import { confidenceFrom, str, thinkingFrom, workspacePolicyFrom, } from "./coercions.js";
46
+ import { stringArrayFrom } from "./protocol.js";
47
+ /** A number only when it really is one — `int()`/`num()` coerce, and these must not. */
48
+ function numberOnly(raw) {
49
+ return typeof raw === "number" ? raw : undefined;
50
+ }
51
+ /** Likewise for booleans: an absent flag must stay absent, not become false. */
52
+ function booleanOnly(raw) {
53
+ return typeof raw === "boolean" ? raw : undefined;
54
+ }
55
+ /**
56
+ * `effective_safety` is either one profile for every request, or a per-request
57
+ * map. Shared by all three shapes; lived in config.ts before this table.
58
+ */
59
+ export function effectiveSafetyFrom(raw) {
60
+ const single = normalizeSafetyProfile(raw);
61
+ if (single !== undefined)
62
+ return single;
63
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw))
64
+ return undefined;
65
+ const out = {};
66
+ for (const [key, value] of Object.entries(raw)) {
67
+ const requested = normalizeSafetyProfile(key);
68
+ const floor = normalizeSafetyProfile(value);
69
+ if (requested !== undefined && floor !== undefined)
70
+ out[requested] = floor;
71
+ }
72
+ return Object.keys(out).length > 0 ? out : undefined;
73
+ }
74
+ /**
75
+ * Every optional field that means the same thing on every route shape.
76
+ *
77
+ * Adding a route setting means adding ONE row here (plus its key to
78
+ * KNOWN_ROUTE_KEYS in validation.ts, which is what catches misspellings) and
79
+ * it works on `clis:`, `endpoints:` and `services:` at once. That is the whole
80
+ * point: the old failure mode was a field that existed in one list and not the
81
+ * others.
82
+ */
83
+ const SHARED_ROUTE_FIELDS = [
84
+ { key: "leaderboard_model", field: "leaderboardModel", parse: str, fromDefaults: (d) => d.leaderboardModel },
85
+ { key: "thinking_level", field: "thinkingLevel", parse: thinkingFrom, fromDefaults: (d) => d.thinkingLevel },
86
+ { key: "escalate_model", field: "escalateModel", parse: str },
87
+ { key: "max_output_tokens", field: "maxOutputTokens", parse: numberOnly, fromDefaults: (d) => d.maxOutputTokens },
88
+ { key: "max_input_tokens", field: "maxInputTokens", parse: numberOnly, fromDefaults: (d) => d.maxInputTokens },
89
+ { key: "timeout_ms", field: "timeoutMs", parse: numberOnly },
90
+ { key: "resource_weight", field: "resourceWeight", parse: numberOnly },
91
+ // Safety and isolation. Four of the five original silent drops were here.
92
+ { key: "safety_profile", field: "safetyProfile", parse: normalizeSafetyProfile },
93
+ { key: "effective_safety", field: "effectiveSafety", parse: effectiveSafetyFrom, fromDefaults: (d) => d.effectiveSafety },
94
+ { key: "workspace_policy", field: "workspacePolicy", parse: workspacePolicyFrom },
95
+ // Billing fields that are plain declarations. The INFERRED ones
96
+ // (provider/surface/auth_source/billing_kind/paid_usage_possible) stay in
97
+ // the builders — see the header.
98
+ { key: "allow_paid_usage", field: "allowPaidUsage", parse: booleanOnly },
99
+ { key: "billing_confidence", field: "billingConfidence", parse: confidenceFrom },
100
+ { key: "billing_notes", field: "billingNotes", parse: str },
101
+ { key: "models", field: "models", parse: stringArrayFrom, fromDefaults: (d) => d.models },
102
+ { key: "model_hint", field: "modelHint", parse: str, fromDefaults: (d) => d.modelHint },
103
+ ];
104
+ /** The YAML keys this table owns — used by tests to prove both shapes are wired to it. */
105
+ export const SHARED_ROUTE_FIELD_KEYS = SHARED_ROUTE_FIELDS.map((f) => f.key);
106
+ /**
107
+ * Resolve every shared field for one route entry.
108
+ *
109
+ * A field is emitted only when it resolves to something, so callers can spread
110
+ * the result over a partially-built ServiceConfig without overwriting anything
111
+ * with `undefined`.
112
+ *
113
+ * @param raw the route entry as written in config.yaml
114
+ * @param defaults the harness's shipped defaults, for shapes that have them
115
+ * (`clis:`). Endpoint entries pass nothing — they have no defaults layer, and
116
+ * inventing one is the mistake this table's header warns about.
117
+ */
118
+ export function resolveSharedRouteFields(raw, defaults) {
119
+ const out = {};
120
+ for (const spec of SHARED_ROUTE_FIELDS) {
121
+ const declared = spec.parse(raw[spec.key]);
122
+ const value = declared ?? (defaults !== undefined ? spec.fromDefaults?.(defaults) : undefined);
123
+ if (value !== undefined)
124
+ out[spec.field] = value;
125
+ }
126
+ return out;
127
+ }
128
+ //# sourceMappingURL=route-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-fields.js","sourceRoot":"","sources":["../../src/config/route-fields.ts"],"names":[],"mappings":"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"}
@@ -108,7 +108,7 @@ export const KNOWN_ROUTE_KEYS = new Set([
108
108
  "name", "harness", "type", "command", "enabled", "model", "models", "model_hint",
109
109
  "tier", "weight", "cli_capability", "capabilities", "timeout_ms",
110
110
  "max_input_tokens", "max_output_tokens", "thinking_level",
111
- "leaderboard_model", "escalate_model", "escalate_on",
111
+ "leaderboard_model", "escalate_model", "escalate_on", "resource_weight",
112
112
  "api_key", "base_url", "protocol", "filter",
113
113
  "provider", "surface", "auth_source", "billing_kind", "billing_confidence",
114
114
  "billing_notes", "paid_usage_possible", "allow_paid_usage",
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,wEAAwE;IACxE,wEAAwE;IACxE,4EAA4E;IAC5E,yEAAyE;IACzE,sEAAsE;IACtE,6EAA6E;IAC7E,WAAW;IACX,YAAY,EAAE;QACZ,eAAe;QACf,qBAAqB;QACrB,qCAAqC;QACrC,uCAAuC;QACvC,+BAA+B;QAC/B,aAAa;QACb,YAAY;QACZ,SAAS;KACV;IACD,kBAAkB,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;IACxE,cAAc,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC;IAC5D,gBAAgB,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC;IAC9D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC;CACtE,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,SAAS;IACT,MAAM;IACN,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,WAAW;IACX,aAAa;IACb,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;IAClB,UAAU;CACX,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY;IAChF,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY;IAChE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB;IACzD,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB;IACvE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ;IAC3C,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB;IAC1E,eAAe,EAAE,qBAAqB,EAAE,kBAAkB;IAC1D,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB;IACxD,eAAe,EAAE,mBAAmB,EAAE,eAAe;CACtD,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAClC,KAA8B,EAC9B,KAAa,EACb,QAAkB;IAElB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACxC,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,kBAAkB,GAAG,yCAAyC;YACpE,uEAAuE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAEpF,MAAM,UAAU,uBAAuB,CAAC,GAA4B,EAAE,QAAkB;IACtF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CACX,GAAG,GAAG,+DAA+D;gBACnE,gDAAgD,CACnD,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,iCAAiC;QACzE,QAAQ,CAAC,IAAI,CACX,iCAAiC,GAAG,yCAAyC;YAC3E,wBAAwB,CAAC,GAAG,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAa,EAAE,QAAkB,EAAE,KAAK,GAAG,EAAE;IAClF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IACtD,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,MAAM,KAAK,GACT,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;IACzF,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACnE,uEAAuE;QACvE,sEAAsE;QACtE,oCAAoC;QACpC,IAAI,GAAG,KAAK,kBAAkB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CACxB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClF,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC/B,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,uBAAuB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC5F,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC,CACrE,CAAC;YACF,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACjF,gFAAgF;YAChF,qDAAqD,CACxD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyBH,2EAA2E;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AA+B9D,OAAO,KAAK,EAOV,iBAAiB,EAGjB,YAAY,EAOb,MAAM,YAAY,CAAC;AAsEpB,iKAAiK;AACjK,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAI9D,CAAC;AAQF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKvD,CAAC;AAgrBF,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAwGvB;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,EACnC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,aAAa,CAkCf"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA6BH,2EAA2E;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AA+B9D,OAAO,KAAK,EAOV,iBAAiB,EAGjB,YAAY,EAOb,MAAM,YAAY,CAAC;AAsEpB,iKAAiK;AACjK,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAI9D,CAAC;AAQF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKvD,CAAC;AA6iBF,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAwGvB;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,EACnC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,aAAa,CAkCf"}
package/dist/config.js CHANGED
@@ -17,11 +17,11 @@ import path from "node:path";
17
17
  import { fileURLToPath } from "node:url";
18
18
  import yaml from "js-yaml";
19
19
  import which from "which";
20
- import { normalizeSafetyProfile, } from "./safety.js";
21
20
  import { inferredPaidUsagePossible } from "./billing.js";
22
- import { authSourceFrom, billingKindFrom, bool, confidenceFrom, endpointModeFrom, endpointProviderFrom, inferEndpointProvider, int, num, providerFrom, str, surfaceFrom, thinkingFrom, wireProtocolFrom, workspacePolicyFrom, } from "./config/coercions.js";
21
+ import { authSourceFrom, billingKindFrom, bool, endpointModeFrom, endpointProviderFrom, inferEndpointProvider, int, num, providerFrom, str, surfaceFrom, wireProtocolFrom, } from "./config/coercions.js";
23
22
  import { warnUnknownRouteKeys, warnUnknownSafetyEnums, warnUnknownTopLevelKeys, } from "./config/validation.js";
24
23
  import { parseProtocolFields, protocolFrom, stringArrayFrom } from "./config/protocol.js";
24
+ import { effectiveSafetyFrom, resolveSharedRouteFields, } from "./config/route-fields.js";
25
25
  import { interpolateTree } from "./config/env-interpolation.js";
26
26
  /**
27
27
  * PATH lookups, memoised for the life of the process.
@@ -182,29 +182,22 @@ function topLevelSettings(raw, policyWarnings = []) {
182
182
  * KEY or value inside the map is dropped individually — a typo must not
183
183
  * silently widen the floor for a request it was meant to restrict.
184
184
  */
185
- function effectiveSafetyFrom(raw) {
186
- const single = normalizeSafetyProfile(raw);
187
- if (single !== undefined)
188
- return single;
189
- if (raw === null || typeof raw !== "object" || Array.isArray(raw))
190
- return undefined;
191
- const out = {};
192
- for (const [key, value] of Object.entries(raw)) {
193
- const requested = normalizeSafetyProfile(key);
194
- const floor = normalizeSafetyProfile(value);
195
- if (requested !== undefined && floor !== undefined)
196
- out[requested] = floor;
197
- }
198
- return Object.keys(out).length > 0 ? out : undefined;
199
- }
185
+ /**
186
+ * Billing IDENTITY for a route — the part that genuinely differs per shape.
187
+ *
188
+ * Everything that means the same thing everywhere (safety_profile,
189
+ * effective_safety, workspace_policy, billing_notes, models, …) now comes from
190
+ * resolveSharedRouteFields instead. What is left here is the set the caller
191
+ * has already inferred per shape: endpoints derive provider/surface/kind from
192
+ * the base URL, CLI routes derive them from whether an api_key is present.
193
+ * This function only reads what it is handed.
194
+ */
200
195
  function billingFields(raw) {
201
196
  const out = {};
202
197
  const provider = providerFrom(raw.provider);
203
198
  const surface = surfaceFrom(raw.surface);
204
199
  const authSource = authSourceFrom(raw.auth_source);
205
200
  const billingKind = billingKindFrom(raw.billing_kind);
206
- const billingConfidence = confidenceFrom(raw.billing_confidence);
207
- const safetyProfile = normalizeSafetyProfile(raw.safety_profile);
208
201
  if (provider !== undefined)
209
202
  out.provider = provider;
210
203
  if (surface !== undefined)
@@ -213,31 +206,9 @@ function billingFields(raw) {
213
206
  out.authSource = authSource;
214
207
  if (billingKind !== undefined)
215
208
  out.billingKind = billingKind;
216
- if (billingConfidence !== undefined)
217
- out.billingConfidence = billingConfidence;
218
209
  if (typeof raw.paid_usage_possible === "boolean") {
219
210
  out.paidUsagePossible = raw.paid_usage_possible;
220
211
  }
221
- if (typeof raw.allow_paid_usage === "boolean")
222
- out.allowPaidUsage = raw.allow_paid_usage;
223
- const notes = str(raw.billing_notes);
224
- if (notes !== undefined)
225
- out.billingNotes = notes;
226
- if (safetyProfile !== undefined)
227
- out.safetyProfile = safetyProfile;
228
- // effective_safety was handled by the `clis:` builder and the legacy
229
- // `services:` path but not here, so an `endpoints:` entry declaring it was
230
- // silently ignored — the fourth instance of this file's parallel-field-list
231
- // defect, and the first one caught by a test rather than by a user or a
232
- // reviewer. Practically fail-safe (openai_compatible routes are read_only by
233
- // construction, so the ignored value could only have widened them), but the
234
- // inconsistency is the bug.
235
- const effectiveSafety = effectiveSafetyFrom(raw.effective_safety);
236
- if (effectiveSafety !== undefined)
237
- out.effectiveSafety = effectiveSafety;
238
- const workspacePolicy = workspacePolicyFrom(raw.workspace_policy);
239
- if (workspacePolicy !== undefined)
240
- out.workspacePolicy = workspacePolicy;
241
212
  return out;
242
213
  }
243
214
  function capsFrom(raw) {
@@ -300,31 +271,11 @@ function buildLegacyConfig(raw) {
300
271
  tier: int(svc.tier, 1),
301
272
  weight: num(svc.weight, 1.0),
302
273
  cliCapability: num(svc.cli_capability, 1.0),
303
- ...(str(svc.leaderboard_model) !== undefined
304
- ? { leaderboardModel: str(svc.leaderboard_model) }
305
- : {}),
306
- ...(() => {
307
- const t = thinkingFrom(svc.thinking_level);
308
- return t !== undefined ? { thinkingLevel: t } : {};
309
- })(),
310
- ...(str(svc.escalate_model) !== undefined
311
- ? { escalateModel: str(svc.escalate_model) }
312
- : {}),
313
274
  escalateOn: escalateOnFrom(svc.escalate_on),
314
275
  capabilities: capsFrom(svc.capabilities),
315
276
  ...(() => {
316
- // Declared context size drives router.ts's preferLargeContext boost
317
- // (not harness name), so a legacy entry that omits these but names
318
- // a known harness (e.g. antigravity_cli's 2M context) must still
319
- // inherit them — otherwise the boost silently becomes a no-op.
320
- const v = typeof svc.max_output_tokens === "number" ? svc.max_output_tokens : harnessDefaults?.maxOutputTokens;
321
- return v !== undefined ? { maxOutputTokens: v } : {};
322
- })(),
323
- ...(() => {
324
- const v = typeof svc.max_input_tokens === "number" ? svc.max_input_tokens : harnessDefaults?.maxInputTokens;
325
- return v !== undefined ? { maxInputTokens: v } : {};
326
- })(),
327
- ...(() => {
277
+ // Billing IDENTITY only the rest of the named harness's defaults
278
+ // reach this entry through resolveSharedRouteFields below.
328
279
  if (!harnessDefaults)
329
280
  return {};
330
281
  return {
@@ -337,30 +288,19 @@ function buildLegacyConfig(raw) {
337
288
  ...(harnessDefaults.paidUsagePossible !== undefined
338
289
  ? { paidUsagePossible: harnessDefaults.paidUsagePossible }
339
290
  : {}),
340
- ...(harnessDefaults.effectiveSafety !== undefined
341
- ? { effectiveSafety: harnessDefaults.effectiveSafety }
342
- : {}),
343
- ...(harnessDefaults.models !== undefined ? { models: harnessDefaults.models } : {}),
344
- ...(harnessDefaults.modelHint !== undefined
345
- ? { modelHint: harnessDefaults.modelHint }
346
- : {}),
347
291
  };
348
292
  })(),
349
293
  ...billingFields(svc),
350
- ...(() => {
351
- const effectiveSafety = effectiveSafetyFrom(svc.effective_safety);
352
- return effectiveSafety !== undefined ? { effectiveSafety } : {};
353
- })(),
354
- ...(() => {
355
- const models = stringArrayFrom(svc.models);
356
- return models !== undefined ? { models } : {};
357
- })(),
358
- ...(() => {
359
- const modelHint = str(svc.model_hint);
360
- return modelHint !== undefined ? { modelHint } : {};
361
- })(),
294
+ // The same table the `clis:` and `endpoints:` builders use. This shape
295
+ // previously read the shared keys through billingFields() plus four
296
+ // hand-written blocks, which is how it ended up with a DIFFERENT set
297
+ // again: it inherited maxInput/OutputTokens, effectiveSafety, models and
298
+ // modelHint from the named harness but not leaderboardModel or
299
+ // thinkingLevel, so `services: { x: { harness: antigravity_cli } }`
300
+ // silently lost its scoring key and its thinking level. Passing the
301
+ // defaults through one table fixes that too.
302
+ ...resolveSharedRouteFields(svc, harnessDefaults),
362
303
  ...endpointFields(svc, type, str(svc.base_url)),
363
- ...(typeof svc.timeout_ms === "number" ? { timeoutMs: svc.timeout_ms } : {}),
364
304
  ...(() => {
365
305
  // Falls back to the named harness's built-in default protocol (if
366
306
  // any) when this legacy-format entry doesn't declare its own —
@@ -416,31 +356,13 @@ function buildCliServiceConfig(name, defaults, override, apiKeys, warnings = [])
416
356
  weight: num(override.weight, 1.0),
417
357
  tier: int(override.tier, defaults.tier),
418
358
  cliCapability: num(override.cli_capability, defaults.cliCapability),
419
- leaderboardModel: str(override.leaderboard_model) ?? defaults.leaderboardModel,
420
- ...(() => {
421
- const overrideThinking = thinkingFrom(override.thinking_level);
422
- if (overrideThinking !== undefined)
423
- return { thinkingLevel: overrideThinking };
424
- if (defaults.thinkingLevel !== undefined) {
425
- return { thinkingLevel: defaults.thinkingLevel };
426
- }
427
- return {};
428
- })(),
429
- ...(str(override.escalate_model) !== undefined
430
- ? { escalateModel: str(override.escalate_model) }
431
- : {}),
432
359
  escalateOn: escalateOnFrom(override.escalate_on),
433
360
  capabilities: caps,
434
- ...(() => {
435
- const m = override.max_output_tokens;
436
- const v = typeof m === "number" ? m : defaults.maxOutputTokens;
437
- return v !== undefined ? { maxOutputTokens: v } : {};
438
- })(),
439
- ...(() => {
440
- const m = override.max_input_tokens;
441
- const v = typeof m === "number" ? m : defaults.maxInputTokens;
442
- return v !== undefined ? { maxInputTokens: v } : {};
443
- })(),
361
+ // Every field that means the same thing on every route shape, resolved
362
+ // from ONE table against this harness's shipped defaults. Spread early so
363
+ // the shape-specific resolutions below (billing identity, which depends on
364
+ // whether an api_key is present) still win.
365
+ ...resolveSharedRouteFields(override, defaults),
444
366
  provider: providerFrom(override.provider) ?? defaults.provider,
445
367
  surface: surfaceFrom(override.surface) ?? defaults.surface,
446
368
  authSource: authSourceFrom(override.auth_source) ?? (apiKey ? "api_key" : defaults.authSource),
@@ -472,47 +394,7 @@ function buildCliServiceConfig(name, defaults, override, apiKeys, warnings = [])
472
394
  : defaults.paidUsagePossible;
473
395
  return paidUsagePossible !== undefined ? { paidUsagePossible } : {};
474
396
  })(),
475
- ...(typeof override.allow_paid_usage === "boolean"
476
- ? { allowPaidUsage: override.allow_paid_usage }
477
- : {}),
478
- ...(() => {
479
- const c = confidenceFrom(override.billing_confidence);
480
- return c !== undefined ? { billingConfidence: c } : {};
481
- })(),
482
- ...(() => {
483
- const notes = str(override.billing_notes);
484
- return notes !== undefined ? { billingNotes: notes } : {};
485
- })(),
486
- ...(() => {
487
- const safetyProfile = normalizeSafetyProfile(override.safety_profile);
488
- return safetyProfile !== undefined ? { safetyProfile } : {};
489
- })(),
490
- ...(() => {
491
- // `clis:` entries never read this. It was handled for `services:` and
492
- // `endpoints:` (both go through billingFields, which this builder does
493
- // not call), so `workspace_policy: copy` on the primary, documented way
494
- // to define a route was silently dropped and the route fell back to
495
- // shared_locked — the LESS isolated default, with no warning, because
496
- // the value itself is perfectly valid. The fail-open enum check added
497
- // earlier cannot catch this: the key is right and the value is right;
498
- // nothing was reading it.
499
- const workspacePolicy = workspacePolicyFrom(override.workspace_policy);
500
- return workspacePolicy !== undefined ? { workspacePolicy } : {};
501
- })(),
502
- ...(() => {
503
- const effectiveSafety = effectiveSafetyFrom(override.effective_safety) ?? defaults.effectiveSafety;
504
- return effectiveSafety !== undefined ? { effectiveSafety } : {};
505
- })(),
506
- ...(() => {
507
- const models = stringArrayFrom(override.models) ?? defaults.models;
508
- return models !== undefined ? { models } : {};
509
- })(),
510
- ...(() => {
511
- const modelHint = str(override.model_hint) ?? defaults.modelHint;
512
- return modelHint !== undefined ? { modelHint } : {};
513
- })(),
514
397
  ...endpointFields(override, "cli", str(override.base_url)),
515
- ...(typeof override.timeout_ms === "number" ? { timeoutMs: override.timeout_ms } : {}),
516
398
  ...(() => {
517
399
  // Falls back to this harness's built-in default (if any) when no
518
400
  // override is given, or when the override is malformed — protocolFrom
@@ -669,16 +551,6 @@ function addEndpoints(services, raw, apiKeys, warnings = []) {
669
551
  weight: num(ep.weight, 0.6),
670
552
  tier: int(ep.tier, 3),
671
553
  cliCapability: num(ep.cli_capability, 1.0),
672
- ...(str(ep.leaderboard_model) !== undefined
673
- ? { leaderboardModel: str(ep.leaderboard_model) }
674
- : {}),
675
- // escalate_on was honoured here and escalate_model was not — the fifth
676
- // instance of this file's parallel-field-list defect, and the second
677
- // found by review rather than by the parity test, which pins 16 shared
678
- // keys and did not include this one. It does now.
679
- ...(str(ep.escalate_model) !== undefined
680
- ? { escalateModel: str(ep.escalate_model) }
681
- : {}),
682
554
  escalateOn: escalateOnFrom(ep.escalate_on),
683
555
  capabilities: capsFrom(ep.capabilities),
684
556
  ...billingFields({
@@ -695,21 +567,10 @@ function addEndpoints(services, raw, apiKeys, warnings = []) {
695
567
  billing_confidence: ep.billing_confidence ?? (inferEndpointProvider(baseUrl) === "custom" ? undefined : "documented"),
696
568
  }),
697
569
  ...endpointFields(ep, "openai_compatible", baseUrl),
698
- ...(typeof ep.timeout_ms === "number" ? { timeoutMs: ep.timeout_ms } : {}),
699
- ...(typeof ep.max_output_tokens === "number" ? { maxOutputTokens: ep.max_output_tokens } : {}),
700
- ...(typeof ep.max_input_tokens === "number" ? { maxInputTokens: ep.max_input_tokens } : {}),
701
- ...(() => {
702
- const t = thinkingFrom(ep.thinking_level);
703
- return t !== undefined ? { thinkingLevel: t } : {};
704
- })(),
705
- ...(() => {
706
- const models = stringArrayFrom(ep.models);
707
- return models !== undefined ? { models } : {};
708
- })(),
709
- ...(() => {
710
- const modelHint = str(ep.model_hint);
711
- return modelHint !== undefined ? { modelHint } : {};
712
- })(),
570
+ // No defaults argument: an endpoint has no harness whose shipped
571
+ // defaults it could fall back to. That absence is exactly why the CLI
572
+ // path could not simply reuse billingFields() see route-fields.ts.
573
+ ...resolveSharedRouteFields(ep),
713
574
  };
714
575
  services[name] = svc;
715
576
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}