pi-harness-runtime 1.1.356 → 1.1.357
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/index.ts +11 -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/delegation-harness.d.ts +33 -0
- package/packages/jev-judge/dist/delegation-harness.d.ts.map +1 -0
- package/packages/jev-judge/dist/delegation-harness.js +112 -0
- package/packages/jev-judge/dist/delegation-harness.js.map +1 -0
- package/packages/jev-judge/package.json +1 -1
- package/packages/jev-judge/src/delegation-harness.ts +164 -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/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
package/index.ts
CHANGED
|
@@ -136,6 +136,8 @@ const sharedState = {
|
|
|
136
136
|
updateAutoContinueStatus: null as any,
|
|
137
137
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
138
138
|
pqController: null as any,
|
|
139
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
140
|
+
delegationHarness: null as any,
|
|
139
141
|
};
|
|
140
142
|
|
|
141
143
|
async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
@@ -162,6 +164,15 @@ async function initAutoContinue(pi: ExtensionAPI): Promise<void> {
|
|
|
162
164
|
const pqController = createPendingQuestionController();
|
|
163
165
|
sharedState.pqController = pqController;
|
|
164
166
|
|
|
167
|
+
// Initialize delegation harness for large refactor assessment
|
|
168
|
+
const { createDelegationHarness } = await import("./packages/jev-judge/dist/delegation-harness.js");
|
|
169
|
+
sharedState.delegationHarness = createDelegationHarness(pi, {
|
|
170
|
+
minFiles: 10,
|
|
171
|
+
minCallSites: 50,
|
|
172
|
+
minComponents: 2,
|
|
173
|
+
});
|
|
174
|
+
logStartup("[pi-harness] Delegation harness initialized");
|
|
175
|
+
|
|
165
176
|
if (!hasEnvKey && !hasFileKey) {
|
|
166
177
|
addHarnessMessage("Jev", "API key missing; question detection active, auto-continue unavailable", "warn", [
|
|
167
178
|
"Set TYPESAFE_API_KEY or ~/.pi-harness-runtime/keys/jev-api-key.txt to enable auto-continue.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.357",
|
|
4
4
|
"description": "Capability Registry for pi-harness-runtime — tracks model capabilities and enables capability-based routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation Harness Integration
|
|
3
|
+
*
|
|
4
|
+
* Connects delegation assessment to the harness runtime.
|
|
5
|
+
*/
|
|
6
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
7
|
+
import type { ExtensionCapability } from "@pi-harness/contracts";
|
|
8
|
+
import { type DelegationDecision } from "@pi-harness/contracts";
|
|
9
|
+
import type { DelegationReceipt, ScopeFacts } from "@pi-harness/contracts";
|
|
10
|
+
/**
|
|
11
|
+
* Delegation harness configuration
|
|
12
|
+
*/
|
|
13
|
+
export interface DelegationHarnessConfig {
|
|
14
|
+
/** Minimum files to trigger assessment */
|
|
15
|
+
minFiles?: number;
|
|
16
|
+
/** Minimum call sites to trigger assessment */
|
|
17
|
+
minCallSites?: number;
|
|
18
|
+
/** Minimum independent components for delegation */
|
|
19
|
+
minComponents?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create delegation harness integration
|
|
23
|
+
*/
|
|
24
|
+
export declare function createDelegationHarness(pi: ExtensionAPI, config?: DelegationHarnessConfig): {
|
|
25
|
+
discoverCapability: () => Promise<ExtensionCapability | null>;
|
|
26
|
+
shouldAssess: (facts: ScopeFacts) => boolean;
|
|
27
|
+
assess: (facts: ScopeFacts, parentTaskId: string) => Promise<DelegationDecision | null>;
|
|
28
|
+
getReceipt: () => DelegationReceipt | null;
|
|
29
|
+
getLastDecision: () => DelegationDecision | null;
|
|
30
|
+
clear: () => void;
|
|
31
|
+
};
|
|
32
|
+
export type DelegationHarness = ReturnType<typeof createDelegationHarness>;
|
|
33
|
+
//# sourceMappingURL=delegation-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation-harness.d.ts","sourceRoot":"","sources":["../src/delegation-harness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAWD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,YAAY,EAChB,MAAM,GAAE,uBAA4B;8BAeC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;0BAW3C,UAAU,KAAG,OAAO;oBAWxC,UAAU,gBACH,MAAM,KACnB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;sBAiDd,iBAAiB,GAAG,IAAI;2BAOnB,kBAAkB,GAAG,IAAI;iBAOnC,IAAI;EAavB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation Harness Integration
|
|
3
|
+
*
|
|
4
|
+
* Connects delegation assessment to the harness runtime.
|
|
5
|
+
*/
|
|
6
|
+
import { discoverDelegationCapability, makeDeterministicAssessment, } from "@pi-harness/contracts";
|
|
7
|
+
import { saveDelegationReceipt, loadDelegationReceipt, hasReceipt, } from "@pi-harness/contracts";
|
|
8
|
+
/**
|
|
9
|
+
* Create delegation harness integration
|
|
10
|
+
*/
|
|
11
|
+
export function createDelegationHarness(pi, config = {}) {
|
|
12
|
+
const state = {
|
|
13
|
+
currentReceipt: null,
|
|
14
|
+
capability: null,
|
|
15
|
+
lastAssessment: null,
|
|
16
|
+
};
|
|
17
|
+
const minFiles = config.minFiles ?? 10;
|
|
18
|
+
const minCallSites = config.minCallSites ?? 50;
|
|
19
|
+
const minComponents = config.minComponents ?? 2;
|
|
20
|
+
/**
|
|
21
|
+
* Discover and cache delegation capability
|
|
22
|
+
*/
|
|
23
|
+
async function discoverCapability() {
|
|
24
|
+
if (state.capability) {
|
|
25
|
+
return state.capability;
|
|
26
|
+
}
|
|
27
|
+
state.capability = await discoverDelegationCapability(pi);
|
|
28
|
+
return state.capability;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if delegation assessment should be triggered
|
|
32
|
+
*/
|
|
33
|
+
function shouldAssess(facts) {
|
|
34
|
+
if (facts.observedFiles >= minFiles)
|
|
35
|
+
return true;
|
|
36
|
+
if (facts.observedCallSites >= minCallSites)
|
|
37
|
+
return true;
|
|
38
|
+
if (facts.independentComponents >= minComponents)
|
|
39
|
+
return true;
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Assess delegation for given scope facts
|
|
44
|
+
*/
|
|
45
|
+
async function assess(facts, parentTaskId) {
|
|
46
|
+
// Check if assessment should trigger
|
|
47
|
+
if (!shouldAssess(facts)) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
// Check for existing receipt (avoid reassessment)
|
|
51
|
+
const workspacePath = process.cwd();
|
|
52
|
+
if (hasReceipt(workspacePath, parentTaskId)) {
|
|
53
|
+
const existing = loadDelegationReceipt(workspacePath, parentTaskId);
|
|
54
|
+
if (existing && existing.scopeFingerprint === facts.fingerprint) {
|
|
55
|
+
state.currentReceipt = existing;
|
|
56
|
+
return existing.decision;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Discover capability
|
|
60
|
+
const capability = await discoverCapability();
|
|
61
|
+
// Make assessment
|
|
62
|
+
const decision = makeDeterministicAssessment(facts, capability);
|
|
63
|
+
state.lastAssessment = decision;
|
|
64
|
+
// Create receipt
|
|
65
|
+
const receipt = {
|
|
66
|
+
version: 1,
|
|
67
|
+
workspacePath,
|
|
68
|
+
sessionId: pi.getSessionName?.() ?? "unknown",
|
|
69
|
+
parentTaskId,
|
|
70
|
+
scopeFingerprint: facts.fingerprint,
|
|
71
|
+
decision,
|
|
72
|
+
createdAt: Date.now(),
|
|
73
|
+
updatedAt: Date.now(),
|
|
74
|
+
status: "assessing",
|
|
75
|
+
childIds: [],
|
|
76
|
+
pendingValidation: [],
|
|
77
|
+
userConstraints: [],
|
|
78
|
+
};
|
|
79
|
+
// Save receipt
|
|
80
|
+
saveDelegationReceipt(receipt);
|
|
81
|
+
state.currentReceipt = receipt;
|
|
82
|
+
return decision;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get current receipt
|
|
86
|
+
*/
|
|
87
|
+
function getReceipt() {
|
|
88
|
+
return state.currentReceipt;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get current assessment decision
|
|
92
|
+
*/
|
|
93
|
+
function getLastDecision() {
|
|
94
|
+
return state.lastAssessment;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Clear cached state (on session switch)
|
|
98
|
+
*/
|
|
99
|
+
function clear() {
|
|
100
|
+
state.currentReceipt = null;
|
|
101
|
+
state.lastAssessment = null;
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
discoverCapability,
|
|
105
|
+
shouldAssess,
|
|
106
|
+
assess,
|
|
107
|
+
getReceipt,
|
|
108
|
+
getLastDecision,
|
|
109
|
+
clear,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=delegation-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation-harness.js","sourceRoot":"","sources":["../src/delegation-harness.ts"],"names":[],"mappings":"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"}
|