unfazed 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -197,7 +197,7 @@ The chains an agent actually performs. Reach `client` from it any time:
197
197
  **Agent runs**
198
198
  | Method | Notes |
199
199
  | --- | --- |
200
- | `createRun(opts)` | `wait: true` polls to a terminal status; a boot-failed or exit-nonzero run comes back as a value, never thrown |
200
+ | `createRun(opts)` | `wait: true` polls to a terminal status; a boot-failed or exit-nonzero run comes back as a value, never thrown. `verify: [...]` commands run after the agent and decide whether the task is done |
201
201
  | `waitForRun(id, opts?)` | standalone poller; only a timeout throws |
202
202
  | `getRun(id)` / `listRuns(filter?)` | |
203
203
  | `cancelRun(id)` | idempotent on a CANCELLED run; a finished run is refused |
@@ -384,6 +384,10 @@ waiting longer may yet succeed:
384
384
  try {
385
385
  const run = await unfazed.waitForRun(run.id, { timeoutMs: 10 * 60_000 });
386
386
  // run.status is SUCCEEDED, FAILED or CANCELLED here — check it yourself.
387
+ // SUCCEEDED means the harness exited cleanly, not that the task is done:
388
+ // run.result is the harness's own report ({ status, detail, text } — text
389
+ // is its final message) and run.verifyExitCode the verdict of your
390
+ // `verify` commands, when you passed any.
387
391
  } catch (e) {
388
392
  if (e instanceof UnfazedRunError && e.reason === "TIMEOUT") {
389
393
  console.log("still going; call waitForRun again to keep waiting");
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** SDK version, sent as the User-Agent. Keep in sync with package.json. */
2
- export declare const VERSION = "0.3.0";
2
+ export declare const VERSION = "0.4.0";
3
3
  /**
4
4
  * Default GraphQL endpoint.
5
5
  *
package/dist/client.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { UnfazedAuthError, UnfazedConfigError, UnfazedGraphQLError, UnfazedHTTPError, UnfazedTimeoutError, } from "./errors.js";
2
2
  /** SDK version, sent as the User-Agent. Keep in sync with package.json. */
3
- export const VERSION = "0.3.0";
3
+ export const VERSION = "0.4.0";
4
4
  /**
5
5
  * Default GraphQL endpoint.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n UnfazedAuthError,\n UnfazedConfigError,\n UnfazedGraphQLError,\n UnfazedHTTPError,\n UnfazedTimeoutError,\n type GraphQLResponseError,\n} from \"./errors.js\";\n\n/** SDK version, sent as the User-Agent. Keep in sync with package.json. */\nexport const VERSION = \"0.3.0\";\n\n/**\n * Default GraphQL endpoint.\n *\n * Note this is the FULL endpoint, not an origin: the platform's own documented\n * convention (`UNFZ_API_URL=\"https://unfazed.dev/query\"`, and cmd/showcase-deploy\n * in the unfazed repo) treats the /query URL as the configurable unit, so the\n * SDK matches it rather than inventing a base-URL convention.\n */\nexport const DEFAULT_ENDPOINT = \"https://unfazed.dev/query\";\n\n/** Platform origin, used to derive the endpoint when only `baseUrl` is given. */\nexport const DEFAULT_BASE_URL = \"https://unfazed.dev\";\n\n/** Path of the GraphQL endpoint under an origin. */\nexport const GRAPHQL_PATH = \"/query\";\n\n/**\n * Environment variable holding the bearer token.\n *\n * This is the platform's documented name (docs/agent-deployments.md,\n * internal/agentdocs/reference.md). It accepts either an operator API token or\n * an agent access token from POST /agents/register — /query takes both as\n * plain bearers.\n */\nexport const TOKEN_ENV_VAR = \"UNFZ_API_TOKEN\";\n\n/** Environment variable holding the full GraphQL endpoint URL. */\nexport const ENDPOINT_ENV_VAR = \"UNFZ_API_URL\";\n\n/** Minimal structural type of the `fetch` the transport needs. */\nexport type FetchLike = (\n input: string,\n init: {\n method: string;\n headers: Record<string, string>;\n body: string;\n signal?: AbortSignal;\n },\n) => Promise<{\n ok: boolean;\n status: number;\n text(): Promise<string>;\n}>;\n\nexport interface ClientOptions {\n /**\n * Bearer token. Falls back to `UNFZ_API_TOKEN`. Get one from\n * https://unfazed.dev/auth.md — the same token the MCP server uses.\n */\n token?: string;\n /**\n * Full GraphQL endpoint URL. Wins over `baseUrl`. Falls back to\n * `UNFZ_API_URL`, then {@link DEFAULT_ENDPOINT}.\n */\n endpoint?: string;\n /**\n * Platform origin; `/query` is appended. Convenience for self-hosted or\n * staging control planes where only the host differs.\n */\n baseUrl?: string;\n /** Extra headers merged into every request. Authorization always wins. */\n headers?: Record<string, string>;\n /**\n * Per-request timeout in ms. Default 60_000. Pass 0 to disable.\n *\n * Bounds the WHOLE request — connect, headers and reading the response body —\n * so a proxy that answers with headers and then stalls still fails on time.\n */\n timeoutMs?: number;\n /** Injection point for tests and instrumented/proxied transports. */\n fetch?: FetchLike;\n /** Overrides the default `unfazed-sdk/<version>` User-Agent. */\n userAgent?: string;\n}\n\n/**\n * A GraphQL document.\n *\n * Structural rather than `string & {...}` on purpose: graphql-codegen emits\n * `TypedDocumentString`, a String SUBCLASS, which is not assignable to the\n * primitive `string`. Requiring only `toString()` plus the optional phantom\n * `__apiType` lets three things through with full inference:\n *\n * - generated `TypedDocumentString` documents (types inferred),\n * - documents assembled at runtime, like the batched writeFiles mutation,\n * - plain template-literal strings a caller wrote by hand.\n */\nexport interface GraphQLDocument<TResult, TVariables> {\n /** Phantom type carrier. Never called; present only to bind the generics. */\n __apiType?: (variables: TVariables) => TResult;\n toString(): string;\n}\n\n/** Result type carried by a typed document. */\nexport type ResultOf<T> = T extends GraphQLDocument<infer R, infer _V> ? R : unknown;\n\n/** Variables type carried by a typed document. */\nexport type VariablesOf<T> = T extends GraphQLDocument<infer _R, infer V> ? V : never;\n\n/** Per-request knobs. */\nexport interface RequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n operationName?: string;\n}\n\n/**\n * Layer 1 — a typed, dependency-free GraphQL transport over `fetch`.\n *\n * This is the SDK's entire networking surface. It understands auth, timeouts\n * and the GraphQL error envelope, and nothing about deployments. The workflow\n * layer ({@link import(\"./unfazed.js\").Unfazed}) is built strictly on top of\n * it, so you can always drop down here for any operation the workflow layer\n * does not wrap — the schema has ~660 fields and the workflow layer\n * deliberately covers only the agent-facing ones.\n *\n * ```ts\n * const client = new UnfazedClient(); // reads UNFZ_API_TOKEN\n * const data = await client.query<{ whoami: { name: string } }, never>(\n * `query { whoami { name } }`,\n * );\n * ```\n */\nexport class UnfazedClient {\n /** Resolved GraphQL endpoint URL. */\n readonly endpoint: string;\n\n readonly #token: string;\n readonly #headers: Record<string, string>;\n readonly #timeoutMs: number;\n readonly #fetch: FetchLike;\n\n constructor(options: ClientOptions = {}) {\n const token = options.token ?? readEnv(TOKEN_ENV_VAR);\n if (!token) {\n throw new UnfazedAuthError(\n `unfazed: no API token. Pass { token } or set ${TOKEN_ENV_VAR}. ` +\n `Get one at ${DEFAULT_BASE_URL}/auth.md`,\n );\n }\n this.#token = token.trim();\n\n this.endpoint = resolveEndpoint(options);\n\n this.#headers = { ...(options.headers ?? {}) };\n this.#timeoutMs = options.timeoutMs ?? 60_000;\n\n const injected = options.fetch;\n if (injected) {\n this.#fetch = injected;\n } else {\n const globalFetch = (globalThis as { fetch?: unknown }).fetch;\n if (typeof globalFetch !== \"function\") {\n throw new UnfazedConfigError(\n \"unfazed: no global fetch. Use Bun, Node >= 20, or pass { fetch } to the client.\",\n );\n }\n this.#fetch = globalFetch.bind(globalThis) as FetchLike;\n }\n\n const ua = options.userAgent ?? `unfazed-sdk/${VERSION}`;\n if (ua) this.#headers[\"User-Agent\"] = ua;\n }\n\n /** Runs a query document. Identical wire behaviour to {@link mutate}. */\n query<TResult, TVariables>(\n document: GraphQLDocument<TResult, TVariables>,\n variables?: TVariables,\n options?: RequestOptions,\n ): Promise<TResult> {\n return this.request(document, variables, options);\n }\n\n /**\n * Runs a mutation document. Distinct from {@link query} for call-site\n * readability only — GraphQL over HTTP POST makes no distinction.\n */\n mutate<TResult, TVariables>(\n document: GraphQLDocument<TResult, TVariables>,\n variables?: TVariables,\n options?: RequestOptions,\n ): Promise<TResult> {\n return this.request(document, variables, options);\n }\n\n /**\n * The single code path behind {@link query} and {@link mutate}.\n *\n * Throws {@link UnfazedHTTPError} on non-2xx, {@link UnfazedGraphQLError}\n * when the body carries `errors`, {@link UnfazedTimeoutError} on timeout or\n * abort. Resolves to the `data` object on success.\n */\n async request<TResult = unknown>(\n document: string | { toString(): string },\n variables?: unknown,\n options: RequestOptions = {},\n ): Promise<TResult> {\n const timeoutMs = options.timeoutMs ?? this.#timeoutMs;\n const { signal, cleanup, didTimeout } = makeSignal(timeoutMs, options.signal);\n\n // `document` may be a TypedDocumentString (a String object). JSON.stringify\n // would serialise that fine, but String(...) keeps the wire body a plain\n // primitive regardless of how the caller obtained the document.\n const body = JSON.stringify({\n query: String(document),\n ...(variables === undefined ? {} : { variables }),\n ...(options.operationName ? { operationName: options.operationName } : {}),\n });\n\n // The deadline covers BOTH phases — headers AND body. A proxy that answers\n // with headers and then stalls the body is a real failure mode, and\n // stopping the clock at the end of `fetch()` would leave `response.text()`\n // hanging forever. `untilAborted` additionally races the signal itself, so\n // an injected transport that ignores `signal` still cannot outlive the\n // timeout.\n let response: Awaited<ReturnType<FetchLike>>;\n let text: string;\n try {\n response = await untilAborted(\n this.#fetch(this.endpoint, {\n method: \"POST\",\n headers: {\n ...this.#headers,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n Authorization: `Bearer ${this.#token}`,\n },\n body,\n ...(signal ? { signal } : {}),\n }),\n signal,\n );\n text = await untilAborted(response.text(), signal);\n } catch (cause) {\n if (didTimeout()) {\n throw new UnfazedTimeoutError(`unfazed: request timed out after ${timeoutMs}ms`, { cause });\n }\n if (isAbort(cause)) {\n throw new UnfazedTimeoutError(\"unfazed: request aborted\", { cause });\n }\n throw cause;\n } finally {\n cleanup();\n }\n\n if (!response.ok) {\n throw new UnfazedHTTPError(response.status, text, this.endpoint);\n }\n\n let parsed: { data?: TResult; errors?: GraphQLResponseError[] };\n try {\n parsed = JSON.parse(text) as typeof parsed;\n } catch {\n throw new UnfazedHTTPError(response.status, text, this.endpoint);\n }\n\n // A GraphQL 200 can still be a failure, and can be a PARTIAL failure: the\n // batched writeFiles document resolves each aliased field independently.\n // Attaching `data` to the error is what lets a caller see which writes\n // landed before the failing one.\n if (parsed.errors?.length) {\n throw new UnfazedGraphQLError(parsed.errors, parsed.data);\n }\n if (parsed.data === undefined || parsed.data === null) {\n throw new UnfazedGraphQLError(\n [{ message: \"response contained neither data nor errors\" }],\n undefined,\n );\n }\n return parsed.data;\n }\n}\n\nfunction resolveEndpoint(options: ClientOptions): string {\n if (options.endpoint) return options.endpoint;\n if (options.baseUrl) return trimSlash(options.baseUrl) + GRAPHQL_PATH;\n const env = readEnv(ENDPOINT_ENV_VAR);\n // UNFZ_API_URL is documented as the full /query URL and is used verbatim.\n // Tolerate a bare origin anyway, since that is the obvious mistake and\n // guessing right costs nothing.\n if (env) {\n const trimmed = trimSlash(env);\n return /\\/query$|\\/graphql$/.test(trimmed) ? trimmed : trimmed + GRAPHQL_PATH;\n }\n return DEFAULT_ENDPOINT;\n}\n\nfunction readEnv(name: string): string | undefined {\n // Guarded: the SDK must also work in a browser or worker, where there is no\n // `process` at all.\n const env = (globalThis as { process?: { env?: Record<string, string | undefined> } }).process\n ?.env;\n return env?.[name] || undefined;\n}\n\nfunction trimSlash(u: string): string {\n return u.replace(/\\/+$/, \"\");\n}\n\nfunction isAbort(e: unknown): boolean {\n return typeof e === \"object\" && e !== null && (e as { name?: string }).name === \"AbortError\";\n}\n\nfunction abortError(): Error {\n const e = new Error(\"The operation was aborted.\");\n e.name = \"AbortError\";\n return e;\n}\n\n/**\n * Settles with `promise`, or rejects the moment `signal` aborts.\n *\n * A global `fetch` honours the signal for headers and body alike, but an\n * injected {@link FetchLike} — a proxy, an instrumented transport, a test\n * double — need not. Racing the signal makes the timeout an upper bound on the\n * whole request regardless of what the transport does with it. The loser's\n * rejection is swallowed by the already-settled promise rather than surfacing\n * as an unhandled rejection.\n */\nfunction untilAborted<T>(promise: Promise<T>, signal: AbortSignal | undefined): Promise<T> {\n if (!signal) return promise;\n if (signal.aborted) return Promise.reject(abortError());\n return new Promise<T>((resolve, reject) => {\n const onAbort = () => reject(abortError());\n signal.addEventListener(\"abort\", onAbort, { once: true });\n const done = () => signal.removeEventListener(\"abort\", onAbort);\n promise.then(\n (value) => {\n done();\n resolve(value);\n },\n (error: unknown) => {\n done();\n reject(error as Error);\n },\n );\n });\n}\n\n/**\n * Combines the request timeout with any caller-supplied signal.\n *\n * `didTimeout` is tracked separately from the abort so a caller's own\n * cancellation is not mislabelled as a timeout in the thrown message.\n */\nfunction makeSignal(\n timeoutMs: number,\n external?: AbortSignal,\n): { signal?: AbortSignal; cleanup: () => void; didTimeout: () => boolean } {\n if (!timeoutMs && !external) return { cleanup: () => {}, didTimeout: () => false };\n if (typeof AbortController !== \"function\") {\n return {\n ...(external ? { signal: external } : {}),\n cleanup: () => {},\n didTimeout: () => false,\n };\n }\n\n const controller = new AbortController();\n let timedOut = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n if (timeoutMs > 0) {\n timer = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, timeoutMs);\n }\n\n const onExternalAbort = () => controller.abort();\n if (external) {\n if (external.aborted) controller.abort();\n else external.addEventListener(\"abort\", onExternalAbort, { once: true });\n }\n\n return {\n signal: controller.signal,\n cleanup: () => {\n if (timer !== undefined) clearTimeout(timer);\n external?.removeEventListener(\"abort\", onExternalAbort);\n },\n didTimeout: () => timedOut,\n };\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n UnfazedAuthError,\n UnfazedConfigError,\n UnfazedGraphQLError,\n UnfazedHTTPError,\n UnfazedTimeoutError,\n type GraphQLResponseError,\n} from \"./errors.js\";\n\n/** SDK version, sent as the User-Agent. Keep in sync with package.json. */\nexport const VERSION = \"0.4.0\";\n\n/**\n * Default GraphQL endpoint.\n *\n * Note this is the FULL endpoint, not an origin: the platform's own documented\n * convention (`UNFZ_API_URL=\"https://unfazed.dev/query\"`, and cmd/showcase-deploy\n * in the unfazed repo) treats the /query URL as the configurable unit, so the\n * SDK matches it rather than inventing a base-URL convention.\n */\nexport const DEFAULT_ENDPOINT = \"https://unfazed.dev/query\";\n\n/** Platform origin, used to derive the endpoint when only `baseUrl` is given. */\nexport const DEFAULT_BASE_URL = \"https://unfazed.dev\";\n\n/** Path of the GraphQL endpoint under an origin. */\nexport const GRAPHQL_PATH = \"/query\";\n\n/**\n * Environment variable holding the bearer token.\n *\n * This is the platform's documented name (docs/agent-deployments.md,\n * internal/agentdocs/reference.md). It accepts either an operator API token or\n * an agent access token from POST /agents/register — /query takes both as\n * plain bearers.\n */\nexport const TOKEN_ENV_VAR = \"UNFZ_API_TOKEN\";\n\n/** Environment variable holding the full GraphQL endpoint URL. */\nexport const ENDPOINT_ENV_VAR = \"UNFZ_API_URL\";\n\n/** Minimal structural type of the `fetch` the transport needs. */\nexport type FetchLike = (\n input: string,\n init: {\n method: string;\n headers: Record<string, string>;\n body: string;\n signal?: AbortSignal;\n },\n) => Promise<{\n ok: boolean;\n status: number;\n text(): Promise<string>;\n}>;\n\nexport interface ClientOptions {\n /**\n * Bearer token. Falls back to `UNFZ_API_TOKEN`. Get one from\n * https://unfazed.dev/auth.md — the same token the MCP server uses.\n */\n token?: string;\n /**\n * Full GraphQL endpoint URL. Wins over `baseUrl`. Falls back to\n * `UNFZ_API_URL`, then {@link DEFAULT_ENDPOINT}.\n */\n endpoint?: string;\n /**\n * Platform origin; `/query` is appended. Convenience for self-hosted or\n * staging control planes where only the host differs.\n */\n baseUrl?: string;\n /** Extra headers merged into every request. Authorization always wins. */\n headers?: Record<string, string>;\n /**\n * Per-request timeout in ms. Default 60_000. Pass 0 to disable.\n *\n * Bounds the WHOLE request — connect, headers and reading the response body —\n * so a proxy that answers with headers and then stalls still fails on time.\n */\n timeoutMs?: number;\n /** Injection point for tests and instrumented/proxied transports. */\n fetch?: FetchLike;\n /** Overrides the default `unfazed-sdk/<version>` User-Agent. */\n userAgent?: string;\n}\n\n/**\n * A GraphQL document.\n *\n * Structural rather than `string & {...}` on purpose: graphql-codegen emits\n * `TypedDocumentString`, a String SUBCLASS, which is not assignable to the\n * primitive `string`. Requiring only `toString()` plus the optional phantom\n * `__apiType` lets three things through with full inference:\n *\n * - generated `TypedDocumentString` documents (types inferred),\n * - documents assembled at runtime, like the batched writeFiles mutation,\n * - plain template-literal strings a caller wrote by hand.\n */\nexport interface GraphQLDocument<TResult, TVariables> {\n /** Phantom type carrier. Never called; present only to bind the generics. */\n __apiType?: (variables: TVariables) => TResult;\n toString(): string;\n}\n\n/** Result type carried by a typed document. */\nexport type ResultOf<T> = T extends GraphQLDocument<infer R, infer _V> ? R : unknown;\n\n/** Variables type carried by a typed document. */\nexport type VariablesOf<T> = T extends GraphQLDocument<infer _R, infer V> ? V : never;\n\n/** Per-request knobs. */\nexport interface RequestOptions {\n signal?: AbortSignal;\n timeoutMs?: number;\n operationName?: string;\n}\n\n/**\n * Layer 1 — a typed, dependency-free GraphQL transport over `fetch`.\n *\n * This is the SDK's entire networking surface. It understands auth, timeouts\n * and the GraphQL error envelope, and nothing about deployments. The workflow\n * layer ({@link import(\"./unfazed.js\").Unfazed}) is built strictly on top of\n * it, so you can always drop down here for any operation the workflow layer\n * does not wrap — the schema has ~660 fields and the workflow layer\n * deliberately covers only the agent-facing ones.\n *\n * ```ts\n * const client = new UnfazedClient(); // reads UNFZ_API_TOKEN\n * const data = await client.query<{ whoami: { name: string } }, never>(\n * `query { whoami { name } }`,\n * );\n * ```\n */\nexport class UnfazedClient {\n /** Resolved GraphQL endpoint URL. */\n readonly endpoint: string;\n\n readonly #token: string;\n readonly #headers: Record<string, string>;\n readonly #timeoutMs: number;\n readonly #fetch: FetchLike;\n\n constructor(options: ClientOptions = {}) {\n const token = options.token ?? readEnv(TOKEN_ENV_VAR);\n if (!token) {\n throw new UnfazedAuthError(\n `unfazed: no API token. Pass { token } or set ${TOKEN_ENV_VAR}. ` +\n `Get one at ${DEFAULT_BASE_URL}/auth.md`,\n );\n }\n this.#token = token.trim();\n\n this.endpoint = resolveEndpoint(options);\n\n this.#headers = { ...(options.headers ?? {}) };\n this.#timeoutMs = options.timeoutMs ?? 60_000;\n\n const injected = options.fetch;\n if (injected) {\n this.#fetch = injected;\n } else {\n const globalFetch = (globalThis as { fetch?: unknown }).fetch;\n if (typeof globalFetch !== \"function\") {\n throw new UnfazedConfigError(\n \"unfazed: no global fetch. Use Bun, Node >= 20, or pass { fetch } to the client.\",\n );\n }\n this.#fetch = globalFetch.bind(globalThis) as FetchLike;\n }\n\n const ua = options.userAgent ?? `unfazed-sdk/${VERSION}`;\n if (ua) this.#headers[\"User-Agent\"] = ua;\n }\n\n /** Runs a query document. Identical wire behaviour to {@link mutate}. */\n query<TResult, TVariables>(\n document: GraphQLDocument<TResult, TVariables>,\n variables?: TVariables,\n options?: RequestOptions,\n ): Promise<TResult> {\n return this.request(document, variables, options);\n }\n\n /**\n * Runs a mutation document. Distinct from {@link query} for call-site\n * readability only — GraphQL over HTTP POST makes no distinction.\n */\n mutate<TResult, TVariables>(\n document: GraphQLDocument<TResult, TVariables>,\n variables?: TVariables,\n options?: RequestOptions,\n ): Promise<TResult> {\n return this.request(document, variables, options);\n }\n\n /**\n * The single code path behind {@link query} and {@link mutate}.\n *\n * Throws {@link UnfazedHTTPError} on non-2xx, {@link UnfazedGraphQLError}\n * when the body carries `errors`, {@link UnfazedTimeoutError} on timeout or\n * abort. Resolves to the `data` object on success.\n */\n async request<TResult = unknown>(\n document: string | { toString(): string },\n variables?: unknown,\n options: RequestOptions = {},\n ): Promise<TResult> {\n const timeoutMs = options.timeoutMs ?? this.#timeoutMs;\n const { signal, cleanup, didTimeout } = makeSignal(timeoutMs, options.signal);\n\n // `document` may be a TypedDocumentString (a String object). JSON.stringify\n // would serialise that fine, but String(...) keeps the wire body a plain\n // primitive regardless of how the caller obtained the document.\n const body = JSON.stringify({\n query: String(document),\n ...(variables === undefined ? {} : { variables }),\n ...(options.operationName ? { operationName: options.operationName } : {}),\n });\n\n // The deadline covers BOTH phases — headers AND body. A proxy that answers\n // with headers and then stalls the body is a real failure mode, and\n // stopping the clock at the end of `fetch()` would leave `response.text()`\n // hanging forever. `untilAborted` additionally races the signal itself, so\n // an injected transport that ignores `signal` still cannot outlive the\n // timeout.\n let response: Awaited<ReturnType<FetchLike>>;\n let text: string;\n try {\n response = await untilAborted(\n this.#fetch(this.endpoint, {\n method: \"POST\",\n headers: {\n ...this.#headers,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n Authorization: `Bearer ${this.#token}`,\n },\n body,\n ...(signal ? { signal } : {}),\n }),\n signal,\n );\n text = await untilAborted(response.text(), signal);\n } catch (cause) {\n if (didTimeout()) {\n throw new UnfazedTimeoutError(`unfazed: request timed out after ${timeoutMs}ms`, { cause });\n }\n if (isAbort(cause)) {\n throw new UnfazedTimeoutError(\"unfazed: request aborted\", { cause });\n }\n throw cause;\n } finally {\n cleanup();\n }\n\n if (!response.ok) {\n throw new UnfazedHTTPError(response.status, text, this.endpoint);\n }\n\n let parsed: { data?: TResult; errors?: GraphQLResponseError[] };\n try {\n parsed = JSON.parse(text) as typeof parsed;\n } catch {\n throw new UnfazedHTTPError(response.status, text, this.endpoint);\n }\n\n // A GraphQL 200 can still be a failure, and can be a PARTIAL failure: the\n // batched writeFiles document resolves each aliased field independently.\n // Attaching `data` to the error is what lets a caller see which writes\n // landed before the failing one.\n if (parsed.errors?.length) {\n throw new UnfazedGraphQLError(parsed.errors, parsed.data);\n }\n if (parsed.data === undefined || parsed.data === null) {\n throw new UnfazedGraphQLError(\n [{ message: \"response contained neither data nor errors\" }],\n undefined,\n );\n }\n return parsed.data;\n }\n}\n\nfunction resolveEndpoint(options: ClientOptions): string {\n if (options.endpoint) return options.endpoint;\n if (options.baseUrl) return trimSlash(options.baseUrl) + GRAPHQL_PATH;\n const env = readEnv(ENDPOINT_ENV_VAR);\n // UNFZ_API_URL is documented as the full /query URL and is used verbatim.\n // Tolerate a bare origin anyway, since that is the obvious mistake and\n // guessing right costs nothing.\n if (env) {\n const trimmed = trimSlash(env);\n return /\\/query$|\\/graphql$/.test(trimmed) ? trimmed : trimmed + GRAPHQL_PATH;\n }\n return DEFAULT_ENDPOINT;\n}\n\nfunction readEnv(name: string): string | undefined {\n // Guarded: the SDK must also work in a browser or worker, where there is no\n // `process` at all.\n const env = (globalThis as { process?: { env?: Record<string, string | undefined> } }).process\n ?.env;\n return env?.[name] || undefined;\n}\n\nfunction trimSlash(u: string): string {\n return u.replace(/\\/+$/, \"\");\n}\n\nfunction isAbort(e: unknown): boolean {\n return typeof e === \"object\" && e !== null && (e as { name?: string }).name === \"AbortError\";\n}\n\nfunction abortError(): Error {\n const e = new Error(\"The operation was aborted.\");\n e.name = \"AbortError\";\n return e;\n}\n\n/**\n * Settles with `promise`, or rejects the moment `signal` aborts.\n *\n * A global `fetch` honours the signal for headers and body alike, but an\n * injected {@link FetchLike} — a proxy, an instrumented transport, a test\n * double — need not. Racing the signal makes the timeout an upper bound on the\n * whole request regardless of what the transport does with it. The loser's\n * rejection is swallowed by the already-settled promise rather than surfacing\n * as an unhandled rejection.\n */\nfunction untilAborted<T>(promise: Promise<T>, signal: AbortSignal | undefined): Promise<T> {\n if (!signal) return promise;\n if (signal.aborted) return Promise.reject(abortError());\n return new Promise<T>((resolve, reject) => {\n const onAbort = () => reject(abortError());\n signal.addEventListener(\"abort\", onAbort, { once: true });\n const done = () => signal.removeEventListener(\"abort\", onAbort);\n promise.then(\n (value) => {\n done();\n resolve(value);\n },\n (error: unknown) => {\n done();\n reject(error as Error);\n },\n );\n });\n}\n\n/**\n * Combines the request timeout with any caller-supplied signal.\n *\n * `didTimeout` is tracked separately from the abort so a caller's own\n * cancellation is not mislabelled as a timeout in the thrown message.\n */\nfunction makeSignal(\n timeoutMs: number,\n external?: AbortSignal,\n): { signal?: AbortSignal; cleanup: () => void; didTimeout: () => boolean } {\n if (!timeoutMs && !external) return { cleanup: () => {}, didTimeout: () => false };\n if (typeof AbortController !== \"function\") {\n return {\n ...(external ? { signal: external } : {}),\n cleanup: () => {},\n didTimeout: () => false,\n };\n }\n\n const controller = new AbortController();\n let timedOut = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n if (timeoutMs > 0) {\n timer = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, timeoutMs);\n }\n\n const onExternalAbort = () => controller.abort();\n if (external) {\n if (external.aborted) controller.abort();\n else external.addEventListener(\"abort\", onExternalAbort, { once: true });\n }\n\n return {\n signal: controller.signal,\n cleanup: () => {\n if (timer !== undefined) clearTimeout(timer);\n external?.removeEventListener(\"abort\", onExternalAbort);\n },\n didTimeout: () => timedOut,\n };\n}\n"]}
