@sealant/sdk-next 0.40.0-next.790 → 0.40.0-next.792
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/client.js +2 -0
- package/dist/effect/api-client.d.ts +436 -16
- package/dist/effect/operations.d.ts +159 -6
- package/dist/effect/operations.js +9 -1
- package/dist/facade/workspace.js +5 -0
- package/dist/index.d.ts +1 -1
- package/dist/internal/blueprint.js +1 -0
- package/dist/scope-instances.d.ts +16 -0
- package/dist/scope-instances.js +2 -1
- package/dist/types.d.ts +11 -3
- package/package.json +3 -3
package/dist/client.js
CHANGED
|
@@ -153,10 +153,12 @@ export class Sealant {
|
|
|
153
153
|
ownerUserId: payload.ownerUserId,
|
|
154
154
|
registryId: payload.registryId,
|
|
155
155
|
spec: payload.spec,
|
|
156
|
+
...(payload.imageScopeId === undefined ? {} : { imageScopeId: payload.imageScopeId }),
|
|
156
157
|
}));
|
|
157
158
|
return {
|
|
158
159
|
imageKey: imageSpecKey(payload.spec),
|
|
159
160
|
planHash: answered.planHash,
|
|
161
|
+
...(answered.publication === undefined ? {} : { publication: answered.publication }),
|
|
160
162
|
...(answered.publishedImage === undefined
|
|
161
163
|
? {}
|
|
162
164
|
: { image: toWorkspaceImage(answered.publishedImage) }),
|
|
@@ -856,6 +856,14 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
856
856
|
}>>;
|
|
857
857
|
}>>;
|
|
858
858
|
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").ResourceDomainForbiddenError | typeof import("@sealant/api-contracts").ResourceDomainNotFoundError | typeof import("@sealant/api-contracts").ResourceDomainInternalServerError | typeof import("@sealant/api-contracts").ResourceInstanceSpecRefusedError | typeof import("@sealant/api-contracts").ResourceRuntimeUnsupportedError | typeof import("@sealant/api-contracts").ResourceInstanceBusyError | typeof import("@sealant/api-contracts").ResourceInstanceBudgetError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
859
|
+
readonly purgeResourceInstance: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"purgeResourceInstance", "POST", "/v1/resource-domains/:resourceDomainId/instances/:key/purge", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
860
|
+
readonly resourceDomainId: import("effect/Schema").String;
|
|
861
|
+
readonly key: import("effect/Schema").brand<import("effect/Schema").String, "ResourceInstanceKey">;
|
|
862
|
+
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
863
|
+
readonly expectedInstanceId: import("effect/Schema").brand<import("effect/Schema").String, "ResourceInstanceId">;
|
|
864
|
+
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
865
|
+
readonly kind: import("effect/Schema").Literals<readonly ["purged", "already-purged"]>;
|
|
866
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").ResourceDomainForbiddenError | typeof import("@sealant/api-contracts").ResourceDomainNotFoundError | typeof import("@sealant/api-contracts").ResourceDomainInternalServerError | typeof import("@sealant/api-contracts").ResourceInstanceSpecRefusedError | typeof import("@sealant/api-contracts").ResourceRuntimeUnsupportedError | typeof import("@sealant/api-contracts").ResourceInstancePurgeRefusedError | typeof import("@sealant/api-contracts").ResourceInstanceBusyError | typeof import("@sealant/api-contracts").ResourceInstanceBudgetError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
859
867
|
readonly stopResourceInstance: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"stopResourceInstance", "POST", "/v1/resource-domains/:resourceDomainId/instances/:key/stop", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
860
868
|
readonly resourceDomainId: import("effect/Schema").String;
|
|
861
869
|
readonly key: import("effect/Schema").brand<import("effect/Schema").String, "ResourceInstanceKey">;
|
|
@@ -1621,6 +1629,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1621
1629
|
readonly sshUser: import("effect/Schema").Null;
|
|
1622
1630
|
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
1623
1631
|
readonly createWorkspace: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"createWorkspace", "POST", "/v1/workspaces/", never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
1632
|
+
readonly imageScopeId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1624
1633
|
readonly ownerUserId: import("effect/Schema").String;
|
|
1625
1634
|
readonly registryId: import("effect/Schema").String;
|
|
1626
1635
|
readonly repository: import("effect/Schema").String;
|
|
@@ -1662,7 +1671,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1662
1671
|
readonly tag: import("effect/Schema").String;
|
|
1663
1672
|
readonly runId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1664
1673
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
1665
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
1674
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
1666
1675
|
readonly resourceId: import("effect/Schema").String;
|
|
1667
1676
|
readonly reference: import("effect/Schema").String;
|
|
1668
1677
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -1673,7 +1682,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1673
1682
|
}>>;
|
|
1674
1683
|
readonly replayed: import("effect/Schema").optional<import("effect/Schema").Boolean>;
|
|
1675
1684
|
readonly launchId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1676
|
-
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeEnvReferencesUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceDockerServiceUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceSshOwnerRefusedError | typeof import("@sealant/api-contracts").WorkspaceForbiddenError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
1685
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeEnvReferencesUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceDockerServiceUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceSshOwnerRefusedError | typeof import("@sealant/api-contracts").WorkspaceForbiddenError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
1677
1686
|
readonly execWorkspace: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"execWorkspace", "POST", "/v1/workspaces/:workspaceId/exec", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
1678
1687
|
readonly workspaceId: import("effect/Schema").String;
|
|
1679
1688
|
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
@@ -1826,7 +1835,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1826
1835
|
readonly repository: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1827
1836
|
readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1828
1837
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
1829
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
1838
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
1830
1839
|
readonly resourceId: import("effect/Schema").String;
|
|
1831
1840
|
readonly reference: import("effect/Schema").String;
|
|
1832
1841
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -1847,6 +1856,56 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1847
1856
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
1848
1857
|
}>>;
|
|
1849
1858
|
}>>;
|
|
1859
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
1860
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
1861
|
+
readonly publicationId: import("effect/Schema").String;
|
|
1862
|
+
readonly image: import("effect/Schema").Struct<{
|
|
1863
|
+
readonly repository: import("effect/Schema").String;
|
|
1864
|
+
readonly tag: import("effect/Schema").String;
|
|
1865
|
+
readonly reference: import("effect/Schema").String;
|
|
1866
|
+
readonly digestReference: import("effect/Schema").String;
|
|
1867
|
+
readonly digest: import("effect/Schema").String;
|
|
1868
|
+
}>;
|
|
1869
|
+
}>, import("effect/Schema").Struct<{
|
|
1870
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
1871
|
+
readonly publicationId: import("effect/Schema").String;
|
|
1872
|
+
readonly image: import("effect/Schema").Struct<{
|
|
1873
|
+
readonly imageArn: import("effect/Schema").String;
|
|
1874
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
1875
|
+
readonly planHash: import("effect/Schema").String;
|
|
1876
|
+
}>;
|
|
1877
|
+
}>, import("effect/Schema").Struct<{
|
|
1878
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
1879
|
+
readonly publicationId: import("effect/Schema").String;
|
|
1880
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
1881
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
1882
|
+
readonly owner: import("effect/Schema").String;
|
|
1883
|
+
readonly build: import("effect/Schema").String;
|
|
1884
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
1885
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
1886
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
1887
|
+
readonly name: import("effect/Schema").String;
|
|
1888
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
1889
|
+
readonly createdAt: import("effect/Schema").String;
|
|
1890
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1891
|
+
}>;
|
|
1892
|
+
}>;
|
|
1893
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
1894
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
1895
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
1896
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
1897
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
1898
|
+
readonly source: import("effect/Schema").String;
|
|
1899
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
1900
|
+
readonly manifest: import("effect/Schema").String;
|
|
1901
|
+
readonly sealantd: import("effect/Schema").String;
|
|
1902
|
+
readonly socat: import("effect/Schema").String;
|
|
1903
|
+
readonly relay: import("effect/Schema").String;
|
|
1904
|
+
}>;
|
|
1905
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
1906
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
1907
|
+
}>;
|
|
1908
|
+
}>]>>;
|
|
1850
1909
|
readonly processUser: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>>;
|
|
1851
1910
|
readonly error: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
1852
1911
|
readonly message: import("effect/Schema").String;
|
|
@@ -1988,7 +2047,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1988
2047
|
readonly workspaceId: import("effect/Schema").String;
|
|
1989
2048
|
readonly attemptId: import("effect/Schema").String;
|
|
1990
2049
|
readonly runtime: import("effect/Schema").Struct<{
|
|
1991
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
2050
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
1992
2051
|
readonly resourceId: import("effect/Schema").String;
|
|
1993
2052
|
readonly reference: import("effect/Schema").String;
|
|
1994
2053
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped"]>;
|
|
@@ -1998,6 +2057,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
1998
2057
|
readonly sshKeyFingerprint: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1999
2058
|
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceUnauthorizedError | typeof import("@sealant/api-contracts").WorkspaceSshKeyNoLongerRegisteredError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
2000
2059
|
readonly inspectWorkspaceImage: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"inspectWorkspaceImage", "POST", "/v1/workspaces/image", never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
2060
|
+
readonly imageScopeId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2001
2061
|
readonly ownerUserId: import("effect/Schema").String;
|
|
2002
2062
|
readonly registryId: import("effect/Schema").String;
|
|
2003
2063
|
readonly spec: import("effect/Schema").Unknown;
|
|
@@ -2015,6 +2075,56 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2015
2075
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2016
2076
|
}>>;
|
|
2017
2077
|
}>>;
|
|
2078
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
2079
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
2080
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2081
|
+
readonly image: import("effect/Schema").Struct<{
|
|
2082
|
+
readonly repository: import("effect/Schema").String;
|
|
2083
|
+
readonly tag: import("effect/Schema").String;
|
|
2084
|
+
readonly reference: import("effect/Schema").String;
|
|
2085
|
+
readonly digestReference: import("effect/Schema").String;
|
|
2086
|
+
readonly digest: import("effect/Schema").String;
|
|
2087
|
+
}>;
|
|
2088
|
+
}>, import("effect/Schema").Struct<{
|
|
2089
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
2090
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2091
|
+
readonly image: import("effect/Schema").Struct<{
|
|
2092
|
+
readonly imageArn: import("effect/Schema").String;
|
|
2093
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
2094
|
+
readonly planHash: import("effect/Schema").String;
|
|
2095
|
+
}>;
|
|
2096
|
+
}>, import("effect/Schema").Struct<{
|
|
2097
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
2098
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2099
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
2100
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
2101
|
+
readonly owner: import("effect/Schema").String;
|
|
2102
|
+
readonly build: import("effect/Schema").String;
|
|
2103
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
2104
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
2105
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
2106
|
+
readonly name: import("effect/Schema").String;
|
|
2107
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
2108
|
+
readonly createdAt: import("effect/Schema").String;
|
|
2109
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2110
|
+
}>;
|
|
2111
|
+
}>;
|
|
2112
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
2113
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
2114
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
2115
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
2116
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
2117
|
+
readonly source: import("effect/Schema").String;
|
|
2118
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
2119
|
+
readonly manifest: import("effect/Schema").String;
|
|
2120
|
+
readonly sealantd: import("effect/Schema").String;
|
|
2121
|
+
readonly socat: import("effect/Schema").String;
|
|
2122
|
+
readonly relay: import("effect/Schema").String;
|
|
2123
|
+
}>;
|
|
2124
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2125
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
2126
|
+
}>;
|
|
2127
|
+
}>]>>;
|
|
2018
2128
|
readonly personLayout: import("effect/Schema").Struct<{
|
|
2019
2129
|
readonly status: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2020
2130
|
readonly missing: import("effect/Schema").$Array<import("effect/Schema").String>;
|
|
@@ -2022,7 +2132,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2022
2132
|
readonly runtime: import("effect/Schema").String;
|
|
2023
2133
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2024
2134
|
}>;
|
|
2025
|
-
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
2135
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
2026
2136
|
readonly listWorkspaceAttempts: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"listWorkspaceAttempts", "GET", "/v1/workspaces/:workspaceId/attempts", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
2027
2137
|
readonly workspaceId: import("effect/Schema").String;
|
|
2028
2138
|
}>>, import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
@@ -2036,7 +2146,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2036
2146
|
readonly triggerType: import("effect/Schema").Literals<readonly ["manual", "schedule", "api", "retry"]>;
|
|
2037
2147
|
readonly triggerRef: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2038
2148
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
2039
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
2149
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
2040
2150
|
readonly resourceId: import("effect/Schema").String;
|
|
2041
2151
|
readonly reference: import("effect/Schema").String;
|
|
2042
2152
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -2057,6 +2167,56 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2057
2167
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2058
2168
|
}>>;
|
|
2059
2169
|
}>>;
|
|
2170
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
2171
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
2172
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2173
|
+
readonly image: import("effect/Schema").Struct<{
|
|
2174
|
+
readonly repository: import("effect/Schema").String;
|
|
2175
|
+
readonly tag: import("effect/Schema").String;
|
|
2176
|
+
readonly reference: import("effect/Schema").String;
|
|
2177
|
+
readonly digestReference: import("effect/Schema").String;
|
|
2178
|
+
readonly digest: import("effect/Schema").String;
|
|
2179
|
+
}>;
|
|
2180
|
+
}>, import("effect/Schema").Struct<{
|
|
2181
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
2182
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2183
|
+
readonly image: import("effect/Schema").Struct<{
|
|
2184
|
+
readonly imageArn: import("effect/Schema").String;
|
|
2185
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
2186
|
+
readonly planHash: import("effect/Schema").String;
|
|
2187
|
+
}>;
|
|
2188
|
+
}>, import("effect/Schema").Struct<{
|
|
2189
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
2190
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2191
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
2192
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
2193
|
+
readonly owner: import("effect/Schema").String;
|
|
2194
|
+
readonly build: import("effect/Schema").String;
|
|
2195
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
2196
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
2197
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
2198
|
+
readonly name: import("effect/Schema").String;
|
|
2199
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
2200
|
+
readonly createdAt: import("effect/Schema").String;
|
|
2201
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2202
|
+
}>;
|
|
2203
|
+
}>;
|
|
2204
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
2205
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
2206
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
2207
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
2208
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
2209
|
+
readonly source: import("effect/Schema").String;
|
|
2210
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
2211
|
+
readonly manifest: import("effect/Schema").String;
|
|
2212
|
+
readonly sealantd: import("effect/Schema").String;
|
|
2213
|
+
readonly socat: import("effect/Schema").String;
|
|
2214
|
+
readonly relay: import("effect/Schema").String;
|
|
2215
|
+
}>;
|
|
2216
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2217
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
2218
|
+
}>;
|
|
2219
|
+
}>]>>;
|
|
2060
2220
|
readonly error: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
2061
2221
|
readonly message: import("effect/Schema").String;
|
|
2062
2222
|
readonly code: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
@@ -2150,7 +2310,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2150
2310
|
readonly repository: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2151
2311
|
readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2152
2312
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
2153
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
2313
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
2154
2314
|
readonly resourceId: import("effect/Schema").String;
|
|
2155
2315
|
readonly reference: import("effect/Schema").String;
|
|
2156
2316
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -2171,6 +2331,56 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2171
2331
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2172
2332
|
}>>;
|
|
2173
2333
|
}>>;
|
|
2334
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
2335
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
2336
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2337
|
+
readonly image: import("effect/Schema").Struct<{
|
|
2338
|
+
readonly repository: import("effect/Schema").String;
|
|
2339
|
+
readonly tag: import("effect/Schema").String;
|
|
2340
|
+
readonly reference: import("effect/Schema").String;
|
|
2341
|
+
readonly digestReference: import("effect/Schema").String;
|
|
2342
|
+
readonly digest: import("effect/Schema").String;
|
|
2343
|
+
}>;
|
|
2344
|
+
}>, import("effect/Schema").Struct<{
|
|
2345
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
2346
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2347
|
+
readonly image: import("effect/Schema").Struct<{
|
|
2348
|
+
readonly imageArn: import("effect/Schema").String;
|
|
2349
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
2350
|
+
readonly planHash: import("effect/Schema").String;
|
|
2351
|
+
}>;
|
|
2352
|
+
}>, import("effect/Schema").Struct<{
|
|
2353
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
2354
|
+
readonly publicationId: import("effect/Schema").String;
|
|
2355
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
2356
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
2357
|
+
readonly owner: import("effect/Schema").String;
|
|
2358
|
+
readonly build: import("effect/Schema").String;
|
|
2359
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
2360
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
2361
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
2362
|
+
readonly name: import("effect/Schema").String;
|
|
2363
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
2364
|
+
readonly createdAt: import("effect/Schema").String;
|
|
2365
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
2366
|
+
}>;
|
|
2367
|
+
}>;
|
|
2368
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
2369
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
2370
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
2371
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
2372
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
2373
|
+
readonly source: import("effect/Schema").String;
|
|
2374
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
2375
|
+
readonly manifest: import("effect/Schema").String;
|
|
2376
|
+
readonly sealantd: import("effect/Schema").String;
|
|
2377
|
+
readonly socat: import("effect/Schema").String;
|
|
2378
|
+
readonly relay: import("effect/Schema").String;
|
|
2379
|
+
}>;
|
|
2380
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
2381
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
2382
|
+
}>;
|
|
2383
|
+
}>]>>;
|
|
2174
2384
|
readonly processUser: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>>;
|
|
2175
2385
|
readonly error: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
2176
2386
|
readonly message: import("effect/Schema").String;
|
|
@@ -2370,7 +2580,7 @@ declare const buildControlPlaneClient: (config: SealantInternalConfig) => Effect
|
|
|
2370
2580
|
readonly workspaceId: import("effect/Schema").String;
|
|
2371
2581
|
readonly runId: import("effect/Schema").String;
|
|
2372
2582
|
readonly status: import("effect/Schema").Literals<readonly ["queued", "running", "ready", "failed", "cancelled", "stopped", "retained"]>;
|
|
2373
|
-
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
2583
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
2374
2584
|
readonly stopWorkspace: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"stopWorkspace", "POST", "/v1/workspaces/:workspaceId/stop", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
2375
2585
|
readonly workspaceId: import("effect/Schema").String;
|
|
2376
2586
|
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
@@ -3253,6 +3463,14 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
3253
3463
|
}>>;
|
|
3254
3464
|
}>>;
|
|
3255
3465
|
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").ResourceDomainForbiddenError | typeof import("@sealant/api-contracts").ResourceDomainNotFoundError | typeof import("@sealant/api-contracts").ResourceDomainInternalServerError | typeof import("@sealant/api-contracts").ResourceInstanceSpecRefusedError | typeof import("@sealant/api-contracts").ResourceRuntimeUnsupportedError | typeof import("@sealant/api-contracts").ResourceInstanceBusyError | typeof import("@sealant/api-contracts").ResourceInstanceBudgetError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
3466
|
+
readonly purgeResourceInstance: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"purgeResourceInstance", "POST", "/v1/resource-domains/:resourceDomainId/instances/:key/purge", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
3467
|
+
readonly resourceDomainId: import("effect/Schema").String;
|
|
3468
|
+
readonly key: import("effect/Schema").brand<import("effect/Schema").String, "ResourceInstanceKey">;
|
|
3469
|
+
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
3470
|
+
readonly expectedInstanceId: import("effect/Schema").brand<import("effect/Schema").String, "ResourceInstanceId">;
|
|
3471
|
+
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
3472
|
+
readonly kind: import("effect/Schema").Literals<readonly ["purged", "already-purged"]>;
|
|
3473
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").ResourceDomainForbiddenError | typeof import("@sealant/api-contracts").ResourceDomainNotFoundError | typeof import("@sealant/api-contracts").ResourceDomainInternalServerError | typeof import("@sealant/api-contracts").ResourceInstanceSpecRefusedError | typeof import("@sealant/api-contracts").ResourceRuntimeUnsupportedError | typeof import("@sealant/api-contracts").ResourceInstancePurgeRefusedError | typeof import("@sealant/api-contracts").ResourceInstanceBusyError | typeof import("@sealant/api-contracts").ResourceInstanceBudgetError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
3256
3474
|
readonly stopResourceInstance: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"stopResourceInstance", "POST", "/v1/resource-domains/:resourceDomainId/instances/:key/stop", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
3257
3475
|
readonly resourceDomainId: import("effect/Schema").String;
|
|
3258
3476
|
readonly key: import("effect/Schema").brand<import("effect/Schema").String, "ResourceInstanceKey">;
|
|
@@ -4018,6 +4236,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4018
4236
|
readonly sshUser: import("effect/Schema").Null;
|
|
4019
4237
|
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4020
4238
|
readonly createWorkspace: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"createWorkspace", "POST", "/v1/workspaces/", never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
4239
|
+
readonly imageScopeId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4021
4240
|
readonly ownerUserId: import("effect/Schema").String;
|
|
4022
4241
|
readonly registryId: import("effect/Schema").String;
|
|
4023
4242
|
readonly repository: import("effect/Schema").String;
|
|
@@ -4059,7 +4278,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4059
4278
|
readonly tag: import("effect/Schema").String;
|
|
4060
4279
|
readonly runId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4061
4280
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4062
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
4281
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
4063
4282
|
readonly resourceId: import("effect/Schema").String;
|
|
4064
4283
|
readonly reference: import("effect/Schema").String;
|
|
4065
4284
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -4070,7 +4289,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4070
4289
|
}>>;
|
|
4071
4290
|
readonly replayed: import("effect/Schema").optional<import("effect/Schema").Boolean>;
|
|
4072
4291
|
readonly launchId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4073
|
-
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeEnvReferencesUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceDockerServiceUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceSshOwnerRefusedError | typeof import("@sealant/api-contracts").WorkspaceForbiddenError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4292
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeEnvReferencesUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceDockerServiceUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceSshOwnerRefusedError | typeof import("@sealant/api-contracts").WorkspaceForbiddenError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4074
4293
|
readonly execWorkspace: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"execWorkspace", "POST", "/v1/workspaces/:workspaceId/exec", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
4075
4294
|
readonly workspaceId: import("effect/Schema").String;
|
|
4076
4295
|
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
@@ -4223,7 +4442,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4223
4442
|
readonly repository: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4224
4443
|
readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4225
4444
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4226
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
4445
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
4227
4446
|
readonly resourceId: import("effect/Schema").String;
|
|
4228
4447
|
readonly reference: import("effect/Schema").String;
|
|
4229
4448
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -4244,6 +4463,56 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4244
4463
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4245
4464
|
}>>;
|
|
4246
4465
|
}>>;
|
|
4466
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4467
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
4468
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4469
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4470
|
+
readonly repository: import("effect/Schema").String;
|
|
4471
|
+
readonly tag: import("effect/Schema").String;
|
|
4472
|
+
readonly reference: import("effect/Schema").String;
|
|
4473
|
+
readonly digestReference: import("effect/Schema").String;
|
|
4474
|
+
readonly digest: import("effect/Schema").String;
|
|
4475
|
+
}>;
|
|
4476
|
+
}>, import("effect/Schema").Struct<{
|
|
4477
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
4478
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4479
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4480
|
+
readonly imageArn: import("effect/Schema").String;
|
|
4481
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
4482
|
+
readonly planHash: import("effect/Schema").String;
|
|
4483
|
+
}>;
|
|
4484
|
+
}>, import("effect/Schema").Struct<{
|
|
4485
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
4486
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4487
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
4488
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
4489
|
+
readonly owner: import("effect/Schema").String;
|
|
4490
|
+
readonly build: import("effect/Schema").String;
|
|
4491
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4492
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4493
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
4494
|
+
readonly name: import("effect/Schema").String;
|
|
4495
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
4496
|
+
readonly createdAt: import("effect/Schema").String;
|
|
4497
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4498
|
+
}>;
|
|
4499
|
+
}>;
|
|
4500
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
4501
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4502
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4503
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
4504
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
4505
|
+
readonly source: import("effect/Schema").String;
|
|
4506
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
4507
|
+
readonly manifest: import("effect/Schema").String;
|
|
4508
|
+
readonly sealantd: import("effect/Schema").String;
|
|
4509
|
+
readonly socat: import("effect/Schema").String;
|
|
4510
|
+
readonly relay: import("effect/Schema").String;
|
|
4511
|
+
}>;
|
|
4512
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4513
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
4514
|
+
}>;
|
|
4515
|
+
}>]>>;
|
|
4247
4516
|
readonly processUser: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>>;
|
|
4248
4517
|
readonly error: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4249
4518
|
readonly message: import("effect/Schema").String;
|
|
@@ -4385,7 +4654,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4385
4654
|
readonly workspaceId: import("effect/Schema").String;
|
|
4386
4655
|
readonly attemptId: import("effect/Schema").String;
|
|
4387
4656
|
readonly runtime: import("effect/Schema").Struct<{
|
|
4388
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
4657
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
4389
4658
|
readonly resourceId: import("effect/Schema").String;
|
|
4390
4659
|
readonly reference: import("effect/Schema").String;
|
|
4391
4660
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped"]>;
|
|
@@ -4395,6 +4664,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4395
4664
|
readonly sshKeyFingerprint: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4396
4665
|
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceUnauthorizedError | typeof import("@sealant/api-contracts").WorkspaceSshKeyNoLongerRegisteredError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4397
4666
|
readonly inspectWorkspaceImage: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"inspectWorkspaceImage", "POST", "/v1/workspaces/image", never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
4667
|
+
readonly imageScopeId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4398
4668
|
readonly ownerUserId: import("effect/Schema").String;
|
|
4399
4669
|
readonly registryId: import("effect/Schema").String;
|
|
4400
4670
|
readonly spec: import("effect/Schema").Unknown;
|
|
@@ -4412,6 +4682,56 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4412
4682
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4413
4683
|
}>>;
|
|
4414
4684
|
}>>;
|
|
4685
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4686
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
4687
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4688
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4689
|
+
readonly repository: import("effect/Schema").String;
|
|
4690
|
+
readonly tag: import("effect/Schema").String;
|
|
4691
|
+
readonly reference: import("effect/Schema").String;
|
|
4692
|
+
readonly digestReference: import("effect/Schema").String;
|
|
4693
|
+
readonly digest: import("effect/Schema").String;
|
|
4694
|
+
}>;
|
|
4695
|
+
}>, import("effect/Schema").Struct<{
|
|
4696
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
4697
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4698
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4699
|
+
readonly imageArn: import("effect/Schema").String;
|
|
4700
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
4701
|
+
readonly planHash: import("effect/Schema").String;
|
|
4702
|
+
}>;
|
|
4703
|
+
}>, import("effect/Schema").Struct<{
|
|
4704
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
4705
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4706
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
4707
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
4708
|
+
readonly owner: import("effect/Schema").String;
|
|
4709
|
+
readonly build: import("effect/Schema").String;
|
|
4710
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4711
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4712
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
4713
|
+
readonly name: import("effect/Schema").String;
|
|
4714
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
4715
|
+
readonly createdAt: import("effect/Schema").String;
|
|
4716
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4717
|
+
}>;
|
|
4718
|
+
}>;
|
|
4719
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
4720
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4721
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4722
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
4723
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
4724
|
+
readonly source: import("effect/Schema").String;
|
|
4725
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
4726
|
+
readonly manifest: import("effect/Schema").String;
|
|
4727
|
+
readonly sealantd: import("effect/Schema").String;
|
|
4728
|
+
readonly socat: import("effect/Schema").String;
|
|
4729
|
+
readonly relay: import("effect/Schema").String;
|
|
4730
|
+
}>;
|
|
4731
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4732
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
4733
|
+
}>;
|
|
4734
|
+
}>]>>;
|
|
4415
4735
|
readonly personLayout: import("effect/Schema").Struct<{
|
|
4416
4736
|
readonly status: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4417
4737
|
readonly missing: import("effect/Schema").$Array<import("effect/Schema").String>;
|
|
@@ -4419,7 +4739,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4419
4739
|
readonly runtime: import("effect/Schema").String;
|
|
4420
4740
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4421
4741
|
}>;
|
|
4422
|
-
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4742
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4423
4743
|
readonly listWorkspaceAttempts: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"listWorkspaceAttempts", "GET", "/v1/workspaces/:workspaceId/attempts", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
4424
4744
|
readonly workspaceId: import("effect/Schema").String;
|
|
4425
4745
|
}>>, import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
@@ -4433,7 +4753,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4433
4753
|
readonly triggerType: import("effect/Schema").Literals<readonly ["manual", "schedule", "api", "retry"]>;
|
|
4434
4754
|
readonly triggerRef: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4435
4755
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4436
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
4756
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
4437
4757
|
readonly resourceId: import("effect/Schema").String;
|
|
4438
4758
|
readonly reference: import("effect/Schema").String;
|
|
4439
4759
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -4454,6 +4774,56 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4454
4774
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4455
4775
|
}>>;
|
|
4456
4776
|
}>>;
|
|
4777
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4778
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
4779
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4780
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4781
|
+
readonly repository: import("effect/Schema").String;
|
|
4782
|
+
readonly tag: import("effect/Schema").String;
|
|
4783
|
+
readonly reference: import("effect/Schema").String;
|
|
4784
|
+
readonly digestReference: import("effect/Schema").String;
|
|
4785
|
+
readonly digest: import("effect/Schema").String;
|
|
4786
|
+
}>;
|
|
4787
|
+
}>, import("effect/Schema").Struct<{
|
|
4788
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
4789
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4790
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4791
|
+
readonly imageArn: import("effect/Schema").String;
|
|
4792
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
4793
|
+
readonly planHash: import("effect/Schema").String;
|
|
4794
|
+
}>;
|
|
4795
|
+
}>, import("effect/Schema").Struct<{
|
|
4796
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
4797
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4798
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
4799
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
4800
|
+
readonly owner: import("effect/Schema").String;
|
|
4801
|
+
readonly build: import("effect/Schema").String;
|
|
4802
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4803
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4804
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
4805
|
+
readonly name: import("effect/Schema").String;
|
|
4806
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
4807
|
+
readonly createdAt: import("effect/Schema").String;
|
|
4808
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4809
|
+
}>;
|
|
4810
|
+
}>;
|
|
4811
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
4812
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4813
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4814
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
4815
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
4816
|
+
readonly source: import("effect/Schema").String;
|
|
4817
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
4818
|
+
readonly manifest: import("effect/Schema").String;
|
|
4819
|
+
readonly sealantd: import("effect/Schema").String;
|
|
4820
|
+
readonly socat: import("effect/Schema").String;
|
|
4821
|
+
readonly relay: import("effect/Schema").String;
|
|
4822
|
+
}>;
|
|
4823
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4824
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
4825
|
+
}>;
|
|
4826
|
+
}>]>>;
|
|
4457
4827
|
readonly error: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4458
4828
|
readonly message: import("effect/Schema").String;
|
|
4459
4829
|
readonly code: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
@@ -4547,7 +4917,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4547
4917
|
readonly repository: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4548
4918
|
readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4549
4919
|
readonly runtime: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4550
|
-
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm"]>;
|
|
4920
|
+
readonly adapter: import("effect/Schema").Literals<readonly ["docker", "k8s", "k3s", "cloudflare", "microvm", "boat"]>;
|
|
4551
4921
|
readonly resourceId: import("effect/Schema").String;
|
|
4552
4922
|
readonly reference: import("effect/Schema").String;
|
|
4553
4923
|
readonly status: import("effect/Schema").Literals<readonly ["pending", "running", "ready", "failed", "stopped", "retained"]>;
|
|
@@ -4568,6 +4938,56 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4568
4938
|
readonly acl: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4569
4939
|
}>>;
|
|
4570
4940
|
}>>;
|
|
4941
|
+
readonly publication: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
4942
|
+
readonly kind: import("effect/Schema").Literal<"oci">;
|
|
4943
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4944
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4945
|
+
readonly repository: import("effect/Schema").String;
|
|
4946
|
+
readonly tag: import("effect/Schema").String;
|
|
4947
|
+
readonly reference: import("effect/Schema").String;
|
|
4948
|
+
readonly digestReference: import("effect/Schema").String;
|
|
4949
|
+
readonly digest: import("effect/Schema").String;
|
|
4950
|
+
}>;
|
|
4951
|
+
}>, import("effect/Schema").Struct<{
|
|
4952
|
+
readonly kind: import("effect/Schema").Literal<"microvm">;
|
|
4953
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4954
|
+
readonly image: import("effect/Schema").Struct<{
|
|
4955
|
+
readonly imageArn: import("effect/Schema").String;
|
|
4956
|
+
readonly imageVersion: import("effect/Schema").String;
|
|
4957
|
+
readonly planHash: import("effect/Schema").String;
|
|
4958
|
+
}>;
|
|
4959
|
+
}>, import("effect/Schema").Struct<{
|
|
4960
|
+
readonly kind: import("effect/Schema").Literal<"boat-native">;
|
|
4961
|
+
readonly publicationId: import("effect/Schema").String;
|
|
4962
|
+
readonly snapshot: import("effect/Schema").Struct<{
|
|
4963
|
+
readonly kind: import("effect/Schema").Literal<"boat-saved-snapshot">;
|
|
4964
|
+
readonly owner: import("effect/Schema").String;
|
|
4965
|
+
readonly build: import("effect/Schema").String;
|
|
4966
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4967
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4968
|
+
readonly identity: import("effect/Schema").Struct<{
|
|
4969
|
+
readonly name: import("effect/Schema").String;
|
|
4970
|
+
readonly sourceSandboxId: import("effect/Schema").String;
|
|
4971
|
+
readonly createdAt: import("effect/Schema").String;
|
|
4972
|
+
readonly snapshotId: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
4973
|
+
}>;
|
|
4974
|
+
}>;
|
|
4975
|
+
readonly evidence: import("effect/Schema").Struct<{
|
|
4976
|
+
readonly recipeHash: import("effect/Schema").String;
|
|
4977
|
+
readonly receiptHash: import("effect/Schema").String;
|
|
4978
|
+
readonly assetsHash: import("effect/Schema").String;
|
|
4979
|
+
readonly runtime: import("effect/Schema").Struct<{
|
|
4980
|
+
readonly source: import("effect/Schema").String;
|
|
4981
|
+
readonly platform: import("effect/Schema").Literal<"linux/amd64">;
|
|
4982
|
+
readonly manifest: import("effect/Schema").String;
|
|
4983
|
+
readonly sealantd: import("effect/Schema").String;
|
|
4984
|
+
readonly socat: import("effect/Schema").String;
|
|
4985
|
+
readonly relay: import("effect/Schema").String;
|
|
4986
|
+
}>;
|
|
4987
|
+
readonly daemonRecovery: import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>;
|
|
4988
|
+
readonly executorRecovery: import("effect/Schema").Literal<"unverified">;
|
|
4989
|
+
}>;
|
|
4990
|
+
}>]>>;
|
|
4571
4991
|
readonly processUser: import("effect/Schema").optional<import("effect/Schema").Literals<readonly ["supported", "unsupported", "unknown"]>>;
|
|
4572
4992
|
readonly error: import("effect/Schema").optional<import("effect/Schema").Struct<{
|
|
4573
4993
|
readonly message: import("effect/Schema").String;
|
|
@@ -4767,7 +5187,7 @@ declare const SealantApiClient_base: Context.ServiceClass<SealantApiClient, "@se
|
|
|
4767
5187
|
readonly workspaceId: import("effect/Schema").String;
|
|
4768
5188
|
readonly runId: import("effect/Schema").String;
|
|
4769
5189
|
readonly status: import("effect/Schema").Literals<readonly ["queued", "running", "ready", "failed", "cancelled", "stopped", "retained"]>;
|
|
4770
|
-
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
5190
|
+
}>>, import("effect/Schema").toCodecJson<typeof import("@sealant/api-contracts").BudgetExceededError | typeof import("@sealant/api-contracts").WorkspaceBadRequestError | typeof import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | typeof import("@sealant/api-contracts").WorkspaceNotFoundError | typeof import("@sealant/api-contracts").WorkspaceConflictError | typeof import("@sealant/api-contracts").WorkspaceBadGatewayError | typeof import("@sealant/api-contracts").WorkspaceServiceUnavailableError | typeof import("@sealant/api-contracts").WorkspaceInternalServerError>, import("@sealant/api-contracts").RequestBudget | import("@sealant/api-contracts").RequestRefusal, never>, never, never>;
|
|
4771
5191
|
readonly stopWorkspace: HttpApiClient.Client.Method<import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"stopWorkspace", "POST", "/v1/workspaces/:workspaceId/stop", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
|
|
4772
5192
|
readonly workspaceId: import("effect/Schema").String;
|
|
4773
5193
|
}>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
@@ -16,7 +16,7 @@ export declare const createWorkspaceOp: (payload: CreateWorkspaceRequest, idempo
|
|
|
16
16
|
readonly tag: string;
|
|
17
17
|
readonly runId?: string | undefined;
|
|
18
18
|
readonly runtime?: {
|
|
19
|
-
readonly adapter: "cloudflare" | "docker" | "k3s" | "k8s" | "microvm";
|
|
19
|
+
readonly adapter: "boat" | "cloudflare" | "docker" | "k3s" | "k8s" | "microvm";
|
|
20
20
|
readonly resourceId: string;
|
|
21
21
|
readonly reference: string;
|
|
22
22
|
readonly status: "failed" | "pending" | "ready" | "retained" | "running" | "stopped";
|
|
@@ -27,7 +27,7 @@ export declare const createWorkspaceOp: (payload: CreateWorkspaceRequest, idempo
|
|
|
27
27
|
} | undefined;
|
|
28
28
|
readonly replayed?: boolean | undefined;
|
|
29
29
|
readonly launchId?: string | undefined;
|
|
30
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | 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 | import("@sealant/api-contracts").WorkspaceSshOwnerRefusedError, SealantApiClient>;
|
|
30
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | 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").WorkspaceRuntimeRequirementUnsupportedError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError | import("@sealant/api-contracts").WorkspaceSshOwnerRefusedError, SealantApiClient>;
|
|
31
31
|
export declare const getWorkspaceOp: (workspaceId: string, ownerUserId?: string) => Effect.Effect<{
|
|
32
32
|
readonly workspaceId: string;
|
|
33
33
|
readonly name: string;
|
|
@@ -37,7 +37,7 @@ export declare const getWorkspaceOp: (workspaceId: string, ownerUserId?: string)
|
|
|
37
37
|
readonly repository?: string | undefined;
|
|
38
38
|
readonly tag?: string | undefined;
|
|
39
39
|
readonly runtime?: {
|
|
40
|
-
readonly adapter: "cloudflare" | "docker" | "k3s" | "k8s" | "microvm";
|
|
40
|
+
readonly adapter: "boat" | "cloudflare" | "docker" | "k3s" | "k8s" | "microvm";
|
|
41
41
|
readonly resourceId: string;
|
|
42
42
|
readonly reference: string;
|
|
43
43
|
readonly status: "failed" | "pending" | "ready" | "retained" | "running" | "stopped";
|
|
@@ -58,6 +58,56 @@ export declare const getWorkspaceOp: (workspaceId: string, ownerUserId?: string)
|
|
|
58
58
|
readonly acl: "supported" | "unknown" | "unsupported";
|
|
59
59
|
} | undefined;
|
|
60
60
|
} | undefined;
|
|
61
|
+
readonly publication?: {
|
|
62
|
+
readonly kind: "oci";
|
|
63
|
+
readonly publicationId: string;
|
|
64
|
+
readonly image: {
|
|
65
|
+
readonly repository: string;
|
|
66
|
+
readonly tag: string;
|
|
67
|
+
readonly reference: string;
|
|
68
|
+
readonly digestReference: string;
|
|
69
|
+
readonly digest: string;
|
|
70
|
+
};
|
|
71
|
+
} | {
|
|
72
|
+
readonly kind: "microvm";
|
|
73
|
+
readonly publicationId: string;
|
|
74
|
+
readonly image: {
|
|
75
|
+
readonly imageArn: string;
|
|
76
|
+
readonly imageVersion: string;
|
|
77
|
+
readonly planHash: string;
|
|
78
|
+
};
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: "boat-native";
|
|
81
|
+
readonly publicationId: string;
|
|
82
|
+
readonly snapshot: {
|
|
83
|
+
readonly kind: "boat-saved-snapshot";
|
|
84
|
+
readonly owner: string;
|
|
85
|
+
readonly build: string;
|
|
86
|
+
readonly recipeHash: string;
|
|
87
|
+
readonly receiptHash: string;
|
|
88
|
+
readonly identity: {
|
|
89
|
+
readonly name: string;
|
|
90
|
+
readonly sourceSandboxId: string;
|
|
91
|
+
readonly createdAt: string;
|
|
92
|
+
readonly snapshotId?: string | undefined;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
readonly evidence: {
|
|
96
|
+
readonly recipeHash: string;
|
|
97
|
+
readonly receiptHash: string;
|
|
98
|
+
readonly assetsHash: string;
|
|
99
|
+
readonly runtime: {
|
|
100
|
+
readonly source: string;
|
|
101
|
+
readonly platform: "linux/amd64";
|
|
102
|
+
readonly manifest: string;
|
|
103
|
+
readonly sealantd: string;
|
|
104
|
+
readonly socat: string;
|
|
105
|
+
readonly relay: string;
|
|
106
|
+
};
|
|
107
|
+
readonly daemonRecovery: "supported" | "unknown" | "unsupported";
|
|
108
|
+
readonly executorRecovery: "unverified";
|
|
109
|
+
};
|
|
110
|
+
} | undefined;
|
|
61
111
|
readonly processUser?: "supported" | "unknown" | "unsupported" | undefined;
|
|
62
112
|
readonly error?: {
|
|
63
113
|
readonly message: string;
|
|
@@ -146,7 +196,7 @@ export declare const listWorkspacesOp: (query: ListWorkspacesQuery) => Effect.Ef
|
|
|
146
196
|
readonly repository?: string | undefined;
|
|
147
197
|
readonly tag?: string | undefined;
|
|
148
198
|
readonly runtime?: {
|
|
149
|
-
readonly adapter: "cloudflare" | "docker" | "k3s" | "k8s" | "microvm";
|
|
199
|
+
readonly adapter: "boat" | "cloudflare" | "docker" | "k3s" | "k8s" | "microvm";
|
|
150
200
|
readonly resourceId: string;
|
|
151
201
|
readonly reference: string;
|
|
152
202
|
readonly status: "failed" | "pending" | "ready" | "retained" | "running" | "stopped";
|
|
@@ -167,6 +217,56 @@ export declare const listWorkspacesOp: (query: ListWorkspacesQuery) => Effect.Ef
|
|
|
167
217
|
readonly acl: "supported" | "unknown" | "unsupported";
|
|
168
218
|
} | undefined;
|
|
169
219
|
} | undefined;
|
|
220
|
+
readonly publication?: {
|
|
221
|
+
readonly kind: "oci";
|
|
222
|
+
readonly publicationId: string;
|
|
223
|
+
readonly image: {
|
|
224
|
+
readonly repository: string;
|
|
225
|
+
readonly tag: string;
|
|
226
|
+
readonly reference: string;
|
|
227
|
+
readonly digestReference: string;
|
|
228
|
+
readonly digest: string;
|
|
229
|
+
};
|
|
230
|
+
} | {
|
|
231
|
+
readonly kind: "microvm";
|
|
232
|
+
readonly publicationId: string;
|
|
233
|
+
readonly image: {
|
|
234
|
+
readonly imageArn: string;
|
|
235
|
+
readonly imageVersion: string;
|
|
236
|
+
readonly planHash: string;
|
|
237
|
+
};
|
|
238
|
+
} | {
|
|
239
|
+
readonly kind: "boat-native";
|
|
240
|
+
readonly publicationId: string;
|
|
241
|
+
readonly snapshot: {
|
|
242
|
+
readonly kind: "boat-saved-snapshot";
|
|
243
|
+
readonly owner: string;
|
|
244
|
+
readonly build: string;
|
|
245
|
+
readonly recipeHash: string;
|
|
246
|
+
readonly receiptHash: string;
|
|
247
|
+
readonly identity: {
|
|
248
|
+
readonly name: string;
|
|
249
|
+
readonly sourceSandboxId: string;
|
|
250
|
+
readonly createdAt: string;
|
|
251
|
+
readonly snapshotId?: string | undefined;
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
readonly evidence: {
|
|
255
|
+
readonly recipeHash: string;
|
|
256
|
+
readonly receiptHash: string;
|
|
257
|
+
readonly assetsHash: string;
|
|
258
|
+
readonly runtime: {
|
|
259
|
+
readonly source: string;
|
|
260
|
+
readonly platform: "linux/amd64";
|
|
261
|
+
readonly manifest: string;
|
|
262
|
+
readonly sealantd: string;
|
|
263
|
+
readonly socat: string;
|
|
264
|
+
readonly relay: string;
|
|
265
|
+
};
|
|
266
|
+
readonly daemonRecovery: "supported" | "unknown" | "unsupported";
|
|
267
|
+
readonly executorRecovery: "unverified";
|
|
268
|
+
};
|
|
269
|
+
} | undefined;
|
|
170
270
|
readonly processUser?: "supported" | "unknown" | "unsupported" | undefined;
|
|
171
271
|
readonly error?: {
|
|
172
272
|
readonly message: string;
|
|
@@ -412,7 +512,7 @@ export declare const restartWorkspaceOp: (workspaceId: string, payload: RestartW
|
|
|
412
512
|
readonly workspaceId: string;
|
|
413
513
|
readonly runId: string;
|
|
414
514
|
readonly status: "cancelled" | "failed" | "queued" | "ready" | "retained" | "running" | "stopped";
|
|
415
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | 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>;
|
|
515
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | 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 | import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
416
516
|
export declare const inspectWorkspaceImageOp: (payload: InspectWorkspaceImageRequest) => Effect.Effect<{
|
|
417
517
|
readonly planHash: string;
|
|
418
518
|
readonly publishedImage?: {
|
|
@@ -427,6 +527,56 @@ export declare const inspectWorkspaceImageOp: (payload: InspectWorkspaceImageReq
|
|
|
427
527
|
readonly acl: "supported" | "unknown" | "unsupported";
|
|
428
528
|
} | undefined;
|
|
429
529
|
} | undefined;
|
|
530
|
+
readonly publication?: {
|
|
531
|
+
readonly kind: "oci";
|
|
532
|
+
readonly publicationId: string;
|
|
533
|
+
readonly image: {
|
|
534
|
+
readonly repository: string;
|
|
535
|
+
readonly tag: string;
|
|
536
|
+
readonly reference: string;
|
|
537
|
+
readonly digestReference: string;
|
|
538
|
+
readonly digest: string;
|
|
539
|
+
};
|
|
540
|
+
} | {
|
|
541
|
+
readonly kind: "microvm";
|
|
542
|
+
readonly publicationId: string;
|
|
543
|
+
readonly image: {
|
|
544
|
+
readonly imageArn: string;
|
|
545
|
+
readonly imageVersion: string;
|
|
546
|
+
readonly planHash: string;
|
|
547
|
+
};
|
|
548
|
+
} | {
|
|
549
|
+
readonly kind: "boat-native";
|
|
550
|
+
readonly publicationId: string;
|
|
551
|
+
readonly snapshot: {
|
|
552
|
+
readonly kind: "boat-saved-snapshot";
|
|
553
|
+
readonly owner: string;
|
|
554
|
+
readonly build: string;
|
|
555
|
+
readonly recipeHash: string;
|
|
556
|
+
readonly receiptHash: string;
|
|
557
|
+
readonly identity: {
|
|
558
|
+
readonly name: string;
|
|
559
|
+
readonly sourceSandboxId: string;
|
|
560
|
+
readonly createdAt: string;
|
|
561
|
+
readonly snapshotId?: string | undefined;
|
|
562
|
+
};
|
|
563
|
+
};
|
|
564
|
+
readonly evidence: {
|
|
565
|
+
readonly recipeHash: string;
|
|
566
|
+
readonly receiptHash: string;
|
|
567
|
+
readonly assetsHash: string;
|
|
568
|
+
readonly runtime: {
|
|
569
|
+
readonly source: string;
|
|
570
|
+
readonly platform: "linux/amd64";
|
|
571
|
+
readonly manifest: string;
|
|
572
|
+
readonly sealantd: string;
|
|
573
|
+
readonly socat: string;
|
|
574
|
+
readonly relay: string;
|
|
575
|
+
};
|
|
576
|
+
readonly daemonRecovery: "supported" | "unknown" | "unsupported";
|
|
577
|
+
readonly executorRecovery: "unverified";
|
|
578
|
+
};
|
|
579
|
+
} | undefined;
|
|
430
580
|
readonly personLayout: {
|
|
431
581
|
readonly status: "supported" | "unknown" | "unsupported";
|
|
432
582
|
readonly missing: readonly string[];
|
|
@@ -434,7 +584,7 @@ export declare const inspectWorkspaceImageOp: (payload: InspectWorkspaceImageReq
|
|
|
434
584
|
readonly runtime: string;
|
|
435
585
|
readonly acl: "supported" | "unknown" | "unsupported";
|
|
436
586
|
};
|
|
437
|
-
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | Schema.SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError, SealantApiClient>;
|
|
587
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | Schema.SchemaError | import("@sealant/api-contracts").WorkspaceBadRequestError | import("@sealant/api-contracts").WorkspaceInternalServerError | import("@sealant/api-contracts").WorkspaceNotFoundError | import("@sealant/api-contracts").WorkspaceRuntimeRequirementUnsupportedError | import("@sealant/api-contracts").WorkspaceServiceUnavailableError, SealantApiClient>;
|
|
438
588
|
export declare const putWorkspaceCredentialsOp: (workspaceId: string, payload: PutWorkspaceCredentialsRequest) => Effect.Effect<{
|
|
439
589
|
readonly workspaceId: string;
|
|
440
590
|
readonly runId: string;
|
|
@@ -1507,6 +1657,9 @@ export declare const archiveResourceInstanceOp: (resourceDomainId: string, key:
|
|
|
1507
1657
|
readonly bytes: number | null;
|
|
1508
1658
|
}[];
|
|
1509
1659
|
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").ResourceDomainForbiddenError | import("@sealant/api-contracts").ResourceDomainInternalServerError | import("@sealant/api-contracts").ResourceDomainNotFoundError | import("@sealant/api-contracts").ResourceInstanceBudgetError | import("@sealant/api-contracts").ResourceInstanceBusyError | import("@sealant/api-contracts").ResourceInstanceNotFoundError | import("@sealant/api-contracts").ResourceInstanceSpecRefusedError | import("@sealant/api-contracts").ResourceRuntimeUnsupportedError | Schema.SchemaError | import("effect/Cause").UnknownError, SealantApiClient>;
|
|
1660
|
+
export declare const purgeResourceInstanceOp: (resourceDomainId: string, key: string, expectedInstanceId: string) => Effect.Effect<{
|
|
1661
|
+
readonly kind: "already-purged" | "purged";
|
|
1662
|
+
}, import("@sealant/api-contracts").BudgetExceededError | import("effect/http/HttpClientError").HttpClientError | import("@sealant/api-contracts").RequestRefusedError | import("@sealant/api-contracts").ResourceDomainForbiddenError | import("@sealant/api-contracts").ResourceDomainInternalServerError | import("@sealant/api-contracts").ResourceDomainNotFoundError | import("@sealant/api-contracts").ResourceInstanceBudgetError | import("@sealant/api-contracts").ResourceInstanceBusyError | import("@sealant/api-contracts").ResourceInstancePurgeRefusedError | import("@sealant/api-contracts").ResourceInstanceSpecRefusedError | import("@sealant/api-contracts").ResourceRuntimeUnsupportedError | Schema.SchemaError | import("effect/Cause").UnknownError, SealantApiClient>;
|
|
1510
1663
|
export declare const linkResourceWorkspaceOp: (resourceDomainId: string, workspaceId: string, worktreeKey: string, aliases?: Readonly<Record<string, "project" | "worktree">>) => Effect.Effect<{
|
|
1511
1664
|
readonly workspaceId: string;
|
|
1512
1665
|
readonly worktreeKey: string & import("effect/Brand").Brand<"ResourceWorktreeKey">;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceInstanceKey, ResourceReachAliases, ResourceWorktreeKey, } from "@sealant/api-contracts";
|
|
1
|
+
import { ResourceInstanceId, ResourceInstanceKey, ResourceReachAliases, ResourceWorktreeKey, } from "@sealant/api-contracts";
|
|
2
2
|
import { Effect, Schema } from "effect";
|
|
3
3
|
import { CurrentRequestPriority, SealantApiClient } from "./api-client.js";
|
|
4
4
|
// ---- workspaces ----
|
|
@@ -127,6 +127,14 @@ export const stopResourceInstanceOp = (resourceDomainId, key, by) => Effect.flat
|
|
|
127
127
|
export const archiveResourceInstanceOp = (resourceDomainId, key) => Effect.flatMap(Effect.all([SealantApiClient, instanceKey(key)]), ([client, checked]) => client.resourceInstances.archiveResourceInstance({
|
|
128
128
|
params: { resourceDomainId, key: checked },
|
|
129
129
|
}));
|
|
130
|
+
export const purgeResourceInstanceOp = (resourceDomainId, key, expectedInstanceId) => Effect.flatMap(Effect.all([
|
|
131
|
+
SealantApiClient,
|
|
132
|
+
instanceKey(key),
|
|
133
|
+
Effect.try(() => ResourceInstanceId.make(expectedInstanceId)),
|
|
134
|
+
]), ([client, checked, id]) => client.resourceInstances.purgeResourceInstance({
|
|
135
|
+
params: { resourceDomainId, key: checked },
|
|
136
|
+
payload: { expectedInstanceId: id },
|
|
137
|
+
})).pipe(Effect.provideService(CurrentRequestPriority, "interactive"));
|
|
130
138
|
export const linkResourceWorkspaceOp = (resourceDomainId, workspaceId, worktreeKey, aliases) => Effect.flatMap(Effect.all([
|
|
131
139
|
SealantApiClient,
|
|
132
140
|
Effect.try(() => ResourceWorktreeKey.make(worktreeKey)),
|
package/dist/facade/workspace.js
CHANGED
|
@@ -443,6 +443,10 @@ export const makeWorkspace = (ctx, init) => {
|
|
|
443
443
|
const details = await ctx.runtime.run(getWorkspaceOp(init.id, ctx.config.hostLocal.ownerUserId));
|
|
444
444
|
return details.publishedImage === undefined ? null : toWorkspaceImage(details.publishedImage);
|
|
445
445
|
},
|
|
446
|
+
publication: async () => {
|
|
447
|
+
const details = await ctx.runtime.run(getWorkspaceOp(init.id, ctx.config.hostLocal.ownerUserId));
|
|
448
|
+
return details.publication ?? null;
|
|
449
|
+
},
|
|
446
450
|
processUser: async () => {
|
|
447
451
|
const details = await ctx.runtime.run(getWorkspaceOp(init.id, ctx.config.hostLocal.ownerUserId));
|
|
448
452
|
return details.processUser ?? "unknown";
|
|
@@ -516,6 +520,7 @@ export const makeWorkspace = (ctx, init) => {
|
|
|
516
520
|
...(details.publishedImage === undefined
|
|
517
521
|
? {}
|
|
518
522
|
: { image: toWorkspaceImage(details.publishedImage) }),
|
|
523
|
+
...(details.publication === undefined ? {} : { publication: details.publication }),
|
|
519
524
|
...(details.processUser === undefined ? {} : { processUser: details.processUser }),
|
|
520
525
|
};
|
|
521
526
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,6 @@ export { claudeCode, codex, customHarness, opencode, pi } from "./harness.js";
|
|
|
19
19
|
export { ForwardDialError, type ForwardDialFailure, type ForwardDialReason, ForwardResetError, SealantApiError, SealantBudgetExceededError, SealantError, SealantNotImplementedError, SealantRuntimeError, } from "./errors.js";
|
|
20
20
|
export type * from "./types.js";
|
|
21
21
|
export type { EnsuredScope, ScopeBudget, ScopeBudgetDimension, ScopeBudgetLimits, ScopeBudgets, ScopeClient, ScopeInfo, ScopeMember, ScopeMemberDecision, ScopeMemberPage, ScopeMembers, ScopesNamespace, } from "./scopes.js";
|
|
22
|
-
export type { ScopeArchivedVolume, ScopeExecResult, ScopeInstance, ScopeInstances, ScopeInstanceSpec, ScopeInstanceState, ScopeInstanceStopReason, ScopeWorkspaces, } from "./scope-instances.js";
|
|
22
|
+
export type { ScopeArchivedVolume, ScopeExecResult, ScopeInstance, ScopeInstances, ScopeInstanceSpec, ScopeInstanceState, ScopeInstanceStopReason, ScopeInstancePurgeResult, ScopeWorkspaces, } from "./scope-instances.js";
|
|
23
23
|
export { findWorkspaceEnvReservedRule, findWorkspaceSecretEnvReservedRule, formatWorkspaceEnvIssue, parseWorkspaceEnv, parseWorkspaceSecretEnv, WORKSPACE_ENV_MAX_ENTRIES, WORKSPACE_ENV_MAX_NAME_LENGTH, WORKSPACE_ENV_MAX_TOTAL_BYTES, WORKSPACE_ENV_MAX_VALUE_BYTES, WORKSPACE_ENV_NAME_PATTERN, WORKSPACE_ENV_SECRET_MARKERS, } from "@sealant/api-contracts/workspace-environment";
|
|
24
24
|
export type { WorkspaceEnvIssue, WorkspaceEnvParseResult, WorkspaceEnvReservedRule, } from "@sealant/api-contracts/workspace-environment";
|
|
@@ -261,6 +261,7 @@ export const buildCreateWorkspaceRequest = (options, config) => {
|
|
|
261
261
|
return {
|
|
262
262
|
payload: {
|
|
263
263
|
ownerUserId: config.hostLocal.ownerUserId,
|
|
264
|
+
...(options.imageScopeId === undefined ? {} : { imageScopeId: options.imageScopeId }),
|
|
264
265
|
registryId: config.hostLocal.registryId,
|
|
265
266
|
repository: sanitizeRepoSlug(tail),
|
|
266
267
|
tag: `sdk-${randomUUID().slice(0, 8)}`,
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A scope's long-running instances (a project's Postgres, Redis or any image), the workspaces that
|
|
3
|
+
* reach them, and the scope's archive. Organization and installation scopes use caller-only
|
|
4
|
+
* reach on Docker or Kubernetes. Other providers reject with `ResourceRuntimeUnsupportedError`.
|
|
5
|
+
*/
|
|
6
|
+
import { type ResourceInstancePurgeResult } from "@sealant/api-contracts";
|
|
1
7
|
import type { SdkRuntime } from "./effect/runtime.js";
|
|
2
8
|
import { type SealantInternalConfig } from "./internal/config.js";
|
|
3
9
|
/**
|
|
@@ -124,7 +130,17 @@ export interface ScopeExecResult {
|
|
|
124
130
|
readonly truncated: boolean;
|
|
125
131
|
readonly timedOut: boolean;
|
|
126
132
|
}
|
|
133
|
+
/** Whether this call removed the instance or found its key already absent. */
|
|
134
|
+
export type ScopeInstancePurgeResult = ResourceInstancePurgeResult;
|
|
127
135
|
export interface ScopeInstances {
|
|
136
|
+
/**
|
|
137
|
+
* Irreversibly delete a stopped or archived caller-owned instance, including retained volumes
|
|
138
|
+
* and sealed env. Pass its observed id to protect a replacement using the same key. No Core
|
|
139
|
+
* backup is retained; previously downloaded copies belong to their recipient.
|
|
140
|
+
*/
|
|
141
|
+
purge(key: string, options: {
|
|
142
|
+
readonly expectedInstanceId: string;
|
|
143
|
+
}): Promise<ScopeInstancePurgeResult>;
|
|
128
144
|
/**
|
|
129
145
|
* Create or update the instance by key, start it and answer once its ready check passed or its
|
|
130
146
|
* start failed (`state.kind`). `cause: "use"` (a launch, a wake) leaves an instance a person
|
package/dist/scope-instances.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* reach on Docker or Kubernetes. Other providers reject with `ResourceRuntimeUnsupportedError`.
|
|
5
5
|
*/
|
|
6
6
|
import { RESOURCE_INSTANCE_EXEC, RESOURCE_INSTANCE_BACKUP, } from "@sealant/api-contracts";
|
|
7
|
-
import { archiveResourceDomainOp, archiveResourceInstanceOp, getResourceInstanceOp, linkResourceWorkspaceOp, listResourceInstancesOp, stopResourceInstanceOp, upResourceInstanceOp, } from "./effect/operations.js";
|
|
7
|
+
import { archiveResourceDomainOp, archiveResourceInstanceOp, purgeResourceInstanceOp, getResourceInstanceOp, linkResourceWorkspaceOp, listResourceInstancesOp, stopResourceInstanceOp, upResourceInstanceOp, } from "./effect/operations.js";
|
|
8
8
|
import { SealantApiError, SealantBudgetExceededError, SealantError } from "./errors.js";
|
|
9
9
|
import { resolveRequestPriority } from "./internal/config.js";
|
|
10
10
|
import { toSealantError } from "./internal/map-error.js";
|
|
@@ -138,6 +138,7 @@ const exec = async (config, scopeId, key, options) => {
|
|
|
138
138
|
};
|
|
139
139
|
export const makeScopeInstances = (runtime, config, scopeId) => ({
|
|
140
140
|
instances: {
|
|
141
|
+
purge: (key, options) => runtime.run(purgeResourceInstanceOp(scopeId, key, options.expectedInstanceId)),
|
|
141
142
|
up: async (key, spec, { cause, secretEnv }) => toInstance(await runtime.run(upResourceInstanceOp(scopeId, key, {
|
|
142
143
|
spec: { ...spec },
|
|
143
144
|
cause,
|
package/dist/types.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* `SealantNotImplementedError` at runtime, see `./errors.js`).
|
|
16
16
|
*/
|
|
17
17
|
import type { ReadableStream as NodeReadableStream, WritableStream as NodeWritableStream } from "node:stream/web";
|
|
18
|
-
import type { ConnectedAccountLogin, ConnectedAccountLoginClass, ForwardBinding, ForwardResetReason } from "@sealant/api-contracts";
|
|
18
|
+
import type { WorkspacePublication as WireWorkspacePublication, ConnectedAccountLogin, ConnectedAccountLoginClass, ForwardBinding, ForwardResetReason } from "@sealant/api-contracts";
|
|
19
19
|
/** A request hint. Interactive requests may use the server's reserved capacity. */
|
|
20
20
|
export type RequestPriority = "normal" | "interactive";
|
|
21
21
|
/**
|
|
@@ -784,6 +784,8 @@ export interface WorkspaceEnvFromSource {
|
|
|
784
784
|
readonly name: string;
|
|
785
785
|
}
|
|
786
786
|
export interface CreateOptions {
|
|
787
|
+
/** Reuse images within this existing resource domain, subject to current owner membership. */
|
|
788
|
+
readonly imageScopeId?: string;
|
|
787
789
|
/**
|
|
788
790
|
* Source git repository to build the workspace around (e.g. `"github.com/acme/billing-service"`).
|
|
789
791
|
* Exactly one of `repository` or `source` must be provided.
|
|
@@ -962,8 +964,8 @@ export interface WorkspaceCreateState {
|
|
|
962
964
|
* record at launch and to name in `stop({ completion })`.
|
|
963
965
|
*/
|
|
964
966
|
export interface WorkspaceRuntimeInfo {
|
|
965
|
-
/**
|
|
966
|
-
readonly kind: "docker" | "k8s" | "k3s" | "cloudflare" | "microvm";
|
|
967
|
+
/** Recorded runtime family. Boat records remain readable while execution is unavailable. */
|
|
968
|
+
readonly kind: "docker" | "k8s" | "k3s" | "cloudflare" | "microvm" | "boat";
|
|
967
969
|
/** The executor's id on its runtime: the container id, the Pod name, the MicroVM id. */
|
|
968
970
|
readonly resourceId: string;
|
|
969
971
|
/** The runtime's name for it (container name, Pod name, MicroVM id). */
|
|
@@ -992,6 +994,7 @@ export interface WorkspaceLaunch {
|
|
|
992
994
|
readonly launchId?: string;
|
|
993
995
|
/** The image the executor booted, with its per-person capability; filled in by `ready()`. */
|
|
994
996
|
readonly image?: WorkspaceImage;
|
|
997
|
+
readonly publication?: WorkspacePublication;
|
|
995
998
|
/** Whether its processes can be started as a user (`processUser()`); filled in by `ready()`. */
|
|
996
999
|
readonly processUser?: WorkspaceProcessUserCapability;
|
|
997
1000
|
}
|
|
@@ -1058,6 +1061,8 @@ export interface Workspace {
|
|
|
1058
1061
|
runtime(): Promise<WorkspaceRuntimeInfo | null>;
|
|
1059
1062
|
/** The image the workspace's latest launch booted, with its per-person capability. */
|
|
1060
1063
|
image(): Promise<WorkspaceImage | null>;
|
|
1064
|
+
/** Exact typed artifact used by this workspace, including native provenance. */
|
|
1065
|
+
publication(): Promise<WorkspacePublication | null>;
|
|
1061
1066
|
/**
|
|
1062
1067
|
* Whether this workspace's processes can be started as a person's Linux user (`user` on
|
|
1063
1068
|
* `exec()` and `sessions.open()`), read now (see {@link WorkspaceProcessUserCapability}).
|
|
@@ -1480,6 +1485,8 @@ export interface SealantFeatures {
|
|
|
1480
1485
|
*/
|
|
1481
1486
|
readonly connectedAccountApiKeys: boolean;
|
|
1482
1487
|
}
|
|
1488
|
+
/** Tagged artifact facts reported by the control plane. */
|
|
1489
|
+
export type WorkspacePublication = WireWorkspacePublication;
|
|
1483
1490
|
/** A published workspace image. */
|
|
1484
1491
|
export interface WorkspaceImage {
|
|
1485
1492
|
readonly reference: string;
|
|
@@ -1496,6 +1503,7 @@ export interface WorkspaceImageInspection {
|
|
|
1496
1503
|
readonly planHash: string;
|
|
1497
1504
|
/** The latest image published for the plan, when this owner has built one. */
|
|
1498
1505
|
readonly image?: WorkspaceImage;
|
|
1506
|
+
readonly publication?: WorkspacePublication;
|
|
1499
1507
|
/** The image's per-person capability (`unknown` when none has been built yet). */
|
|
1500
1508
|
readonly personLayout: WorkspaceImagePersonLayout;
|
|
1501
1509
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sealant/sdk-next",
|
|
3
|
-
"version": "0.40.0-next.
|
|
3
|
+
"version": "0.40.0-next.792",
|
|
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.40.0-next.
|
|
29
|
+
"@sealant/api-contracts": "npm:@sealant/api-contracts-next@0.40.0-next.792"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"effect": "^4.0.5"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "4e2e3b67c44c2836488e314ebbdacd57edac91d0",
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
}
|