@serve.zone/interfaces 32.35.0 → 32.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/changelog.md +55 -0
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/data/deploymentlegacyimport.d.ts +92 -0
  4. package/dist_ts/data/deploymentlegacyimport.js +237 -0
  5. package/dist_ts/data/deploymentoperation.d.ts +63 -38
  6. package/dist_ts/data/deploymentoperation.js +12 -2
  7. package/dist_ts/data/deploymentpreflight.d.ts +42 -10
  8. package/dist_ts/data/deploymentpreflight.js +47 -10
  9. package/dist_ts/data/immutableimage.d.ts +26 -2
  10. package/dist_ts/data/immutableimage.js +12 -2
  11. package/dist_ts/data/index.d.ts +5 -0
  12. package/dist_ts/data/index.js +6 -1
  13. package/dist_ts/data/runtimeassignmentexec.d.ts +110 -0
  14. package/dist_ts/data/runtimeassignmentexec.js +164 -0
  15. package/dist_ts/data/runtimeassignmentlogs.d.ts +121 -0
  16. package/dist_ts/data/runtimeassignmentlogs.js +139 -0
  17. package/dist_ts/data/runtimeassignmentstats.d.ts +60 -0
  18. package/dist_ts/data/runtimeassignmentstats.js +93 -0
  19. package/dist_ts/data/runtimelocalvolumearchive.d.ts +103 -0
  20. package/dist_ts/data/runtimelocalvolumearchive.js +111 -0
  21. package/dist_ts/data/user.d.ts +6 -1
  22. package/dist_ts/data/user.js +6 -1
  23. package/dist_ts/requests/runtimesession.d.ts +81 -0
  24. package/dist_ts/requests/service.d.ts +51 -0
  25. package/package.json +1 -1
  26. package/readme.md +105 -0
  27. package/ts/00_commitinfo_data.ts +1 -1
  28. package/ts/data/deploymentlegacyimport.ts +371 -0
  29. package/ts/data/deploymentoperation.ts +83 -39
  30. package/ts/data/deploymentpreflight.ts +86 -18
  31. package/ts/data/immutableimage.ts +42 -3
  32. package/ts/data/index.ts +5 -0
  33. package/ts/data/runtimeassignmentexec.ts +271 -0
  34. package/ts/data/runtimeassignmentlogs.ts +249 -0
  35. package/ts/data/runtimeassignmentstats.ts +149 -0
  36. package/ts/data/runtimelocalvolumearchive.ts +207 -0
  37. package/ts/data/user.ts +10 -0
  38. package/ts/requests/runtimesession.ts +102 -0
  39. package/ts/requests/service.ts +66 -0
@@ -9,6 +9,10 @@ import type * as assignmentSecret from '../runtime.assignmentsecret.js';
9
9
  import type * as fleet from '../data/fleetcutover.js';
10
10
  import type { IRuntimeStorageClaim } from '../data/runtimestorageclaim.js';
11
11
  import type * as localStorage from '../data/runtimelocalstorageclaim.js';
12
+ import type * as logs from '../data/runtimeassignmentlogs.js';
13
+ import type * as stats from '../data/runtimeassignmentstats.js';
14
+ import type * as exec from '../data/runtimeassignmentexec.js';
15
+ import type * as volumeArchive from '../data/runtimelocalvolumearchive.js';
12
16
 
13
17
  /** Current-peer, exact-projection authorization; response contains secret keys. */
14
18
  export interface IReq_Pallet_Controller_GetRuntimeManagedVpnCredential extends plugins.typedrequestInterfaces.implementsTR<
@@ -215,6 +219,104 @@ export interface IReq_Pallet_Controller_ReportRuntimeAssignmentTerminalReceipt e
215
219
  response: terminal.IReportRuntimeAssignmentTerminalReceiptResponse;
216
220
  }
217
221
 
