@openkaiden/opnshll-sdk 0.1.3 → 0.1.4

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.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { SandboxWorkloadTemplate } from './gen/openshell_pb.js';
5
5
  import { type ExecSandboxInputSchema, OpenShell, SandboxPhase, type SandboxSpecSchema, type SandboxWorkloadTemplateSchema, ServiceStatus, type TcpForwardFrameSchema } from './gen/openshell_pb.js';
6
6
  import type { SandboxPolicy, SettingValue } from './gen/sandbox_pb.js';
7
7
  import { PolicySource, type SandboxPolicySchema, SettingScope, type SettingValueSchema } from './gen/sandbox_pb.js';
8
+ import { ProviderClient } from './providers.js';
8
9
  import { type ConnectOptions } from './transport.js';
9
10
  export type { SandboxResources, SandboxServiceLevel, SandboxStartup, SandboxWorkloadConfig, SandboxWorkloadTemplate, SandboxWorkloadTemplateSpec, } from './gen/openshell_pb.js';
10
11
  export type { SandboxPolicy, SettingValue } from './gen/sandbox_pb.js';
@@ -114,6 +115,8 @@ export interface SandboxRef {
114
115
  /** Service URLs returned by creation, keyed by service name. */
115
116
  serviceUrls: Record<string, string>;
116
117
  restartCount: number;
118
+ /** Creation time in epoch milliseconds; absent when the gateway omits it. */
119
+ createdAtMs?: number;
117
120
  nextRestartAtMs?: number;
118
121
  mainProcessStartedAtMs?: number;
119
122
  }
@@ -227,6 +230,68 @@ export interface ExecInteractiveSessionControl extends ExecInteractiveSession {
227
230
  /** Observed process exit, retained even if final RPC completion fails. */
228
231
  readonly exitCode: number | undefined;
229
232
  }
233
+ /** A curated log line delivered by `watchLogs`. */
234
+ export interface LogLine {
235
+ sandboxId: string;
236
+ /** Milliseconds since epoch. 0 if the wire timestamp was absent or unrepresentable. */
237
+ timestampMs: number;
238
+ level: string;
239
+ target: string;
240
+ message: string;
241
+ /** Log source (e.g. `'gateway'`, `'sandbox'`). An empty wire value is normalized to `'gateway'`. */
242
+ source: string;
243
+ fields: Record<string, string>;
244
+ }
245
+ /** A curated platform (compute-backend) event delivered by `watchLogs`. */
246
+ export interface PlatformEvent {
247
+ /** Milliseconds since epoch. 0 if the wire timestamp was absent or unrepresentable. */
248
+ timestampMs: number;
249
+ source: string;
250
+ type: string;
251
+ reason: string;
252
+ message: string;
253
+ metadata: Record<string, string>;
254
+ }
255
+ export interface WatchLogEvent {
256
+ kind: 'log';
257
+ line: LogLine;
258
+ /** Opaque high-water-mark cursor. Feed back as `WatchOptions.resumeAfterCursor` to resume. */
259
+ cursor: string;
260
+ }
261
+ export interface WatchPlatformEvent {
262
+ kind: 'event';
263
+ event: PlatformEvent;
264
+ /** Opaque high-water-mark cursor. Feed back as `WatchOptions.resumeAfterCursor` to resume. */
265
+ cursor: string;
266
+ }
267
+ /** Recoverable server-side loss notice. The stream continues; never advances the cursor. */
268
+ export interface WatchWarningEvent {
269
+ kind: 'warning';
270
+ message: string;
271
+ }
272
+ /** One item from `watchLogs`. Discriminate on `kind`. */
273
+ export type WatchEvent = WatchLogEvent | WatchPlatformEvent | WatchWarningEvent;
274
+ export interface WatchOptions extends SandboxWorkspaceOptions {
275
+ /** Stream server/supervisor log lines. Defaults to `true` when neither this nor `followEvents` is set. */
276
+ followLogs?: boolean;
277
+ /** Stream platform (compute-backend) events. */
278
+ followEvents?: boolean;
279
+ /** Restrict to these log sources (e.g. `'gateway'`, `'sandbox'`). Omit or empty for no filter. */
280
+ logSources?: string[];
281
+ /** Minimum log level to include (e.g. `'INFO'`, `'WARN'`, `'ERROR'`). Omit for no filter. */
282
+ logMinLevel?: string;
283
+ /**
284
+ * Opaque cursor to resume after, taken from a previous `WatchEvent`'s `cursor`.
285
+ * Omit or leave empty to start from the tail. Do not construct or parse one.
286
+ */
287
+ resumeAfterCursor?: string;
288
+ /** Replay the last N log lines (best-effort) before following. */
289
+ logTailLines?: number;
290
+ /** Replay the last N platform events (best-effort) before following. */
291
+ eventTail?: number;
292
+ /** Abort the watch (including any pending reconnect backoff) early. */
293
+ signal?: AbortSignal;
294
+ }
230
295
  /** Cancellation for the poll-based wait helpers. */
