pi-harness-runtime 1.1.385 → 1.1.387

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 (147) hide show
  1. package/index.ts +42 -24
  2. package/package.json +3 -2
  3. package/packages/a2a-adapter/package.json +1 -1
  4. package/packages/agent-policy/package.json +1 -1
  5. package/packages/architecture-generator/package.json +1 -1
  6. package/packages/auth/package.json +1 -1
  7. package/packages/autonomous-refactor/package.json +1 -1
  8. package/packages/autonomous-runtime/package.json +1 -1
  9. package/packages/cache-strategy/package.json +1 -1
  10. package/packages/capability-registry/package.json +1 -1
  11. package/packages/checkpoint/package.json +1 -1
  12. package/packages/cli-plugin-sdk/package.json +1 -1
  13. package/packages/clipboard/package.json +1 -1
  14. package/packages/clipboard-plugin/package.json +1 -1
  15. package/packages/code-generation/package.json +1 -1
  16. package/packages/code-review/package.json +1 -1
  17. package/packages/codex-adapter/package.json +1 -1
  18. package/packages/codex-watcher/package.json +1 -1
  19. package/packages/config-capture/package.json +1 -1
  20. package/packages/connection-runtime/package.json +1 -1
  21. package/packages/context-compiler/package.json +1 -1
  22. package/packages/context-discovery/package.json +1 -1
  23. package/packages/context-manager/package.json +1 -1
  24. package/packages/contracts/package.json +1 -1
  25. package/packages/cookie-sanitizer/package.json +1 -1
  26. package/packages/cost-optimizer/package.json +1 -1
  27. package/packages/dependency-analyzer/package.json +1 -1
  28. package/packages/django-plugin/package.json +1 -1
  29. package/packages/doc-generator/package.json +1 -1
  30. package/packages/durable-review/package.json +1 -1
  31. package/packages/e2e-tester/package.json +1 -1
  32. package/packages/evaluation-engine/package.json +1 -1
  33. package/packages/evaluation-runner/package.json +1 -1
  34. package/packages/event-bus/package.json +1 -1
  35. package/packages/event-sink/package.json +1 -1
  36. package/packages/event-store/package.json +1 -1
  37. package/packages/experience-replay/package.json +1 -1
  38. package/packages/feedback-collector/package.json +1 -1
  39. package/packages/file-copy-helper/package.json +1 -1
  40. package/packages/framework-detector/package.json +1 -1
  41. package/packages/framework-plugin-sdk/package.json +1 -1
  42. package/packages/frappe-plugin/package.json +1 -1
  43. package/packages/generic-web-plugin/package.json +1 -1
  44. package/packages/health-monitor/package.json +1 -1
  45. package/packages/intent-analyzer/package.json +1 -1
  46. package/packages/jev-judge/dist/auto-continue.d.ts.map +1 -1
  47. package/packages/jev-judge/dist/auto-continue.js +26 -0
  48. package/packages/jev-judge/dist/auto-continue.js.map +1 -1
  49. package/packages/jev-judge/dist/environment-judge.d.ts.map +1 -1
  50. package/packages/jev-judge/dist/environment-judge.js +7 -4
  51. package/packages/jev-judge/dist/environment-judge.js.map +1 -1
  52. package/packages/jev-judge/dist/index.d.ts +87 -12
  53. package/packages/jev-judge/dist/index.d.ts.map +1 -1
  54. package/packages/jev-judge/dist/index.js +291 -75
  55. package/packages/jev-judge/dist/index.js.map +1 -1
  56. package/packages/jev-judge/dist/provider-error.d.ts +61 -0
  57. package/packages/jev-judge/dist/provider-error.d.ts.map +1 -0
  58. package/packages/jev-judge/dist/provider-error.js +165 -0
  59. package/packages/jev-judge/dist/provider-error.js.map +1 -0
  60. package/packages/jev-judge/dist/task-intake.d.ts.map +1 -1
  61. package/packages/jev-judge/dist/task-intake.js +3 -2
  62. package/packages/jev-judge/dist/task-intake.js.map +1 -1
  63. package/packages/jev-judge/dist/types.d.ts +56 -2
  64. package/packages/jev-judge/dist/types.d.ts.map +1 -1
  65. package/packages/jev-judge/dist/typesafe-provider.d.ts +26 -1
  66. package/packages/jev-judge/dist/typesafe-provider.d.ts.map +1 -1
  67. package/packages/jev-judge/dist/typesafe-provider.js +153 -62
  68. package/packages/jev-judge/dist/typesafe-provider.js.map +1 -1
  69. package/packages/jev-judge/dist/typesafe-request.d.ts +65 -0
  70. package/packages/jev-judge/dist/typesafe-request.d.ts.map +1 -0
  71. package/packages/jev-judge/dist/typesafe-request.js +138 -0
  72. package/packages/jev-judge/dist/typesafe-request.js.map +1 -0
  73. package/packages/jev-judge/package.json +1 -1
  74. package/packages/jev-judge/src/auto-continue.ts +26 -0
  75. package/packages/jev-judge/src/environment-judge.ts +7 -4
  76. package/packages/jev-judge/src/index.ts +617 -333
  77. package/packages/jev-judge/src/provider-error.ts +190 -0
  78. package/packages/jev-judge/src/task-intake.ts +3 -2
  79. package/packages/jev-judge/src/types.ts +62 -5
  80. package/packages/jev-judge/src/typesafe-provider.ts +452 -318
  81. package/packages/jev-judge/src/typesafe-request.ts +181 -0
  82. package/packages/jev-judge/tests/jev-provider-chain.test.ts +536 -0
  83. package/packages/jev-judge/tests/typesafe-provider.test.ts +504 -44
  84. package/packages/knowledge-graph/package.json +1 -1
  85. package/packages/knowledge-retrieval/package.json +1 -1
  86. package/packages/laravel-plugin/package.json +1 -1
  87. package/packages/learning-engine/package.json +1 -1
  88. package/packages/mcp-adapter/package.json +1 -1
  89. package/packages/memory-engine/package.json +1 -1
  90. package/packages/milestone-manager/package.json +1 -1
  91. package/packages/model-registry/package.json +1 -1
  92. package/packages/nextjs-plugin/package.json +1 -1
  93. package/packages/notification/package.json +1 -1
  94. package/packages/observability/package.json +1 -1
  95. package/packages/okf-indexer/package.json +1 -1
  96. package/packages/paperclip-integration/package.json +1 -1
  97. package/packages/performance-optimizer/package.json +1 -1
  98. package/packages/permission-mode/package.json +1 -1
  99. package/packages/privilege-broker/package.json +1 -1
  100. package/packages/project-analyzer/package.json +1 -1
  101. package/packages/project-bootstrap/package.json +1 -1
  102. package/packages/projection-engine/package.json +1 -1
  103. package/packages/prompt-compiler/package.json +1 -1
  104. package/packages/prompt-versioning/package.json +1 -1
  105. package/packages/provider-adapter-sdk/package.json +1 -1
  106. package/packages/provider-router/package.json +1 -1
  107. package/packages/provider-selector/package.json +1 -1
  108. package/packages/providers/package.json +1 -1
  109. package/packages/qdrant-skills/package.json +1 -1
  110. package/packages/quota-manager/package.json +1 -1
  111. package/packages/rate-limiter/package.json +1 -1
  112. package/packages/react-vite-plugin/package.json +1 -1
  113. package/packages/relay/package.json +1 -1
  114. package/packages/release-manager/package.json +1 -1
  115. package/packages/requirement-compiler/package.json +1 -1
  116. package/packages/runtime/package.json +1 -1
  117. package/packages/scheduler/package.json +1 -1
  118. package/packages/scheduler-adapter/package.json +1 -1
  119. package/packages/session/package.json +1 -1
  120. package/packages/session-api/package.json +1 -1
  121. package/packages/session-export/package.json +1 -1
  122. package/packages/shared-context/package.json +1 -1
  123. package/packages/skill-mcp-client/package.json +1 -1
  124. package/packages/skill-registry/package.json +1 -1
  125. package/packages/skills/package.json +1 -1
  126. package/packages/sprint-planner/package.json +1 -1
  127. package/packages/subscription-engine/package.json +1 -1
  128. package/packages/task-compiler/package.json +1 -1
  129. package/packages/telegram/package.json +1 -1
  130. package/packages/tencentdb-memory/package.json +1 -1
  131. package/packages/tencentdb-sync/package.json +1 -1
  132. package/packages/test-data-generator/package.json +1 -1
  133. package/packages/test-generator/package.json +1 -1
  134. package/packages/todo-bd-sync/package.json +1 -1
  135. package/packages/token-estimation/package.json +1 -1
  136. package/packages/token-optimizer/package.json +1 -1
  137. package/packages/trajectory/package.json +1 -1
  138. package/packages/tui/package.json +1 -1
  139. package/packages/types/package.json +1 -1
  140. package/packages/voice-api/package.json +1 -1
  141. package/packages/webmcp-tester/package.json +1 -1
  142. package/packages/wiki/package.json +1 -1
  143. package/packages/workflow-events/package.json +1 -1
  144. package/packages/workspace-scanner/package.json +1 -1
  145. package/packages/worktree/package.json +1 -1
  146. package/packages/write-review/package.json +1 -1
  147. package/scripts/run-root-tests.mjs +207 -0
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Provider errors for the Jev judge.
3
+ *
4
+ * The judge can talk to more than one provider (TypeSafe direct API first,
5
+ * OpenRouter as a fallback). A failure therefore carries the information the
6
+ * fallback logic needs: which provider failed, whether the failure was an
7
+ * HTTP error, and whether ANOTHER provider could still serve the request.
8
+ */
9
+ /**
10
+ * Error raised by a single Jev provider call.
11
+ */
12
+ export class JevProviderError extends Error {
13
+ provider;
14
+ status;
15
+ retryable;
16
+ constructor(message, options) {
17
+ super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
18
+ this.name = "JevProviderError";
19
+ this.provider = options.provider;
20
+ this.status = options.status;
21
+ this.retryable = options.retryable;
22
+ }
23
+ }
24
+ /**
25
+ * HTTP statuses where another provider (or a later attempt) can still help.
26
+ */
27
+ export function isRetryableStatus(status) {
28
+ if (status === 401 || status === 402 || status === 403)
29
+ return true; // auth / quota
30
+ if (status === 408 || status === 429)
31
+ return true; // timeout / rate limit
32
+ if (status >= 500)
33
+ return true; // server side
34
+ return false;
35
+ }
36
+ /**
37
+ * Extract an HTTP status from an unknown error value.
38
+ */
39
+ export function extractStatus(error) {
40
+ if (typeof error !== "object" || error === null)
41
+ return undefined;
42
+ const status = error.status;
43
+ return typeof status === "number" ? status : undefined;
44
+ }
45
+ /**
46
+ * Error names of the known TRANSPORT failures: the request never reached a
47
+ * server that could reject it, so another provider can still serve it.
48
+ */
49
+ const TRANSPORT_ERROR_NAMES = new Set([
50
+ "AbortError",
51
+ "TimeoutError",
52
+ "APIConnectionError",
53
+ "APIConnectionTimeoutError",
54
+ "APITimeoutError",
55
+ "FetchError",
56
+ "ECONNABORTED",
57
+ "ECONNREFUSED",
58
+ "ECONNRESET",
59
+ "EAI_AGAIN",
60
+ "ENOTFOUND",
61
+ "ETIMEDOUT",
62
+ "UND_ERR_CONNECT_TIMEOUT",
63
+ "UND_ERR_HEADERS_TIMEOUT",
64
+ "UND_ERR_SOCKET",
65
+ ]);
66
+ /** Error codes of the known transport failures. */
67
+ const TRANSPORT_ERROR_CODES = new Set([
68
+ "ECONNABORTED",
69
+ "ECONNREFUSED",
70
+ "ECONNRESET",
71
+ "EAI_AGAIN",
72
+ "ENETDOWN",
73
+ "ENETUNREACH",
74
+ "EHOSTDOWN",
75
+ "EHOSTUNREACH",
76
+ "ENOTFOUND",
77
+ "EPROTO",
78
+ "EPIPE",
79
+ "ETIMEDOUT",
80
+ "ERR_STREAM_PREMATURE_CLOSE",
81
+ "UND_ERR_CONNECT_TIMEOUT",
82
+ "UND_ERR_HEADERS_TIMEOUT",
83
+ "UND_ERR_SOCKET",
84
+ // Certificate verification failures: the endpoint is unreachable for us.
85
+ "CERT_HAS_EXPIRED",
86
+ "SELF_SIGNED_CERT_IN_CHAIN",
87
+ "DEPTH_ZERO_SELF_SIGNED_CERT",
88
+ "UNABLE_TO_VERIFY_LEAF_SIGNATURE",
89
+ ]);
90
+ /**
91
+ * Prefixes of the error codes that always describe a transport failure.
92
+ *
93
+ * undici reports its own failures as UND_ERR_*, the TLS stack as ERR_TLS_*
94
+ * and the network stack as ECONN / EHOST / ENET.
95
+ */
96
+ const TRANSPORT_ERROR_CODE_PREFIXES = [
97
+ "UND_ERR_",
98
+ "ERR_TLS_",
99
+ "ECONN",
100
+ "EHOST",
101
+ "ENET",
102
+ "CERT_",
103
+ "SELF_SIGNED_CERT_",
104
+ "DEPTH_ZERO_",
105
+ "UNABLE_TO_VERIFY_",
106
+ ];
107
+ /**
108
+ * True when the error is a known transport failure (network, timeout, abort).
109
+ *
110
+ * Only these are retryable without an HTTP status: they never reached a
111
+ * server that could have rejected the request. Everything else without a
112
+ * status (a bug in our own code, a malformed response, a parse error) is NOT
113
+ * retryable - a contract bug must stay visible instead of being hidden behind
114
+ * a fallback to another provider.
115
+ */
116
+ export function isTransportError(error) {
117
+ if (typeof error !== "object" || error === null)
118
+ return false;
119
+ const named = error;
120
+ if (typeof named.name === "string" && TRANSPORT_ERROR_NAMES.has(named.name))
121
+ return true;
122
+ if (typeof named.code === "string" && isTransportCode(named.code))
123
+ return true;
124
+ // An AggregateError collects the failures of several addresses (undici
125
+ // tries them one after the other) - one of them being a transport
126
+ // failure makes the whole attempt a transport failure.
127
+ if (Array.isArray(named.errors) && named.errors.some((entry) => isTransportError(entry))) {
128
+ return true;
129
+ }
130
+ // Node/undici wrap the real cause (e.g. ECONNREFUSED) one level deeper.
131
+ if (named.cause !== undefined && named.cause !== error) {
132
+ return isTransportError(named.cause);
133
+ }
134
+ return false;
135
+ }
136
+ /**
137
+ * True when the error code describes a transport failure.
138
+ */
139
+ function isTransportCode(code) {
140
+ if (TRANSPORT_ERROR_CODES.has(code))
141
+ return true;
142
+ return TRANSPORT_ERROR_CODE_PREFIXES.some((prefix) => code.startsWith(prefix));
143
+ }
144
+ /**
145
+ * Wrap any thrown value into a JevProviderError.
146
+ *
147
+ * A failure with an HTTP status is retryable when the status says so (see
148
+ * `isRetryableStatus`). A failure WITHOUT a status is only retryable when it
149
+ * is a known transport failure (network, timeout, abort) - an unknown error
150
+ * is most likely a bug in our own code and must not disappear behind a
151
+ * fallback to another provider.
152
+ */
153
+ export function toProviderError(error, provider) {
154
+ if (error instanceof JevProviderError)
155
+ return error;
156
+ const status = extractStatus(error);
157
+ const message = error instanceof Error ? error.message : String(error);
158
+ return new JevProviderError(`${provider} provider failed: ${message}`, {
159
+ provider,
160
+ status,
161
+ retryable: status === undefined ? isTransportError(error) : isRetryableStatus(status),
162
+ cause: error,
163
+ });
164
+ }
165
+ //# sourceMappingURL=provider-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-error.js","sourceRoot":"","sources":["../src/provider-error.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-intake.d.ts","sourceRoot":"","sources":["../src/task-intake.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB;IACzB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IACpD,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAG7C,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAY,MAAM,EAAE,gBAAgB,EAUnC;IAED;;OAEG;IACH,WAAW,IAAI,OAAO,CAErB;IAED;;OAEG;IACG,QAAQ,CACb,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,MAAM,EAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;IAED;;OAEG;IACG,iBAAiB,CACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE;QAAE,WAAW,EAAE,MAAM,OAAO,CAAC;YAAE,KAAK,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAA;KAAE,GAC3G,OAAO,CAAC,gBAAgB,CAAC,CA+C3B;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAExB;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,YAAY,IAAI,IAAI,CAEnB;IAED;;OAEG;YACW,SAAS;IAwFvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0EvB;;;;OAIG;IACG,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAaf;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAGZ;CACD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,CAE/E"}
1
+ {"version":3,"file":"task-intake.d.ts","sourceRoot":"","sources":["../src/task-intake.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB;IACzB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IACpD,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAG7C,OAAO,CAAC,QAAQ,CAAS;IAEzB,YAAY,MAAM,EAAE,gBAAgB,EAWnC;IAED;;OAEG;IACH,WAAW,IAAI,OAAO,CAErB;IAED;;OAEG;IACG,QAAQ,CACb,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,MAAM,EAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAE3B;IAED;;OAEG;IACG,iBAAiB,CACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE;QAAE,WAAW,EAAE,MAAM,OAAO,CAAC;YAAE,KAAK,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAA;KAAE,GAC3G,OAAO,CAAC,gBAAgB,CAAC,CA+C3B;IAED;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAExB;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,YAAY,IAAI,IAAI,CAEnB;IAED;;OAEG;YACW,SAAS;IAwFvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0EvB;;;;OAIG;IACG,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAaf;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAGZ;CACD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,CAE/E"}
@@ -28,8 +28,9 @@ export class TaskIntakeController {
28
28
  actionableThreshold: 0.7,
29
29
  ...config,
30
30
  };
31
- // Initialize Jev if API key is available
32
- if (config.apiKey) {
31
+ // Initialize Jev when a provider is available (an explicit provider
32
+ // chain or a legacy single key)
33
+ if ((config.providers && config.providers.length > 0) || config.apiKey) {
33
34
  this.jev = new JevJudge(config);
34
35
  }
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-intake.js","sourceRoot":"","sources":["../src/task-intake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-intake.js","sourceRoot":"","sources":["../src/task-intake.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,40 @@ export interface JevNoulQuestion {
12
12
  export interface JevChoiceQuestion<T extends string = string> {
13
13
  type: "choice";
14
14
  instructions: string;
15
- options: T[];
15
+ /**
16
+ * Candidate names.
17
+ *
18
+ * The TypeSafe API does not know about `options`: it expects `criteria` as a
19
+ * DICTIONARY of `name -> description` (a list is rejected by the API with
20
+ * 422 "Input should be a valid dictionary"). `options` stays the ergonomic
21
+ * way to name the candidates.
22
+ */
23
+ options?: T[];
24
+ /**
25
+ * Choice criteria. A dictionary is used as-is; a list of names is converted
26
+ * to a dictionary whose description is the name itself. Takes precedence
27
+ * over `options`.
28
+ */
29
+ criteria?: Record<string, string> | string[];
30
+ /** Optional description per option name (used together with `options`). */
31
+ optionDescriptions?: Record<string, string>;
16
32
  }
17
33
  export interface JevScoreQuestion {
18
34
  type: "score";
19
35
  instructions: string;
36
+ /** Lower bound of the reported scale (default 0). */
20
37
  min?: number;
38
+ /** Upper bound of the reported scale (default 100). */
21
39
  max?: number;
40
+ /**
41
+ * Ordered rubric levels, lowest first.
42
+ *
43
+ * The TypeSafe API requires a rubric for score questions: the answer is the
44
+ * probability-weighted POSITION in this list (0 .. levels-1), never an
45
+ * arbitrary number. `min`/`max` only describe the scale the answer is
46
+ * reported on; when no rubric is given one is derived from them.
47
+ */
48
+ criteria?: string[];
22
49
  }
23
50
  export type JevQuestion = JevNoulQuestion | JevChoiceQuestion | JevScoreQuestion;
24
51
  export type JevQuestions<T extends string = string> = Partial<Record<T, JevQuestion>>;
@@ -50,6 +77,8 @@ export interface JevEvaluationResult<T extends string = string> {
50
77
  state: string;
51
78
  latencyMs: number;
52
79
  model: string;
80
+ /** The provider that served the request (when a provider chain is used). */
81
+ provider?: JevProviderName;
53
82
  }
54
83
  export interface ThresholdDecision {
55
84
  shouldAct: boolean;
@@ -57,10 +86,35 @@ export interface ThresholdDecision {
57
86
  confidence: "high" | "medium" | "low";
58
87
  action: "proceed" | "review" | "block";
59
88
  }
60
- export interface JevJudgeConfig {
89
+ export type JevProviderName = "typesafe" | "openrouter";
90
+ /**
91
+ * A provider bound to its OWN credential.
92
+ *
93
+ * Credentials are never shared between providers: a TypeSafe key is only ever
94
+ * sent to the TypeSafe API and an OpenRouter key only to OpenRouter.
95
+ */
96
+ export interface JevProviderConfig {
97
+ provider: JevProviderName;
61
98
  apiKey: string;
99
+ baseUrl: string;
100
+ model: string;
101
+ }
102
+ export interface JevJudgeConfig {
103
+ /**
104
+ * Legacy single-provider key. Prefer `providers`: a bare key cannot be
105
+ * bound to a provider, which is how an OpenRouter key used to end up being
106
+ * sent to the TypeSafe API.
107
+ */
108
+ apiKey?: string;
62
109
  baseUrl?: string;
63
110
  model?: string;
111
+ /**
112
+ * Explicit provider chain, tried in order. A provider is only used for the
113
+ * next attempt when the previous one failed with a retryable error
114
+ * (network, timeout, rate limit, auth, 5xx) - never for a request contract
115
+ * error, which is a bug that must stay visible.
116
+ */
117
+ providers?: JevProviderConfig[];
64
118
  defaultThreshold?: number;
65
119
  timeoutMs?: number;
66
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@
6
6
  *
7
7
  * API: POST https://api.typesafe.ai/v1/systemone
8
8
  * Auth: Bearer token (TYPESAFE_API_KEY)
9
+ *
10
+ * The request contract (choice criteria as a dictionary, score questions with
11
+ * a mandatory rubric) is implemented in ./typesafe-request.ts; the mapping was
12
+ * verified against the live endpoint.
9
13
  */
10
14
  import type { JevQuestions, JevEvaluationResult } from "./types.js";
11
15
  /**
@@ -30,6 +34,13 @@ export declare class TypeSafeJudge {
30
34
  * Evaluate state against questions using TypeSafe API
31
35
  */
32
36
  evaluate<T extends string>(state: string | object, questions: JevQuestions<T>): Promise<JevEvaluationResult<T>>;
37
+ /**
38
+ * Build the API request and validate it against the API contract.
39
+ *
40
+ * The returned `request` is the wire format; `scoreScales` is local
41
+ * bookkeeping and is never sent to the API (it rejects unknown fields).
42
+ */
43
+ private buildRequest;
33
44
  /**
34
45
  * Quick noul (yes/no) evaluation
35
46
  */
@@ -60,8 +71,22 @@ export declare class TypeSafeJudge {
60
71
  */
61
72
  private getConfidence;
62
73
  }
74
+ /**
75
+ * Determine the provider that owns a base URL.
76
+ *
77
+ * The provider is derived from the ENDPOINT, never from the shape of a key:
78
+ * guessing from a key is how an OpenRouter key ended up being sent to the
79
+ * TypeSafe API.
80
+ */
81
+ export declare function providerForBaseUrl(baseUrl: string): "typesafe" | "openrouter";
63
82
  /**
64
83
  * Detect which provider to use based on API key or config
84
+ *
85
+ * @deprecated The provider cannot be derived from a key - a bare key says
86
+ * nothing about the endpoint it belongs to, and guessing from its length is
87
+ * how an OpenRouter key ended up being sent to the TypeSafe API. Pass the
88
+ * `baseUrl` of the provider, or use `resolveJevProviders()` (see ./index.ts),
89
+ * which binds every credential to its own provider.
65
90
  */
66
- export declare function detectProvider(apiKey: string, baseUrl?: string): "typesafe" | "openrouter";
91
+ export declare function detectProvider(_apiKey: string, baseUrl?: string): "typesafe" | "openrouter";
67
92
  //# sourceMappingURL=typesafe-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesafe-provider.d.ts","sourceRoot":"","sources":["../src/typesafe-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,YAAY,EAGZ,mBAAmB,EAIpB,MAAM,YAAY,CAAC;AAkDpB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA2B;IAEzC,YAAY,MAAM,EAAE,cAAc,EAKjC;IAED;;OAEG;IACG,QAAQ,CAAC,CAAC,SAAS,MAAM,EAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA2EjC;IAED;;OAEG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;KAAE,CAAC,CAWlE;IAED;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,EAAE,GACX,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAW5C;IAED;;OAEG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAI,EACP,GAAG,SAAM,GACR,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAWhD;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IAiGrB;;OAEG;IACH,OAAO,CAAC,aAAa;CAOtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,UAAU,GAAG,YAAY,CAgB3B"}
1
+ {"version":3,"file":"typesafe-provider.d.ts","sourceRoot":"","sources":["../src/typesafe-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAEX,YAAY,EAGZ,mBAAmB,EAInB,MAAM,YAAY,CAAC;AAgEpB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAWD;;;;;GAKG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAA2B;IAEzC,YAAY,MAAM,EAAE,cAAc,EAKjC;IAED;;OAEG;IACG,QAAQ,CAAC,CAAC,SAAS,MAAM,EAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAgFjC;IAED;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAkDpB;;OAEG;IACG,IAAI,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;KAAE,CAAC,CAWlE;IAED;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,EAAE,GACV,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAW5C;IAED;;OAEG;IACG,KAAK,CACV,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAI,EACP,GAAG,SAAM,GACP,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAWhD;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IA0HrB;;OAEG;IACH,OAAO,CAAC,aAAa;CAOrB;AAoBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAM7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACd,UAAU,GAAG,YAAY,CAO3B"}