@jmanuelcorral/openteam 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.es.md +5 -5
- package/README.md +5 -5
- package/dist/cli/consoleServe.d.ts +9 -0
- package/dist/cli/consoleServe.d.ts.map +1 -1
- package/dist/cli/graphViewProvider.d.ts +30 -0
- package/dist/cli/graphViewProvider.d.ts.map +1 -0
- package/dist/cli.js +1271 -240
- package/dist/commands/dispatch.d.ts +1 -0
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/orchestratorAgent.d.ts.map +1 -1
- package/dist/config/graphFeatureGate.d.ts +8 -3
- package/dist/config/graphFeatureGate.d.ts.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/context/redaction.d.ts +8 -0
- package/dist/context/redaction.d.ts.map +1 -1
- package/dist/graph/certificate.d.ts +12 -2
- package/dist/graph/certificate.d.ts.map +1 -1
- package/dist/graph/soakLedger.d.ts +25 -2
- package/dist/graph/soakLedger.d.ts.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3028 -1678
- package/dist/orchestrator/coordinator.d.ts +37 -2
- package/dist/orchestrator/coordinator.d.ts.map +1 -1
- package/dist/orchestrator/graphIngress.d.ts +1 -1
- package/dist/orchestrator/graphIngress.d.ts.map +1 -1
- package/dist/orchestrator/ledger.d.ts +11 -42
- package/dist/orchestrator/ledger.d.ts.map +1 -1
- package/dist/orchestrator/sddCompiler.d.ts +25 -1
- package/dist/orchestrator/sddCompiler.d.ts.map +1 -1
- package/dist/plugin/orchestrateTool.d.ts +197 -0
- package/dist/plugin/orchestrateTool.d.ts.map +1 -0
- package/dist/telemetry/events.d.ts +37 -0
- package/dist/telemetry/events.d.ts.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/orchestrator/sdd.d.ts +0 -180
- package/dist/orchestrator/sdd.d.ts.map +0 -1
- package/dist/storage/graph/migrateLegacyBriefs.d.ts +0 -32
- package/dist/storage/graph/migrateLegacyBriefs.d.ts.map +0 -1
|
@@ -20,6 +20,8 @@ export type RoleTaskInput = {
|
|
|
20
20
|
directory?: string;
|
|
21
21
|
/** Correlación opcional con una tarea del loop SDD/backlog (Fase D). */
|
|
22
22
|
taskID?: string;
|
|
23
|
+
/** Role IDs this task depends on. Dependents only run after dependencies succeed. */
|
|
24
|
+
dependsOn?: readonly string[];
|
|
23
25
|
};
|
|
24
26
|
export type CoordinatorDeps = {
|
|
25
27
|
client: OpencodeSessionClient;
|
|
@@ -42,10 +44,31 @@ export type RoleTaskResult = {
|
|
|
42
44
|
subsession: SubsessionResult;
|
|
43
45
|
record: CorrelatedCostRecord;
|
|
44
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Classifies a raw failure reason into a bounded, non-free-form code for
|
|
49
|
+
* persisted telemetry. The raw `failureReason` from `errorReason()` in
|
|
50
|
+
* `subsessions.ts` can contain SDK error messages that echo request content
|
|
51
|
+
* (provider content-filter rejections, validation errors quoting the payload).
|
|
52
|
+
* Persisting those verbatim violates the project's telemetry policy: "auditable
|
|
53
|
+
* JSONL with a hashed prompt by default; do not store sensitive prompts."
|
|
54
|
+
*
|
|
55
|
+
* The classified code preserves the debugging signal that actually gets
|
|
56
|
+
* aggregated (timeout vs. rejection vs. missing session) while carrying no
|
|
57
|
+
* payload. The raw string remains available in-memory via
|
|
58
|
+
* `CorrelatedCostRecord.failureReason` for the tool response.
|
|
59
|
+
*
|
|
60
|
+
* Pure: no I/O, clock, random, or env.
|
|
61
|
+
*/
|
|
62
|
+
export type TelemetryFailureClass = "create-rejected" | "create-no-id" | "prompt-rejected" | "prompt-timeout" | "unknown";
|
|
63
|
+
export declare function classifyFailureForTelemetry(failureReason: string, failureStage: string | undefined): TelemetryFailureClass;
|
|
45
64
|
/**
|
|
46
65
|
* Mapea un `CorrelatedCostRecord` a un `route` event preservando la correlación
|
|
47
|
-
* (decisionID/agent/success/batchID/
|
|
66
|
+
* (decisionID/agent/success/batchID/failureStage) que el sink de
|
|
48
67
|
* `CostRecord` legacy descartaba. Puro.
|
|
68
|
+
*
|
|
69
|
+
* `failureReason` is classified into a bounded code via
|
|
70
|
+
* `classifyFailureForTelemetry` rather than copied raw — the raw string may
|
|
71
|
+
* contain SDK error messages that echo request content.
|
|
49
72
|
*/
|
|
50
73
|
export declare function correlatedCostRecordToRouteEvent(record: CorrelatedCostRecord): RouteEvent;
|
|
51
74
|
/**
|
|
@@ -54,5 +77,17 @@ export declare function correlatedCostRecordToRouteEvent(record: CorrelatedCostR
|
|
|
54
77
|
*/
|
|
55
78
|
export declare function buildMeetingEvent(inputs: readonly RoleTaskInput[], batchID: string, decisionIDs: readonly string[], ts: number): MeetingEvent | undefined;
|
|
56
79
|
export declare function runRoleTask(input: RoleTaskInput, deps: CoordinatorDeps): Promise<RoleTaskResult>;
|
|
57
|
-
export
|
|
80
|
+
export type RoleBatchResult = {
|
|
81
|
+
readonly batchID: string;
|
|
82
|
+
readonly results: RoleTaskResult[];
|
|
83
|
+
/** Role IDs that were not executed because a dependency failed or was cancelled. */
|
|
84
|
+
readonly cancelled: readonly string[];
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Computes topological waves from inputs: each wave contains roles whose
|
|
88
|
+
* dependencies all appear in earlier waves. Roles with no `dependsOn` are in
|
|
89
|
+
* wave 0. Pure and deterministic: same inputs produce the same waves.
|
|
90
|
+
*/
|
|
91
|
+
export declare function topologicalWaves(inputs: readonly RoleTaskInput[]): RoleTaskInput[][];
|
|
92
|
+
export declare function runRoleTasks(inputs: readonly RoleTaskInput[], deps: CoordinatorDeps): Promise<RoleBatchResult>;
|
|
58
93
|
//# sourceMappingURL=coordinator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEf,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQrD,OAAO,EACL,KAAK,qBAAqB,EAG1B,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import type { WorkspaceLease } from "../storage/graph/workspaceLease";
|
|
|
24
24
|
import type { GraphEffectExecutor } from "./graphEffects";
|
|
25
25
|
import type { RevisionPlan } from "./graphReview";
|
|
26
26
|
import { type RuntimeStepOutcome } from "./graphRuntime";
|
|
27
|
-
import type
|
|
27
|
+
import { type SddTask } from "./sddCompiler";
|
|
28
28
|
/** Marca privada del módulo: nada fuera de aquí puede fabricarla. */
|
|
29
29
|
declare const ACTIVE_INGRESS_BRAND: unique symbol;
|
|
30
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphIngress.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphIngress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"graphIngress.d.ts","sourceRoot":"","sources":["../../src/orchestrator/graphIngress.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
import type { StorageProvider } from "../storage/provider";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* Tipos y reducción del ledger de progreso legacy.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* `- <taskID>: complete (<detail>)`
|
|
14
|
-
* `- <taskID>: failed (<detail>)`
|
|
4
|
+
* El ledger legacy (`progress.md`) registra, una línea por tarea, el desenlace
|
|
5
|
+
* terminal de las tareas ya procesadas. Su **autoridad** fue retirada (R7): ya
|
|
6
|
+
* no se lee ni se escribe como fuente de verdad. Lo que sobrevive es el modelo
|
|
7
|
+
* de datos (`LedgerEntry` / `LedgerStatus`) y la reducción pura `latestStatuses`,
|
|
8
|
+
* que la **importación terminal** a la autoridad de Graph
|
|
9
|
+
* (`storage/graph/importLegacy.ts`) usa para colapsar entradas repetidas al
|
|
10
|
+
* último estado por `taskID`. El parseo del texto legacy vive ahora inline en el
|
|
11
|
+
* importador/migración, no aquí.
|
|
15
12
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
13
|
+
* Es **privacy-safe**: solo `taskID`, estado y un `detail` ya redactado; nunca
|
|
14
|
+
* prompts ni datos sensibles.
|
|
18
15
|
*/
|
|
19
|
-
/** Ruta por defecto del ledger (estado derivado del equipo). */
|
|
20
|
-
export declare const DEFAULT_LEDGER_PATH = ".opencode/openteam/progress.md";
|
|
21
16
|
export type LedgerStatus = "complete" | "failed";
|
|
22
17
|
export type LedgerEntry = {
|
|
23
18
|
taskID: string;
|
|
@@ -25,35 +20,9 @@ export type LedgerEntry = {
|
|
|
25
20
|
/** Metadatos redactados (modelo, tier, resultado de review). Nunca prompts. */
|
|
26
21
|
detail?: string;
|
|
27
22
|
};
|
|
28
|
-
/** Serializa una entrada a su línea Markdown canónica. Puro. */
|
|
29
|
-
export declare function formatLedgerEntry(entry: LedgerEntry): string;
|
|
30
|
-
/** Parsea una línea; `undefined` si no es una entrada de ledger válida. Puro. */
|
|
31
|
-
export declare function parseLedgerLine(line: string): LedgerEntry | undefined;
|
|
32
|
-
/** Parsea todo el ledger, saltando cabeceras/blancos/líneas inválidas. Puro. */
|
|
33
|
-
export declare function parseLedger(text: string): LedgerEntry[];
|
|
34
23
|
/**
|
|
35
24
|
* Estado más reciente por `taskID` (las líneas posteriores sobrescriben a las
|
|
36
25
|
* anteriores: un `failed` seguido de `complete` cuenta como `complete`). Puro.
|
|
37
26
|
*/
|
|
38
27
|
export declare function latestStatuses(entries: readonly LedgerEntry[]): Map<string, LedgerStatus>;
|
|
39
|
-
/** `true` si el último estado registrado para la tarea es `complete`. Puro. */
|
|
40
|
-
export declare function isTaskComplete(entries: readonly LedgerEntry[], taskID: string): boolean;
|
|
41
|
-
/** Conjunto de `taskID` cuyo estado más reciente es `complete`. Puro. */
|
|
42
|
-
export declare function completedTaskIDs(entries: readonly LedgerEntry[]): Set<string>;
|
|
43
|
-
/**
|
|
44
|
-
* Lee y parsea el ledger; `[]` si el fichero no existe.
|
|
45
|
-
*
|
|
46
|
-
* @deprecated As authority source — legacy SDD authority (progress.md as the
|
|
47
|
-
* task-completion ledger) will be removed in v1.0.0. The pure parsing
|
|
48
|
-
* functions (`parseLedger`, `parseLedgerLine`, etc.) remain available for
|
|
49
|
-
* terminal import into graph authority. See docs/guide/graph-migration.md.
|
|
50
|
-
*/
|
|
51
|
-
export declare function readLedger(storage: StorageProvider, path?: string): Promise<LedgerEntry[]>;
|
|
52
|
-
/**
|
|
53
|
-
* Añade una entrada al ledger (crea el fichero si no existe).
|
|
54
|
-
*
|
|
55
|
-
* @deprecated Legacy SDD authority (progress.md as the task-completion ledger)
|
|
56
|
-
* will be removed in v1.0.0. See docs/guide/graph-migration.md.
|
|
57
|
-
*/
|
|
58
|
-
export declare function appendLedgerEntry(storage: StorageProvider, entry: LedgerEntry, path?: string): Promise<void>;
|
|
59
28
|
//# sourceMappingURL=ledger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ledger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,WAAW,EAAE,GAC9B,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAM3B"}
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
import { type GraphSpecV1 } from "../graph/schema";
|
|
2
|
-
import {
|
|
2
|
+
import type { TaskSignals } from "../router/types";
|
|
3
|
+
/** Rol reviewer por defecto de la compilación SDD → grafo. */
|
|
4
|
+
export declare const DEFAULT_REVIEWER_ROLE_ID = "reviewer";
|
|
5
|
+
/**
|
|
6
|
+
* Descriptor de entrada del compilador SDD → grafo.
|
|
7
|
+
*
|
|
8
|
+
* Es el contrato que `compileSddTask` y el ingress activo (`graphIngress.ts`)
|
|
9
|
+
* consumen: identifica la tarea, sus roles y su brief accionable, más las
|
|
10
|
+
* señales de routing. El brief nunca se persiste en crudo; el compilador lo
|
|
11
|
+
* ancla por digest (`assertReferenceOnly` rechaza cualquier campo crudo).
|
|
12
|
+
*/
|
|
13
|
+
export type SddTask = {
|
|
14
|
+
/** Id estable y sin `:` (kebab-case) usado para anclas y nodos. */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Rol que implementa (y arregla) la tarea. */
|
|
17
|
+
implementerRoleID: string;
|
|
18
|
+
/** Título humano corto. */
|
|
19
|
+
title: string;
|
|
20
|
+
/** Brief accionable de la tarea (cuerpo del prompt del implementer). */
|
|
21
|
+
brief: string;
|
|
22
|
+
/** Señales de routing para la tarea. */
|
|
23
|
+
task: TaskSignals;
|
|
24
|
+
/** Rol reviewer específico (sobreescribe el reviewer por defecto). */
|
|
25
|
+
reviewerRoleID?: string;
|
|
26
|
+
};
|
|
3
27
|
/**
|
|
4
28
|
* Compilador **puro** de una tarea SDD legacy a un `GraphSpecV1` estático
|
|
5
29
|
* (GE-041).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sddCompiler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sddCompiler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"sddCompiler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sddCompiler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,EAAE,WAAW,CAAC;IAClB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,oBAAoB,GACpB,cAAc,CAAC;AAEnB,iDAAiD;AACjD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAKpD;CACF;AAED,+BAA+B;AAC/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAwBF;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC9B,WAAW,CA0Db"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { type ToolDefinition } from "@opencode-ai/plugin";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import type { GraphMode, OpenTeamConfig } from "../config/schema";
|
|
4
|
+
import type { GraphEventV1, GraphSpecV1 } from "../graph/schema";
|
|
5
|
+
import { type RoleTaskResult } from "../orchestrator/coordinator";
|
|
6
|
+
import type { OpencodeSessionClient } from "../orchestrator/subsessions";
|
|
7
|
+
import type { GraphJournal } from "../storage/graph/provider";
|
|
8
|
+
import type { EventSink } from "../telemetry/eventLog";
|
|
9
|
+
import type { ShadowObserver } from "./shadowPipeline";
|
|
10
|
+
/**
|
|
11
|
+
* Schema for the `openteam-orchestrate` tool boundary.
|
|
12
|
+
*
|
|
13
|
+
* `.strict()` rejects unknown keys, consistent with `ReportRunPayloadSchema`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const OrchestratePayloadSchema: z.ZodObject<{
|
|
16
|
+
assignments: z.ZodArray<z.ZodObject<{
|
|
17
|
+
roleID: z.ZodString;
|
|
18
|
+
prompt: z.ZodString;
|
|
19
|
+
title: z.ZodOptional<z.ZodString>;
|
|
20
|
+
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
+
}, z.core.$strict>>;
|
|
22
|
+
parentSessionID: z.ZodOptional<z.ZodString>;
|
|
23
|
+
directory: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strict>;
|
|
25
|
+
export type OrchestratePayload = z.infer<typeof OrchestratePayloadSchema>;
|
|
26
|
+
export type DependencyValidationError = {
|
|
27
|
+
code: "dangling-reference";
|
|
28
|
+
detail: string;
|
|
29
|
+
} | {
|
|
30
|
+
code: "cycle";
|
|
31
|
+
detail: string;
|
|
32
|
+
} | {
|
|
33
|
+
code: "duplicate-role";
|
|
34
|
+
detail: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Validates the dependency graph encoded in assignments. Returns an error
|
|
38
|
+
* if any `dependsOn` reference is dangling (refers to a non-existent roleID),
|
|
39
|
+
* if the graph contains a cycle, or if roleIDs are duplicated.
|
|
40
|
+
*
|
|
41
|
+
* Pure: no I/O, clock, random, or env vars.
|
|
42
|
+
*/
|
|
43
|
+
export declare function validateAssignmentDependencies(assignments: readonly OrchestratePayload["assignments"][number][]): DependencyValidationError | undefined;
|
|
44
|
+
/** Per-role summary returned by the tool (reference-only — no prompt text). */
|
|
45
|
+
export type RoleResultSummary = {
|
|
46
|
+
roleID: string;
|
|
47
|
+
model: {
|
|
48
|
+
providerID: string;
|
|
49
|
+
modelID: string;
|
|
50
|
+
};
|
|
51
|
+
success: boolean;
|
|
52
|
+
sessionID?: string;
|
|
53
|
+
failureStage?: "create" | "prompt";
|
|
54
|
+
failureReason?: string;
|
|
55
|
+
};
|
|
56
|
+
export type OrchestrateResult = {
|
|
57
|
+
kind: "completed";
|
|
58
|
+
roles: readonly RoleResultSummary[];
|
|
59
|
+
cancelled?: readonly string[];
|
|
60
|
+
} | {
|
|
61
|
+
kind: "error";
|
|
62
|
+
reason: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Minimal port of the opencode SDK client surface used by this adapter.
|
|
66
|
+
*
|
|
67
|
+
* Structurally compatible with `ReturnType<typeof createOpencodeClient>` — the
|
|
68
|
+
* SDK client can be passed directly. Only the `session.create` and
|
|
69
|
+
* `session.prompt` methods are consumed; everything else is intentionally
|
|
70
|
+
* excluded so the adapter cannot reach surfaces the coordinator must not use.
|
|
71
|
+
*/
|
|
72
|
+
export type SdkClientPort = {
|
|
73
|
+
session: {
|
|
74
|
+
create(args: {
|
|
75
|
+
body?: {
|
|
76
|
+
parentID?: string;
|
|
77
|
+
title?: string;
|
|
78
|
+
};
|
|
79
|
+
query?: {
|
|
80
|
+
directory?: string;
|
|
81
|
+
};
|
|
82
|
+
}): Promise<{
|
|
83
|
+
data: {
|
|
84
|
+
id: string;
|
|
85
|
+
} | undefined;
|
|
86
|
+
error: unknown;
|
|
87
|
+
}>;
|
|
88
|
+
prompt(args: {
|
|
89
|
+
path: {
|
|
90
|
+
id: string;
|
|
91
|
+
};
|
|
92
|
+
body: {
|
|
93
|
+
model?: {
|
|
94
|
+
providerID: string;
|
|
95
|
+
modelID: string;
|
|
96
|
+
};
|
|
97
|
+
agent?: string;
|
|
98
|
+
system?: string;
|
|
99
|
+
parts: Array<{
|
|
100
|
+
type: "text";
|
|
101
|
+
text: string;
|
|
102
|
+
}>;
|
|
103
|
+
};
|
|
104
|
+
}): Promise<{
|
|
105
|
+
data: unknown;
|
|
106
|
+
error: unknown;
|
|
107
|
+
}>;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Adapts the opencode SDK client to `OpencodeSessionClient`.
|
|
112
|
+
*
|
|
113
|
+
* The brief asked to use `opencodeSessionAdapter.ts`, but that adapter
|
|
114
|
+
* produces `OpencodeSessionAdapter` (6-method lifecycle interface for the
|
|
115
|
+
* graph runtime), not `OpencodeSessionClient` (2-method create/prompt
|
|
116
|
+
* interface consumed by `runSubsession`/`runRoleTasks`). Using the wrong
|
|
117
|
+
* type would compile but add an unused abstraction layer. This adapter
|
|
118
|
+
* bridges the SDK client directly to the type the coordinator consumes.
|
|
119
|
+
*/
|
|
120
|
+
export declare function adaptSdkClient(sdk: SdkClientPort): OpencodeSessionClient;
|
|
121
|
+
/**
|
|
122
|
+
* Projects `RoleTaskResult[]` into a reference-only `OrchestrateResult`.
|
|
123
|
+
*
|
|
124
|
+
* `assertReferenceOnly` is the privacy guard: it rejects any structure
|
|
125
|
+
* carrying a key from `FORBIDDEN_RAW_KEYS` (e.g. "content", "text",
|
|
126
|
+
* "prompt", "message"). The current `RoleResultSummary` shape has no
|
|
127
|
+
* forbidden keys by design, but the guard is defense-in-depth against
|
|
128
|
+
* runtime contamination (e.g. `decision.selected` carrying extra
|
|
129
|
+
* properties from the SDK response). Exported for direct testing.
|
|
130
|
+
*/
|
|
131
|
+
export declare function projectResults(results: readonly RoleTaskResult[], cancelled?: readonly string[]): OrchestrateResult;
|
|
132
|
+
export type OrchestrateDeps = {
|
|
133
|
+
readonly client: OpencodeSessionClient;
|
|
134
|
+
readonly sink: EventSink;
|
|
135
|
+
readonly config: OpenTeamConfig;
|
|
136
|
+
readonly now: () => number;
|
|
137
|
+
readonly newDecisionID: () => string;
|
|
138
|
+
/** Graph mode resolved from config. `off` disables shadow journaling. */
|
|
139
|
+
readonly graphMode: GraphMode;
|
|
140
|
+
/** Journal for persisting shadow graph runs. Required when graphMode !== "off". */
|
|
141
|
+
readonly journal?: GraphJournal | undefined;
|
|
142
|
+
/** Shadow pipeline observer. Required when graphMode !== "off". */
|
|
143
|
+
readonly observeLegacyExecution?: ShadowObserver | undefined;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Builds a `GraphSpecV1` from orchestrate payload assignments. Each assignment
|
|
147
|
+
* becomes a node; `dependsOn` on assignments maps to graph edges. All nodes
|
|
148
|
+
* are `implementer` role (the roster role is an orchestration concept, not a
|
|
149
|
+
* graph review relationship). Anchors use the batchID as taskID.
|
|
150
|
+
*
|
|
151
|
+
* Pure: no I/O, clock, random, or env vars.
|
|
152
|
+
*/
|
|
153
|
+
export declare function buildGraphSpecFromAssignments(assignments: readonly OrchestratePayload["assignments"][number][], batchID: string): GraphSpecV1;
|
|
154
|
+
/**
|
|
155
|
+
* Synthesizes the journal event sequence from legacy role task results.
|
|
156
|
+
* Follows the same pattern as `mirrorJournal` in `graphShadow.ts`:
|
|
157
|
+
* run.started → (node.dispatched + node.succeeded/failed) per node → terminal.
|
|
158
|
+
*
|
|
159
|
+
* **Privacy**: events carry only nodeID, operationID, attemptID, and synthetic
|
|
160
|
+
* artifacts (`shadow://` scheme). No prompt text reaches the journal.
|
|
161
|
+
*/
|
|
162
|
+
export declare function synthesizeJournalEvents(spec: GraphSpecV1, results: readonly RoleTaskResult[], cancelled?: readonly string[]): GraphEventV1[];
|
|
163
|
+
/**
|
|
164
|
+
* Bounded failure codes for shadow producer diagnostics. Never a raw error
|
|
165
|
+
* string — fs errors can carry full paths, SDK errors can echo request content.
|
|
166
|
+
* The same discipline applied at `coordinator.ts:328` for subsession failures.
|
|
167
|
+
*/
|
|
168
|
+
export type ShadowProducerFailureClass = "invalid-node-id" | "journal-create-failed" | "journal-append-failed" | "observation-failed" | "unknown";
|
|
169
|
+
/**
|
|
170
|
+
* Classifies a shadow producer error into a bounded code. Pure.
|
|
171
|
+
*/
|
|
172
|
+
export declare function classifyShadowFailure(_error: unknown, phase: "create" | "append" | "observe"): ShadowProducerFailureClass;
|
|
173
|
+
/** Result of shadow producer attempt — success or classified failure. */
|
|
174
|
+
export type ShadowProducerResult = {
|
|
175
|
+
readonly ok: true;
|
|
176
|
+
} | {
|
|
177
|
+
readonly ok: false;
|
|
178
|
+
readonly failureClass: ShadowProducerFailureClass;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Creates the `openteam-orchestrate` tool.
|
|
182
|
+
*
|
|
183
|
+
* This is the production entry point for code-driven roster orchestration.
|
|
184
|
+
* When an agent calls this tool with role assignments, openteam distributes
|
|
185
|
+
* the work via `runRoleTasks` — model selection, subsession lifecycle, and
|
|
186
|
+
* telemetry are all handled by our code, not improvised by the LLM.
|
|
187
|
+
*
|
|
188
|
+
* **Failure containment**: follows the `createShadowPipeline` idiom — no
|
|
189
|
+
* error escapes the tool boundary. A failure returns a structured error
|
|
190
|
+
* result rather than crashing the plugin or corrupting the user's session.
|
|
191
|
+
*
|
|
192
|
+
* **Privacy**: the result projection uses `assertReferenceOnly` to ensure
|
|
193
|
+
* no raw prompt text reaches telemetry or the tool response. Only role IDs,
|
|
194
|
+
* model selections, session IDs, and failure metadata are surfaced.
|
|
195
|
+
*/
|
|
196
|
+
export declare function createOrchestrateTool(deps: OrchestrateDeps): ToolDefinition;
|
|
197
|
+
//# sourceMappingURL=orchestrateTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrateTool.d.ts","sourceRoot":"","sources":["../../src/plugin/orchestrateTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -133,6 +133,29 @@ export declare const SessionEndpointEventSchema: z.ZodObject<{
|
|
|
133
133
|
worktree: z.ZodOptional<z.ZodString>;
|
|
134
134
|
title: z.ZodOptional<z.ZodString>;
|
|
135
135
|
}, z.core.$strip>;
|
|
136
|
+
/**
|
|
137
|
+
* Diagnostic event for the shadow producer. Emitted when the shadow pipeline
|
|
138
|
+
* was attempted but failed — making the failure observable rather than silent.
|
|
139
|
+
* Without this, a broken journal root or invalid roleID would silently prevent
|
|
140
|
+
* soak observations from accumulating, and the only symptom would be an absence.
|
|
141
|
+
*
|
|
142
|
+
* `failureClass` is a bounded code — never a raw error string, which could
|
|
143
|
+
* contain filesystem paths or SDK error messages that echo request content.
|
|
144
|
+
*/
|
|
145
|
+
export declare const ShadowDiagnosticEventSchema: z.ZodObject<{
|
|
146
|
+
v: z.ZodLiteral<1>;
|
|
147
|
+
ts: z.ZodNumber;
|
|
148
|
+
sessionID: z.ZodString;
|
|
149
|
+
type: z.ZodLiteral<"shadow-diagnostic">;
|
|
150
|
+
batchID: z.ZodString;
|
|
151
|
+
failureClass: z.ZodEnum<{
|
|
152
|
+
"invalid-node-id": "invalid-node-id";
|
|
153
|
+
"journal-append-failed": "journal-append-failed";
|
|
154
|
+
"journal-create-failed": "journal-create-failed";
|
|
155
|
+
"observation-failed": "observation-failed";
|
|
156
|
+
unknown: "unknown";
|
|
157
|
+
}>;
|
|
158
|
+
}, z.core.$strip>;
|
|
136
159
|
export declare const OpenTeamEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
137
160
|
v: z.ZodLiteral<1>;
|
|
138
161
|
ts: z.ZodNumber;
|
|
@@ -235,6 +258,19 @@ export declare const OpenTeamEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
235
258
|
directory: z.ZodOptional<z.ZodString>;
|
|
236
259
|
worktree: z.ZodOptional<z.ZodString>;
|
|
237
260
|
title: z.ZodOptional<z.ZodString>;
|
|
261
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
262
|
+
v: z.ZodLiteral<1>;
|
|
263
|
+
ts: z.ZodNumber;
|
|
264
|
+
sessionID: z.ZodString;
|
|
265
|
+
type: z.ZodLiteral<"shadow-diagnostic">;
|
|
266
|
+
batchID: z.ZodString;
|
|
267
|
+
failureClass: z.ZodEnum<{
|
|
268
|
+
"invalid-node-id": "invalid-node-id";
|
|
269
|
+
"journal-append-failed": "journal-append-failed";
|
|
270
|
+
"journal-create-failed": "journal-create-failed";
|
|
271
|
+
"observation-failed": "observation-failed";
|
|
272
|
+
unknown: "unknown";
|
|
273
|
+
}>;
|
|
238
274
|
}, z.core.$strip>], "type">;
|
|
239
275
|
export type OpenTeamEvent = z.infer<typeof OpenTeamEventSchema>;
|
|
240
276
|
export type RouteEvent = z.infer<typeof RouteEventSchema>;
|
|
@@ -244,5 +280,6 @@ export type MeetingEvent = z.infer<typeof MeetingEventSchema>;
|
|
|
244
280
|
export type DecisionEvent = z.infer<typeof DecisionEventSchema>;
|
|
245
281
|
export type ActivityEvent = z.infer<typeof ActivityEventSchema>;
|
|
246
282
|
export type SessionEndpointEvent = z.infer<typeof SessionEndpointEventSchema>;
|
|
283
|
+
export type ShadowDiagnosticEvent = z.infer<typeof ShadowDiagnosticEventSchema>;
|
|
247
284
|
export type OpenTeamEventType = OpenTeamEvent["type"];
|
|
248
285
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAW/C,yEAAyE;AACzE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB3B,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAc7B,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;iBAS9B,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;iBAM7B,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;iBAK9B,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;iBAK9B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;iBAMrC,CAAC;AAEH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAW/C,yEAAyE;AACzE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB3B,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAc7B,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;iBAS9B,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;iBAM7B,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;iBAK9B,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;iBAK9B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;iBAMrC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;iBAWtC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAS9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,MAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jmanuelcorral/openteam",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"packageManager": "bun@1.3.14",
|
|
5
5
|
"description": "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
|
|
6
6
|
"license": "MIT",
|