@sealant/api-contracts-next 0.39.0-next.702 → 0.39.0-next.704

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.
@@ -1110,6 +1110,17 @@ export declare const ControlPlaneAPI: HttpApi.HttpApi<"sealantControlPlaneApi",
1110
1110
  readonly message: import("effect/Schema").String;
1111
1111
  readonly code: import("effect/Schema").optional<import("effect/Schema").String>;
1112
1112
  }>>;
1113
+ readonly phase: import("effect/Schema").optional<import("effect/Schema").Struct<{
1114
+ readonly name: import("effect/Schema").Literals<readonly ["queued", "image-build", "boot"]>;
1115
+ readonly since: import("effect/Schema").optional<import("effect/Schema").String>;
1116
+ readonly imageBuild: import("effect/Schema").optional<import("effect/Schema").Struct<{
1117
+ readonly step: import("effect/Schema").optional<import("effect/Schema").Int>;
1118
+ readonly steps: import("effect/Schema").optional<import("effect/Schema").Int>;
1119
+ readonly stepName: import("effect/Schema").optional<import("effect/Schema").String>;
1120
+ readonly progressAt: import("effect/Schema").String;
1121
+ readonly stallTimeoutMs: import("effect/Schema").optional<import("effect/Schema").Int>;
1122
+ }>>;
1123
+ }>>;
1113
1124
  readonly createdAt: import("effect/Schema").String;
1114
1125
  readonly updatedAt: import("effect/Schema").String;
1115
1126
  readonly startedAt: import("effect/Schema").optional<import("effect/Schema").String>;
@@ -1396,6 +1407,17 @@ export declare const ControlPlaneAPI: HttpApi.HttpApi<"sealantControlPlaneApi",
1396
1407
  readonly message: import("effect/Schema").String;
1397
1408
  readonly code: import("effect/Schema").optional<import("effect/Schema").String>;
1398
1409
  }>>;
1410
+ readonly phase: import("effect/Schema").optional<import("effect/Schema").Struct<{
1411
+ readonly name: import("effect/Schema").Literals<readonly ["queued", "image-build", "boot"]>;
1412
+ readonly since: import("effect/Schema").optional<import("effect/Schema").String>;
1413
+ readonly imageBuild: import("effect/Schema").optional<import("effect/Schema").Struct<{
1414
+ readonly step: import("effect/Schema").optional<import("effect/Schema").Int>;
1415
+ readonly steps: import("effect/Schema").optional<import("effect/Schema").Int>;
1416
+ readonly stepName: import("effect/Schema").optional<import("effect/Schema").String>;
1417
+ readonly progressAt: import("effect/Schema").String;
1418
+ readonly stallTimeoutMs: import("effect/Schema").optional<import("effect/Schema").Int>;
1419
+ }>>;
1420
+ }>>;
1399
1421
  readonly createdAt: import("effect/Schema").String;
1400
1422
  readonly updatedAt: import("effect/Schema").String;
1401
1423
  readonly startedAt: import("effect/Schema").optional<import("effect/Schema").String>;
@@ -223,10 +223,10 @@ export declare const applyWorkspaceDotfilesArchiveSchema: Schema.Struct<{
223
223
  * order) and the same applier (sealantd's: chezmoi, stow or copy, then each tree's bootstrap).
224
224
  *
225
225
  * `user` must exist and must not be root or in root's group, and `home` must be its passwd home: an
226
- * existing directory of the user's, reached without a symbolic link. The clone, chezmoi, stow and the
227
- * bootstrap run as the user; sealantd's archive staging and `copy` manager still run as root inside
228
- * the home and follow links the person planted there, until sealantd's fix for it lands (see
229
- * docs/connected-accounts-design.md §6g). `onBehalfOfUserId` names whose dotfiles they are: it is
226
+ * existing directory of the user's, reached without a symbolic link. The clone, chezmoi, stow, the
227
+ * `copy` manager and the bootstrap run as the user, and every file in the home is written as the
228
+ * user: sealantd unpacks archives outside every home, and a link the person planted is followed only
229
+ * as them (see docs/connected-accounts-design.md §6g). `onBehalfOfUserId` names whose dotfiles they are: it is
230
230
  * recorded on the run, and a home whose logins another person holds is refused (`home-held`). Answered `202` with a run (`harnessId`
231
231
  * `dotfiles`) once the archives are staged: the run's first `processStarted` is the bootstrap,
232
232
  * started once every file is applied; its output and exit are the run's. The run completes with the
@@ -1047,6 +1047,34 @@ export declare const cancelWorkspaceCreateRequestSchema: Schema.Struct<{
1047
1047
  readonly ownerUserId: Schema.String;
1048
1048
  }>;
