pi-harness-runtime 1.1.375 → 1.1.377
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/README.md +68 -39
- package/package.json +2 -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/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/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/dist/client.d.ts +56 -35
- package/packages/relay/dist/client.js +278 -71
- package/packages/relay/dist/index.d.ts +12 -5
- package/packages/relay/dist/index.js +12 -4
- package/packages/relay/dist/server.d.ts +58 -20
- package/packages/relay/dist/server.js +344 -49
- package/packages/relay/dist/types.d.ts +137 -1
- package/packages/relay/dist/types.js +21 -2
- package/packages/relay/dist/ws-server.d.ts +48 -0
- package/packages/relay/dist/ws-server.js +130 -0
- package/packages/relay/package.json +1 -1
- package/packages/relay/src/client.ts +375 -81
- package/packages/relay/src/index.ts +42 -5
- package/packages/relay/src/server.ts +452 -54
- package/packages/relay/src/types.ts +174 -1
- package/packages/relay/src/ws-server.ts +165 -0
- 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/scripts/relay-client.ts +184 -0
- package/scripts/sync-callback-queue.ts +57 -0
- package/scripts/telegram-callback-processor.ts +16 -0
- package/scripts/unified-webhook-server.ts +160 -145
- package/scripts/ws-server.ts +81 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.377",
|
|
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",
|
|
@@ -1,53 +1,74 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relay Client -
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
2
|
+
* Relay Client - Two-way streaming WebSocket client
|
|
3
|
+
*
|
|
4
|
+
* Implements t3code-style streaming with:
|
|
5
|
+
* - Connection state machine
|
|
6
|
+
* - Snapshot + live event handling
|
|
7
|
+
* - Typed message protocol
|
|
8
|
+
* - Automatic reconnection with backoff
|
|
7
9
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
import { type RelayConfig, type ConnectionState, type ConnectionStateChange, type CallbackPayload, type ClientMessage, type SnapshotMessage, type StatusMessage } from './types.js';
|
|
11
|
+
export interface RelayClientCallbacks {
|
|
12
|
+
/** Called when connected and authenticated */
|
|
13
|
+
onConnected?: (sessionId: string) => void;
|
|
11
14
|
/** Called when disconnected */
|
|
12
15
|
onDisconnected?: () => void;
|
|
13
|
-
/** Called when
|
|
14
|
-
|
|
16
|
+
/** Called when snapshot is received (initial state) */
|
|
17
|
+
onSnapshot?: (snapshot: SnapshotMessage['payload']) => void;
|
|
18
|
+
/** Called when synchronized marker received (live events start) */
|
|
19
|
+
onSynchronized?: () => void;
|
|
20
|
+
/** Called when a callback event is received */
|
|
21
|
+
onCallback?: (callback: CallbackPayload) => void;
|
|
22
|
+
/** Called when a status message is received */
|
|
23
|
+
onStatus?: (status: StatusMessage['payload']) => void;
|
|
15
24
|
/** Called on error */
|
|
16
25
|
onError?: (error: Error) => void;
|
|
26
|
+
/** Called when connection state changes */
|
|
27
|
+
onStateChange?: (change: ConnectionStateChange) => void;
|
|
17
28
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Relay Client
|
|
20
|
-
*
|
|
21
|
-
* Connects to a relay server and establishes tunnels for remote access.
|
|
22
|
-
*/
|
|
23
29
|
export declare class RelayClient {
|
|
30
|
+
private ws;
|
|
24
31
|
private config;
|
|
25
|
-
private
|
|
26
|
-
private
|
|
27
|
-
private
|
|
28
|
-
|
|
32
|
+
private callbacks;
|
|
33
|
+
private state;
|
|
34
|
+
private sessionId;
|
|
35
|
+
private clientId;
|
|
36
|
+
private reconnectAttempt;
|
|
37
|
+
private reconnectDelay;
|
|
38
|
+
private reconnectTimer;
|
|
39
|
+
private connectTimeoutTimer;
|
|
40
|
+
private heartbeatTimer;
|
|
41
|
+
private snapshotReceived;
|
|
42
|
+
private synchronizedReceived;
|
|
43
|
+
constructor(config: RelayConfig, callbacks?: RelayClientCallbacks);
|
|
44
|
+
private setState;
|
|
45
|
+
private isConnected;
|
|
29
46
|
/**
|
|
30
|
-
* Connect to relay server
|
|
47
|
+
* Connect to relay server with automatic authentication
|
|
31
48
|
*/
|
|
32
49
|
connect(): Promise<void>;
|
|
33
50
|
/**
|
|
34
51
|
* Disconnect from relay server
|
|
35
52
|
*/
|
|
36
|
-
disconnect():
|
|
37
|
-
/**
|
|
38
|
-
* Create a tunnel
|
|
39
|
-
*/
|
|
40
|
-
createTunnel(localPort: number): Promise<RelayTunnel>;
|
|
41
|
-
/**
|
|
42
|
-
* Send a message through the tunnel
|
|
43
|
-
*/
|
|
44
|
-
send(_message: RelayMessage): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Check if connected
|
|
47
|
-
*/
|
|
48
|
-
isConnected(): boolean;
|
|
53
|
+
disconnect(): void;
|
|
49
54
|
/**
|
|
50
|
-
*
|
|
55
|
+
* Send a message through the WebSocket
|
|
51
56
|
*/
|
|
52
|
-
|
|
57
|
+
send(message: ClientMessage): void;
|
|
58
|
+
private handleMessage;
|
|
59
|
+
private handleConnected;
|
|
60
|
+
private handleAuth;
|
|
61
|
+
private handleSnapshot;
|
|
62
|
+
private handleSynchronized;
|
|
63
|
+
private handleCallback;
|
|
64
|
+
private handleStatus;
|
|
65
|
+
private handleDisconnect;
|
|
66
|
+
private scheduleReconnect;
|
|
67
|
+
private startHeartbeat;
|
|
68
|
+
private stopHeartbeat;
|
|
69
|
+
private cleanup;
|
|
70
|
+
getState(): ConnectionState;
|
|
71
|
+
isReady(): boolean;
|
|
72
|
+
getSessionId(): string | null;
|
|
73
|
+
getClientId(): string | null;
|
|
53
74
|
}
|