@workflow/cli 5.0.0-beta.0 → 5.0.0-beta.2

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/base.js +1 -1
  3. package/dist/base.js.map +1 -1
  4. package/dist/commands/build.js.map +1 -1
  5. package/dist/commands/cancel.js.map +1 -1
  6. package/dist/commands/dev.js.map +1 -1
  7. package/dist/commands/health.js.map +1 -1
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/inspect.js.map +1 -1
  10. package/dist/commands/start.js.map +1 -1
  11. package/dist/commands/transform.js.map +1 -1
  12. package/dist/commands/validate.js.map +1 -1
  13. package/dist/commands/web.js.map +1 -1
  14. package/dist/lib/config/log.js.map +1 -1
  15. package/dist/lib/config/types.js.map +1 -1
  16. package/dist/lib/config/workflow-config.js +3 -3
  17. package/dist/lib/config/workflow-config.js.map +1 -1
  18. package/dist/lib/inspect/auth.js.map +1 -1
  19. package/dist/lib/inspect/env.js.map +1 -1
  20. package/dist/lib/inspect/flags.js.map +1 -1
  21. package/dist/lib/inspect/hydration.d.ts.map +1 -1
  22. package/dist/lib/inspect/hydration.js +9 -2
  23. package/dist/lib/inspect/hydration.js.map +1 -1
  24. package/dist/lib/inspect/output.d.ts +8 -1
  25. package/dist/lib/inspect/output.d.ts.map +1 -1
  26. package/dist/lib/inspect/output.js +16 -8
  27. package/dist/lib/inspect/output.js.map +1 -1
  28. package/dist/lib/inspect/output.test.d.ts +2 -0
  29. package/dist/lib/inspect/output.test.d.ts.map +1 -0
  30. package/dist/lib/inspect/output.test.js +52 -0
  31. package/dist/lib/inspect/output.test.js.map +1 -0
  32. package/dist/lib/inspect/pagination.js.map +1 -1
  33. package/dist/lib/inspect/run.js.map +1 -1
  34. package/dist/lib/inspect/setup.js +3 -3
  35. package/dist/lib/inspect/setup.js.map +1 -1
  36. package/dist/lib/inspect/stream.js.map +1 -1
  37. package/dist/lib/inspect/terminal-utils.js.map +1 -1
  38. package/dist/lib/inspect/vercel-api.js.map +1 -1
  39. package/dist/lib/inspect/vercel-link.js.map +1 -1
  40. package/dist/lib/inspect/web.js.map +1 -1
  41. package/dist/lib/update-check.js.map +1 -1
  42. package/package.json +10 -10
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { inspect } from 'node:util';
8
8
  import { maybeDecrypt } from '@workflow/core/serialization';
9
- import { ClassInstanceRef, extractClassName, hydrateResourceIO as hydrateResourceIOGeneric, isEncryptedData, isExpiredStub, observabilityRevivers, } from '@workflow/core/serialization-format';
9
+ import { ClassInstanceRef, extractClassName, hydrateResourceIO as hydrateResourceIOGeneric, isEncryptedData, isExpiredStub, isRunRef, observabilityRevivers, serializedInstanceToRef, } from '@workflow/core/serialization-format';
10
10
  import { parseClassName } from '@workflow/utils/parse-name';
11
11
  import chalk from 'chalk';
12
12
  // Re-export types and utilities that consumers need