222
+ /**
223
+ * Pallet pushes one batch of one attempt's captured output over its current session and sends the
224
+ * next only after this one is acknowledged (`runtimeAssignmentLogContract`). The controller owns
225
+ * log persistence; the node's capture files are disposable transport artifacts.
226
+ */
227
+ export interface IReq_Pallet_Controller_ReportRuntimeAssignmentLogs extends plugins.typedrequestInterfaces.implementsTR<
228
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Pallet_Controller_ReportRuntimeAssignmentLogs
229
+ > {
230
+ method: 'reportRuntimeAssignmentLogs';
231
+ request: logs.IReportRuntimeAssignmentLogsRequest;
232
+ response: logs.IReportRuntimeAssignmentLogsResponse;
233
+ }
234
+
235
+ /** Controller read of one resource sample of one attempt, over the node's current session. */
236
+ export interface IReq_Controller_Pallet_ReadRuntimeAssignmentStats extends plugins.typedrequestInterfaces.implementsTR<
237
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Controller_Pallet_ReadRuntimeAssignmentStats
238
+ > {
239
+ method: 'readRuntimeAssignmentStats';
240
+ request: stats.IReadRuntimeAssignmentStatsRequest;
241
+ response: stats.IReadRuntimeAssignmentStatsResponse;
242
+ }
243
+
244
+ /**
245
+ * A local controller runs one command in one running attempt's container
246
+ * (`runtimeAssignmentExecContract`). The controller sends standard input on `stdin`, or states
247
+ * `null` for none. The node answers once the process runs: `stdout` carries a `tty` session's
248
+ * whole output, and `stderr` is `null` exactly for a `tty` session. The streams outlive this
249
+ * request and end when the process's output ends or the session ends.
250
+ */
251
+ export interface IReq_Onebox_Pallet_OpenRuntimeAssignmentExec extends plugins.typedrequestInterfaces.implementsTR<
252
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_OpenRuntimeAssignmentExec
253
+ > {
254
+ method: 'openRuntimeAssignmentExec';
255
+ request: {
256
+ exec: exec.IOpenRuntimeAssignmentExecRequest;
257
+ /** Requester sends standard input; the TypedHandler receives the opposite endpoint. */
258
+ stdin: plugins.typedrequestInterfaces.TVirtualStream<'send'> | null;
259
+ };
260
+ response: {
261
+ exec: exec.IOpenRuntimeAssignmentExecResponse;
262
+ /** Requester receives output; the TypedHandler returns sender endpoints. */
263
+ stdout: plugins.typedrequestInterfaces.TVirtualStream<'receive'>;
264
+ stderr: plugins.typedrequestInterfaces.TVirtualStream<'receive'> | null;
265
+ };
266
+ }
267
+
268
+ /** A local controller resizes the terminal of one `tty` exec session. */
269
+ export interface IReq_Onebox_Pallet_ResizeRuntimeAssignmentExec extends plugins.typedrequestInterfaces.implementsTR<
270
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_ResizeRuntimeAssignmentExec
271
+ > {
272
+ method: 'resizeRuntimeAssignmentExec';
273
+ request: exec.IResizeRuntimeAssignmentExecRequest;
274
+ response: exec.IResizeRuntimeAssignmentExecResponse;
275
+ }
276
+
277
+ /** A local controller ends one exec session, releases its slot and learns how it ended. */
278
+ export interface IReq_Onebox_Pallet_CloseRuntimeAssignmentExec extends plugins.typedrequestInterfaces.implementsTR<
279
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_CloseRuntimeAssignmentExec
280
+ > {
281
+ method: 'closeRuntimeAssignmentExec';
282
+ request: exec.ICloseRuntimeAssignmentExecRequest;
283
+ response: exec.ICloseRuntimeAssignmentExecResponse;
284
+ }
285
+
286
+ /**
287
+ * A local controller reads one node-local volume as a pax archive
288
+ * (`runtimeLocalVolumeArchiveContract`). The archive arrives on `archive`, which outlives this
289
+ * request; the node's completion of that stream is the end of the archive.
290
+ */
291
+ export interface IReq_Onebox_Pallet_ReadRuntimeLocalVolumeArchive extends plugins.typedrequestInterfaces.implementsTR<
292
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_ReadRuntimeLocalVolumeArchive
293
+ > {
294
+ method: 'readRuntimeLocalVolumeArchive';
295
+ request: volumeArchive.IReadRuntimeLocalVolumeArchiveRequest;
296
+ response: {
297
+ volume: volumeArchive.IReadRuntimeLocalVolumeArchiveResponse;
298
+ /** Requester receives archive bytes; the TypedHandler returns a sender endpoint. */
299
+ archive: plugins.typedrequestInterfaces.TVirtualStream<'receive'>;
300
+ };
301
+ }
302
+
303
+ /**
304
+ * A local controller writes one pax archive as the bytes of an `import` claim waiting in
305
+ * `import-required`. The stream's integrity is `getRuntimeLocalVolumeArchiveIntegrity(volume)`;
306
+ * its acceptance receipt confirms that the node published the volume as `ready`.
307
+ */
308
+ export interface IReq_Onebox_Pallet_WriteRuntimeLocalVolumeArchive extends plugins.typedrequestInterfaces.implementsTR<
309
+ plugins.typedrequestInterfaces.ITypedRequest, IReq_Onebox_Pallet_WriteRuntimeLocalVolumeArchive
310
+ > {
311
+ method: 'writeRuntimeLocalVolumeArchive';
312
+ request: {
313
+ volume: volumeArchive.IWriteRuntimeLocalVolumeArchiveRequest;
314
+ /** Requester sends archive bytes; the TypedHandler receives the opposite endpoint. */
315
+ archive: plugins.typedrequestInterfaces.TVirtualStream<'send'>;
316
+ };
317
+ response: volumeArchive.IWriteRuntimeLocalVolumeArchiveResponse;
318
+ }
319
+
218
320
  /** Current-peer, exact current assignment authorization; response is secret material. */