231
296
  export interface WaitOptions extends SandboxWorkspaceOptions {
232
297
  /** Abort the wait (and the in-flight poll RPC) early. */
@@ -323,6 +388,12 @@ export declare const PHASE_NAMES: Record<SandboxPhase, SandboxPhaseName>;
323
388
  export declare const STATUS_NAMES: Record<ServiceStatus, HealthStatus>;
324
389
  export declare const SCOPE_NAMES: Record<SettingScope, SettingScopeName>;
325
390
  export declare const POLICY_SOURCE_NAMES: Record<PolicySource, PolicySourceName>;
391
+ /**
392
+ * Test-only seam for the `watchLogs` reconnect backoff delay. Not part of the
393
+ * public API surface — not re-exported from index.ts. Call with no argument
394
+ * to restore the real timer-based sleep.
395
+ */
396
+ export declare function __setWatchLogsBackoffSleepForTests(fn?: (delayMs: number, signal?: AbortSignal) => Promise<void>): void;
326
397
  export declare class Pushable<T> implements AsyncIterable<T> {
327
398
  private readonly queue;
328
399
  private readonly waiting;
@@ -505,6 +576,11 @@ export declare class SandboxTemplateClient {
505
576
  input: typeof import("./gen/openshell_pb.js").GetProviderRequestSchema;
506
577
  output: typeof import("./gen/openshell_pb.js").ProviderResponseSchema;
507
578
  };
579
+ getProviderCredentials: {
580
+ methodKind: "unary";
581
+ input: typeof import("./gen/openshell_pb.js").GetProviderCredentialsRequestSchema;
582
+ output: typeof import("./gen/openshell_pb.js").GetProviderCredentialsResponseSchema;
583
+ };
508
584
  listProviders: {
509
585
  methodKind: "unary";
510
586
  input: typeof import("./gen/openshell_pb.js").ListProvidersRequestSchema;
@@ -935,6 +1011,11 @@ export declare class SandboxClient {
935
1011
  input: typeof import("./gen/openshell_pb.js").GetProviderRequestSchema;
936
1012
  output: typeof import("./gen/openshell_pb.js").ProviderResponseSchema;
937
1013
  };
1014
+ getProviderCredentials: {
1015
+ methodKind: "unary";
1016
+ input: typeof import("./gen/openshell_pb.js").GetProviderCredentialsRequestSchema;
1017
+ output: typeof import("./gen/openshell_pb.js").GetProviderCredentialsResponseSchema;
1018
+ };
938
1019
  listProviders: {
939
1020
  methodKind: "unary";
940
1021
  input: typeof import("./gen/openshell_pb.js").ListProvidersRequestSchema;
@@ -1217,6 +1298,22 @@ export declare class SandboxClient {
1217
1298
  waitDeleted(name: string, timeoutSecs: number, options?: WaitDeletedOptions | null): Promise<void>;
1218
1299
  execStream(name: string, command: string[], options?: ExecOptions | null): AsyncGenerator<ExecStreamEvent, void, void>;
1219
1300
  exec(name: string, command: string[], options?: ExecOptions | null): Promise<ExecResult>;
1301
+ /**
1302
+ * Watch a sandbox's log lines and platform events with loss-aware resume.
1303
+ *
1304
+ * Reconnects transparently on a transient stream drop, resuming from the
1305
+ * highest cursor already delivered. A recoverable server-side lag surfaces
1306
+ * as a `{ kind: 'warning' }` item and the stream continues.
1307
+ *
1308
+ * An `SdkError` with `connectCode === Code.OutOfRange` is terminal and not
1309
+ * retried: the resume point is gone (trimmed from the buffer, or issued by a
1310
+ * cursor space the gateway no longer has), so events between it and now are
1311
+ * unrecoverable. Auto-restarting from scratch would hide that loss, which is
1312
+ * exactly what this method exists to surface. Callers who accept the gap can
1313
+ * start a new watch with an empty `resumeAfterCursor`; retrying the same
1314
+ * cursor fails identically.
1315
+ */
1316
+ watchLogs(name: string, options?: WatchOptions | null): AsyncGenerator<WatchEvent, void, void>;
1220
1317
  execInteractive(name: string, command: string[], options?: ExecInteractiveOptions | null): Promise<ExecInteractiveSessionControl>;
1221
1318
  forward(name: string, opts: ForwardOptions): Promise<ForwardHandle>;
1222
1319
  private forwardConnection;
@@ -1237,6 +1334,8 @@ export declare class OpenShellClient {
1237
1334
  readonly sandbox: SandboxClient;
1238
1335
  /** Reusable sandbox workload template lifecycle. */
1239
1336
  readonly sandboxTemplates: SandboxTemplateClient;
1337
+ /** Privileged provider credential retrieval; requires direct operator mTLS. */
1338
+ readonly providers: ProviderClient;
1240
1339
  /**
1241
1340
  * Advanced escape hatch: a generated client for every gateway RPC, including
1242
1341
  * surface the curated sub-clients do not wrap yet (gateway config, provider
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -2,10 +2,11 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import * as net from 'node:net';
4
4
  import { durationFromMs } from '@bufbuild/protobuf/wkt';
5
- import { createClient } from '@connectrpc/connect';
5
+ import { Code, createClient } from '@connectrpc/connect';
6
6
  import { errorCode, fromConnect, SdkError } from './errors.js';
7
7
  import { OpenShell, ServiceAuthorizationMode as ProtoServiceAuthorizationMode, SandboxPhase, SandboxRestartPolicy, ServiceStatus, } from './gen/openshell_pb.js';
8
8
  import { PolicySource, SettingScope } from './gen/sandbox_pb.js';
9
+ import { ProviderClient } from './providers.js';
9
10
  import { validateSshResponse } from './ssh-validate.js';
10
11
  import { buildTransport } from './transport.js';
11
12
  function durationFromSeconds(seconds) {
@@ -14,12 +15,24 @@ function durationFromSeconds(seconds) {
14
15
  }
15
16
  return seconds === 0 ? undefined : durationFromMs(seconds * 1000);
16
17
  }
18
+ // Distinct from timestampMillis(): LogLine/PlatformEvent timestamps are
19
+ // always-present numbers that default to 0 when absent or unrepresentable,
20
+ // not an optional string field like expiresAtMs.
21
+ function eventTimeMillis(timestamp) {
22
+ if (!timestamp)
23
+ return 0;
24
+ return Number(timestamp.seconds * 1000n + BigInt(Math.trunc(timestamp.nanos / 1_000_000)));
25
+ }
17
26
  function timestampMillis(timestamp) {
18
27
  if (!timestamp)
19
28
  return undefined;
20
29
  const millis = timestamp.seconds * 1000n + BigInt(Math.trunc(timestamp.nanos / 1_000_000));
21
30
  return millis === 0n ? undefined : millis.toString();
22
31
  }
32
+ function timestampEpochMs(timestamp) {
33
+ const millis = timestampMillis(timestamp);
34
+ return millis ? Number(millis) : undefined;
35
+ }
23
36
  export { errorCode };
24
37
  function deletionResult(response) {
25
38
  const names = {
@@ -108,8 +121,6 @@ function sandboxRef(sandbox, serviceUrls = {}) {
108
121
  if (!meta?.id || !meta.name) {
109
122
  throw new SdkError('invalid_config', 'sandbox metadata.id and metadata.name are required in gateway responses');
110
123
  }
111
- const nextRestartAtMs = timestampMillis(sandbox.status?.nextRestartTime);
112
- const mainProcessStartedAtMs = timestampMillis(sandbox.status?.mainProcessStartedTime);
113
124
  return {
114
125
  id: meta.id,
115
126
  name: meta.name,
@@ -128,8 +139,9 @@ function sandboxRef(sandbox, serviceUrls = {}) {
128
139
  : undefined,
129
140
  serviceUrls,
130
141
  restartCount: sandbox.status?.restartCount ?? 0,
131
- nextRestartAtMs: nextRestartAtMs ? Number(nextRestartAtMs) : undefined,
132
- mainProcessStartedAtMs: mainProcessStartedAtMs ? Number(mainProcessStartedAtMs) : undefined,
142
+ createdAtMs: timestampEpochMs(meta.createdTime),
143
+ nextRestartAtMs: timestampEpochMs(sandbox.status?.nextRestartTime),
144
+ mainProcessStartedAtMs: timestampEpochMs(sandbox.status?.mainProcessStartedTime),
133
145
  };
134
146
  }
135
147
  function sandboxTemplate(template) {
@@ -256,6 +268,91 @@ function waitSleep(delayMs, deadline, signal) {
256
268
  signal.addEventListener('abort', onAbort, { once: true });
257
269
  });
258
270
  }
271
+ // Reconnect backoff for watchLogs: uncapped deadline, just a capped delay
272
+ // interruptible by the caller signal. Distinct from waitSleep, which is
273
+ // deadline-bounded for poll loops.
274
+ function defaultWatchLogsBackoffSleep(delayMs, signal) {
275
+ return new Promise((resolve, reject) => {
276
+ const timer = setTimeout(() => {
277
+ signal?.removeEventListener('abort', onAbort);
278
+ resolve();
279
+ }, delayMs);
280
+ const onAbort = () => {
281
+ clearTimeout(timer);
282
+ reject(new SdkError('canceled', 'watchLogs aborted'));
283
+ };
284
+ if (signal)
285
+ signal.addEventListener('abort', onAbort, { once: true });
286
+ });
287
+ }
288
+ let watchLogsBackoffSleep = defaultWatchLogsBackoffSleep;
289
+ /**
290
+ * Test-only seam for the `watchLogs` reconnect backoff delay. Not part of the
291
+ * public API surface — not re-exported from index.ts. Call with no argument
292
+ * to restore the real timer-based sleep.
293
+ */
294
+ export function __setWatchLogsBackoffSleepForTests(fn) {
295
+ watchLogsBackoffSleep = fn ?? defaultWatchLogsBackoffSleep;
296
+ }
297
+ // Only Unavailable (connection drop, gateway restart) is retryable. Every
298
+ // other status — including OUT_OF_RANGE — is terminal so the caller sees it
299
+ // instead of the loop silently restarting from an empty cursor and hiding a gap.
300
+ function isRetryableWatchLogsError(err) {
301
+ return err.connectCode === Code.Unavailable;
302
+ }
303
+ function toLogLine(value) {
304
+ return {
305
+ sandboxId: value.sandboxId,
306
+ timestampMs: eventTimeMillis(value.eventTime),
307
+ level: value.level,
308
+ target: value.target,
309
+ message: value.message,
310
+ source: value.source || 'gateway',
311
+ fields: { ...value.fields },
312
+ };
313
+ }
314
+ function toPlatformEvent(value) {
315
+ return {
316
+ timestampMs: eventTimeMillis(value.eventTime),
317
+ source: value.source,
318
+ type: value.type,
319
+ reason: value.reason,
320
+ message: value.message,
321
+ metadata: { ...value.metadata },
322
+ };
323
+ }
324
+ // Converts one wire watch event into a curated WatchEvent, returning the
325
+ // (possibly advanced) cursor alongside it. `cursor` is a high-water mark, not
326
+ // "last seen": the gateway reads the log and platform sources independently
327
+ // during live delivery, so arrival order can differ from cursor order. Taking
328
+ // the max keeps the resume point monotonic; assigning directly would let a
329
+ // later lower-cursor event rewind it and replay already-delivered events after
330
+ // a reconnect. The comparison is a plain byte-wise string compare on an opaque
331
+ // token — well defined only because both cursors come from the same stream.
332
+ function convertWatchEvent(wireEvent, cursor) {
333
+ switch (wireEvent.payload.case) {
334
+ case 'log': {
335
+ const next = wireEvent.cursor > cursor ? wireEvent.cursor : cursor;
336
+ return {
337
+ event: { kind: 'log', line: toLogLine(wireEvent.payload.value), cursor: wireEvent.cursor },
338
+ cursor: next,
339
+ };
340
+ }
341
+ case 'event': {
342
+ const next = wireEvent.cursor > cursor ? wireEvent.cursor : cursor;
343
+ return {
344
+ event: { kind: 'event', event: toPlatformEvent(wireEvent.payload.value), cursor: wireEvent.cursor },
345
+ cursor: next,
346
+ };
347
+ }
348
+ case 'warning':
349
+ return { event: { kind: 'warning', message: wireEvent.payload.value.message }, cursor };
350
+ default:
351
+ // Sandbox snapshots and draft-policy updates are not part of this
352
+ // curated log/event stream.
353
+ return { cursor };
354
+ }
355
+ }
259
356
  // Wait for a socket to drain before writing more. Resolves on 'drain', and
260
357
  // also on 'close'/'error' so a pending await never leaks when the socket is
261
358
  // torn down mid-backpressure; short-circuits if it is already gone.
@@ -802,6 +899,85 @@ export class SandboxClient {
802
899
  stderr: Buffer.concat(stderr),
803
900
  };
804
901
  }
902
+ /**
903
+ * Watch a sandbox's log lines and platform events with loss-aware resume.
904
+ *
905
+ * Reconnects transparently on a transient stream drop, resuming from the
906
+ * highest cursor already delivered. A recoverable server-side lag surfaces
907
+ * as a `{ kind: 'warning' }` item and the stream continues.
908
+ *
909
+ * An `SdkError` with `connectCode === Code.OutOfRange` is terminal and not
910
+ * retried: the resume point is gone (trimmed from the buffer, or issued by a
911
+ * cursor space the gateway no longer has), so events between it and now are
912
+ * unrecoverable. Auto-restarting from scratch would hide that loss, which is
913
+ * exactly what this method exists to surface. Callers who accept the gap can
914
+ * start a new watch with an empty `resumeAfterCursor`; retrying the same
915
+ * cursor fails identically.
916
+ */
917
+ async *watchLogs(name, options) {
918
+ let ref;
919
+ try {
920
+ ref = await this.get(name, {
921
+ workspace: options?.workspace,
922
+ ...(options?.signal ? { signal: options.signal } : {}),
923
+ });
924
+ }
925
+ catch (e) {
926
+ throw e instanceof SdkError ? e : fromConnect(e);
927
+ }
928
+ const signal = options?.signal;
929
+ let followLogs = options?.followLogs ?? false;
930
+ const followEvents = options?.followEvents ?? false;
931
+ // With both resolved false — whether from an explicit `false` or from
932
+ // omitting both options — the request would stream nothing and never
933
+ // complete or error. Mirror the Go SDK's guard and default to logs, since
934
+ // that footgun is worse than this one-line divergence from Rust's bare
935
+ // pass-through default.
936
+ if (!followLogs && !followEvents)
937
+ followLogs = true;
938
+ let cursor = options?.resumeAfterCursor ?? '';
939
+ let backoffMs = 100;
940
+ for (;;) {
941
+ if (signal?.aborted)
942
+ throw new SdkError('canceled', 'watchLogs aborted');
943
+ // connect-es returns this AsyncIterable synchronously and unconditionally;
944
+ // the stream only opens on first iteration, so "dial" and "drain" failures
945
+ // both land in the single catch below (unlike tonic's separate Result).
946
+ const stream = this.grpc.watchSandbox({
947
+ ...sandboxTarget(ref.name, options),
948
+ followStatus: false,
949
+ followLogs,
950
+ followEvents,
951
+ logTailLines: options?.logTailLines ?? 0,
952
+ eventTail: options?.eventTail ?? 0,
953
+ logSources: options?.logSources ?? [],
954
+ logMinLevel: options?.logMinLevel ?? '',
955
+ resumeAfterCursor: cursor,
956
+ }, { signal });
957
+ let cleanEof = true;
958
+ try {
959
+ for await (const wireEvent of stream) {
960
+ // A delivered event means the connection is healthy again; reset the
961
+ // backoff so a later drop retries promptly instead of at the cap.
962
+ backoffMs = 100;
963
+ const converted = convertWatchEvent(wireEvent, cursor);
964
+ cursor = converted.cursor;
965
+ if (converted.event)
966
+ yield converted.event;
967
+ }
968
+ }
969
+ catch (e) {
970
+ cleanEof = false;
971
+ const err = e instanceof SdkError ? e : fromConnect(e);
972
+ if (!isRetryableWatchLogsError(err))
973
+ throw err;
974
+ await watchLogsBackoffSleep(backoffMs, signal);
975
+ backoffMs = Math.min(backoffMs * 2, 2000);
976
+ }
977
+ if (cleanEof)
978
+ break;
979
+ }
980
+ }
805
981
  // TTY + stdin transport half of an interactive exec. The first client frame
806
982
  // is the `start` variant carrying the exec request; subsequent frames are
807
983
  // `stdin`/`resize`. No terminal glue: raw mode, signal forwarding, and
@@ -1315,6 +1491,8 @@ export class OpenShellClient {
1315
1491
  sandbox;
1316
1492
  /** Reusable sandbox workload template lifecycle. */
1317
1493
  sandboxTemplates;
1494
+ /** Privileged provider credential retrieval; requires direct operator mTLS. */
1495
+ providers;
1318
1496
  /**
1319
1497
  * Advanced escape hatch: a generated client for every gateway RPC, including
1320
1498
  * surface the curated sub-clients do not wrap yet (gateway config, provider
@@ -1332,6 +1510,7 @@ export class OpenShellClient {
1332
1510
  this.raw = this.grpc;
1333
1511
  this.sandbox = new SandboxClient(transport, this.grpc);
1334
1512
  this.sandboxTemplates = new SandboxTemplateClient(transport, this.grpc);
1513
+ this.providers = new ProviderClient(transport);
1335
1514
  }
1336
1515
  /**
1337
1516
  * Constructs a lazy Connect client. No network request is made until the