@the-open-engine/zeroshot 6.16.0 → 6.18.0
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 +2 -2
- package/cli/index.js +9 -13
- package/lib/agent-cli-provider/adapters/claude.d.ts +2 -2
- package/lib/agent-cli-provider/adapters/claude.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/claude.js +30 -0
- package/lib/agent-cli-provider/adapters/claude.js.map +1 -1
- package/lib/agent-cli-provider/adapters/codex.d.ts +2 -2
- package/lib/agent-cli-provider/adapters/codex.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/codex.js +37 -0
- package/lib/agent-cli-provider/adapters/codex.js.map +1 -1
- package/lib/agent-cli-provider/adapters/gemini.d.ts +2 -2
- package/lib/agent-cli-provider/adapters/gemini.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/gemini.js +115 -4
- package/lib/agent-cli-provider/adapters/gemini.js.map +1 -1
- package/lib/agent-cli-provider/adapters/omp.d.ts +3 -0
- package/lib/agent-cli-provider/adapters/omp.d.ts.map +1 -0
- package/lib/agent-cli-provider/adapters/omp.js +356 -0
- package/lib/agent-cli-provider/adapters/omp.js.map +1 -0
- package/lib/agent-cli-provider/adapters/opencode.d.ts +2 -2
- package/lib/agent-cli-provider/adapters/opencode.d.ts.map +1 -1
- package/lib/agent-cli-provider/adapters/opencode.js +108 -0
- package/lib/agent-cli-provider/adapters/opencode.js.map +1 -1
- package/lib/agent-cli-provider/contract-options.d.ts.map +1 -1
- package/lib/agent-cli-provider/contract-options.js +17 -0
- package/lib/agent-cli-provider/contract-options.js.map +1 -1
- package/lib/agent-cli-provider/index.d.ts +2 -2
- package/lib/agent-cli-provider/index.d.ts.map +1 -1
- package/lib/agent-cli-provider/index.js +2 -1
- package/lib/agent-cli-provider/index.js.map +1 -1
- package/lib/agent-cli-provider/provider-registry.d.ts +65 -7
- package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -1
- package/lib/agent-cli-provider/provider-registry.js +43 -0
- package/lib/agent-cli-provider/provider-registry.js.map +1 -1
- package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
- package/lib/agent-cli-provider/single-agent-runtime.js +35 -4
- package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
- package/lib/agent-cli-provider/types.d.ts +49 -4
- package/lib/agent-cli-provider/types.d.ts.map +1 -1
- package/lib/agent-cli-provider/types.js.map +1 -1
- package/lib/cluster/errors.cjs +4 -1
- package/lib/cluster/errors.d.ts +2 -0
- package/lib/cluster/errors.mjs +2 -0
- package/lib/cluster/index.cjs +8 -1
- package/lib/cluster/index.d.ts +4 -1
- package/lib/cluster/index.mjs +4 -1
- package/lib/cluster/json-source.cjs +61 -0
- package/lib/cluster/json-source.d.ts +4 -0
- package/lib/cluster/json-source.mjs +55 -0
- package/lib/cluster/payload-value.cjs +76 -0
- package/lib/cluster/payload-value.d.ts +7 -0
- package/lib/cluster/payload-value.mjs +72 -0
- package/lib/cluster/validators.cjs +21 -0
- package/lib/cluster/validators.d.ts +4 -1
- package/lib/cluster/validators.mjs +19 -1
- package/lib/provider-names.js +5 -0
- package/package.json +2 -2
- package/src/agent/agent-task-executor.js +194 -410
- package/src/agent/output-extraction.js +39 -14
- package/src/agent/output-reformatter.js +154 -111
- package/src/agent-cli-provider/adapters/claude.ts +39 -2
- package/src/agent-cli-provider/adapters/codex.ts +56 -2
- package/src/agent-cli-provider/adapters/gemini.ts +102 -6
- package/src/agent-cli-provider/adapters/omp.ts +448 -0
- package/src/agent-cli-provider/adapters/opencode.ts +85 -2
- package/src/agent-cli-provider/contract-options.ts +21 -0
- package/src/agent-cli-provider/index.ts +5 -0
- package/src/agent-cli-provider/provider-registry.ts +62 -3
- package/src/agent-cli-provider/single-agent-runtime.ts +50 -4
- package/src/agent-cli-provider/types.ts +56 -2
- package/src/agent-wrapper.js +2 -2
- package/src/cluster/errors.ts +1 -0
- package/src/cluster/index.ts +4 -0
- package/src/cluster/json-source.ts +71 -0
- package/src/cluster/payload-value.ts +84 -0
- package/src/cluster/validators.ts +31 -2
- package/src/orchestrator.js +33 -13
- package/task-lib/attachable-watcher.js +1 -0
- package/task-lib/command-spec-cleanup.js +57 -11
- package/task-lib/commands/run.js +1 -0
- package/task-lib/provider-session-capture.js +8 -0
- package/task-lib/runner.js +9 -6
- package/task-lib/watcher.js +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { providerAliases, providerIds, ProviderCapabilities, ProviderCapabilityState, ProviderCommandSpec, ProviderDockerMetadata, ProviderDockerMountPreset, ProviderDocsMetadata, ProviderInvokeSpec, ProviderRegistryEntry } from './provider-registry';
|
|
1
|
+
import type { providerAliases, providerIds, ProviderCapabilities, ProviderCapabilityState, ProviderCommandSpec, ProviderDockerMetadata, ProviderDockerMountPreset, ProviderDocsMetadata, ProviderInvokeSpec, ProviderRegistryEntry, StructuredOutputProviderRegistryEntry, UnstructuredOutputProviderRegistryEntry } from './provider-registry';
|
|
2
2
|
export type ProviderId = (typeof providerIds)[number];
|
|
3
3
|
export type ProviderAlias = (typeof providerAliases)[number];
|
|
4
4
|
export type KnownProviderName = ProviderId | ProviderAlias;
|
|
@@ -6,7 +6,7 @@ export type ModelLevel = 'level1' | 'level2' | 'level3';
|
|
|
6
6
|
export type ReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
7
7
|
export type OutputFormat = 'text' | 'json' | 'stream-json';
|
|
8
8
|
export type GatewayProtocol = 'openai' | 'anthropic';
|
|
9
|
-
export type { ProviderCapabilities, ProviderCapabilityState, ProviderCommandSpec, ProviderDockerMetadata, ProviderDockerMountPreset, ProviderDocsMetadata, ProviderInvokeSpec, ProviderRegistryEntry, };
|
|
9
|
+
export type { ProviderCapabilities, ProviderCapabilityState, ProviderCommandSpec, ProviderDockerMetadata, ProviderDockerMountPreset, ProviderDocsMetadata, ProviderInvokeSpec, ProviderRegistryEntry, StructuredOutputProviderRegistryEntry, UnstructuredOutputProviderRegistryEntry, };
|
|
10
10
|
export interface AgentCliProviderHelperMetadata {
|
|
11
11
|
readonly packageName: '@the-open-engine/zeroshot';
|
|
12
12
|
readonly buildOutputDir: 'lib/agent-cli-provider';
|
|
@@ -73,6 +73,9 @@ export interface ClaudeCliFeatures extends BaseCliFeatures {
|
|
|
73
73
|
readonly supportsSettings: boolean;
|
|
74
74
|
readonly supportsMcpConfig: boolean;
|
|
75
75
|
readonly supportsResume: boolean;
|
|
76
|
+
readonly supportsTools: boolean;
|
|
77
|
+
readonly supportsStrictMcpConfig: boolean;
|
|
78
|
+
readonly supportsNoSessionPersistence: boolean;
|
|
76
79
|
}
|
|
77
80
|
export interface CodexCliFeatures extends BaseCliFeatures {
|
|
78
81
|
readonly provider: 'codex';
|
|
@@ -85,6 +88,11 @@ export interface CodexCliFeatures extends BaseCliFeatures {
|
|
|
85
88
|
readonly supportsSkipGitRepoCheck: boolean;
|
|
86
89
|
readonly supportsResume: boolean;
|
|
87
90
|
readonly supportsWebSearch: boolean;
|
|
91
|
+
readonly supportsSandbox: boolean;
|
|
92
|
+
readonly supportsEphemeral: boolean;
|
|
93
|
+
readonly supportsIgnoreUserConfig: boolean;
|
|
94
|
+
readonly supportsIgnoreRules: boolean;
|
|
95
|
+
readonly supportsStrictConfig: boolean;
|
|
88
96
|
}
|
|
89
97
|
export interface GeminiCliFeatures extends BaseCliFeatures {
|
|
90
98
|
readonly provider: 'gemini';
|
|
@@ -92,6 +100,7 @@ export interface GeminiCliFeatures extends BaseCliFeatures {
|
|
|
92
100
|
readonly supportsAutoApprove: boolean;
|
|
93
101
|
readonly supportsCwd: boolean;
|
|
94
102
|
readonly supportsModel: boolean;
|
|
103
|
+
readonly supportsAdminPolicy: boolean;
|
|
95
104
|
}
|
|
96
105
|
export interface OpencodeCliFeatures extends BaseCliFeatures {
|
|
97
106
|
readonly provider: 'opencode';
|
|
@@ -103,6 +112,8 @@ export interface OpencodeCliFeatures extends BaseCliFeatures {
|
|
|
103
112
|
readonly supportsAutoApprove: false;
|
|
104
113
|
readonly supportsResume: boolean;
|
|
105
114
|
readonly supportsWebSearch: boolean;
|
|
115
|
+
readonly supportsAgent: boolean;
|
|
116
|
+
readonly supportsRecoveryIsolation: boolean;
|
|
106
117
|
}
|
|
107
118
|
export interface PiCliFeatures extends BaseCliFeatures {
|
|
108
119
|
readonly provider: 'pi';
|
|
@@ -115,6 +126,19 @@ export interface PiCliFeatures extends BaseCliFeatures {
|
|
|
115
126
|
readonly supportsNoContextFiles: boolean;
|
|
116
127
|
readonly supportsNoApprove: boolean;
|
|
117
128
|
}
|
|
129
|
+
export interface OmpCliFeatures extends BaseCliFeatures {
|
|
130
|
+
readonly provider: 'omp';
|
|
131
|
+
readonly supportsModeJson: boolean;
|
|
132
|
+
readonly supportsPrint: boolean;
|
|
133
|
+
readonly supportsCwd: boolean;
|
|
134
|
+
readonly supportsAutoApprove: boolean;
|
|
135
|
+
readonly supportsModel: boolean;
|
|
136
|
+
readonly supportsThinking: boolean;
|
|
137
|
+
readonly supportsNoExtensions: boolean;
|
|
138
|
+
readonly supportsNoSkills: boolean;
|
|
139
|
+
readonly supportsNoRules: boolean;
|
|
140
|
+
readonly supportsNoTitle: boolean;
|
|
141
|
+
}
|
|
118
142
|
export interface CopilotCliFeatures extends BaseCliFeatures {
|
|
119
143
|
readonly provider: 'copilot';
|
|
120
144
|
readonly supportsJsonOutput: boolean;
|
|
@@ -142,7 +166,7 @@ export interface AcpCliFeatures extends BaseCliFeatures {
|
|
|
142
166
|
readonly supportsFsTools: false;
|
|
143
167
|
readonly supportsTerminalTools: false;
|
|
144
168
|
}
|
|
145
|
-
export type ProviderCliFeatures = ClaudeCliFeatures | CodexCliFeatures | GeminiCliFeatures | OpencodeCliFeatures | PiCliFeatures | CopilotCliFeatures | GatewayCliFeatures | AcpCliFeatures;
|
|
169
|
+
export type ProviderCliFeatures = ClaudeCliFeatures | CodexCliFeatures | GeminiCliFeatures | OpencodeCliFeatures | PiCliFeatures | OmpCliFeatures | CopilotCliFeatures | GatewayCliFeatures | AcpCliFeatures;
|
|
146
170
|
export interface CliFeatureOverrides {
|
|
147
171
|
readonly supportsOutputFormat?: boolean;
|
|
148
172
|
readonly supportsStreamJson?: boolean;
|
|
@@ -151,6 +175,9 @@ export interface CliFeatureOverrides {
|
|
|
151
175
|
readonly supportsIncludePartials?: boolean;
|
|
152
176
|
readonly supportsVerbose?: boolean;
|
|
153
177
|
readonly supportsModel?: boolean;
|
|
178
|
+
readonly supportsTools?: boolean;
|
|
179
|
+
readonly supportsStrictMcpConfig?: boolean;
|
|
180
|
+
readonly supportsNoSessionPersistence?: boolean;
|
|
154
181
|
readonly supportsEffort?: boolean;
|
|
155
182
|
readonly supportsSettings?: boolean;
|
|
156
183
|
readonly supportsJson?: boolean;
|
|
@@ -159,14 +186,27 @@ export interface CliFeatureOverrides {
|
|
|
159
186
|
readonly supportsCwd?: boolean;
|
|
160
187
|
readonly supportsConfigOverride?: boolean;
|
|
161
188
|
readonly supportsSkipGitRepoCheck?: boolean;
|
|
189
|
+
readonly supportsSandbox?: boolean;
|
|
190
|
+
readonly supportsEphemeral?: boolean;
|
|
191
|
+
readonly supportsIgnoreUserConfig?: boolean;
|
|
192
|
+
readonly supportsIgnoreRules?: boolean;
|
|
193
|
+
readonly supportsStrictConfig?: boolean;
|
|
162
194
|
readonly supportsVariant?: boolean;
|
|
195
|
+
readonly supportsAdminPolicy?: boolean;
|
|
163
196
|
readonly supportsJsonMode?: boolean;
|
|
164
197
|
readonly supportsNoSession?: boolean;
|
|
165
198
|
readonly supportsNoExtensions?: boolean;
|
|
166
199
|
readonly supportsNoSkills?: boolean;
|
|
167
200
|
readonly supportsNoPromptTemplates?: boolean;
|
|
201
|
+
readonly supportsAgent?: boolean;
|
|
202
|
+
readonly supportsRecoveryIsolation?: boolean;
|
|
168
203
|
readonly supportsNoContextFiles?: boolean;
|
|
169
204
|
readonly supportsNoApprove?: boolean;
|
|
205
|
+
readonly supportsModeJson?: boolean;
|
|
206
|
+
readonly supportsPrint?: boolean;
|
|
207
|
+
readonly supportsThinking?: boolean;
|
|
208
|
+
readonly supportsNoRules?: boolean;
|
|
209
|
+
readonly supportsNoTitle?: boolean;
|
|
170
210
|
readonly supportsJsonOutput?: boolean;
|
|
171
211
|
readonly supportsAllowAll?: boolean;
|
|
172
212
|
readonly supportsNoAskUser?: boolean;
|
|
@@ -192,7 +232,7 @@ export interface CleanupMetadata {
|
|
|
192
232
|
readonly kind: 'temp-file' | 'temp-directory';
|
|
193
233
|
readonly provider: ProviderId;
|
|
194
234
|
readonly path: string;
|
|
195
|
-
readonly reason: 'output-schema' | 'settings-overlay';
|
|
235
|
+
readonly reason: 'output-schema' | 'settings-overlay' | 'admin-policy' | 'isolated-config';
|
|
196
236
|
}
|
|
197
237
|
export interface WarningMetadata {
|
|
198
238
|
readonly provider: ProviderId;
|
|
@@ -234,6 +274,8 @@ export interface BuildProviderCommandOptions {
|
|
|
234
274
|
readonly strictSchema?: boolean;
|
|
235
275
|
readonly gateway?: GatewayBuildOptions;
|
|
236
276
|
readonly mcpConfig?: readonly string[];
|
|
277
|
+
/** Internal profile for provider-neutral structured-output correction turns. */
|
|
278
|
+
readonly structuredOutputRecovery?: boolean;
|
|
237
279
|
}
|
|
238
280
|
export interface TextEvent {
|
|
239
281
|
readonly type: 'text';
|
|
@@ -316,6 +358,9 @@ export interface ProviderAdapter {
|
|
|
316
358
|
validateConfiguredModelId?(modelId: string | null | undefined): string | null | undefined;
|
|
317
359
|
classifyError(error: unknown): ErrorClassification;
|
|
318
360
|
}
|
|
361
|
+
export interface StructuredOutputRecoveryAdapter extends ProviderAdapter {
|
|
362
|
+
buildStructuredOutputRecoveryCommand(context: string, options?: BuildProviderCommandOptions): CommandSpec;
|
|
363
|
+
}
|
|
319
364
|
export declare class InvalidProviderModelError extends Error {
|
|
320
365
|
readonly permanent = true;
|
|
321
366
|
constructor(message: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":";;;AAmcA,MAAa,yBAA0B,SAAQ,KAAK;IACzC,SAAS,GAAG,IAAI,CAAC;IAE1B,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAPD,8DAOC"}
|
package/lib/cluster/errors.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClusterRpcError = exports.ClusterTimeoutError = exports.ClusterTransportError = exports.ClusterProtocolError = exports.ClusterInternalError = exports.ClusterStateError = exports.ClusterConfigError = exports.ClusterError = void 0;
|
|
3
|
+
exports.ClusterRpcError = exports.ClusterRequestError = exports.ClusterTimeoutError = exports.ClusterTransportError = exports.ClusterProtocolError = exports.ClusterInternalError = exports.ClusterStateError = exports.ClusterConfigError = exports.ClusterError = void 0;
|
|
4
4
|
exports.requestAbortError = requestAbortError;
|
|
5
5
|
class ClusterError extends Error {
|
|
6
6
|
code;
|
|
@@ -29,6 +29,9 @@ exports.ClusterTransportError = ClusterTransportError;
|
|
|
29
29
|
class ClusterTimeoutError extends ClusterError {
|
|
30
30
|
}
|
|
31
31
|
exports.ClusterTimeoutError = ClusterTimeoutError;
|
|
32
|
+
class ClusterRequestError extends ClusterError {
|
|
33
|
+
}
|
|
34
|
+
exports.ClusterRequestError = ClusterRequestError;
|
|
32
35
|
function requestAbortError(method) {
|
|
33
36
|
return new DOMException(`${method} aborted locally; the server may still have committed this request`, 'AbortError');
|
|
34
37
|
}
|
package/lib/cluster/errors.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare class ClusterTransportError extends ClusterError {
|
|
|
15
15
|
}
|
|
16
16
|
export declare class ClusterTimeoutError extends ClusterError {
|
|
17
17
|
}
|
|
18
|
+
export declare class ClusterRequestError extends ClusterError {
|
|
19
|
+
}
|
|
18
20
|
export declare function requestAbortError(method: string): DOMException;
|
|
19
21
|
export declare class ClusterRpcError extends ClusterError {
|
|
20
22
|
readonly rpcCode: number;
|
package/lib/cluster/errors.mjs
CHANGED
|
@@ -18,6 +18,8 @@ export class ClusterTransportError extends ClusterError {
|
|
|
18
18
|
}
|
|
19
19
|
export class ClusterTimeoutError extends ClusterError {
|
|
20
20
|
}
|
|
21
|
+
export class ClusterRequestError extends ClusterError {
|
|
22
|
+
}
|
|
21
23
|
export function requestAbortError(method) {
|
|
22
24
|
return new DOMException(`${method} aborted locally; the server may still have committed this request`, 'AbortError');
|
|
23
25
|
}
|
package/lib/cluster/index.cjs
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.connect = exports.ClusterClient = exports.WatchSubscriptionStream = exports.LogsSubscriptionStream = exports.AgentAttachSubscriptionStream = exports.Connection = exports.PROTOCOL_DIAGNOSTIC_CAPACITY = exports.CONNECTION_TRANSITIONS = exports.ClusterTransportError = exports.ClusterTimeoutError = exports.ClusterStateError = exports.ClusterRpcError = exports.ClusterProtocolError = exports.ClusterInternalError = exports.ClusterError = exports.ClusterConfigError = exports.SUBSCRIPTION_QUEUE_MAX_BYTES = void 0;
|
|
17
|
+
exports.connect = exports.ClusterClient = exports.WatchSubscriptionStream = exports.LogsSubscriptionStream = exports.AgentAttachSubscriptionStream = exports.Connection = exports.PROTOCOL_DIAGNOSTIC_CAPACITY = exports.CONNECTION_TRANSITIONS = exports.assertGraphSpec = exports.assertGraphProfileSupported = exports.assertGraphProfile = exports.ClusterTransportError = exports.ClusterTimeoutError = exports.ClusterStateError = exports.ClusterRpcError = exports.ClusterRequestError = exports.ClusterProtocolError = exports.ClusterInternalError = exports.ClusterError = exports.ClusterConfigError = exports.SUBSCRIPTION_QUEUE_MAX_BYTES = void 0;
|
|
18
18
|
__exportStar(require("./generated/protocol.cjs"), exports);
|
|
19
19
|
var queue_js_1 = require("./queue.cjs");
|
|
20
20
|
Object.defineProperty(exports, "SUBSCRIPTION_QUEUE_MAX_BYTES", { enumerable: true, get: function () { return queue_js_1.SUBSCRIPTION_QUEUE_MAX_BYTES; } });
|
|
@@ -23,10 +23,17 @@ Object.defineProperty(exports, "ClusterConfigError", { enumerable: true, get: fu
|
|
|
23
23
|
Object.defineProperty(exports, "ClusterError", { enumerable: true, get: function () { return errors_js_1.ClusterError; } });
|
|
24
24
|
Object.defineProperty(exports, "ClusterInternalError", { enumerable: true, get: function () { return errors_js_1.ClusterInternalError; } });
|
|
25
25
|
Object.defineProperty(exports, "ClusterProtocolError", { enumerable: true, get: function () { return errors_js_1.ClusterProtocolError; } });
|
|
26
|
+
Object.defineProperty(exports, "ClusterRequestError", { enumerable: true, get: function () { return errors_js_1.ClusterRequestError; } });
|
|
26
27
|
Object.defineProperty(exports, "ClusterRpcError", { enumerable: true, get: function () { return errors_js_1.ClusterRpcError; } });
|
|
27
28
|
Object.defineProperty(exports, "ClusterStateError", { enumerable: true, get: function () { return errors_js_1.ClusterStateError; } });
|
|
28
29
|
Object.defineProperty(exports, "ClusterTimeoutError", { enumerable: true, get: function () { return errors_js_1.ClusterTimeoutError; } });
|
|
29
30
|
Object.defineProperty(exports, "ClusterTransportError", { enumerable: true, get: function () { return errors_js_1.ClusterTransportError; } });
|
|
31
|
+
var validators_js_1 = require("./validators.cjs");
|
|
32
|
+
Object.defineProperty(exports, "assertGraphProfile", { enumerable: true, get: function () { return validators_js_1.assertGraphProfile; } });
|
|
33
|
+
Object.defineProperty(exports, "assertGraphProfileSupported", { enumerable: true, get: function () { return validators_js_1.assertGraphProfileSupported; } });
|
|
34
|
+
Object.defineProperty(exports, "assertGraphSpec", { enumerable: true, get: function () { return validators_js_1.assertGraphSpec; } });
|
|
35
|
+
__exportStar(require("./payload-value.cjs"), exports);
|
|
36
|
+
__exportStar(require("./json-source.cjs"), exports);
|
|
30
37
|
var connection_js_1 = require("./connection.cjs");
|
|
31
38
|
Object.defineProperty(exports, "CONNECTION_TRANSITIONS", { enumerable: true, get: function () { return connection_js_1.CONNECTION_TRANSITIONS; } });
|
|
32
39
|
Object.defineProperty(exports, "PROTOCOL_DIAGNOSTIC_CAPACITY", { enumerable: true, get: function () { return connection_js_1.PROTOCOL_DIAGNOSTIC_CAPACITY; } });
|
package/lib/cluster/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export * from './generated/protocol.js';
|
|
2
2
|
export { SUBSCRIPTION_QUEUE_MAX_BYTES } from './queue.js';
|
|
3
|
-
export { ClusterConfigError, ClusterError, ClusterInternalError, ClusterProtocolError, ClusterRpcError, ClusterStateError, ClusterTimeoutError, ClusterTransportError, } from './errors.js';
|
|
3
|
+
export { ClusterConfigError, ClusterError, ClusterInternalError, ClusterProtocolError, ClusterRequestError, ClusterRpcError, ClusterStateError, ClusterTimeoutError, ClusterTransportError, } from './errors.js';
|
|
4
|
+
export { assertGraphProfile, assertGraphProfileSupported, assertGraphSpec } from './validators.js';
|
|
5
|
+
export * from './payload-value.js';
|
|
6
|
+
export * from './json-source.js';
|
|
4
7
|
export { CONNECTION_TRANSITIONS, PROTOCOL_DIAGNOSTIC_CAPACITY, Connection } from './connection.js';
|
|
5
8
|
export type { CallOptions, ConnectionState, } from './connection.js';
|
|
6
9
|
export type { WebSocketLike } from './socket.js';
|
package/lib/cluster/index.mjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export * from './generated/protocol.mjs';
|
|
2
2
|
export { SUBSCRIPTION_QUEUE_MAX_BYTES } from './queue.mjs';
|
|
3
|
-
export { ClusterConfigError, ClusterError, ClusterInternalError, ClusterProtocolError, ClusterRpcError, ClusterStateError, ClusterTimeoutError, ClusterTransportError, } from './errors.mjs';
|
|
3
|
+
export { ClusterConfigError, ClusterError, ClusterInternalError, ClusterProtocolError, ClusterRequestError, ClusterRpcError, ClusterStateError, ClusterTimeoutError, ClusterTransportError, } from './errors.mjs';
|
|
4
|
+
export { assertGraphProfile, assertGraphProfileSupported, assertGraphSpec } from './validators.mjs';
|
|
5
|
+
export * from './payload-value.mjs';
|
|
6
|
+
export * from './json-source.mjs';
|
|
4
7
|
export { CONNECTION_TRANSITIONS, PROTOCOL_DIAGNOSTIC_CAPACITY, Connection } from './connection.mjs';
|
|
5
8
|
export { AgentAttachSubscriptionStream, LogsSubscriptionStream, WatchSubscriptionStream, } from './subscriptions.mjs';
|
|
6
9
|
export { ClusterClient, connect } from './client.mjs';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_REQUEST_BYTES = void 0;
|
|
4
|
+
exports.decodeBoundedJson = decodeBoundedJson;
|
|
5
|
+
exports.readBoundedSource = readBoundedSource;
|
|
6
|
+
exports.assertDistinctRequestSources = assertDistinctRequestSources;
|
|
7
|
+
const errors_js_1 = require("./errors.cjs");
|
|
8
|
+
const protocol_js_1 = require("./generated/protocol.cjs");
|
|
9
|
+
exports.MAX_REQUEST_BYTES = protocol_js_1.MAX_FRAME_BYTES;
|
|
10
|
+
function decodeBoundedJson(bytes) {
|
|
11
|
+
if (bytes.length > exports.MAX_REQUEST_BYTES) {
|
|
12
|
+
throw new errors_js_1.ClusterRequestError(`request payload of ${bytes.length} bytes exceeds the ${exports.MAX_REQUEST_BYTES} byte limit`, 'OVERSIZED_JSON');
|
|
13
|
+
}
|
|
14
|
+
let text;
|
|
15
|
+
try {
|
|
16
|
+
text = new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
throw new errors_js_1.ClusterRequestError('request payload is not valid UTF-8', 'INVALID_UTF8');
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
return JSON.parse(text);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
throw new errors_js_1.ClusterRequestError('request payload is not valid JSON', 'MALFORMED_JSON');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Callers resolve `--graph`/`--input` specifiers ('-' vs. a file path) to a byte
|
|
29
|
+
// source themselves; opening the filesystem stream stays outside src/cluster so this
|
|
30
|
+
// module keeps no host-specific dependency (not even the `NodeJS` ambient namespace,
|
|
31
|
+
// which isn't resolvable from a consumer's declaration-only install) beyond the
|
|
32
|
+
// standard async-iterable protocol every Node Readable already implements — mirrors
|
|
33
|
+
// how WebSocketLike is injected instead of importing 'ws' directly, see socket.ts.
|
|
34
|
+
async function readBoundedSource(source) {
|
|
35
|
+
const encoder = new TextEncoder();
|
|
36
|
+
const chunks = [];
|
|
37
|
+
let total = 0;
|
|
38
|
+
for await (const chunk of source) {
|
|
39
|
+
const bytes = typeof chunk === 'string' ? encoder.encode(chunk) : new Uint8Array(chunk);
|
|
40
|
+
total += bytes.length;
|
|
41
|
+
if (total > exports.MAX_REQUEST_BYTES) {
|
|
42
|
+
throw new errors_js_1.ClusterRequestError(`request payload exceeds the ${exports.MAX_REQUEST_BYTES} byte limit`, 'OVERSIZED_JSON');
|
|
43
|
+
}
|
|
44
|
+
chunks.push(bytes);
|
|
45
|
+
}
|
|
46
|
+
const assembled = new Uint8Array(total);
|
|
47
|
+
let offset = 0;
|
|
48
|
+
for (const bytes of chunks) {
|
|
49
|
+
assembled.set(bytes, offset);
|
|
50
|
+
offset += bytes.length;
|
|
51
|
+
}
|
|
52
|
+
return assembled;
|
|
53
|
+
}
|
|
54
|
+
function assertDistinctRequestSources(graph, input) {
|
|
55
|
+
if (input === undefined) {
|
|
56
|
+
throw new errors_js_1.ClusterRequestError('--input is required for every hosted run', 'MISSING_INPUT');
|
|
57
|
+
}
|
|
58
|
+
if (graph === '-' && input === '-') {
|
|
59
|
+
throw new errors_js_1.ClusterRequestError('graph and input cannot both read from stdin', 'AMBIGUOUS_STDIN_SOURCE');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const MAX_REQUEST_BYTES: 1048576;
|
|
2
|
+
export declare function decodeBoundedJson(bytes: Uint8Array): unknown;
|
|
3
|
+
export declare function readBoundedSource(source: AsyncIterable<Uint8Array | string>): Promise<Uint8Array>;
|
|
4
|
+
export declare function assertDistinctRequestSources(graph: string, input: string | undefined): asserts input is string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ClusterRequestError } from './errors.mjs';
|
|
2
|
+
import { MAX_FRAME_BYTES } from './generated/protocol.mjs';
|
|
3
|
+
export const MAX_REQUEST_BYTES = MAX_FRAME_BYTES;
|
|
4
|
+
export function decodeBoundedJson(bytes) {
|
|
5
|
+
if (bytes.length > MAX_REQUEST_BYTES) {
|
|
6
|
+
throw new ClusterRequestError(`request payload of ${bytes.length} bytes exceeds the ${MAX_REQUEST_BYTES} byte limit`, 'OVERSIZED_JSON');
|
|
7
|
+
}
|
|
8
|
+
let text;
|
|
9
|
+
try {
|
|
10
|
+
text = new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
throw new ClusterRequestError('request payload is not valid UTF-8', 'INVALID_UTF8');
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
return JSON.parse(text);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
throw new ClusterRequestError('request payload is not valid JSON', 'MALFORMED_JSON');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// Callers resolve `--graph`/`--input` specifiers ('-' vs. a file path) to a byte
|
|
23
|
+
// source themselves; opening the filesystem stream stays outside src/cluster so this
|
|
24
|
+
// module keeps no host-specific dependency (not even the `NodeJS` ambient namespace,
|
|
25
|
+
// which isn't resolvable from a consumer's declaration-only install) beyond the
|
|
26
|
+
// standard async-iterable protocol every Node Readable already implements — mirrors
|
|
27
|
+
// how WebSocketLike is injected instead of importing 'ws' directly, see socket.ts.
|
|
28
|
+
export async function readBoundedSource(source) {
|
|
29
|
+
const encoder = new TextEncoder();
|
|
30
|
+
const chunks = [];
|
|
31
|
+
let total = 0;
|
|
32
|
+
for await (const chunk of source) {
|
|
33
|
+
const bytes = typeof chunk === 'string' ? encoder.encode(chunk) : new Uint8Array(chunk);
|
|
34
|
+
total += bytes.length;
|
|
35
|
+
if (total > MAX_REQUEST_BYTES) {
|
|
36
|
+
throw new ClusterRequestError(`request payload exceeds the ${MAX_REQUEST_BYTES} byte limit`, 'OVERSIZED_JSON');
|
|
37
|
+
}
|
|
38
|
+
chunks.push(bytes);
|
|
39
|
+
}
|
|
40
|
+
const assembled = new Uint8Array(total);
|
|
41
|
+
let offset = 0;
|
|
42
|
+
for (const bytes of chunks) {
|
|
43
|
+
assembled.set(bytes, offset);
|
|
44
|
+
offset += bytes.length;
|
|
45
|
+
}
|
|
46
|
+
return assembled;
|
|
47
|
+
}
|
|
48
|
+
export function assertDistinctRequestSources(graph, input) {
|
|
49
|
+
if (input === undefined) {
|
|
50
|
+
throw new ClusterRequestError('--input is required for every hosted run', 'MISSING_INPUT');
|
|
51
|
+
}
|
|
52
|
+
if (graph === '-' && input === '-') {
|
|
53
|
+
throw new ClusterRequestError('graph and input cannot both read from stdin', 'AMBIGUOUS_STDIN_SOURCE');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.firstInputValidationIssue = firstInputValidationIssue;
|
|
4
|
+
exports.assertInputValue = assertInputValue;
|
|
5
|
+
const errors_js_1 = require("./errors.cjs");
|
|
6
|
+
function isJsonInteger(value) {
|
|
7
|
+
return typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value);
|
|
8
|
+
}
|
|
9
|
+
function evaluate(type, value, path) {
|
|
10
|
+
switch (type.kind) {
|
|
11
|
+
case 'null':
|
|
12
|
+
return value === null ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'null' };
|
|
13
|
+
case 'boolean':
|
|
14
|
+
return typeof value === 'boolean' ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'boolean' };
|
|
15
|
+
case 'integer':
|
|
16
|
+
return isJsonInteger(value) ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'integer' };
|
|
17
|
+
case 'number':
|
|
18
|
+
return typeof value === 'number' && Number.isFinite(value)
|
|
19
|
+
? null
|
|
20
|
+
: { path, code: 'TYPE_MISMATCH', expectedKind: 'number' };
|
|
21
|
+
case 'string':
|
|
22
|
+
return typeof value === 'string' ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'string' };
|
|
23
|
+
case 'enum':
|
|
24
|
+
if (typeof value !== 'string')
|
|
25
|
+
return { path, code: 'TYPE_MISMATCH', expectedKind: 'enum' };
|
|
26
|
+
return type.values.includes(value)
|
|
27
|
+
? null
|
|
28
|
+
: { path, code: 'UNKNOWN_ENUM_LABEL', expectedKind: 'enum' };
|
|
29
|
+
case 'array': {
|
|
30
|
+
if (!Array.isArray(value))
|
|
31
|
+
return { path, code: 'TYPE_MISMATCH', expectedKind: 'array' };
|
|
32
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
33
|
+
const issue = evaluate(type.items, value[index], `${path}/${index}`);
|
|
34
|
+
if (issue)
|
|
35
|
+
return issue;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
case 'record': {
|
|
40
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
41
|
+
return { path, code: 'TYPE_MISMATCH', expectedKind: 'record' };
|
|
42
|
+
}
|
|
43
|
+
const record = value;
|
|
44
|
+
const fieldNames = Object.keys(type.fields).sort();
|
|
45
|
+
for (const name of fieldNames) {
|
|
46
|
+
const field = type.fields[name];
|
|
47
|
+
if (!field)
|
|
48
|
+
continue;
|
|
49
|
+
const fieldPath = `${path}/${name}`;
|
|
50
|
+
if (Object.prototype.hasOwnProperty.call(record, name)) {
|
|
51
|
+
const issue = evaluate(field.type, record[name], fieldPath);
|
|
52
|
+
if (issue)
|
|
53
|
+
return issue;
|
|
54
|
+
}
|
|
55
|
+
else if (field.required) {
|
|
56
|
+
return { path: fieldPath, code: 'MISSING_REQUIRED_FIELD', expectedKind: field.type.kind };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const declared = new Set(fieldNames);
|
|
60
|
+
const unknownField = Object.keys(record).sort().find((name) => !declared.has(name));
|
|
61
|
+
return unknownField
|
|
62
|
+
? { path: `${path}/${unknownField}`, code: 'UNKNOWN_FIELD', expectedKind: 'record' }
|
|
63
|
+
: null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function firstInputValidationIssue(type, value, path = '') {
|
|
68
|
+
const issue = evaluate(type, value, path);
|
|
69
|
+
return issue ? { path: issue.path, code: issue.code } : null;
|
|
70
|
+
}
|
|
71
|
+
function assertInputValue(type, value) {
|
|
72
|
+
const issue = evaluate(type, value, '');
|
|
73
|
+
if (!issue)
|
|
74
|
+
return;
|
|
75
|
+
throw new errors_js_1.ClusterRequestError(`input value at '${issue.path || '/'}' failed validation: ${issue.code}, expected ${issue.expectedKind}`, 'INVALID_INPUT');
|
|
76
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PayloadType } from './generated/protocol.js';
|
|
2
|
+
export type InputValidationIssue = {
|
|
3
|
+
readonly path: string;
|
|
4
|
+
readonly code: 'TYPE_MISMATCH' | 'MISSING_REQUIRED_FIELD' | 'UNKNOWN_FIELD' | 'UNKNOWN_ENUM_LABEL';
|
|
5
|
+
};
|
|
6
|
+
export declare function firstInputValidationIssue(type: PayloadType, value: unknown, path?: string): InputValidationIssue | null;
|
|
7
|
+
export declare function assertInputValue(type: PayloadType, value: unknown): void;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ClusterRequestError } from './errors.mjs';
|
|
2
|
+
function isJsonInteger(value) {
|
|
3
|
+
return typeof value === 'number' && Number.isFinite(value) && Number.isInteger(value);
|
|
4
|
+
}
|
|
5
|
+
function evaluate(type, value, path) {
|
|
6
|
+
switch (type.kind) {
|
|
7
|
+
case 'null':
|
|
8
|
+
return value === null ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'null' };
|
|
9
|
+
case 'boolean':
|
|
10
|
+
return typeof value === 'boolean' ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'boolean' };
|
|
11
|
+
case 'integer':
|
|
12
|
+
return isJsonInteger(value) ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'integer' };
|
|
13
|
+
case 'number':
|
|
14
|
+
return typeof value === 'number' && Number.isFinite(value)
|
|
15
|
+
? null
|
|
16
|
+
: { path, code: 'TYPE_MISMATCH', expectedKind: 'number' };
|
|
17
|
+
case 'string':
|
|
18
|
+
return typeof value === 'string' ? null : { path, code: 'TYPE_MISMATCH', expectedKind: 'string' };
|
|
19
|
+
case 'enum':
|
|
20
|
+
if (typeof value !== 'string')
|
|
21
|
+
return { path, code: 'TYPE_MISMATCH', expectedKind: 'enum' };
|
|
22
|
+
return type.values.includes(value)
|
|
23
|
+
? null
|
|
24
|
+
: { path, code: 'UNKNOWN_ENUM_LABEL', expectedKind: 'enum' };
|
|
25
|
+
case 'array': {
|
|
26
|
+
if (!Array.isArray(value))
|
|
27
|
+
return { path, code: 'TYPE_MISMATCH', expectedKind: 'array' };
|
|
28
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
29
|
+
const issue = evaluate(type.items, value[index], `${path}/${index}`);
|
|
30
|
+
if (issue)
|
|
31
|
+
return issue;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
case 'record': {
|
|
36
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
37
|
+
return { path, code: 'TYPE_MISMATCH', expectedKind: 'record' };
|
|
38
|
+
}
|
|
39
|
+
const record = value;
|
|
40
|
+
const fieldNames = Object.keys(type.fields).sort();
|
|
41
|
+
for (const name of fieldNames) {
|
|
42
|
+
const field = type.fields[name];
|
|
43
|
+
if (!field)
|
|
44
|
+
continue;
|
|
45
|
+
const fieldPath = `${path}/${name}`;
|
|
46
|
+
if (Object.prototype.hasOwnProperty.call(record, name)) {
|
|
47
|
+
const issue = evaluate(field.type, record[name], fieldPath);
|
|
48
|
+
if (issue)
|
|
49
|
+
return issue;
|
|
50
|
+
}
|
|
51
|
+
else if (field.required) {
|
|
52
|
+
return { path: fieldPath, code: 'MISSING_REQUIRED_FIELD', expectedKind: field.type.kind };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const declared = new Set(fieldNames);
|
|
56
|
+
const unknownField = Object.keys(record).sort().find((name) => !declared.has(name));
|
|
57
|
+
return unknownField
|
|
58
|
+
? { path: `${path}/${unknownField}`, code: 'UNKNOWN_FIELD', expectedKind: 'record' }
|
|
59
|
+
: null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export function firstInputValidationIssue(type, value, path = '') {
|
|
64
|
+
const issue = evaluate(type, value, path);
|
|
65
|
+
return issue ? { path: issue.path, code: issue.code } : null;
|
|
66
|
+
}
|
|
67
|
+
export function assertInputValue(type, value) {
|
|
68
|
+
const issue = evaluate(type, value, '');
|
|
69
|
+
if (!issue)
|
|
70
|
+
return;
|
|
71
|
+
throw new ClusterRequestError(`input value at '${issue.path || '/'}' failed validation: ${issue.code}, expected ${issue.expectedKind}`, 'INVALID_INPUT');
|
|
72
|
+
}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assertDefinition = assertDefinition;
|
|
4
4
|
exports.assertMethodResult = assertMethodResult;
|
|
5
|
+
exports.assertGraphSpec = assertGraphSpec;
|
|
6
|
+
exports.assertGraphProfile = assertGraphProfile;
|
|
7
|
+
exports.assertGraphProfileSupported = assertGraphProfileSupported;
|
|
5
8
|
const _2020_js_1 = require("ajv/dist/2020.js");
|
|
6
9
|
const protocol_js_1 = require("./generated/protocol.cjs");
|
|
7
10
|
const protocol_schema_js_1 = require("./generated/protocol-schema.cjs");
|
|
@@ -44,3 +47,21 @@ function assertMethodResult(method, value) {
|
|
|
44
47
|
throw error;
|
|
45
48
|
}
|
|
46
49
|
}
|
|
50
|
+
function assertRequestDefinition(definition, value, code) {
|
|
51
|
+
const validate = validatorFor(definition);
|
|
52
|
+
if (validate(value))
|
|
53
|
+
return;
|
|
54
|
+
const details = (validate.errors ?? []).map((error) => `${error.instancePath || '/'} ${error.message ?? 'is invalid'}`).join('; ');
|
|
55
|
+
throw new errors_js_1.ClusterRequestError(`${definition} validation failed: ${details}`, code);
|
|
56
|
+
}
|
|
57
|
+
function assertGraphSpec(value) {
|
|
58
|
+
assertRequestDefinition('GraphSpec', value, 'INVALID_GRAPH');
|
|
59
|
+
}
|
|
60
|
+
function assertGraphProfile(value) {
|
|
61
|
+
assertRequestDefinition('GraphProfile', value, 'INVALID_GRAPH_PROFILE');
|
|
62
|
+
}
|
|
63
|
+
function assertGraphProfileSupported(profile, capabilities) {
|
|
64
|
+
if (!capabilities.graphProfiles?.includes(profile)) {
|
|
65
|
+
throw new errors_js_1.ClusterRequestError(`graph profile ${profile} is not among the server's advertised graphProfiles`, 'UNSUPPORTED_GRAPH_PROFILE');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import type { ClusterMethod } from './generated/protocol.js';
|
|
1
|
+
import type { ClusterMethod, GraphProfile, GraphSpec, ServerCapabilities } from './generated/protocol.js';
|
|
2
2
|
export declare function assertDefinition(definition: string, value: unknown): void;
|
|
3
3
|
export declare function assertMethodResult(method: ClusterMethod, value: unknown): void;
|
|
4
|
+
export declare function assertGraphSpec(value: unknown): asserts value is GraphSpec;
|
|
5
|
+
export declare function assertGraphProfile(value: unknown): asserts value is GraphProfile;
|
|
6
|
+
export declare function assertGraphProfileSupported(profile: GraphProfile, capabilities: ServerCapabilities): void;
|