1049
1049
  export type CancelWorkspaceCreateRequest = typeof cancelWorkspaceCreateRequestSchema.Type;
1050
+ /**
1051
+ * Where a workspace that is not ready yet is in its launch:
1052
+ *
1053
+ * - `queued`: waiting for a worker to take the launch.
1054
+ * - `image-build`: building (or finding) the workspace image. `imageBuild` says how far the build
1055
+ * has got and when it last wrote output, when the builder reports it.
1056
+ * - `boot`: the image is ready; the executor is starting and its daemon has not answered yet.
1057
+ *
1058
+ * `since` is when the phase started. Absent once the workspace is ready or has ended, and from
1059
+ * control planes that predate it.
1060
+ */
1061
+ export declare const workspacePhaseSchema: Schema.Struct<{
1062
+ readonly name: Schema.Literals<readonly ["queued", "image-build", "boot"]>;
1063
+ readonly since: Schema.optional<Schema.String>;
1064
+ readonly imageBuild: Schema.optional<Schema.Struct<{
1065
+ /** The furthest build step reached (1-based). */
1066
+ readonly step: Schema.optional<Schema.Int>;
1067
+ /** How many steps the build has. */
1068
+ readonly steps: Schema.optional<Schema.Int>;
1069
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
1070
+ readonly stepName: Schema.optional<Schema.String>;
1071
+ /** ISO-8601: when the build last wrote output. */
1072
+ readonly progressAt: Schema.String;
1073
+ /** How long the builder lets the build go without output before it fails it as stalled. */
1074
+ readonly stallTimeoutMs: Schema.optional<Schema.Int>;
1075
+ }>>;
1076
+ }>;
1077
+ export type WorkspacePhase = typeof workspacePhaseSchema.Type;
1050
1078
  export declare const workspaceSummarySchema: Schema.Struct<{
1051
1079
  readonly workspaceId: Schema.String;
1052
1080
  readonly name: Schema.String;
@@ -1102,6 +1130,23 @@ export declare const workspaceSummarySchema: Schema.Struct<{
1102
1130
  readonly message: Schema.String;
1103
1131
  readonly code: Schema.optional<Schema.String>;
1104
1132
  }>>;
1133
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
1134
+ readonly phase: Schema.optional<Schema.Struct<{
1135
+ readonly name: Schema.Literals<readonly ["queued", "image-build", "boot"]>;
1136
+ readonly since: Schema.optional<Schema.String>;
1137
+ readonly imageBuild: Schema.optional<Schema.Struct<{
1138
+ /** The furthest build step reached (1-based). */
1139
+ readonly step: Schema.optional<Schema.Int>;
1140
+ /** How many steps the build has. */
1141
+ readonly steps: Schema.optional<Schema.Int>;
1142
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
1143
+ readonly stepName: Schema.optional<Schema.String>;
1144
+ /** ISO-8601: when the build last wrote output. */
1145
+ readonly progressAt: Schema.String;
1146
+ /** How long the builder lets the build go without output before it fails it as stalled. */
1147
+ readonly stallTimeoutMs: Schema.optional<Schema.Int>;
1148
+ }>>;
1149
+ }>>;
1105
1150
  readonly createdAt: Schema.String;
1106
1151
  readonly updatedAt: Schema.String;
1107
1152
  readonly startedAt: Schema.optional<Schema.String>;
@@ -1244,6 +1289,23 @@ export declare const workspaceDetailsSchema: Schema.Struct<{
1244
1289
  readonly message: Schema.String;
1245
1290
  readonly code: Schema.optional<Schema.String>;
1246
1291
  }>>;
1292
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
1293
+ readonly phase: Schema.optional<Schema.Struct<{
1294
+ readonly name: Schema.Literals<readonly ["queued", "image-build", "boot"]>;
1295
+ readonly since: Schema.optional<Schema.String>;
1296
+ readonly imageBuild: Schema.optional<Schema.Struct<{
1297
+ /** The furthest build step reached (1-based). */
1298
+ readonly step: Schema.optional<Schema.Int>;
1299
+ /** How many steps the build has. */
1300
+ readonly steps: Schema.optional<Schema.Int>;
1301
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
1302
+ readonly stepName: Schema.optional<Schema.String>;
1303
+ /** ISO-8601: when the build last wrote output. */
1304
+ readonly progressAt: Schema.String;
1305
+ /** How long the builder lets the build go without output before it fails it as stalled. */
1306
+ readonly stallTimeoutMs: Schema.optional<Schema.Int>;
1307
+ }>>;
1308
+ }>>;
1247
1309
  readonly createdAt: Schema.String;
1248
1310
  readonly updatedAt: Schema.String;
1249
1311
  readonly startedAt: Schema.optional<Schema.String>;
@@ -1387,6 +1449,23 @@ export declare const listWorkspacesResponseSchema: Schema.Struct<{
1387
1449
  readonly message: Schema.String;
1388
1450
  readonly code: Schema.optional<Schema.String>;
1389
1451
  }>>;
1452
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
1453
+ readonly phase: Schema.optional<Schema.Struct<{
1454
+ readonly name: Schema.Literals<readonly ["queued", "image-build", "boot"]>;
1455
+ readonly since: Schema.optional<Schema.String>;
1456
+ readonly imageBuild: Schema.optional<Schema.Struct<{
1457
+ /** The furthest build step reached (1-based). */
1458
+ readonly step: Schema.optional<Schema.Int>;
1459
+ /** How many steps the build has. */
1460
+ readonly steps: Schema.optional<Schema.Int>;
1461
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
1462
+ readonly stepName: Schema.optional<Schema.String>;
1463
+ /** ISO-8601: when the build last wrote output. */
1464
+ readonly progressAt: Schema.String;
1465
+ /** How long the builder lets the build go without output before it fails it as stalled. */
1466
+ readonly stallTimeoutMs: Schema.optional<Schema.Int>;
1467
+ }>>;
1468
+ }>>;
1390
1469
  readonly createdAt: Schema.String;
1391
1470
  readonly updatedAt: Schema.String;
1392
1471
  readonly startedAt: Schema.optional<Schema.String>;
@@ -2039,6 +2118,23 @@ export declare const WorkspacesGroup: HttpApiGroup.HttpApiGroup<"workspaces", Ht
2039
2118
  readonly message: Schema.String;
2040
2119
  readonly code: Schema.optional<Schema.String>;
2041
2120
  }>>;