@@ -133,7 +133,7 @@ export declare function graphql(source: "\n query SdkListAppEnv($workspaceID: I
133
133
  /**
134
134
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
135
135
  */
136
- export declare function graphql(source: "\n fragment RunFields on Run {\n id\n workspaceID\n ownerId\n status\n rawStatus\n command\n harness\n prompt\n setup\n skills\n approval\n mode\n parentRunID\n depth\n question {\n id\n text\n options\n askedAt\n }\n memoryMiB\n maxSeconds\n metadata\n error\n exitCode\n vmID\n transcriptAvailable\n usage {\n vmSeconds\n memoryMiB\n mibSeconds\n }\n createdAt\n startedAt\n settledAt\n }\n"): typeof import('./graphql.js').RunFieldsFragmentDoc;
136
+ export declare function graphql(source: "\n fragment RunFields on Run {\n id\n workspaceID\n ownerId\n status\n rawStatus\n command\n harness\n prompt\n setup\n skills\n verify\n approval\n mode\n parentRunID\n depth\n question {\n id\n text\n options\n askedAt\n }\n memoryMiB\n maxSeconds\n metadata\n error\n exitCode\n result {\n status\n detail\n text\n }\n verifyExitCode\n vmID\n transcriptAvailable\n usage {\n vmSeconds\n memoryMiB\n mibSeconds\n }\n createdAt\n startedAt\n settledAt\n }\n"): typeof import('./graphql.js').RunFieldsFragmentDoc;
137
137
  /**
138
138
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
139
139
  */
@@ -34,7 +34,7 @@ const documents = {
34
34
  "\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\n ok\n }\n }\n": types.SdkRemoveAppEnvDocument,
35
35
  "\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\n ok\n }\n }\n": types.SdkInheritAppEnvDocument,
36
36
  "\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\n appEnv(workspaceID: $workspaceID, alias: $alias) {\n name\n value\n secret\n alias\n inherited\n masked\n updatedAt\n }\n }\n": types.SdkListAppEnvDocument,
37
- "\n fragment RunFields on Run {\n id\n workspaceID\n ownerId\n status\n rawStatus\n command\n harness\n prompt\n setup\n skills\n approval\n mode\n parentRunID\n depth\n question {\n id\n text\n options\n askedAt\n }\n memoryMiB\n maxSeconds\n metadata\n error\n exitCode\n vmID\n transcriptAvailable\n usage {\n vmSeconds\n memoryMiB\n mibSeconds\n }\n createdAt\n startedAt\n settledAt\n }\n": types.RunFieldsFragmentDoc,
37
+ "\n fragment RunFields on Run {\n id\n workspaceID\n ownerId\n status\n rawStatus\n command\n harness\n prompt\n setup\n skills\n verify\n approval\n mode\n parentRunID\n depth\n question {\n id\n text\n options\n askedAt\n }\n memoryMiB\n maxSeconds\n metadata\n error\n exitCode\n result {\n status\n detail\n text\n }\n verifyExitCode\n vmID\n transcriptAvailable\n usage {\n vmSeconds\n memoryMiB\n mibSeconds\n }\n createdAt\n startedAt\n settledAt\n }\n": types.RunFieldsFragmentDoc,
38
38
  "\n mutation SdkCreateRun($input: CreateRunInput!) {\n createRun(input: $input) {\n ...RunFields\n }\n }\n": types.SdkCreateRunDocument,
39
39
  "\n query SdkGetRun($id: ID!) {\n run(id: $id) {\n ...RunFields\n }\n }\n": types.SdkGetRunDocument,
40
40
  "\n query SdkPollRun($id: ID!) {\n run(id: $id) {\n id\n status\n error\n exitCode\n }\n }\n": types.SdkPollRunDocument,
@@ -1 +1 @@
1
- {"version":3,"file":"gql.js","sourceRoot":"","sources":["../../src/generated/gql.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AA6DtC,MAAM,SAAS,GAAc;IACzB,qXAAqX,EAAE,KAAK,CAAC,2BAA2B;IACxZ,gXAAgX,EAAE,KAAK,CAAC,iBAAiB;IACzY,gPAAgP,EAAE,KAAK,CAAC,0BAA0B;IAClR,uJAAuJ,EAAE,KAAK,CAAC,yBAAyB;IACxL,yMAAyM,EAAE,KAAK,CAAC,0BAA0B;IAC3O,ySAAyS,EAAE,KAAK,CAAC,wBAAwB;IACzU,sVAAsV,EAAE,KAAK,CAAC,0BAA0B;IACxX,sSAAsS,EAAE,KAAK,CAAC,oBAAoB;IAClU,qTAAqT,EAAE,KAAK,CAAC,mBAAmB;IAChV,uKAAuK,EAAE,KAAK,CAAC,qBAAqB;IACpM,mLAAmL,EAAE,KAAK,CAAC,2BAA2B;IACtN,gLAAgL,EAAE,KAAK,CAAC,0BAA0B;IAClN,4GAA4G,EAAE,KAAK,CAAC,wBAAwB;IAC5I,qKAAqK,EAAE,KAAK,CAAC,yBAAyB;IACtM,uIAAuI,EAAE,KAAK,CAAC,+BAA+B;IAC9K,gPAAgP,EAAE,KAAK,CAAC,0BAA0B;IAClR,gIAAgI,EAAE,KAAK,CAAC,uBAAuB;IAC/J,8ZAA8Z,EAAE,KAAK,CAAC,mBAAmB;IACzb,8VAA8V,EAAE,KAAK,CAAC,wBAAwB;IAC9X,8QAA8Q,EAAE,KAAK,CAAC,sBAAsB;IAC5S,yQAAyQ,EAAE,KAAK,CAAC,2BAA2B;IAC5S,oOAAoO,EAAE,KAAK,CAAC,yBAAyB;IACrQ,8NAA8N,EAAE,KAAK,CAAC,sBAAsB;IAC5P,gJAAgJ,EAAE,KAAK,CAAC,2BAA2B;IACnL,sUAAsU,EAAE,KAAK,CAAC,0BAA0B;IACxW,4UAA4U,EAAE,KAAK,CAAC,6BAA6B;IACjX,8KAA8K,EAAE,KAAK,CAAC,6BAA6B;IACnN,qNAAqN,EAAE,KAAK,CAAC,2BAA2B;IACxP,0VAA0V,EAAE,KAAK,CAAC,oBAAoB;IACtX,gWAAgW,EAAE,KAAK,CAAC,uBAAuB;IAC/X,kMAAkM,EAAE,KAAK,CAAC,uBAAuB;IACjO,oMAAoM,EAAE,KAAK,CAAC,wBAAwB;IACpO,yOAAyO,EAAE,KAAK,CAAC,qBAAqB;IACtQ,mgBAAmgB,EAAE,KAAK,CAAC,oBAAoB;IAC/hB,wHAAwH,EAAE,KAAK,CAAC,oBAAoB;IACpJ,uFAAuF,EAAE,KAAK,CAAC,iBAAiB;IAChH,yHAAyH,EAAE,KAAK,CAAC,kBAAkB;IACnJ,gNAAgN,EAAE,KAAK,CAAC,mBAAmB;IAC3O,mGAAmG,EAAE,KAAK,CAAC,oBAAoB;IAC/H,oNAAoN,EAAE,KAAK,CAAC,oBAAoB;IAChP,8JAA8J,EAAE,KAAK,CAAC,qBAAqB;IAC3L,yMAAyM,EAAE,KAAK,CAAC,wBAAwB;IACzO,sIAAsI,EAAE,KAAK,CAAC,oBAAoB;IAClK,8HAA8H,EAAE,KAAK,CAAC,sBAAsB;CAC/J,CAAC;AAoLF,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAQ,SAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC","sourcesContent":["/* eslint-disable */\nimport * as types from './graphql.js';\n\n\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size\n */\ntype Documents = {\n \"\\n fragment DeploymentFields on Deployment {\\n id\\n workspaceID\\n kind\\n runtime\\n alias\\n serviceMode\\n healthPath\\n cronSchedule\\n cronPath\\n url\\n previewUrl\\n sshCommand\\n aliasHeld\\n aliasRevision\\n status\\n error\\n filesCount\\n sizeBytes\\n size\\n spaMode\\n gitRepo\\n gitCommit\\n createdAt\\n }\\n\": typeof types.DeploymentFieldsFragmentDoc,\n \"\\n query SdkWhoami {\\n whoami {\\n kind\\n userID\\n name\\n agentID\\n agentName\\n claimed\\n claimedBy\\n scopes\\n expiresAt\\n usage {\\n month\\n requests\\n limit\\n }\\n resources {\\n workspaces\\n workspaceLimit\\n services\\n serviceLimit\\n }\\n }\\n }\\n\": typeof types.SdkWhoamiDocument,\n \"\\n mutation SdkCreateWorkspace($name: String!) {\\n createWorkspace(input: { name: $name }) {\\n workspace {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkCreateWorkspaceDocument,\n \"\\n query SdkListWorkspaces {\\n workspaces {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n\": typeof types.SdkListWorkspacesDocument,\n \"\\n mutation SdkDeleteWorkspace($workspaceID: ID!, $withDeployments: Boolean) {\\n deleteWorkspace(input: { workspaceID: $workspaceID, withDeployments: $withDeployments }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteWorkspaceDocument,\n \"\\n mutation SdkWriteTextFile($workspaceID: ID!, $path: String!, $text: String!) {\\n writeWorkspaceTextFile(input: { workspaceID: $workspaceID, path: $path, text: $text }) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkWriteTextFileDocument,\n \"\\n mutation SdkWriteBase64File($workspaceID: ID!, $path: String!, $contentBase64: String!) {\\n writeWorkspaceBase64File(\\n input: { workspaceID: $workspaceID, path: $path, contentBase64: $contentBase64 }\\n ) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkWriteBase64FileDocument,\n \"\\n query SdkListFiles($input: ListWorkspaceFilesInput!) {\\n workspaceFilesPage(input: $input) {\\n items {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": typeof types.SdkListFilesDocument,\n \"\\n query SdkReadFile($input: ReadWorkspaceFileInput!) {\\n readWorkspaceFile(input: $input) {\\n text\\n offset\\n limit\\n totalBytes\\n truncated\\n nextOffset\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkReadFileDocument,\n \"\\n mutation SdkDeleteFile($workspaceID: ID!, $path: String!) {\\n deleteWorkspaceFile(input: { workspaceID: $workspaceID, path: $path }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteFileDocument,\n \"\\n mutation SdkCreateDeployment($input: CreateDeploymentInput!) {\\n createDeployment(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": typeof types.SdkCreateDeploymentDocument,\n \"\\n mutation SdkDeployWorkspace($input: DeployWorkspaceInput!) {\\n deployWorkspace(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": typeof types.SdkDeployWorkspaceDocument,\n \"\\n query SdkGetDeployment($id: ID!) {\\n deployment(id: $id) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkGetDeploymentDocument,\n \"\\n query SdkPollDeployment($id: ID!) {\\n deployment(id: $id) {\\n id\\n status\\n error\\n aliasHeld\\n url\\n previewUrl\\n }\\n }\\n\": typeof types.SdkPollDeploymentDocument,\n \"\\n query SdkGetDeploymentByAlias($alias: String!) {\\n deploymentByAlias(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkGetDeploymentByAliasDocument,\n \"\\n query SdkListDeployments($input: ListDeploymentsInput) {\\n deploymentsPage(input: $input) {\\n items {\\n ...DeploymentFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": typeof types.SdkListDeploymentsDocument,\n \"\\n query SdkListReleases($alias: String!) {\\n deploymentReleases(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkListReleasesDocument,\n \"\\n mutation SdkRollback(\\n $deploymentID: ID!\\n $expectedCurrentDeploymentID: ID!\\n $expectedCurrentAliasRevision: String!\\n ) {\\n rollbackDeployment(\\n input: {\\n deploymentID: $deploymentID\\n expectedCurrentDeploymentID: $expectedCurrentDeploymentID\\n expectedCurrentAliasRevision: $expectedCurrentAliasRevision\\n }\\n ) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkRollbackDocument,\n \"\\n query SdkServiceStatus($deploymentID: ID!) {\\n serviceStatus(deploymentID: $deploymentID) {\\n deploymentID\\n alias\\n serviceMode\\n running\\n health\\n vmID\\n inFlight\\n alwaysOn\\n memSizeMiB\\n startedAt\\n lastUsedAt\\n lastStoppedAt\\n restartCount\\n lastError\\n }\\n }\\n\": typeof types.SdkServiceStatusDocument,\n \"\\n query SdkServiceLogs($deploymentID: ID!, $tailBytes: Int) {\\n serviceLogs(deploymentID: $deploymentID, tailBytes: $tailBytes) {\\n deploymentID\\n stdout\\n stderr\\n truncated\\n stdoutBytes\\n stderrBytes\\n tailBytes\\n }\\n }\\n\": typeof types.SdkServiceLogsDocument,\n \"\\n query SdkDeploymentEvents($deploymentID: ID!, $limit: Int) {\\n deploymentEvents(deploymentID: $deploymentID, limit: $limit) {\\n id\\n deploymentID\\n type\\n rawType\\n severity\\n message\\n vmID\\n createdAt\\n }\\n }\\n\": typeof types.SdkDeploymentEventsDocument,\n \"\\n mutation SdkRestartService($deploymentID: ID!) {\\n restartService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": typeof types.SdkRestartServiceDocument,\n \"\\n mutation SdkStopService($deploymentID: ID!) {\\n stopService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": typeof types.SdkStopServiceDocument,\n \"\\n mutation SdkDeleteDeployment($deploymentID: ID!) {\\n deleteDeployment(input: { deploymentID: $deploymentID }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteDeploymentDocument,\n \"\\n mutation SdkSetWorkspaceEnv($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetWorkspaceEnvDocument,\n \"\\n mutation SdkSetWorkspaceSecret($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceSecret(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetWorkspaceSecretDocument,\n \"\\n mutation SdkDeleteWorkspaceEnv($workspaceID: ID!, $name: String!) {\\n deleteWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteWorkspaceEnvDocument,\n \"\\n query SdkListWorkspaceEnv($workspaceID: ID!) {\\n workspaceEnv(workspaceID: $workspaceID) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": typeof types.SdkListWorkspaceEnvDocument,\n \"\\n mutation SdkSetAppEnv($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetAppEnvDocument,\n \"\\n mutation SdkSetAppSecret($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppSecret(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetAppSecretDocument,\n \"\\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": typeof types.SdkRemoveAppEnvDocument,\n \"\\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": typeof types.SdkInheritAppEnvDocument,\n \"\\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\\n appEnv(workspaceID: $workspaceID, alias: $alias) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": typeof types.SdkListAppEnvDocument,\n \"\\n fragment RunFields on Run {\\n id\\n workspaceID\\n ownerId\\n status\\n rawStatus\\n command\\n harness\\n prompt\\n setup\\n skills\\n approval\\n mode\\n parentRunID\\n depth\\n question {\\n id\\n text\\n options\\n askedAt\\n }\\n memoryMiB\\n maxSeconds\\n metadata\\n error\\n exitCode\\n vmID\\n transcriptAvailable\\n usage {\\n vmSeconds\\n memoryMiB\\n mibSeconds\\n }\\n createdAt\\n startedAt\\n settledAt\\n }\\n\": typeof types.RunFieldsFragmentDoc,\n \"\\n mutation SdkCreateRun($input: CreateRunInput!) {\\n createRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkCreateRunDocument,\n \"\\n query SdkGetRun($id: ID!) {\\n run(id: $id) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkGetRunDocument,\n \"\\n query SdkPollRun($id: ID!) {\\n run(id: $id) {\\n id\\n status\\n error\\n exitCode\\n }\\n }\\n\": typeof types.SdkPollRunDocument,\n \"\\n query SdkListRuns($input: ListRunsInput) {\\n runs(input: $input) {\\n items {\\n ...RunFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": typeof types.SdkListRunsDocument,\n \"\\n mutation SdkCancelRun($id: ID!) {\\n cancelRun(id: $id) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkCancelRunDocument,\n \"\\n query SdkRunEvents($runID: ID!, $limit: Int) {\\n runEvents(runID: $runID, limit: $limit) {\\n id\\n runID\\n type\\n severity\\n message\\n metadata\\n createdAt\\n }\\n }\\n\": typeof types.SdkRunEventsDocument,\n \"\\n query SdkRunConsole($id: ID!, $tailBytes: Int) {\\n runConsole(id: $id, tailBytes: $tailBytes) {\\n runID\\n running\\n text\\n }\\n }\\n\": typeof types.SdkRunConsoleDocument,\n \"\\n query SdkRunTranscript($id: ID!, $tailBytes: Int) {\\n runTranscript(id: $id, tailBytes: $tailBytes) {\\n runID\\n available\\n text\\n totalBytes\\n truncated\\n }\\n }\\n\": typeof types.SdkRunTranscriptDocument,\n \"\\n mutation SdkAnswerRun($id: ID!, $answer: String!) {\\n answerRun(id: $id, answer: $answer) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkAnswerRunDocument,\n \"\\n mutation SdkFollowUpRun($input: FollowUpRunInput!) {\\n followUpRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkFollowUpRunDocument,\n};\nconst documents: Documents = {\n \"\\n fragment DeploymentFields on Deployment {\\n id\\n workspaceID\\n kind\\n runtime\\n alias\\n serviceMode\\n healthPath\\n cronSchedule\\n cronPath\\n url\\n previewUrl\\n sshCommand\\n aliasHeld\\n aliasRevision\\n status\\n error\\n filesCount\\n sizeBytes\\n size\\n spaMode\\n gitRepo\\n gitCommit\\n createdAt\\n }\\n\": types.DeploymentFieldsFragmentDoc,\n \"\\n query SdkWhoami {\\n whoami {\\n kind\\n userID\\n name\\n agentID\\n agentName\\n claimed\\n claimedBy\\n scopes\\n expiresAt\\n usage {\\n month\\n requests\\n limit\\n }\\n resources {\\n workspaces\\n workspaceLimit\\n services\\n serviceLimit\\n }\\n }\\n }\\n\": types.SdkWhoamiDocument,\n \"\\n mutation SdkCreateWorkspace($name: String!) {\\n createWorkspace(input: { name: $name }) {\\n workspace {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkCreateWorkspaceDocument,\n \"\\n query SdkListWorkspaces {\\n workspaces {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n\": types.SdkListWorkspacesDocument,\n \"\\n mutation SdkDeleteWorkspace($workspaceID: ID!, $withDeployments: Boolean) {\\n deleteWorkspace(input: { workspaceID: $workspaceID, withDeployments: $withDeployments }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteWorkspaceDocument,\n \"\\n mutation SdkWriteTextFile($workspaceID: ID!, $path: String!, $text: String!) {\\n writeWorkspaceTextFile(input: { workspaceID: $workspaceID, path: $path, text: $text }) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkWriteTextFileDocument,\n \"\\n mutation SdkWriteBase64File($workspaceID: ID!, $path: String!, $contentBase64: String!) {\\n writeWorkspaceBase64File(\\n input: { workspaceID: $workspaceID, path: $path, contentBase64: $contentBase64 }\\n ) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkWriteBase64FileDocument,\n \"\\n query SdkListFiles($input: ListWorkspaceFilesInput!) {\\n workspaceFilesPage(input: $input) {\\n items {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": types.SdkListFilesDocument,\n \"\\n query SdkReadFile($input: ReadWorkspaceFileInput!) {\\n readWorkspaceFile(input: $input) {\\n text\\n offset\\n limit\\n totalBytes\\n truncated\\n nextOffset\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkReadFileDocument,\n \"\\n mutation SdkDeleteFile($workspaceID: ID!, $path: String!) {\\n deleteWorkspaceFile(input: { workspaceID: $workspaceID, path: $path }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteFileDocument,\n \"\\n mutation SdkCreateDeployment($input: CreateDeploymentInput!) {\\n createDeployment(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": types.SdkCreateDeploymentDocument,\n \"\\n mutation SdkDeployWorkspace($input: DeployWorkspaceInput!) {\\n deployWorkspace(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": types.SdkDeployWorkspaceDocument,\n \"\\n query SdkGetDeployment($id: ID!) {\\n deployment(id: $id) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkGetDeploymentDocument,\n \"\\n query SdkPollDeployment($id: ID!) {\\n deployment(id: $id) {\\n id\\n status\\n error\\n aliasHeld\\n url\\n previewUrl\\n }\\n }\\n\": types.SdkPollDeploymentDocument,\n \"\\n query SdkGetDeploymentByAlias($alias: String!) {\\n deploymentByAlias(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkGetDeploymentByAliasDocument,\n \"\\n query SdkListDeployments($input: ListDeploymentsInput) {\\n deploymentsPage(input: $input) {\\n items {\\n ...DeploymentFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": types.SdkListDeploymentsDocument,\n \"\\n query SdkListReleases($alias: String!) {\\n deploymentReleases(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkListReleasesDocument,\n \"\\n mutation SdkRollback(\\n $deploymentID: ID!\\n $expectedCurrentDeploymentID: ID!\\n $expectedCurrentAliasRevision: String!\\n ) {\\n rollbackDeployment(\\n input: {\\n deploymentID: $deploymentID\\n expectedCurrentDeploymentID: $expectedCurrentDeploymentID\\n expectedCurrentAliasRevision: $expectedCurrentAliasRevision\\n }\\n ) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkRollbackDocument,\n \"\\n query SdkServiceStatus($deploymentID: ID!) {\\n serviceStatus(deploymentID: $deploymentID) {\\n deploymentID\\n alias\\n serviceMode\\n running\\n health\\n vmID\\n inFlight\\n alwaysOn\\n memSizeMiB\\n startedAt\\n lastUsedAt\\n lastStoppedAt\\n restartCount\\n lastError\\n }\\n }\\n\": types.SdkServiceStatusDocument,\n \"\\n query SdkServiceLogs($deploymentID: ID!, $tailBytes: Int) {\\n serviceLogs(deploymentID: $deploymentID, tailBytes: $tailBytes) {\\n deploymentID\\n stdout\\n stderr\\n truncated\\n stdoutBytes\\n stderrBytes\\n tailBytes\\n }\\n }\\n\": types.SdkServiceLogsDocument,\n \"\\n query SdkDeploymentEvents($deploymentID: ID!, $limit: Int) {\\n deploymentEvents(deploymentID: $deploymentID, limit: $limit) {\\n id\\n deploymentID\\n type\\n rawType\\n severity\\n message\\n vmID\\n createdAt\\n }\\n }\\n\": types.SdkDeploymentEventsDocument,\n \"\\n mutation SdkRestartService($deploymentID: ID!) {\\n restartService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": types.SdkRestartServiceDocument,\n \"\\n mutation SdkStopService($deploymentID: ID!) {\\n stopService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": types.SdkStopServiceDocument,\n \"\\n mutation SdkDeleteDeployment($deploymentID: ID!) {\\n deleteDeployment(input: { deploymentID: $deploymentID }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteDeploymentDocument,\n \"\\n mutation SdkSetWorkspaceEnv($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetWorkspaceEnvDocument,\n \"\\n mutation SdkSetWorkspaceSecret($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceSecret(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetWorkspaceSecretDocument,\n \"\\n mutation SdkDeleteWorkspaceEnv($workspaceID: ID!, $name: String!) {\\n deleteWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteWorkspaceEnvDocument,\n \"\\n query SdkListWorkspaceEnv($workspaceID: ID!) {\\n workspaceEnv(workspaceID: $workspaceID) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": types.SdkListWorkspaceEnvDocument,\n \"\\n mutation SdkSetAppEnv($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetAppEnvDocument,\n \"\\n mutation SdkSetAppSecret($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppSecret(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetAppSecretDocument,\n \"\\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": types.SdkRemoveAppEnvDocument,\n \"\\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": types.SdkInheritAppEnvDocument,\n \"\\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\\n appEnv(workspaceID: $workspaceID, alias: $alias) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": types.SdkListAppEnvDocument,\n \"\\n fragment RunFields on Run {\\n id\\n workspaceID\\n ownerId\\n status\\n rawStatus\\n command\\n harness\\n prompt\\n setup\\n skills\\n approval\\n mode\\n parentRunID\\n depth\\n question {\\n id\\n text\\n options\\n askedAt\\n }\\n memoryMiB\\n maxSeconds\\n metadata\\n error\\n exitCode\\n vmID\\n transcriptAvailable\\n usage {\\n vmSeconds\\n memoryMiB\\n mibSeconds\\n }\\n createdAt\\n startedAt\\n settledAt\\n }\\n\": types.RunFieldsFragmentDoc,\n \"\\n mutation SdkCreateRun($input: CreateRunInput!) {\\n createRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": types.SdkCreateRunDocument,\n \"\\n query SdkGetRun($id: ID!) {\\n run(id: $id) {\\n ...RunFields\\n }\\n }\\n\": types.SdkGetRunDocument,\n \"\\n query SdkPollRun($id: ID!) {\\n run(id: $id) {\\n id\\n status\\n error\\n exitCode\\n }\\n }\\n\": types.SdkPollRunDocument,\n \"\\n query SdkListRuns($input: ListRunsInput) {\\n runs(input: $input) {\\n items {\\n ...RunFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": types.SdkListRunsDocument,\n \"\\n mutation SdkCancelRun($id: ID!) {\\n cancelRun(id: $id) {\\n ...RunFields\\n }\\n }\\n\": types.SdkCancelRunDocument,\n \"\\n query SdkRunEvents($runID: ID!, $limit: Int) {\\n runEvents(runID: $runID, limit: $limit) {\\n id\\n runID\\n type\\n severity\\n message\\n metadata\\n createdAt\\n }\\n }\\n\": types.SdkRunEventsDocument,\n \"\\n query SdkRunConsole($id: ID!, $tailBytes: Int) {\\n runConsole(id: $id, tailBytes: $tailBytes) {\\n runID\\n running\\n text\\n }\\n }\\n\": types.SdkRunConsoleDocument,\n \"\\n query SdkRunTranscript($id: ID!, $tailBytes: Int) {\\n runTranscript(id: $id, tailBytes: $tailBytes) {\\n runID\\n available\\n text\\n totalBytes\\n truncated\\n }\\n }\\n\": types.SdkRunTranscriptDocument,\n \"\\n mutation SdkAnswerRun($id: ID!, $answer: String!) {\\n answerRun(id: $id, answer: $answer) {\\n ...RunFields\\n }\\n }\\n\": types.SdkAnswerRunDocument,\n \"\\n mutation SdkFollowUpRun($input: FollowUpRunInput!) {\\n followUpRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": types.SdkFollowUpRunDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment DeploymentFields on Deployment {\\n id\\n workspaceID\\n kind\\n runtime\\n alias\\n serviceMode\\n healthPath\\n cronSchedule\\n cronPath\\n url\\n previewUrl\\n sshCommand\\n aliasHeld\\n aliasRevision\\n status\\n error\\n filesCount\\n sizeBytes\\n size\\n spaMode\\n gitRepo\\n gitCommit\\n createdAt\\n }\\n\"): typeof import('./graphql.js').DeploymentFieldsFragmentDoc;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkWhoami {\\n whoami {\\n kind\\n userID\\n name\\n agentID\\n agentName\\n claimed\\n claimedBy\\n scopes\\n expiresAt\\n usage {\\n month\\n requests\\n limit\\n }\\n resources {\\n workspaces\\n workspaceLimit\\n services\\n serviceLimit\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkWhoamiDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCreateWorkspace($name: String!) {\\n createWorkspace(input: { name: $name }) {\\n workspace {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCreateWorkspaceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListWorkspaces {\\n workspaces {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListWorkspacesDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteWorkspace($workspaceID: ID!, $withDeployments: Boolean) {\\n deleteWorkspace(input: { workspaceID: $workspaceID, withDeployments: $withDeployments }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteWorkspaceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkWriteTextFile($workspaceID: ID!, $path: String!, $text: String!) {\\n writeWorkspaceTextFile(input: { workspaceID: $workspaceID, path: $path, text: $text }) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkWriteTextFileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkWriteBase64File($workspaceID: ID!, $path: String!, $contentBase64: String!) {\\n writeWorkspaceBase64File(\\n input: { workspaceID: $workspaceID, path: $path, contentBase64: $contentBase64 }\\n ) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkWriteBase64FileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListFiles($input: ListWorkspaceFilesInput!) {\\n workspaceFilesPage(input: $input) {\\n items {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListFilesDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkReadFile($input: ReadWorkspaceFileInput!) {\\n readWorkspaceFile(input: $input) {\\n text\\n offset\\n limit\\n totalBytes\\n truncated\\n nextOffset\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkReadFileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteFile($workspaceID: ID!, $path: String!) {\\n deleteWorkspaceFile(input: { workspaceID: $workspaceID, path: $path }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteFileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCreateDeployment($input: CreateDeploymentInput!) {\\n createDeployment(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCreateDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeployWorkspace($input: DeployWorkspaceInput!) {\\n deployWorkspace(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeployWorkspaceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkGetDeployment($id: ID!) {\\n deployment(id: $id) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkGetDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkPollDeployment($id: ID!) {\\n deployment(id: $id) {\\n id\\n status\\n error\\n aliasHeld\\n url\\n previewUrl\\n }\\n }\\n\"): typeof import('./graphql.js').SdkPollDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkGetDeploymentByAlias($alias: String!) {\\n deploymentByAlias(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkGetDeploymentByAliasDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListDeployments($input: ListDeploymentsInput) {\\n deploymentsPage(input: $input) {\\n items {\\n ...DeploymentFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListDeploymentsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListReleases($alias: String!) {\\n deploymentReleases(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListReleasesDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkRollback(\\n $deploymentID: ID!\\n $expectedCurrentDeploymentID: ID!\\n $expectedCurrentAliasRevision: String!\\n ) {\\n rollbackDeployment(\\n input: {\\n deploymentID: $deploymentID\\n expectedCurrentDeploymentID: $expectedCurrentDeploymentID\\n expectedCurrentAliasRevision: $expectedCurrentAliasRevision\\n }\\n ) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRollbackDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkServiceStatus($deploymentID: ID!) {\\n serviceStatus(deploymentID: $deploymentID) {\\n deploymentID\\n alias\\n serviceMode\\n running\\n health\\n vmID\\n inFlight\\n alwaysOn\\n memSizeMiB\\n startedAt\\n lastUsedAt\\n lastStoppedAt\\n restartCount\\n lastError\\n }\\n }\\n\"): typeof import('./graphql.js').SdkServiceStatusDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkServiceLogs($deploymentID: ID!, $tailBytes: Int) {\\n serviceLogs(deploymentID: $deploymentID, tailBytes: $tailBytes) {\\n deploymentID\\n stdout\\n stderr\\n truncated\\n stdoutBytes\\n stderrBytes\\n tailBytes\\n }\\n }\\n\"): typeof import('./graphql.js').SdkServiceLogsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkDeploymentEvents($deploymentID: ID!, $limit: Int) {\\n deploymentEvents(deploymentID: $deploymentID, limit: $limit) {\\n id\\n deploymentID\\n type\\n rawType\\n severity\\n message\\n vmID\\n createdAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeploymentEventsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkRestartService($deploymentID: ID!) {\\n restartService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRestartServiceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkStopService($deploymentID: ID!) {\\n stopService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\"): typeof import('./graphql.js').SdkStopServiceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteDeployment($deploymentID: ID!) {\\n deleteDeployment(input: { deploymentID: $deploymentID }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetWorkspaceEnv($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetWorkspaceEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetWorkspaceSecret($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceSecret(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetWorkspaceSecretDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteWorkspaceEnv($workspaceID: ID!, $name: String!) {\\n deleteWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteWorkspaceEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListWorkspaceEnv($workspaceID: ID!) {\\n workspaceEnv(workspaceID: $workspaceID) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListWorkspaceEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetAppEnv($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetAppSecret($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppSecret(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetAppSecretDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRemoveAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkInheritAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\\n appEnv(workspaceID: $workspaceID, alias: $alias) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment RunFields on Run {\\n id\\n workspaceID\\n ownerId\\n status\\n rawStatus\\n command\\n harness\\n prompt\\n setup\\n skills\\n approval\\n mode\\n parentRunID\\n depth\\n question {\\n id\\n text\\n options\\n askedAt\\n }\\n memoryMiB\\n maxSeconds\\n metadata\\n error\\n exitCode\\n vmID\\n transcriptAvailable\\n usage {\\n vmSeconds\\n memoryMiB\\n mibSeconds\\n }\\n createdAt\\n startedAt\\n settledAt\\n }\\n\"): typeof import('./graphql.js').RunFieldsFragmentDoc;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCreateRun($input: CreateRunInput!) {\\n createRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCreateRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkGetRun($id: ID!) {\\n run(id: $id) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkGetRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkPollRun($id: ID!) {\\n run(id: $id) {\\n id\\n status\\n error\\n exitCode\\n }\\n }\\n\"): typeof import('./graphql.js').SdkPollRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListRuns($input: ListRunsInput) {\\n runs(input: $input) {\\n items {\\n ...RunFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListRunsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCancelRun($id: ID!) {\\n cancelRun(id: $id) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCancelRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkRunEvents($runID: ID!, $limit: Int) {\\n runEvents(runID: $runID, limit: $limit) {\\n id\\n runID\\n type\\n severity\\n message\\n metadata\\n createdAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRunEventsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkRunConsole($id: ID!, $tailBytes: Int) {\\n runConsole(id: $id, tailBytes: $tailBytes) {\\n runID\\n running\\n text\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRunConsoleDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkRunTranscript($id: ID!, $tailBytes: Int) {\\n runTranscript(id: $id, tailBytes: $tailBytes) {\\n runID\\n available\\n text\\n totalBytes\\n truncated\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRunTranscriptDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkAnswerRun($id: ID!, $answer: String!) {\\n answerRun(id: $id, answer: $answer) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkAnswerRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkFollowUpRun($input: FollowUpRunInput!) {\\n followUpRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkFollowUpRunDocument;\n\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n"]}
1
+ {"version":3,"file":"gql.js","sourceRoot":"","sources":["../../src/generated/gql.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AA6DtC,MAAM,SAAS,GAAc;IACzB,qXAAqX,EAAE,KAAK,CAAC,2BAA2B;IACxZ,gXAAgX,EAAE,KAAK,CAAC,iBAAiB;IACzY,gPAAgP,EAAE,KAAK,CAAC,0BAA0B;IAClR,uJAAuJ,EAAE,KAAK,CAAC,yBAAyB;IACxL,yMAAyM,EAAE,KAAK,CAAC,0BAA0B;IAC3O,ySAAyS,EAAE,KAAK,CAAC,wBAAwB;IACzU,sVAAsV,EAAE,KAAK,CAAC,0BAA0B;IACxX,sSAAsS,EAAE,KAAK,CAAC,oBAAoB;IAClU,qTAAqT,EAAE,KAAK,CAAC,mBAAmB;IAChV,uKAAuK,EAAE,KAAK,CAAC,qBAAqB;IACpM,mLAAmL,EAAE,KAAK,CAAC,2BAA2B;IACtN,gLAAgL,EAAE,KAAK,CAAC,0BAA0B;IAClN,4GAA4G,EAAE,KAAK,CAAC,wBAAwB;IAC5I,qKAAqK,EAAE,KAAK,CAAC,yBAAyB;IACtM,uIAAuI,EAAE,KAAK,CAAC,+BAA+B;IAC9K,gPAAgP,EAAE,KAAK,CAAC,0BAA0B;IAClR,gIAAgI,EAAE,KAAK,CAAC,uBAAuB;IAC/J,8ZAA8Z,EAAE,KAAK,CAAC,mBAAmB;IACzb,8VAA8V,EAAE,KAAK,CAAC,wBAAwB;IAC9X,8QAA8Q,EAAE,KAAK,CAAC,sBAAsB;IAC5S,yQAAyQ,EAAE,KAAK,CAAC,2BAA2B;IAC5S,oOAAoO,EAAE,KAAK,CAAC,yBAAyB;IACrQ,8NAA8N,EAAE,KAAK,CAAC,sBAAsB;IAC5P,gJAAgJ,EAAE,KAAK,CAAC,2BAA2B;IACnL,sUAAsU,EAAE,KAAK,CAAC,0BAA0B;IACxW,4UAA4U,EAAE,KAAK,CAAC,6BAA6B;IACjX,8KAA8K,EAAE,KAAK,CAAC,6BAA6B;IACnN,qNAAqN,EAAE,KAAK,CAAC,2BAA2B;IACxP,0VAA0V,EAAE,KAAK,CAAC,oBAAoB;IACtX,gWAAgW,EAAE,KAAK,CAAC,uBAAuB;IAC/X,kMAAkM,EAAE,KAAK,CAAC,uBAAuB;IACjO,oMAAoM,EAAE,KAAK,CAAC,wBAAwB;IACpO,yOAAyO,EAAE,KAAK,CAAC,qBAAqB;IACtQ,gmBAAgmB,EAAE,KAAK,CAAC,oBAAoB;IAC5nB,wHAAwH,EAAE,KAAK,CAAC,oBAAoB;IACpJ,uFAAuF,EAAE,KAAK,CAAC,iBAAiB;IAChH,yHAAyH,EAAE,KAAK,CAAC,kBAAkB;IACnJ,gNAAgN,EAAE,KAAK,CAAC,mBAAmB;IAC3O,mGAAmG,EAAE,KAAK,CAAC,oBAAoB;IAC/H,oNAAoN,EAAE,KAAK,CAAC,oBAAoB;IAChP,8JAA8J,EAAE,KAAK,CAAC,qBAAqB;IAC3L,yMAAyM,EAAE,KAAK,CAAC,wBAAwB;IACzO,sIAAsI,EAAE,KAAK,CAAC,oBAAoB;IAClK,8HAA8H,EAAE,KAAK,CAAC,sBAAsB;CAC/J,CAAC;AAoLF,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAQ,SAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC","sourcesContent":["/* eslint-disable */\nimport * as types from './graphql.js';\n\n\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size\n */\ntype Documents = {\n \"\\n fragment DeploymentFields on Deployment {\\n id\\n workspaceID\\n kind\\n runtime\\n alias\\n serviceMode\\n healthPath\\n cronSchedule\\n cronPath\\n url\\n previewUrl\\n sshCommand\\n aliasHeld\\n aliasRevision\\n status\\n error\\n filesCount\\n sizeBytes\\n size\\n spaMode\\n gitRepo\\n gitCommit\\n createdAt\\n }\\n\": typeof types.DeploymentFieldsFragmentDoc,\n \"\\n query SdkWhoami {\\n whoami {\\n kind\\n userID\\n name\\n agentID\\n agentName\\n claimed\\n claimedBy\\n scopes\\n expiresAt\\n usage {\\n month\\n requests\\n limit\\n }\\n resources {\\n workspaces\\n workspaceLimit\\n services\\n serviceLimit\\n }\\n }\\n }\\n\": typeof types.SdkWhoamiDocument,\n \"\\n mutation SdkCreateWorkspace($name: String!) {\\n createWorkspace(input: { name: $name }) {\\n workspace {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkCreateWorkspaceDocument,\n \"\\n query SdkListWorkspaces {\\n workspaces {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n\": typeof types.SdkListWorkspacesDocument,\n \"\\n mutation SdkDeleteWorkspace($workspaceID: ID!, $withDeployments: Boolean) {\\n deleteWorkspace(input: { workspaceID: $workspaceID, withDeployments: $withDeployments }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteWorkspaceDocument,\n \"\\n mutation SdkWriteTextFile($workspaceID: ID!, $path: String!, $text: String!) {\\n writeWorkspaceTextFile(input: { workspaceID: $workspaceID, path: $path, text: $text }) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkWriteTextFileDocument,\n \"\\n mutation SdkWriteBase64File($workspaceID: ID!, $path: String!, $contentBase64: String!) {\\n writeWorkspaceBase64File(\\n input: { workspaceID: $workspaceID, path: $path, contentBase64: $contentBase64 }\\n ) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkWriteBase64FileDocument,\n \"\\n query SdkListFiles($input: ListWorkspaceFilesInput!) {\\n workspaceFilesPage(input: $input) {\\n items {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": typeof types.SdkListFilesDocument,\n \"\\n query SdkReadFile($input: ReadWorkspaceFileInput!) {\\n readWorkspaceFile(input: $input) {\\n text\\n offset\\n limit\\n totalBytes\\n truncated\\n nextOffset\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkReadFileDocument,\n \"\\n mutation SdkDeleteFile($workspaceID: ID!, $path: String!) {\\n deleteWorkspaceFile(input: { workspaceID: $workspaceID, path: $path }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteFileDocument,\n \"\\n mutation SdkCreateDeployment($input: CreateDeploymentInput!) {\\n createDeployment(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": typeof types.SdkCreateDeploymentDocument,\n \"\\n mutation SdkDeployWorkspace($input: DeployWorkspaceInput!) {\\n deployWorkspace(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": typeof types.SdkDeployWorkspaceDocument,\n \"\\n query SdkGetDeployment($id: ID!) {\\n deployment(id: $id) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkGetDeploymentDocument,\n \"\\n query SdkPollDeployment($id: ID!) {\\n deployment(id: $id) {\\n id\\n status\\n error\\n aliasHeld\\n url\\n previewUrl\\n }\\n }\\n\": typeof types.SdkPollDeploymentDocument,\n \"\\n query SdkGetDeploymentByAlias($alias: String!) {\\n deploymentByAlias(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkGetDeploymentByAliasDocument,\n \"\\n query SdkListDeployments($input: ListDeploymentsInput) {\\n deploymentsPage(input: $input) {\\n items {\\n ...DeploymentFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": typeof types.SdkListDeploymentsDocument,\n \"\\n query SdkListReleases($alias: String!) {\\n deploymentReleases(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkListReleasesDocument,\n \"\\n mutation SdkRollback(\\n $deploymentID: ID!\\n $expectedCurrentDeploymentID: ID!\\n $expectedCurrentAliasRevision: String!\\n ) {\\n rollbackDeployment(\\n input: {\\n deploymentID: $deploymentID\\n expectedCurrentDeploymentID: $expectedCurrentDeploymentID\\n expectedCurrentAliasRevision: $expectedCurrentAliasRevision\\n }\\n ) {\\n ...DeploymentFields\\n }\\n }\\n\": typeof types.SdkRollbackDocument,\n \"\\n query SdkServiceStatus($deploymentID: ID!) {\\n serviceStatus(deploymentID: $deploymentID) {\\n deploymentID\\n alias\\n serviceMode\\n running\\n health\\n vmID\\n inFlight\\n alwaysOn\\n memSizeMiB\\n startedAt\\n lastUsedAt\\n lastStoppedAt\\n restartCount\\n lastError\\n }\\n }\\n\": typeof types.SdkServiceStatusDocument,\n \"\\n query SdkServiceLogs($deploymentID: ID!, $tailBytes: Int) {\\n serviceLogs(deploymentID: $deploymentID, tailBytes: $tailBytes) {\\n deploymentID\\n stdout\\n stderr\\n truncated\\n stdoutBytes\\n stderrBytes\\n tailBytes\\n }\\n }\\n\": typeof types.SdkServiceLogsDocument,\n \"\\n query SdkDeploymentEvents($deploymentID: ID!, $limit: Int) {\\n deploymentEvents(deploymentID: $deploymentID, limit: $limit) {\\n id\\n deploymentID\\n type\\n rawType\\n severity\\n message\\n vmID\\n createdAt\\n }\\n }\\n\": typeof types.SdkDeploymentEventsDocument,\n \"\\n mutation SdkRestartService($deploymentID: ID!) {\\n restartService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": typeof types.SdkRestartServiceDocument,\n \"\\n mutation SdkStopService($deploymentID: ID!) {\\n stopService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": typeof types.SdkStopServiceDocument,\n \"\\n mutation SdkDeleteDeployment($deploymentID: ID!) {\\n deleteDeployment(input: { deploymentID: $deploymentID }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteDeploymentDocument,\n \"\\n mutation SdkSetWorkspaceEnv($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetWorkspaceEnvDocument,\n \"\\n mutation SdkSetWorkspaceSecret($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceSecret(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetWorkspaceSecretDocument,\n \"\\n mutation SdkDeleteWorkspaceEnv($workspaceID: ID!, $name: String!) {\\n deleteWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name }) {\\n ok\\n }\\n }\\n\": typeof types.SdkDeleteWorkspaceEnvDocument,\n \"\\n query SdkListWorkspaceEnv($workspaceID: ID!) {\\n workspaceEnv(workspaceID: $workspaceID) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": typeof types.SdkListWorkspaceEnvDocument,\n \"\\n mutation SdkSetAppEnv($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetAppEnvDocument,\n \"\\n mutation SdkSetAppSecret($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppSecret(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": typeof types.SdkSetAppSecretDocument,\n \"\\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": typeof types.SdkRemoveAppEnvDocument,\n \"\\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": typeof types.SdkInheritAppEnvDocument,\n \"\\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\\n appEnv(workspaceID: $workspaceID, alias: $alias) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": typeof types.SdkListAppEnvDocument,\n \"\\n fragment RunFields on Run {\\n id\\n workspaceID\\n ownerId\\n status\\n rawStatus\\n command\\n harness\\n prompt\\n setup\\n skills\\n verify\\n approval\\n mode\\n parentRunID\\n depth\\n question {\\n id\\n text\\n options\\n askedAt\\n }\\n memoryMiB\\n maxSeconds\\n metadata\\n error\\n exitCode\\n result {\\n status\\n detail\\n text\\n }\\n verifyExitCode\\n vmID\\n transcriptAvailable\\n usage {\\n vmSeconds\\n memoryMiB\\n mibSeconds\\n }\\n createdAt\\n startedAt\\n settledAt\\n }\\n\": typeof types.RunFieldsFragmentDoc,\n \"\\n mutation SdkCreateRun($input: CreateRunInput!) {\\n createRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkCreateRunDocument,\n \"\\n query SdkGetRun($id: ID!) {\\n run(id: $id) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkGetRunDocument,\n \"\\n query SdkPollRun($id: ID!) {\\n run(id: $id) {\\n id\\n status\\n error\\n exitCode\\n }\\n }\\n\": typeof types.SdkPollRunDocument,\n \"\\n query SdkListRuns($input: ListRunsInput) {\\n runs(input: $input) {\\n items {\\n ...RunFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": typeof types.SdkListRunsDocument,\n \"\\n mutation SdkCancelRun($id: ID!) {\\n cancelRun(id: $id) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkCancelRunDocument,\n \"\\n query SdkRunEvents($runID: ID!, $limit: Int) {\\n runEvents(runID: $runID, limit: $limit) {\\n id\\n runID\\n type\\n severity\\n message\\n metadata\\n createdAt\\n }\\n }\\n\": typeof types.SdkRunEventsDocument,\n \"\\n query SdkRunConsole($id: ID!, $tailBytes: Int) {\\n runConsole(id: $id, tailBytes: $tailBytes) {\\n runID\\n running\\n text\\n }\\n }\\n\": typeof types.SdkRunConsoleDocument,\n \"\\n query SdkRunTranscript($id: ID!, $tailBytes: Int) {\\n runTranscript(id: $id, tailBytes: $tailBytes) {\\n runID\\n available\\n text\\n totalBytes\\n truncated\\n }\\n }\\n\": typeof types.SdkRunTranscriptDocument,\n \"\\n mutation SdkAnswerRun($id: ID!, $answer: String!) {\\n answerRun(id: $id, answer: $answer) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkAnswerRunDocument,\n \"\\n mutation SdkFollowUpRun($input: FollowUpRunInput!) {\\n followUpRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": typeof types.SdkFollowUpRunDocument,\n};\nconst documents: Documents = {\n \"\\n fragment DeploymentFields on Deployment {\\n id\\n workspaceID\\n kind\\n runtime\\n alias\\n serviceMode\\n healthPath\\n cronSchedule\\n cronPath\\n url\\n previewUrl\\n sshCommand\\n aliasHeld\\n aliasRevision\\n status\\n error\\n filesCount\\n sizeBytes\\n size\\n spaMode\\n gitRepo\\n gitCommit\\n createdAt\\n }\\n\": types.DeploymentFieldsFragmentDoc,\n \"\\n query SdkWhoami {\\n whoami {\\n kind\\n userID\\n name\\n agentID\\n agentName\\n claimed\\n claimedBy\\n scopes\\n expiresAt\\n usage {\\n month\\n requests\\n limit\\n }\\n resources {\\n workspaces\\n workspaceLimit\\n services\\n serviceLimit\\n }\\n }\\n }\\n\": types.SdkWhoamiDocument,\n \"\\n mutation SdkCreateWorkspace($name: String!) {\\n createWorkspace(input: { name: $name }) {\\n workspace {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkCreateWorkspaceDocument,\n \"\\n query SdkListWorkspaces {\\n workspaces {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n\": types.SdkListWorkspacesDocument,\n \"\\n mutation SdkDeleteWorkspace($workspaceID: ID!, $withDeployments: Boolean) {\\n deleteWorkspace(input: { workspaceID: $workspaceID, withDeployments: $withDeployments }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteWorkspaceDocument,\n \"\\n mutation SdkWriteTextFile($workspaceID: ID!, $path: String!, $text: String!) {\\n writeWorkspaceTextFile(input: { workspaceID: $workspaceID, path: $path, text: $text }) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkWriteTextFileDocument,\n \"\\n mutation SdkWriteBase64File($workspaceID: ID!, $path: String!, $contentBase64: String!) {\\n writeWorkspaceBase64File(\\n input: { workspaceID: $workspaceID, path: $path, contentBase64: $contentBase64 }\\n ) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkWriteBase64FileDocument,\n \"\\n query SdkListFiles($input: ListWorkspaceFilesInput!) {\\n workspaceFilesPage(input: $input) {\\n items {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": types.SdkListFilesDocument,\n \"\\n query SdkReadFile($input: ReadWorkspaceFileInput!) {\\n readWorkspaceFile(input: $input) {\\n text\\n offset\\n limit\\n totalBytes\\n truncated\\n nextOffset\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkReadFileDocument,\n \"\\n mutation SdkDeleteFile($workspaceID: ID!, $path: String!) {\\n deleteWorkspaceFile(input: { workspaceID: $workspaceID, path: $path }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteFileDocument,\n \"\\n mutation SdkCreateDeployment($input: CreateDeploymentInput!) {\\n createDeployment(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": types.SdkCreateDeploymentDocument,\n \"\\n mutation SdkDeployWorkspace($input: DeployWorkspaceInput!) {\\n deployWorkspace(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\": types.SdkDeployWorkspaceDocument,\n \"\\n query SdkGetDeployment($id: ID!) {\\n deployment(id: $id) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkGetDeploymentDocument,\n \"\\n query SdkPollDeployment($id: ID!) {\\n deployment(id: $id) {\\n id\\n status\\n error\\n aliasHeld\\n url\\n previewUrl\\n }\\n }\\n\": types.SdkPollDeploymentDocument,\n \"\\n query SdkGetDeploymentByAlias($alias: String!) {\\n deploymentByAlias(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkGetDeploymentByAliasDocument,\n \"\\n query SdkListDeployments($input: ListDeploymentsInput) {\\n deploymentsPage(input: $input) {\\n items {\\n ...DeploymentFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": types.SdkListDeploymentsDocument,\n \"\\n query SdkListReleases($alias: String!) {\\n deploymentReleases(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkListReleasesDocument,\n \"\\n mutation SdkRollback(\\n $deploymentID: ID!\\n $expectedCurrentDeploymentID: ID!\\n $expectedCurrentAliasRevision: String!\\n ) {\\n rollbackDeployment(\\n input: {\\n deploymentID: $deploymentID\\n expectedCurrentDeploymentID: $expectedCurrentDeploymentID\\n expectedCurrentAliasRevision: $expectedCurrentAliasRevision\\n }\\n ) {\\n ...DeploymentFields\\n }\\n }\\n\": types.SdkRollbackDocument,\n \"\\n query SdkServiceStatus($deploymentID: ID!) {\\n serviceStatus(deploymentID: $deploymentID) {\\n deploymentID\\n alias\\n serviceMode\\n running\\n health\\n vmID\\n inFlight\\n alwaysOn\\n memSizeMiB\\n startedAt\\n lastUsedAt\\n lastStoppedAt\\n restartCount\\n lastError\\n }\\n }\\n\": types.SdkServiceStatusDocument,\n \"\\n query SdkServiceLogs($deploymentID: ID!, $tailBytes: Int) {\\n serviceLogs(deploymentID: $deploymentID, tailBytes: $tailBytes) {\\n deploymentID\\n stdout\\n stderr\\n truncated\\n stdoutBytes\\n stderrBytes\\n tailBytes\\n }\\n }\\n\": types.SdkServiceLogsDocument,\n \"\\n query SdkDeploymentEvents($deploymentID: ID!, $limit: Int) {\\n deploymentEvents(deploymentID: $deploymentID, limit: $limit) {\\n id\\n deploymentID\\n type\\n rawType\\n severity\\n message\\n vmID\\n createdAt\\n }\\n }\\n\": types.SdkDeploymentEventsDocument,\n \"\\n mutation SdkRestartService($deploymentID: ID!) {\\n restartService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": types.SdkRestartServiceDocument,\n \"\\n mutation SdkStopService($deploymentID: ID!) {\\n stopService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\": types.SdkStopServiceDocument,\n \"\\n mutation SdkDeleteDeployment($deploymentID: ID!) {\\n deleteDeployment(input: { deploymentID: $deploymentID }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteDeploymentDocument,\n \"\\n mutation SdkSetWorkspaceEnv($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetWorkspaceEnvDocument,\n \"\\n mutation SdkSetWorkspaceSecret($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceSecret(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetWorkspaceSecretDocument,\n \"\\n mutation SdkDeleteWorkspaceEnv($workspaceID: ID!, $name: String!) {\\n deleteWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name }) {\\n ok\\n }\\n }\\n\": types.SdkDeleteWorkspaceEnvDocument,\n \"\\n query SdkListWorkspaceEnv($workspaceID: ID!) {\\n workspaceEnv(workspaceID: $workspaceID) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": types.SdkListWorkspaceEnvDocument,\n \"\\n mutation SdkSetAppEnv($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetAppEnvDocument,\n \"\\n mutation SdkSetAppSecret($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppSecret(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\": types.SdkSetAppSecretDocument,\n \"\\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": types.SdkRemoveAppEnvDocument,\n \"\\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\": types.SdkInheritAppEnvDocument,\n \"\\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\\n appEnv(workspaceID: $workspaceID, alias: $alias) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\": types.SdkListAppEnvDocument,\n \"\\n fragment RunFields on Run {\\n id\\n workspaceID\\n ownerId\\n status\\n rawStatus\\n command\\n harness\\n prompt\\n setup\\n skills\\n verify\\n approval\\n mode\\n parentRunID\\n depth\\n question {\\n id\\n text\\n options\\n askedAt\\n }\\n memoryMiB\\n maxSeconds\\n metadata\\n error\\n exitCode\\n result {\\n status\\n detail\\n text\\n }\\n verifyExitCode\\n vmID\\n transcriptAvailable\\n usage {\\n vmSeconds\\n memoryMiB\\n mibSeconds\\n }\\n createdAt\\n startedAt\\n settledAt\\n }\\n\": types.RunFieldsFragmentDoc,\n \"\\n mutation SdkCreateRun($input: CreateRunInput!) {\\n createRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": types.SdkCreateRunDocument,\n \"\\n query SdkGetRun($id: ID!) {\\n run(id: $id) {\\n ...RunFields\\n }\\n }\\n\": types.SdkGetRunDocument,\n \"\\n query SdkPollRun($id: ID!) {\\n run(id: $id) {\\n id\\n status\\n error\\n exitCode\\n }\\n }\\n\": types.SdkPollRunDocument,\n \"\\n query SdkListRuns($input: ListRunsInput) {\\n runs(input: $input) {\\n items {\\n ...RunFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\": types.SdkListRunsDocument,\n \"\\n mutation SdkCancelRun($id: ID!) {\\n cancelRun(id: $id) {\\n ...RunFields\\n }\\n }\\n\": types.SdkCancelRunDocument,\n \"\\n query SdkRunEvents($runID: ID!, $limit: Int) {\\n runEvents(runID: $runID, limit: $limit) {\\n id\\n runID\\n type\\n severity\\n message\\n metadata\\n createdAt\\n }\\n }\\n\": types.SdkRunEventsDocument,\n \"\\n query SdkRunConsole($id: ID!, $tailBytes: Int) {\\n runConsole(id: $id, tailBytes: $tailBytes) {\\n runID\\n running\\n text\\n }\\n }\\n\": types.SdkRunConsoleDocument,\n \"\\n query SdkRunTranscript($id: ID!, $tailBytes: Int) {\\n runTranscript(id: $id, tailBytes: $tailBytes) {\\n runID\\n available\\n text\\n totalBytes\\n truncated\\n }\\n }\\n\": types.SdkRunTranscriptDocument,\n \"\\n mutation SdkAnswerRun($id: ID!, $answer: String!) {\\n answerRun(id: $id, answer: $answer) {\\n ...RunFields\\n }\\n }\\n\": types.SdkAnswerRunDocument,\n \"\\n mutation SdkFollowUpRun($input: FollowUpRunInput!) {\\n followUpRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\": types.SdkFollowUpRunDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment DeploymentFields on Deployment {\\n id\\n workspaceID\\n kind\\n runtime\\n alias\\n serviceMode\\n healthPath\\n cronSchedule\\n cronPath\\n url\\n previewUrl\\n sshCommand\\n aliasHeld\\n aliasRevision\\n status\\n error\\n filesCount\\n sizeBytes\\n size\\n spaMode\\n gitRepo\\n gitCommit\\n createdAt\\n }\\n\"): typeof import('./graphql.js').DeploymentFieldsFragmentDoc;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkWhoami {\\n whoami {\\n kind\\n userID\\n name\\n agentID\\n agentName\\n claimed\\n claimedBy\\n scopes\\n expiresAt\\n usage {\\n month\\n requests\\n limit\\n }\\n resources {\\n workspaces\\n workspaceLimit\\n services\\n serviceLimit\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkWhoamiDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCreateWorkspace($name: String!) {\\n createWorkspace(input: { name: $name }) {\\n workspace {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCreateWorkspaceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListWorkspaces {\\n workspaces {\\n id\\n name\\n ownerId\\n projectId\\n createdAt\\n updatedAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListWorkspacesDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteWorkspace($workspaceID: ID!, $withDeployments: Boolean) {\\n deleteWorkspace(input: { workspaceID: $workspaceID, withDeployments: $withDeployments }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteWorkspaceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkWriteTextFile($workspaceID: ID!, $path: String!, $text: String!) {\\n writeWorkspaceTextFile(input: { workspaceID: $workspaceID, path: $path, text: $text }) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkWriteTextFileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkWriteBase64File($workspaceID: ID!, $path: String!, $contentBase64: String!) {\\n writeWorkspaceBase64File(\\n input: { workspaceID: $workspaceID, path: $path, contentBase64: $contentBase64 }\\n ) {\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkWriteBase64FileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListFiles($input: ListWorkspaceFilesInput!) {\\n workspaceFilesPage(input: $input) {\\n items {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListFilesDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkReadFile($input: ReadWorkspaceFileInput!) {\\n readWorkspaceFile(input: $input) {\\n text\\n offset\\n limit\\n totalBytes\\n truncated\\n nextOffset\\n file {\\n path\\n sizeBytes\\n size\\n sha256\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkReadFileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteFile($workspaceID: ID!, $path: String!) {\\n deleteWorkspaceFile(input: { workspaceID: $workspaceID, path: $path }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteFileDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCreateDeployment($input: CreateDeploymentInput!) {\\n createDeployment(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCreateDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeployWorkspace($input: DeployWorkspaceInput!) {\\n deployWorkspace(input: $input) {\\n deployment {\\n ...DeploymentFields\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeployWorkspaceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkGetDeployment($id: ID!) {\\n deployment(id: $id) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkGetDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkPollDeployment($id: ID!) {\\n deployment(id: $id) {\\n id\\n status\\n error\\n aliasHeld\\n url\\n previewUrl\\n }\\n }\\n\"): typeof import('./graphql.js').SdkPollDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkGetDeploymentByAlias($alias: String!) {\\n deploymentByAlias(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkGetDeploymentByAliasDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListDeployments($input: ListDeploymentsInput) {\\n deploymentsPage(input: $input) {\\n items {\\n ...DeploymentFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListDeploymentsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListReleases($alias: String!) {\\n deploymentReleases(alias: $alias) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListReleasesDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkRollback(\\n $deploymentID: ID!\\n $expectedCurrentDeploymentID: ID!\\n $expectedCurrentAliasRevision: String!\\n ) {\\n rollbackDeployment(\\n input: {\\n deploymentID: $deploymentID\\n expectedCurrentDeploymentID: $expectedCurrentDeploymentID\\n expectedCurrentAliasRevision: $expectedCurrentAliasRevision\\n }\\n ) {\\n ...DeploymentFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRollbackDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkServiceStatus($deploymentID: ID!) {\\n serviceStatus(deploymentID: $deploymentID) {\\n deploymentID\\n alias\\n serviceMode\\n running\\n health\\n vmID\\n inFlight\\n alwaysOn\\n memSizeMiB\\n startedAt\\n lastUsedAt\\n lastStoppedAt\\n restartCount\\n lastError\\n }\\n }\\n\"): typeof import('./graphql.js').SdkServiceStatusDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkServiceLogs($deploymentID: ID!, $tailBytes: Int) {\\n serviceLogs(deploymentID: $deploymentID, tailBytes: $tailBytes) {\\n deploymentID\\n stdout\\n stderr\\n truncated\\n stdoutBytes\\n stderrBytes\\n tailBytes\\n }\\n }\\n\"): typeof import('./graphql.js').SdkServiceLogsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkDeploymentEvents($deploymentID: ID!, $limit: Int) {\\n deploymentEvents(deploymentID: $deploymentID, limit: $limit) {\\n id\\n deploymentID\\n type\\n rawType\\n severity\\n message\\n vmID\\n createdAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeploymentEventsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkRestartService($deploymentID: ID!) {\\n restartService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRestartServiceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkStopService($deploymentID: ID!) {\\n stopService(input: { deploymentID: $deploymentID }) {\\n deploymentID\\n running\\n health\\n vmID\\n restartCount\\n lastError\\n }\\n }\\n\"): typeof import('./graphql.js').SdkStopServiceDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteDeployment($deploymentID: ID!) {\\n deleteDeployment(input: { deploymentID: $deploymentID }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteDeploymentDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetWorkspaceEnv($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetWorkspaceEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetWorkspaceSecret($workspaceID: ID!, $name: String!, $value: String!) {\\n setWorkspaceSecret(input: { workspaceID: $workspaceID, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetWorkspaceSecretDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkDeleteWorkspaceEnv($workspaceID: ID!, $name: String!) {\\n deleteWorkspaceEnv(input: { workspaceID: $workspaceID, name: $name }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkDeleteWorkspaceEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListWorkspaceEnv($workspaceID: ID!) {\\n workspaceEnv(workspaceID: $workspaceID) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListWorkspaceEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetAppEnv($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkSetAppSecret($workspaceID: ID!, $alias: String!, $name: String!, $value: String!) {\\n setAppSecret(input: { workspaceID: $workspaceID, alias: $alias, name: $name, value: $value }) {\\n env {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n }\\n\"): typeof import('./graphql.js').SdkSetAppSecretDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkRemoveAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n removeAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRemoveAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkInheritAppEnv($workspaceID: ID!, $alias: String!, $name: String!) {\\n inheritAppEnv(input: { workspaceID: $workspaceID, alias: $alias, name: $name }) {\\n ok\\n }\\n }\\n\"): typeof import('./graphql.js').SdkInheritAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListAppEnv($workspaceID: ID!, $alias: String!) {\\n appEnv(workspaceID: $workspaceID, alias: $alias) {\\n name\\n value\\n secret\\n alias\\n inherited\\n masked\\n updatedAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListAppEnvDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n fragment RunFields on Run {\\n id\\n workspaceID\\n ownerId\\n status\\n rawStatus\\n command\\n harness\\n prompt\\n setup\\n skills\\n verify\\n approval\\n mode\\n parentRunID\\n depth\\n question {\\n id\\n text\\n options\\n askedAt\\n }\\n memoryMiB\\n maxSeconds\\n metadata\\n error\\n exitCode\\n result {\\n status\\n detail\\n text\\n }\\n verifyExitCode\\n vmID\\n transcriptAvailable\\n usage {\\n vmSeconds\\n memoryMiB\\n mibSeconds\\n }\\n createdAt\\n startedAt\\n settledAt\\n }\\n\"): typeof import('./graphql.js').RunFieldsFragmentDoc;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCreateRun($input: CreateRunInput!) {\\n createRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCreateRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkGetRun($id: ID!) {\\n run(id: $id) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkGetRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkPollRun($id: ID!) {\\n run(id: $id) {\\n id\\n status\\n error\\n exitCode\\n }\\n }\\n\"): typeof import('./graphql.js').SdkPollRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkListRuns($input: ListRunsInput) {\\n runs(input: $input) {\\n items {\\n ...RunFields\\n }\\n total\\n limit\\n offset\\n hasMore\\n nextOffset\\n }\\n }\\n\"): typeof import('./graphql.js').SdkListRunsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkCancelRun($id: ID!) {\\n cancelRun(id: $id) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkCancelRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkRunEvents($runID: ID!, $limit: Int) {\\n runEvents(runID: $runID, limit: $limit) {\\n id\\n runID\\n type\\n severity\\n message\\n metadata\\n createdAt\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRunEventsDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkRunConsole($id: ID!, $tailBytes: Int) {\\n runConsole(id: $id, tailBytes: $tailBytes) {\\n runID\\n running\\n text\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRunConsoleDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n query SdkRunTranscript($id: ID!, $tailBytes: Int) {\\n runTranscript(id: $id, tailBytes: $tailBytes) {\\n runID\\n available\\n text\\n totalBytes\\n truncated\\n }\\n }\\n\"): typeof import('./graphql.js').SdkRunTranscriptDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkAnswerRun($id: ID!, $answer: String!) {\\n answerRun(id: $id, answer: $answer) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkAnswerRunDocument;\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\n mutation SdkFollowUpRun($input: FollowUpRunInput!) {\\n followUpRun(input: $input) {\\n ...RunFields\\n }\\n }\\n\"): typeof import('./graphql.js').SdkFollowUpRunDocument;\n\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n"]}
@@ -75,6 +75,8 @@ export type CreateRunInput = {
75
75
  setup?: Array<string> | null | undefined;
76
76
  /** Skills fetched into .claude/skills before the harness, as owner/repo:path. */
77
77
  skills?: Array<string> | null | undefined;
78
+ /** Shell commands run after the harness exited 0 (tests, a build, a file check); the first failure FAILS the run. Skipped in plan mode. */
79
+ verify?: Array<string> | null | undefined;
78
80
  workspaceID: string | number;
79
81
  };
80
82
  export type CurrentActorKind =
@@ -780,6 +782,7 @@ export type RunFieldsFragment = {
780
782
  prompt: string | null;
781
783
  setup: Array<string>;
782
784
  skills: Array<string>;
785
+ verify: Array<string>;
783
786
  approval: string;
784
787
  mode: string;
785
788
  parentRunID: string | null;
@@ -789,6 +792,7 @@ export type RunFieldsFragment = {
789
792
  metadata: unknown;
790
793
  error: string | null;
791
794
  exitCode: number | null;
795
+ verifyExitCode: number | null;
792
796
  vmID: string | null;
793
797
  transcriptAvailable: boolean;
794
798
  createdAt: string;
@@ -800,6 +804,11 @@ export type RunFieldsFragment = {
800
804
  options: Array<string>;
801
805
  askedAt: string;
802
806
  } | null;
807
+ result: {
808
+ status: string;
809
+ detail: string | null;
810
+ text: string | null;
811
+ } | null;
803
812
  usage: {
804
813
  vmSeconds: number;
805
814
  memoryMiB: number;
@@ -821,6 +830,7 @@ export type SdkCreateRunMutation = {
821
830
  prompt: string | null;
822
831
  setup: Array<string>;
823
832
  skills: Array<string>;
833
+ verify: Array<string>;
824
834
  approval: string;
825
835
  mode: string;
826
836
  parentRunID: string | null;
@@ -830,6 +840,7 @@ export type SdkCreateRunMutation = {
830
840
  metadata: unknown;
831
841
  error: string | null;
832
842
  exitCode: number | null;
843
+ verifyExitCode: number | null;
833
844
  vmID: string | null;
834
845
  transcriptAvailable: boolean;
835
846
  createdAt: string;
@@ -841,6 +852,11 @@ export type SdkCreateRunMutation = {
841
852
  options: Array<string>;
842
853
  askedAt: string;
843
854
  } | null;
855
+ result: {
856
+ status: string;
857
+ detail: string | null;
858
+ text: string | null;
859
+ } | null;
844
860
  usage: {
845
861
  vmSeconds: number;
846
862
  memoryMiB: number;
@@ -863,6 +879,7 @@ export type SdkGetRunQuery = {
863
879
  prompt: string | null;
864
880
  setup: Array<string>;
865
881
  skills: Array<string>;
882
+ verify: Array<string>;
866
883
  approval: string;
867
884
  mode: string;
868
885
  parentRunID: string | null;
@@ -872,6 +889,7 @@ export type SdkGetRunQuery = {
872
889
  metadata: unknown;
873
890
  error: string | null;
874
891
  exitCode: number | null;
892
+ verifyExitCode: number | null;
875
893
  vmID: string | null;
876
894
  transcriptAvailable: boolean;
877
895
  createdAt: string;
@@ -883,6 +901,11 @@ export type SdkGetRunQuery = {
883
901
  options: Array<string>;
884
902
  askedAt: string;
885
903
  } | null;
904
+ result: {
905
+ status: string;
906
+ detail: string | null;
907
+ text: string | null;
908
+ } | null;
886
909
  usage: {
887
910
  vmSeconds: number;
888
911
  memoryMiB: number;
@@ -922,6 +945,7 @@ export type SdkListRunsQuery = {
922
945
  prompt: string | null;
923
946
  setup: Array<string>;
924
947
  skills: Array<string>;
948
+ verify: Array<string>;
925
949
  approval: string;
926
950
  mode: string;
927
951
  parentRunID: string | null;
@@ -931,6 +955,7 @@ export type SdkListRunsQuery = {
931
955
  metadata: unknown;
932
956
  error: string | null;
933
957
  exitCode: number | null;
958
+ verifyExitCode: number | null;
934
959
  vmID: string | null;
935
960
  transcriptAvailable: boolean;
936
961
  createdAt: string;
@@ -942,6 +967,11 @@ export type SdkListRunsQuery = {
942
967
  options: Array<string>;
943
968
  askedAt: string;
944
969
  } | null;
970
+ result: {
971
+ status: string;
972
+ detail: string | null;
973
+ text: string | null;
974
+ } | null;
945
975
  usage: {
946
976
  vmSeconds: number;
947
977
  memoryMiB: number;
@@ -965,6 +995,7 @@ export type SdkCancelRunMutation = {
965
995
  prompt: string | null;
966
996
  setup: Array<string>;
967
997
  skills: Array<string>;
998
+ verify: Array<string>;
968
999
  approval: string;
969
1000
  mode: string;
970
1001
  parentRunID: string | null;
@@ -974,6 +1005,7 @@ export type SdkCancelRunMutation = {
974
1005
  metadata: unknown;
975
1006
  error: string | null;
976
1007
  exitCode: number | null;
1008
+ verifyExitCode: number | null;
977
1009
  vmID: string | null;
978
1010
  transcriptAvailable: boolean;
979
1011
  createdAt: string;
@@ -985,6 +1017,11 @@ export type SdkCancelRunMutation = {
985
1017
  options: Array<string>;
986
1018
  askedAt: string;
987
1019
  } | null;
1020
+ result: {
1021
+ status: string;
1022
+ detail: string | null;
1023
+ text: string | null;
1024
+ } | null;
988
1025
  usage: {
989
1026
  vmSeconds: number;
990
1027
  memoryMiB: number;
@@ -1047,6 +1084,7 @@ export type SdkAnswerRunMutation = {
1047
1084
  prompt: string | null;
1048
1085
  setup: Array<string>;
1049
1086
  skills: Array<string>;
1087
+ verify: Array<string>;
1050
1088
  approval: string;
1051
1089
  mode: string;
1052
1090
  parentRunID: string | null;
@@ -1056,6 +1094,7 @@ export type SdkAnswerRunMutation = {
1056
1094
  metadata: unknown;
1057
1095
  error: string | null;
1058
1096
  exitCode: number | null;
1097
+ verifyExitCode: number | null;
1059
1098
  vmID: string | null;
1060
1099
  transcriptAvailable: boolean;
1061
1100
  createdAt: string;
@@ -1067,6 +1106,11 @@ export type SdkAnswerRunMutation = {
1067
1106
  options: Array<string>;
1068
1107
  askedAt: string;
1069
1108
  } | null;
1109
+ result: {
1110
+ status: string;
1111
+ detail: string | null;
1112
+ text: string | null;
1113
+ } | null;
1070
1114
  usage: {
1071
1115
  vmSeconds: number;
1072
1116
  memoryMiB: number;
@@ -1089,6 +1133,7 @@ export type SdkFollowUpRunMutation = {
1089
1133
  prompt: string | null;
1090
1134
  setup: Array<string>;
1091
1135
  skills: Array<string>;
1136
+ verify: Array<string>;
1092
1137
  approval: string;
1093
1138
  mode: string;
1094
1139
  parentRunID: string | null;
@@ -1098,6 +1143,7 @@ export type SdkFollowUpRunMutation = {
1098
1143
  metadata: unknown;
1099
1144
  error: string | null;
1100
1145
  exitCode: number | null;
1146
+ verifyExitCode: number | null;
1101
1147
  vmID: string | null;
1102
1148
  transcriptAvailable: boolean;
1103
1149
  createdAt: string;
@@ -1109,6 +1155,11 @@ export type SdkFollowUpRunMutation = {
1109
1155
  options: Array<string>;
1110
1156
  askedAt: string;
1111
1157
  } | null;
1158
+ result: {
1159
+ status: string;
1160
+ detail: string | null;
1161
+ text: string | null;
1162
+ } | null;
1112
1163
  usage: {
1113
1164
  vmSeconds: number;
1114
1165
  memoryMiB: number;