@skastr0/prism-linux-x64 0.5.1 → 0.8.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/bin/prism +2 -2
- package/package.json +3 -3
- package/types/amp-projects.d.ts +39 -0
- package/types/amp-runners.d.ts +71 -0
- package/types/ast-to-json-schema.d.ts +46 -0
- package/types/compile/errors.d.ts +57 -79
- package/types/compile/runtime/schema-bridge.d.ts +15 -12
- package/types/errors.d.ts +24 -34
- package/types/fs.d.ts +2 -2
- package/types/harness-types-discover.d.ts +34 -0
- package/types/harness-types.d.ts +12 -0
- package/types/index.d.ts +21 -2
- package/types/jev.d.ts +254 -0
- package/types/lowerer-capabilities.d.ts +104 -118
- package/types/prism-home.d.ts +3 -4
- package/types/services/jev.d.ts +131 -0
- package/types/types.d.ts +3 -13
- package/types/workflow-amp-remote-worker.d.ts +69 -0
- package/types/workflow-amp-worker.d.ts +89 -0
- package/types/workflow-antigravity-pty.d.ts +22 -0
- package/types/workflow-antigravity-worker.d.ts +84 -0
- package/types/workflow-bun-runtime.d.ts +2 -0
- package/types/workflow-claude-worker.d.ts +36 -0
- package/types/workflow-cli-command.d.ts +1 -0
- package/types/workflow-codex-worker.d.ts +36 -0
- package/types/workflow-cursor-worker.d.ts +24 -0
- package/types/workflow-devin-worker.d.ts +25 -0
- package/types/workflow-effort.d.ts +18 -0
- package/types/workflow-grok-worker.d.ts +32 -0
- package/types/workflow-harness-detection.d.ts +5 -8
- package/types/workflow-hermes-worker.d.ts +28 -0
- package/types/workflow-identity.d.ts +35 -6
- package/types/workflow-kimi-effort.d.ts +17 -0
- package/types/workflow-kimi-worker.d.ts +27 -0
- package/types/workflow-omp-worker.d.ts +49 -0
- package/types/workflow-opencode-worker.d.ts +26 -0
- package/types/workflow-output-schema.d.ts +6 -0
- package/types/workflow-permissions.d.ts +10 -0
- package/types/workflow-process-guard.d.ts +28 -0
- package/types/workflow-runner.d.ts +15 -1
- package/types/workflow-scheduler/cron.d.ts +60 -0
- package/types/workflow-scheduler/errors.d.ts +71 -0
- package/types/workflow-scheduler/schedule.d.ts +61 -0
- package/types/workflow-session.d.ts +46 -29
- package/types/workflow-store.d.ts +142 -7
- package/types/workflow-worker-process.d.ts +40 -0
- package/types/workflow-workers.d.ts +50 -0
- package/types/workflows.d.ts +204 -23
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JevClient — the Effect service behind first-class Jev (TypeSafe System One)
|
|
3
|
+
* decisions in Prism workflows and Prism tools (GLYPH-JEV-03).
|
|
4
|
+
*
|
|
5
|
+
* One implementation serves both surfaces: the workflow runner's native Jev
|
|
6
|
+
* executor (src/workflow-jev.ts) and the compiled `jev/systemone_ask` tool
|
|
7
|
+
* (~/prism-plugins/jev) call this service; nothing else knows the SDK exists.
|
|
8
|
+
*
|
|
9
|
+
* Design contract:
|
|
10
|
+
* - Credentials and endpoints are captured once, when the layer is built.
|
|
11
|
+
* `JevClientLive` reads TYPESAFE_API_KEY / TYPESAFE_BASE_URL /
|
|
12
|
+
* TYPESAFE_DEFAULT_MODEL; `JevClientWith` takes explicit options and never
|
|
13
|
+
* consults the environment.
|
|
14
|
+
* - The TypeSafeClient is constructed lazily on the first live call, because
|
|
15
|
+
* its constructor throws when the API key is missing. Importing this module,
|
|
16
|
+
* compiling plugins, validating workflows, and replaying cached outputs must
|
|
17
|
+
* never require credentials.
|
|
18
|
+
* - The SDK owns transport retry (408/429/5xx, backoff, Retry-After). Prism
|
|
19
|
+
* adds no second retry layer; `timeoutMs` is per HTTP attempt, matching the
|
|
20
|
+
* SDK.
|
|
21
|
+
* - SDK logging is forced off: SDK debug logs can include request/response
|
|
22
|
+
* bodies, i.e. workflow state. Prism telemetry is the bounded channel.
|
|
23
|
+
* - `APIUserAbortError` maps to Effect interruption (the only abort source is
|
|
24
|
+
* the Effect-provided signal); every other SDK error maps to a tagged
|
|
25
|
+
* `JevError.kind`. Raw SDK errors are never rethrown or serialized — they
|
|
26
|
+
* can carry response bodies.
|
|
27
|
+
* - Pre-flight budget guard: requests estimated above
|
|
28
|
+
* `JEV_TOKEN_REQUEST_TARGET` fail `kind: "request"` with a chunking hint
|
|
29
|
+
* instead of a raw API 400 — agent callers can act on that message.
|
|
30
|
+
*/
|
|
31
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
32
|
+
import { type Fetch as SdkFetch, type RetryPolicy as SdkRetryPolicy } from "@typesafe-ai/sdk";
|
|
33
|
+
import { type JevAnswers, type JevQuestions, type JevRequest, type JevResult, type JevUsage } from "../jev.js";
|
|
34
|
+
export declare const JEV_ERROR_KINDS: readonly ["configuration", "request", "authentication", "permission", "rate-limit", "timeout", "connection", "http", "protocol"];
|
|
35
|
+
/**
|
|
36
|
+
* - `configuration`: missing/invalid client configuration (missing API key).
|
|
37
|
+
* - `request`: the request itself was rejected — local validation, the
|
|
38
|
+
* pre-flight token-budget guard, or API 400/422.
|
|
39
|
+
* - `authentication` / `permission`: API 401/403.
|
|
40
|
+
* - `rate-limit`: API 429 (carries `retryAfterMs` when the server sent one).
|
|
41
|
+
* - `timeout` / `connection`: transport failures after SDK retries exhaust.
|
|
42
|
+
* - `http`: any other non-2xx API error, including exhausted 5xx.
|
|
43
|
+
* - `protocol`: a nominally successful response failed the request-correlated
|
|
44
|
+
* result contract (malformed envelope, answer/key mismatch). Terminal and
|
|
45
|
+
* never repairable by re-asking the model.
|
|
46
|
+
*/
|
|
47
|
+
export type JevErrorKind = (typeof JEV_ERROR_KINDS)[number];
|
|
48
|
+
declare const JevError_base: Schema.Class<JevError, Schema.TaggedStruct<"JevError", {
|
|
49
|
+
readonly kind: Schema.Literals<readonly ["configuration", "request", "authentication", "permission", "rate-limit", "timeout", "connection", "http", "protocol"]>;
|
|
50
|
+
readonly message: Schema.String;
|
|
51
|
+
readonly status: Schema.optionalKey<Schema.Number>;
|
|
52
|
+
readonly retryAfterMs: Schema.optionalKey<Schema.Number>;
|
|
53
|
+
readonly sdkErrorName: Schema.optionalKey<Schema.String>;
|
|
54
|
+
}>, import("effect/Cause").YieldableError>;
|
|
55
|
+
export declare class JevError extends JevError_base {
|
|
56
|
+
}
|
|
57
|
+
/** Replacement text for a scrubbed credential. */
|
|
58
|
+
export declare const JEV_REDACTED_SECRET = "[redacted]";
|
|
59
|
+
/**
|
|
60
|
+
* Redact exact occurrences of each known secret from outward diagnostic text.
|
|
61
|
+
* SDK error messages carry server-provided text verbatim (`APIError.describe`
|
|
62
|
+
* copies the response body's error/message/detail), and an upstream
|
|
63
|
+
* diagnostic can echo the Authorization header back — so every JevError that
|
|
64
|
+
* leaves the service boundary is scrubbed with the configured credential.
|
|
65
|
+
* Secrets shorter than 8 characters are skipped: redacting a tiny needle
|
|
66
|
+
* would mangle prose, and real credentials are never that short.
|
|
67
|
+
*/
|
|
68
|
+
export declare const redactJevSecrets: (text: string, secrets: ReadonlyArray<string | undefined>) => string;
|
|
69
|
+
/** Non-secret resolved configuration, safe for identity hashing and logs. */
|
|
70
|
+
export interface JevPublicConfig {
|
|
71
|
+
readonly baseURL: string;
|
|
72
|
+
readonly defaultModel: string;
|
|
73
|
+
}
|
|
74
|
+
export interface JevCallOptions {
|
|
75
|
+
/** Per-HTTP-attempt timeout override, passed through to the SDK. */
|
|
76
|
+
readonly timeoutMs?: number;
|
|
77
|
+
}
|
|
78
|
+
export interface JevClientShape {
|
|
79
|
+
readonly config: JevPublicConfig;
|
|
80
|
+
readonly systemOne: <const Q extends JevQuestions>(request: JevRequest<Q>, options?: JevCallOptions) => Effect.Effect<JevResult<Q>, JevError>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve the non-secret Jev configuration (base URL + default model) without
|
|
84
|
+
* touching the API key. Identity hashing, workflow snapshots, and the CLI use
|
|
85
|
+
* this so a jev task's cache identity is computable without credentials.
|
|
86
|
+
*/
|
|
87
|
+
export type JevEnvLike = {
|
|
88
|
+
readonly TYPESAFE_BASE_URL?: string | undefined;
|
|
89
|
+
readonly TYPESAFE_DEFAULT_MODEL?: string | undefined;
|
|
90
|
+
readonly [key: string]: string | undefined;
|
|
91
|
+
};
|
|
92
|
+
export declare const resolveJevPublicConfig: (env?: JevEnvLike) => JevPublicConfig;
|
|
93
|
+
declare const JevClient_base: Context.ServiceClass<JevClient, "prism/JevClient", JevClientShape>;
|
|
94
|
+
export declare class JevClient extends JevClient_base {
|
|
95
|
+
}
|
|
96
|
+
export type JevClientService = JevClient["Service"];
|
|
97
|
+
export interface JevClientOptions {
|
|
98
|
+
readonly apiKey?: string;
|
|
99
|
+
readonly baseURL?: string;
|
|
100
|
+
readonly defaultModel?: string;
|
|
101
|
+
readonly fetch?: SdkFetch;
|
|
102
|
+
/** SDK retry override (transport-level only). */
|
|
103
|
+
readonly retry?: Partial<SdkRetryPolicy>;
|
|
104
|
+
/** SDK per-attempt timeout override in milliseconds. */
|
|
105
|
+
readonly timeoutMs?: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Live layer: captures the TYPESAFE_* environment once at build; the API key
|
|
109
|
+
* is only required when a live call is made.
|
|
110
|
+
*/
|
|
111
|
+
export declare const JevClientLive: Layer.Layer<JevClient>;
|
|
112
|
+
/**
|
|
113
|
+
* Explicit-config layer; never reads environment variables. Missing optional
|
|
114
|
+
* settings fall back to documented non-secret defaults.
|
|
115
|
+
*/
|
|
116
|
+
export declare const JevClientWith: (options: JevClientOptions) => Layer.Layer<JevClient>;
|
|
117
|
+
export interface JevClientTestOptions {
|
|
118
|
+
readonly model?: string;
|
|
119
|
+
readonly usage?: JevUsage;
|
|
120
|
+
/** Override the public config observed by identity/telemetry code. */
|
|
121
|
+
readonly config?: JevPublicConfig;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Stub layer for tests: answers a registered questions contract from memory.
|
|
125
|
+
* The registered answers are validated at construction against the real
|
|
126
|
+
* result codec, so a malformed stub fails the test that wrote it, not the
|
|
127
|
+
* system under test. Calls with a different questions map fail
|
|
128
|
+
* `kind: "request"`. Never touches network or environment.
|
|
129
|
+
*/
|
|
130
|
+
export declare const JevClientTest: <const Q extends JevQuestions>(questions: Q, answers: JevAnswers<Q>, options?: JevClientTestOptions) => Layer.Layer<JevClient>;
|
|
131
|
+
export {};
|
package/types/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core types for prism - the unified plugin distribution system
|
|
3
3
|
*/
|
|
4
|
-
export type HarnessId = "claude-code" | "opencode" | "
|
|
4
|
+
export type HarnessId = "claude-code" | "opencode" | "hermes" | "codex-cli" | "antigravity-cli" | "kimi-code" | "amp-code" | "amp-orb" | "amp-runner" | "cursor" | "pi" | "omp" | "grok" | "devin";
|
|
5
5
|
export declare const HARNESS_SCOPES: readonly ["global", "project"];
|
|
6
6
|
export type HarnessScope = (typeof HARNESS_SCOPES)[number];
|
|
7
7
|
export interface HarnessConfig {
|
|
@@ -120,15 +120,6 @@ export interface CursorFrontmatter {
|
|
|
120
120
|
globs?: string[];
|
|
121
121
|
alwaysApply?: boolean;
|
|
122
122
|
}
|
|
123
|
-
export interface FactoryDroidFrontmatter {
|
|
124
|
-
description?: string;
|
|
125
|
-
model?: string | "inherit";
|
|
126
|
-
reasoningEffort?: "low" | "medium" | "high";
|
|
127
|
-
tools?: string | string[];
|
|
128
|
-
"user-invocable"?: boolean;
|
|
129
|
-
"disable-model-invocation"?: boolean;
|
|
130
|
-
"argument-hint"?: string;
|
|
131
|
-
}
|
|
132
123
|
export interface CodexCliFrontmatter {
|
|
133
124
|
description?: string;
|
|
134
125
|
model?: string;
|
|
@@ -139,15 +130,14 @@ export interface UnifiedFrontmatter {
|
|
|
139
130
|
description?: string;
|
|
140
131
|
"claude-code"?: ClaudeCodeFrontmatter;
|
|
141
132
|
opencode?: OpenCodeAgentFrontmatter;
|
|
142
|
-
opencode2?: OpenCodeAgentFrontmatter;
|
|
143
|
-
openclaw?: Record<string, unknown>;
|
|
144
133
|
hermes?: Record<string, unknown>;
|
|
145
134
|
"codex-cli"?: CodexCliFrontmatter;
|
|
146
135
|
"antigravity-cli"?: Record<string, unknown>;
|
|
147
136
|
"kimi-code"?: Record<string, unknown>;
|
|
148
137
|
"amp-code"?: Record<string, unknown>;
|
|
138
|
+
"amp-orb"?: Record<string, unknown>;
|
|
139
|
+
"amp-runner"?: Record<string, unknown>;
|
|
149
140
|
cursor?: CursorFrontmatter;
|
|
150
|
-
"factory-droid"?: FactoryDroidFrontmatter;
|
|
151
141
|
pi?: Record<string, unknown>;
|
|
152
142
|
omp?: Record<string, unknown>;
|
|
153
143
|
grok?: Record<string, unknown>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type AmpOrbSize, type AmpRemoteWorkflowWorkerId, type AmpThreadVisibility, type AnyWorkflowWorkerTask, type WorkflowPermissionMode } from "./workflows.js";
|
|
2
|
+
import { type AmpCatalogPinPlan } from "./workflow-amp-worker.js";
|
|
3
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
4
|
+
export interface AmpOrbTarget {
|
|
5
|
+
readonly worker: "amp-orb";
|
|
6
|
+
readonly project: string;
|
|
7
|
+
readonly size?: AmpOrbSize;
|
|
8
|
+
readonly visibility?: AmpThreadVisibility;
|
|
9
|
+
readonly labels?: ReadonlyArray<string>;
|
|
10
|
+
}
|
|
11
|
+
export interface AmpRunnerTarget {
|
|
12
|
+
readonly worker: "amp-runner";
|
|
13
|
+
readonly runnerId: string;
|
|
14
|
+
readonly runnerDir?: string;
|
|
15
|
+
readonly labels?: ReadonlyArray<string>;
|
|
16
|
+
}
|
|
17
|
+
export type AmpRemoteTarget = AmpOrbTarget | AmpRunnerTarget;
|
|
18
|
+
export type AmpRemoteWorkflowWorkerOptions<W extends AmpRemoteWorkflowWorkerId = AmpRemoteWorkflowWorkerId> = {
|
|
19
|
+
readonly cwd: string;
|
|
20
|
+
readonly bin?: string;
|
|
21
|
+
readonly model?: string;
|
|
22
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
23
|
+
readonly abortSignal?: AbortSignal;
|
|
24
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
25
|
+
} & WorkflowTaskRepairLoopOption<W>;
|
|
26
|
+
/** Remote executors accept only `legacy`: no per-invocation override reaches the remote amp process. */
|
|
27
|
+
export declare const assertAmpRemotePermission: (worker: AmpRemoteWorkflowWorkerId, mode: WorkflowPermissionMode) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Read the remote target from the task's own worker options. The DSL types make
|
|
30
|
+
* these fields required; this check covers untyped workflow files and a
|
|
31
|
+
* CLI-only `--worker amp-orb` fallback, which carries no target.
|
|
32
|
+
*/
|
|
33
|
+
export declare const ampRemoteTargetOf: (worker: AmpRemoteWorkflowWorkerId, task: AnyWorkflowWorkerTask) => AmpRemoteTarget;
|
|
34
|
+
/**
|
|
35
|
+
* The Prism catalog-pin plugin is written under the local cwd. It exists for
|
|
36
|
+
* the remote executor only when a runner serves exactly that directory.
|
|
37
|
+
*/
|
|
38
|
+
export declare const resolveAmpRemotePinPlan: (input: {
|
|
39
|
+
readonly target: AmpRemoteTarget;
|
|
40
|
+
readonly cwd: string;
|
|
41
|
+
readonly mode?: string;
|
|
42
|
+
readonly catalogModel?: string;
|
|
43
|
+
readonly effort?: string;
|
|
44
|
+
}) => AmpCatalogPinPlan;
|
|
45
|
+
/** New orb thread, attached until the turn ends. */
|
|
46
|
+
export declare const buildAmpOrbArgs: (input: {
|
|
47
|
+
readonly target: AmpOrbTarget;
|
|
48
|
+
readonly prompt: string;
|
|
49
|
+
readonly title?: string;
|
|
50
|
+
readonly mode?: string;
|
|
51
|
+
}) => ReadonlyArray<string>;
|
|
52
|
+
/** New runner thread, attached until the turn ends. */
|
|
53
|
+
export declare const buildAmpRunnerArgs: (input: {
|
|
54
|
+
readonly target: AmpRunnerTarget;
|
|
55
|
+
readonly prompt: string;
|
|
56
|
+
readonly title?: string;
|
|
57
|
+
readonly mode?: string;
|
|
58
|
+
readonly pluginReadyTimeout?: boolean;
|
|
59
|
+
}) => ReadonlyArray<string>;
|
|
60
|
+
/**
|
|
61
|
+
* Same-thread repair. `--orb-execute` sends the message to the thread's own
|
|
62
|
+
* remote executor (orb or runner); `--executor`/`--runner-dir` do not apply.
|
|
63
|
+
*/
|
|
64
|
+
export declare const buildAmpRemoteContinueArgs: (input: {
|
|
65
|
+
readonly sessionId: string;
|
|
66
|
+
readonly prompt: string;
|
|
67
|
+
}) => ReadonlyArray<string>;
|
|
68
|
+
export declare const runAmpOrbWorkflowTask: (task: AnyWorkflowWorkerTask, options: AmpRemoteWorkflowWorkerOptions<"amp-orb">) => Promise<WorkflowTaskExecution>;
|
|
69
|
+
export declare const runAmpRunnerWorkflowTask: (task: AnyWorkflowWorkerTask, options: AmpRemoteWorkflowWorkerOptions<"amp-runner">) => Promise<WorkflowTaskExecution>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { HarnessTypesSnapshot } from "./harness-types.js";
|
|
2
|
+
import type { AnyWorkflowWorkerTask, WorkflowPermissionMode } from "./workflows.js";
|
|
3
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
4
|
+
export declare const AMP_WORKFLOW_DIAL_MODES: readonly ["low", "medium", "high", "ultra"];
|
|
5
|
+
export type AmpWorkflowDialMode = (typeof AMP_WORKFLOW_DIAL_MODES)[number];
|
|
6
|
+
export declare const AMP_WORKFLOW_CATALOG_PIN_MODE = "prism-pin";
|
|
7
|
+
export declare const AMP_WORKFLOW_CATALOG_PIN_FILENAME = "prism-workflow-catalog-pin.ts";
|
|
8
|
+
export type AmpWorkflowWorkerOptions = {
|
|
9
|
+
readonly cwd: string;
|
|
10
|
+
readonly bin?: string;
|
|
11
|
+
readonly model?: string;
|
|
12
|
+
readonly catalogModel?: string;
|
|
13
|
+
readonly effort?: string;
|
|
14
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
15
|
+
readonly abortSignal?: AbortSignal;
|
|
16
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
17
|
+
} & WorkflowTaskRepairLoopOption<"amp-code">;
|
|
18
|
+
export declare class AmpWorkflowWorkerError extends Error {
|
|
19
|
+
readonly name = "AmpWorkflowWorkerError";
|
|
20
|
+
readonly metadata?: Record<string, unknown>;
|
|
21
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
22
|
+
}
|
|
23
|
+
export declare const assertAmpWorkflowMode: (mode: string | undefined) => string | undefined;
|
|
24
|
+
export declare const isAmpWorkflowDialMode: (mode: string | undefined) => mode is AmpWorkflowDialMode;
|
|
25
|
+
export type AmpCatalogPinPlan = {
|
|
26
|
+
readonly kind: "mode";
|
|
27
|
+
readonly mode?: string;
|
|
28
|
+
} | {
|
|
29
|
+
readonly kind: "pin";
|
|
30
|
+
readonly mode: typeof AMP_WORKFLOW_CATALOG_PIN_MODE;
|
|
31
|
+
readonly catalogModel?: string;
|
|
32
|
+
readonly effort?: string;
|
|
33
|
+
readonly extendsMode?: AmpWorkflowDialMode;
|
|
34
|
+
};
|
|
35
|
+
export declare const resolveAmpCatalogPinPlan: (input: {
|
|
36
|
+
readonly mode?: string;
|
|
37
|
+
readonly catalogModel?: string;
|
|
38
|
+
readonly effort?: string;
|
|
39
|
+
}) => AmpCatalogPinPlan;
|
|
40
|
+
export declare const ampCatalogPinPluginPath: (cwd: string) => string;
|
|
41
|
+
/** Reuse a project plugin mode that already pins this catalog slug (and effort, if set). */
|
|
42
|
+
export declare const findExistingAmpCatalogMode: (cwd: string, input: {
|
|
43
|
+
readonly catalogModel?: string;
|
|
44
|
+
readonly effort?: string;
|
|
45
|
+
}) => Promise<string | undefined>;
|
|
46
|
+
export declare const ampWorkerPins: (task: AnyWorkflowWorkerTask) => {
|
|
47
|
+
readonly catalogModel?: string;
|
|
48
|
+
readonly effort?: string;
|
|
49
|
+
};
|
|
50
|
+
/** Fail closed when a snapshot lists the catalog row and effort is not on that row. */
|
|
51
|
+
export declare const validateAmpCatalogPins: (task: AnyWorkflowWorkerTask, snapshot: HarnessTypesSnapshot | undefined) => string | undefined;
|
|
52
|
+
/** User-facing Amp pin fields. Never report the transport mode `prism-pin` as the model. */
|
|
53
|
+
export declare const ampWorkflowHonestMetadata: (input: {
|
|
54
|
+
readonly pin: AmpCatalogPinPlan;
|
|
55
|
+
readonly authoredModel?: string;
|
|
56
|
+
readonly catalogModel?: string;
|
|
57
|
+
readonly effort?: string;
|
|
58
|
+
}) => {
|
|
59
|
+
readonly model?: string;
|
|
60
|
+
readonly ampMode?: string;
|
|
61
|
+
readonly catalogModel?: string;
|
|
62
|
+
readonly effort?: string;
|
|
63
|
+
};
|
|
64
|
+
export declare const renderAmpCatalogPinPlugin: (input: {
|
|
65
|
+
readonly catalogModel?: string;
|
|
66
|
+
readonly effort?: string;
|
|
67
|
+
readonly extendsMode?: AmpWorkflowDialMode;
|
|
68
|
+
}) => string;
|
|
69
|
+
export declare const prepareAmpCatalogPin: (cwd: string, plan: AmpCatalogPinPlan) => Promise<{
|
|
70
|
+
readonly cleanup: () => Promise<void>;
|
|
71
|
+
}>;
|
|
72
|
+
export declare const assertAmpPermission: (mode: WorkflowPermissionMode) => void;
|
|
73
|
+
export declare const buildAmpArgs: (input: {
|
|
74
|
+
readonly mode?: string;
|
|
75
|
+
readonly prompt: string;
|
|
76
|
+
readonly sessionId?: string;
|
|
77
|
+
readonly permission?: WorkflowPermissionMode;
|
|
78
|
+
/**
|
|
79
|
+
* Required for permissive/full-access. runAmpWorkflowTask supplies a temp
|
|
80
|
+
* settings file with amp.dangerouslyAllowAll enabled before invoking this.
|
|
81
|
+
*/
|
|
82
|
+
readonly settingsFile?: string;
|
|
83
|
+
/** Wait for the catalog-pin plugin to register before execute starts. */
|
|
84
|
+
readonly pluginReadyTimeout?: boolean;
|
|
85
|
+
}) => ReadonlyArray<string>;
|
|
86
|
+
export declare const parseAmpStreamJsonResult: (stdout: string) => string | undefined;
|
|
87
|
+
export declare const parseAmpStreamJsonError: (stdout: string) => string | undefined;
|
|
88
|
+
export declare const ampSessionId: (stdout: string, stderr: string) => string | undefined;
|
|
89
|
+
export declare const runAmpWorkflowTask: (task: AnyWorkflowWorkerTask, options: AmpWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type WorkflowWorkerProcessOptions, type WorkflowWorkerProcessResult } from "./workflow-worker-process.js";
|
|
2
|
+
/**
|
|
3
|
+
* Embedded Python PTY wrapper for spawning the Antigravity CLI (`agy`) with a
|
|
4
|
+
* controlling terminal. The upstream `agy --print` mode is known to drop or
|
|
5
|
+
* stall stdout when stdin is not a TTY; allocating a PTY works around the
|
|
6
|
+
* issue and also lets us reliably terminate the whole process group.
|
|
7
|
+
*
|
|
8
|
+
* The wrapper runs on Python 3, uses only stdlib modules, and is written to
|
|
9
|
+
* be compatible with both macOS and Linux.
|
|
10
|
+
*/
|
|
11
|
+
export declare const antigravityPtyWrapperScript: () => string;
|
|
12
|
+
export interface AntigravityPtyProcessOptions extends WorkflowWorkerProcessOptions {
|
|
13
|
+
/** Go-style duration string passed to `agy --print-timeout`. */
|
|
14
|
+
readonly printTimeout: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Run a command through the Python PTY wrapper with process-group cleanup.
|
|
18
|
+
*
|
|
19
|
+
* This is intentionally lower-level than `runWorkflowWorkerProcess` so the
|
|
20
|
+
* Antigravity worker can decide when the extra weight is justified.
|
|
21
|
+
*/
|
|
22
|
+
export declare const runAntigravityPtyProcess: (options: AntigravityPtyProcessOptions) => Promise<WorkflowWorkerProcessResult>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { AntigravityWorkflowPermissionMode, AnyWorkflowWorkerTask, WorkflowPermissionMode } from "./workflows.js";
|
|
2
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
3
|
+
/**
|
|
4
|
+
* Environment-variable overrides for the Antigravity workflow worker:
|
|
5
|
+
*
|
|
6
|
+
* - PRISM_WORKFLOW_ANTIGRAVITY_BIN: path to the `agy` executable.
|
|
7
|
+
* - PRISM_WORKFLOW_ANTIGRAVITY_PROCESS_TIMEOUT_MS: outer watchdog before Prism kills `agy`.
|
|
8
|
+
* - PRISM_WORKFLOW_ANTIGRAVITY_PTY: set to "1" or "true" to force a Python PTY wrapper.
|
|
9
|
+
* Useful when `agy --print` drops stdout because stdin is not a TTY.
|
|
10
|
+
* - PRISM_WORKFLOW_ANTIGRAVITY_PTY_PYTHON: path to a Python 3 interpreter (default: `python3` on PATH).
|
|
11
|
+
* - PRISM_WORKFLOW_ANTIGRAVITY_RETRY_MAX_ATTEMPTS: retries on sentinel/empty output (default: 3).
|
|
12
|
+
* - PRISM_WORKFLOW_ANTIGRAVITY_RETRY_BACKOFF_MS: delay between retries (default: 2000).
|
|
13
|
+
*/
|
|
14
|
+
export type AntigravityWorkflowWorkerOptions = {
|
|
15
|
+
readonly cwd: string;
|
|
16
|
+
readonly bin?: string;
|
|
17
|
+
readonly model?: string;
|
|
18
|
+
readonly effort?: string;
|
|
19
|
+
readonly resolvedPermission: AntigravityWorkflowPermissionMode;
|
|
20
|
+
readonly abortSignal?: AbortSignal;
|
|
21
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
22
|
+
/** Override the default retry budget. Mostly useful in tests. */
|
|
23
|
+
readonly maxAttempts?: number;
|
|
24
|
+
/** Override the default retry backoff. Mostly useful in tests. */
|
|
25
|
+
readonly backoffMs?: number;
|
|
26
|
+
/** Disable the executable capability probe. Tests with minimal fake binaries only. */
|
|
27
|
+
readonly preflight?: boolean;
|
|
28
|
+
} & WorkflowTaskRepairLoopOption<"antigravity-cli">;
|
|
29
|
+
export declare class AntigravityWorkflowWorkerError extends Error {
|
|
30
|
+
readonly name = "AntigravityWorkflowWorkerError";
|
|
31
|
+
readonly metadata?: Record<string, unknown>;
|
|
32
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
33
|
+
}
|
|
34
|
+
export declare const DEFAULT_ANTIGRAVITY_MODEL = "Gemini 3.5 Flash (Medium)";
|
|
35
|
+
export type AgyConversationId = string & {
|
|
36
|
+
readonly __brand: "AgyConversationId";
|
|
37
|
+
};
|
|
38
|
+
type AgyValue<Kind extends string> = string & {
|
|
39
|
+
readonly __agyValue: Kind;
|
|
40
|
+
};
|
|
41
|
+
type AgyLogFile = AgyValue<"log-file">;
|
|
42
|
+
type AgyPrintTimeout = AgyValue<"print-timeout">;
|
|
43
|
+
type AgyWorkspaceDir = AgyValue<"workspace-dir">;
|
|
44
|
+
type AgyModel = AgyValue<"model">;
|
|
45
|
+
type AgyPrompt = AgyValue<"prompt">;
|
|
46
|
+
type AgyLogFileArgs = readonly ["--log-file", AgyLogFile];
|
|
47
|
+
type AgyConversationArgs = readonly ["--conversation", AgyConversationId];
|
|
48
|
+
type AgyPermissionArgs = readonly ["--dangerously-skip-permissions", "--sandbox"];
|
|
49
|
+
type AgyTimeoutArgs = readonly ["--print-timeout", AgyPrintTimeout];
|
|
50
|
+
type AgyWorkspaceArgs = readonly ["--add-dir", AgyWorkspaceDir];
|
|
51
|
+
type AgyModelArgs = readonly ["--model", AgyModel];
|
|
52
|
+
type AgyEffortArgs = readonly ["--effort", AgyValue<"effort">];
|
|
53
|
+
type AgyOptionalModelArgs = readonly [] | AgyModelArgs;
|
|
54
|
+
type AgyOptionalEffortArgs = readonly [] | AgyEffortArgs;
|
|
55
|
+
type AgyRequiredPrintArgs = readonly [
|
|
56
|
+
...AgyPermissionArgs,
|
|
57
|
+
...AgyTimeoutArgs,
|
|
58
|
+
...AgyWorkspaceArgs,
|
|
59
|
+
...AgyOptionalModelArgs,
|
|
60
|
+
...AgyOptionalEffortArgs,
|
|
61
|
+
"--print",
|
|
62
|
+
AgyPrompt
|
|
63
|
+
];
|
|
64
|
+
export type AgyForbiddenWorkflowFlag = "--continue" | "-c";
|
|
65
|
+
export type AgyPrintArgs = AgyRequiredPrintArgs | readonly [...AgyLogFileArgs, ...AgyRequiredPrintArgs] | readonly [...AgyConversationArgs, ...AgyRequiredPrintArgs] | readonly [...AgyLogFileArgs, ...AgyConversationArgs, ...AgyRequiredPrintArgs];
|
|
66
|
+
export declare const AGY_FORBIDDEN_WORKFLOW_FLAGS: Set<AgyForbiddenWorkflowFlag>;
|
|
67
|
+
export declare const assertAgyPrintArgsWorkflowSafe: (args: readonly string[]) => void;
|
|
68
|
+
export declare const assertAntigravityWorkflowCapabilities: (helpText: string) => void;
|
|
69
|
+
export declare const detectAgyPrintTimeout: (stdout: string, stderr: string) => boolean;
|
|
70
|
+
export declare const resolveAntigravityPermission: (mode: WorkflowPermissionMode) => AntigravityWorkflowPermissionMode;
|
|
71
|
+
export declare const buildAgyArgs: (input: {
|
|
72
|
+
readonly cwd: string;
|
|
73
|
+
readonly model?: string;
|
|
74
|
+
readonly effort?: string;
|
|
75
|
+
readonly permission?: AntigravityWorkflowPermissionMode;
|
|
76
|
+
readonly printTimeout: string;
|
|
77
|
+
readonly prompt: string;
|
|
78
|
+
readonly conversationId?: AgyConversationId;
|
|
79
|
+
readonly logFile?: string;
|
|
80
|
+
}) => AgyPrintArgs;
|
|
81
|
+
export declare const parseAgyConversationId: (value: string | undefined) => AgyConversationId | undefined;
|
|
82
|
+
export declare const extractAgyConversationId: (logText: string) => AgyConversationId | undefined;
|
|
83
|
+
export declare const runAntigravityWorkflowTask: (task: AnyWorkflowWorkerTask, options: AntigravityWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
84
|
+
export {};
|
|
@@ -36,4 +36,6 @@ export interface WorkflowBunRuntime {
|
|
|
36
36
|
spawn(options: WorkflowBunPipedSpawnOptions): WorkflowBunPipedSpawnedProcess;
|
|
37
37
|
}
|
|
38
38
|
export declare const workflowBunRuntime: (capability: string) => WorkflowBunRuntime;
|
|
39
|
+
/** Parse harness-owned TOML from the Bun-only workflow runtime boundary. */
|
|
40
|
+
export declare const parseWorkflowToml: (source: string, capability: string) => unknown;
|
|
39
41
|
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type AnyWorkflowWorkerTask, type WorkflowPermissionMode, type WorkflowSessionPersistence } from "./workflows.js";
|
|
2
|
+
import { type WorkflowJsonSchema } from "./workflow-output-schema.js";
|
|
3
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
4
|
+
export type ClaudeWorkflowWorkerOptions = {
|
|
5
|
+
readonly cwd: string;
|
|
6
|
+
readonly bin?: string;
|
|
7
|
+
readonly model?: string;
|
|
8
|
+
readonly effort?: string;
|
|
9
|
+
readonly sessionPersistence?: WorkflowSessionPersistence;
|
|
10
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
11
|
+
readonly restrictedTools?: readonly string[];
|
|
12
|
+
readonly abortSignal?: AbortSignal;
|
|
13
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
14
|
+
} & WorkflowTaskRepairLoopOption<"claude-code">;
|
|
15
|
+
export declare class ClaudeWorkflowWorkerError extends Error {
|
|
16
|
+
readonly name = "ClaudeWorkflowWorkerError";
|
|
17
|
+
readonly metadata?: Record<string, unknown>;
|
|
18
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
19
|
+
}
|
|
20
|
+
type ClaudeWorkflowSessionArgs = {
|
|
21
|
+
readonly sessionPersistence?: "persistent";
|
|
22
|
+
readonly resumeSessionId?: string;
|
|
23
|
+
} | {
|
|
24
|
+
readonly sessionPersistence: "ephemeral";
|
|
25
|
+
readonly resumeSessionId?: never;
|
|
26
|
+
};
|
|
27
|
+
export declare const buildClaudeArgs: (input: {
|
|
28
|
+
readonly model?: string;
|
|
29
|
+
readonly effort?: string;
|
|
30
|
+
readonly prompt: string;
|
|
31
|
+
readonly outputSchema?: WorkflowJsonSchema;
|
|
32
|
+
readonly permission?: WorkflowPermissionMode;
|
|
33
|
+
readonly restrictedTools?: readonly string[];
|
|
34
|
+
} & ClaudeWorkflowSessionArgs) => ReadonlyArray<string>;
|
|
35
|
+
export declare const runClaudeWorkflowTask: (task: AnyWorkflowWorkerTask, options: ClaudeWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const currentCliCommand: () => string[];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { AnyWorkflowWorkerTask, WorkflowPermissionMode, WorkflowSessionPersistence } from "./workflows.js";
|
|
2
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
3
|
+
export type CodexWorkflowWorkerOptions = {
|
|
4
|
+
readonly cwd: string;
|
|
5
|
+
readonly bin?: string;
|
|
6
|
+
readonly model?: string;
|
|
7
|
+
readonly effort?: string;
|
|
8
|
+
readonly sessionPersistence?: WorkflowSessionPersistence;
|
|
9
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
10
|
+
readonly abortSignal?: AbortSignal;
|
|
11
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
12
|
+
} & WorkflowTaskRepairLoopOption<"codex-cli">;
|
|
13
|
+
export declare class CodexWorkflowWorkerError extends Error {
|
|
14
|
+
readonly name = "CodexWorkflowWorkerError";
|
|
15
|
+
readonly metadata?: Record<string, unknown>;
|
|
16
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
17
|
+
}
|
|
18
|
+
type CodexWorkflowSessionArgs = {
|
|
19
|
+
readonly sessionPersistence?: "persistent";
|
|
20
|
+
readonly resumeSessionId?: string;
|
|
21
|
+
} | {
|
|
22
|
+
readonly sessionPersistence: "ephemeral";
|
|
23
|
+
readonly resumeSessionId?: never;
|
|
24
|
+
};
|
|
25
|
+
export declare const buildCodexArgs: (input: {
|
|
26
|
+
readonly cwd: string;
|
|
27
|
+
readonly model?: string;
|
|
28
|
+
readonly effort?: string;
|
|
29
|
+
readonly outputSchemaPath?: string;
|
|
30
|
+
readonly outputPath: string;
|
|
31
|
+
readonly prompt: string;
|
|
32
|
+
readonly permission?: WorkflowPermissionMode;
|
|
33
|
+
} & CodexWorkflowSessionArgs) => ReadonlyArray<string>;
|
|
34
|
+
export declare const codexSessionId: (stdout: string, stderr: string) => string | undefined;
|
|
35
|
+
export declare const runCodexWorkflowTask: (task: AnyWorkflowWorkerTask, options: CodexWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AnyWorkflowWorkerTask, WorkflowPermissionMode } from "./workflows.js";
|
|
2
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
3
|
+
export type CursorWorkflowWorkerOptions = {
|
|
4
|
+
readonly cwd: string;
|
|
5
|
+
readonly bin?: string;
|
|
6
|
+
readonly model?: string;
|
|
7
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
8
|
+
readonly abortSignal?: AbortSignal;
|
|
9
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
10
|
+
} & WorkflowTaskRepairLoopOption<"cursor">;
|
|
11
|
+
export declare class CursorWorkflowWorkerError extends Error {
|
|
12
|
+
readonly name = "CursorWorkflowWorkerError";
|
|
13
|
+
readonly metadata?: Record<string, unknown>;
|
|
14
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
15
|
+
}
|
|
16
|
+
export declare const cursorSessionIdFromStream: (stdout: string) => string | undefined;
|
|
17
|
+
export declare const buildCursorArgs: (input: {
|
|
18
|
+
readonly prompt: string;
|
|
19
|
+
readonly cwd: string;
|
|
20
|
+
readonly model?: string;
|
|
21
|
+
readonly resumeSessionId?: string;
|
|
22
|
+
readonly permission?: WorkflowPermissionMode;
|
|
23
|
+
}) => ReadonlyArray<string>;
|
|
24
|
+
export declare const runCursorWorkflowTask: (task: AnyWorkflowWorkerTask, options: CursorWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AnyWorkflowWorkerTask, WorkflowPermissionMode } from "./workflows.js";
|
|
2
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
3
|
+
export type DevinWorkflowWorkerOptions = {
|
|
4
|
+
readonly cwd: string;
|
|
5
|
+
readonly bin?: string;
|
|
6
|
+
readonly model?: string;
|
|
7
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
8
|
+
readonly abortSignal?: AbortSignal;
|
|
9
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
10
|
+
} & WorkflowTaskRepairLoopOption<"devin">;
|
|
11
|
+
export declare class DevinWorkflowWorkerError extends Error {
|
|
12
|
+
readonly name = "DevinWorkflowWorkerError";
|
|
13
|
+
readonly metadata?: Record<string, unknown>;
|
|
14
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
15
|
+
}
|
|
16
|
+
export declare const isDevinAuthOutput: (output: string) => boolean;
|
|
17
|
+
export declare const mapDevinPermissionMode: (mode: WorkflowPermissionMode) => "auto" | "accept-edits" | "smart" | "dangerous" | undefined;
|
|
18
|
+
export declare const buildDevinArgs: (input: {
|
|
19
|
+
readonly model?: string;
|
|
20
|
+
readonly permission?: WorkflowPermissionMode;
|
|
21
|
+
readonly sessionId?: string;
|
|
22
|
+
readonly promptFilePath: string;
|
|
23
|
+
readonly exportPath: string;
|
|
24
|
+
}) => ReadonlyArray<string>;
|
|
25
|
+
export declare const runDevinWorkflowTask: (task: AnyWorkflowWorkerTask, options: DevinWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HarnessTypesSnapshot } from "./harness-types.js";
|
|
2
|
+
import type { HarnessId } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Values available to the authoring and named-worker contracts. Fixed CLI
|
|
5
|
+
* values come from the capability registry; catalog values come only from the
|
|
6
|
+
* installed per-model discovery snapshot.
|
|
7
|
+
*/
|
|
8
|
+
export declare const workflowEffortValues: (worker: HarnessId, snapshot?: HarnessTypesSnapshot) => readonly string[] | undefined;
|
|
9
|
+
/** Validate one effective task effort against the capability and model cache. */
|
|
10
|
+
export declare const validateWorkflowEffort: (input: {
|
|
11
|
+
readonly worker: HarnessId;
|
|
12
|
+
readonly effort?: string;
|
|
13
|
+
readonly model?: string;
|
|
14
|
+
readonly catalogModel?: string;
|
|
15
|
+
readonly snapshot?: HarnessTypesSnapshot;
|
|
16
|
+
}) => string | undefined;
|
|
17
|
+
/** Exact one-line migration diagnostic for legacy Codex/OMP modelspace entries. */
|
|
18
|
+
export declare const legacyReasoningVariantError: (worker: string, target: unknown, location: string) => string | undefined;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AnyWorkflowWorkerTask, WorkflowPermissionMode } from "./workflows.js";
|
|
2
|
+
import type { WorkflowTaskExecution, WorkflowTaskProgressReporter, WorkflowTaskRepairLoopOption } from "./workflow-runner.js";
|
|
3
|
+
export type GrokWorkflowWorkerOptions = {
|
|
4
|
+
readonly cwd: string;
|
|
5
|
+
readonly bin?: string;
|
|
6
|
+
readonly model?: string;
|
|
7
|
+
readonly effort?: string;
|
|
8
|
+
readonly resolvedPermission: WorkflowPermissionMode;
|
|
9
|
+
readonly abortSignal?: AbortSignal;
|
|
10
|
+
readonly reportProgress?: WorkflowTaskProgressReporter;
|
|
11
|
+
} & WorkflowTaskRepairLoopOption<"grok">;
|
|
12
|
+
export declare class WorkflowWorkerError extends Error {
|
|
13
|
+
readonly name = "WorkflowWorkerError";
|
|
14
|
+
readonly metadata?: Record<string, unknown>;
|
|
15
|
+
constructor(message: string, metadata?: Record<string, unknown>);
|
|
16
|
+
}
|
|
17
|
+
export declare const isGrokAuthOutput: (output: string) => boolean;
|
|
18
|
+
export declare const buildGrokArgs: (input: {
|
|
19
|
+
readonly cwd: string;
|
|
20
|
+
readonly model?: string;
|
|
21
|
+
readonly effort?: string;
|
|
22
|
+
readonly prompt: string;
|
|
23
|
+
readonly sessionId?: string;
|
|
24
|
+
readonly permission?: WorkflowPermissionMode;
|
|
25
|
+
}) => ReadonlyArray<string>;
|
|
26
|
+
interface GrokJsonRunOutput {
|
|
27
|
+
readonly sessionId?: string;
|
|
28
|
+
readonly text: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const parseGrokJsonRunOutput: (stdout: string) => GrokJsonRunOutput;
|
|
31
|
+
export declare const runGrokWorkflowTask: (task: AnyWorkflowWorkerTask, options: GrokWorkflowWorkerOptions) => Promise<WorkflowTaskExecution>;
|
|
32
|
+
export { parseWorkflowWorkerJsonOutput, WorkflowOutputParseError } from "./workflow-worker-contract.js";
|