2121
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
2122
+ readonly phase: Schema.optional<Schema.Struct<{
2123
+ readonly name: Schema.Literals<readonly ["queued", "image-build", "boot"]>;
2124
+ readonly since: Schema.optional<Schema.String>;
2125
+ readonly imageBuild: Schema.optional<Schema.Struct<{
2126
+ /** The furthest build step reached (1-based). */
2127
+ readonly step: Schema.optional<Schema.Int>;
2128
+ /** How many steps the build has. */
2129
+ readonly steps: Schema.optional<Schema.Int>;
2130
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
2131
+ readonly stepName: Schema.optional<Schema.String>;
2132
+ /** ISO-8601: when the build last wrote output. */
2133
+ readonly progressAt: Schema.String;
2134
+ /** How long the builder lets the build go without output before it fails it as stalled. */
2135
+ readonly stallTimeoutMs: Schema.optional<Schema.Int>;
2136
+ }>>;
2137
+ }>>;
2042
2138
  readonly createdAt: Schema.String;
2043
2139
  readonly updatedAt: Schema.String;
2044
2140
  readonly startedAt: Schema.optional<Schema.String>;
@@ -2493,6 +2589,23 @@ export declare const WorkspacesGroup: HttpApiGroup.HttpApiGroup<"workspaces", Ht
2493
2589
  readonly message: Schema.String;
2494
2590
  readonly code: Schema.optional<Schema.String>;
2495
2591
  }>>;
2592
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
2593
+ readonly phase: Schema.optional<Schema.Struct<{
2594
+ readonly name: Schema.Literals<readonly ["queued", "image-build", "boot"]>;
2595
+ readonly since: Schema.optional<Schema.String>;
2596
+ readonly imageBuild: Schema.optional<Schema.Struct<{
2597
+ /** The furthest build step reached (1-based). */
2598
+ readonly step: Schema.optional<Schema.Int>;
2599
+ /** How many steps the build has. */
2600
+ readonly steps: Schema.optional<Schema.Int>;
2601
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
2602
+ readonly stepName: Schema.optional<Schema.String>;
2603
+ /** ISO-8601: when the build last wrote output. */
2604
+ readonly progressAt: Schema.String;
2605
+ /** How long the builder lets the build go without output before it fails it as stalled. */
2606
+ readonly stallTimeoutMs: Schema.optional<Schema.Int>;
2607
+ }>>;
2608
+ }>>;
2496
2609
  readonly createdAt: Schema.String;
2497
2610
  readonly updatedAt: Schema.String;
2498
2611
  readonly startedAt: Schema.optional<Schema.String>;