219
321
  export interface IReq_Pallet_Controller_GetRuntimeRegistryCredential extends plugins.typedrequestInterfaces.implementsTR<
220
322
  plugins.typedrequestInterfaces.ITypedRequest,
@@ -17,6 +17,7 @@ import type {
17
17
  IServiceDeploymentStatus,
18
18
  } from '../data/deploymentoperation.js';
19
19
  import type { TSha256Digest } from '../data/immutableimage.js';
20
+ import type { ILegacyServiceRuntimeAttestation } from '../data/deploymentlegacyimport.js';
20
21
  import type { IProtocolOffer } from '../protocol.js';
21
22
  import type {
22
23
  IServiceRuntimeAssignmentView,
@@ -324,6 +325,71 @@ extends plugins.typedrequestInterfaces.implementsTR<
324
325
  };
325
326
  }
326
327
 
328
+ /**
329
+ * Captures durable evidence that a legacy `deployOnPush` service runs exactly the registry root its
330
+ * tag names: every required replica observed healthy on that one digest, with the root's platform
331
+ * manifests read from Cloudly's own registry. Administrators only, and only while the legacy
332
+ * runtime still runs — incomplete evidence is refused, never stored.
333
+ *
334
+ * `expectedRuntimeDigest`, when stated, is an assertion the observed digest must equal. Capturing
335
+ * again for an unchanged digest returns the attestation already stored.
336
+ */
337
+ export interface IRequest_Any_Cloudly_CaptureLegacyServiceRuntimeAttestation
338
+ extends plugins.typedrequestInterfaces.implementsTR<
339
+ plugins.typedrequestInterfaces.ITypedRequest,
340
+ IRequest_Any_Cloudly_CaptureLegacyServiceRuntimeAttestation
341
+ > {
342
+ method: 'captureLegacyServiceRuntimeAttestation';
343
+ request: {
344
+ identity: IIdentityCredential;
345
+ legacyServiceId: string;
346
+ expectedRuntimeDigest?: TSha256Digest;
347
+ };
348
+ response: {
349
+ attestation: ILegacyServiceRuntimeAttestation;
350
+ };
351
+ }
352
+
353
+ /** Every attestation Cloudly holds for one legacy service, oldest first. Administrators only. */
354
+ export interface IRequest_Any_Cloudly_GetLegacyServiceRuntimeAttestations
355
+ extends plugins.typedrequestInterfaces.implementsTR<
356
+ plugins.typedrequestInterfaces.ITypedRequest,
357
+ IRequest_Any_Cloudly_GetLegacyServiceRuntimeAttestations
358
+ > {
359
+ method: 'getLegacyServiceRuntimeAttestations';
360
+ request: {
361
+ identity: IIdentityCredential;
362
+ legacyServiceId: string;
363
+ };
364
+ response: {
365
+ attestations: ILegacyServiceRuntimeAttestation[];
366
+ };
367
+ }
368
+
369
+ /**
370
+ * Imports the attested legacy image of a reserved legacy-import operation into the operation's own
371
+ * repository and release tag. Cloudly does it from its own registry — nothing is pushed — and
372
+ * records release evidence of source `cloudly-legacy-import`; the operation then continues exactly
373
+ * like one whose image was pushed. Replaying it after the import returns the recorded release.
374
+ */
375
+ export interface IRequest_Any_Cloudly_ImportServiceDeploymentLegacyImage
376
+ extends plugins.typedrequestInterfaces.implementsTR<
377
+ plugins.typedrequestInterfaces.ITypedRequest,
378
+ IRequest_Any_Cloudly_ImportServiceDeploymentLegacyImage
379
+ > {
380
+ method: 'importServiceDeploymentLegacyImage';
381
+ request: {
382
+ identity: IIdentityCredential;
383
+ serviceId: string;
384
+ operationId: string;
385
+ expectedOperationRevision: number;
386
+ };
387
+ response: {
388
+ operation: IServiceDeploymentOperation;
389
+ release: IImageRelease;
390
+ };
391
+ }
392
+
327
393
  export interface IRequest_Any_Cloudly_CreateService
328
394
  extends plugins.typedrequestInterfaces.implementsTR<
329
395
  plugins.typedrequestInterfaces.ITypedRequest,