@sealant/sdk-next 0.39.0-next.708 → 0.39.0-next.710
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/effect/api-client.d.ts +148 -148
- package/dist/effect/operations.d.ts +49 -49
- package/dist/facade/workspace.js +39 -3
- package/dist/types.d.ts +9 -1
- package/package.json +3 -3
|
@@ -52,7 +52,7 @@ export declare const createWorkspaceOp: (payload: {
|
|
|
52
52
|
} | undefined;
|
|
53
53
|
readonly replayed?: boolean | undefined;
|
|
54
54
|
readonly launchId?: string | undefined;
|
|
55
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceDockerServiceUnsupportedError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceRuntimeEnvReferencesUnsupportedError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
55
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceDockerServiceUnsupportedError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceRuntimeEnvReferencesUnsupportedError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
56
56
|
export declare const getWorkspaceOp: (workspaceId: string, ownerUserId?: string | undefined) => Effect.Effect<{
|
|
57
57
|
readonly workspaceId: string;
|
|
58
58
|
readonly name: string;
|
|
@@ -146,14 +146,14 @@ export declare const getWorkspaceOp: (workspaceId: string, ownerUserId?: string
|
|
|
146
146
|
} | undefined;
|
|
147
147
|
} | undefined;
|
|
148
148
|
} | undefined;
|
|
149
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
149
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
150
150
|
export declare const getWorkspaceCreateOp: (idempotencyKey: string, ownerUserId: string) => Effect.Effect<{
|
|
151
151
|
readonly idempotencyKey: string;
|
|
152
152
|
readonly state: "cancelled" | "found" | "none" | "pending";
|
|
153
153
|
readonly workspaceId?: string | undefined;
|
|
154
154
|
readonly runId?: string | undefined;
|
|
155
155
|
readonly launchId?: string | undefined;
|
|
156
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError, SealantApiClient>;
|
|
156
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError, SealantApiClient>;
|
|
157
157
|
export declare const cancelWorkspaceCreateOp: (idempotencyKey: string, payload: {
|
|
158
158
|
readonly ownerUserId: string;
|
|
159
159
|
}) => Effect.Effect<{
|
|
@@ -162,7 +162,7 @@ export declare const cancelWorkspaceCreateOp: (idempotencyKey: string, payload:
|
|
|
162
162
|
readonly workspaceId?: string | undefined;
|
|
163
163
|
readonly runId?: string | undefined;
|
|
164
164
|
readonly launchId?: string | undefined;
|
|
165
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError, SealantApiClient>;
|
|
165
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError, SealantApiClient>;
|
|
166
166
|
export declare const listWorkspacesOp: (query: {
|
|
167
167
|
readonly ownerUserId: string;
|
|
168
168
|
readonly status?: "cancelled" | "failed" | "queued" | "ready" | "retained" | "running" | "stopped" | undefined;
|
|
@@ -221,7 +221,7 @@ export declare const listWorkspacesOp: (query: {
|
|
|
221
221
|
readonly finishedAt?: string | undefined;
|
|
222
222
|
readonly expiresAt?: string | undefined;
|
|
223
223
|
}[];
|
|
224
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError, SealantApiClient>;
|
|
224
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError, SealantApiClient>;
|
|
225
225
|
export declare const execWorkspaceOp: (workspaceId: string, payload: {
|
|
226
226
|
readonly ownerUserId: string;
|
|
227
227
|
readonly commands: readonly {
|
|
@@ -257,7 +257,7 @@ export declare const execWorkspaceOp: (workspaceId: string, payload: {
|
|
|
257
257
|
readonly recordDeletedAt?: string | undefined;
|
|
258
258
|
readonly createdAt: string;
|
|
259
259
|
readonly updatedAt: string;
|
|
260
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
260
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
261
261
|
/** An exec as a Linux user: its own route, which a control plane that cannot run one answers 404. */
|
|
262
262
|
export declare const execWorkspaceAsUserOp: (workspaceId: string, payload: {
|
|
263
263
|
readonly ownerUserId: string;
|
|
@@ -294,7 +294,7 @@ export declare const execWorkspaceAsUserOp: (workspaceId: string, payload: {
|
|
|
294
294
|
readonly recordDeletedAt?: string | undefined;
|
|
295
295
|
readonly createdAt: string;
|
|
296
296
|
readonly updatedAt: string;
|
|
297
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
297
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
298
298
|
export declare const applyWorkspaceDotfilesOp: (workspaceId: string, payload: {
|
|
299
299
|
readonly ownerUserId: string;
|
|
300
300
|
readonly onBehalfOfUserId: string;
|
|
@@ -341,7 +341,7 @@ export declare const applyWorkspaceDotfilesOp: (workspaceId: string, payload: {
|
|
|
341
341
|
readonly recordDeletedAt?: string | undefined;
|
|
342
342
|
readonly createdAt: string;
|
|
343
343
|
readonly updatedAt: string;
|
|
344
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
344
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
345
345
|
export declare const bindWorkspaceOp: (workspaceId: string, payload: {
|
|
346
346
|
readonly ownerUserId: string;
|
|
347
347
|
readonly mountPath?: string | undefined;
|
|
@@ -351,7 +351,7 @@ export declare const bindWorkspaceOp: (workspaceId: string, payload: {
|
|
|
351
351
|
readonly mountPath: string;
|
|
352
352
|
readonly subpath: string;
|
|
353
353
|
}[];
|
|
354
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
354
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
355
355
|
export declare const flushWorkspaceCaptureOp: (workspaceId: string, payload: {
|
|
356
356
|
readonly ownerUserId: string;
|
|
357
357
|
readonly kind?: "final" | "suspend" | undefined;
|
|
@@ -407,7 +407,7 @@ export declare const flushWorkspaceCaptureOp: (workspaceId: string, payload: {
|
|
|
407
407
|
readonly boundMs: number;
|
|
408
408
|
} | undefined;
|
|
409
409
|
readonly ownerMap?: boolean | undefined;
|
|
410
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
410
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
411
411
|
export declare const getWorkspaceCaptureStatusOp: (workspaceId: string, query: {
|
|
412
412
|
readonly ownerUserId: string;
|
|
413
413
|
}) => Effect.Effect<{
|
|
@@ -460,7 +460,7 @@ export declare const getWorkspaceCaptureStatusOp: (workspaceId: string, query: {
|
|
|
460
460
|
readonly boundMs: number;
|
|
461
461
|
} | undefined;
|
|
462
462
|
readonly ownerMap?: boolean | undefined;
|
|
463
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
463
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
464
464
|
export declare const replanWorkspaceCaptureOp: (workspaceId: string, payload: {
|
|
465
465
|
readonly ownerUserId: string;
|
|
466
466
|
readonly expectedOwnerMap?: {
|
|
@@ -482,7 +482,7 @@ export declare const replanWorkspaceCaptureOp: (workspaceId: string, payload: {
|
|
|
482
482
|
readonly bytesSkipped: number;
|
|
483
483
|
readonly removed: number;
|
|
484
484
|
readonly unchanged: boolean;
|
|
485
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
485
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
486
486
|
export declare const stopWorkspaceOp: (workspaceId: string, payload: {
|
|
487
487
|
readonly ownerUserId: string;
|
|
488
488
|
readonly discardUnsaved?: boolean | undefined;
|
|
@@ -508,21 +508,21 @@ export declare const stopWorkspaceOp: (workspaceId: string, payload: {
|
|
|
508
508
|
readonly outcome: "accepted" | "ignored";
|
|
509
509
|
readonly detail?: string | undefined;
|
|
510
510
|
} | undefined;
|
|
511
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
511
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
512
512
|
export declare const recoverWorkspaceOp: (workspaceId: string, payload: {
|
|
513
513
|
readonly ownerUserId: string;
|
|
514
514
|
}) => Effect.Effect<{
|
|
515
515
|
readonly workspaceId: string;
|
|
516
516
|
readonly state: "not-retained" | "requested";
|
|
517
517
|
readonly recoverable?: boolean | undefined;
|
|
518
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
518
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
519
519
|
export declare const restartWorkspaceOp: (workspaceId: string, payload: {
|
|
520
520
|
readonly ownerUserId: string;
|
|
521
521
|
}) => Effect.Effect<{
|
|
522
522
|
readonly workspaceId: string;
|
|
523
523
|
readonly runId: string;
|
|
524
524
|
readonly status: "cancelled" | "failed" | "queued" | "ready" | "retained" | "running" | "stopped";
|
|
525
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
525
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
526
526
|
export declare const inspectWorkspaceImageOp: (payload: {
|
|
527
527
|
readonly ownerUserId: string;
|
|
528
528
|
readonly registryId: string;
|
|
@@ -548,7 +548,7 @@ export declare const inspectWorkspaceImageOp: (payload: {
|
|
|
548
548
|
readonly runtime: string;
|
|
549
549
|
readonly acl: "supported" | "unknown" | "unsupported";
|
|
550
550
|
};
|
|
551
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
551
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
552
552
|
export declare const putWorkspaceCredentialsOp: (workspaceId: string, payload: {
|
|
553
553
|
readonly ownerUserId: string;
|
|
554
554
|
readonly onBehalfOfUserId: string;
|
|
@@ -595,7 +595,7 @@ export declare const putWorkspaceCredentialsOp: (workspaceId: string, payload: {
|
|
|
595
595
|
readonly code: "connected-account-invalid" | "connected-account-missing" | "connected-account-unsupported" | "login-file-unusable";
|
|
596
596
|
readonly message: string;
|
|
597
597
|
}[] | undefined;
|
|
598
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
598
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
599
599
|
export declare const releaseWorkspaceCredentialsOp: (workspaceId: string, query: {
|
|
600
600
|
readonly ownerUserId: string;
|
|
601
601
|
readonly home: string;
|
|
@@ -604,7 +604,7 @@ export declare const releaseWorkspaceCredentialsOp: (workspaceId: string, query:
|
|
|
604
604
|
readonly runId: string;
|
|
605
605
|
readonly home: string;
|
|
606
606
|
readonly released: boolean;
|
|
607
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
607
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadGatewayError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
608
608
|
export declare const listWorkspaceCredentialsOp: (workspaceId: string, query: {
|
|
609
609
|
readonly ownerUserId: string;
|
|
610
610
|
}) => Effect.Effect<{
|
|
@@ -636,14 +636,14 @@ export declare const listWorkspaceCredentialsOp: (workspaceId: string, query: {
|
|
|
636
636
|
} | undefined;
|
|
637
637
|
};
|
|
638
638
|
}[];
|
|
639
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
639
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceConflictError | import("@sealant/api-contracts").WorkspaceForbiddenError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
640
640
|
export declare const expireWorkspaceOp: (workspaceId: string, payload: {
|
|
641
641
|
readonly ownerUserId: string;
|
|
642
642
|
readonly ttlSeconds?: number | null | undefined;
|
|
643
643
|
}) => Effect.Effect<{
|
|
644
644
|
readonly workspaceId: string;
|
|
645
645
|
readonly expiresAt: string | null;
|
|
646
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
646
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
647
647
|
export declare const createRunOp: (payload: {
|
|
648
648
|
readonly workspaceId: string;
|
|
649
649
|
readonly harnessId: string;
|
|
@@ -686,7 +686,7 @@ export declare const createRunOp: (payload: {
|
|
|
686
686
|
readonly recordDeletedAt?: string | undefined;
|
|
687
687
|
readonly createdAt: string;
|
|
688
688
|
readonly updatedAt: string;
|
|
689
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
689
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
690
690
|
export declare const getRunOp: (runId: string, ownerUserId?: string | undefined) => Effect.Effect<{
|
|
691
691
|
readonly runId: string;
|
|
692
692
|
readonly workspaceId: string;
|
|
@@ -714,7 +714,7 @@ export declare const getRunOp: (runId: string, ownerUserId?: string | undefined)
|
|
|
714
714
|
readonly recordDeletedAt?: string | undefined;
|
|
715
715
|
readonly createdAt: string;
|
|
716
716
|
readonly updatedAt: string;
|
|
717
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
717
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
718
718
|
export declare const listRunsOp: (query: {
|
|
719
719
|
readonly workspaceId?: string | undefined;
|
|
720
720
|
readonly ownerUserId?: string | undefined;
|
|
@@ -749,7 +749,7 @@ export declare const listRunsOp: (query: {
|
|
|
749
749
|
readonly createdAt: string;
|
|
750
750
|
readonly updatedAt: string;
|
|
751
751
|
}[];
|
|
752
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
752
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
753
753
|
export declare const updateRunOp: (runId: string, payload: {
|
|
754
754
|
readonly ownerUserId?: string | undefined;
|
|
755
755
|
readonly status?: "cancelled" | "completed" | "failed" | "queued" | "running" | undefined;
|
|
@@ -789,7 +789,7 @@ export declare const updateRunOp: (runId: string, payload: {
|
|
|
789
789
|
readonly recordDeletedAt?: string | undefined;
|
|
790
790
|
readonly createdAt: string;
|
|
791
791
|
readonly updatedAt: string;
|
|
792
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
792
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
793
793
|
export declare const getRunTimelineOp: (runId: string, query: {
|
|
794
794
|
readonly ownerUserId?: string | undefined;
|
|
795
795
|
readonly fromSequence?: string | undefined;
|
|
@@ -806,7 +806,7 @@ export declare const getRunTimelineOp: (runId: string, query: {
|
|
|
806
806
|
readonly processId?: string | undefined;
|
|
807
807
|
readonly captureMethod: number;
|
|
808
808
|
readonly confidence: number;
|
|
809
|
-
}[], import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
809
|
+
}[], import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
810
810
|
export declare const getRunScrollbackOp: (runId: string, query: {
|
|
811
811
|
readonly ownerUserId?: string | undefined;
|
|
812
812
|
readonly processId: string;
|
|
@@ -819,7 +819,7 @@ export declare const getRunScrollbackOp: (runId: string, query: {
|
|
|
819
819
|
readonly stream: "pty" | "stderr" | "stdout";
|
|
820
820
|
readonly byteCount: number;
|
|
821
821
|
readonly contentBase64: string;
|
|
822
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
822
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunBadRequestError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
823
823
|
export declare const getRunLossOp: (runId: string, ownerUserId?: string | undefined) => Effect.Effect<{
|
|
824
824
|
readonly runId: string;
|
|
825
825
|
readonly droppedEventCount: string;
|
|
@@ -834,7 +834,7 @@ export declare const getRunLossOp: (runId: string, ownerUserId?: string | undefi
|
|
|
834
834
|
readonly detectedVia: "gap" | "marker";
|
|
835
835
|
readonly reason?: string | undefined;
|
|
836
836
|
}[];
|
|
837
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
837
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
838
838
|
export declare const getRunChangesOp: (runId: string, ownerUserId?: string | undefined) => Effect.Effect<{
|
|
839
839
|
readonly files: readonly {
|
|
840
840
|
readonly path: string;
|
|
@@ -844,7 +844,7 @@ export declare const getRunChangesOp: (runId: string, ownerUserId?: string | und
|
|
|
844
844
|
readonly diff: string;
|
|
845
845
|
readonly available?: boolean | undefined;
|
|
846
846
|
readonly unavailableReason?: string | undefined;
|
|
847
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
847
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").RunInternalServerError | import("@sealant/api-contracts").RunNotFoundError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
848
848
|
export declare const createSessionOp: (payload: {
|
|
849
849
|
readonly workspaceId: string;
|
|
850
850
|
readonly ownerUserId: string;
|
|
@@ -883,7 +883,7 @@ export declare const createSessionOp: (payload: {
|
|
|
883
883
|
readonly outputHighWater: string;
|
|
884
884
|
readonly createdAt: string;
|
|
885
885
|
readonly endedAt?: string | undefined;
|
|
886
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
886
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
887
887
|
/** A session as a Linux user: its own route, which a control plane that cannot open one answers 404. */
|
|
888
888
|
export declare const createSessionAsUserOp: (payload: {
|
|
889
889
|
readonly workspaceId: string;
|
|
@@ -923,7 +923,7 @@ export declare const createSessionAsUserOp: (payload: {
|
|
|
923
923
|
readonly outputHighWater: string;
|
|
924
924
|
readonly createdAt: string;
|
|
925
925
|
readonly endedAt?: string | undefined;
|
|
926
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
926
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
927
927
|
export declare const getSessionOp: (sessionId: string, ownerUserId?: string | undefined) => Effect.Effect<{
|
|
928
928
|
readonly sessionId: string;
|
|
929
929
|
readonly workspaceId: string;
|
|
@@ -946,7 +946,7 @@ export declare const getSessionOp: (sessionId: string, ownerUserId?: string | un
|
|
|
946
946
|
readonly outputHighWater: string;
|
|
947
947
|
readonly createdAt: string;
|
|
948
948
|
readonly endedAt?: string | undefined;
|
|
949
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
949
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
950
950
|
export declare const listSessionsOp: (query: {
|
|
951
951
|
readonly ownerUserId: string;
|
|
952
952
|
readonly workspaceId?: string | undefined;
|
|
@@ -976,7 +976,7 @@ export declare const listSessionsOp: (query: {
|
|
|
976
976
|
readonly createdAt: string;
|
|
977
977
|
readonly endedAt?: string | undefined;
|
|
978
978
|
}[];
|
|
979
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
979
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
980
980
|
export declare const getSessionOutputOp: (sessionId: string, query: {
|
|
981
981
|
readonly ownerUserId?: string | undefined;
|
|
982
982
|
readonly from?: string | undefined;
|
|
@@ -989,26 +989,26 @@ export declare const getSessionOutputOp: (sessionId: string, query: {
|
|
|
989
989
|
}[];
|
|
990
990
|
readonly nextFrom: string;
|
|
991
991
|
readonly status: "exited" | "failed" | "running" | "starting";
|
|
992
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
992
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
993
993
|
export declare const sendSessionInputOp: (sessionId: string, payload: {
|
|
994
994
|
readonly ownerUserId?: string | undefined;
|
|
995
995
|
readonly dataBase64: string;
|
|
996
996
|
}) => Effect.Effect<{
|
|
997
997
|
readonly ok: boolean;
|
|
998
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
998
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
999
999
|
export declare const resizeSessionOp: (sessionId: string, payload: {
|
|
1000
1000
|
readonly ownerUserId?: string | undefined;
|
|
1001
1001
|
readonly cols: number;
|
|
1002
1002
|
readonly rows: number;
|
|
1003
1003
|
}) => Effect.Effect<{
|
|
1004
1004
|
readonly ok: boolean;
|
|
1005
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
1005
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
1006
1006
|
export declare const signalSessionOp: (sessionId: string, payload: {
|
|
1007
1007
|
readonly ownerUserId?: string | undefined;
|
|
1008
1008
|
readonly signal: number;
|
|
1009
1009
|
}) => Effect.Effect<{
|
|
1010
1010
|
readonly ok: boolean;
|
|
1011
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
1011
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionConflictError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
1012
1012
|
export declare const closeSessionOp: (sessionId: string, payload: {
|
|
1013
1013
|
readonly ownerUserId?: string | undefined;
|
|
1014
1014
|
}) => Effect.Effect<{
|
|
@@ -1033,7 +1033,7 @@ export declare const closeSessionOp: (sessionId: string, payload: {
|
|
|
1033
1033
|
readonly outputHighWater: string;
|
|
1034
1034
|
readonly createdAt: string;
|
|
1035
1035
|
readonly endedAt?: string | undefined;
|
|
1036
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
1036
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SessionBadGatewayError | import("@sealant/api-contracts").SessionBadRequestError | import("@sealant/api-contracts").SessionForbiddenError | import("@sealant/api-contracts").SessionInternalServerError | import("@sealant/api-contracts").SessionNotFoundError | import("@sealant/api-contracts").SessionUnauthorizedError, SealantApiClient>;
|
|
1037
1037
|
export declare const createAccessTokenOp: (payload: {
|
|
1038
1038
|
readonly ownerUserId: string;
|
|
1039
1039
|
readonly scopes: readonly ("session:input" | "session:read" | "workspace:exec")[];
|
|
@@ -1050,7 +1050,7 @@ export declare const createAccessTokenOp: (payload: {
|
|
|
1050
1050
|
readonly revokedAt?: string | undefined;
|
|
1051
1051
|
readonly createdAt: string;
|
|
1052
1052
|
readonly token: string;
|
|
1053
|
-
}, import("@sealant/api-contracts").AccessTokenBadRequestError | import("@sealant/api-contracts").AccessTokenInternalServerError | import("@sealant/api-contracts").AccessTokenNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1053
|
+
}, import("@sealant/api-contracts").AccessTokenBadRequestError | import("@sealant/api-contracts").AccessTokenInternalServerError | import("@sealant/api-contracts").AccessTokenNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1054
1054
|
export declare const ensureUserOp: (payload: {
|
|
1055
1055
|
readonly email: string;
|
|
1056
1056
|
readonly name: string;
|
|
@@ -1061,13 +1061,13 @@ export declare const ensureUserOp: (payload: {
|
|
|
1061
1061
|
readonly name: string;
|
|
1062
1062
|
readonly createdAt: string;
|
|
1063
1063
|
readonly created: boolean;
|
|
1064
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").UserBadRequestError | import("@sealant/api-contracts").UserInternalServerError, SealantApiClient>;
|
|
1064
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").UserBadRequestError | import("@sealant/api-contracts").UserInternalServerError, SealantApiClient>;
|
|
1065
1065
|
export declare const getUserOp: (userId: string) => Effect.Effect<{
|
|
1066
1066
|
readonly userId: string;
|
|
1067
1067
|
readonly email: string;
|
|
1068
1068
|
readonly name: string;
|
|
1069
1069
|
readonly createdAt: string;
|
|
1070
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").UserInternalServerError | import("@sealant/api-contracts").UserNotFoundError, SealantApiClient>;
|
|
1070
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").UserInternalServerError | import("@sealant/api-contracts").UserNotFoundError, SealantApiClient>;
|
|
1071
1071
|
export declare const listConnectedAccountsOp: (ownerUserId: string) => Effect.Effect<{
|
|
1072
1072
|
readonly items: readonly {
|
|
1073
1073
|
readonly connectedAccountId: string;
|
|
@@ -1090,7 +1090,7 @@ export declare const listConnectedAccountsOp: (ownerUserId: string) => Effect.Ef
|
|
|
1090
1090
|
readonly lastRefreshOutcome: "failed" | "fresh" | "refreshed" | null;
|
|
1091
1091
|
};
|
|
1092
1092
|
}[];
|
|
1093
|
-
}, import("@sealant/api-contracts").ConnectedAccountInternalServerError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1093
|
+
}, import("@sealant/api-contracts").ConnectedAccountInternalServerError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1094
1094
|
export declare const createConnectedAccountOp: (payload: {
|
|
1095
1095
|
readonly ownerUserId: string;
|
|
1096
1096
|
readonly provider: "claude" | "codex" | "github";
|
|
@@ -1116,7 +1116,7 @@ export declare const createConnectedAccountOp: (payload: {
|
|
|
1116
1116
|
readonly lastRefreshAt: string | null;
|
|
1117
1117
|
readonly lastRefreshOutcome: "failed" | "fresh" | "refreshed" | null;
|
|
1118
1118
|
};
|
|
1119
|
-
}, import("@sealant/api-contracts").ConnectedAccountBadRequestError | import("@sealant/api-contracts").ConnectedAccountConflictError | import("@sealant/api-contracts").ConnectedAccountInternalServerError | import("@sealant/api-contracts").ConnectedAccountNotFoundError | import("@sealant/api-contracts").ConnectedAccountServiceUnavailableError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1119
|
+
}, import("@sealant/api-contracts").ConnectedAccountBadRequestError | import("@sealant/api-contracts").ConnectedAccountConflictError | import("@sealant/api-contracts").ConnectedAccountInternalServerError | import("@sealant/api-contracts").ConnectedAccountNotFoundError | import("@sealant/api-contracts").ConnectedAccountServiceUnavailableError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1120
1120
|
export declare const archiveConnectedAccountOp: (connectedAccountId: string, ownerUserId: string) => Effect.Effect<{
|
|
1121
1121
|
readonly connectedAccountId: string;
|
|
1122
1122
|
readonly ownerUserId: string;
|
|
@@ -1137,7 +1137,7 @@ export declare const archiveConnectedAccountOp: (connectedAccountId: string, own
|
|
|
1137
1137
|
readonly lastRefreshAt: string | null;
|
|
1138
1138
|
readonly lastRefreshOutcome: "failed" | "fresh" | "refreshed" | null;
|
|
1139
1139
|
};
|
|
1140
|
-
}, import("@sealant/api-contracts").ConnectedAccountInternalServerError | import("@sealant/api-contracts").ConnectedAccountNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1140
|
+
}, import("@sealant/api-contracts").ConnectedAccountInternalServerError | import("@sealant/api-contracts").ConnectedAccountNotFoundError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1141
1141
|
export declare const inferenceRespondOp: (payload: {
|
|
1142
1142
|
readonly ownerUserId: string;
|
|
1143
1143
|
readonly credentials?: {
|
|
@@ -1182,7 +1182,7 @@ export declare const inferenceRespondOp: (payload: {
|
|
|
1182
1182
|
readonly inputTokens: number;
|
|
1183
1183
|
readonly outputTokens: number;
|
|
1184
1184
|
} | undefined;
|
|
1185
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").InferenceBadRequestError | import("@sealant/api-contracts").InferenceConflictError | import("@sealant/api-contracts").InferenceInternalServerError | import("@sealant/api-contracts").InferenceNotFoundError | import("@sealant/api-contracts").InferenceUnavailableError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1185
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").InferenceBadRequestError | import("@sealant/api-contracts").InferenceConflictError | import("@sealant/api-contracts").InferenceInternalServerError | import("@sealant/api-contracts").InferenceNotFoundError | import("@sealant/api-contracts").InferenceUnavailableError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1186
1186
|
export declare const getIndexOp: () => Effect.Effect<{
|
|
1187
1187
|
readonly name: string;
|
|
1188
1188
|
readonly version: string;
|
|
@@ -1196,7 +1196,7 @@ export declare const getIndexOp: () => Effect.Effect<{
|
|
|
1196
1196
|
readonly credentialsPiOpencode?: boolean | undefined;
|
|
1197
1197
|
readonly captureOwnerMap?: boolean | undefined;
|
|
1198
1198
|
} | undefined;
|
|
1199
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1199
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError, SealantApiClient>;
|
|
1200
1200
|
export declare const getSetupStateOp: () => Effect.Effect<{
|
|
1201
1201
|
readonly needsSetup: boolean;
|
|
1202
1202
|
readonly sshGateway: {
|
|
@@ -1204,7 +1204,7 @@ export declare const getSetupStateOp: () => Effect.Effect<{
|
|
|
1204
1204
|
readonly port: number;
|
|
1205
1205
|
readonly usernamePrefix: string;
|
|
1206
1206
|
} | null;
|
|
1207
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SystemInternalServerError, SealantApiClient>;
|
|
1207
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SystemInternalServerError, SealantApiClient>;
|
|
1208
1208
|
export declare const createSshKeyOp: (payload: {
|
|
1209
1209
|
readonly ownerUserId: string;
|
|
1210
1210
|
readonly name?: string | undefined;
|
|
@@ -1216,7 +1216,7 @@ export declare const createSshKeyOp: (payload: {
|
|
|
1216
1216
|
readonly algorithm: string;
|
|
1217
1217
|
readonly fingerprint: string;
|
|
1218
1218
|
readonly createdAt: string;
|
|
1219
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SshKeyBadRequestError | import("@sealant/api-contracts").SshKeyConflictError | import("@sealant/api-contracts").SshKeyInternalServerError | import("@sealant/api-contracts").SshKeyNotFoundError, SealantApiClient>;
|
|
1219
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SshKeyBadRequestError | import("@sealant/api-contracts").SshKeyConflictError | import("@sealant/api-contracts").SshKeyInternalServerError | import("@sealant/api-contracts").SshKeyNotFoundError, SealantApiClient>;
|
|
1220
1220
|
export declare const listSshKeysOp: (ownerUserId: string) => Effect.Effect<{
|
|
1221
1221
|
readonly items: readonly {
|
|
1222
1222
|
readonly sshKeyId: string;
|
|
@@ -1226,7 +1226,7 @@ export declare const listSshKeysOp: (ownerUserId: string) => Effect.Effect<{
|
|
|
1226
1226
|
readonly fingerprint: string;
|
|
1227
1227
|
readonly createdAt: string;
|
|
1228
1228
|
}[];
|
|
1229
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SshKeyInternalServerError, SealantApiClient>;
|
|
1229
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SshKeyInternalServerError, SealantApiClient>;
|
|
1230
1230
|
export declare const archiveSshKeyOp: (sshKeyId: string, ownerUserId: string) => Effect.Effect<{
|
|
1231
1231
|
readonly sshKeyId: string;
|
|
1232
1232
|
readonly ownerUserId: string;
|
|
@@ -1234,4 +1234,4 @@ export declare const archiveSshKeyOp: (sshKeyId: string, ownerUserId: string) =>
|
|
|
1234
1234
|
readonly algorithm: string;
|
|
1235
1235
|
readonly fingerprint: string;
|
|
1236
1236
|
readonly createdAt: string;
|
|
1237
|
-
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SshKeyInternalServerError | import("@sealant/api-contracts").SshKeyNotFoundError, SealantApiClient>;
|
|
1237
|
+
}, import("effect/unstable/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("effect/Schema").SchemaError | import("@sealant/api-contracts").SshKeyInternalServerError | import("@sealant/api-contracts").SshKeyNotFoundError, SealantApiClient>;
|
package/dist/facade/workspace.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { sessionArgvIssue } from "@sealant/api-contracts";
|
|
1
2
|
import { applyDotfiles } from "../effect/apply-dotfiles.js";
|
|
2
3
|
import { execWorkspace } from "../effect/exec-workspace.js";
|
|
3
4
|
import { bindWorkspaceOp, flushWorkspaceCaptureOp, getWorkspaceCaptureStatusOp, createSessionAsUserOp, createSessionOp, expireWorkspaceOp, getSessionOp, getWorkspaceOp, listSessionsOp, replanWorkspaceCaptureOp, recoverWorkspaceOp, restartWorkspaceOp, listWorkspaceCredentialsOp, putWorkspaceCredentialsOp, releaseWorkspaceCredentialsOp, stopWorkspaceOp, } from "../effect/operations.js";
|
|
4
|
-
import { SealantError, SealantNotImplementedError } from "../errors.js";
|
|
5
|
+
import { SealantApiError, SealantError, SealantNotImplementedError } from "../errors.js";
|
|
5
6
|
import { mapAccountRef } from "../internal/credentials.js";
|
|
6
7
|
import { parseTtlSeconds } from "../internal/duration.js";
|
|
7
8
|
import { requireProcessUser } from "../internal/process-user.js";
|
|
@@ -262,8 +263,31 @@ const toCaptureDrain = (drain) => ({
|
|
|
262
263
|
},
|
|
263
264
|
}),
|
|
264
265
|
});
|
|
266
|
+
const REASONED_REFUSALS = new Set([
|
|
267
|
+
"RequestRefusedError",
|
|
268
|
+
"SessionBadRequestError",
|
|
269
|
+
]);
|
|
270
|
+
/**
|
|
271
|
+
* A control plane older than this SDK refuses an argument that is empty or untrimmed with an empty
|
|
272
|
+
* `400` (and logs the argument). Said here, where the argv is known, so the caller learns why.
|
|
273
|
+
*/
|
|
274
|
+
const olderControlPlaneRefusal = (argv, error) => {
|
|
275
|
+
const relaxed = argv.findIndex((word, index) => index > 0 && (word.length === 0 || word.trim() !== word));
|
|
276
|
+
const message = relaxed === -1
|
|
277
|
+
? "The control plane refused the session with an empty 400 and gave no reason; a control plane older than this SDK does not say which field it refused."
|
|
278
|
+
: `The control plane refused the session with an empty 400. argv[${relaxed}] is empty or has leading or trailing whitespace, and a control plane older than this SDK refuses such an argument; upgrade the control plane.`;
|
|
279
|
+
return new SealantApiError(message, {
|
|
280
|
+
code: error.code,
|
|
281
|
+
...(error.status === undefined ? {} : { status: error.status }),
|
|
282
|
+
cause: error,
|
|
283
|
+
});
|
|
284
|
+
};
|
|
265
285
|
export const makeWorkspace = (ctx, init) => {
|
|
266
286
|
const openSession = async (argv, options) => {
|
|
287
|
+
// The contract's own rule, checked before anything is asked, with the same value-free reason.
|
|
288
|
+
const refused = sessionArgvIssue(argv);
|
|
289
|
+
if (refused !== undefined)
|
|
290
|
+
throw new SealantError(refused, { code: "invalid_argv" });
|
|
267
291
|
if (options?.user !== undefined)
|
|
268
292
|
await requireProcessUser(ctx, options.user);
|
|
269
293
|
const request = {
|
|
@@ -280,9 +304,21 @@ export const makeWorkspace = (ctx, init) => {
|
|
|
280
304
|
};
|
|
281
305
|
// As a user: its own route, so a control plane that cannot open one answers 404, never opens
|
|
282
306
|
// it as the workspace's own user.
|
|
283
|
-
const created = await ctx.runtime
|
|
307
|
+
const created = await ctx.runtime
|
|
308
|
+
.run(options?.user === undefined
|
|
284
309
|
? createSessionOp(request)
|
|
285
|
-
: createSessionAsUserOp({ ...request, user: options.user }))
|
|
310
|
+
: createSessionAsUserOp({ ...request, user: options.user }))
|
|
311
|
+
.catch((error) => {
|
|
312
|
+
// A control plane with the rule answers a typed 400 with its reason (`RequestRefusedError`
|
|
313
|
+
// for a request it cannot decode, `SessionBadRequestError` for one it refuses); an empty
|
|
314
|
+
// 400 is one from before it.
|
|
315
|
+
if (error instanceof SealantApiError &&
|
|
316
|
+
error.status === 400 &&
|
|
317
|
+
!REASONED_REFUSALS.has(error.code)) {
|
|
318
|
+
throw olderControlPlaneRefusal(argv, error);
|
|
319
|
+
}
|
|
320
|
+
throw error;
|
|
321
|
+
});
|
|
286
322
|
return makeInteractiveSession(ctx, created);
|
|
287
323
|
};
|
|
288
324
|
const sessions = {
|
package/dist/types.d.ts
CHANGED
|
@@ -1857,7 +1857,15 @@ export interface SessionAttachment {
|
|
|
1857
1857
|
}
|
|
1858
1858
|
/** Interactive sessions of one workspace: open new ones, reattach to existing ones. */
|
|
1859
1859
|
export interface WorkspaceSessions {
|
|
1860
|
-
/**
|
|
1860
|
+
/**
|
|
1861
|
+
* Opens a PTY session running `argv`. argv[0] is the program, non-empty and trimmed; the rest are
|
|
1862
|
+
* its arguments, passed as an argv array (never through a shell) and taken as any string: empty,
|
|
1863
|
+
* whitespace-led or multi-line. At most 64 words, 131,071 bytes each and 1 MiB in all (UTF-8
|
|
1864
|
+
* bytes), no NUL byte and no lone surrogate (`sessionArgvIssue` and `SESSION_ARGV_MAX_*` in
|
|
1865
|
+
* `@sealant/api-contracts`). An argv the rule refuses throws `SealantError` `invalid_argv` before
|
|
1866
|
+
* anything is sent; a control plane's refusal is `SealantApiError` `RequestRefusedError` with
|
|
1867
|
+
* its reason.
|
|
1868
|
+
*/
|
|
1861
1869
|
open(argv: readonly string[], options?: SessionOptions): Promise<InteractiveSession>;
|
|
1862
1870
|
/** Reattach to a session by id — works from ANY handle, not just the creating one. */
|
|
1863
1871
|
get(sessionId: string): Promise<InteractiveSession>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sealant/sdk-next",
|
|
3
|
-
"version": "0.39.0-next.
|
|
3
|
+
"version": "0.39.0-next.710",
|
|
4
4
|
"description": "The fluent public SDK for Sealant — create a workspace, run a harness, replay the record.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"node": ">=20"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@sealant/api-contracts": "npm:@sealant/api-contracts-next@0.39.0-next.
|
|
29
|
+
"@sealant/api-contracts": "npm:@sealant/api-contracts-next@0.39.0-next.710"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"effect": ">=4.0.0-beta.85 <5"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "5e7c33bdaf78dd6aaf0b4b64332e803f3ce8d396",
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
}
|