@@ -152,7 +152,14 @@ export function getCLIRevivers() {
152
152
  ...observabilityRevivers,
153
153
  // CLI-specific overrides for class instances with inspect.custom
154
154
  Class: (value) => `<class:${extractClassName(value.classId)}>`,
155
- Instance: (value) => new CLIClassInstanceRef(extractClassName(value.classId), value.classId, value.data),
155
+ Instance: (value) => {
156
+ // Run instances are rendered as RunRef for clickable rendering
157
+ const runRef = serializedInstanceToRef(value);
158
+ if (isRunRef(runRef)) {
159
+ return runRef;
160
+ }
161
+ return new CLIClassInstanceRef(extractClassName(value.classId), value.classId, value.data);
162
+ },
156
163
  Set: (value) => new Set(value),
157
164
  URL: (value) => new URL(value),
158
165
  URLSearchParams: (value) => new URLSearchParams(value === '.' ? '' : value),
@@ -1 +1 @@
1
- {"version":3,"file":"hydration.js","sourceRoot":"","sources":["../../../src/lib/inspect/hydration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydration.js","sourceRoot":"","sources":["../../../src/lib/inspect/hydration.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * CLI-specific hydration for o11y display.\n *\n * Node.js revivers that use `Buffer.from()` for base64 decoding and add\n * `util.inspect.custom` to ClassInstanceRef for pretty CLI output.\n */\n\nimport { inspect } from 'node:util';\nimport { maybeDecrypt } from '@workflow/core/serialization';\nimport {\n ClassInstanceRef,\n extractClassName,\n hydrateResourceIO as hydrateResourceIOGeneric,\n isEncryptedData,\n isExpiredStub,\n isRunRef,\n observabilityRevivers,\n type Revivers,\n serializedInstanceToRef,\n} from '@workflow/core/serialization-format';\nimport { parseClassName } from '@workflow/utils/parse-name';\nimport chalk from 'chalk';\n\n/**\n * A function that resolves an encryption key for a run, or null to skip\n * decryption. Accepts a runId — the resolver is responsible for looking\n * up the WorkflowRun internally (with caching) if the World needs it.\n */\nexport type EncryptionKeyResolver =\n | ((runId: string) => Promise<Uint8Array | undefined>)\n | null;\n\n// Re-export types and utilities that consumers need\nexport {\n CLASS_INSTANCE_REF_TYPE,\n ClassInstanceRef,\n ENCRYPTED_PLACEHOLDER,\n extractStreamIds,\n isClassInstanceRef,\n isEncryptedData,\n isStreamId,\n isStreamRef,\n type Revivers,\n STREAM_REF_TYPE,\n type StreamRef,\n truncateId,\n} from '@workflow/core/serialization-format';\n\n// ---------------------------------------------------------------------------\n// CLI ClassInstanceRef with inspect.custom\n// ---------------------------------------------------------------------------\n\n/**\n * Extended ClassInstanceRef with Node.js `util.inspect.custom` for\n * pretty CLI output: `ClassName@filename { ...data }`\n */\nclass CLIClassInstanceRef extends ClassInstanceRef {\n [inspect.custom](\n _depth: number,\n options: import('node:util').InspectOptionsStylized\n ): string {\n const dataStr = inspect(this.data, { ...options, depth: options.depth });\n const parsed = parseClassName(this.classId);\n const moduleSpecifier = parsed?.moduleSpecifier ?? this.classId;\n const fileName = moduleSpecifier.split('/').pop() ?? moduleSpecifier;\n const styledFileName = options.stylize\n ? options.stylize(`@${fileName}`, 'undefined')\n : `@${fileName}`;\n return `${this.className}${styledFileName} ${dataStr}`;\n }\n}\n\n// ---------------------------------------------------------------------------\n// CLI encrypted data placeholder with custom inspect\n// ---------------------------------------------------------------------------\n\n/**\n * Placeholder object for encrypted data fields in CLI output.\n *\n * Uses `util.inspect.custom` to render as a styled, unquoted string\n * (e.g., dim yellow \"🔒 Encrypted\") instead of a plain quoted string.\n * Also provides `toJSON()` for `--json` output.\n */\nclass EncryptedDataRef {\n [inspect.custom](): string {\n return chalk.dim.yellow('\\u{1F512} Encrypted');\n }\n\n toJSON(): string {\n return '\\u{1F512} Encrypted';\n }\n\n toString(): string {\n return '\\u{1F512} Encrypted';\n }\n}\n\n/** Singleton encrypted data placeholder for CLI display */\nconst ENCRYPTED_REF = new EncryptedDataRef();\n\n/** Check if a value is an EncryptedDataRef (for custom table formatting in CLI) */\nexport function isEncryptedRef(value: unknown): value is EncryptedDataRef {\n return value instanceof EncryptedDataRef;\n}\n\n// ---------------------------------------------------------------------------\n// CLI expired data placeholder with custom inspect\n// ---------------------------------------------------------------------------\n\n/**\n * Placeholder object for expired data fields in CLI output.\n *\n * Uses `util.inspect.custom` to render as a styled, unquoted string\n * (e.g., dim gray \"<data expired>\") instead of a raw stub object.\n * Also provides `toJSON()` for `--json` output.\n */\nclass ExpiredDataRef {\n [inspect.custom](): string {\n return chalk.gray('<data expired>');\n }\n\n toJSON(): string {\n return '<data expired>';\n }\n\n toString(): string {\n return '<data expired>';\n }\n}\n\n/** Singleton expired data placeholder for CLI display */\nconst EXPIRED_REF = new ExpiredDataRef();\n\n/** Check if a value is an ExpiredDataRef (for custom table formatting in CLI) */\nexport function isExpiredRef(value: unknown): value is ExpiredDataRef {\n return value instanceof ExpiredDataRef;\n}\n\n// ---------------------------------------------------------------------------\n// CLI revivers (Node.js, uses Buffer)\n// ---------------------------------------------------------------------------\n\nexport function getCLIRevivers(): Revivers {\n function reviveArrayBuffer(value: string): ArrayBuffer {\n const base64 = value === '.' ? '' : value;\n const buffer = Buffer.from(base64, 'base64');\n const arrayBuffer = new ArrayBuffer(buffer.length);\n const uint8Array = new Uint8Array(arrayBuffer);\n uint8Array.set(buffer);\n return arrayBuffer;\n }\n\n return {\n ArrayBuffer: reviveArrayBuffer,\n BigInt: (value: string) => BigInt(value),\n BigInt64Array: (value: string) =>\n new BigInt64Array(reviveArrayBuffer(value)),\n BigUint64Array: (value: string) =>\n new BigUint64Array(reviveArrayBuffer(value)),\n Date: (value) => new Date(value),\n Error: (value) => {\n const error = new Error(value.message);\n error.name = value.name;\n error.stack = value.stack;\n return error;\n },\n Float32Array: (value: string) => new Float32Array(reviveArrayBuffer(value)),\n Float64Array: (value: string) => new Float64Array(reviveArrayBuffer(value)),\n Headers: (value) => new Headers(value),\n Request: (value) => {\n // biome-ignore lint/complexity/useArrowFunction: arrow functions have no .prototype\n const ctor = { Request: function () {} }.Request!;\n const obj = Object.create(ctor.prototype);\n Object.assign(obj, {\n method: value.method,\n url: value.url,\n headers: new Headers(value.headers),\n body: value.body,\n duplex: value.duplex,\n ...(value.responseWritable\n ? { responseWritable: value.responseWritable }\n : {}),\n });\n return obj;\n },\n Response: (value) => {\n // biome-ignore lint/complexity/useArrowFunction: arrow functions have no .prototype\n const ctor = { Response: function () {} }.Response!;\n const obj = Object.create(ctor.prototype);\n Object.assign(obj, {\n status: value.status,\n statusText: value.statusText,\n url: value.url,\n headers: new Headers(value.headers),\n body: value.body,\n redirected: value.redirected,\n type: value.type,\n });\n return obj;\n },\n Int8Array: (value: string) => new Int8Array(reviveArrayBuffer(value)),\n Int16Array: (value: string) => new Int16Array(reviveArrayBuffer(value)),\n Int32Array: (value: string) => new Int32Array(reviveArrayBuffer(value)),\n Map: (value) => new Map(value),\n RegExp: (value) => new RegExp(value.source, value.flags),\n // O11y-specific revivers (streams, step functions → display objects).\n // Spread FIRST so CLI-specific overrides below take precedence.\n ...observabilityRevivers,\n // CLI-specific overrides for class instances with inspect.custom\n Class: (value) => `<class:${extractClassName(value.classId)}>`,\n Instance: (value) => {\n // Run instances are rendered as RunRef for clickable rendering\n const runRef = serializedInstanceToRef(value);\n if (isRunRef(runRef)) {\n return runRef;\n }\n return new CLIClassInstanceRef(\n extractClassName(value.classId),\n value.classId,\n value.data\n );\n },\n Set: (value) => new Set(value),\n URL: (value) => new URL(value),\n URLSearchParams: (value) => new URLSearchParams(value === '.' ? '' : value),\n Uint8Array: (value: string) => new Uint8Array(reviveArrayBuffer(value)),\n Uint8ClampedArray: (value: string) =>\n new Uint8ClampedArray(reviveArrayBuffer(value)),\n Uint16Array: (value: string) => new Uint16Array(reviveArrayBuffer(value)),\n Uint32Array: (value: string) => new Uint32Array(reviveArrayBuffer(value)),\n };\n}\n\n// ---------------------------------------------------------------------------\n// Pre-built CLI revivers (cached)\n// ---------------------------------------------------------------------------\n\nlet cachedRevivers: Revivers | null = null;\n\nfunction getRevivers(): Revivers {\n if (!cachedRevivers) {\n cachedRevivers = getCLIRevivers();\n }\n return cachedRevivers;\n}\n\n// ---------------------------------------------------------------------------\n// Decryption helpers\n// ---------------------------------------------------------------------------\n\n/**\n * Pre-process a resource's data fields: if the resolver is provided and\n * the field is encrypted, decrypt it before generic hydration.\n *\n * Uses core's `maybeDecrypt()` which handles the 'encr' prefix stripping\n * and AES-GCM decryption transparently.\n *\n * When the resolver is null (no --decrypt flag), encrypted fields pass\n * through as Uint8Array and are replaced with EncryptedDataRef in post-processing.\n */\nasync function maybeDecryptFields<\n T extends {\n runId?: string;\n input?: any;\n output?: any;\n metadata?: any;\n eventData?: any;\n },\n>(resource: T, resolver: EncryptionKeyResolver): Promise<T> {\n if (!resolver) return resource;\n\n const runId = (resource as any).runId as string | undefined;\n if (!runId) return resource;\n\n const result = { ...resource };\n\n try {\n const rawKey = await resolver(runId);\n const { importKey } = await import('@workflow/core/encryption');\n const k = rawKey ? await importKey(rawKey) : undefined;\n\n // Decrypt input/output/error fields (WorkflowRun, Step)\n result.input = await maybeDecrypt(result.input, k);\n result.output = await maybeDecrypt(result.output, k);\n (result as any).error = await maybeDecrypt((result as any).error, k);\n\n // Decrypt metadata field (Hook)\n result.metadata = await maybeDecrypt(result.metadata, k);\n\n // Decrypt eventData fields (Event)\n if (result.eventData && typeof result.eventData === 'object') {\n const eventData = { ...result.eventData };\n for (const field of [\n 'result',\n 'input',\n 'output',\n 'metadata',\n 'payload',\n ]) {\n eventData[field] = await maybeDecrypt(eventData[field], k);\n }\n result.eventData = eventData;\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n\n // If the key fetch failed due to an HTTP error (e.g. 429 rate limit,\n // 500 server error), re-throw so the caller surfaces a clear failure\n // instead of silently showing encrypted placeholders.\n if (message.includes('HTTP ')) {\n throw err;\n }\n\n // Decryption failed (bad key, corrupted ciphertext, etc.) — fall back\n // to showing encrypted placeholders instead of crashing the CLI.\n const { logger } = await import('../config/log.js');\n logger.warn(`Decryption failed for resource ${runId}: ${message}`);\n }\n\n return result;\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/** Replace a single field value with a display ref if it's encrypted or expired. */\nfunction toDisplayRef(value: unknown): unknown {\n if (isEncryptedData(value)) return ENCRYPTED_REF;\n if (isExpiredStub(value)) return EXPIRED_REF;\n return value;\n}\n\n/**\n * Replace encrypted Uint8Array values and expired stubs with styled\n * ref objects in known data fields for custom inspect rendering.\n */\nfunction replaceEncryptedAndExpiredWithRef<T>(resource: T): T {\n if (!resource || typeof resource !== 'object') return resource;\n const r = resource as Record<string, unknown>;\n const result = { ...r };\n\n for (const key of ['input', 'output', 'metadata', 'error']) {\n result[key] = toDisplayRef(result[key]);\n }\n\n if (result.eventData && typeof result.eventData === 'object') {\n const ed = { ...(result.eventData as Record<string, unknown>) };\n for (const key of ['result', 'input', 'output', 'metadata', 'payload']) {\n ed[key] = toDisplayRef(ed[key]);\n }\n result.eventData = ed;\n }\n\n return result as T;\n}\n\n/**\n * Hydrate the serialized data fields of a resource for CLI display.\n *\n * When `encryptorResolver` is null (default / no --decrypt flag), encrypted\n * fields are shown as styled \"🔒 Encrypted\" placeholders via EncryptedDataRef.\n *\n * When `encryptorResolver` is provided (--decrypt flag), encrypted fields\n * are decrypted before hydration so the actual user data is displayed.\n */\nexport async function hydrateResourceIO<T>(\n resource: T,\n keyResolver?: EncryptionKeyResolver\n): Promise<T> {\n // Pre-process: decrypt any encrypted fields when a resolver is provided\n const preprocessed = await maybeDecryptFields(\n resource as any,\n keyResolver ?? null\n );\n const hydrated = hydrateResourceIOGeneric(preprocessed, getRevivers()) as T;\n // Post-process: swap encrypted Uint8Arrays and expired stubs for CLI-styled objects\n return replaceEncryptedAndExpiredWithRef(hydrated);\n}\n"]}
@@ -1,5 +1,12 @@
1
- import type { WorkflowRunWithoutData, World } from '@workflow/world';
1
+ import type { WorkflowRun, WorkflowRunWithoutData, World } from '@workflow/world';
2
2
  import type { InspectCLIOptions } from '../config/types.js';
3
+ import { getDisplaySettings } from './terminal-utils.js';
4
+ export declare const formatTableValue: (prop: string, value: unknown, opts?: InspectCLIOptions, displaySettings?: ReturnType<typeof getDisplaySettings>, item?: Record<string, unknown>) => unknown;
5
+ /**
6
+ * Checks if a run has expired data storage (run-level expiredAt field).
7
+ * Only returns true when `expiredAt` is in the past.
8
+ */
9
+ export declare const hasExpiredData: (run: WorkflowRun) => boolean;
3
10
  export declare const listRuns: (world: World, opts?: InspectCLIOptions) => Promise<void>;
4
11
  export declare const getRecentRun: (world: World, opts?: InspectCLIOptions) => Promise<WorkflowRunWithoutData>;
5
12
  export declare const showRun: (world: World, runId: string, opts?: InspectCLIOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/output.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAQV,sBAAsB,EACtB,KAAK,EACN,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAohB5D,eAAO,MAAM,QAAQ,GAAU,OAAO,KAAK,EAAE,OAAM,iBAAsB,kBA8ExE,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,KAAK,EACZ,OAAM,iBAAsB,oCAoB7B,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,OAAM,iBAAsB,kBA2B7B,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,OAAO,KAAK,EACZ,OAAM,iBAEL,kBA2FF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,OAAM,iBAAsB,kBA+C7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,MAAM,EAChB,OAAM,iBAAsB,kBAwC7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,EACZ,OAAM,iBAAsB,kBAgD7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,OAAM,iBAAsB,kBA2F7B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,OAAO,KAAK,EAAE,OAAM,iBAAsB,kBAuFzE,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,OAAM,iBAAsB,kBA+B7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,OAAM,iBAAsB,kBAsH7B,CAAC"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/output.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAOV,WAAW,EACX,sBAAsB,EACtB,KAAK,EACN,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAiC5D,OAAO,EAGL,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAuN7B,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,OAAO,OAAO,EACd,OAAM,iBAAsB,EAC5B,kBAAkB,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACvD,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAsE/B,CAAC;AA8IF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,WAAW,KAAG,OAMjD,CAAC;AA4DF,eAAO,MAAM,QAAQ,GAAU,OAAO,KAAK,EAAE,OAAM,iBAAsB,kBA8ExE,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,KAAK,EACZ,OAAM,iBAAsB,oCAoB7B,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,OAAM,iBAAsB,kBA2B7B,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,OAAO,KAAK,EACZ,OAAM,iBAEL,kBA2FF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,OAAM,iBAAsB,kBA+C7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,MAAM,EAChB,OAAM,iBAAsB,kBA2C7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,EACZ,OAAM,iBAAsB,kBAgD7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,OAAM,iBAAsB,kBA2F7B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,OAAO,KAAK,EAAE,OAAM,iBAAsB,kBAuFzE,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,OAAM,iBAAsB,kBA+B7B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,OAAM,iBAAsB,kBAsH7B,CAAC"}
@@ -193,7 +193,7 @@ const formatIdField = (prop, value, shouldTruncateIds) => {
193
193
  }
194
194
  return idStr;
195
195
  };
196
- const formatTableValue = (prop, value, opts = {}, displaySettings, item) => {
196
+ export const formatTableValue = (prop, value, opts = {}, displaySettings, item) => {
197
197
  const namesTruncate = displaySettings?.namesTruncateLength ?? 40;
198
198
  const shouldTruncateIds = displaySettings?.truncateIdsToLastChars ?? false;
199
199
  // Handle IDs with potential truncation
@@ -219,8 +219,10 @@ const formatTableValue = (prop, value, opts = {}, displaySettings, item) => {
219
219
  return chalk.blue.blueBright(truncatedName);
220
220
  }
221
221
  if (prop === 'output' || prop === 'input' || prop === 'error') {
222
- // Check if data has expired
223
- if (item && 'expiredAt' in item && item.expiredAt != null) {
222
+ if (item &&
223
+ 'expiredAt' in item &&
224
+ item.expiredAt != null &&
225
+ new Date(item.expiredAt) < new Date()) {
224
226
  return EXPIRED_DATA_MESSAGE;
225
227
  }
226
228
  return inlineFormatIO(value);
@@ -342,10 +344,13 @@ const showInspectInfoBox = (resource) => {
342
344
  };
343
345
  const EXPIRED_DATA_MESSAGE = chalk.gray('<data expired>');
344
346
  /**
345
- * Checks if a run has expired data storage (run-level expiredAt field)
347
+ * Checks if a run has expired data storage (run-level expiredAt field).
348
+ * Only returns true when `expiredAt` is in the past.
346
349
  */
347
- const hasExpiredData = (run) => {
348
- return 'expiredAt' in run && run.expiredAt != null;
350
+ export const hasExpiredData = (run) => {
351
+ return ('expiredAt' in run &&
352
+ run.expiredAt != null &&
353
+ new Date(run.expiredAt) < new Date());
349
354
  };
350
355
  /**
351
356
  * Checks if any data field in a hydrated resource has been replaced with an
@@ -646,7 +651,10 @@ export const showStream = async (world, streamId, opts = {}) => {
646
651
  if (opts.stepId) {
647
652
  logger.warn('Filtering by step-id is not supported when showing a stream, ignoring filter.');
648
653
  }
649
- const rawStream = await world.readFromStream(streamId);
654
+ if (!opts.runId) {
655
+ throw new Error('--run is required when showing a stream');
656
+ }
657
+ const rawStream = await world.streams.get(opts.runId, streamId);
650
658
  // Only resolve the encryption key when --decrypt is passed and --run is provided.
651
659
  // We fetch the full WorkflowRun object so that getEncryptionKeyForRun has
652
660
  // access to the deploymentId (needed for API-based key resolution).
@@ -694,7 +702,7 @@ export const listStreamsByRunId = async (world, opts = {}) => {
694
702
  runId = run.runId;
695
703
  }
696
704
  try {
697
- const streamIds = await world.listStreamsByRunId(runId);
705
+ const streamIds = await world.streams.list(runId);
698
706
  const matchingStreams = streamIds.map((streamId) => ({
699
707
  runId,
700
708
  streamId,
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/lib/inspect/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAY9E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAY,EAAE,OAAgB;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2C,CAAC;IACjE,OAAO,CAAC,KAAa,EAAE,EAAE;QACvB,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,KAAK,CAAC,IAAI;iBAChB,GAAG,CAAC,KAAK,CAAC;iBACV,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,sBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,YAAY,IAAI,kBAAkB,EAClC,kBAAkB,EAClB,gBAAgB,EAChB,IAAI,GACL,MAAM,qBAAqB,CAAC;AAE7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,IAAI,wBAAwB,GAAG,EAAE,CAAC,CAAC,2CAA2C;AAE9E,MAAM,qBAAqB,GAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEzE,MAAM,aAAa,GAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE1D,MAAM,yBAAyB,GAA0B;IACvD,OAAO;IACP,cAAc;IACd,QAAQ;IACR,WAAW;IACX,aAAa;IACb,GAAG,qBAAqB;CACzB,CAAC;AAEF,MAAM,iBAAiB,GAAmB;IACxC,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,WAAW;IACX,aAAa;IACb,GAAG,aAAa;CACjB,CAAC;AAEF,MAAM,cAAc,GAAkC,CAAC,WAAW,CAAC,CAAC;AAEpE,MAAM,kBAAkB,GAAkC;IACxD,SAAS;IACT,WAAW;IACX,eAAe;IACf,WAAW;IACX,GAAG,cAAc;CAClB,CAAC;AAEF,2EAA2E;AAE3E,MAAM,iBAAiB,GAAmC;IACxD,OAAO;IACP,QAAQ;IACR,SAAS;IACT,WAAW;IACX,sBAAsB;CACvB,CAAC;AAWF,MAAM,iBAAiB,GAAoB;IACzC,eAAe;IACf,SAAS;IACT,WAAW;IACX,UAAU;IACV,aAAa;CACd,CAAC;AAEF,MAAM,aAAa,GAGf;IACF,OAAO,EAAE,KAAK,CAAC,IAAI;IACnB,SAAS,EAAE,KAAK,CAAC,KAAK;IACtB,MAAM,EAAE,KAAK,CAAC,GAAG;IACjB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM;IACrC,OAAO,EAAE,KAAK,CAAC,IAAI;CACpB,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAkD;QAC9D,SAAS;QACT,WAAW;QACX,QAAQ;QACR,WAAW;QACX,SAAS;KACV,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CACtC,KAAc,EACd,OAAgB,EACP,EAAE;IACX,IAAI,OAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,GAA4B,EACR,EAAE;IACtB,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAW,EAAE;IACnE,uCAAuC;IACvC,IAAI,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAgC,CAAC;QAE7C,yBAAyB;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,MAAM,KAAK,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAU,EAAE;IAC/C,MAAM,WAAW,GAA2B;QAC1C,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,mBAAmB;QACxB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,qBAAqB;KAC3B,CAAC;IACF,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE;IACvE,OAAO,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,aAAqB,EACrB,cAAsB,EACtB,OAAgB,EACR,EAAE;IACV,MAAM,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAC1E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,KAAc,EACd,iBAA0B,EACN,EAAE;IACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,IAAY,EACZ,KAAc,EACd,OAA0B,EAAE,EAC5B,eAAuD,EACvD,IAA8B,EAC9B,EAAE;IACF,MAAM,aAAa,GAAG,eAAe,EAAE,mBAAmB,IAAI,EAAE,CAAC;IACjE,MAAM,iBAAiB,GAAG,eAAe,EAAE,sBAAsB,IAAI,KAAK,CAAC;IAE3E,uCAAuC;IACvC,IACE;QACE,UAAU;QACV,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,eAAe;QACf,SAAS;KACV,CAAC,QAAQ,CAAC,IAAI,CAAC,EAChB,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,IAAI,GAAG,CAAC;QACrE,OAAO,eAAe,CACpB,aAAa,EACb,aAAa,EACb,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC3B,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,IAAI,GAAG,CAAC;QACzE,MAAM,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9D,4BAA4B;QAC5B,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC1D,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,KAA+C,CAAC;QAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,eAAe,GAAG,eAAe,EAAE,gBAAgB;YACvD,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC;QACX,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,KAAe,EACf,eAAsD,EAC5C,EAAE;IACZ,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,IAA+B,EAC/B,KAAe,EACf,OAA0B,EAAE,EAC5B,EAAE;IACF,+CAA+C;IAC/C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,kBAAkB,CACxC,aAAa,EACb,IAAI,CAAC,QAAQ,IAAI,KAAK,EACtB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC1B,CAAC;IAEF,0CAA0C;IAC1C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE7D,uCAAuC;IACvC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;IACxD,wBAAwB,GAAG,eAAe,CAAC,cAAc,CAAC;IAE1D,iDAAiD;IACjD,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;QACf,eAAe,CAAC,gBAAgB;QAChC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC/B,CAAC;QACD,gBAAgB,EAAE,CAAC;IACrB,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,IAAI,eAAe,CAAC,gBAAgB,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,oCAAoC;IACpC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC1B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,mCAAmC;QACnC,wBAAwB,GAAG,sBAAsB,CAAC;QAClD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,KAAK,CAAC,IAAI,CACR,MAAM,EACN,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAC3D,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,mCAAmC;IACnC,wBAAwB,GAAG,sBAAsB,CAAC;IAClD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,EAAE;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAC3B,KAAW,EACX,OAA0B,EAAE,EAC5B,eAAuD,EACvD,EAAE;IACF,kCAAkC;IAClC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAErC,8BAA8B;IAC9B,mBAAmB;IACnB,wDAAwD;IACxD,gDAAgD;IAChD,qBAAqB;IACrB,oCAAoC;IACpC,MAAM,kBAAkB,GACtB,CAAC,IAAI,EAAE;QACP,eAAe,EAAE,iBAAiB,KAAK,KAAK;QAC5C,CAAC,IAAI,CAAC,QAAQ;QACd,CAAC,IAAI,CAAC,IAAI;QACV,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAE7B,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,OAAO,KAAK,QAAQ,GAAG,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,GAAW,EACX,YAAoB,wBAAwB,EAC5C,EAAE;IACF,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS;QAClC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK;QACrC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,QAAgB,CAAC,EAAU,EAAE;IACtE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC9C,MAAM,CAAC,IAAI,CACT,yBAAyB,QAAQ,4BAA4B,QAAQ,SAAS,CAC/E,CAAC;IACF,MAAM,CAAC,IAAI,CACT,gFAAgF,CACjF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,GAAgB,EAAW,EAAE;IACnD,OAAO,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;AACrD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,QAAiC,EAAW,EAAE;IACtE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3D,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAI,EAAK,EAAE,WAAoB,IAAI,EAAU,EAAE;IACpE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;SAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACvB,KAAK,GAAG,QAAQ,CAAC;IACnB,CAAC;SAAM,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,EAAE;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,IAAI,WAAW,CAAC,MAAM,GAAG,wBAAwB,IAAI,QAAQ,EAAE,CAAC;gBAC9D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;YACvB,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,UAAU,CAAC,EAAY,CAAC,EAAE,CAAC;YAC7B,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,IAAK,EAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,KAAK,GAAG,EAAY,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,IAAI,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAY,EAAE,OAA0B,EAAE,EAAE,EAAE;IAC3E,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACT,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;QACzB,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAChD,CAAC;IAEN,8CAA8C;IAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAa;gBAC1B,UAAU,EAAE;oBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;oBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;iBACvC;gBACD,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACvD,CAAC;YACF,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,CAAuC;QAC9D,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAa;oBAC1B,UAAU,EAAE;wBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;wBAC9B,MAAM;wBACN,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;qBACvC;oBACD,WAAW;iBACZ,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAClD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAY,EACZ,OAA0B,EAAE,EAC5B,EAAE;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;YACxD,WAAW,EAAE,MAAM,EAAE,0CAA0C;SAChE,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACvD,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,KAAY,EACZ,KAAa,EACb,OAA0B,EAAE,EAC5B,EAAE;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CACT,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,KAAY,EACZ,OAA0B;IACxB,KAAK,EAAE,SAAS;CACjB,EACD,EAAE;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACtB,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;QACzB,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE,8CAA8C;IAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxC,KAAK;gBACL,UAAU,EAAE;oBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;oBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;iBACvC;gBACD,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAC7D,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,CAAyB;QAChD,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxC,KAAK;oBACL,UAAU,EAAE;wBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;wBAC9B,MAAM;wBACN,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;qBACvC;oBACD,WAAW;iBACZ,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC5B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACnD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAY,EACZ,MAAc,EACd,OAA0B,EAAE,EAC5B,EAAE;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CACV,kGAAkG,CACnG,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE;YAChD,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IACE,gBAAgB,CACd,kBAAwD,CACzD,EACD,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,+EAA+E,CAChF,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,KAAY,EACZ,QAAgB,EAChB,OAA0B,EAAE,EAC5B,EAAE;IACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEvD,kFAAkF;IAClF,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,aAAiC,CAAC;IACtC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;SAAM,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CACT,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,mBAAmB,CAClC,UAAU,EACV,EAAE,EACF,IAAI,CAAC,KAAK,IAAI,EAAE,EAChB,aAAa,CACd,CAAC;IACF,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEhD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC3D,MAAM,CAAC,IAAI,CACT,gFAAgF,CACjF,CAAC;IACF,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,KAAY,EACZ,OAA0B,EAAE,EAC5B,EAAE;IACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,qEAAqE,CACtE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,6DAA6D,EAC7D,8CAA8C,CAC/C,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnD,KAAK;YACL,QAAQ;SACT,CAAC,CAAC,CAAC;QAEJ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,KAAY,EACZ,OAA0B,EAAE,EAC5B,EAAE;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACvD,MAAM,MAAM,GAAqB;QAC/B,KAAK;QACL,UAAU,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;SACvC;QACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;KAC5C,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,EAAE,UAA6B,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,GAAG,MAAM;YACT,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,UAAU,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO;gBACL,GAAG,MAAM;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,mBAAmB,CAC/C;aACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;QACzB,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,8CAA8C;IAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACzD,CAAC;YACF,QAAQ,CAAC,cAAc,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,CAAQ;QAC/B,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1C,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,KAAY,EAAE,OAA0B,EAAE,EAAE,EAAE;IAC5E,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,8CAA8C;IAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,KAAK;gBACL,UAAU,EAAE;oBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;oBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;iBACvC;gBACD,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACxD,CAAC;YACF,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,mBAAmB,CAAO;QAC9B,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBACnC,KAAK;oBACL,UAAU,EAAE;wBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;wBAC9B,MAAM;wBACN,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;qBACvC;oBACD,WAAW;iBACZ,CAAC,CAAC;gBACH,OAAO;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CACnD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAY,EACZ,MAAc,EACd,OAA0B,EAAE,EAC5B,EAAE;IACF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;YACzC,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IACE,gBAAgB,CAAC,YAAkD,CAAC,EACpE,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,KAAY,EACZ,OAA0B,EAAE,EAC5B,EAAE;IACF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CACV,sFAAsF,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC;QACH,4EAA4E;QAC5E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE;gBACV,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;gBAC9B,KAAK,EAAE,IAAI;aACZ;YACD,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CACT,uIAAuI,CACxI,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACxE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,uBAAuB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,QAAQ,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CACR,SAAS,CAAC,EAA+B,EAAE,iBAAiB,EAAE;oBAC5D,GAAG,IAAI;oBACP,oBAAoB,EAAE,IAAI;iBAC3B,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,IAAI,uBAAuB,EAAE,CAAC;YACzE,mDAAmD;YACnD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CACxC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAC7C,CAAC;YACF,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAC1C,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,gBAAgB,CAC/C,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAU;oBACnB,aAAa;oBACb,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,QAAQ,EACN,WAAW,CAAC,SAAS,KAAK,cAAc;wBACtC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ;wBAChC,CAAC,CAAC,SAAS;oBACf,WAAW,EAAE,aAAa,EAAE,SAAS;iBACtC,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,CACR,SAAS,CACP,MAA8C,EAC9C,iBAAiB,EACjB,EAAE,GAAG,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CACxC,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/lib/inspect/output.ts"],"names":[],"mappings":"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","sourcesContent":["import { importKey } from '@workflow/core/encryption';\nimport {\n type EncryptionKeyParam,\n getDeserializeStream,\n getExternalRevivers,\n} from '@workflow/core/serialization';\nimport { VERCEL_403_ERROR_MESSAGE } from '@workflow/errors';\nimport { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';\nimport type {\n Event,\n Hook,\n ListEventsParams,\n PaginationOptions,\n Step,\n StepWithoutData,\n WorkflowRun,\n WorkflowRunWithoutData,\n World,\n} from '@workflow/world';\nimport chalk from 'chalk';\n\nimport { formatDistance } from 'date-fns';\nimport Table from 'easy-table';\nimport { logger } from '../config/log.js';\nimport type { InspectCLIOptions } from '../config/types.js';\nimport {\n type EncryptionKeyResolver,\n hydrateResourceIO,\n isEncryptedRef,\n isExpiredRef,\n} from './hydration.js';\n\n/**\n * Create an EncryptionKeyResolver from a World instance.\n * Returns null if decrypt is false — encrypted data will show as a placeholder.\n *\n * The resolver fetches the full WorkflowRun (cached per runId) so that the\n * World can inspect deployment-specific fields for key resolution.\n */\nfunction createResolver(world: World, decrypt: boolean): EncryptionKeyResolver {\n if (!decrypt) return null;\n if (!world.getEncryptionKeyForRun) return null;\n const cache = new Map<string, Promise<Uint8Array | undefined>>();\n return (runId: string) => {\n let cached = cache.get(runId);\n if (!cached) {\n cached = world.runs\n .get(runId)\n .then((run) => world.getEncryptionKeyForRun!(run));\n cache.set(runId, cached);\n }\n return cached;\n };\n}\n\nimport { setupListPagination } from './pagination.js';\nimport { streamToConsole } from './stream.js';\nimport {\n formatISODate,\n formatStatus as formatStatusAbbrev,\n getDisplaySettings,\n getTerminalWidth,\n isCI,\n} from './terminal-utils.js';\n\nconst DEFAULT_PAGE_SIZE = 20;\nlet TABLE_TRUNCATE_IO_LENGTH = 15; // Will be adjusted based on terminal width\n\nconst WORKFLOW_RUN_IO_PROPS: (keyof WorkflowRun)[] = ['input', 'output'];\n\nconst STEP_IO_PROPS: (keyof Step)[] = ['input', 'output'];\n\nconst WORKFLOW_RUN_LISTED_PROPS: (keyof WorkflowRun)[] = [\n 'runId',\n 'workflowName',\n 'status',\n 'startedAt',\n 'completedAt',\n ...WORKFLOW_RUN_IO_PROPS,\n];\n\nconst STEP_LISTED_PROPS: (keyof Step)[] = [\n 'runId',\n 'stepId',\n 'stepName',\n 'status',\n 'startedAt',\n 'completedAt',\n ...STEP_IO_PROPS,\n];\n\nconst EVENT_IO_PROPS: (keyof Event | 'eventData')[] = ['eventData'];\n\nconst EVENT_LISTED_PROPS: (keyof Event | 'eventData')[] = [\n 'eventId',\n 'eventType',\n 'correlationId',\n 'createdAt',\n ...EVENT_IO_PROPS,\n];\n\n// const HOOK_DATA_PROPS: (keyof Hook | 'hasResponse')[] = ['hasResponse'];\n\nconst HOOK_LISTED_PROPS: (keyof Hook | 'hasResponse')[] = [\n 'runId',\n 'hookId',\n 'ownerId',\n 'createdAt',\n // ...HOOK_DATA_PROPS,\n];\n\ninterface Sleep {\n correlationId: string;\n runId: string;\n eventId: string;\n createdAt: Date;\n resumeAt: Date | undefined;\n completedAt: Date | undefined;\n}\n\nconst WAIT_LISTED_PROPS: (keyof Sleep)[] = [\n 'correlationId',\n 'eventId',\n 'createdAt',\n 'resumeAt',\n 'completedAt',\n];\n\nconst STATUS_COLORS: Record<\n WorkflowRun['status'] | Step['status'],\n (value: string) => string\n> = {\n running: chalk.blue,\n completed: chalk.green,\n failed: chalk.red,\n cancelled: chalk.strikethrough.yellow,\n pending: chalk.blue,\n};\n\nconst isStreamId = (value: string) => {\n return typeof value === 'string' && value.startsWith('strm_');\n};\n\nconst showStatusLegend = () => {\n logger.log('\\nStatus Legend:');\n const statuses: Array<WorkflowRun['status'] | Step['status']> = [\n 'running',\n 'completed',\n 'failed',\n 'cancelled',\n 'pending',\n ];\n\n const legendItems = statuses.map((status) => {\n const colorFunc = STATUS_COLORS[status];\n const abbrev = formatStatusAbbrev(status, true);\n return `${colorFunc(abbrev)} = ${status}`;\n });\n\n logger.log(` ${legendItems.join(' ')}`);\n logger.log('');\n};\n\nconst isSleepStep = (stepName: string) => {\n return stepName.includes('-sleep');\n};\n\nconst checkAndHandleVercelAccessError = (\n error: unknown,\n backend?: string\n): boolean => {\n if (backend === 'vercel' && error && typeof error === 'object') {\n const err = error as Record<string, unknown>;\n if (err.status === 403) {\n logger.error(VERCEL_403_ERROR_MESSAGE);\n return true;\n }\n }\n return false;\n};\n\nconst extractErrorMessage = (\n err: Record<string, unknown>\n): string | undefined => {\n if (err.message && typeof err.message === 'string') {\n return err.message;\n }\n\n if (err.body && typeof err.body === 'object') {\n const body = err.body as Record<string, unknown>;\n if (body.message && typeof body.message === 'string') {\n return body.message;\n }\n if (body.error && typeof body.error === 'string') {\n return body.error;\n }\n }\n\n return undefined;\n};\n\nconst handleApiError = (error: unknown, backend?: string): boolean => {\n // First check for Vercel access errors\n if (checkAndHandleVercelAccessError(error, backend)) {\n return true;\n }\n\n // Handle other HTTP errors\n if (error && typeof error === 'object') {\n const err = error as Record<string, unknown>;\n\n // Handle 400 Bad Request\n if (err.status === 400) {\n logger.error('Bad Request: The request was invalid.');\n const message = extractErrorMessage(err);\n if (message) {\n logger.error(`Details: ${message}`);\n }\n return true;\n }\n\n // Handle other HTTP errors (404, 500, etc.)\n if (typeof err.status === 'number' && err.status >= 400) {\n logger.error(`HTTP Error ${err.status}: ${getStatusText(err.status)}`);\n const message = extractErrorMessage(err);\n if (message) {\n logger.error(`Details: ${message}`);\n }\n return true;\n }\n }\n\n return false;\n};\n\nconst getStatusText = (status: number): string => {\n const statusTexts: Record<number, string> = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 429: 'Too Many Requests',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n };\n return statusTexts[status] || 'Unknown Error';\n};\n\nconst truncateNameIfNeeded = (name: string, maxLength: number): string => {\n return maxLength < name.length ? `${name.substring(0, maxLength)}...` : name;\n};\n\nconst formatNameField = (\n nameNonUnique: string,\n truncateLength: number,\n isSleep: boolean\n): string => {\n const truncatedName = truncateNameIfNeeded(nameNonUnique, truncateLength);\n if (isSleep) {\n return chalk.yellowBright(truncatedName);\n }\n return chalk.blue.blueBright(truncatedName);\n};\n\nconst formatIdField = (\n prop: string,\n value: unknown,\n shouldTruncateIds: boolean\n): string | undefined => {\n const valueStr = String(value);\n const idStr = shouldTruncateIds ? truncateIdToLastChars(valueStr) : valueStr;\n if (prop === 'streamId') {\n return chalk.green(idStr);\n }\n return idStr;\n};\n\nexport const formatTableValue = (\n prop: string,\n value: unknown,\n opts: InspectCLIOptions = {},\n displaySettings?: ReturnType<typeof getDisplaySettings>,\n item?: Record<string, unknown>\n) => {\n const namesTruncate = displaySettings?.namesTruncateLength ?? 40;\n const shouldTruncateIds = displaySettings?.truncateIdsToLastChars ?? false;\n\n // Handle IDs with potential truncation\n if (\n [\n 'streamId',\n 'runId',\n 'stepId',\n 'hookId',\n 'eventId',\n 'correlationId',\n 'ownerId',\n ].includes(prop)\n ) {\n return formatIdField(prop, value, shouldTruncateIds);\n }\n\n // Handle names with truncation\n if (prop === 'stepName') {\n const nameNonUnique = parseStepName(String(value))?.shortName || '?';\n return formatNameField(\n nameNonUnique,\n namesTruncate,\n isSleepStep(String(value))\n );\n }\n\n if (prop === 'workflowName') {\n const nameNonUnique = parseWorkflowName(String(value))?.shortName || '?';\n const truncatedName = truncateNameIfNeeded(nameNonUnique, namesTruncate);\n return chalk.blue.blueBright(truncatedName);\n }\n\n if (prop === 'output' || prop === 'input' || prop === 'error') {\n if (\n item &&\n 'expiredAt' in item &&\n item.expiredAt != null &&\n new Date(item.expiredAt as string | number | Date) < new Date()\n ) {\n return EXPIRED_DATA_MESSAGE;\n }\n return inlineFormatIO(value);\n }\n\n if (prop === 'status') {\n const status = value as WorkflowRun['status'] | Step['status'];\n const colorFunc = STATUS_COLORS[status];\n const formattedStatus = displaySettings?.abbreviateStatus\n ? formatStatusAbbrev(status, true)\n : status;\n return colorFunc(formattedStatus);\n }\n\n if (prop === 'eventData') {\n return truncateString(JSON.stringify(value));\n }\n\n if (prop === 'hasResponse') {\n return value ? chalk.green('true') : chalk.gray('false');\n }\n\n if (value instanceof Date) {\n return formatTableTimestamp(value, opts, displaySettings);\n }\n\n return value;\n};\n\nconst getVisibleProps = (\n props: string[],\n displaySettings: ReturnType<typeof getDisplaySettings>\n): string[] => {\n if (displaySettings.hideCompletedAt) {\n return props.filter((prop) => prop !== 'completedAt');\n }\n return props;\n};\n\nconst showTable = (\n data: Record<string, unknown>[],\n props: string[],\n opts: InspectCLIOptions = {}\n) => {\n // Get display settings based on terminal width\n const terminalWidth = getTerminalWidth();\n const displaySettings = getDisplaySettings(\n terminalWidth,\n opts.withData || false,\n props.includes('runName')\n );\n\n // Filter out completedAt column if needed\n const visibleProps = getVisibleProps(props, displaySettings);\n\n // Update truncate length for IO fields\n const originalTruncateLength = TABLE_TRUNCATE_IO_LENGTH;\n TABLE_TRUNCATE_IO_LENGTH = displaySettings.dataFieldWidth;\n\n // Show status legend if using abbreviated status\n if (\n data.length > 0 &&\n displaySettings.abbreviateStatus &&\n visibleProps.includes('status')\n ) {\n showStatusLegend();\n }\n\n // Create header mapping for abbreviated status\n const headerMap: Record<string, string> = {};\n if (displaySettings.abbreviateStatus && visibleProps.includes('status')) {\n headerMap['status'] = 'S';\n }\n\n // Add a blank line before any table\n const table = new Table();\n if (data && data.length === 0) {\n logger.warn('No data found for this query and resource.\\n');\n for (const prop of visibleProps) {\n const header = headerMap[prop] || prop;\n table.cell(header, 'N/A');\n }\n table.newRow();\n // Restore original truncate length\n TABLE_TRUNCATE_IO_LENGTH = originalTruncateLength;\n return table.toString();\n } else if (!data) {\n logger.warn('Expecting an array of data, but got null.\\n');\n }\n logger.log('');\n for (const item of data) {\n for (const prop of visibleProps) {\n const header = headerMap[prop] || prop;\n const value = item[prop];\n table.cell(\n header,\n formatTableValue(prop, value, opts, displaySettings, item)\n );\n }\n table.newRow();\n }\n\n // Restore original truncate length\n TABLE_TRUNCATE_IO_LENGTH = originalTruncateLength;\n return table.toString();\n};\n\nconst showJson = (data: unknown) => {\n const json = JSON.stringify(data, null, 2);\n process.stdout.write(`${json}\\n`);\n};\n\n/**\n * In tables, we want to show a shorter timestamp, YYYY-MM-DD HH:MM:SS\n */\nconst formatTableTimestamp = (\n value: Date,\n opts: InspectCLIOptions = {},\n displaySettings?: ReturnType<typeof getDisplaySettings>\n) => {\n // Format ISO time without T and Z\n const isoTime = formatISODate(value);\n\n // Show relative time only if:\n // - Not in CI mode\n // - Display settings allow it (based on terminal width)\n // - withData is disabled (more space available)\n // - Not in JSON mode\n // - disableRelativeDates is not set\n const shouldShowRelative =\n !isCI() &&\n displaySettings?.showRelativeDates !== false &&\n !opts.withData &&\n !opts.json &&\n !opts.disableRelativeDates;\n\n if (shouldShowRelative) {\n const relative = formatDistance(value, new Date(), { addSuffix: true });\n return `${isoTime} (${relative})`;\n }\n\n return isoTime;\n};\n\nconst truncateString = (\n str: string,\n maxLength: number = TABLE_TRUNCATE_IO_LENGTH\n) => {\n return str && str.length > maxLength\n ? `${str.substring(0, maxLength)}...`\n : str;\n};\n\nconst truncateIdToLastChars = (id: string, chars: number = 4): string => {\n if (!id || id.length <= chars) return id;\n return `...${id.substring(id.length - chars)}`;\n};\n\nconst showInspectInfoBox = (resource: string) => {\n logger.info(\n `To view details for a ${resource}, use \\`workflow inspect ${resource}\\` <id>`\n );\n logger.info(\n `To view the content of any stream, use \\`workflow inspect stream <stream-id>\\``\n );\n};\n\nconst EXPIRED_DATA_MESSAGE = chalk.gray('<data expired>');\n\n/**\n * Checks if a run has expired data storage (run-level expiredAt field).\n * Only returns true when `expiredAt` is in the past.\n */\nexport const hasExpiredData = (run: WorkflowRun): boolean => {\n return (\n 'expiredAt' in run &&\n run.expiredAt != null &&\n new Date(run.expiredAt) < new Date()\n );\n};\n\n/**\n * Checks if any data field in a hydrated resource has been replaced with an\n * expired placeholder. Works for runs, steps, hooks, and events — unlike\n * `hasExpiredData` which only checks the run-level `expiredAt` field.\n */\nconst hasExpiredFields = (resource: Record<string, unknown>): boolean => {\n return ['input', 'output', 'error', 'metadata'].some((key) =>\n isExpiredRef(resource[key])\n );\n};\n\n/**\n * Takes hydrated step/workflow input/output and serializes it for inline display.\n */\nconst inlineFormatIO = <T>(io: T, topLevel: boolean = true): string => {\n const type = typeof io;\n let value = '';\n if (io === undefined) {\n value = '<empty>';\n } else if (io === null) {\n value = '<null>';\n } else if (isEncryptedRef(io)) {\n value = chalk.dim.yellow('\\u{1F512} Encrypted');\n } else if (isExpiredRef(io)) {\n value = chalk.gray('<data expired>');\n } else if (io && Array.isArray(io)) {\n if (io.length === 0) {\n value = '<empty>';\n } else {\n const stringified = io\n .map((item) => inlineFormatIO(item, false))\n .join(',');\n if (stringified.length > TABLE_TRUNCATE_IO_LENGTH && topLevel) {\n value = chalk.yellow(`${io.length} args`);\n } else {\n value = stringified;\n }\n }\n } else if (type === 'object') {\n if (io instanceof Date) {\n value = io.toISOString();\n } else {\n value = truncateString(JSON.stringify(io));\n }\n } else if (['string', 'number', 'boolean'].includes(type)) {\n if (isStreamId(io as string)) {\n value = io.toString();\n } else if (type === 'string' && (io as string).includes('strm_')) {\n value = io as string;\n } else {\n value = truncateString(String(io));\n }\n } else {\n value = `<${type}>`;\n }\n return value;\n};\n\nexport const listRuns = async (world: World, opts: InspectCLIOptions = {}) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n if (opts.stepId || opts.runId) {\n logger.warn(\n 'Filtering by step-id or run-id is not supported in list calls, ignoring filter.'\n );\n }\n\n const resolveData = opts.withData ? 'all' : 'none';\n\n // Determine which props to show based on withData flag\n const props = opts.withData\n ? WORKFLOW_RUN_LISTED_PROPS\n : WORKFLOW_RUN_LISTED_PROPS.filter(\n (prop) => !WORKFLOW_RUN_IO_PROPS.includes(prop)\n );\n\n // For JSON output, just fetch once and return\n if (opts.json) {\n try {\n const runs = await world.runs.list({\n workflowName: opts.workflowName,\n status: opts.status as any,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor: opts.cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData,\n });\n const runsWithHydratedIO = await Promise.all(\n runs.data.map((r) => hydrateResourceIO(r, resolveKey))\n );\n showJson({ ...runs, data: runsWithHydratedIO });\n return;\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n }\n\n await setupListPagination<WorkflowRun | WorkflowRunWithoutData>({\n initialCursor: opts.cursor,\n interactive: opts.interactive,\n fetchPage: async (cursor) => {\n try {\n const runs = await world.runs.list({\n workflowName: opts.workflowName,\n status: opts.status as any,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData,\n });\n return {\n data: runs.data,\n cursor: runs.cursor,\n hasMore: runs.hasMore,\n };\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n },\n displayPage: async (runs) => {\n const runsWithHydratedIO = await Promise.all(\n runs.map((r) => hydrateResourceIO(r, resolveKey))\n );\n logger.log(showTable(runsWithHydratedIO, props, opts));\n },\n });\n};\n\nexport const getRecentRun = async (\n world: World,\n opts: InspectCLIOptions = {}\n) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n logger.warn(`No runId provided, fetching data for latest run instead.`);\n try {\n const runs = await world.runs.list({\n pagination: { limit: 1, sortOrder: opts.sort || 'desc' },\n resolveData: 'none', // Don't need data for just getting the ID\n });\n runs.data = await Promise.all(\n runs.data.map((r) => hydrateResourceIO(r, resolveKey))\n );\n return runs.data[0];\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n};\n\nexport const showRun = async (\n world: World,\n runId: string,\n opts: InspectCLIOptions = {}\n) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n if (opts.withData) {\n logger.warn('`withData` flag is ignored when showing individual resources');\n }\n try {\n const run = await world.runs.get(runId, { resolveData: 'all' });\n const runWithHydratedIO = await hydrateResourceIO(run, resolveKey);\n if (opts.json) {\n showJson(runWithHydratedIO);\n return;\n } else {\n if (hasExpiredData(run)) {\n logger.warn(\n \"This run's data (input/output/error) has expired and is no longer available.\"\n );\n }\n logger.log(runWithHydratedIO);\n }\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n};\n\nexport const listSteps = async (\n world: World,\n opts: InspectCLIOptions = {\n runId: undefined,\n }\n) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n if (opts.stepId) {\n logger.warn(\n 'Filtering by step-id is not supported in list calls, ignoring filter.'\n );\n }\n if (opts.workflowName) {\n logger.warn(\n 'Filtering by workflow-name is not supported for steps, ignoring filter.'\n );\n }\n\n const runId = opts.runId\n ? opts.runId\n : (await getRecentRun(world, opts))?.runId;\n if (!runId) {\n logger.error('No run found.');\n return;\n }\n\n const resolveData = opts.withData ? 'all' : 'none';\n\n // Determine which props to show based on withData flag\n const props = opts.withData\n ? STEP_LISTED_PROPS\n : STEP_LISTED_PROPS.filter((prop) => !STEP_IO_PROPS.includes(prop));\n\n // For JSON output, just fetch once and return\n if (opts.json) {\n logger.debug(`Fetching steps for run ${runId}`);\n try {\n const stepChunks = await world.steps.list({\n runId,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor: opts.cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData,\n });\n const stepsWithHydratedIO = await Promise.all(\n stepChunks.data.map((s) => hydrateResourceIO(s, resolveKey))\n );\n showJson(stepsWithHydratedIO);\n return;\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n }\n\n await setupListPagination<Step | StepWithoutData>({\n initialCursor: opts.cursor,\n interactive: opts.interactive,\n fetchPage: async (cursor) => {\n logger.debug(`Fetching steps for run ${runId}`);\n try {\n const stepChunks = await world.steps.list({\n runId,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData,\n });\n return {\n data: stepChunks.data,\n cursor: stepChunks.cursor,\n hasMore: stepChunks.hasMore,\n };\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n },\n displayPage: async (steps) => {\n const stepsWithHydratedIO = await Promise.all(\n steps.map((s) => hydrateResourceIO(s, resolveKey))\n );\n logger.log(showTable(stepsWithHydratedIO, props, opts));\n showInspectInfoBox('step');\n },\n });\n};\n\nexport const showStep = async (\n world: World,\n stepId: string,\n opts: InspectCLIOptions = {}\n) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n if (opts.withData) {\n logger.warn('`withData` flag is ignored when showing individual resources');\n }\n if (opts.stepId) {\n logger.warn(\n 'Filtering by step-id is not supported in get calls, ignoring filter.'\n );\n }\n\n const runId = opts.runId ?? (await getRecentRun(world, opts))?.runId;\n if (!runId) {\n logger.error(\n 'run-id is required for showing a step. Usage: `workflow inspect step <STEP_ID> --runId=<RUN_ID>`'\n );\n return;\n }\n\n try {\n const step = await world.steps.get(runId, stepId, {\n resolveData: 'all',\n });\n const stepWithHydratedIO = await hydrateResourceIO(step, resolveKey);\n if (opts.json) {\n showJson(stepWithHydratedIO);\n return;\n } else {\n if (\n hasExpiredFields(\n stepWithHydratedIO as unknown as Record<string, unknown>\n )\n ) {\n logger.warn(\n \"This step's data (input/output/error) has expired and is no longer available.\"\n );\n }\n logger.log(stepWithHydratedIO);\n }\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n};\n\nexport const showStream = async (\n world: World,\n streamId: string,\n opts: InspectCLIOptions = {}\n) => {\n if (opts.stepId) {\n logger.warn(\n 'Filtering by step-id is not supported when showing a stream, ignoring filter.'\n );\n }\n if (!opts.runId) {\n throw new Error('--run is required when showing a stream');\n }\n const rawStream = await world.streams.get(opts.runId, streamId);\n\n // Only resolve the encryption key when --decrypt is passed and --run is provided.\n // We fetch the full WorkflowRun object so that getEncryptionKeyForRun has\n // access to the deploymentId (needed for API-based key resolution).\n let encryptionKey: EncryptionKeyParam;\n if (opts.decrypt && opts.runId) {\n encryptionKey = (async () => {\n const run = await world.runs.get(opts.runId!);\n const rawKey = await world.getEncryptionKeyForRun?.(run);\n return rawKey ? await importKey(rawKey) : undefined;\n })();\n } else if (opts.decrypt && !opts.runId) {\n logger.warn(\n 'Cannot decrypt stream content without a run ID. Use --run=<run-id> with --decrypt.'\n );\n }\n\n // Deserialize the stream to get JavaScript objects\n const revivers = getExternalRevivers(\n globalThis,\n [],\n opts.runId ?? '',\n encryptionKey\n );\n const transform = getDeserializeStream(revivers, encryptionKey);\n const stream = rawStream.pipeThrough(transform);\n\n logger.info('Streaming to stdout, press CTRL+C to abort.');\n logger.info(\n 'Use --json to output the stream as newline-delimited JSON without info logs.\\n'\n );\n await streamToConsole(stream, streamId, opts);\n};\n\n/**\n * Listing streams only lists available stream IDs based on run/step passed,\n * and doesn't read any data from the streams.\n */\nexport const listStreamsByRunId = async (\n world: World,\n opts: InspectCLIOptions = {}\n) => {\n if (opts.withData) {\n logger.warn('`withData` flag is ignored when listing streams');\n }\n if (opts.workflowName) {\n logger.warn(\n 'Filtering by workflow-name is not supported for streams, ignoring filter.'\n );\n }\n if (opts.stepId) {\n logger.warn(\n 'Filtering by step-id is not supported for streams, ignoring filter.'\n );\n }\n\n let runId = opts.runId;\n if (!runId) {\n logger.warn(\n 'No run-id provided. Listing streams for latest run instead.',\n 'Use --run=<run-id> to filter streams by run.'\n );\n const run = await getRecentRun(world, opts);\n if (!run) {\n logger.warn('No runs found.');\n return;\n }\n runId = run.runId;\n }\n\n try {\n const streamIds = await world.streams.list(runId);\n const matchingStreams = streamIds.map((streamId) => ({\n runId,\n streamId,\n }));\n\n if (opts.json) {\n showJson(matchingStreams);\n return;\n }\n logger.log(showTable(matchingStreams, ['runId', 'streamId']));\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n};\n\nexport const listEvents = async (\n world: World,\n opts: InspectCLIOptions = {}\n) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n if (opts.workflowName) {\n logger.warn(\n 'Filtering by workflow-name is not supported for events, ignoring filter.'\n );\n }\n\n const runId = opts.runId ?? (await getRecentRun(world, opts))?.runId;\n if (!runId) {\n logger.error('No run found.');\n return;\n }\n\n const correlationIdFilter = opts.hookId || opts.stepId;\n const params: ListEventsParams = {\n runId,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor: opts.cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData: opts.withData ? 'all' : 'none',\n };\n const listCall = async (pagination: PaginationOptions) => {\n const result = await world.events.list({\n ...params,\n pagination: { ...params.pagination, ...pagination },\n });\n if (correlationIdFilter) {\n return {\n ...result,\n data: result.data.filter(\n (e) => e.correlationId === correlationIdFilter\n ),\n };\n }\n return result;\n };\n\n // Determine which props to show based on withData flag\n const props = opts.withData\n ? EVENT_LISTED_PROPS\n : EVENT_LISTED_PROPS.filter((prop) => !EVENT_IO_PROPS.includes(prop));\n\n // For JSON output, just fetch once and return\n if (opts.json) {\n logger.debug(`Fetching events for run ${runId}`);\n try {\n const events = await listCall({});\n const hydratedEvents = await Promise.all(\n events.data.map((e) => hydrateResourceIO(e, resolveKey))\n );\n showJson(hydratedEvents);\n return;\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n }\n\n await setupListPagination<Event>({\n initialCursor: opts.cursor,\n interactive: opts.interactive,\n fetchPage: async (cursor) => {\n logger.debug(`Fetching events for run ${runId}`);\n try {\n const events = await listCall({ cursor });\n return {\n data: events.data,\n cursor: events.cursor,\n hasMore: events.hasMore,\n };\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n },\n displayPage: async (events) => {\n const hydratedEvents = await Promise.all(\n events.map((e) => hydrateResourceIO(e, resolveKey))\n );\n logger.log(showTable(hydratedEvents, props, opts));\n showInspectInfoBox('event');\n },\n });\n};\n\nexport const listHooks = async (world: World, opts: InspectCLIOptions = {}) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n if (opts.workflowName) {\n logger.warn(\n 'Filtering by workflow-name is not supported for hooks, ignoring filter.'\n );\n }\n if (opts.stepId) {\n logger.warn(\n 'Filtering by step-id is not supported for hooks, ignoring filter.'\n );\n }\n\n const runId = opts.runId;\n const resolveData = opts.withData ? 'all' : 'none';\n\n // For JSON output, just fetch once and return\n if (opts.json) {\n if (!runId) {\n logger.debug('Fetching all hooks');\n } else {\n logger.debug(`Fetching hooks for run ${runId}`);\n }\n try {\n const hooks = await world.hooks.list({\n runId,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor: opts.cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData,\n });\n const hydratedHooks = await Promise.all(\n hooks.data.map((h) => hydrateResourceIO(h, resolveKey))\n );\n showJson({ ...hooks, data: hydratedHooks });\n return;\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n }\n\n // Setup pagination with new mechanism\n await setupListPagination<Hook>({\n initialCursor: opts.cursor,\n interactive: opts.interactive,\n fetchPage: async (cursor) => {\n if (!runId) {\n logger.debug('Fetching all hooks');\n } else {\n logger.debug(`Fetching hooks for run ${runId}`);\n }\n try {\n const hooks = await world.hooks.list({\n runId,\n pagination: {\n sortOrder: opts.sort || 'desc',\n cursor,\n limit: opts.limit || DEFAULT_PAGE_SIZE,\n },\n resolveData,\n });\n return {\n data: hooks.data,\n cursor: hooks.cursor,\n hasMore: hooks.hasMore,\n };\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n },\n displayPage: async (hooks) => {\n const hydratedHooks = await Promise.all(\n hooks.map((h) => hydrateResourceIO(h, resolveKey))\n );\n logger.log(showTable(hydratedHooks, HOOK_LISTED_PROPS, opts));\n showInspectInfoBox('hook');\n },\n });\n};\n\nexport const showHook = async (\n world: World,\n hookId: string,\n opts: InspectCLIOptions = {}\n) => {\n const resolveKey = createResolver(world, opts?.decrypt ?? false);\n\n if (opts.withData) {\n logger.warn('`withData` flag is ignored when showing individual resources');\n }\n try {\n const hook = await world.hooks.get(hookId, {\n resolveData: 'all',\n });\n const hydratedHook = await hydrateResourceIO(hook, resolveKey);\n if (opts.json) {\n showJson(hydratedHook);\n return;\n } else {\n if (\n hasExpiredFields(hydratedHook as unknown as Record<string, unknown>)\n ) {\n logger.warn(\n \"This hook's data (metadata) has expired and is no longer available.\"\n );\n }\n logger.log(hydratedHook);\n }\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n};\n\nexport const listSleeps = async (\n world: World,\n opts: InspectCLIOptions = {}\n) => {\n if (!opts.runId) {\n logger.error(\n 'run-id is required for listing sleeps. Usage: `workflow inspect sleeps --runId=<id>`'\n );\n process.exit(1);\n }\n\n if (opts.stepId) {\n logger.warn(\n 'Filtering by step-id is not supported for sleeps, ignoring filter.'\n );\n }\n if (opts.workflowName) {\n logger.warn(\n 'Filtering by workflow-name is not supported for sleeps, ignoring filter.'\n );\n }\n if (opts.withData) {\n logger.warn('`withData` flag is ignored when listing sleeps');\n }\n\n try {\n // Fetch all events for the run with resolveData='all' to get wait eventData\n const events = await world.events.list({\n runId: opts.runId,\n pagination: {\n sortOrder: opts.sort || 'desc',\n limit: 1000,\n },\n resolveData: 'all',\n });\n\n // Show info message if there might be more sleeps\n if (events.hasMore) {\n logger.info(\n 'Warning: This run has more than 1000 events. Some sleeps might not be shown. Please use the web UI to ensure getting a complete list.'\n );\n }\n\n // Group wait events by correlationId\n const waitEventsByCorrelation = new Map<string, Event[]>();\n for (const event of events.data) {\n if (event.correlationId?.startsWith('wait_')) {\n const existing = waitEventsByCorrelation.get(event.correlationId) ?? [];\n existing.push(event);\n waitEventsByCorrelation.set(event.correlationId, existing);\n }\n }\n\n if (waitEventsByCorrelation.size === 0) {\n logger.warn('No sleeps found for this run.');\n if (opts.json) {\n showJson([]);\n } else {\n logger.log(\n showTable([] as Record<string, unknown>[], WAIT_LISTED_PROPS, {\n ...opts,\n disableRelativeDates: true,\n })\n );\n }\n return;\n }\n\n // Build sleeps from grouped wait events\n const sleeps: Sleep[] = [];\n for (const [correlationId, correlationEvents] of waitEventsByCorrelation) {\n // Stitch up wait_created and wait_completed events\n const waitCreated = correlationEvents.find(\n (e: Event) => e.eventType === 'wait_created'\n );\n const waitCompleted = correlationEvents.find(\n (e: Event) => e.eventType === 'wait_completed'\n );\n\n if (waitCreated) {\n const sleep: Sleep = {\n correlationId,\n runId: waitCreated.runId,\n eventId: waitCreated.eventId,\n createdAt: waitCreated.createdAt,\n resumeAt:\n waitCreated.eventType === 'wait_created'\n ? waitCreated.eventData.resumeAt\n : undefined,\n completedAt: waitCompleted?.createdAt,\n };\n sleeps.push(sleep);\n }\n }\n\n // Sort sleeps by createdAt\n sleeps.sort((a, b) => {\n const timeA = a.createdAt.getTime();\n const timeB = b.createdAt.getTime();\n return opts.sort === 'asc' ? timeA - timeB : timeB - timeA;\n });\n\n if (opts.json) {\n showJson(sleeps);\n return;\n }\n\n logger.log(\n showTable(\n sleeps as unknown as Record<string, unknown>[],\n WAIT_LISTED_PROPS,\n { ...opts, disableRelativeDates: true }\n )\n );\n } catch (error) {\n if (handleApiError(error, opts.backend)) {\n process.exit(1);\n }\n throw error;\n }\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=output.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.test.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/output.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { formatTableValue, hasExpiredData } from './output.js';
3
+ const makeRun = (overrides = {}) => ({
4
+ runId: 'run-1',
5
+ status: 'running',
6
+ deploymentId: 'dep-1',
7
+ workflowName: 'workflow//./src/workflows/test//myWorkflow',
8
+ input: undefined,
9
+ output: undefined,
10
+ error: undefined,
11
+ createdAt: new Date('2025-01-01'),
12
+ updatedAt: new Date('2025-01-01'),
13
+ completedAt: undefined,
14
+ startedAt: undefined,
15
+ expiredAt: undefined,
16
+ specVersion: 2,
17
+ executionContext: {},
18
+ ...overrides,
19
+ });
20
+ describe('hasExpiredData', () => {
21
+ it('returns false when expiredAt is undefined', () => {
22
+ expect(hasExpiredData(makeRun({ expiredAt: undefined }))).toBe(false);
23
+ });
24
+ it('returns false when expiredAt is in the future', () => {
25
+ const future = new Date(Date.now() + 24 * 60 * 60 * 1000);
26
+ expect(hasExpiredData(makeRun({ expiredAt: future }))).toBe(false);
27
+ });
28
+ it('returns true when expiredAt is in the past', () => {
29
+ const past = new Date(Date.now() - 24 * 60 * 60 * 1000);
30
+ expect(hasExpiredData(makeRun({ expiredAt: past }))).toBe(true);
31
+ });
32
+ });
33
+ describe('formatTableValue expired data handling', () => {
34
+ it('returns input value when expiredAt is in the future', () => {
35
+ const future = new Date(Date.now() + 24 * 60 * 60 * 1000);
36
+ const item = { expiredAt: future.toISOString(), input: 'hello' };
37
+ const result = formatTableValue('input', 'hello', {}, undefined, item);
38
+ expect(result).not.toContain('expired');
39
+ });
40
+ it('returns expired message when expiredAt is in the past', () => {
41
+ const past = new Date(Date.now() - 24 * 60 * 60 * 1000);
42
+ const item = { expiredAt: past.toISOString(), output: 'hello' };
43
+ const result = formatTableValue('output', 'hello', {}, undefined, item);
44
+ expect(String(result)).toContain('data expired');
45
+ });
46
+ it('returns input value when expiredAt is not present', () => {
47
+ const item = { input: 'hello' };
48
+ const result = formatTableValue('input', 'hello', {}, undefined, item);
49
+ expect(String(result)).not.toContain('expired');
50
+ });
51
+ });
52
+ //# sourceMappingURL=output.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../src/lib/inspect/output.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from 'vitest';\nimport type { WorkflowRun } from '@workflow/world';\nimport { formatTableValue, hasExpiredData } from './output.js';\n\nconst makeRun = (overrides: Partial<WorkflowRun> = {}): WorkflowRun =>\n ({\n runId: 'run-1',\n status: 'running',\n deploymentId: 'dep-1',\n workflowName: 'workflow//./src/workflows/test//myWorkflow',\n input: undefined,\n output: undefined,\n error: undefined,\n createdAt: new Date('2025-01-01'),\n updatedAt: new Date('2025-01-01'),\n completedAt: undefined,\n startedAt: undefined,\n expiredAt: undefined,\n specVersion: 2,\n executionContext: {},\n ...overrides,\n }) as unknown as WorkflowRun;\n\ndescribe('hasExpiredData', () => {\n it('returns false when expiredAt is undefined', () => {\n expect(hasExpiredData(makeRun({ expiredAt: undefined }))).toBe(false);\n });\n\n it('returns false when expiredAt is in the future', () => {\n const future = new Date(Date.now() + 24 * 60 * 60 * 1000);\n expect(hasExpiredData(makeRun({ expiredAt: future }))).toBe(false);\n });\n\n it('returns true when expiredAt is in the past', () => {\n const past = new Date(Date.now() - 24 * 60 * 60 * 1000);\n expect(hasExpiredData(makeRun({ expiredAt: past }))).toBe(true);\n });\n});\n\ndescribe('formatTableValue expired data handling', () => {\n it('returns input value when expiredAt is in the future', () => {\n const future = new Date(Date.now() + 24 * 60 * 60 * 1000);\n const item = { expiredAt: future.toISOString(), input: 'hello' };\n const result = formatTableValue('input', 'hello', {}, undefined, item);\n expect(result).not.toContain('expired');\n });\n\n it('returns expired message when expiredAt is in the past', () => {\n const past = new Date(Date.now() - 24 * 60 * 60 * 1000);\n const item = { expiredAt: past.toISOString(), output: 'hello' };\n const result = formatTableValue('output', 'hello', {}, undefined, item);\n expect(String(result)).toContain('data expired');\n });\n\n it('returns input value when expiredAt is not present', () => {\n const item = { input: 'hello' };\n const result = formatTableValue('input', 'hello', {}, undefined, item);\n expect(String(result)).not.toContain('expired');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/lib/inspect/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiBpD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,KAAsB,EACtB,SAA8B,EAChB,EAAE;IAChB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,yBAAyB;IAC5C,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAE,GAAQ,EAAE,EAAE;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,cAAc;QACd,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvD,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IACE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/B,GAAG,CAAC,IAAI,KAAK,OAAO;YACpB,GAAG,CAAC,IAAI,KAAK,MAAM,EACnB,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;YACD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IACE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/B,GAAG,CAAC,IAAI,KAAK,MAAM;YACnB,GAAG,CAAC,IAAI,KAAK,IAAI,EACjB,CAAC;YACD,2DAA2D;YAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE9C,0BAA0B;IAC1B,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,sBAAsB;IACtB,6FAA6F;IAC7F,MAAM,aAAa,GAAG,KAAK,CAAC,qBAAqB;QAC/C,CAAC,CAAC,QAAQ,KAAK,CAAC,WAAW,OAAO,KAAK,CAAC,UAAU,GAAG;QACrD,CAAC,CAAC,QAAQ,KAAK,CAAC,WAAW,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE1B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AAyCF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAqC;IAErC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,GACxE,OAAO,CAAC;IAEV,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,WAAW,IAAI,aAAa,EAAE,CAAC;IAEzD,yCAAyC;IACzC,MAAM,KAAK,GAAsB,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB;;OAEG;IACH,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,MAAe,EAAE,EAAE;QACxD,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACpB,SAAS,GAAG,KAAK,CAAC;QAElB,wDAAwD;QACxD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,+BAA+B;IAC/B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEnD,6DAA6D;IAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CACT,+EAA+E,CAChF,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,MAAM,eAAe,GAAoB;QACvC,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,qBAAqB,EAAE,SAAS,CAAC,OAAO;KACzC,CAAC;IAEF,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,uBAAuB,CAAC,eAAe,EAAE;QACvD,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC;YAEnC,4CAA4C;YAC5C,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxB,SAAS,GAAG,YAAY,CAAC;gBACzB,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAI,iBAAiB,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;gBAED,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAE9C,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC3C,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC7C,eAAe,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC5C,eAAe,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC5C,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1C,gDAAgD;gBAChD,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,YAAY,EACZ,WAAW,CAAC,MAAM,IAAI,SAAS,CAChC,CAAC;gBAEF,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACzC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3C,eAAe,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC5C,eAAe,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC5C,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1C,gDAAgD;gBAChD,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1E,CAAC;YAED,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;QACD,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,sCAAsC;YACtC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc;gBAChC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBAEtD,eAAe,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;gBAC7C,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;gBAC/C,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC;gBACpC,eAAe,CAAC,WAAW,GAAG,CAAC,CAAC;gBAChC,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC/B,eAAe,CAAC,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,SAAS,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAElC,IAAI,iBAAiB,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;gBAED,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAE5C,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACzC,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3C,eAAe,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC5C,eAAe,CAAC,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;gBAC5C,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1C,gDAAgD;gBAChD,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1E,CAAC;YAED,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;IAEH,qBAAqB;IACrB,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/lib/inspect/pagination.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Interactive pagination for CLI tables\n */\nimport readline from 'node:readline';\nimport { logger } from '../config/log.js';\nimport { isInteractive } from './terminal-utils.js';\n\nexport interface PaginationState {\n cursor: string | null | undefined;\n hasMore: boolean;\n hasPrevious: boolean;\n currentPage: number;\n totalPages: number;\n hasMorePagesAvailable: boolean;\n}\n\nexport interface PaginationCallbacks {\n onNext: () => Promise<void>;\n onPrevious: () => Promise<void>;\n onExit: () => void;\n}\n\n/**\n * Setup interactive pagination listener\n */\nexport const setupPaginationListener = (\n state: PaginationState,\n callbacks: PaginationCallbacks\n): (() => void) => {\n if (!isInteractive()) {\n return () => {}; // No-op cleanup function\n }\n\n // Enable raw mode for immediate key capture\n if (process.stdin.isTTY) {\n readline.emitKeypressEvents(process.stdin);\n process.stdin.setRawMode(true);\n }\n\n const keypressHandler = async (_chunk: string, key: any) => {\n if (!key) return;\n\n // Handle exit\n if (key.name === 'q' || (key.ctrl && key.name === 'c')) {\n callbacks.onExit();\n return;\n }\n\n // Handle next page\n if (\n (key.name === 'n' && !key.ctrl) ||\n key.name === 'right' ||\n key.name === 'down'\n ) {\n if (state.hasMore) {\n await callbacks.onNext();\n } else {\n logger.warn('No more pages available');\n }\n return;\n }\n\n // Handle previous page\n if (\n (key.name === 'p' && !key.ctrl) ||\n key.name === 'left' ||\n key.name === 'up'\n ) {\n // Always allow going \"previous\" - on first page it reloads\n await callbacks.onPrevious();\n return;\n }\n };\n\n process.stdin.on('keypress', keypressHandler);\n\n // Return cleanup function\n return () => {\n process.stdin.off('keypress', keypressHandler);\n if (process.stdin.isTTY && process.stdin.isRaw) {\n process.stdin.setRawMode(false);\n }\n process.stdin.pause();\n };\n};\n\n/**\n * Show pagination state info\n */\nexport const showPaginationState = (state: PaginationState) => {\n const parts: string[] = [];\n\n // Show page indicator\n // Use hasMorePagesAvailable to determine if there are unknown pages beyond what we've loaded\n const pageIndicator = state.hasMorePagesAvailable\n ? `Page ${state.currentPage} of ${state.totalPages}+`\n : `Page ${state.currentPage} of ${state.totalPages}`;\n parts.push(pageIndicator);\n\n if (state.hasPrevious) {\n parts.push('[p] Previous');\n } else {\n parts.push('[p] Reload');\n }\n\n if (state.hasMore) {\n parts.push('[n] Next');\n }\n\n parts.push('[q] Quit (or Ctrl+C)');\n logger.log(`\\n${parts.join(' | ')}`);\n};\n\n/**\n * Page data structure for caching paginated results\n */\nexport interface PageData<T> {\n data: T[];\n cursor: string | null | undefined;\n hasMore: boolean;\n}\n\n/**\n * Generic pagination handler for list operations\n */\nexport interface ListPaginationOptions<TData> {\n /**\n * Initial cursor from CLI options\n */\n initialCursor?: string;\n\n /**\n * Fetch function that returns paginated data\n */\n fetchPage: (cursor: string | undefined) => Promise<PageData<TData>>;\n\n /**\n * Display function that renders the current page\n */\n displayPage: (data: TData[], pageIndex: number) => void | Promise<void>;\n\n /**\n * Optional callback for when fetching starts\n */\n onFetchStart?: (pageIndex: number) => void;\n\n /**\n * Enable interactive pagination with keyboard controls\n */\n interactive?: boolean;\n}\n\n/**\n * Setup pagination for list operations with page caching\n */\nexport async function setupListPagination<TData>(\n options: ListPaginationOptions<TData>\n): Promise<void> {\n const { initialCursor, fetchPage, displayPage, onFetchStart, interactive } =\n options;\n\n // Interactive mode requires both TTY support and explicit --interactive flag\n const enableInteractive = interactive && isInteractive();\n\n // Pages stack - stores all fetched pages\n const pages: PageData<TData>[] = [];\n\n // Current page index (0-based)\n let pageIndex = 0;\n\n /**\n * Fetch and display a specific page\n */\n const showPage = async (index: number, cursor?: string) => {\n if (onFetchStart) {\n onFetchStart(index);\n }\n\n const page = await fetchPage(cursor);\n pages[index] = page;\n pageIndex = index;\n\n // Clear screen for subsequent pages in interactive mode\n if (enableInteractive) {\n console.clear();\n }\n\n await displayPage(page.data, index);\n return page;\n };\n\n // Fetch and display first page\n const firstPage = await showPage(0, initialCursor);\n\n // In non-interactive mode, show info if there are more pages\n if (!enableInteractive) {\n if (firstPage.hasMore) {\n logger.info(\n '\\nMore results available. Use --interactive (-i) to paginate through results.'\n );\n }\n return;\n }\n\n // Setup pagination state\n const paginationState: PaginationState = {\n cursor: firstPage.cursor,\n hasMore: firstPage.hasMore,\n hasPrevious: false,\n currentPage: 1,\n totalPages: 1,\n hasMorePagesAvailable: firstPage.hasMore,\n };\n\n showPaginationState(paginationState);\n\n const cleanup = setupPaginationListener(paginationState, {\n onNext: async () => {\n const newPageIndex = pageIndex + 1;\n\n // Check if we already have this page cached\n if (pages[newPageIndex]) {\n pageIndex = newPageIndex;\n const cachedPage = pages[newPageIndex];\n\n if (enableInteractive) {\n console.clear();\n }\n\n await displayPage(cachedPage.data, pageIndex);\n\n paginationState.cursor = cachedPage.cursor;\n paginationState.hasMore = cachedPage.hasMore;\n paginationState.hasPrevious = pageIndex > 0;\n paginationState.currentPage = pageIndex + 1;\n paginationState.totalPages = pages.length;\n // Check if the last page in cache has more data\n paginationState.hasMorePagesAvailable = pages[pages.length - 1].hasMore;\n } else {\n // Fetch new page using cursor from current page\n const currentPage = pages[pageIndex];\n const nextPage = await showPage(\n newPageIndex,\n currentPage.cursor || undefined\n );\n\n paginationState.cursor = nextPage.cursor;\n paginationState.hasMore = nextPage.hasMore;\n paginationState.hasPrevious = pageIndex > 0;\n paginationState.currentPage = pageIndex + 1;\n paginationState.totalPages = pages.length;\n // Check if the last page in cache has more data\n paginationState.hasMorePagesAvailable = pages[pages.length - 1].hasMore;\n }\n\n showPaginationState(paginationState);\n },\n onPrevious: async () => {\n // Special case: on first page, reload\n if (pageIndex === 0) {\n pages.length = 0; // Clear cache\n const reloadedPage = await showPage(0, initialCursor);\n\n paginationState.cursor = reloadedPage.cursor;\n paginationState.hasMore = reloadedPage.hasMore;\n paginationState.hasPrevious = false;\n paginationState.currentPage = 1;\n paginationState.totalPages = 1;\n paginationState.hasMorePagesAvailable = reloadedPage.hasMore;\n } else {\n // Go to previous cached page\n pageIndex--;\n const prevPage = pages[pageIndex];\n\n if (enableInteractive) {\n console.clear();\n }\n\n await displayPage(prevPage.data, pageIndex);\n\n paginationState.cursor = prevPage.cursor;\n paginationState.hasMore = prevPage.hasMore;\n paginationState.hasPrevious = pageIndex > 0;\n paginationState.currentPage = pageIndex + 1;\n paginationState.totalPages = pages.length;\n // Check if the last page in cache has more data\n paginationState.hasMorePagesAvailable = pages[pages.length - 1].hasMore;\n }\n\n showPaginationState(paginationState);\n },\n onExit: () => {\n cleanup();\n process.exit(0);\n },\n });\n\n // Keep process alive\n return new Promise(() => {});\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/lib/inspect/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO1C,MAAM,eAAe,GAAG,KAAK,EAAE,KAAY,EAAE,WAAmB,EAAE,EAAE;IAClE,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,OAAO,WAAW,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAC,YAAY,CAAC;IAC1B,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAY,EACZ,mBAA2B,EAC3B,IAAmB,EACnB,IAAc,EACd,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,cAAc,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,GAA4B,CAAC;IACjC,sDAAsD;IACtD,IAAI,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,oEAAoE;QACpE,4BAA4B;QAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,YAAY,EAAE,mBAAmB;YACjC,UAAU,EAAE;gBACV,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CAAC;QACH,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,QAAQ,mBAAmB,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAErE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,sDAAsD;IACtD,IAAI,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE;YAC9C,YAAY;YACZ,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACzC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE;QACnD,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/lib/inspect/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO1C,MAAM,eAAe,GAAG,KAAK,EAAE,KAAY,EAAE,WAAmB,EAAE,EAAE;IAClE,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,OAAO,WAAW,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAC,YAAY,CAAC;IAC1B,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAY,EACZ,mBAA2B,EAC3B,IAAmB,EACnB,IAAc,EACd,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,cAAc,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,GAA4B,CAAC;IACjC,sDAAsD;IACtD,IAAI,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,oEAAoE;QACpE,4BAA4B;QAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,YAAY,EAAE,mBAAmB;YACjC,UAAU,EAAE;gBACV,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CAAC;QACH,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,QAAQ,mBAAmB,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAErE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,sDAAsD;IACtD,IAAI,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE;YAC9C,YAAY;YACZ,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACzC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE;QACnD,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { start } from '@workflow/core/runtime';\nimport { healthCheck } from '@workflow/core/runtime/helpers';\nimport type { WorkflowRun, World } from '@workflow/world';\nimport { logger } from '../config/log.js';\n\ninterface CLICreateOpts {\n json?: boolean;\n verbose?: boolean;\n}\n\nconst getWorkflowName = async (world: World, runNameOrId: string) => {\n if (runNameOrId.startsWith('wrun_')) {\n const run = await world.runs.get(runNameOrId);\n if (!run) {\n throw new Error(`Run ${runNameOrId} not found`);\n }\n return run.workflowName;\n }\n return runNameOrId;\n};\n\nexport const startRun = async (\n world: World,\n workflowNameOrRunId: string,\n opts: CLICreateOpts,\n args: string[]\n) => {\n const jsonArgs = args.map((arg) => {\n try {\n return JSON.parse(arg);\n } catch (error) {\n logger.warn(`Failed to parse argument \"${arg}\" as JSON: ${error}`);\n throw error;\n }\n });\n\n let run: WorkflowRun | undefined;\n // If the workflowNameOrRunId is a run ID, get the run\n if (workflowNameOrRunId.startsWith('wrun_')) {\n run = await world.runs.get(workflowNameOrRunId);\n } else {\n // Get the first run for that name, hopefully the newest deployment,\n // but can't guarantee that.\n const runList = await world.runs.list({\n workflowName: workflowNameOrRunId,\n pagination: {\n sortOrder: 'desc',\n limit: 1,\n },\n });\n run = runList.data[0];\n }\n\n if (!run) {\n throw new Error(`Run \"${workflowNameOrRunId}\" not found`);\n }\n\n const deploymentId = run.deploymentId;\n const workflowId = await getWorkflowName(world, workflowNameOrRunId);\n\n // Probe the deployment's specVersion via health check so we use the\n // correct queue transport (JSON for old deployments, CBOR for new).\n // Falls back to the run's specVersion if the health check fails\n // (e.g. old deployment without health check support).\n let specVersion = run.specVersion;\n try {\n const hc = await healthCheck(world, 'workflow', {\n deploymentId,\n timeout: 10_000,\n });\n if (hc.healthy && hc.specVersion != null) {\n specVersion = hc.specVersion;\n }\n } catch {\n // Health check failed — use run's specVersion as fallback\n }\n\n const newRun = await start({ workflowId }, jsonArgs, {\n deploymentId,\n specVersion,\n });\n\n if (opts.json) {\n process.stdout.write(JSON.stringify(newRun, null, 2));\n } else {\n logger.log(newRun);\n }\n};\n"]}
@@ -18,8 +18,8 @@ export const setupCliWorld = async (flags, version, ignoreLocalWorldConfigError
18
18
  const updateCheck = await checkForUpdateCached(version);
19
19
  const withAnsiLinks = flags.json ? false : true;
20
20
  const docsUrl = withAnsiLinks
21
- ? terminalLink('https://useworkflow.dev/', 'https://useworkflow.dev/')
22
- : 'https://useworkflow.dev/';
21
+ ? terminalLink('https://workflow-sdk.dev/', 'https://workflow-sdk.dev/')
22
+ : 'https://workflow-sdk.dev/';
23
23
  // Prepare showBox lines
24
24
  const boxLines = [
25
25
  `Workflow CLI v${version}`,
@@ -84,7 +84,7 @@ export const setupCliWorld = async (flags, version, ignoreLocalWorldConfigError
84
84
  });
85
85
  }
86
86
  else {
87
- world = createWorld();
87
+ world = await createWorld();
88
88
  }
89
89
  // Store in the global cache so BaseCommand.finally() can find and close it.
90
90
  setWorld(world);