@hilbras/omninode 2.0.0-alpha.3 → 2.0.0-alpha.5
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 +32 -9
- package/dist/cli/index.js +369 -47
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +221 -11
- package/dist/index.js +341 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { ChildProcess } from 'node:child_process';
|
|
2
3
|
|
|
3
4
|
/** Structured report format so reports can be processed programmatically (§16). */
|
|
4
5
|
type Confidence = "low" | "medium" | "high";
|
|
@@ -191,8 +192,21 @@ interface AgentConfig {
|
|
|
191
192
|
inputMode?: AgentInputMode;
|
|
192
193
|
/** Per-task timeout in milliseconds; the process is killed when exceeded. */
|
|
193
194
|
timeoutMs?: number;
|
|
194
|
-
/**
|
|
195
|
+
/**
|
|
196
|
+
* When false, the agent process starts with a minimal environment (PATH +
|
|
197
|
+
* env). Deprecated in v2 — prefer `envPolicy`.
|
|
198
|
+
*/
|
|
195
199
|
inheritEnv?: boolean;
|
|
200
|
+
/** Explicit environment policy (roadmap §8). */
|
|
201
|
+
envPolicy?: "inherit" | "allowlist" | "denylist" | "explicit";
|
|
202
|
+
/** Variables forwarded from the parent under the `allowlist` policy. */
|
|
203
|
+
envAllowlist?: string[];
|
|
204
|
+
/** Variables removed from the parent under the `denylist` policy. */
|
|
205
|
+
envDenylist?: string[];
|
|
206
|
+
/** Per-stream byte budget for agent stdout/stderr (default 5 MiB). */
|
|
207
|
+
maxOutputBytes?: number;
|
|
208
|
+
/** Allow a working directory outside the project root. */
|
|
209
|
+
allowExternalCwd?: boolean;
|
|
196
210
|
/** Models (as "provider:model-id") this agent may use, if restricted. */
|
|
197
211
|
allowedModels?: string[];
|
|
198
212
|
metadata?: Record<string, unknown>;
|
|
@@ -429,18 +443,37 @@ interface PipelineDefinition {
|
|
|
429
443
|
* authoritative detail always lives in `stepRuns`/`taskRuns`.
|
|
430
444
|
*/
|
|
431
445
|
type PipelineRunStatus = "pending" | "running" | "completed" | "failed" | "partial" | "cancelled";
|
|
446
|
+
/**
|
|
447
|
+
* One step execution inside a run (§9.1 — Step Run is NOT the Step).
|
|
448
|
+
*/
|
|
432
449
|
interface PipelineStepRun {
|
|
433
450
|
stepId: string;
|
|
434
451
|
status: TaskStatus;
|
|
435
452
|
/** Tasks created for this step (research fans out to several). */
|
|
436
453
|
taskIds?: string[];
|
|
454
|
+
/** Execution ids of the tasks this step created, for correlation (§6.5). */
|
|
455
|
+
executionIds?: string[];
|
|
456
|
+
/** Which attempt of this step produced this record (1 = first try). */
|
|
457
|
+
attempt?: number;
|
|
437
458
|
/** Set on plan steps that produced a stored plan (§18). */
|
|
438
459
|
planId?: string;
|
|
439
460
|
error?: string;
|
|
440
461
|
}
|
|
462
|
+
/** One execution attempt of a run (§9.1 — Attempt is not the Run). */
|
|
463
|
+
interface PipelineRunAttempt {
|
|
464
|
+
attempt: number;
|
|
465
|
+
startedAt: string;
|
|
466
|
+
finishedAt?: string;
|
|
467
|
+
status: PipelineRunStatus;
|
|
468
|
+
}
|
|
441
469
|
interface PipelineRun {
|
|
442
470
|
id: string;
|
|
443
471
|
pipelineId: string;
|
|
472
|
+
/** Execution attempt counter: retries of the same run increment it. */
|
|
473
|
+
attempt: number;
|
|
474
|
+
/** Set when cancellation was requested; the run stops at the next check point. */
|
|
475
|
+
cancellationRequested?: boolean;
|
|
476
|
+
cancellationRequestedAt?: string;
|
|
444
477
|
/** The objective this run is executing (persisted for retries). */
|
|
445
478
|
objective?: string;
|
|
446
479
|
status: PipelineRunStatus;
|
|
@@ -455,6 +488,28 @@ interface PipelineRun {
|
|
|
455
488
|
planId?: string;
|
|
456
489
|
/** Outcome summary of the final executed step (§28 — Result). */
|
|
457
490
|
resultSummary?: string;
|
|
491
|
+
/** Per-attempt history (§9.1). */
|
|
492
|
+
attempts?: PipelineRunAttempt[];
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Executor contract (roadmap §9.1 / §9.2): a Pipeline definition, a Run of
|
|
496
|
+
* it, Steps, Step Runs and Attempts are distinct concepts; this interface is
|
|
497
|
+
* what orchestration code depends on.
|
|
498
|
+
*/
|
|
499
|
+
interface IPipelineExecutor {
|
|
500
|
+
validate(definition: PipelineDefinition): void;
|
|
501
|
+
run(definition: PipelineDefinition, options?: PipelineRunOptions): Promise<PipelineRun>;
|
|
502
|
+
cancel(runId: string): Promise<void>;
|
|
503
|
+
get(runId: string): Promise<PipelineRun | undefined>;
|
|
504
|
+
listRuns(filter?: {
|
|
505
|
+
pipelineId?: string;
|
|
506
|
+
}): Promise<PipelineRun[]>;
|
|
507
|
+
}
|
|
508
|
+
interface PipelineRunOptions {
|
|
509
|
+
objective?: string;
|
|
510
|
+
onStep?: (stepRun: PipelineStepRun) => void;
|
|
511
|
+
/** Total run attempts (1 = no automatic rerun of the whole run). */
|
|
512
|
+
maxAttempts?: number;
|
|
458
513
|
}
|
|
459
514
|
|
|
460
515
|
/** Plan types: the final implementation plan produced by the planner layer (§18). */
|
|
@@ -745,6 +800,11 @@ declare const agentConfigSchema: z.ZodObject<{
|
|
|
745
800
|
input_mode: z.ZodDefault<z.ZodEnum<["stdin", "arg", "protocol"]>>;
|
|
746
801
|
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
747
802
|
inherit_env: z.ZodOptional<z.ZodBoolean>;
|
|
803
|
+
env_policy: z.ZodOptional<z.ZodEnum<["inherit", "allowlist", "denylist", "explicit"]>>;
|
|
804
|
+
env_allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
805
|
+
env_denylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
806
|
+
max_output_bytes: z.ZodOptional<z.ZodNumber>;
|
|
807
|
+
allow_external_cwd: z.ZodOptional<z.ZodBoolean>;
|
|
748
808
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
749
809
|
}, "strict", z.ZodTypeAny, {
|
|
750
810
|
name: string;
|
|
@@ -757,6 +817,11 @@ declare const agentConfigSchema: z.ZodObject<{
|
|
|
757
817
|
env?: Record<string, string> | undefined;
|
|
758
818
|
timeout_ms?: number | undefined;
|
|
759
819
|
inherit_env?: boolean | undefined;
|
|
820
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
821
|
+
env_allowlist?: string[] | undefined;
|
|
822
|
+
env_denylist?: string[] | undefined;
|
|
823
|
+
max_output_bytes?: number | undefined;
|
|
824
|
+
allow_external_cwd?: boolean | undefined;
|
|
760
825
|
}, {
|
|
761
826
|
name: string;
|
|
762
827
|
metadata?: Record<string, unknown> | undefined;
|
|
@@ -768,6 +833,11 @@ declare const agentConfigSchema: z.ZodObject<{
|
|
|
768
833
|
input_mode?: "protocol" | "stdin" | "arg" | undefined;
|
|
769
834
|
timeout_ms?: number | undefined;
|
|
770
835
|
inherit_env?: boolean | undefined;
|
|
836
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
837
|
+
env_allowlist?: string[] | undefined;
|
|
838
|
+
env_denylist?: string[] | undefined;
|
|
839
|
+
max_output_bytes?: number | undefined;
|
|
840
|
+
allow_external_cwd?: boolean | undefined;
|
|
771
841
|
}>;
|
|
772
842
|
declare const roleConfigSchema: z.ZodObject<{
|
|
773
843
|
id: z.ZodString;
|
|
@@ -940,6 +1010,11 @@ declare const projectConfigSchema: z.ZodObject<{
|
|
|
940
1010
|
input_mode: z.ZodDefault<z.ZodEnum<["stdin", "arg", "protocol"]>>;
|
|
941
1011
|
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
942
1012
|
inherit_env: z.ZodOptional<z.ZodBoolean>;
|
|
1013
|
+
env_policy: z.ZodOptional<z.ZodEnum<["inherit", "allowlist", "denylist", "explicit"]>>;
|
|
1014
|
+
env_allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1015
|
+
env_denylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1016
|
+
max_output_bytes: z.ZodOptional<z.ZodNumber>;
|
|
1017
|
+
allow_external_cwd: z.ZodOptional<z.ZodBoolean>;
|
|
943
1018
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
944
1019
|
}, "strict", z.ZodTypeAny, {
|
|
945
1020
|
name: string;
|
|
@@ -952,6 +1027,11 @@ declare const projectConfigSchema: z.ZodObject<{
|
|
|
952
1027
|
env?: Record<string, string> | undefined;
|
|
953
1028
|
timeout_ms?: number | undefined;
|
|
954
1029
|
inherit_env?: boolean | undefined;
|
|
1030
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1031
|
+
env_allowlist?: string[] | undefined;
|
|
1032
|
+
env_denylist?: string[] | undefined;
|
|
1033
|
+
max_output_bytes?: number | undefined;
|
|
1034
|
+
allow_external_cwd?: boolean | undefined;
|
|
955
1035
|
}, {
|
|
956
1036
|
name: string;
|
|
957
1037
|
metadata?: Record<string, unknown> | undefined;
|
|
@@ -963,6 +1043,11 @@ declare const projectConfigSchema: z.ZodObject<{
|
|
|
963
1043
|
input_mode?: "protocol" | "stdin" | "arg" | undefined;
|
|
964
1044
|
timeout_ms?: number | undefined;
|
|
965
1045
|
inherit_env?: boolean | undefined;
|
|
1046
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1047
|
+
env_allowlist?: string[] | undefined;
|
|
1048
|
+
env_denylist?: string[] | undefined;
|
|
1049
|
+
max_output_bytes?: number | undefined;
|
|
1050
|
+
allow_external_cwd?: boolean | undefined;
|
|
966
1051
|
}>, "many">>;
|
|
967
1052
|
roles: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
968
1053
|
id: z.ZodString;
|
|
@@ -1095,6 +1180,11 @@ declare const projectConfigSchema: z.ZodObject<{
|
|
|
1095
1180
|
env?: Record<string, string> | undefined;
|
|
1096
1181
|
timeout_ms?: number | undefined;
|
|
1097
1182
|
inherit_env?: boolean | undefined;
|
|
1183
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1184
|
+
env_allowlist?: string[] | undefined;
|
|
1185
|
+
env_denylist?: string[] | undefined;
|
|
1186
|
+
max_output_bytes?: number | undefined;
|
|
1187
|
+
allow_external_cwd?: boolean | undefined;
|
|
1098
1188
|
}[];
|
|
1099
1189
|
providers: {
|
|
1100
1190
|
name: string;
|
|
@@ -1154,6 +1244,11 @@ declare const projectConfigSchema: z.ZodObject<{
|
|
|
1154
1244
|
input_mode?: "protocol" | "stdin" | "arg" | undefined;
|
|
1155
1245
|
timeout_ms?: number | undefined;
|
|
1156
1246
|
inherit_env?: boolean | undefined;
|
|
1247
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1248
|
+
env_allowlist?: string[] | undefined;
|
|
1249
|
+
env_denylist?: string[] | undefined;
|
|
1250
|
+
max_output_bytes?: number | undefined;
|
|
1251
|
+
allow_external_cwd?: boolean | undefined;
|
|
1157
1252
|
}[] | undefined;
|
|
1158
1253
|
providers?: {
|
|
1159
1254
|
name: string;
|
|
@@ -1240,6 +1335,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1240
1335
|
input_mode: z.ZodDefault<z.ZodEnum<["stdin", "arg", "protocol"]>>;
|
|
1241
1336
|
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
1242
1337
|
inherit_env: z.ZodOptional<z.ZodBoolean>;
|
|
1338
|
+
env_policy: z.ZodOptional<z.ZodEnum<["inherit", "allowlist", "denylist", "explicit"]>>;
|
|
1339
|
+
env_allowlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1340
|
+
env_denylist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1341
|
+
max_output_bytes: z.ZodOptional<z.ZodNumber>;
|
|
1342
|
+
allow_external_cwd: z.ZodOptional<z.ZodBoolean>;
|
|
1243
1343
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1244
1344
|
}, "strict", z.ZodTypeAny, {
|
|
1245
1345
|
name: string;
|
|
@@ -1252,6 +1352,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1252
1352
|
env?: Record<string, string> | undefined;
|
|
1253
1353
|
timeout_ms?: number | undefined;
|
|
1254
1354
|
inherit_env?: boolean | undefined;
|
|
1355
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1356
|
+
env_allowlist?: string[] | undefined;
|
|
1357
|
+
env_denylist?: string[] | undefined;
|
|
1358
|
+
max_output_bytes?: number | undefined;
|
|
1359
|
+
allow_external_cwd?: boolean | undefined;
|
|
1255
1360
|
}, {
|
|
1256
1361
|
name: string;
|
|
1257
1362
|
metadata?: Record<string, unknown> | undefined;
|
|
@@ -1263,6 +1368,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1263
1368
|
input_mode?: "protocol" | "stdin" | "arg" | undefined;
|
|
1264
1369
|
timeout_ms?: number | undefined;
|
|
1265
1370
|
inherit_env?: boolean | undefined;
|
|
1371
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1372
|
+
env_allowlist?: string[] | undefined;
|
|
1373
|
+
env_denylist?: string[] | undefined;
|
|
1374
|
+
max_output_bytes?: number | undefined;
|
|
1375
|
+
allow_external_cwd?: boolean | undefined;
|
|
1266
1376
|
}>, "many">>;
|
|
1267
1377
|
roles: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1268
1378
|
id: z.ZodString;
|
|
@@ -1395,6 +1505,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1395
1505
|
env?: Record<string, string> | undefined;
|
|
1396
1506
|
timeout_ms?: number | undefined;
|
|
1397
1507
|
inherit_env?: boolean | undefined;
|
|
1508
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1509
|
+
env_allowlist?: string[] | undefined;
|
|
1510
|
+
env_denylist?: string[] | undefined;
|
|
1511
|
+
max_output_bytes?: number | undefined;
|
|
1512
|
+
allow_external_cwd?: boolean | undefined;
|
|
1398
1513
|
}[];
|
|
1399
1514
|
providers: {
|
|
1400
1515
|
name: string;
|
|
@@ -1454,6 +1569,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1454
1569
|
input_mode?: "protocol" | "stdin" | "arg" | undefined;
|
|
1455
1570
|
timeout_ms?: number | undefined;
|
|
1456
1571
|
inherit_env?: boolean | undefined;
|
|
1572
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1573
|
+
env_allowlist?: string[] | undefined;
|
|
1574
|
+
env_denylist?: string[] | undefined;
|
|
1575
|
+
max_output_bytes?: number | undefined;
|
|
1576
|
+
allow_external_cwd?: boolean | undefined;
|
|
1457
1577
|
}[] | undefined;
|
|
1458
1578
|
providers?: {
|
|
1459
1579
|
name: string;
|
|
@@ -1522,6 +1642,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1522
1642
|
env?: Record<string, string> | undefined;
|
|
1523
1643
|
timeout_ms?: number | undefined;
|
|
1524
1644
|
inherit_env?: boolean | undefined;
|
|
1645
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1646
|
+
env_allowlist?: string[] | undefined;
|
|
1647
|
+
env_denylist?: string[] | undefined;
|
|
1648
|
+
max_output_bytes?: number | undefined;
|
|
1649
|
+
allow_external_cwd?: boolean | undefined;
|
|
1525
1650
|
}[];
|
|
1526
1651
|
providers: {
|
|
1527
1652
|
name: string;
|
|
@@ -1586,6 +1711,11 @@ declare const appConfigSchema: z.ZodObject<{
|
|
|
1586
1711
|
input_mode?: "protocol" | "stdin" | "arg" | undefined;
|
|
1587
1712
|
timeout_ms?: number | undefined;
|
|
1588
1713
|
inherit_env?: boolean | undefined;
|
|
1714
|
+
env_policy?: "inherit" | "allowlist" | "denylist" | "explicit" | undefined;
|
|
1715
|
+
env_allowlist?: string[] | undefined;
|
|
1716
|
+
env_denylist?: string[] | undefined;
|
|
1717
|
+
max_output_bytes?: number | undefined;
|
|
1718
|
+
allow_external_cwd?: boolean | undefined;
|
|
1589
1719
|
}[] | undefined;
|
|
1590
1720
|
providers?: {
|
|
1591
1721
|
name: string;
|
|
@@ -1767,12 +1897,21 @@ declare class OmniHilbrasProvider extends OpenAICompatibleProvider {
|
|
|
1767
1897
|
}
|
|
1768
1898
|
|
|
1769
1899
|
/**
|
|
1770
|
-
*
|
|
1771
|
-
*
|
|
1772
|
-
*
|
|
1773
|
-
*
|
|
1900
|
+
* Process adapter (§9): runs CLI agents as child processes and communicates
|
|
1901
|
+
* over stdin/stdout, managing the process lifecycle, working directory,
|
|
1902
|
+
* environment, exit codes, logs and timeouts.
|
|
1903
|
+
*
|
|
1904
|
+
* Three input modes (§9, §21):
|
|
1905
|
+
* - "stdin": the composed task text is written to the agent's stdin.
|
|
1906
|
+
* - "arg": the composed task text is appended as the last command argument.
|
|
1907
|
+
* - "protocol": NodeToAgentMessage envelopes as JSON lines on stdin; the
|
|
1908
|
+
* agent answers with AgentToNodeMessage JSON lines (REPORT,
|
|
1909
|
+
* COMPLETION, ERROR, ...) whose structured payloads are parsed
|
|
1910
|
+
* into reports.
|
|
1774
1911
|
*/
|
|
1775
|
-
|
|
1912
|
+
|
|
1913
|
+
/** Per-stream byte budget before output is truncated and the agent killed. */
|
|
1914
|
+
declare const DEFAULT_MAX_OUTPUT_BYTES: number;
|
|
1776
1915
|
declare function composeTaskText(input: AgentTaskInput): string;
|
|
1777
1916
|
declare class ProcessAgent implements IAgent {
|
|
1778
1917
|
readonly config: AgentConfig;
|
|
@@ -1785,6 +1924,63 @@ declare class ProcessAgent implements IAgent {
|
|
|
1785
1924
|
cancel(taskId: string): Promise<void>;
|
|
1786
1925
|
runningTaskIds(): string[];
|
|
1787
1926
|
}
|
|
1927
|
+
/** Kills a child and, on POSIX, its whole process group (roadmap §8 tree cleanup). */
|
|
1928
|
+
declare function killTree(child: ChildProcess, signal: NodeJS.Signals): void;
|
|
1929
|
+
/** Human-readable exit reason, including signal terminations. */
|
|
1930
|
+
declare function describeExit(code: number | null, signal: NodeJS.Signals | null): string;
|
|
1931
|
+
/**
|
|
1932
|
+
* Decodes a stdout/stderr chunk safely: invalid UTF-8 becomes replacement
|
|
1933
|
+
* characters and NUL bytes are stripped, so binary noise cannot poison the
|
|
1934
|
+
* protocol decoder or the terminal (roadmap §8, encoding hardening).
|
|
1935
|
+
*/
|
|
1936
|
+
declare function sanitizeChunk(chunk: Buffer): string;
|
|
1937
|
+
|
|
1938
|
+
/**
|
|
1939
|
+
* Agent environment policies (roadmap §8, Environment Isolation).
|
|
1940
|
+
*
|
|
1941
|
+
* Four explicit policies, so operators decide exactly what an agent can see:
|
|
1942
|
+
* - `inherit` (default, backwards compatible): the full parent environment
|
|
1943
|
+
* - `allowlist`: only the allow-listed variables (+ PATH/HOME)
|
|
1944
|
+
* - `denylist`: the parent environment minus the deny-listed variables
|
|
1945
|
+
* - `explicit`: nothing from the parent; only PATH/HOME and `env`
|
|
1946
|
+
*
|
|
1947
|
+
* The v1 boolean `inherit_env: false` is still honored and maps to `explicit`.
|
|
1948
|
+
*/
|
|
1949
|
+
|
|
1950
|
+
type EnvPolicy = "inherit" | "allowlist" | "denylist" | "explicit";
|
|
1951
|
+
declare function resolveEnvPolicy(config: Partial<AgentConfig>): EnvPolicy;
|
|
1952
|
+
declare function buildChildEnv(config: AgentConfig): NodeJS.ProcessEnv;
|
|
1953
|
+
|
|
1954
|
+
interface CwdValidation {
|
|
1955
|
+
/** Normalized absolute path. */
|
|
1956
|
+
cwd: string;
|
|
1957
|
+
/** True when the directory sits outside the project root (project boundary). */
|
|
1958
|
+
outsideProject: boolean;
|
|
1959
|
+
}
|
|
1960
|
+
declare function validateWorkingDirectory(cwd: string | undefined, options?: {
|
|
1961
|
+
projectRoot?: string;
|
|
1962
|
+
allowExternal?: boolean;
|
|
1963
|
+
}): CwdValidation | undefined;
|
|
1964
|
+
|
|
1965
|
+
interface IAgentAdapter {
|
|
1966
|
+
/** Integration type this adapter serves, e.g. "native" or "process". */
|
|
1967
|
+
readonly integration: string;
|
|
1968
|
+
create(config: AgentConfig): IAgent;
|
|
1969
|
+
}
|
|
1970
|
+
declare class AgentAdapterRegistry {
|
|
1971
|
+
private readonly adapters;
|
|
1972
|
+
register(adapter: IAgentAdapter): void;
|
|
1973
|
+
get(integration: string): IAgentAdapter | undefined;
|
|
1974
|
+
list(): IAgentAdapter[];
|
|
1975
|
+
create(config: AgentConfig): IAgent;
|
|
1976
|
+
}
|
|
1977
|
+
/** Process-level adapter — the built-in CLI integration. */
|
|
1978
|
+
declare class ProcessAgentAdapter implements IAgentAdapter {
|
|
1979
|
+
private readonly factory;
|
|
1980
|
+
readonly integration = "process";
|
|
1981
|
+
constructor(factory: (config: AgentConfig) => IAgent);
|
|
1982
|
+
create(config: AgentConfig): IAgent;
|
|
1983
|
+
}
|
|
1788
1984
|
|
|
1789
1985
|
/** Agent registry (§10): the set of agents connected to OmniNode. */
|
|
1790
1986
|
|
|
@@ -1800,7 +1996,8 @@ declare class AgentRegistry {
|
|
|
1800
1996
|
* "cli" agent configs are mapped to the process integration by the loader.
|
|
1801
1997
|
*/
|
|
1802
1998
|
|
|
1803
|
-
declare function createAgent(config: AgentConfig): IAgent;
|
|
1999
|
+
declare function createAgent(config: AgentConfig, adapters?: AgentAdapterRegistry): IAgent;
|
|
2000
|
+
|
|
1804
2001
|
/** Builds an agent registry from the project configuration, skipping agents that fail to construct. */
|
|
1805
2002
|
declare function buildAgentRegistry(config: AppConfig, log?: Logger): AgentRegistry;
|
|
1806
2003
|
|
|
@@ -2302,11 +2499,19 @@ interface RunPipelineOptions {
|
|
|
2302
2499
|
objective?: string;
|
|
2303
2500
|
onStep?: (stepRun: PipelineStepRun) => void;
|
|
2304
2501
|
}
|
|
2305
|
-
declare class PipelineEngine {
|
|
2502
|
+
declare class PipelineEngine implements IPipelineExecutor {
|
|
2306
2503
|
private readonly options;
|
|
2307
2504
|
private readonly log;
|
|
2505
|
+
/** Runs executing in THIS process — cancellation can terminate them directly. */
|
|
2506
|
+
private readonly activeRuns;
|
|
2308
2507
|
constructor(options: PipelineEngineOptions);
|
|
2309
2508
|
get store(): PipelineRunStore;
|
|
2509
|
+
/**
|
|
2510
|
+
* Saves the run while preserving fields that may be set by another process
|
|
2511
|
+
* (e.g. a cancellation request) — an in-memory snapshot must never clobber
|
|
2512
|
+
* externally requested cancellation (§9.2).
|
|
2513
|
+
*/
|
|
2514
|
+
private persist;
|
|
2310
2515
|
/** Structural + semantic validation (§27 Phase 5 — pipeline parser). */
|
|
2311
2516
|
validate(def: PipelineDefinition): void;
|
|
2312
2517
|
private assertAcyclic;
|
|
@@ -2315,13 +2520,18 @@ declare class PipelineEngine {
|
|
|
2315
2520
|
* dependencies, which enable parallel branches.
|
|
2316
2521
|
*/
|
|
2317
2522
|
private effectiveDependencies;
|
|
2318
|
-
run(def: PipelineDefinition, options?:
|
|
2523
|
+
run(def: PipelineDefinition, options?: PipelineRunOptions): Promise<PipelineRun>;
|
|
2524
|
+
/** First-class cancellation (§9.2): requests cancellation and terminates
|
|
2525
|
+
* tasks that are running in this process immediately. */
|
|
2526
|
+
cancel(runId: string): Promise<void>;
|
|
2319
2527
|
get(runId: string): Promise<PipelineRun | undefined>;
|
|
2320
2528
|
listRuns(filter?: {
|
|
2321
2529
|
pipelineId?: string;
|
|
2322
2530
|
}): Promise<PipelineRun[]>;
|
|
2323
2531
|
private shouldRun;
|
|
2324
2532
|
private executeStep;
|
|
2533
|
+
/** Registers tasks created for a step as live, so cancellation can terminate them (§9.2). */
|
|
2534
|
+
private trackLiveTasks;
|
|
2325
2535
|
private executeStepOnce;
|
|
2326
2536
|
/** Research fan-out: one task per agent, in parallel (§15). */
|
|
2327
2537
|
private runFanOut;
|
|
@@ -2353,6 +2563,6 @@ declare class ProjectStores {
|
|
|
2353
2563
|
constructor(directory?: string);
|
|
2354
2564
|
}
|
|
2355
2565
|
|
|
2356
|
-
declare const OMNINODE_VERSION = "2.0.0-alpha.
|
|
2566
|
+
declare const OMNINODE_VERSION = "2.0.0-alpha.5";
|
|
2357
2567
|
|
|
2358
|
-
export { type AgentConfig, type AgentConfigYaml, type AgentDescriptor, AgentError, type AgentInfo, type AgentInputMode, type AgentIntegrationType, AgentRegistry, type AgentStatus, type AgentTaskInput, type AgentTaskOutput, type AgentToNodeMessage, type AggregateOptions, type AggregatedFinding, type AggregatedRecommendation, type AppConfig, type AppConfigYaml, type ArtifactKind, type ArtifactPayload, type AskedQuestion, type AuditAction, type AuditEvent, type AuditSink, type ChatFn, type ChatMessage, type ChatRequest, type ChatResponse, type ChatRole, type ChatUsage, type CombinedMeta, type CombinedReport, type CombinedReportFilter, type Confidence, ConfigError, ConsoleLogSink, type CreateTaskInput, type DecodeResult, type DiscoveryResult, type EnvelopeMeta, type ExecutionRecord, type ExtractionMeta, FileAuditLog, FilePipelineRunStore, FilePlanStore, FileReportStore, FileTaskStore, type Finding, type FindingSeverity, type FindingSource, type HelloResult, HeuristicPlanner, type HttpRequestOptions, type HttpResponse, type IAgent, type IChatProvider, type IMemoryProvider, type IPlanner, type IProvider, type JsonDocument, JsonFileStore, type JsonFileStoreOptions, type LoadConfigOptions, LocalMemoryProvider, type LogLevel, type LogSink, Logger, type LoggerOptions, MAX_MESSAGE_BYTES, type MemoryContextQuery, type MemoryEntry, MemoryError, type MemoryProviderConfig, type MemoryQuery, type MemoryScope, MemoryService, type MessageEnvelope, type ModelCapabilities, type ModelFilter, type ModelInfo, ModelPlanner, ModelRegistry, type ModelStatus, type NodeToAgentMessage, OMNINODE_VERSION, OPENAI_COMPATIBLE_TYPES, type OmniHilbrasConnectionResult, OmniHilbrasProvider, OmniNodeError, type OmniNodeErrorCode, type OmniNodeErrorOptions, OpenAICompatibleProvider, PROTOCOL_V2, type PipelineConfigYaml, type PipelineDefinition, PipelineEngine, type PipelineEngineOptions, PipelineError, type PipelineRun, type PipelineRunFilter, type PipelineRunStatus, type PipelineRunStore, type PipelineStep, type PipelineStepCondition, type PipelineStepConfigYaml, type PipelineStepKind, type PipelineStepRun, type Plan, type PlanFilter, type PlanRequest, type PlanStep, type PlanStore, type PlannerConfigYaml, PlannerError, ProcessAgent, type Project, type ProjectConfigYaml, ProjectStores, type ProtocolAgentToNodeType, ProtocolDecoder, type ProtocolEnvelope, ProtocolError, type ProtocolMessageType, type ProtocolNodeToAgentType, ProtocolSession, type ProtocolViolation, type ProtocolViolationCode, type ProviderConfig, type ProviderConfigYaml, ProviderError, type ProviderHealth, type ProviderStatus, type ProviderType, type QuestionPayload, type QuestionResponder, type RememberaConfig, RememberaMemoryProvider, type Report, type ReportFilter, type ReportPayload, ReportService, type ReportStore, type RoleConfigYaml, type RoleDefinition, RoleRegistry, type RunPipelineOptions, SUPPORTED_PROTOCOL_VERSIONS, type SessionIds, TERMINAL_TASK_STATUSES, type Task, type TaskContext, TaskEngine, type TaskEngineOptions, TaskError, type TaskPayload, type TaskResult, type TaskStatus, type TaskStore, type TaskStoreFilter, type WritableLike, agentConfigSchema, aggregateReports, appConfigSchema, authHeaders, buildAgentRegistry, buildChildEnv, buildHello, buildHelloAck, buildPipelineEngine, buildPlanner, buildPlannerContext, buildRoleRegistry, composeTaskText, createAgent, createDefaultChatFn, createMemoryProvider, createProvider, createTaskEngine, decodeMessage, decodeStream, defaultProjectConfigYaml, encodeMessage, envelope, expandEnvRefs, extractReportFromText, findConfigFile, isOmniNodeError, isSupportedProtocol, keywords, loadConfig, logger, newMessageId, parseHello, parsePlanJson, pipelineConfigSchema, pipelineStepConfigSchema, plannerConfigSchema, projectConfigSchema, providerConfigSchema, registryKey, requestJson, requireCompletion, resolveApiKey, roleConfigSchema, similar, validateEnvelope };
|
|
2568
|
+
export { AgentAdapterRegistry, type AgentConfig, type AgentConfigYaml, type AgentDescriptor, AgentError, type AgentInfo, type AgentInputMode, type AgentIntegrationType, AgentRegistry, type AgentStatus, type AgentTaskInput, type AgentTaskOutput, type AgentToNodeMessage, type AggregateOptions, type AggregatedFinding, type AggregatedRecommendation, type AppConfig, type AppConfigYaml, type ArtifactKind, type ArtifactPayload, type AskedQuestion, type AuditAction, type AuditEvent, type AuditSink, type ChatFn, type ChatMessage, type ChatRequest, type ChatResponse, type ChatRole, type ChatUsage, type CombinedMeta, type CombinedReport, type CombinedReportFilter, type Confidence, ConfigError, ConsoleLogSink, type CreateTaskInput, type CwdValidation, DEFAULT_MAX_OUTPUT_BYTES, type DecodeResult, type DiscoveryResult, type EnvPolicy, type EnvelopeMeta, type ExecutionRecord, type ExtractionMeta, FileAuditLog, FilePipelineRunStore, FilePlanStore, FileReportStore, FileTaskStore, type Finding, type FindingSeverity, type FindingSource, type HelloResult, HeuristicPlanner, type HttpRequestOptions, type HttpResponse, type IAgent, type IAgentAdapter, type IChatProvider, type IMemoryProvider, type IPipelineExecutor, type IPlanner, type IProvider, type JsonDocument, JsonFileStore, type JsonFileStoreOptions, type LoadConfigOptions, LocalMemoryProvider, type LogLevel, type LogSink, Logger, type LoggerOptions, MAX_MESSAGE_BYTES, type MemoryContextQuery, type MemoryEntry, MemoryError, type MemoryProviderConfig, type MemoryQuery, type MemoryScope, MemoryService, type MessageEnvelope, type ModelCapabilities, type ModelFilter, type ModelInfo, ModelPlanner, ModelRegistry, type ModelStatus, type NodeToAgentMessage, OMNINODE_VERSION, OPENAI_COMPATIBLE_TYPES, type OmniHilbrasConnectionResult, OmniHilbrasProvider, OmniNodeError, type OmniNodeErrorCode, type OmniNodeErrorOptions, OpenAICompatibleProvider, PROTOCOL_V2, type PipelineConfigYaml, type PipelineDefinition, PipelineEngine, type PipelineEngineOptions, PipelineError, type PipelineRun, type PipelineRunAttempt, type PipelineRunFilter, type PipelineRunOptions, type PipelineRunStatus, type PipelineRunStore, type PipelineStep, type PipelineStepCondition, type PipelineStepConfigYaml, type PipelineStepKind, type PipelineStepRun, type Plan, type PlanFilter, type PlanRequest, type PlanStep, type PlanStore, type PlannerConfigYaml, PlannerError, ProcessAgent, ProcessAgentAdapter, type Project, type ProjectConfigYaml, ProjectStores, type ProtocolAgentToNodeType, ProtocolDecoder, type ProtocolEnvelope, ProtocolError, type ProtocolMessageType, type ProtocolNodeToAgentType, ProtocolSession, type ProtocolViolation, type ProtocolViolationCode, type ProviderConfig, type ProviderConfigYaml, ProviderError, type ProviderHealth, type ProviderStatus, type ProviderType, type QuestionPayload, type QuestionResponder, type RememberaConfig, RememberaMemoryProvider, type Report, type ReportFilter, type ReportPayload, ReportService, type ReportStore, type RoleConfigYaml, type RoleDefinition, RoleRegistry, type RunPipelineOptions, SUPPORTED_PROTOCOL_VERSIONS, type SessionIds, TERMINAL_TASK_STATUSES, type Task, type TaskContext, TaskEngine, type TaskEngineOptions, TaskError, type TaskPayload, type TaskResult, type TaskStatus, type TaskStore, type TaskStoreFilter, type WritableLike, agentConfigSchema, aggregateReports, appConfigSchema, authHeaders, buildAgentRegistry, buildChildEnv, buildHello, buildHelloAck, buildPipelineEngine, buildPlanner, buildPlannerContext, buildRoleRegistry, composeTaskText, createAgent, createDefaultChatFn, createMemoryProvider, createProvider, createTaskEngine, decodeMessage, decodeStream, defaultProjectConfigYaml, describeExit, encodeMessage, envelope, expandEnvRefs, extractReportFromText, findConfigFile, isOmniNodeError, isSupportedProtocol, keywords, killTree, loadConfig, logger, newMessageId, parseHello, parsePlanJson, pipelineConfigSchema, pipelineStepConfigSchema, plannerConfigSchema, projectConfigSchema, providerConfigSchema, registryKey, requestJson, requireCompletion, resolveApiKey, resolveEnvPolicy, roleConfigSchema, sanitizeChunk, similar, validateEnvelope, validateWorkingDirectory };
|