@@ -207,10 +207,10 @@ export const applyWorkspaceDotfilesArchiveSchema = Schema.Struct({
207
207
  * order) and the same applier (sealantd's: chezmoi, stow or copy, then each tree's bootstrap).
208
208
  *
209
209
  * `user` must exist and must not be root or in root's group, and `home` must be its passwd home: an
210
- * existing directory of the user's, reached without a symbolic link. The clone, chezmoi, stow and the
211
- * bootstrap run as the user; sealantd's archive staging and `copy` manager still run as root inside
212
- * the home and follow links the person planted there, until sealantd's fix for it lands (see
213
- * docs/connected-accounts-design.md §6g). `onBehalfOfUserId` names whose dotfiles they are: it is
210
+ * existing directory of the user's, reached without a symbolic link. The clone, chezmoi, stow, the
211
+ * `copy` manager and the bootstrap run as the user, and every file in the home is written as the
212
+ * user: sealantd unpacks archives outside every home, and a link the person planted is followed only
213
+ * as them (see docs/connected-accounts-design.md §6g). `onBehalfOfUserId` names whose dotfiles they are: it is
214
214
  * recorded on the run, and a home whose logins another person holds is refused (`home-held`). Answered `202` with a run (`harnessId`
215
215
  * `dotfiles`) once the archives are staged: the run's first `processStarted` is the bootstrap,
216
216
  * started once every file is applied; its output and exit are the run's. The run completes with the
@@ -815,6 +815,33 @@ export const getWorkspaceCreateQuerySchema = Schema.Struct({
815
815
  export const cancelWorkspaceCreateRequestSchema = Schema.Struct({
816
816
  ownerUserId: NonEmptyString,
817
817
  });
818
+ /**
819
+ * Where a workspace that is not ready yet is in its launch:
820
+ *
821
+ * - `queued`: waiting for a worker to take the launch.
822
+ * - `image-build`: building (or finding) the workspace image. `imageBuild` says how far the build
823
+ * has got and when it last wrote output, when the builder reports it.
824
+ * - `boot`: the image is ready; the executor is starting and its daemon has not answered yet.
825
+ *
826
+ * `since` is when the phase started. Absent once the workspace is ready or has ended, and from
827
+ * control planes that predate it.
828
+ */
829
+ export const workspacePhaseSchema = Schema.Struct({
830
+ name: Schema.Literals(["queued", "image-build", "boot"]),
831
+ since: Schema.optional(Schema.String),
832
+ imageBuild: Schema.optional(Schema.Struct({
833
+ /** The furthest build step reached (1-based). */
834
+ step: Schema.optional(Schema.Int),
835
+ /** How many steps the build has. */
836
+ steps: Schema.optional(Schema.Int),
837
+ /** That step's instruction, shortened (`RUN apt-get update && …`). */
838
+ stepName: Schema.optional(Schema.String),
839
+ /** ISO-8601: when the build last wrote output. */
840
+ progressAt: Schema.String,
841
+ /** How long the builder lets the build go without output before it fails it as stalled. */
842
+ stallTimeoutMs: Schema.optional(Schema.Int),
843
+ })),
844
+ });
818
845
  export const workspaceSummarySchema = Schema.Struct({
819
846
  workspaceId: NonEmptyString,
820
847
  name: NonEmptyString,
@@ -826,6 +853,8 @@ export const workspaceSummarySchema = Schema.Struct({
826
853
  runtime: Schema.optional(workspaceRuntimeSchema),
827
854
  publishedImage: Schema.optional(workspacePublishedImageSchema),
828
855
  error: Schema.optional(workspaceErrorSchema),
856
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
857
+ phase: Schema.optional(workspacePhaseSchema),
829
858
  createdAt: Schema.String,
830
859
  updatedAt: Schema.String,
831
860
  startedAt: Schema.optional(Schema.String),
@@ -920,6 +949,8 @@ export const workspaceDetailsSchema = Schema.Struct({
920
949
  runtime: Schema.optional(workspaceRuntimeSchema),
921
950
  publishedImage: Schema.optional(workspacePublishedImageSchema),
922
951
  error: Schema.optional(workspaceErrorSchema),
952
+ /** Where the launch is while the workspace is not ready (see `workspacePhaseSchema`). */
953
+ phase: Schema.optional(workspacePhaseSchema),
923
954
  createdAt: Schema.String,
924
955
  updatedAt: Schema.String,
925
956
  startedAt: Schema.optional(Schema.String),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealant/api-contracts-next",
3
- "version": "0.39.0-next.702",
3
+ "version": "0.39.0-next.704",
4
4
  "description": "Contract-first HTTP API definitions for Sealant services",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -32,7 +32,7 @@
32
32
  "peerDependencies": {
33
33
  "effect": ">=4.0.0-beta.85 <5"
34
34
  },
35
- "gitHead": "f48e004713495c54c0592f734d0dfb0755628f72",
35
+ "gitHead": "4cfff680be5ef20c0413f37ba7835ffdd540104f",
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  }