@maiaos/sdk 0.1.0-canary.44938d4.manual.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/README.md +291 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.js +243 -0
- package/dist/local-transport-channels.d.ts +7 -0
- package/dist/local-transport-channels.js +22 -0
- package/dist/node.d.ts +17 -0
- package/dist/node.js +616 -0
- package/package.json +48 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { executionCatalogGetResultSchema, installedHarnessListResultSchema, integrationApplyCodexResultSchema, integrationApplyPiRpcResultSchema, integrationPlanCodexResultSchema, integrationPlanPiRpcResultSchema, integrationRemoveCodexResultSchema, integrationRemovePiRpcResultSchema, integrationStatusCodexResultSchema, integrationStatusPiRpcResultSchema, invocationContextShowResultSchema, liveTerminalCloseResultSchema, liveTerminalControllerAcquireResultSchema, liveTerminalControllerReleaseResultSchema, liveTerminalControllerRequestResultSchema, liveTerminalControllerRequestShowResultSchema, liveTerminalResizeResultSchema, liveTerminalSignalResultSchema, liveTerminalWriteResultSchema, localNodeOperationErrorCodeSchema, localNodeRequestPayloadSchema, localNodeShutdownResultSchema, localNodeStatusResultSchema, MAIA_PROTOCOL_VERSION, monitorBootstrapCreateResultSchema, orchestrationDispatchSettleTerminalResultSchema, orchestrationDispatchShowResultSchema, orchestrationInboxAckResultSchema, orchestrationInboxCheckResultSchema, orchestrationQuestionCancelResultSchema, orchestrationQuestionOpenResultSchema, orchestrationQuestionReplyResultSchema, orchestrationRunCreateResultSchema, orchestrationRunListResultSchema, orchestrationRunShowResultSchema, orchestrationTaskListResultSchema, orchestrationTaskShowResultSchema, projectListResultSchema, projectRegisterResultSchema, projectShowResultSchema, protocolErrorEnvelopeSchema, protocolRequestEnvelopeSchema, protocolSuccessEnvelopeSchema, receiptGetResultSchema, receiptListResultSchema, runtimeProbeResultSchema, sessionCreateResultSchema, sessionEventsListResultSchema, sessionListResultSchema, sessionShowResultSchema, sessionStartResultSchema, terminalCreateResultSchema, terminalEventsListResultSchema, terminalListResultSchema, terminalReadResultSchema, terminalShowResultSchema, turnInterruptResultSchema, turnSendResultSchema, turnShowResultSchema, workspaceExecutionConfigureResultSchema, workspaceExecutionShowResultSchema, workspaceListResultSchema, workspaceRepositoryAttachResultSchema, workspaceShowResultSchema, } from "@maiaos/protocol";
|
|
2
|
+
export { capabilityDescriptorSchema, capabilityListSchema, capabilityNameSchema, createProtocolEnvelopeSchema, createRequestEnvelopeSchema, createRuntimeSchema, createSuccessEnvelopeSchema, DEFAULT_ORCHESTRATION_CHECK_PAGE_SIZE, DEFAULT_ORCHESTRATION_LIST_PAGE_SIZE, DEFAULT_ORCHESTRATION_TASK_LIST_PAGE_SIZE, DEFAULT_RECEIPT_LIST_PAGE_SIZE, EXECUTION_SCHEMA_VERSION, executionCatalogGetParametersSchema, executionCatalogGetResultSchema, executionProfileSchema, executionProviderDescriptorSchema, inspectOrchestrationRunCreateAdmission, installedHarnessListParametersSchema, installedHarnessListResultSchema, integrationApplyCodexParametersSchema, integrationApplyCodexResultSchema, integrationApplyPiRpcParametersSchema, integrationApplyPiRpcResultSchema, integrationAuthorizationSchema, integrationAuthorizationStatusItemSchema, integrationPlanCodexParametersSchema, integrationPlanCodexResultSchema, integrationPlanPiRpcParametersSchema, integrationPlanPiRpcResultSchema, integrationRemoveCodexParametersSchema, integrationRemoveCodexResultSchema, integrationRemovePiRpcParametersSchema, integrationRemovePiRpcResultSchema, integrationStatusCodexParametersSchema, integrationStatusCodexResultSchema, integrationStatusPiRpcParametersSchema, integrationStatusPiRpcResultSchema, INVOCATION_CONTEXT_ACTOR_LOCAL_USER, INVOCATION_CONTEXT_ALLOWED_ACTION_SHOW, INVOCATION_CONTEXT_CLIENT_PRINCIPAL_ID, INVOCATION_CONTEXT_ERROR_NODE_UNAVAILABLE, INVOCATION_CONTEXT_ERROR_OVERRIDE_FORBIDDEN, INVOCATION_CONTEXT_SCHEMA_VERSION, invocationContextShowParametersSchema, invocationContextShowResultSchema, liveTerminalCloseParametersSchema, liveTerminalCloseResultSchema, liveTerminalControllerAcquireParametersSchema, liveTerminalControllerAcquireResultSchema, liveTerminalControllerReleaseParametersSchema, liveTerminalControllerReleaseResultSchema, liveTerminalControllerRequestParametersSchema, liveTerminalControllerRequestResultSchema, liveTerminalControllerRequestShowParametersSchema, liveTerminalControllerRequestShowResultSchema, liveTerminalCreateParametersSchema, liveTerminalCreateResultSchema, liveTerminalResizeParametersSchema, liveTerminalResizeResultSchema, liveTerminalSignalParametersSchema, liveTerminalSignalResultSchema, liveTerminalWriteParametersSchema, liveTerminalWriteResultSchema, LOCAL_DEFAULT_POLICY_ID, LOCAL_HOST_PROFILE_ID, LOCAL_HOST_PROVIDER_ID, localNodeEndpointSchema, localNodeOperationErrorCodeSchema, localNodeRequestPayloadSchema, localNodeShutdownResultSchema, localNodeStatusResultSchema, MAIA_PROTOCOL_VERSION, MAX_ORCHESTRATION_CHECK_PAGE_SIZE, MAX_ORCHESTRATION_LIST_PAGE_SIZE, MAX_ORCHESTRATION_TASK_LIST_PAGE_SIZE, MAX_RECEIPT_LIST_PAGE_SIZE, MAX_RECEIPT_LIST_RESULT_BYTES, MAX_TERMINAL_COLUMNS, MAX_TERMINAL_CONTROLLER_LEASE_MS, MAX_TERMINAL_GENERATION, MAX_TERMINAL_INPUT_CHUNK_BYTES, MAX_TERMINAL_INPUT_SEQUENCE, MAX_TERMINAL_ROWS, MAX_TURN_INPUT_BYTES, MIN_TERMINAL_COLUMNS, MIN_TERMINAL_CONTROLLER_LEASE_MS, MIN_TERMINAL_ROWS, monitorBootstrapCreateResultSchema, orchestrationDispatchSettleTerminalParametersSchema, orchestrationDispatchSettleTerminalResultSchema, orchestrationDispatchShowParametersSchema, orchestrationDispatchShowResultSchema, orchestrationInboxAckParametersSchema, orchestrationInboxAckResultSchema, orchestrationInboxCheckParametersSchema, orchestrationInboxCheckResultSchema, orchestrationQuestionCancelParametersSchema, orchestrationQuestionCancelResultSchema, orchestrationQuestionOpenParametersSchema, orchestrationQuestionOpenResultSchema, orchestrationQuestionReplyParametersSchema, orchestrationQuestionReplyResultSchema, orchestrationRunCreateParametersSchema, orchestrationRunCreateResultSchema, orchestrationRunListParametersSchema, orchestrationRunListResultSchema, orchestrationRunShowParametersSchema, orchestrationRunShowResultSchema, orchestrationTaskGraphSchema, orchestrationTaskListParametersSchema, orchestrationTaskListResultSchema, orchestrationTaskShowParametersSchema, orchestrationTaskShowResultSchema, orchestrationTaskSummarySchema, placementPolicySchema, projectListParametersSchema, projectListResultSchema, projectRegisterParametersSchema, projectRegisterResultSchema, projectSchema, projectShowParametersSchema, projectShowResultSchema, protocolErrorCodeSchema, protocolErrorEnvelopeSchema, protocolErrorSchema, protocolIdentifierSchema, protocolMessageKindSchema, protocolRequestEnvelopeSchema, protocolSuccessEnvelopeSchema, protocolVersionSchema, receiptGetParametersSchema, receiptListCursorSchema, receiptListItemSchema, receiptListParametersSchema, receiptListResultSchema, repositorySchema, runtimeProbeParametersSchema, runtimeProbeResultSchema, sessionCreateParametersSchema, sessionCreateResultSchema, sessionEventSchema, sessionEventsListParametersSchema, sessionEventsListResultSchema, sessionListParametersSchema, sessionListResultSchema, sessionSchema, sessionShowParametersSchema, sessionShowResultSchema, sessionStartParametersSchema, sessionStartResultSchema, terminalChunkSchema, terminalCreateParametersSchema, terminalCreateResultSchema, terminalEventSchema, terminalEventsListParametersSchema, terminalEventsListResultSchema, terminalListParametersSchema, terminalListResultSchema, terminalReadParametersSchema, terminalReadResultSchema, terminalSchema, terminalShowParametersSchema, terminalShowResultSchema, turnInputSchema, turnInterruptParametersSchema, turnInterruptResultSchema, turnSchema, turnSendParametersSchema, turnSendResultSchema, turnShowParametersSchema, turnShowResultSchema, turnTokenUsageSchema, workspaceCheckoutSchema, workspaceExecutionBindingSchema, workspaceExecutionConfigureParametersSchema, workspaceExecutionConfigureResultSchema, workspaceExecutionResolutionSchema, workspaceExecutionSelectionSchema, workspaceExecutionShowParametersSchema, workspaceExecutionShowResultSchema, workspaceListParametersSchema, workspaceListResultSchema, workspaceRepositoryAttachParametersSchema, workspaceRepositoryAttachResultSchema, workspaceSchema, workspaceShowParametersSchema, workspaceShowResultSchema, } from "@maiaos/protocol";
|
|
3
|
+
export class MaiaClientError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
remoteError;
|
|
6
|
+
constructor(code, message, options) {
|
|
7
|
+
super(message, options);
|
|
8
|
+
this.name = "MaiaClientError";
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.remoteError = options?.remoteError;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const requireMatchingCorrelation = (response, requestMessageId) => {
|
|
14
|
+
if (response.correlationId !== requestMessageId) {
|
|
15
|
+
throw new MaiaClientError("correlation_mismatch", "The Maia response did not match the request message.");
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const createRequestEnvelope = (request) => {
|
|
19
|
+
try {
|
|
20
|
+
const envelope = {
|
|
21
|
+
kind: "request",
|
|
22
|
+
messageId: request.messageId,
|
|
23
|
+
payload: request.inputSchema.parse(request.payload),
|
|
24
|
+
protocolVersion: MAIA_PROTOCOL_VERSION,
|
|
25
|
+
};
|
|
26
|
+
protocolRequestEnvelopeSchema.parse(envelope);
|
|
27
|
+
return envelope;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new MaiaClientError("invalid_request", "The Maia request failed runtime validation.", { cause: error });
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const parseSuccessResult = (rawResponse, requestMessageId) => {
|
|
34
|
+
try {
|
|
35
|
+
const response = protocolSuccessEnvelopeSchema.parse(rawResponse);
|
|
36
|
+
requireMatchingCorrelation(response, requestMessageId);
|
|
37
|
+
return response.payload.result;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (error instanceof MaiaClientError) {
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
throw new MaiaClientError("invalid_response", "The Maia response envelope failed runtime validation.", { cause: error });
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const parseOutput = (outputSchema, output) => {
|
|
47
|
+
try {
|
|
48
|
+
return outputSchema.parse(output);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw new MaiaClientError("invalid_response", "The Maia response payload failed runtime validation.", { cause: error });
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const rejectRemoteError = (rawResponse, requestMessageId) => {
|
|
55
|
+
const response = protocolErrorEnvelopeSchema.safeParse(rawResponse);
|
|
56
|
+
if (response.success) {
|
|
57
|
+
requireMatchingCorrelation(response.data, requestMessageId);
|
|
58
|
+
const localCode = localNodeOperationErrorCodeSchema.safeParse(response.data.payload.error.code);
|
|
59
|
+
throw new MaiaClientError(localCode.success ? localCode.data : "remote_error", response.data.payload.error.message, { remoteError: response.data.payload.error });
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const requestTransport = async (transport, envelope, signal) => {
|
|
63
|
+
if (cancellationRequested(signal)) {
|
|
64
|
+
throw new MaiaClientError("cancelled", "The Maia request was cancelled.");
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const options = signal === undefined ? undefined : { signal };
|
|
68
|
+
return await transport.request(envelope, options);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (error instanceof MaiaClientError)
|
|
72
|
+
throw error;
|
|
73
|
+
if (cancellationRequested(signal)) {
|
|
74
|
+
throw new MaiaClientError("cancelled", "The Maia request was cancelled.", {
|
|
75
|
+
cause: error,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
throw new MaiaClientError("transport_failure", "The Maia transport request failed.", { cause: error });
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const cancellationRequested = (signal) => signal?.aborted ?? false;
|
|
82
|
+
const executeRequest = async (transport, request) => {
|
|
83
|
+
const requestEnvelope = createRequestEnvelope(request);
|
|
84
|
+
const rawResponse = await requestTransport(transport, requestEnvelope, request.signal);
|
|
85
|
+
rejectRemoteError(rawResponse, request.messageId);
|
|
86
|
+
return parseOutput(request.outputSchema, parseSuccessResult(rawResponse, request.messageId));
|
|
87
|
+
};
|
|
88
|
+
export const createMaiaClient = (transport) => ({
|
|
89
|
+
request: (request) => executeRequest(transport, request),
|
|
90
|
+
});
|
|
91
|
+
const makeLocalNodeRequester = (client) => (payload, outputSchema, { messageId, signal }) => client.request({
|
|
92
|
+
inputSchema: localNodeRequestPayloadSchema,
|
|
93
|
+
messageId,
|
|
94
|
+
outputSchema,
|
|
95
|
+
payload,
|
|
96
|
+
signal,
|
|
97
|
+
});
|
|
98
|
+
const makeInvocationContextOperations = (request) => ({
|
|
99
|
+
showCurrentContext: (parameters, options) => request({ method: "context.show", parameters }, invocationContextShowResultSchema, options),
|
|
100
|
+
});
|
|
101
|
+
const makeLifecycleOperations = (request) => ({
|
|
102
|
+
createMonitorBootstrap: (options) => request({ method: "monitor.bootstrap.create", parameters: {} }, monitorBootstrapCreateResultSchema, options),
|
|
103
|
+
shutdown: (options) => request({ method: "node.shutdown", parameters: {} }, localNodeShutdownResultSchema, options),
|
|
104
|
+
status: (options) => request({ method: "node.status", parameters: {} }, localNodeStatusResultSchema, options),
|
|
105
|
+
});
|
|
106
|
+
const makeExecutionOperations = (request) => ({
|
|
107
|
+
configureWorkspaceExecution: (parameters, options) => request({ method: "workspace.execution.configure", parameters }, workspaceExecutionConfigureResultSchema, options),
|
|
108
|
+
readExecutionCatalog: (parameters, options) => request({ method: "execution.catalog.get", parameters }, executionCatalogGetResultSchema, options),
|
|
109
|
+
showWorkspaceExecution: (parameters, options) => request({ method: "workspace.execution.show", parameters }, workspaceExecutionShowResultSchema, options),
|
|
110
|
+
});
|
|
111
|
+
const makeProjectOperations = (request) => ({
|
|
112
|
+
listProjects: (parameters, options) => request({ method: "project.list", parameters }, projectListResultSchema, options),
|
|
113
|
+
registerProject: (parameters, options) => request({ method: "project.register", parameters }, projectRegisterResultSchema, options),
|
|
114
|
+
showProject: (parameters, options) => request({ method: "project.show", parameters }, projectShowResultSchema, options),
|
|
115
|
+
});
|
|
116
|
+
const makeWorkspaceOperations = (request) => ({
|
|
117
|
+
attachWorkspaceRepository: (parameters, options) => request({ method: "workspace.repository.attach", parameters }, workspaceRepositoryAttachResultSchema, options),
|
|
118
|
+
listWorkspaces: (parameters, options) => request({ method: "workspace.list", parameters }, workspaceListResultSchema, options),
|
|
119
|
+
showWorkspace: (parameters, options) => request({ method: "workspace.show", parameters }, workspaceShowResultSchema, options),
|
|
120
|
+
});
|
|
121
|
+
const makeReceiptOperations = (request) => ({
|
|
122
|
+
getReceipt: (parameters, options) => request({ method: "receipt.get", parameters }, receiptGetResultSchema, options),
|
|
123
|
+
listReceipts: (parameters, options) => request({ method: "receipt.list", parameters }, receiptListResultSchema, options),
|
|
124
|
+
});
|
|
125
|
+
const makeIntegrationAuthorizationApplyOperations = (request) => ({
|
|
126
|
+
applyCodexIntegration: (parameters, options) => request({ method: "integration.apply.codex", parameters }, integrationApplyCodexResultSchema, options),
|
|
127
|
+
applyPiRpcIntegration: (parameters, options) => request({ method: "integration.apply.pi-rpc", parameters }, integrationApplyPiRpcResultSchema, options),
|
|
128
|
+
});
|
|
129
|
+
const makeIntegrationAuthorizationRemoveOperations = (request) => ({
|
|
130
|
+
removeCodexIntegration: (parameters, options) => request({ method: "integration.remove.codex", parameters }, integrationRemoveCodexResultSchema, options),
|
|
131
|
+
removePiRpcIntegration: (parameters, options) => request({ method: "integration.remove.pi-rpc", parameters }, integrationRemovePiRpcResultSchema, options),
|
|
132
|
+
});
|
|
133
|
+
const makeIntegrationAuthorizationPlanOperations = (request) => ({
|
|
134
|
+
planCodexIntegration: (parameters, options) => request({ method: "integration.plan.codex", parameters }, integrationPlanCodexResultSchema, options),
|
|
135
|
+
planPiRpcIntegration: (parameters, options) => request({ method: "integration.plan.pi-rpc", parameters }, integrationPlanPiRpcResultSchema, options),
|
|
136
|
+
});
|
|
137
|
+
const makeIntegrationAuthorizationStatusOperations = (request) => ({
|
|
138
|
+
statusCodexIntegration: (parameters, options) => request({ method: "integration.status.codex", parameters }, integrationStatusCodexResultSchema, options),
|
|
139
|
+
statusPiRpcIntegration: (parameters, options) => request({ method: "integration.status.pi-rpc", parameters }, integrationStatusPiRpcResultSchema, options),
|
|
140
|
+
});
|
|
141
|
+
const makeIntegrationAuthorizationOperations = (request) => ({
|
|
142
|
+
...makeIntegrationAuthorizationApplyOperations(request),
|
|
143
|
+
...makeIntegrationAuthorizationPlanOperations(request),
|
|
144
|
+
...makeIntegrationAuthorizationRemoveOperations(request),
|
|
145
|
+
...makeIntegrationAuthorizationStatusOperations(request),
|
|
146
|
+
});
|
|
147
|
+
const makeRuntimeOperations = (request) => ({
|
|
148
|
+
listInstalledHarnesses: (parameters, options) => request({ method: "harness.installed.list", parameters }, installedHarnessListResultSchema, options),
|
|
149
|
+
probeRuntime: (parameters, options) => request({ method: "runtime.probe", parameters }, runtimeProbeResultSchema, options),
|
|
150
|
+
});
|
|
151
|
+
const makeSessionCommandOperations = (request) => ({
|
|
152
|
+
createSession: (parameters, options) => request({ method: "session.create", parameters }, sessionCreateResultSchema, options),
|
|
153
|
+
startSession: (parameters, options) => request({ method: "session.start", parameters }, sessionStartResultSchema, options),
|
|
154
|
+
});
|
|
155
|
+
const makeSessionQueryOperations = (request) => ({
|
|
156
|
+
listSessionEvents: (parameters, options) => request({ method: "session.events.list", parameters }, sessionEventsListResultSchema, options),
|
|
157
|
+
listSessions: (parameters, options) => request({ method: "session.list", parameters }, sessionListResultSchema, options),
|
|
158
|
+
showSession: (parameters, options) => request({ method: "session.show", parameters }, sessionShowResultSchema, options),
|
|
159
|
+
});
|
|
160
|
+
const makeTurnOperations = (request) => ({
|
|
161
|
+
interruptTurn: (parameters, options) => request({ method: "turn.interrupt", parameters }, turnInterruptResultSchema, options),
|
|
162
|
+
sendTurn: (parameters, options) => request({ method: "turn.send", parameters }, turnSendResultSchema, options),
|
|
163
|
+
showTurn: (parameters, options) => request({ method: "turn.show", parameters }, turnShowResultSchema, options),
|
|
164
|
+
});
|
|
165
|
+
const makeTerminalControllerOperations = (request) => ({
|
|
166
|
+
acquireTerminalController: (parameters, options) => request({ method: "terminal.controller.acquire", parameters }, liveTerminalControllerAcquireResultSchema, options),
|
|
167
|
+
releaseTerminalController: (parameters, options) => request({ method: "terminal.controller.release", parameters }, liveTerminalControllerReleaseResultSchema, options),
|
|
168
|
+
requestTerminalController: (parameters, options) => request({ method: "terminal.controller.request", parameters }, liveTerminalControllerRequestResultSchema, options),
|
|
169
|
+
});
|
|
170
|
+
const makeTerminalMutationOperations = (request) => ({
|
|
171
|
+
closeTerminal: (parameters, options) => request({ method: "terminal.session.close", parameters }, liveTerminalCloseResultSchema, options),
|
|
172
|
+
resizeTerminal: (parameters, options) => request({ method: "terminal.session.resize", parameters }, liveTerminalResizeResultSchema, options),
|
|
173
|
+
signalTerminal: (parameters, options) => request({ method: "terminal.session.signal", parameters }, liveTerminalSignalResultSchema, options),
|
|
174
|
+
});
|
|
175
|
+
const makeTerminalWriteOperation = (request) => ({
|
|
176
|
+
writeTerminalInput: (parameters, options) => request({ method: "terminal.input.write", parameters }, liveTerminalWriteResultSchema, options),
|
|
177
|
+
});
|
|
178
|
+
const makeTerminalCreateOperation = (request) => ({
|
|
179
|
+
createTerminal: (parameters, options) => request({ method: "terminal.create", parameters }, terminalCreateResultSchema, options),
|
|
180
|
+
});
|
|
181
|
+
const makeTerminalQueryOperations = (request) => ({
|
|
182
|
+
listTerminalEvents: (parameters, options) => request({ method: "terminal.events.list", parameters }, terminalEventsListResultSchema, options),
|
|
183
|
+
listTerminals: (parameters, options) => request({ method: "terminal.list", parameters }, terminalListResultSchema, options),
|
|
184
|
+
showTerminal: (parameters, options) => request({ method: "terminal.show", parameters }, terminalShowResultSchema, options),
|
|
185
|
+
});
|
|
186
|
+
const makeTerminalControllerQueryOperation = (request) => ({
|
|
187
|
+
showTerminalControllerRequest: (parameters, options) => request({ method: "terminal.controller.request.show", parameters }, liveTerminalControllerRequestShowResultSchema, options),
|
|
188
|
+
});
|
|
189
|
+
const makeTerminalReadOperation = (request) => ({
|
|
190
|
+
readTerminal: (parameters, options) => request({ method: "terminal.read", parameters }, terminalReadResultSchema, options),
|
|
191
|
+
});
|
|
192
|
+
const makeOrchestrationRunOperations = (request) => ({
|
|
193
|
+
createOrchestrationRun: (parameters, options) => request({ method: "run.create", parameters }, orchestrationRunCreateResultSchema, options),
|
|
194
|
+
listOrchestrationRuns: (parameters, options) => request({ method: "run.list", parameters }, orchestrationRunListResultSchema, options),
|
|
195
|
+
showOrchestrationRun: (parameters, options) => request({ method: "run.show", parameters }, orchestrationRunShowResultSchema, options),
|
|
196
|
+
});
|
|
197
|
+
const makeOrchestrationTaskOperations = (request) => ({
|
|
198
|
+
listOrchestrationTasks: (parameters, options) => request({ method: "run.task.list", parameters }, orchestrationTaskListResultSchema, options),
|
|
199
|
+
showOrchestrationTask: (parameters, options) => request({ method: "run.task.show", parameters }, orchestrationTaskShowResultSchema, options),
|
|
200
|
+
});
|
|
201
|
+
const makeOrchestrationInboxOperations = (request) => ({
|
|
202
|
+
acknowledgeOrchestrationDelivery: (parameters, options) => request({ method: "run.inbox.ack", parameters }, orchestrationInboxAckResultSchema, options),
|
|
203
|
+
checkOrchestrationInbox: (parameters, options) => request({ method: "run.inbox.check", parameters }, orchestrationInboxCheckResultSchema, options),
|
|
204
|
+
});
|
|
205
|
+
const makeOrchestrationQuestionOperations = (request) => ({
|
|
206
|
+
cancelOrchestrationQuestion: (parameters, options) => request({ method: "run.question.cancel", parameters }, orchestrationQuestionCancelResultSchema, options),
|
|
207
|
+
openOrchestrationQuestion: (parameters, options) => request({ method: "run.question.open", parameters }, orchestrationQuestionOpenResultSchema, options),
|
|
208
|
+
replyOrchestrationQuestion: (parameters, options) => request({ method: "run.question.reply", parameters }, orchestrationQuestionReplyResultSchema, options),
|
|
209
|
+
});
|
|
210
|
+
const makeOrchestrationSettlementOperation = (request) => ({
|
|
211
|
+
settleOrchestrationDispatchTerminal: (parameters, options) => request({ method: "run.dispatch.settle-terminal", parameters }, orchestrationDispatchSettleTerminalResultSchema, options),
|
|
212
|
+
});
|
|
213
|
+
const makeOrchestrationDispatchShowOperation = (request) => ({
|
|
214
|
+
showOrchestrationDispatch: (parameters, options) => request({ method: "run.dispatch.show", parameters }, orchestrationDispatchShowResultSchema, options),
|
|
215
|
+
});
|
|
216
|
+
const makeLocalNodeClient = (request) => ({
|
|
217
|
+
...makeExecutionOperations(request),
|
|
218
|
+
...makeIntegrationAuthorizationOperations(request),
|
|
219
|
+
...makeInvocationContextOperations(request),
|
|
220
|
+
...makeLifecycleOperations(request),
|
|
221
|
+
...makeOrchestrationInboxOperations(request),
|
|
222
|
+
...makeOrchestrationQuestionOperations(request),
|
|
223
|
+
...makeOrchestrationRunOperations(request),
|
|
224
|
+
...makeOrchestrationTaskOperations(request),
|
|
225
|
+
...makeOrchestrationDispatchShowOperation(request),
|
|
226
|
+
...makeOrchestrationSettlementOperation(request),
|
|
227
|
+
...makeProjectOperations(request),
|
|
228
|
+
...makeReceiptOperations(request),
|
|
229
|
+
...makeRuntimeOperations(request),
|
|
230
|
+
...makeSessionCommandOperations(request),
|
|
231
|
+
...makeSessionQueryOperations(request),
|
|
232
|
+
...makeTerminalControllerOperations(request),
|
|
233
|
+
...makeTerminalControllerQueryOperation(request),
|
|
234
|
+
...makeTerminalCreateOperation(request),
|
|
235
|
+
...makeTerminalMutationOperations(request),
|
|
236
|
+
...makeTerminalQueryOperations(request),
|
|
237
|
+
...makeTerminalReadOperation(request),
|
|
238
|
+
...makeTerminalWriteOperation(request),
|
|
239
|
+
...makeTurnOperations(request),
|
|
240
|
+
...makeWorkspaceOperations(request),
|
|
241
|
+
});
|
|
242
|
+
export const createLocalNodeClient = (transport) => makeLocalNodeClient(makeLocalNodeRequester(createMaiaClient(transport)));
|
|
243
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type LocalNodeEndpoint } from "@maiaos/protocol";
|
|
2
|
+
export type LocalNodeTransportOptions = {
|
|
3
|
+
readonly controlEndpoint?: LocalNodeEndpoint;
|
|
4
|
+
readonly credentialPath: string;
|
|
5
|
+
readonly endpoint: LocalNodeEndpoint;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=local-transport-channels.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { localNodeRequestChannel, localNodeRequestPayloadSchema, } from "@maiaos/protocol";
|
|
2
|
+
import * as Semaphore from "effect/Semaphore";
|
|
3
|
+
const MAX_CONTROL_IN_FLIGHT_REQUESTS = 2;
|
|
4
|
+
const MAX_ORDINARY_IN_FLIGHT_REQUESTS = 8;
|
|
5
|
+
const requestChannel = (envelope) => {
|
|
6
|
+
const request = localNodeRequestPayloadSchema.safeParse(envelope.payload);
|
|
7
|
+
return request.success ? localNodeRequestChannel(request.data) : "ordinary";
|
|
8
|
+
};
|
|
9
|
+
export const createLocalNodeTransportChannels = (options) => {
|
|
10
|
+
const ordinaryConcurrency = Semaphore.makeUnsafe(MAX_ORDINARY_IN_FLIGHT_REQUESTS);
|
|
11
|
+
const controlConcurrency = Semaphore.makeUnsafe(MAX_CONTROL_IN_FLIGHT_REQUESTS);
|
|
12
|
+
return (envelope) => {
|
|
13
|
+
const channel = requestChannel(envelope);
|
|
14
|
+
return {
|
|
15
|
+
channel,
|
|
16
|
+
concurrency: channel === "control" && options.controlEndpoint !== undefined
|
|
17
|
+
? controlConcurrency
|
|
18
|
+
: ordinaryConcurrency,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=local-transport-channels.js.map
|
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type LocalNodeConnectionDescriptor } from "@maiaos/protocol";
|
|
2
|
+
import { type LocalNodeClient, type LocalNodeStatusResult, type MaiaTransport } from "./index.js";
|
|
3
|
+
import { type LocalNodeTransportOptions } from "./local-transport-channels.js";
|
|
4
|
+
export type { LocalNodeTransportOptions } from "./local-transport-channels.js";
|
|
5
|
+
export declare const createLocalNodeTransport: (options: LocalNodeTransportOptions) => MaiaTransport;
|
|
6
|
+
export type LocalNodeDiscoveryOptions = {
|
|
7
|
+
readonly profile?: string;
|
|
8
|
+
readonly runtimeRootOverride?: string;
|
|
9
|
+
readonly signal?: AbortSignal;
|
|
10
|
+
};
|
|
11
|
+
export type LocalNodeConnection = {
|
|
12
|
+
readonly client: LocalNodeClient;
|
|
13
|
+
readonly descriptor: LocalNodeConnectionDescriptor;
|
|
14
|
+
readonly status: LocalNodeStatusResult;
|
|
15
|
+
};
|
|
16
|
+
export declare const connectLocalNode: (options?: LocalNodeDiscoveryOptions) => Promise<LocalNodeConnection>;
|
|
17
|
+
//# sourceMappingURL=node.d.ts.map
|