@viberlabs/orchestrator 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/LICENSE.md +25 -0
  2. package/README.md +170 -0
  3. package/dist/core/src/db/index.d.ts +295 -0
  4. package/dist/core/src/db/index.d.ts.map +1 -0
  5. package/dist/core/src/db/index.js +1114 -0
  6. package/dist/core/src/db/index.js.map +1 -0
  7. package/dist/core/src/engine/index.d.ts +38 -0
  8. package/dist/core/src/engine/index.d.ts.map +1 -0
  9. package/dist/core/src/engine/index.js +117 -0
  10. package/dist/core/src/engine/index.js.map +1 -0
  11. package/dist/core/src/engine/sentry.d.ts +36 -0
  12. package/dist/core/src/engine/sentry.d.ts.map +1 -0
  13. package/dist/core/src/engine/sentry.js +131 -0
  14. package/dist/core/src/engine/sentry.js.map +1 -0
  15. package/dist/core/src/protocol/index.d.ts +140 -0
  16. package/dist/core/src/protocol/index.d.ts.map +1 -0
  17. package/dist/core/src/protocol/index.js +7 -0
  18. package/dist/core/src/protocol/index.js.map +1 -0
  19. package/dist/index.d.ts +8 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +15 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/opencode/src/index.d.ts +56 -0
  24. package/dist/opencode/src/index.d.ts.map +1 -0
  25. package/dist/opencode/src/index.js +322 -0
  26. package/dist/opencode/src/index.js.map +1 -0
  27. package/dist/orca/index.d.ts +137 -0
  28. package/dist/orca/index.d.ts.map +1 -0
  29. package/dist/orca/index.js +215 -0
  30. package/dist/orca/index.js.map +1 -0
  31. package/dist/orchestrator/src/daemon.d.ts +66 -0
  32. package/dist/orchestrator/src/daemon.d.ts.map +1 -0
  33. package/dist/orchestrator/src/daemon.js +523 -0
  34. package/dist/orchestrator/src/daemon.js.map +1 -0
  35. package/dist/orchestrator/src/index.d.ts +8 -0
  36. package/dist/orchestrator/src/index.d.ts.map +1 -0
  37. package/dist/orchestrator/src/index.js +15 -0
  38. package/dist/orchestrator/src/index.js.map +1 -0
  39. package/dist/orchestrator/src/orca/index.d.ts +137 -0
  40. package/dist/orchestrator/src/orca/index.d.ts.map +1 -0
  41. package/dist/orchestrator/src/orca/index.js +215 -0
  42. package/dist/orchestrator/src/orca/index.js.map +1 -0
  43. package/dist/orchestrator/src/pool/index.d.ts +51 -0
  44. package/dist/orchestrator/src/pool/index.d.ts.map +1 -0
  45. package/dist/orchestrator/src/pool/index.js +152 -0
  46. package/dist/orchestrator/src/pool/index.js.map +1 -0
  47. package/dist/orchestrator/src/workflow/index.d.ts +65 -0
  48. package/dist/orchestrator/src/workflow/index.d.ts.map +1 -0
  49. package/dist/orchestrator/src/workflow/index.js +148 -0
  50. package/dist/orchestrator/src/workflow/index.js.map +1 -0
  51. package/dist/pool/index.d.ts +51 -0
  52. package/dist/pool/index.d.ts.map +1 -0
  53. package/dist/pool/index.js +152 -0
  54. package/dist/pool/index.js.map +1 -0
  55. package/dist/workflow/index.d.ts +65 -0
  56. package/dist/workflow/index.d.ts.map +1 -0
  57. package/dist/workflow/index.js +148 -0
  58. package/dist/workflow/index.js.map +1 -0
  59. package/package.json +65 -0
