pi-harness-runtime 1.1.403 → 1.1.404
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.
- package/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/agent-policy/package.json +1 -1
- package/packages/architecture-generator/package.json +1 -1
- package/packages/auth/package.json +1 -1
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard-plugin/package.json +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/codex-watcher/package.json +1 -1
- package/packages/config-capture/package.json +1 -1
- package/packages/connection-runtime/package.json +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/contracts/package.json +1 -1
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/package.json +1 -1
- package/packages/doc-generator/package.json +1 -1
- package/packages/durable-review/package.json +1 -1
- package/packages/e2e-tester/package.json +1 -1
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-sink/package.json +1 -1
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/package.json +1 -1
- package/packages/feedback-collector/package.json +1 -1
- package/packages/file-copy-helper/package.json +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/health-monitor/package.json +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/jev-judge/dist/auto-continue.d.ts +6 -0
- package/packages/jev-judge/dist/auto-continue.d.ts.map +1 -1
- package/packages/jev-judge/dist/auto-continue.js +13 -3
- package/packages/jev-judge/dist/auto-continue.js.map +1 -1
- package/packages/jev-judge/package.json +1 -1
- package/packages/jev-judge/src/auto-continue.ts +17 -3
- package/packages/jev-judge/tests/auto-continue-context.test.ts +37 -0
- package/packages/knowledge-graph/package.json +1 -1
- package/packages/knowledge-retrieval/package.json +1 -1
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/logging/package.json +1 -1
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/package.json +1 -1
- package/packages/milestone-manager/package.json +1 -1
- package/packages/model-registry/package.json +1 -1
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/okf-indexer/package.json +1 -1
- package/packages/paperclip-integration/package.json +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/permission-mode/package.json +1 -1
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-bootstrap/package.json +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/qdrant-skills/package.json +1 -1
- package/packages/quota-manager/package.json +1 -1
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/relay/package.json +1 -1
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-mcp-client/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/skills/package.json +1 -1
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/package.json +1 -1
- package/packages/telegram/package.json +1 -1
- package/packages/tencentdb-memory/package.json +1 -1
- package/packages/tencentdb-sync/package.json +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/todo-bd-sync/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/voice-api/package.json +1 -1
- package/packages/webmcp-tester/package.json +1 -1
- package/packages/wiki/package.json +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/package.json +1 -1
- package/packages/write-review/package.json +1 -1
|
@@ -118,10 +118,17 @@ export interface DecisionPolicyResult {
|
|
|
118
118
|
export interface DecisionPolicyOptions {
|
|
119
119
|
/** The confidence an autonomous approval needs. */
|
|
120
120
|
confidenceThreshold?: number;
|
|
121
|
+
/** The confidence a cautious approval needs (lower than the approval threshold). */
|
|
122
|
+
cautionThreshold?: number;
|
|
121
123
|
/** The confidence of the proposed outcome. */
|
|
122
124
|
confidence?: number;
|
|
123
125
|
}
|
|
124
126
|
|
|
127
|
+
/** The confidence an autonomous approval needs by default. */
|
|
128
|
+
export const DEFAULT_PROCEED_THRESHOLD = 0.7;
|
|
129
|
+
/** The confidence a cautious approval needs by default. */
|
|
130
|
+
export const DEFAULT_CAUTION_THRESHOLD = 0.5;
|
|
131
|
+
|
|
125
132
|
/**
|
|
126
133
|
* Is the value a known outcome?
|
|
127
134
|
*
|
|
@@ -226,7 +233,13 @@ export function applyDecisionPolicy(
|
|
|
226
233
|
};
|
|
227
234
|
}
|
|
228
235
|
|
|
229
|
-
|
|
236
|
+
// The threshold belongs to the outcome: a cautious approval needs the
|
|
237
|
+
// caution threshold, the higher approval threshold is reserved for a
|
|
238
|
+
// full approval. The configured caution range must really proceed.
|
|
239
|
+
const threshold =
|
|
240
|
+
proposed === "proceed_with_caution"
|
|
241
|
+
? (options?.cautionThreshold ?? DEFAULT_CAUTION_THRESHOLD)
|
|
242
|
+
: (options?.confidenceThreshold ?? DEFAULT_PROCEED_THRESHOLD);
|
|
230
243
|
const confidence = options?.confidence;
|
|
231
244
|
if (typeof confidence === "number" && confidence < threshold) {
|
|
232
245
|
return {
|
|
@@ -307,8 +320,8 @@ export interface AutoContinueConfig extends JevJudgeConfig {
|
|
|
307
320
|
* Default configuration
|
|
308
321
|
*/
|
|
309
322
|
const DEFAULT_CONFIG = {
|
|
310
|
-
proceedThreshold:
|
|
311
|
-
cautionThreshold:
|
|
323
|
+
proceedThreshold: DEFAULT_PROCEED_THRESHOLD,
|
|
324
|
+
cautionThreshold: DEFAULT_CAUTION_THRESHOLD,
|
|
312
325
|
maxWaitMinutes: 30,
|
|
313
326
|
fallbackAction: "wait" as const,
|
|
314
327
|
};
|
|
@@ -435,6 +448,7 @@ export class AutoContinueJudge {
|
|
|
435
448
|
): AutoContinueDecision {
|
|
436
449
|
const policy = applyDecisionPolicy(decision.outcome, taskState.context, {
|
|
437
450
|
confidenceThreshold: this.config.proceedThreshold,
|
|
451
|
+
cautionThreshold: this.config.cautionThreshold,
|
|
438
452
|
confidence: decision.probability,
|
|
439
453
|
});
|
|
440
454
|
|
|
@@ -13,6 +13,8 @@ import {
|
|
|
13
13
|
buildDecisionState,
|
|
14
14
|
createTaskState,
|
|
15
15
|
isEligibleForDecision,
|
|
16
|
+
DEFAULT_CAUTION_THRESHOLD,
|
|
17
|
+
DEFAULT_PROCEED_THRESHOLD,
|
|
16
18
|
MAX_LISTED_TASKS,
|
|
17
19
|
MAX_QUESTION_CHARS,
|
|
18
20
|
type DecisionContext,
|
|
@@ -226,6 +228,41 @@ describe("decision policy", () => {
|
|
|
226
228
|
expect(result.appliedRule).toBe("confidence-below-threshold");
|
|
227
229
|
});
|
|
228
230
|
|
|
231
|
+
it("keeps the configured caution range out of the approval threshold", () => {
|
|
232
|
+
// A cautious approval needs the caution threshold, not the higher
|
|
233
|
+
// approval threshold: the configured range must really proceed.
|
|
234
|
+
const result = applyDecisionPolicy("proceed_with_caution", context(), {
|
|
235
|
+
confidence: 0.6,
|
|
236
|
+
confidenceThreshold: DEFAULT_PROCEED_THRESHOLD,
|
|
237
|
+
cautionThreshold: DEFAULT_CAUTION_THRESHOLD,
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
expect(result.outcome).toBe("proceed_with_caution");
|
|
241
|
+
expect(result.appliedRule).toBeUndefined();
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
it("waits for a cautious approval below the caution threshold", () => {
|
|
245
|
+
const result = applyDecisionPolicy("proceed_with_caution", context(), {
|
|
246
|
+
confidence: 0.4,
|
|
247
|
+
confidenceThreshold: DEFAULT_PROCEED_THRESHOLD,
|
|
248
|
+
cautionThreshold: DEFAULT_CAUTION_THRESHOLD,
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
expect(result.outcome).toBe("wait");
|
|
252
|
+
expect(result.appliedRule).toBe("confidence-below-threshold");
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
it("keeps the approval threshold for a full approval", () => {
|
|
256
|
+
const result = applyDecisionPolicy("approve", context(), {
|
|
257
|
+
confidence: 0.6,
|
|
258
|
+
confidenceThreshold: DEFAULT_PROCEED_THRESHOLD,
|
|
259
|
+
cautionThreshold: DEFAULT_CAUTION_THRESHOLD,
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
expect(result.outcome).toBe("wait");
|
|
263
|
+
expect(result.appliedRule).toBe("confidence-below-threshold");
|
|
264
|
+
});
|
|
265
|
+
|
|
229
266
|
it("approves a low risk approval with a high confidence", () => {
|
|
230
267
|
const result = applyDecisionPolicy("approve", context(), {
|
|
231
268
|
confidence: 0.9,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.404",
|
|
4
4
|
"description": "Enhanced Provider Router for pi-harness-runtime — intelligent routing with capabilities, costs, and quotas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/provider-router.js",
|