taskflow-core 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +247 -862
- package/dist/agents.d.ts +12 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +29 -1
- package/dist/agents.js.map +1 -1
- package/dist/build-info.d.ts +48 -0
- package/dist/build-info.d.ts.map +1 -0
- package/dist/build-info.js +112 -0
- package/dist/build-info.js.map +1 -0
- package/dist/build-info.json +4 -0
- package/dist/cwd-bridge.d.ts +61 -0
- package/dist/cwd-bridge.d.ts.map +1 -0
- package/dist/cwd-bridge.js +136 -0
- package/dist/cwd-bridge.js.map +1 -0
- package/dist/detached-runner.js +31 -5
- package/dist/detached-runner.js.map +1 -1
- package/dist/exec/driver.d.ts +6 -0
- package/dist/exec/driver.d.ts.map +1 -1
- package/dist/exec/driver.js +40 -18
- package/dist/exec/driver.js.map +1 -1
- package/dist/exec/kernel-policy.d.ts.map +1 -1
- package/dist/exec/kernel-policy.js +10 -0
- package/dist/exec/kernel-policy.js.map +1 -1
- package/dist/exec/step-kinds.d.ts +14 -1
- package/dist/exec/step-kinds.d.ts.map +1 -1
- package/dist/exec/step-kinds.js +126 -6
- package/dist/exec/step-kinds.js.map +1 -1
- package/dist/exec/step.d.ts +22 -0
- package/dist/exec/step.d.ts.map +1 -1
- package/dist/exec/step.js +40 -5
- package/dist/exec/step.js.map +1 -1
- package/dist/final-output.d.ts +53 -0
- package/dist/final-output.d.ts.map +1 -0
- package/dist/final-output.js +65 -0
- package/dist/final-output.js.map +1 -0
- package/dist/flowir/canonical-hash.d.ts.map +1 -1
- package/dist/flowir/canonical-hash.js +2 -0
- package/dist/flowir/canonical-hash.js.map +1 -1
- package/dist/flowir/compile.d.ts.map +1 -1
- package/dist/flowir/compile.js +17 -0
- package/dist/flowir/compile.js.map +1 -1
- package/dist/flowir/meta.d.ts +3 -0
- package/dist/flowir/meta.d.ts.map +1 -1
- package/dist/flowir/schema.d.ts +3 -0
- package/dist/flowir/schema.d.ts.map +1 -1
- package/dist/flowir/schema.js.map +1 -1
- package/dist/flowir/translate.d.ts.map +1 -1
- package/dist/flowir/translate.js +4 -0
- package/dist/flowir/translate.js.map +1 -1
- package/dist/host/runner-types.d.ts +16 -0
- package/dist/host/runner-types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/interpolate.d.ts +4 -0
- package/dist/interpolate.d.ts.map +1 -1
- package/dist/interpolate.js +14 -0
- package/dist/interpolate.js.map +1 -1
- package/dist/resources/authority.d.ts +35 -0
- package/dist/resources/authority.d.ts.map +1 -0
- package/dist/resources/authority.js +67 -0
- package/dist/resources/authority.js.map +1 -0
- package/dist/resources/backend.d.ts +302 -0
- package/dist/resources/backend.d.ts.map +1 -0
- package/dist/resources/backend.js +16 -0
- package/dist/resources/backend.js.map +1 -0
- package/dist/resources/baseline.d.ts +116 -0
- package/dist/resources/baseline.d.ts.map +1 -0
- package/dist/resources/baseline.js +447 -0
- package/dist/resources/baseline.js.map +1 -0
- package/dist/resources/canonical-json.d.ts +7 -0
- package/dist/resources/canonical-json.d.ts.map +1 -0
- package/dist/resources/canonical-json.js +75 -0
- package/dist/resources/canonical-json.js.map +1 -0
- package/dist/resources/errors.d.ts +23 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +89 -0
- package/dist/resources/errors.js.map +1 -0
- package/dist/resources/execution.d.ts +90 -0
- package/dist/resources/execution.d.ts.map +1 -0
- package/dist/resources/execution.js +581 -0
- package/dist/resources/execution.js.map +1 -0
- package/dist/resources/index.d.ts +15 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +15 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/journal.d.ts +138 -0
- package/dist/resources/journal.d.ts.map +1 -0
- package/dist/resources/journal.js +438 -0
- package/dist/resources/journal.js.map +1 -0
- package/dist/resources/leases.d.ts +51 -0
- package/dist/resources/leases.d.ts.map +1 -0
- package/dist/resources/leases.js +354 -0
- package/dist/resources/leases.js.map +1 -0
- package/dist/resources/permits.d.ts +52 -0
- package/dist/resources/permits.d.ts.map +1 -0
- package/dist/resources/permits.js +240 -0
- package/dist/resources/permits.js.map +1 -0
- package/dist/resources/persistence.d.ts +63 -0
- package/dist/resources/persistence.d.ts.map +1 -0
- package/dist/resources/persistence.js +522 -0
- package/dist/resources/persistence.js.map +1 -0
- package/dist/resources/registry.d.ts +56 -0
- package/dist/resources/registry.d.ts.map +1 -0
- package/dist/resources/registry.js +139 -0
- package/dist/resources/registry.js.map +1 -0
- package/dist/resources/resolve.d.ts +49 -0
- package/dist/resources/resolve.d.ts.map +1 -0
- package/dist/resources/resolve.js +309 -0
- package/dist/resources/resolve.js.map +1 -0
- package/dist/resources/sandbox.d.ts +72 -0
- package/dist/resources/sandbox.d.ts.map +1 -0
- package/dist/resources/sandbox.js +952 -0
- package/dist/resources/sandbox.js.map +1 -0
- package/dist/resources/schema.d.ts +195 -0
- package/dist/resources/schema.d.ts.map +1 -0
- package/dist/resources/schema.js +231 -0
- package/dist/resources/schema.js.map +1 -0
- package/dist/resources/types.d.ts +36 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +75 -0
- package/dist/resources/types.js.map +1 -0
- package/dist/resume.d.ts +76 -0
- package/dist/resume.d.ts.map +1 -0
- package/dist/resume.js +190 -0
- package/dist/resume.js.map +1 -0
- package/dist/runner-core.d.ts +29 -0
- package/dist/runner-core.d.ts.map +1 -1
- package/dist/runner-core.js +311 -36
- package/dist/runner-core.js.map +1 -1
- package/dist/runtime/phases/parallel.d.ts +3 -0
- package/dist/runtime/phases/parallel.d.ts.map +1 -1
- package/dist/runtime/phases/parallel.js.map +1 -1
- package/dist/runtime/phases/reduce.d.ts +47 -0
- package/dist/runtime/phases/reduce.d.ts.map +1 -0
- package/dist/runtime/phases/reduce.js +195 -0
- package/dist/runtime/phases/reduce.js.map +1 -0
- package/dist/runtime/phases/script.d.ts.map +1 -1
- package/dist/runtime/phases/script.js +47 -9
- package/dist/runtime/phases/script.js.map +1 -1
- package/dist/runtime.d.ts +67 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +904 -79
- package/dist/runtime.js.map +1 -1
- package/dist/schema.d.ts +135 -5
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +338 -21
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts +56 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +5 -1
- package/dist/store.js.map +1 -1
- package/dist/trace.d.ts +3 -0
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js.map +1 -1
- package/package.json +4 -3
package/dist/agents.d.ts
CHANGED
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
* pool (~/.pi/agent/agents/*.md, .pi/agents/*.md) and settings overrides.
|
|
5
5
|
*/
|
|
6
6
|
export type AgentScope = "user" | "project" | "both";
|
|
7
|
+
export type PiChildResourceProfile = "isolated" | "allowlist" | "inherit";
|
|
8
|
+
/** Trusted host configuration for Pi children. This is deliberately not part
|
|
9
|
+
* of the flow DSL or RunOptions: a flow may consume authority, never mint it. */
|
|
10
|
+
export interface PiChildSettings {
|
|
11
|
+
resourceProfile: PiChildResourceProfile;
|
|
12
|
+
extensions: string[];
|
|
13
|
+
terminalGraceMs: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const DEFAULT_PI_CHILD_SETTINGS: PiChildSettings;
|
|
7
16
|
export interface TaskflowSettings {
|
|
8
17
|
/** Whether taskflow's package-local built-in agents are available to flows. */
|
|
9
18
|
builtInAgents: boolean;
|
|
@@ -17,9 +26,12 @@ export interface TaskflowSettings {
|
|
|
17
26
|
library: LibrarySettings;
|
|
18
27
|
/** Optional embedding backend for semantic search (Phase 2). Undefined = structural/keyword fallback. */
|
|
19
28
|
embedder?: EmbedderConfig;
|
|
29
|
+
/** Host-only Pi child isolation/completion policy. */
|
|
30
|
+
piChild: PiChildSettings;
|
|
20
31
|
}
|
|
21
32
|
import { type LibrarySettings } from "./library/types.ts";
|
|
22
33
|
export declare const DEFAULT_TASKFLOW_SETTINGS: TaskflowSettings;
|
|
34
|
+
export declare function normalizePiChildSettings(raw: unknown): PiChildSettings;
|
|
23
35
|
export declare function normalizeTaskflowSettings(raw: unknown): TaskflowSettings;
|
|
24
36
|
/** RFC §4.2 config shapes: { kind: "http", url, model, apiKey?, dimensions? } or
|
|
25
37
|
* { kind: "command", command: string[], timeoutMs? }. */
|
package/dist/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAChC,+EAA+E;IAC/E,aAAa,EAAE,OAAO,CAAC;IACvB,yFAAyF;IACzF,0BAA0B,EAAE,OAAO,CAAC;IACpC,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,OAAO,EAAE,eAAe,CAAC;IACzB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/agents.js
CHANGED
|
@@ -7,6 +7,11 @@ import * as fs from "node:fs";
|
|
|
7
7
|
import * as path from "node:path";
|
|
8
8
|
import { getAgentDir } from "./paths.js";
|
|
9
9
|
import { parseFrontmatter } from "./frontmatter.js";
|
|
10
|
+
export const DEFAULT_PI_CHILD_SETTINGS = {
|
|
11
|
+
resourceProfile: "isolated",
|
|
12
|
+
extensions: [],
|
|
13
|
+
terminalGraceMs: 1500,
|
|
14
|
+
};
|
|
10
15
|
import { DEFAULT_KEPT_RUNS, DEFAULT_RUN_AGE_DAYS, writeFileAtomic } from "./store.js";
|
|
11
16
|
import { DEFAULT_LIBRARY_SETTINGS } from "./library/types.js";
|
|
12
17
|
export const DEFAULT_TASKFLOW_SETTINGS = {
|
|
@@ -15,10 +20,32 @@ export const DEFAULT_TASKFLOW_SETTINGS = {
|
|
|
15
20
|
maxKeptRuns: DEFAULT_KEPT_RUNS,
|
|
16
21
|
maxRunAgeDays: DEFAULT_RUN_AGE_DAYS,
|
|
17
22
|
library: { ...DEFAULT_LIBRARY_SETTINGS },
|
|
23
|
+
piChild: { ...DEFAULT_PI_CHILD_SETTINGS, extensions: [] },
|
|
18
24
|
};
|
|
25
|
+
export function normalizePiChildSettings(raw) {
|
|
26
|
+
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
27
|
+
return { ...DEFAULT_PI_CHILD_SETTINGS, extensions: [] };
|
|
28
|
+
}
|
|
29
|
+
const rec = raw;
|
|
30
|
+
const resourceProfile = rec.resourceProfile === "allowlist" || rec.resourceProfile === "inherit" || rec.resourceProfile === "isolated"
|
|
31
|
+
? rec.resourceProfile
|
|
32
|
+
: DEFAULT_PI_CHILD_SETTINGS.resourceProfile;
|
|
33
|
+
const extensions = Array.isArray(rec.extensions)
|
|
34
|
+
? rec.extensions.filter((entry) => typeof entry === "string")
|
|
35
|
+
: [];
|
|
36
|
+
const terminalGraceMs = typeof rec.terminalGraceMs === "number" && Number.isInteger(rec.terminalGraceMs) &&
|
|
37
|
+
rec.terminalGraceMs >= 0 && rec.terminalGraceMs <= 60_000
|
|
38
|
+
? rec.terminalGraceMs
|
|
39
|
+
: DEFAULT_PI_CHILD_SETTINGS.terminalGraceMs;
|
|
40
|
+
return { resourceProfile, extensions, terminalGraceMs };
|
|
41
|
+
}
|
|
19
42
|
export function normalizeTaskflowSettings(raw) {
|
|
20
43
|
if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
|
|
21
|
-
const base = {
|
|
44
|
+
const base = {
|
|
45
|
+
...DEFAULT_TASKFLOW_SETTINGS,
|
|
46
|
+
library: { ...DEFAULT_LIBRARY_SETTINGS },
|
|
47
|
+
piChild: { ...DEFAULT_PI_CHILD_SETTINGS, extensions: [] },
|
|
48
|
+
};
|
|
22
49
|
return base;
|
|
23
50
|
}
|
|
24
51
|
const rec = raw;
|
|
@@ -37,6 +64,7 @@ export function normalizeTaskflowSettings(raw) {
|
|
|
37
64
|
? rec.maxRunAgeDays
|
|
38
65
|
: DEFAULT_TASKFLOW_SETTINGS.maxRunAgeDays,
|
|
39
66
|
library: normalizeLibrarySettings(rec.library),
|
|
67
|
+
piChild: normalizePiChildSettings(rec.piChild),
|
|
40
68
|
};
|
|
41
69
|
if (embedder)
|
|
42
70
|
base.embedder = embedder;
|
package/dist/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build identity — 0.2.0 dogfood issue 4.
|
|
3
|
+
*
|
|
4
|
+
* Exports the host-neutral build-info API: `packageVersion`, `gitCommit`, and
|
|
5
|
+
* the current run-state `schemaVersion`. Package version is sourced from
|
|
6
|
+
* package metadata (read at runtime — never runs git). The git commit is
|
|
7
|
+
* stamped at BUILD time into a generated `build-info.json` shipped under
|
|
8
|
+
* `dist/`; in a source/dev checkout (no build) it falls back to the
|
|
9
|
+
* `PI_TASKFLOW_BUILD_COMMIT` env var, then to the deterministic string
|
|
10
|
+
* `"unknown"`. **`git` is never invoked at runtime** (no `git rev-parse`, no
|
|
11
|
+
* `.git` read) — the stamp is purely a build-time artifact.
|
|
12
|
+
*
|
|
13
|
+
* The build stamp lives under `dist/` (gitignored) so a normal build never
|
|
14
|
+
* dirties the source tree. See `scripts/stamp-build-info.mjs`.
|
|
15
|
+
*/
|
|
16
|
+
/** The current run-state schema version. Bumped when the persisted `RunState`
|
|
17
|
+
* shape changes in a way a loader should be aware of. Optional metadata
|
|
18
|
+
* fields (packageVersion/gitCommit/host/parentRunId) were added in this
|
|
19
|
+
* version; absent fields on old runs are tolerated (backward compatible). */
|
|
20
|
+
export declare const CURRENT_RUN_STATE_SCHEMA_VERSION = 1;
|
|
21
|
+
/** The deterministic fallback when no build stamp is available (source/dev
|
|
22
|
+
* checkout, or a build that could not determine the commit). */
|
|
23
|
+
export declare const UNKNOWN_BUILD_COMMIT = "unknown";
|
|
24
|
+
export interface BuildInfo {
|
|
25
|
+
/** Package version, sourced from the nearest package.json (runtime read). */
|
|
26
|
+
packageVersion: string;
|
|
27
|
+
/** Git commit the published dist was built from, stamped at build time.
|
|
28
|
+
* `"unknown"` in a source/dev checkout (no `git` is ever run at runtime). */
|
|
29
|
+
gitCommit: string;
|
|
30
|
+
/** The current run-state schema version (see CURRENT_RUN_STATE_SCHEMA_VERSION). */
|
|
31
|
+
schemaVersion: number;
|
|
32
|
+
/** When the build stamp was generated (ms epoch), if known. */
|
|
33
|
+
buildTime?: number;
|
|
34
|
+
}
|
|
35
|
+
/** Resolve the package version from the nearest package.json. Tries the
|
|
36
|
+
* taskflow-core package.json first, then walks up. Never throws — returns
|
|
37
|
+
* `"0.0.0"` if no version can be read. */
|
|
38
|
+
export declare function packageVersion(): string;
|
|
39
|
+
/** Resolve the git commit the dist was built from. NEVER runs `git` at runtime.
|
|
40
|
+
* Precedence: build stamp (dist/build-info.json) → PI_TASKFLOW_BUILD_COMMIT
|
|
41
|
+
* env → "unknown". */
|
|
42
|
+
export declare function gitCommit(): string;
|
|
43
|
+
/** The build timestamp (ms epoch) the dist was stamped at, if known. */
|
|
44
|
+
export declare function buildTime(): number | undefined;
|
|
45
|
+
/** The full build-info record. Host adapters stamp RunState + report this to
|
|
46
|
+
* `action=version` / `taskflow_version`. */
|
|
47
|
+
export declare function getBuildInfo(): BuildInfo;
|
|
48
|
+
//# sourceMappingURL=build-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info.d.ts","sourceRoot":"","sources":["../src/build-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH;;;8EAG8E;AAC9E,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;iEACiE;AACjE,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,MAAM,WAAW,SAAS;IACzB,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAC;IACvB;kFAC8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD;;2CAE2C;AAC3C,wBAAgB,cAAc,IAAI,MAAM,CAsBvC;AA6BD;;uBAEuB;AACvB,wBAAgB,SAAS,IAAI,MAAM,CAMlC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED;6CAC6C;AAC7C,wBAAgB,YAAY,IAAI,SAAS,CAQxC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build identity — 0.2.0 dogfood issue 4.
|
|
3
|
+
*
|
|
4
|
+
* Exports the host-neutral build-info API: `packageVersion`, `gitCommit`, and
|
|
5
|
+
* the current run-state `schemaVersion`. Package version is sourced from
|
|
6
|
+
* package metadata (read at runtime — never runs git). The git commit is
|
|
7
|
+
* stamped at BUILD time into a generated `build-info.json` shipped under
|
|
8
|
+
* `dist/`; in a source/dev checkout (no build) it falls back to the
|
|
9
|
+
* `PI_TASKFLOW_BUILD_COMMIT` env var, then to the deterministic string
|
|
10
|
+
* `"unknown"`. **`git` is never invoked at runtime** (no `git rev-parse`, no
|
|
11
|
+
* `.git` read) — the stamp is purely a build-time artifact.
|
|
12
|
+
*
|
|
13
|
+
* The build stamp lives under `dist/` (gitignored) so a normal build never
|
|
14
|
+
* dirties the source tree. See `scripts/stamp-build-info.mjs`.
|
|
15
|
+
*/
|
|
16
|
+
import { readFileSync } from "node:fs";
|
|
17
|
+
import { dirname, join } from "node:path";
|
|
18
|
+
import { fileURLToPath } from "node:url";
|
|
19
|
+
/** The current run-state schema version. Bumped when the persisted `RunState`
|
|
20
|
+
* shape changes in a way a loader should be aware of. Optional metadata
|
|
21
|
+
* fields (packageVersion/gitCommit/host/parentRunId) were added in this
|
|
22
|
+
* version; absent fields on old runs are tolerated (backward compatible). */
|
|
23
|
+
export const CURRENT_RUN_STATE_SCHEMA_VERSION = 1;
|
|
24
|
+
/** The deterministic fallback when no build stamp is available (source/dev
|
|
25
|
+
* checkout, or a build that could not determine the commit). */
|
|
26
|
+
export const UNKNOWN_BUILD_COMMIT = "unknown";
|
|
27
|
+
let cachedPackageVersion;
|
|
28
|
+
let cachedStamp;
|
|
29
|
+
/** Resolve the package version from the nearest package.json. Tries the
|
|
30
|
+
* taskflow-core package.json first, then walks up. Never throws — returns
|
|
31
|
+
* `"0.0.0"` if no version can be read. */
|
|
32
|
+
export function packageVersion() {
|
|
33
|
+
if (cachedPackageVersion !== undefined)
|
|
34
|
+
return cachedPackageVersion;
|
|
35
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
36
|
+
// src/build-info.ts → ../package.json (taskflow-core). In dist, build-info.js
|
|
37
|
+
// is at dist/build-info.js → ../package.json is still taskflow-core's.
|
|
38
|
+
const candidates = [join(here, "..", "package.json"), join(here, "..", "..", "package.json")];
|
|
39
|
+
for (const p of candidates) {
|
|
40
|
+
try {
|
|
41
|
+
const pkg = JSON.parse(readFileSync(p, "utf8"));
|
|
42
|
+
if (pkg && typeof pkg === "object" && "version" in pkg) {
|
|
43
|
+
const v = pkg.version;
|
|
44
|
+
if (typeof v === "string" && v) {
|
|
45
|
+
cachedPackageVersion = v;
|
|
46
|
+
return v;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
/* try next candidate */
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
cachedPackageVersion = "0.0.0";
|
|
55
|
+
return cachedPackageVersion;
|
|
56
|
+
}
|
|
57
|
+
/** Read the build-time stamp (generated by scripts/stamp-build-info.mjs into
|
|
58
|
+
* dist/build-info.json). Returns `{}` when absent (source/dev checkout). */
|
|
59
|
+
function readBuildStamp() {
|
|
60
|
+
if (cachedStamp !== undefined)
|
|
61
|
+
return cachedStamp;
|
|
62
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
63
|
+
// In dist: build-info.js → ./build-info.json (sibling). In src: the stamp
|
|
64
|
+
// is not generated (dev checkout) → readFileSync throws → {}.
|
|
65
|
+
const stampPath = join(here, "build-info.json");
|
|
66
|
+
try {
|
|
67
|
+
const raw = JSON.parse(readFileSync(stampPath, "utf8"));
|
|
68
|
+
const stamp = {};
|
|
69
|
+
if (raw && typeof raw === "object") {
|
|
70
|
+
if (typeof raw.gitCommit === "string") {
|
|
71
|
+
stamp.gitCommit = raw.gitCommit;
|
|
72
|
+
}
|
|
73
|
+
if (typeof raw.buildTime === "number") {
|
|
74
|
+
stamp.buildTime = raw.buildTime;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
cachedStamp = stamp;
|
|
78
|
+
return stamp;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
cachedStamp = {};
|
|
82
|
+
return cachedStamp;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/** Resolve the git commit the dist was built from. NEVER runs `git` at runtime.
|
|
86
|
+
* Precedence: build stamp (dist/build-info.json) → PI_TASKFLOW_BUILD_COMMIT
|
|
87
|
+
* env → "unknown". */
|
|
88
|
+
export function gitCommit() {
|
|
89
|
+
const stamp = readBuildStamp();
|
|
90
|
+
if (stamp.gitCommit)
|
|
91
|
+
return stamp.gitCommit;
|
|
92
|
+
const env = process.env.PI_TASKFLOW_BUILD_COMMIT;
|
|
93
|
+
if (typeof env === "string" && env.trim())
|
|
94
|
+
return env.trim();
|
|
95
|
+
return UNKNOWN_BUILD_COMMIT;
|
|
96
|
+
}
|
|
97
|
+
/** The build timestamp (ms epoch) the dist was stamped at, if known. */
|
|
98
|
+
export function buildTime() {
|
|
99
|
+
return readBuildStamp().buildTime;
|
|
100
|
+
}
|
|
101
|
+
/** The full build-info record. Host adapters stamp RunState + report this to
|
|
102
|
+
* `action=version` / `taskflow_version`. */
|
|
103
|
+
export function getBuildInfo() {
|
|
104
|
+
const stampedBuildTime = buildTime();
|
|
105
|
+
return {
|
|
106
|
+
packageVersion: packageVersion(),
|
|
107
|
+
gitCommit: gitCommit(),
|
|
108
|
+
schemaVersion: CURRENT_RUN_STATE_SCHEMA_VERSION,
|
|
109
|
+
...(stampedBuildTime !== undefined ? { buildTime: stampedBuildTime } : {}),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=build-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info.js","sourceRoot":"","sources":["../src/build-info.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.2.1 compatibility bridge for a phase cwd selected by one typed argument.
|
|
3
|
+
*
|
|
4
|
+
* This is deliberately narrower than general string interpolation:
|
|
5
|
+
* `cwd` may be exactly `{args.X}`, and X must be declared as a
|
|
6
|
+
* `relative-path`. Resolution is anchored to the invocation root, requires an
|
|
7
|
+
* existing directory, and rejects lexical and symlink escapes.
|
|
8
|
+
*
|
|
9
|
+
* Path resolution is defense in depth, not a filesystem sandbox. The bridge
|
|
10
|
+
* therefore stays disabled unless the host explicitly opts into the documented
|
|
11
|
+
* `resolve-only` execution mode. A future sandbox backend may add a stronger
|
|
12
|
+
* mode after host conformance evidence exists.
|
|
13
|
+
*/
|
|
14
|
+
export declare const CWD_BRIDGE_MODE_ENV = "TASKFLOW_CWD_BRIDGE_MODE";
|
|
15
|
+
export type CwdBridgeMode = "resolve-only";
|
|
16
|
+
export interface ResolvedCwdArg {
|
|
17
|
+
argName: string;
|
|
18
|
+
/** NFC-normalized, portable `/`-separated value used for diagnostics. */
|
|
19
|
+
logicalPath: string;
|
|
20
|
+
/** Canonical existing directory below the canonical invocation root. */
|
|
21
|
+
absolutePath: string;
|
|
22
|
+
}
|
|
23
|
+
/** Persistable identity for an invocation-root directory binding. */
|
|
24
|
+
export interface DirectoryIdentity {
|
|
25
|
+
canonicalPath: string;
|
|
26
|
+
device: string;
|
|
27
|
+
inode: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function directoryIdentity(dir: string): DirectoryIdentity | undefined;
|
|
30
|
+
export type CwdBridgeResult = {
|
|
31
|
+
ok: true;
|
|
32
|
+
value: ResolvedCwdArg;
|
|
33
|
+
} | {
|
|
34
|
+
ok: false;
|
|
35
|
+
code: "TF_CWD_BRIDGE_DISABLED" | "TF_CWD_ARG_MISSING" | "TF_CWD_ARG_INVALID" | "TF_CWD_TARGET_INVALID";
|
|
36
|
+
message: string;
|
|
37
|
+
};
|
|
38
|
+
/** Return the selected arg name only for the exact whole-placeholder form. */
|
|
39
|
+
export declare function cwdArgName(cwd: string | undefined): string | undefined;
|
|
40
|
+
/** True when cwd contains interpolation syntax but is not the supported form. */
|
|
41
|
+
export declare function hasCwdPlaceholder(cwd: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Validate and normalize a portable relative directory selector.
|
|
44
|
+
*
|
|
45
|
+
* The grammar intentionally rejects host-dependent spellings (backslashes,
|
|
46
|
+
* drive/UNC/device paths, empty/dot segments, and Windows-reserved names) so a
|
|
47
|
+
* flow cannot mean different locations on different hosts.
|
|
48
|
+
*/
|
|
49
|
+
export declare function normalizeRelativePath(value: unknown): {
|
|
50
|
+
ok: true;
|
|
51
|
+
value: string;
|
|
52
|
+
} | {
|
|
53
|
+
ok: false;
|
|
54
|
+
message: string;
|
|
55
|
+
};
|
|
56
|
+
export declare function isPathWithin(root: string, candidate: string): boolean;
|
|
57
|
+
/** Resolve one typed cwd arg under an existing invocation root, fail-closed. */
|
|
58
|
+
export declare function resolveCwdArg(root: string, argName: string, argValue: unknown, mode: CwdBridgeMode | undefined): CwdBridgeResult;
|
|
59
|
+
/** Host-owned opt-in. Flow JSON and invocation args cannot select this mode. */
|
|
60
|
+
export declare function cwdBridgeModeFromEnv(value?: string | undefined): CwdBridgeMode | undefined;
|
|
61
|
+
//# sourceMappingURL=cwd-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cwd-bridge.d.ts","sourceRoot":"","sources":["../src/cwd-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAM3C,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAS5E;AAED,MAAM,MAAM,eAAe,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACnC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,wBAAwB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1I,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GACjD;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAyBhC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGrE;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,aAAa,GAAG,SAAS,GAC7B,eAAe,CA+CjB;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,KAAK,GAAE,MAAM,GAAG,SAA4C,GAAG,aAAa,GAAG,SAAS,CAE5H"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0.2.1 compatibility bridge for a phase cwd selected by one typed argument.
|
|
3
|
+
*
|
|
4
|
+
* This is deliberately narrower than general string interpolation:
|
|
5
|
+
* `cwd` may be exactly `{args.X}`, and X must be declared as a
|
|
6
|
+
* `relative-path`. Resolution is anchored to the invocation root, requires an
|
|
7
|
+
* existing directory, and rejects lexical and symlink escapes.
|
|
8
|
+
*
|
|
9
|
+
* Path resolution is defense in depth, not a filesystem sandbox. The bridge
|
|
10
|
+
* therefore stays disabled unless the host explicitly opts into the documented
|
|
11
|
+
* `resolve-only` execution mode. A future sandbox backend may add a stronger
|
|
12
|
+
* mode after host conformance evidence exists.
|
|
13
|
+
*/
|
|
14
|
+
import * as fs from "node:fs";
|
|
15
|
+
import * as path from "node:path";
|
|
16
|
+
export const CWD_BRIDGE_MODE_ENV = "TASKFLOW_CWD_BRIDGE_MODE";
|
|
17
|
+
const EXACT_CWD_ARG_RE = /^\{args\.([a-zA-Z0-9_-]+)\}$/;
|
|
18
|
+
const WINDOWS_RESERVED_NAME_RE = /^(?:con|prn|aux|nul|com[1-9¹²³]|lpt[1-9¹²³])(?:\..*)?$/i;
|
|
19
|
+
const WINDOWS_FORBIDDEN_CHAR_RE = /[<>:"|?*]/;
|
|
20
|
+
export function directoryIdentity(dir) {
|
|
21
|
+
try {
|
|
22
|
+
const canonicalPath = fs.realpathSync(dir);
|
|
23
|
+
const stat = fs.statSync(canonicalPath, { bigint: true });
|
|
24
|
+
if (!stat.isDirectory())
|
|
25
|
+
return undefined;
|
|
26
|
+
return { canonicalPath, device: stat.dev.toString(), inode: stat.ino.toString() };
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Return the selected arg name only for the exact whole-placeholder form. */
|
|
33
|
+
export function cwdArgName(cwd) {
|
|
34
|
+
if (typeof cwd !== "string")
|
|
35
|
+
return undefined;
|
|
36
|
+
return cwd.match(EXACT_CWD_ARG_RE)?.[1];
|
|
37
|
+
}
|
|
38
|
+
/** True when cwd contains interpolation syntax but is not the supported form. */
|
|
39
|
+
export function hasCwdPlaceholder(cwd) {
|
|
40
|
+
return /\{[^{}]+\}/.test(cwd);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Validate and normalize a portable relative directory selector.
|
|
44
|
+
*
|
|
45
|
+
* The grammar intentionally rejects host-dependent spellings (backslashes,
|
|
46
|
+
* drive/UNC/device paths, empty/dot segments, and Windows-reserved names) so a
|
|
47
|
+
* flow cannot mean different locations on different hosts.
|
|
48
|
+
*/
|
|
49
|
+
export function normalizeRelativePath(value) {
|
|
50
|
+
if (typeof value !== "string") {
|
|
51
|
+
return { ok: false, message: `must be a string, got ${value === null ? "null" : typeof value}` };
|
|
52
|
+
}
|
|
53
|
+
const normalized = value.normalize("NFC");
|
|
54
|
+
if (normalized.length === 0)
|
|
55
|
+
return { ok: false, message: "must not be empty" };
|
|
56
|
+
if (normalized.includes("\0"))
|
|
57
|
+
return { ok: false, message: "must not contain NUL" };
|
|
58
|
+
if (/[\u0001-\u001f\u007f]/.test(normalized))
|
|
59
|
+
return { ok: false, message: "must not contain control characters" };
|
|
60
|
+
if (normalized.includes("\\"))
|
|
61
|
+
return { ok: false, message: "must use portable '/' separators, not backslashes" };
|
|
62
|
+
if (path.posix.isAbsolute(normalized) || path.win32.isAbsolute(normalized)) {
|
|
63
|
+
return { ok: false, message: "must be relative (absolute, drive, UNC, and device paths are forbidden)" };
|
|
64
|
+
}
|
|
65
|
+
const segments = normalized.split("/");
|
|
66
|
+
for (const segment of segments) {
|
|
67
|
+
if (segment.length === 0)
|
|
68
|
+
return { ok: false, message: "must not contain empty path segments" };
|
|
69
|
+
if (segment === "." || segment === "..")
|
|
70
|
+
return { ok: false, message: "must not contain '.' or '..' segments" };
|
|
71
|
+
if (segment.endsWith(".") || segment.endsWith(" ")) {
|
|
72
|
+
return { ok: false, message: "segments must not end with a dot or space" };
|
|
73
|
+
}
|
|
74
|
+
if (WINDOWS_FORBIDDEN_CHAR_RE.test(segment) || WINDOWS_RESERVED_NAME_RE.test(segment)) {
|
|
75
|
+
return { ok: false, message: `contains a non-portable segment '${segment}'` };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return { ok: true, value: segments.join("/") };
|
|
79
|
+
}
|
|
80
|
+
export function isPathWithin(root, candidate) {
|
|
81
|
+
const rel = path.relative(root, candidate);
|
|
82
|
+
return rel === "" || (!rel.startsWith(`..${path.sep}`) && rel !== ".." && !path.isAbsolute(rel));
|
|
83
|
+
}
|
|
84
|
+
/** Resolve one typed cwd arg under an existing invocation root, fail-closed. */
|
|
85
|
+
export function resolveCwdArg(root, argName, argValue, mode) {
|
|
86
|
+
if (mode !== "resolve-only") {
|
|
87
|
+
return {
|
|
88
|
+
ok: false,
|
|
89
|
+
code: "TF_CWD_BRIDGE_DISABLED",
|
|
90
|
+
message: `cwd bridge for {args.${argName}} is disabled: no conforming sandbox backend is active. ` +
|
|
91
|
+
`A host operator may explicitly opt into the lower resolve-only guarantee with ${CWD_BRIDGE_MODE_ENV}=resolve-only.`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
if (argValue === undefined) {
|
|
95
|
+
return { ok: false, code: "TF_CWD_ARG_MISSING", message: `cwd argument '${argName}' is required` };
|
|
96
|
+
}
|
|
97
|
+
const normalized = normalizeRelativePath(argValue);
|
|
98
|
+
if (!normalized.ok) {
|
|
99
|
+
return { ok: false, code: "TF_CWD_ARG_INVALID", message: `cwd argument '${argName}' ${normalized.message}` };
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const rootReal = fs.realpathSync(root);
|
|
103
|
+
if (!fs.statSync(rootReal).isDirectory()) {
|
|
104
|
+
return { ok: false, code: "TF_CWD_TARGET_INVALID", message: "invocation root is not a directory" };
|
|
105
|
+
}
|
|
106
|
+
const candidate = path.resolve(rootReal, ...normalized.value.split("/"));
|
|
107
|
+
if (!isPathWithin(rootReal, candidate)) {
|
|
108
|
+
return { ok: false, code: "TF_CWD_TARGET_INVALID", message: `cwd argument '${argName}' escapes the invocation root` };
|
|
109
|
+
}
|
|
110
|
+
const targetReal = fs.realpathSync(candidate);
|
|
111
|
+
if (!isPathWithin(rootReal, targetReal)) {
|
|
112
|
+
return { ok: false, code: "TF_CWD_TARGET_INVALID", message: `cwd argument '${argName}' resolves outside the invocation root` };
|
|
113
|
+
}
|
|
114
|
+
if (!fs.statSync(targetReal).isDirectory()) {
|
|
115
|
+
return { ok: false, code: "TF_CWD_TARGET_INVALID", message: `cwd argument '${argName}' does not select a directory` };
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
ok: true,
|
|
119
|
+
value: { argName, logicalPath: normalized.value, absolutePath: targetReal },
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
const detail = error instanceof Error && "code" in error ? String(error.code ?? "") : "";
|
|
124
|
+
const suffix = detail ? ` (${detail})` : "";
|
|
125
|
+
return {
|
|
126
|
+
ok: false,
|
|
127
|
+
code: "TF_CWD_TARGET_INVALID",
|
|
128
|
+
message: `cwd argument '${argName}' must select an existing directory inside the invocation root${suffix}`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** Host-owned opt-in. Flow JSON and invocation args cannot select this mode. */
|
|
133
|
+
export function cwdBridgeModeFromEnv(value = process.env[CWD_BRIDGE_MODE_ENV]) {
|
|
134
|
+
return value === "resolve-only" ? value : undefined;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=cwd-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cwd-bridge.js","sourceRoot":"","sources":["../src/cwd-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/detached-runner.js
CHANGED
|
@@ -16,9 +16,11 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
16
16
|
}
|
|
17
17
|
return path;
|
|
18
18
|
};
|
|
19
|
-
import { readFileSync } from "node:fs";
|
|
19
|
+
import { readFileSync, rmdirSync, unlinkSync } from "node:fs";
|
|
20
|
+
import { basename, dirname } from "node:path";
|
|
20
21
|
import { discoverAgents, readSubagentSettings } from "./agents.js";
|
|
21
22
|
import { executeTaskflow } from "./runtime.js";
|
|
23
|
+
import { cwdBridgeModeFromEnv } from "./cwd-bridge.js";
|
|
22
24
|
import { getFlow, loadRun, saveRun, DEFAULT_KEPT_RUNS, DEFAULT_RUN_AGE_DAYS } from "./store.js";
|
|
23
25
|
const contextPath = process.argv[2];
|
|
24
26
|
if (!contextPath) {
|
|
@@ -31,8 +33,28 @@ try {
|
|
|
31
33
|
}
|
|
32
34
|
catch (e) {
|
|
33
35
|
console.error(`[detached-runner] Failed to read context: ${e instanceof Error ? e.message : String(e)}`);
|
|
34
|
-
process.exit(1);
|
|
35
36
|
}
|
|
37
|
+
finally {
|
|
38
|
+
// Context can contain host-authorized extension paths. Consume it once even
|
|
39
|
+
// when reading/parsing fails, so a corrupt detached launch cannot leave a
|
|
40
|
+
// private authorization snapshot behind indefinitely.
|
|
41
|
+
try {
|
|
42
|
+
unlinkSync(contextPath);
|
|
43
|
+
}
|
|
44
|
+
catch { /* best-effort one-shot file cleanup */ }
|
|
45
|
+
const parent = dirname(contextPath);
|
|
46
|
+
// Remove only an empty Taskflow temp directory. Recursive deletion here would
|
|
47
|
+
// make this public spawn entry capable of deleting unrelated argv-selected
|
|
48
|
+
// files merely because their parent happened to share the expected prefix.
|
|
49
|
+
if (basename(parent).startsWith("taskflow-detach-")) {
|
|
50
|
+
try {
|
|
51
|
+
rmdirSync(parent);
|
|
52
|
+
}
|
|
53
|
+
catch { /* not empty / already gone */ }
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (!ctx)
|
|
57
|
+
process.exit(1);
|
|
36
58
|
const cleanupConfig = { maxKeep: DEFAULT_KEPT_RUNS, maxAgeDays: DEFAULT_RUN_AGE_DAYS };
|
|
37
59
|
try {
|
|
38
60
|
const state = loadRun(ctx.cwd, ctx.runId);
|
|
@@ -54,8 +76,11 @@ try {
|
|
|
54
76
|
if (ctx.runnerModule) {
|
|
55
77
|
try {
|
|
56
78
|
const runnerMod = await import(__rewriteRelativeImportExtension(ctx.runnerModule));
|
|
57
|
-
const exportName = ctx.runnerExport ?? "piSubagentRunner";
|
|
58
|
-
const
|
|
79
|
+
const exportName = ctx.runnerFactoryExport ?? ctx.runnerExport ?? "piSubagentRunner";
|
|
80
|
+
const exported = runnerMod[exportName];
|
|
81
|
+
const runner = ctx.runnerFactoryExport && typeof exported === "function"
|
|
82
|
+
? exported(ctx.runnerConfig)
|
|
83
|
+
: exported;
|
|
59
84
|
if (runner && typeof runner.runTask === "function") {
|
|
60
85
|
runTask = runner.runTask;
|
|
61
86
|
}
|
|
@@ -82,13 +107,14 @@ try {
|
|
|
82
107
|
id: "__detach__",
|
|
83
108
|
status: "failed",
|
|
84
109
|
endedAt: Date.now(),
|
|
85
|
-
error: `Runner module failed to load: '${ctx.runnerModule}' (export '${ctx.runnerExport ?? "piSubagentRunner"}'). See detached-runner stderr for the import error.`,
|
|
110
|
+
error: `Runner module failed to load: '${ctx.runnerModule}' (export '${ctx.runnerFactoryExport ?? ctx.runnerExport ?? "piSubagentRunner"}'). See detached-runner stderr for the import error.`,
|
|
86
111
|
};
|
|
87
112
|
saveRun(state, cleanupConfig);
|
|
88
113
|
process.exit(1);
|
|
89
114
|
}
|
|
90
115
|
const result = await executeTaskflow(state, {
|
|
91
116
|
cwd: ctx.cwd,
|
|
117
|
+
cwdBridgeMode: cwdBridgeModeFromEnv(),
|
|
92
118
|
agents,
|
|
93
119
|
globalThinking: settings.globalThinking,
|
|
94
120
|
persist: (s) => saveRun(s, cleanupConfig),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detached-runner.js","sourceRoot":"","sources":["../src/detached-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;;;;;;;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"detached-runner.js","sourceRoot":"","sources":["../src/detached-runner.ts"],"names":[],"mappings":"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"}
|