@@ -0,0 +1,137 @@
1
+ /**
2
+ * DOCUMENT: ORCA STATE MACHINE
3
+ * PROJECT: VIBER Universal v2
4
+ * PURPOSE: XState v5 state machine for task orchestration
5
+ * UPDATE PATTERN: Update when orchestration states change
6
+ * LOCATION: packages/orchestrator/src/orca/index.ts
7
+ * RELATED: pool, workflow, FLL validation
8
+ * LAST UPDATED: 2026-03-06
9
+ */
10
+ import type { FllValidationResult } from "@viberlabs/viber-core/engine";
11
+ import type { Task, Agent } from "@viberlabs/viber-core/db";
12
+ export interface OrcaContext {
13
+ task: Task | null;
14
+ validation: FllValidationResult | null;
15
+ agents: Agent[];
16
+ error: string | null;
17
+ retries: number;
18
+ sessionId: string | null;
19
+ }
20
+ export type OrcaEvent = {
21
+ type: "VALIDATE";
22
+ task: Task;
23
+ } | {
24
+ type: "EXECUTE";
25
+ agents: Agent[];
26
+ } | {
27
+ type: "REVIEW";
28
+ results: any;
29
+ } | {
30
+ type: "COMPLETE";
31
+ summary: string;
32
+ } | {
33
+ type: "FAIL";
34
+ error: string;
35
+ } | {
36
+ type: "RETRY";
37
+ } | {
38
+ type: "RESET";
39
+ };
40
+ export type OrcaState = "idle" | "validating" | "planning" | "orchestrating" | "executing" | "reviewing" | "completed" | "failed";
41
+ export declare const orcaMachine: import("xstate").StateMachine<OrcaContext, OrcaEvent, {
42
+ [x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<{
43
+ valid: boolean;
44
+ probability: number;
45
+ position: "peak";
46
+ premises: any[];
47
+ contradictions: any[];
48
+ warnings: any[];
49
+ }, {
50
+ task: Task;
51
+ }, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<{
52
+ success: boolean;
53
+ results: {
54
+ agentId: string;
55
+ output: string;
56
+ artifacts: any[];
57
+ }[];
58
+ }, {
59
+ agents: Agent[];
60
+ }, import("xstate").EventObject>>;
61
+ }, {
62
+ src: "validateTask";
63
+ logic: import("xstate").PromiseActorLogic<{
64
+ valid: boolean;
65
+ probability: number;
66
+ position: "peak";
67
+ premises: any[];
68
+ contradictions: any[];
69
+ warnings: any[];
70
+ }, {
71
+ task: Task;
72
+ }, import("xstate").EventObject>;
73
+ id: string;
74
+ } | {
75
+ src: "executeAgents";
76
+ logic: import("xstate").PromiseActorLogic<{
77
+ success: boolean;
78
+ results: {
79
+ agentId: string;
80
+ output: string;
81
+ artifacts: any[];
82
+ }[];
83
+ }, {
84
+ agents: Agent[];
85
+ }, import("xstate").EventObject>;
86
+ id: string;
87
+ }, {
88
+ type: "setTask";
89
+ params: {};
90
+ } | {
91
+ type: "setValidation";
92
+ params: {};
93
+ } | {
94
+ type: "setAgents";
95
+ params: {};
96
+ } | {
97
+ type: "setError";
98
+ params: {};
99
+ } | {
100
+ type: "incrementRetry";
101
+ params: {};
102
+ } | {
103
+ type: "reset";
104
+ params: {};
105
+ }, {
106
+ type: "isValidTask";
107
+ params: unknown;
108
+ } | {
109
+ type: "canRetry";
110
+ params: unknown;
111
+ } | {
112
+ type: "isPeak";
113
+ params: unknown;
114
+ } | {
115
+ type: "isSlope";
116
+ params: unknown;
117
+ } | {
118
+ type: "isValley";
119
+ params: unknown;
120
+ }, never, "validating" | "executing" | "completed" | "failed" | "idle" | "planning" | "orchestrating" | "reviewing", string, {}, {}, import("xstate").EventObject, import("xstate").MetaObject, {
121
+ id: "orca";
122
+ states: {
123
+ readonly idle: {};
124
+ readonly validating: {};
125
+ readonly planning: {};
126
+ readonly orchestrating: {};
127
+ readonly executing: {};
128
+ readonly reviewing: {};
129
+ readonly completed: {};
130
+ readonly failed: {};
131
+ };
132
+ }>;
133
+ export declare class Orca {
134
+ constructor();
135
+ orchestrate(_task: Task, _agents: Agent[]): Promise<void>;
136
+ }
137
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/orca/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAMD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAMtB,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,YAAY,GACZ,UAAU,GACV,eAAe,GACf,WAAW,GACX,WAAW,GACX,WAAW,GACX,QAAQ,CAAC;AA0Cb,eAAO,MAAM,WAAW;;;;;;;;;cApCyC,IAAI;;;;;;;;;gBAkB9B,KAAK,EAAE;;;;;;;;;;;;cAlBmB,IAAI;;;;;;;;;;;;;gBAkB9B,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6K5C,CAAC;AAMH,qBAAa,IAAI;;IAKT,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ /**
3
+ * DOCUMENT: ORCA STATE MACHINE
4
+ * PROJECT: VIBER Universal v2
5
+ * PURPOSE: XState v5 state machine for task orchestration
6
+ * UPDATE PATTERN: Update when orchestration states change
7
+ * LOCATION: packages/orchestrator/src/orca/index.ts
8
+ * RELATED: pool, workflow, FLL validation
9
+ * LAST UPDATED: 2026-03-06
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Orca = exports.orcaMachine = void 0;
13
+ const xstate_1 = require("xstate");
14
+ // ============================================================================
15
+ // Validation Actor (would call FLL validation)
16
+ // ============================================================================
17
+ const validateTask = (0, xstate_1.fromPromise)(async (_input) => {
18
+ // This would call FLL validation
19
+ // For now, return a mock result
20
+ return {
21
+ valid: true,
22
+ probability: 0.85,
23
+ position: "peak",
24
+ premises: [],
25
+ contradictions: [],
26
+ warnings: [],
27
+ };
28
+ });
29
+ // ============================================================================
30
+ // Execution Actor (would spawn and manage agents)
31
+ // ============================================================================
32
+ const executeAgents = (0, xstate_1.fromPromise)(async ({ input }) => {
33
+ // This would spawn agents via OpenCode
34
+ // For now, return mock results
35
+ return {
36
+ success: true,
37
+ results: input.agents.map((a) => ({
38
+ agentId: a.id,
39
+ output: "Task completed",
40
+ artifacts: [],
41
+ })),
42
+ };
43
+ });
44
+ // ============================================================================
45
+ // Orca State Machine
46
+ // ============================================================================
47
+ exports.orcaMachine = (0, xstate_1.setup)({
48
+ types: {
49
+ context: {},
50
+ events: {},
51
+ },
52
+ actors: {
53
+ validateTask,
54
+ executeAgents,
55
+ },
56
+ guards: {
57
+ isValidTask: ({ context }) => context.validation?.valid ?? false,
58
+ canRetry: ({ context }) => context.retries < 3,
59
+ isPeak: ({ context }) => context.validation?.position === "peak",
60
+ isSlope: ({ context }) => context.validation?.position === "slope",
61
+ isValley: ({ context }) => context.validation?.position === "valley",
62
+ },
63
+ actions: {
64
+ setTask: (0, xstate_1.assign)({
65
+ task: ({ event }) => ("task" in event ? event.task : null),
66
+ }),
67
+ setValidation: (0, xstate_1.assign)({
68
+ validation: ({ event }) => ("validation" in event ? event.validation : null),
69
+ }),
70
+ setAgents: (0, xstate_1.assign)({
71
+ agents: ({ event }) => ("agents" in event ? event.agents : []),
72
+ }),
73
+ setError: (0, xstate_1.assign)({
74
+ error: ({ event }) => ("error" in event ? event.error : null),
75
+ }),
76
+ incrementRetry: (0, xstate_1.assign)({
77
+ retries: ({ context }) => context.retries + 1,
78
+ }),
79
+ reset: (0, xstate_1.assign)({
80
+ task: null,
81
+ validation: null,
82
+ agents: [],
83
+ error: null,
84
+ retries: 0,
85
+ sessionId: null,
86
+ }),
87
+ },
88
+ }).createMachine({
89
+ id: "orca",
90
+ initial: "idle",
91
+ context: {
92
+ task: null,
93
+ validation: null,
94
+ agents: [],
95
+ error: null,
96
+ retries: 0,
97
+ sessionId: null,
98
+ },
99
+ states: {
100
+ idle: {
101
+ on: {
102
+ VALIDATE: {
103
+ target: "validating",
104
+ actions: ["setTask"],
105
+ },
106
+ },
107
+ },
108
+ validating: {
109
+ invoke: {
110
+ src: "validateTask",
111
+ input: ({ context }) => ({ task: context.task }),
112
+ onDone: {
113
+ target: "planning",
114
+ actions: ["setValidation"],
115
+ },
116
+ onError: {
117
+ target: "failed",
118
+ actions: ["setError"],
119
+ },
120
+ },
121
+ },
122
+ planning: {
123
+ always: [
124
+ {
125
+ guard: "isValley",
126
+ target: "failed",
127
+ actions: [
128
+ (0, xstate_1.assign)({
129
+ error: () => "Task probability too low. Ask for clarification.",
130
+ }),
131
+ ],
132
+ },
133
+ {
134
+ guard: "isValidTask",
135
+ target: "orchestrating",
136
+ },
137
+ {
138
+ target: "failed",
139
+ actions: [(0, xstate_1.assign)({ error: () => "Task validation failed" })],
140
+ },
141
+ ],
142
+ },
143
+ orchestrating: {
144
+ on: {
145
+ EXECUTE: {
146
+ target: "executing",
147
+ actions: ["setAgents"],
148
+ },
149
+ },
150
+ },
151
+ executing: {
152
+ invoke: {
153
+ src: "executeAgents",
154
+ input: ({ context }) => ({ agents: context.agents }),
155
+ onDone: {
156
+ target: "reviewing",
157
+ },
158
+ onError: {
159
+ target: "failed",
160
+ actions: ["setError"],
161
+ },
162
+ },
163
+ },
164
+ reviewing: {
165
+ on: {
166
+ COMPLETE: {
167
+ target: "completed",
168
+ },
169
+ FAIL: {
170
+ target: "failed",
171
+ actions: ["setError"],
172
+ },
173
+ },
174
+ },
175
+ completed: {
176
+ type: "final",
177
+ },
178
+ failed: {
179
+ on: {
180
+ RETRY: [
181
+ {
182
+ guard: "canRetry",
183
+ target: "validating",
184
+ actions: ["incrementRetry"],
185
+ },
186
+ {
187
+ target: "failed",
188
+ actions: [
189
+ (0, xstate_1.assign)({
190
+ error: () => "Maximum retries exceeded",
191
+ }),
192
+ ],
193
+ },
194
+ ],
195
+ RESET: {
196
+ target: "idle",
197
+ actions: ["reset"],
198
+ },
199
+ },
200
+ },
201
+ },
202
+ });
203
+ // ============================================================================
204
+ // Orca Orchestrator Class
205
+ // ============================================================================
206
+ class Orca {
207
+ constructor() {
208
+ // State machine ready
209
+ }
210
+ async orchestrate(_task, _agents) {
211
+ // This would create actor from state machine and execute
212
+ }
213
+ }
214
+ exports.Orca = Orca;
215
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/orca/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,mCAAoD;AA4CpD,+EAA+E;AAC/E,+CAA+C;AAC/C,+EAA+E;AAE/E,MAAM,YAAY,GAAG,IAAA,oBAAW,EAAC,KAAK,EAAE,MAAiC,EAAE,EAAE;IAC3E,iCAAiC;IACjC,gCAAgC;IAChC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,MAAe;QACzB,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAE/E,MAAM,aAAa,GAAG,IAAA,oBAAW,EAC/B,KAAK,EAAE,EAAE,KAAK,EAAkC,EAAE,EAAE;IAClD,uCAAuC;IACvC,+BAA+B;IAC/B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,EAAE,CAAC,CAAC,EAAE;YACb,MAAM,EAAE,gBAAgB;YACxB,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAElE,QAAA,WAAW,GAAG,IAAA,cAAK,EAAC;IAC/B,KAAK,EAAE;QACL,OAAO,EAAE,EAAiB;QAC1B,MAAM,EAAE,EAAe;KACxB;IACD,MAAM,EAAE;QACN,YAAY;QACZ,aAAa;KACd;IACD,MAAM,EAAE;QACN,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,KAAK;QAChE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC;QAC9C,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,KAAK,MAAM;QAChE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,KAAK,OAAO;QAClE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,KAAK,QAAQ;KACrE;IACD,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,eAAM,EAAC;YACd,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3D,CAAC;QACF,aAAa,EAAE,IAAA,eAAM,EAAC;YACpB,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAE,KAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;SACtF,CAAC;QACF,SAAS,EAAE,IAAA,eAAM,EAAC;YAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QACF,QAAQ,EAAE,IAAA,eAAM,EAAC;YACf,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;SAC9D,CAAC;QACF,cAAc,EAAE,IAAA,eAAM,EAAC;YACrB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC;SAC9C,CAAC;QACF,KAAK,EAAE,IAAA,eAAM,EAAC;YACZ,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI;SAChB,CAAC;KACH;CACF,CAAC,CAAC,aAAa,CAAC;IACf,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,OAAO,EAAE;QACP,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,IAAI;KAChB;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,EAAE,EAAE;gBACF,QAAQ,EAAE;oBACR,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,CAAC,SAAS,CAAC;iBACrB;aACF;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAK,EAAE,CAAC;gBACjD,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,CAAC,eAAe,CAAC;iBAC3B;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,CAAC,UAAU,CAAC;iBACtB;aACF;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN;oBACE,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE;wBACP,IAAA,eAAM,EAAC;4BACL,KAAK,EAAE,GAAG,EAAE,CAAC,kDAAkD;yBAChE,CAAC;qBACH;iBACF;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE,eAAe;iBACxB;gBACD;oBACE,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,CAAC,IAAA,eAAM,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;iBAC7D;aACF;SACF;QACD,aAAa,EAAE;YACb,EAAE,EAAE;gBACF,OAAO,EAAE;oBACP,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,CAAC,WAAW,CAAC;iBACvB;aACF;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,GAAG,EAAE,eAAe;gBACpB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpD,MAAM,EAAE;oBACN,MAAM,EAAE,WAAW;iBACpB;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,CAAC,UAAU,CAAC;iBACtB;aACF;SACF;QACD,SAAS,EAAE;YACT,EAAE,EAAE;gBACF,QAAQ,EAAE;oBACR,MAAM,EAAE,WAAW;iBACpB;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,CAAC,UAAU,CAAC;iBACtB;aACF;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;SACd;QACD,MAAM,EAAE;YACN,EAAE,EAAE;gBACF,KAAK,EAAE;oBACL;wBACE,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,YAAY;wBACpB,OAAO,EAAE,CAAC,gBAAgB,CAAC;qBAC5B;oBACD;wBACE,MAAM,EAAE,QAAQ;wBAChB,OAAO,EAAE;4BACP,IAAA,eAAM,EAAC;gCACL,KAAK,EAAE,GAAG,EAAE,CAAC,0BAA0B;6BACxC,CAAC;yBACH;qBACF;iBACF;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC,OAAO,CAAC;iBACnB;aACF;SACF;KACF;CACF,CAAC,CAAC;AAEH,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAa,IAAI;IACf;QACE,sBAAsB;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAW,EAAE,OAAgB;QAC7C,yDAAyD;IAC3D,CAAC;CACF;AARD,oBAQC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * DOCUMENT: AGENT POOL
3
+ * PROJECT: VIBER Universal v2
4
+ * PURPOSE: Agent lifecycle management with concurrency limits
5
+ * UPDATE PATTERN: Update when agent management changes
6
+ * LOCATION: packages/orchestrator/src/pool/index.ts
7
+ * RELATED: orca, opencode integration
8
+ * LAST UPDATED: 2026-03-06
9
+ */
10
+ import type { OpenCodeClient } from "@viberlabs/opencode";
11
+ import type { Agent, Task } from "@viberlabs/viber-core/db";
12
+ export interface PoolConfig {
13
+ maxConcurrent: number;
14
+ client: OpenCodeClient;
15
+ }
16
+ export declare class AgentPool {
17
+ private maxConcurrent;
18
+ private client;
19
+ private active;
20
+ private queue;
21
+ private completed;
22
+ constructor(config: PoolConfig);
23
+ /**
24
+ * Spawn an agent to work on a task
25
+ */
26
+ spawn(task: Task, role: Agent["role"], dependsOn?: string[], model?: string): Promise<string>;
27
+ /**
28
+ * Get status of all agents
29
+ */
30
+ getStatus(): {
31
+ active: number;
32
+ queued: number;
33
+ completed: number;
34
+ maxConcurrent: number;
35
+ };
36
+ /**
37
+ * Complete an agent
38
+ */
39
+ complete(agentId: string, result: unknown): Promise<void>;
40
+ /**
41
+ * Mark an agent as failed
42
+ */
43
+ fail(agentId: string, _error: string): Promise<void>;
44
+ /**
45
+ * Wait for all active agents to complete
46
+ */
47
+ drain(): Promise<Agent[]>;
48
+ private spawnAgent;
49
+ private processQueue;
50
+ }
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pool/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB;AAyBD,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAe;gBAEpB,MAAM,EAAE,UAAU;IAK9B;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BvG;;OAEG;IACH,SAAS,IAAI;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB;IASD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAejB,UAAU;IA+BxB,OAAO,CAAC,YAAY;CAYrB"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /**
3
+ * DOCUMENT: AGENT POOL
4
+ * PROJECT: VIBER Universal v2
5
+ * PURPOSE: Agent lifecycle management with concurrency limits
6
+ * UPDATE PATTERN: Update when agent management changes
7
+ * LOCATION: packages/orchestrator/src/pool/index.ts
8
+ * RELATED: orca, opencode integration
9
+ * LAST UPDATED: 2026-03-06
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AgentPool = void 0;
13
+ // ============================================================================
14
+ // Agent Pool
15
+ // ============================================================================
16
+ class AgentPool {
17
+ maxConcurrent;
18
+ client;
19
+ active = new Map();
20
+ queue = [];
21
+ completed = [];
22
+ constructor(config) {
23
+ this.maxConcurrent = config.maxConcurrent;
24
+ this.client = config.client;
25
+ }
26
+ /**
27
+ * Spawn an agent to work on a task
28
+ */
29
+ async spawn(task, role, dependsOn = [], model) {
30
+ return new Promise((resolve, reject) => {
31
+ const agent = {
32
+ id: `agent-${task.id}-${Date.now()}`,
33
+ taskId: task.id,
34
+ role,
35
+ status: "spawned",
36
+ startedAt: new Date().toISOString(),
37
+ inputTokens: 0,
38
+ outputTokens: 0,
39
+ costUsd: 0,
40
+ durationMs: null,
41
+ result: null,
42
+ opencodeSessionId: null,
43
+ model: model || null,
44
+ completedAt: null,
45
+ dependsOn: dependsOn.length > 0 ? dependsOn.join(",") : null,
46
+ };
47
+ // Check if we can spawn immediately
48
+ if (this.active.size < this.maxConcurrent) {
49
+ void this.spawnAgent(agent).then(resolve).catch(reject);
50
+ }
51
+ else {
52
+ // Queue for later
53
+ this.queue.push({ agent, resolve, reject });
54
+ }
55
+ });
56
+ }
57
+ /**
58
+ * Get status of all agents
59
+ */
60
+ getStatus() {
61
+ return {
62
+ active: this.active.size,
63
+ queued: this.queue.length,
64
+ completed: this.completed.length,
65
+ maxConcurrent: this.maxConcurrent,
66
+ };
67
+ }
68
+ /**
69
+ * Complete an agent
70
+ */
71
+ async complete(agentId, result) {
72
+ const wrapper = this.active.get(agentId);
73
+ if (!wrapper) {
74
+ throw new Error(`Agent ${agentId} not found in active pool`);
75
+ }
76
+ wrapper.status = "completed";
77
+ wrapper.endTime = Date.now();
78
+ wrapper.result = result;
79
+ this.completed.push(wrapper.agent);
80
+ this.active.delete(agentId);
81
+ // Process queue
82
+ this.processQueue();
83
+ }
84
+ /**
85
+ * Mark an agent as failed
86
+ */
87
+ async fail(agentId, _error) {
88
+ const wrapper = this.active.get(agentId);
89
+ if (!wrapper) {
90
+ throw new Error(`Agent ${agentId} not found in active pool`);
91
+ }
92
+ wrapper.status = "failed";
93
+ wrapper.endTime = Date.now();
94
+ this.active.delete(agentId);
95
+ // Process queue
96
+ this.processQueue();
97
+ }
98
+ /**
99
+ * Wait for all active agents to complete
100
+ */
101
+ async drain() {
102
+ return new Promise((resolve) => {
103
+ const checkInterval = setInterval(() => {
104
+ if (this.active.size === 0 && this.queue.length === 0) {
105
+ clearInterval(checkInterval);
106
+ resolve([...this.completed]);
107
+ }
108
+ }, 100);
109
+ });
110
+ }
111
+ // ============================================================================
112
+ // Private Methods
113
+ // ============================================================================
114
+ async spawnAgent(agent) {
115
+ const wrapper = {
116
+ agent,
117
+ sessionId: null,
118
+ status: "spawning",
119
+ startTime: Date.now(),
120
+ endTime: null,
121
+ };
122
+ this.active.set(agent.id, wrapper);
123
+ try {
124
+ // Create OpenCode session
125
+ const sessionId = await this.client.createSession(`VIBER: ${agent.role} - ${agent.taskId}`);
126
+ wrapper.sessionId = sessionId;
127
+ wrapper.status = "working";
128
+ // Mark agent as working
129
+ // This would update database via ViberDatabase
130
+ return agent.id;
131
+ }
132
+ catch (err) {
133
+ wrapper.status = "failed";
134
+ this.active.delete(agent.id);
135
+ throw err;
136
+ }
137
+ }
138
+ processQueue() {
139
+ while (this.queue.length > 0 && this.active.size < this.maxConcurrent) {
140
+ const item = this.queue.shift();
141
+ void this.spawnAgent(item.agent)
142
+ .then((id) => {
143
+ item.resolve(id);
144
+ })
145
+ .catch((err) => {
146
+ item.reject(err);
147
+ });
148
+ }
149
+ }
150
+ }
151
+ exports.AgentPool = AgentPool;
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pool/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * DOCUMENT: WORKFLOW PATTERNS
3
+ * PROJECT: VIBER Universal v2
4
+ * PURPOSE: Multi-agent workflow orchestration
5
+ * UPDATE PATTERN: Update when workflow patterns change
6
+ * LOCATION: packages/orchestrator/src/workflow/index.ts
7
+ * RELATED: orca, pool
8
+ * LAST UPDATED: 2026-03-06
9
+ */
10
+ import type { Task, Agent } from "@viberlabs/viber-core/db";
11
+ import type { AgentPool } from "../pool";
12
+ export interface WorkflowStep {
13
+ agent: Agent;
14
+ dependsOn: string[];
15
+ }
16
+ export interface WorkflowResult {
17
+ workflowId: string;
18
+ success: boolean;
19
+ steps: WorkflowStepResult[];
20
+ totalDuration: number;
21
+ totalCost: number;
22
+ }
23
+ export interface WorkflowStepResult {
24
+ agentId: string;
25
+ success: boolean;
26
+ duration: number;
27
+ cost: number;
28
+ artifacts: string[];
29
+ summary: string;
30
+ }
31
+ export declare class WorkflowExecutor {
32
+ private pool;
33
+ constructor(pool: AgentPool);
34
+ /**
35
+ * Execute sequential workflow:
36
+ * Agent A → Agent B → Agent C
37
+ */
38
+ sequential(task: Task, roles: Agent["role"][]): Promise<WorkflowResult>;
39
+ /**
40
+ * Execute parallel workflow:
41
+ * Agents A, B, C all run simultaneously
42
+ */
43
+ parallel(task: Task, roles: Agent["role"][]): Promise<WorkflowResult>;
44
+ /**
45
+ * Execute pipeline workflow:
46
+ * Output of A feeds input of B
47
+ */
48
+ pipeline(task: Task, roles: Agent["role"][]): Promise<WorkflowResult>;
49
+ /**
50
+ * Execute implement-review workflow:
51
+ * Coder implements → Reviewer reviews
52
+ */
53
+ implementReview(task: Task, _model?: string): Promise<WorkflowResult>;
54
+ /**
55
+ * Execute plan-implement-test workflow:
56
+ * Planner plans → Coder implements → Tester tests
57
+ */
58
+ planImplementTest(task: Task, _model?: string): Promise<WorkflowResult>;
59
+ /**
60
+ * Execute dual-review workflow:
61
+ * Coder implements → Two reviewers review in parallel
62
+ */
63
+ dualReview(task: Task, _model?: string): Promise<WorkflowResult>;
64
+ }
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMzC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAY;gBAEZ,IAAI,EAAE,SAAS;IAI3B;;;OAGG;IACG,UAAU,CACd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GACrB,OAAO,CAAC,cAAc,CAAC;IAmC1B;;;OAGG;IACG,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GACrB,OAAO,CAAC,cAAc,CAAC;IA2B1B;;;OAGG;IACG,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GACrB,OAAO,CAAC,cAAc,CAAC;IA4C1B;;;OAGG;IACG,eAAe,CACnB,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,MAAgC,GACvC,OAAO,CAAC,cAAc,CAAC;IAI1B;;;OAGG;IACG,iBAAiB,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,MAAgC,GACvC,OAAO,CAAC,cAAc,CAAC;IAI1B;;;OAGG;IACG,UAAU,CACd,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,MAAgC,GACvC,OAAO,CAAC,cAAc,CAAC;CA2B3B"}