pi-harness-runtime 1.1.318 → 1.1.320
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/package.json +4 -2
- 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/context-compiler/package.json +1 -1
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/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/dist/client.d.ts +46 -0
- package/packages/durable-review/dist/client.d.ts.map +1 -0
- package/packages/durable-review/dist/client.js +88 -0
- package/packages/durable-review/dist/client.js.map +1 -0
- package/packages/durable-review/dist/documents.d.ts +82 -0
- package/packages/durable-review/dist/documents.d.ts.map +1 -0
- package/packages/durable-review/dist/documents.js +65 -0
- package/packages/durable-review/dist/documents.js.map +1 -0
- package/packages/durable-review/dist/extension.d.ts +31 -0
- package/packages/durable-review/dist/extension.d.ts.map +1 -0
- package/packages/durable-review/dist/extension.js +123 -0
- package/packages/durable-review/dist/extension.js.map +1 -0
- package/packages/durable-review/dist/index.d.ts +12 -0
- package/packages/durable-review/dist/index.d.ts.map +1 -0
- package/packages/durable-review/dist/index.js +18 -0
- package/packages/durable-review/dist/index.js.map +1 -0
- package/packages/durable-review/dist/reviewer.d.ts +67 -0
- package/packages/durable-review/dist/reviewer.d.ts.map +1 -0
- package/packages/durable-review/dist/reviewer.js +119 -0
- package/packages/durable-review/dist/reviewer.js.map +1 -0
- package/packages/durable-review/dist/service.d.ts +52 -0
- package/packages/durable-review/dist/service.d.ts.map +1 -0
- package/packages/durable-review/dist/service.js +119 -0
- package/packages/durable-review/dist/service.js.map +1 -0
- package/packages/durable-review/dist/types.d.ts +139 -0
- package/packages/durable-review/dist/types.d.ts.map +1 -0
- package/packages/durable-review/dist/types.js +58 -0
- package/packages/durable-review/dist/types.js.map +1 -0
- package/packages/durable-review/dist/worker.d.ts +56 -0
- package/packages/durable-review/dist/worker.d.ts.map +1 -0
- package/packages/durable-review/dist/worker.js +163 -0
- package/packages/durable-review/dist/worker.js.map +1 -0
- package/packages/durable-review/package.json +33 -0
- package/packages/durable-review/src/client.ts +117 -0
- package/packages/durable-review/src/documents.ts +134 -0
- package/packages/durable-review/src/extension.ts +150 -0
- package/packages/durable-review/src/index.ts +23 -0
- package/packages/durable-review/src/reviewer.ts +166 -0
- package/packages/durable-review/src/service.ts +144 -0
- package/packages/durable-review/src/types.ts +183 -0
- package/packages/durable-review/src/worker.ts +232 -0
- package/packages/durable-review/test/acceptance.test.ts +335 -0
- package/packages/durable-review/test/smoke.test.ts +69 -0
- 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-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/package.json +1 -1
- 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/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/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/webmcp-tester/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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-harness-runtime",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.320",
|
|
4
4
|
"description": "[BETA] Codex-style /usage status + autonomous coding harness for pi. Not production ready — expect breaking changes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
]
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
|
-
"@earendil-works/pi-ai": "
|
|
77
|
+
"@earendil-works/pi-ai": "^1.3.0",
|
|
78
78
|
"@earendil-works/pi-coding-agent": "*",
|
|
79
79
|
"@earendil-works/pi-tui": "*",
|
|
80
80
|
"typebox": "*"
|
|
@@ -95,6 +95,8 @@
|
|
|
95
95
|
"packages/*"
|
|
96
96
|
],
|
|
97
97
|
"dependencies": {
|
|
98
|
+
"@earendil-works/chord": "^1.3.0",
|
|
99
|
+
"@earendil-works/pi-durable": "^1.3.0",
|
|
98
100
|
"@langchain/core": "^1.2.9",
|
|
99
101
|
"@langchain/langgraph": "^1.4.13",
|
|
100
102
|
"@langchain/langgraph-checkpoint": "^1.1.5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.320",
|
|
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,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Review Client
|
|
3
|
+
*
|
|
4
|
+
* Pi-to-worker client, readiness and connection errors.
|
|
5
|
+
*/
|
|
6
|
+
import type { ReviewRequest, ReviewStatusResponse } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Client error types
|
|
9
|
+
*/
|
|
10
|
+
export declare class ClientError extends Error {
|
|
11
|
+
constructor(message: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class NotReadyError extends ClientError {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class BusyError extends ClientError {
|
|
17
|
+
constructor(message?: string);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Check if worker is running for workspace
|
|
21
|
+
*/
|
|
22
|
+
export declare function isWorkerRunning(workspaceKey: string): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Submit review request to worker
|
|
25
|
+
*/
|
|
26
|
+
export declare function submitReviewRequest(request: ReviewRequest): Promise<{
|
|
27
|
+
jobId: string;
|
|
28
|
+
status: ReviewStatusResponse;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Get review job status
|
|
32
|
+
*/
|
|
33
|
+
export declare function getReviewStatus(jobId: string, workspacePath: string): Promise<ReviewStatusResponse | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Cancel a review job
|
|
36
|
+
*/
|
|
37
|
+
export declare function cancelReview(jobId: string, workspacePath: string): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Check worker readiness
|
|
40
|
+
*/
|
|
41
|
+
export declare function checkWorkerReady(workspacePath: string): Promise<{
|
|
42
|
+
ready: boolean;
|
|
43
|
+
pendingJobs?: number;
|
|
44
|
+
error?: string;
|
|
45
|
+
}>;
|
|
46
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGtE;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,aAAc,SAAQ,WAAW;IAC5C,YAAY,OAAO,SAAwB,EAG1C;CACF;AAED,qBAAa,SAAU,SAAQ,WAAW;IACxC,YAAY,OAAO,SAAuC,EAGzD;CACF;AASD;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAY1D;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAGtC;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAeD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Review Client
|
|
3
|
+
*
|
|
4
|
+
* Pi-to-worker client, readiness and connection errors.
|
|
5
|
+
*/
|
|
6
|
+
import { existsSync } from "node:fs";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { hashWorkspaceKey, getWorkspaceDir } from "./service.js";
|
|
9
|
+
/**
|
|
10
|
+
* Client error types
|
|
11
|
+
*/
|
|
12
|
+
export class ClientError extends Error {
|
|
13
|
+
constructor(message) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = "ClientError";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class NotReadyError extends ClientError {
|
|
19
|
+
constructor(message = "Worker is not ready") {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = "NotReadyError";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class BusyError extends ClientError {
|
|
25
|
+
constructor(message = "Worker is busy with another review") {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = "BusyError";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get worker socket path for workspace
|
|
32
|
+
*/
|
|
33
|
+
function getWorkerSocketPath(workspaceKey) {
|
|
34
|
+
return join(getWorkspaceDir(workspaceKey), ".worker.sock");
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if worker is running for workspace
|
|
38
|
+
*/
|
|
39
|
+
export function isWorkerRunning(workspaceKey) {
|
|
40
|
+
const socketPath = getWorkerSocketPath(workspaceKey);
|
|
41
|
+
// Simple check - socket file exists
|
|
42
|
+
// In production, would use actual socket connectivity check
|
|
43
|
+
return existsSync(socketPath);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Submit review request to worker
|
|
47
|
+
*/
|
|
48
|
+
export async function submitReviewRequest(request) {
|
|
49
|
+
const workspaceKey = hashWorkspaceKey(request.input.workspacePath);
|
|
50
|
+
if (!isWorkerRunning(workspaceKey)) {
|
|
51
|
+
throw new NotReadyError(`No worker running for workspace. Start worker first or set HARNESS_DURABLE_REVIEW=1.`);
|
|
52
|
+
}
|
|
53
|
+
// TODO: Implement actual IPC to worker
|
|
54
|
+
// For now, return a placeholder
|
|
55
|
+
throw new ClientError("IPC to worker not yet implemented");
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get review job status
|
|
59
|
+
*/
|
|
60
|
+
export async function getReviewStatus(jobId, workspacePath) {
|
|
61
|
+
// TODO: Implement actual status retrieval
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Cancel a review job
|
|
66
|
+
*/
|
|
67
|
+
export async function cancelReview(jobId, workspacePath) {
|
|
68
|
+
// TODO: Implement actual cancellation
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check worker readiness
|
|
73
|
+
*/
|
|
74
|
+
export async function checkWorkerReady(workspacePath) {
|
|
75
|
+
const workspaceKey = hashWorkspaceKey(workspacePath);
|
|
76
|
+
if (!isWorkerRunning(workspaceKey)) {
|
|
77
|
+
return {
|
|
78
|
+
ready: false,
|
|
79
|
+
error: "No worker running for this workspace",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// TODO: Implement actual readiness check via IPC
|
|
83
|
+
return {
|
|
84
|
+
ready: true,
|
|
85
|
+
pendingJobs: 0,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC,YAAY,OAAO,GAAG,oCAAoC;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACrD,oCAAoC;IACpC,4DAA4D;IAC5D,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAsB;IAEtB,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEnE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,aAAa,CACrB,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,gCAAgC;IAChC,MAAM,IAAI,WAAW,CAAC,mCAAmC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,aAAqB;IAErB,0CAA0C;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,aAAqB;IAErB,sCAAsC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,aAAqB;IAK1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,sCAAsC;SAC9C,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Review Documents
|
|
3
|
+
*
|
|
4
|
+
* Versioned durable documents for review/job index using pi-durable's defineDoc.
|
|
5
|
+
* Uses chord's JsonValue for JSON-compatible types.
|
|
6
|
+
*/
|
|
7
|
+
import type { JsonValue } from "@earendil-works/chord";
|
|
8
|
+
/**
|
|
9
|
+
* Schema version for migration support
|
|
10
|
+
*/
|
|
11
|
+
export declare const SCHEMA_VERSION = 1;
|
|
12
|
+
/**
|
|
13
|
+
* Finding record - plain interface for internal use
|
|
14
|
+
*/
|
|
15
|
+
export interface FindingRecord {
|
|
16
|
+
rule: string;
|
|
17
|
+
severity: "error" | "warning" | "info";
|
|
18
|
+
message: string;
|
|
19
|
+
file?: string;
|
|
20
|
+
line?: number;
|
|
21
|
+
endLine?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Review job record - plain interface for internal use
|
|
25
|
+
*/
|
|
26
|
+
export interface ReviewJobRecord {
|
|
27
|
+
jobId: string;
|
|
28
|
+
requestId: string;
|
|
29
|
+
workspacePath: string;
|
|
30
|
+
canonicalWorkspace: string;
|
|
31
|
+
workspaceKey: string;
|
|
32
|
+
inputHash: string;
|
|
33
|
+
inputSnapshotId?: string;
|
|
34
|
+
provider?: string;
|
|
35
|
+
model?: string;
|
|
36
|
+
maxPasses: number;
|
|
37
|
+
maxToolCalls: number;
|
|
38
|
+
conversationId?: string;
|
|
39
|
+
submissionId?: string;
|
|
40
|
+
status: "queued" | "running" | "completed" | "failed" | "cancelled";
|
|
41
|
+
verdict?: "approved" | "changes_requested" | "blocked";
|
|
42
|
+
findings?: JsonValue;
|
|
43
|
+
summary?: string;
|
|
44
|
+
error?: string;
|
|
45
|
+
reportId?: string;
|
|
46
|
+
createdAt: string;
|
|
47
|
+
updatedAt: string;
|
|
48
|
+
completedAt?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Jobs index document value - chord JsonObject compatible
|
|
52
|
+
*/
|
|
53
|
+
export type JobsIndexValue = {
|
|
54
|
+
schemaVersion: number;
|
|
55
|
+
jobs: Record<string, JsonValue>;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Worker ownership document value - chord JsonObject compatible
|
|
59
|
+
*/
|
|
60
|
+
export type WorkerOwnerValue = {
|
|
61
|
+
ownerId: string;
|
|
62
|
+
pid: number;
|
|
63
|
+
startedAt: string;
|
|
64
|
+
lastHeartbeat: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Review job index document - task-scoped
|
|
68
|
+
*/
|
|
69
|
+
export declare const ReviewJobDoc: import("@earendil-works/pi-durable").TaskDocToken<JobsIndexValue>;
|
|
70
|
+
/**
|
|
71
|
+
* Worker ownership document - task-scoped
|
|
72
|
+
*/
|
|
73
|
+
export declare const WorkerOwnerDoc: import("@earendil-works/pi-durable").TaskDocToken<WorkerOwnerValue>;
|
|
74
|
+
/**
|
|
75
|
+
* Get job from document
|
|
76
|
+
*/
|
|
77
|
+
export declare function getJobFromDoc(doc: JobsIndexValue | undefined, jobId: string): ReviewJobRecord | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Update job in document
|
|
80
|
+
*/
|
|
81
|
+
export declare function updateJobInDoc(doc: JobsIndexValue, jobId: string, job: ReviewJobRecord): JobsIndexValue;
|
|
82
|
+
//# sourceMappingURL=documents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,UAAU,GAAG,mBAAmB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,mEAQvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,qEAUzB,CAAC;AAEH;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,GACZ,eAAe,GAAG,SAAS,CAQ7B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,eAAe,GACnB,cAAc,CAShB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Review Documents
|
|
3
|
+
*
|
|
4
|
+
* Versioned durable documents for review/job index using pi-durable's defineDoc.
|
|
5
|
+
* Uses chord's JsonValue for JSON-compatible types.
|
|
6
|
+
*/
|
|
7
|
+
import { defineDoc } from "@earendil-works/pi-durable";
|
|
8
|
+
/**
|
|
9
|
+
* Schema version for migration support
|
|
10
|
+
*/
|
|
11
|
+
export const SCHEMA_VERSION = 1;
|
|
12
|
+
/**
|
|
13
|
+
* Review job index document - task-scoped
|
|
14
|
+
*/
|
|
15
|
+
export const ReviewJobDoc = defineDoc({
|
|
16
|
+
kind: "moocoding.durable-review.jobs",
|
|
17
|
+
version: 1,
|
|
18
|
+
scope: "task",
|
|
19
|
+
initial: () => ({
|
|
20
|
+
schemaVersion: SCHEMA_VERSION,
|
|
21
|
+
jobs: {},
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Worker ownership document - task-scoped
|
|
26
|
+
*/
|
|
27
|
+
export const WorkerOwnerDoc = defineDoc({
|
|
28
|
+
kind: "moocoding.durable-review.owner",
|
|
29
|
+
version: 1,
|
|
30
|
+
scope: "task",
|
|
31
|
+
initial: () => ({
|
|
32
|
+
ownerId: "",
|
|
33
|
+
pid: 0,
|
|
34
|
+
startedAt: "",
|
|
35
|
+
lastHeartbeat: "",
|
|
36
|
+
}),
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Get job from document
|
|
40
|
+
*/
|
|
41
|
+
export function getJobFromDoc(doc, jobId) {
|
|
42
|
+
const job = doc?.jobs?.[jobId];
|
|
43
|
+
if (!job || typeof job !== "object")
|
|
44
|
+
return undefined;
|
|
45
|
+
try {
|
|
46
|
+
return JSON.parse(JSON.stringify(job));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Update job in document
|
|
54
|
+
*/
|
|
55
|
+
export function updateJobInDoc(doc, jobId, job) {
|
|
56
|
+
return {
|
|
57
|
+
schemaVersion: doc.schemaVersion,
|
|
58
|
+
jobs: {
|
|
59
|
+
...doc.jobs,
|
|
60
|
+
// SAFETY: job is already JSON-compatible
|
|
61
|
+
[jobId]: job,
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=documents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AA4DhC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,+BAA+B;IACrC,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,GAAmB,EAAE,CAAC,CAAC;QAC9B,aAAa,EAAE,cAAc;QAC7B,IAAI,EAAE,EAAE;KACT,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,gCAAgC;IACtC,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,GAAqB,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,CAAC;QACN,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;KAClB,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAA+B,EAC/B,KAAa;IAEb,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAoB,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAmB,EACnB,KAAa,EACb,GAAoB;IAEpB,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,IAAI,EAAE;YACJ,GAAG,GAAG,CAAC,IAAI;YACX,yCAAyC;YACzC,CAAC,KAAK,CAAC,EAAE,GAA2B;SACrC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Review Extension
|
|
3
|
+
*
|
|
4
|
+
* Small Pi command adapter for /harness-review, /harness-review-status, /harness-review-cancel.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Handle /harness-review command
|
|
8
|
+
*/
|
|
9
|
+
export declare function handleHarnessReview(args: {
|
|
10
|
+
request: string;
|
|
11
|
+
workspacePath?: string;
|
|
12
|
+
}): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Handle /harness-review-status command
|
|
15
|
+
*/
|
|
16
|
+
export declare function handleHarnessReviewStatus(args: {
|
|
17
|
+
jobId: string;
|
|
18
|
+
workspacePath?: string;
|
|
19
|
+
}): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Handle /harness-review-cancel command
|
|
22
|
+
*/
|
|
23
|
+
export declare function handleHarnessReviewCancel(args: {
|
|
24
|
+
jobId: string;
|
|
25
|
+
workspacePath?: string;
|
|
26
|
+
}): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Check for command collisions before registration
|
|
29
|
+
*/
|
|
30
|
+
export declare function checkCommandCollisions(commands: string[]): string[];
|
|
31
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsClB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBlB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGnE"}
|