@cortexkit/subc-client 0.2.1 → 0.3.1
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/dist/auth.d.ts +19 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +84 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +265 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +888 -0
- package/dist/client.js.map +1 -0
- package/dist/connection-file.d.ts +22 -0
- package/dist/connection-file.d.ts.map +1 -0
- package/dist/connection-file.js +80 -0
- package/dist/connection-file.js.map +1 -0
- package/dist/envelope.d.ts +59 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +132 -0
- package/dist/envelope.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/provider.d.ts +278 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +640 -0
- package/dist/provider.js.map +1 -0
- package/dist/socket.d.ts +45 -0
- package/dist/socket.d.ts.map +1 -0
- package/dist/socket.js +208 -0
- package/dist/socket.js.map +1 -0
- package/package.json +6 -3
- package/src/client.ts +202 -11
- package/src/socket.ts +7 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { type BindIdentity, type ReconnectBackoff, type RouteTarget } from "./client.js";
|
|
2
|
+
import { type ConnectionInfo } from "./connection-file.js";
|
|
3
|
+
export declare const HELLO_CORR = 1n;
|
|
4
|
+
export type TrustTier = "first_party" | "reviewed" | "untrusted";
|
|
5
|
+
export type ExecutionMode = "pure" | "mutating" | "unfenceable";
|
|
6
|
+
export type Concurrency = "serial" | "module_managed" | "stateless_parallel";
|
|
7
|
+
export type IdentityScope = "session" | "project";
|
|
8
|
+
export type PipelineStageKind = "transform" | "codec" | "auth";
|
|
9
|
+
export type ManagementOperationKind = "query" | "mutate";
|
|
10
|
+
export type ObservabilityKind = "snapshot" | "stream";
|
|
11
|
+
export type InternalTransport = "bulk";
|
|
12
|
+
export type StorageKind = "sqlite";
|
|
13
|
+
export type StorageScope = "project";
|
|
14
|
+
export type LeaseScope = "project";
|
|
15
|
+
export interface ManifestInput {
|
|
16
|
+
module_id: string;
|
|
17
|
+
module_version: string;
|
|
18
|
+
protocol_ver: number;
|
|
19
|
+
trust_tier: TrustTier;
|
|
20
|
+
provides: ProviderRoleInput[];
|
|
21
|
+
consumes: ConsumerRoleInput[];
|
|
22
|
+
scheduled_tasks: ScheduledTaskInput[];
|
|
23
|
+
bindings: BindingsInput;
|
|
24
|
+
}
|
|
25
|
+
export type ProviderRoleInput = {
|
|
26
|
+
role: "tool_provider";
|
|
27
|
+
tools: ToolInput[];
|
|
28
|
+
identity_scope: IdentityScope[];
|
|
29
|
+
concurrency: Concurrency;
|
|
30
|
+
emits_push: boolean;
|
|
31
|
+
sub_supervises: boolean;
|
|
32
|
+
} | {
|
|
33
|
+
role: "pipeline_stage";
|
|
34
|
+
stage: PipelineStageKind;
|
|
35
|
+
applies_to: PipelineAppliesToInput;
|
|
36
|
+
interface: string;
|
|
37
|
+
declares_frozen_floor: boolean;
|
|
38
|
+
needs_signals: string[];
|
|
39
|
+
conformance_class: string;
|
|
40
|
+
} | {
|
|
41
|
+
role: "management_surface";
|
|
42
|
+
operations: ManagementOperationInput[];
|
|
43
|
+
config_schema: unknown;
|
|
44
|
+
observability: ObservabilitySurfaceInput[];
|
|
45
|
+
identity_scope: IdentityScope[];
|
|
46
|
+
} | {
|
|
47
|
+
role: "internal_service";
|
|
48
|
+
service_id: string;
|
|
49
|
+
transport: InternalTransport;
|
|
50
|
+
agent_facing: boolean;
|
|
51
|
+
operations: string[];
|
|
52
|
+
};
|
|
53
|
+
export interface ToolInput {
|
|
54
|
+
name: string;
|
|
55
|
+
execution_mode: ExecutionMode;
|
|
56
|
+
schema: unknown;
|
|
57
|
+
}
|
|
58
|
+
export interface PipelineAppliesToInput {
|
|
59
|
+
provider: string;
|
|
60
|
+
model: string;
|
|
61
|
+
}
|
|
62
|
+
export interface ManagementOperationInput {
|
|
63
|
+
name: string;
|
|
64
|
+
kind: ManagementOperationKind;
|
|
65
|
+
}
|
|
66
|
+
export interface ObservabilitySurfaceInput {
|
|
67
|
+
name: string;
|
|
68
|
+
kind: ObservabilityKind;
|
|
69
|
+
}
|
|
70
|
+
export type ConsumerRoleInput = {
|
|
71
|
+
role: "tool_client";
|
|
72
|
+
of: string[];
|
|
73
|
+
} | {
|
|
74
|
+
role: "llm_client";
|
|
75
|
+
via: string;
|
|
76
|
+
auth: string;
|
|
77
|
+
} | {
|
|
78
|
+
role: "service_client";
|
|
79
|
+
of: string[];
|
|
80
|
+
};
|
|
81
|
+
export interface ScheduledTaskInput {
|
|
82
|
+
task_id: string;
|
|
83
|
+
eligibility: TaskEligibilityInput;
|
|
84
|
+
lease_scope: LeaseScope;
|
|
85
|
+
renews_during_calls: boolean;
|
|
86
|
+
toolset: string[];
|
|
87
|
+
model_policy: ModelPolicyInput;
|
|
88
|
+
step_cap: number;
|
|
89
|
+
circuit_breaker: CircuitBreakerInput;
|
|
90
|
+
}
|
|
91
|
+
export interface TaskEligibilityInput {
|
|
92
|
+
cooldown: string;
|
|
93
|
+
window: string;
|
|
94
|
+
}
|
|
95
|
+
export interface ModelPolicyInput {
|
|
96
|
+
tier: string;
|
|
97
|
+
fallback_chain: string[];
|
|
98
|
+
}
|
|
99
|
+
export interface CircuitBreakerInput {
|
|
100
|
+
identical_failures: number;
|
|
101
|
+
}
|
|
102
|
+
export interface BindingsInput {
|
|
103
|
+
storage: StorageBindingInput;
|
|
104
|
+
vault_grants: VaultGrantInput[];
|
|
105
|
+
identity: IdentityBindingInput;
|
|
106
|
+
}
|
|
107
|
+
export interface StorageBindingInput {
|
|
108
|
+
kind: StorageKind;
|
|
109
|
+
scope: StorageScope;
|
|
110
|
+
owns_schema: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface VaultGrantInput {
|
|
113
|
+
secret: string;
|
|
114
|
+
reason: string;
|
|
115
|
+
}
|
|
116
|
+
export interface IdentityBindingInput {
|
|
117
|
+
requires: IdentityScope[];
|
|
118
|
+
optional: IdentityScope[];
|
|
119
|
+
}
|
|
120
|
+
export interface ManagementSurfaceManifestOptions {
|
|
121
|
+
moduleId: string;
|
|
122
|
+
operations: Array<string | ManagementOperationInput>;
|
|
123
|
+
moduleVersion?: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Per-request context handed to a provider handler. A unary handler ignores it and
|
|
127
|
+
* just returns its response bytes; a streaming handler uses `emit` to push interim
|
|
128
|
+
* events and `signal` to learn when the consumer cancelled or the route went away.
|
|
129
|
+
*/
|
|
130
|
+
export interface ProviderRequestContext {
|
|
131
|
+
/**
|
|
132
|
+
* Emit an interim event as a StreamData frame on this request's (channel, corr).
|
|
133
|
+
* The consumer receives it via its subscription `onEvent`. A no-op once the
|
|
134
|
+
* request has been aborted (cancelled or route-gone).
|
|
135
|
+
*/
|
|
136
|
+
emit(body: Uint8Array): Promise<void>;
|
|
137
|
+
/** Aborts when the consumer sends Cancel for this request, or the route is torn down. */
|
|
138
|
+
signal: AbortSignal;
|
|
139
|
+
/**
|
|
140
|
+
* The provider's current transport connection epoch: 1 on the initial connection,
|
|
141
|
+
* +1 on each successful reconnect + re-registration. Read at the moment the handler
|
|
142
|
+
* calls it (so it reflects any reconnect that happened while the handler ran). A
|
|
143
|
+
* handler that reports connection liveness to its consumer (e.g. stamping the epoch
|
|
144
|
+
* on a response so the consumer can detect a reconnect) should read it from here —
|
|
145
|
+
* this is the single authoritative source of the transport epoch, so it can never
|
|
146
|
+
* drift from a separately-maintained counter.
|
|
147
|
+
*/
|
|
148
|
+
currentEpoch(): number;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* A request handler. Return a `Uint8Array` for a single Response (unary), or
|
|
152
|
+
* `void` to end a streaming subscription with a StreamEnd terminal (after emitting
|
|
153
|
+
* events via `ctx.emit`). Throwing produces an Error terminal.
|
|
154
|
+
*/
|
|
155
|
+
export type ProviderHandler = (routeChannel: number, body: Uint8Array, ctx: ProviderRequestContext) => Promise<Uint8Array | void> | Uint8Array | void;
|
|
156
|
+
export type Principal = {
|
|
157
|
+
kind: "reserved";
|
|
158
|
+
module_id: string;
|
|
159
|
+
} | {
|
|
160
|
+
kind: "direct";
|
|
161
|
+
} | {
|
|
162
|
+
kind: "unverified";
|
|
163
|
+
};
|
|
164
|
+
export interface RouteBindRequest {
|
|
165
|
+
route_channel: number;
|
|
166
|
+
target: RouteTarget;
|
|
167
|
+
identity: BindIdentity;
|
|
168
|
+
principal?: Principal;
|
|
169
|
+
}
|
|
170
|
+
export type BindDecision = boolean | {
|
|
171
|
+
accept: boolean;
|
|
172
|
+
code?: string;
|
|
173
|
+
message?: string;
|
|
174
|
+
};
|
|
175
|
+
export type ProviderConnectionState = {
|
|
176
|
+
state: "connected";
|
|
177
|
+
epoch: number;
|
|
178
|
+
} | {
|
|
179
|
+
state: "down";
|
|
180
|
+
cause: Error;
|
|
181
|
+
} | {
|
|
182
|
+
state: "reconnecting";
|
|
183
|
+
attempt: number;
|
|
184
|
+
} | {
|
|
185
|
+
state: "restored";
|
|
186
|
+
epoch: number;
|
|
187
|
+
};
|
|
188
|
+
export interface SubcProviderConnectOptions {
|
|
189
|
+
connectionFile: string;
|
|
190
|
+
manifest: ManifestInput;
|
|
191
|
+
handler: ProviderHandler;
|
|
192
|
+
handshakeTimeoutMs?: number;
|
|
193
|
+
controlOps?: string[] | null;
|
|
194
|
+
onBind?: (request: RouteBindRequest) => Promise<BindDecision> | BindDecision;
|
|
195
|
+
onRouteGone?: (routeChannel: number) => void | Promise<void>;
|
|
196
|
+
/** Backoff for provider reconnect after an unexpected socket drop. */
|
|
197
|
+
reconnectBackoff?: ReconnectBackoff;
|
|
198
|
+
/** Injectable sleep for timer-free reconnect and debounce tests. */
|
|
199
|
+
sleep?: (ms: number) => Promise<void>;
|
|
200
|
+
/** Milliseconds to wait before emitting restored after the provider re-registers following a reconnect. */
|
|
201
|
+
restoredDebounceMs?: number;
|
|
202
|
+
/** Callback that receives ProviderConnectionState events one at a time and in order. */
|
|
203
|
+
onConnectionState?: (event: ProviderConnectionState) => void | Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* The one-time launch nonce to echo in HELLO for a reserved module. Defaults to
|
|
206
|
+
* the `SUBC_LAUNCH_NONCE` environment variable subc injects on spawn; pass
|
|
207
|
+
* explicitly to override. Omitted from the wire when empty (non-reserved modules).
|
|
208
|
+
*/
|
|
209
|
+
launchNonce?: string;
|
|
210
|
+
}
|
|
211
|
+
export interface ModuleHelloAckBody {
|
|
212
|
+
negotiated_ver: number;
|
|
213
|
+
subc_ops: string[];
|
|
214
|
+
subc_capabilities: string[];
|
|
215
|
+
/**
|
|
216
|
+
* The module's resolved storage descriptor, present when the daemon's central
|
|
217
|
+
* config configures managed storage. Carried opaquely (the wire crate has no
|
|
218
|
+
* storage dependency); a module using managed storage reads this and hands it to
|
|
219
|
+
* the storage library. Absent when no storage is configured.
|
|
220
|
+
*/
|
|
221
|
+
storage?: unknown;
|
|
222
|
+
}
|
|
223
|
+
export declare class SubcProviderError extends Error {
|
|
224
|
+
readonly code?: string | undefined;
|
|
225
|
+
constructor(message: string, code?: string | undefined);
|
|
226
|
+
}
|
|
227
|
+
export declare function managementSurfaceManifest(opts: ManagementSurfaceManifestOptions): ManifestInput;
|
|
228
|
+
export declare function jsonProviderHandler<Request = unknown, Response = unknown>(handler: (routeChannel: number, request: Request) => Promise<Response> | Response): ProviderHandler;
|
|
229
|
+
export declare class SubcProvider {
|
|
230
|
+
private sock;
|
|
231
|
+
private currentConn;
|
|
232
|
+
private readonly opts;
|
|
233
|
+
private readonly closed;
|
|
234
|
+
private resolveClosed;
|
|
235
|
+
private closeStarted;
|
|
236
|
+
private closedErr;
|
|
237
|
+
private readonly inflight;
|
|
238
|
+
private reconnecting;
|
|
239
|
+
private generation;
|
|
240
|
+
private connectionEpoch;
|
|
241
|
+
private stateQueue;
|
|
242
|
+
private drainingStateQueue;
|
|
243
|
+
private restoredDebounceToken;
|
|
244
|
+
/**
|
|
245
|
+
* The resolved storage descriptor the daemon delivered in HELLO_ACK, or
|
|
246
|
+
* `undefined` when no managed storage is configured. A module that persists
|
|
247
|
+
* hands this to the storage library.
|
|
248
|
+
*/
|
|
249
|
+
storage: unknown;
|
|
250
|
+
private constructor();
|
|
251
|
+
get conn(): ConnectionInfo;
|
|
252
|
+
currentEpoch(): number;
|
|
253
|
+
/** Read the connection file, authenticate as a client, register the manifest with HELLO, and serve frames. */
|
|
254
|
+
static connect(opts: SubcProviderConnectOptions): Promise<SubcProvider>;
|
|
255
|
+
close(): Promise<void>;
|
|
256
|
+
private static openConnection;
|
|
257
|
+
private readLoop;
|
|
258
|
+
private dispatch;
|
|
259
|
+
/** Abort every in-flight request on a route channel for the current socket generation. */
|
|
260
|
+
private abortChannel;
|
|
261
|
+
private abortGeneration;
|
|
262
|
+
private abortAllInflight;
|
|
263
|
+
private handleControlRequest;
|
|
264
|
+
private handleDataRequest;
|
|
265
|
+
private sendError;
|
|
266
|
+
private sendOn;
|
|
267
|
+
private handleUnexpectedDrop;
|
|
268
|
+
private scheduleReconnectAfterDrop;
|
|
269
|
+
private reconnectWithRetry;
|
|
270
|
+
private replaceConnection;
|
|
271
|
+
private scheduleRestored;
|
|
272
|
+
private cancelRestoredDebounce;
|
|
273
|
+
private enqueueConnectionState;
|
|
274
|
+
private drainConnectionStateQueue;
|
|
275
|
+
private failFatal;
|
|
276
|
+
private finishClosed;
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|