@kenkaiiii/gg-boss 4.3.99 → 4.3.101

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 (44) hide show
  1. package/dist/banner.d.ts +7 -1
  2. package/dist/banner.d.ts.map +1 -1
  3. package/dist/banner.js +2 -2
  4. package/dist/banner.js.map +1 -1
  5. package/dist/boss-store.d.ts +24 -1
  6. package/dist/boss-store.d.ts.map +1 -1
  7. package/dist/boss-store.js +33 -4
  8. package/dist/boss-store.js.map +1 -1
  9. package/dist/boss-system-prompt.d.ts.map +1 -1
  10. package/dist/boss-system-prompt.js +110 -45
  11. package/dist/boss-system-prompt.js.map +1 -1
  12. package/dist/boss-tasks-overlay.d.ts +22 -0
  13. package/dist/boss-tasks-overlay.d.ts.map +1 -0
  14. package/dist/boss-tasks-overlay.js +149 -0
  15. package/dist/boss-tasks-overlay.js.map +1 -0
  16. package/dist/cli.js +9 -8
  17. package/dist/cli.js.map +1 -1
  18. package/dist/orchestrator-app.d.ts.map +1 -1
  19. package/dist/orchestrator-app.js +121 -27
  20. package/dist/orchestrator-app.js.map +1 -1
  21. package/dist/orchestrator.d.ts +25 -0
  22. package/dist/orchestrator.d.ts.map +1 -1
  23. package/dist/orchestrator.js +87 -13
  24. package/dist/orchestrator.js.map +1 -1
  25. package/dist/settings.d.ts +10 -0
  26. package/dist/settings.d.ts.map +1 -0
  27. package/dist/settings.js +38 -0
  28. package/dist/settings.js.map +1 -0
  29. package/dist/slash-commands.d.ts.map +1 -1
  30. package/dist/slash-commands.js +1 -0
  31. package/dist/slash-commands.js.map +1 -1
  32. package/dist/task-tools.d.ts +18 -0
  33. package/dist/task-tools.d.ts.map +1 -0
  34. package/dist/task-tools.js +154 -0
  35. package/dist/task-tools.js.map +1 -0
  36. package/dist/tasks-store.d.ts +52 -0
  37. package/dist/tasks-store.d.ts.map +1 -0
  38. package/dist/tasks-store.js +153 -0
  39. package/dist/tasks-store.js.map +1 -0
  40. package/dist/tools.d.ts +16 -0
  41. package/dist/tools.d.ts.map +1 -1
  42. package/dist/tools.js +4 -1
  43. package/dist/tools.js.map +1 -1
  44. package/package.json +3 -3
@@ -35,6 +35,9 @@ export declare class GGBoss {
35
35
  private sessionPath;
36
36
  /** Last index in the boss's messages array we've persisted to disk. */
37
37
  private lastPersistedIndex;
38
+ /** project → task id currently dispatched to that worker. Used to mark
39
+ * the right task done/blocked when the worker_turn_complete event arrives. */
40
+ private inFlightTaskByProject;
38
41
  constructor(opts: GGBossOptions);
39
42
  initialize(): Promise<void>;
40
43
  enqueueUserMessage(text: string): void;
@@ -44,6 +47,28 @@ export declare class GGBoss {
44
47
  * fresh AbortController.
45
48
  */
46
49
  abort(): void;
50
+ /** Boss tool set = orchestration tools + task management tools. */
51
+ private buildToolSet;
52
+ /**
53
+ * Dispatch a single task to a specific worker, marking it in_progress and
54
+ * (eventually) done when the worker_turn_complete event arrives. Used by:
55
+ * - the dispatch_pending tool (called by the boss agent)
56
+ * - the Tasks overlay (when user presses Enter on a task)
57
+ *
58
+ * Returns immediately — fire-and-forget like prompt_worker.
59
+ */
60
+ dispatchTaskById(taskId: string): Promise<{
61
+ ok: true;
62
+ } | {
63
+ ok: false;
64
+ reason: string;
65
+ }>;
66
+ /**
67
+ * Dispatch a task description to a worker. Used by both the task tool and
68
+ * the overlay (via dispatchTaskById). Tracks the in-flight task id per
69
+ * project so worker_turn_complete can resolve it back to the right task.
70
+ */
71
+ private dispatchTaskByDescription;
47
72
  /**
48
73
  * Swap the boss's LLM model. Preserves message history so the conversation
49
74
  * continues seamlessly under the new model.
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAW,QAAQ,EAAE,aAAa,EAAS,MAAM,kBAAkB,CAAC;AAahF,OAAO,KAAK,EAAa,WAAW,EAAqB,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,QAAQ,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,QAAQ,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,EAAE,CAAyB;IACnC,+FAA+F;IAC/F,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAqB;IACxC,2EAA2E;IAC3E,OAAO,CAAC,WAAW,CAAM;IACzB,uEAAuE;IACvE,OAAO,CAAC,kBAAkB,CAAK;gBAEnB,IAAI,EAAE,aAAa;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuFjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUtC;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BvE,0EAA0E;IACpE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,6DAA6D;YAC/C,aAAa;IAkC3B;;;OAGG;YACW,kBAAkB;IAahC,gFAAgF;YAClE,mBAAmB;IAqBjC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,8EAA8E;IACxE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAgGpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAW,QAAQ,EAAE,aAAa,EAAS,MAAM,kBAAkB,CAAC;AAgBhF,OAAO,KAAK,EAAa,WAAW,EAAqB,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,QAAQ,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,QAAQ,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,EAAE,CAAyB;IACnC,+FAA+F;IAC/F,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAqB;IACxC,2EAA2E;IAC3E,OAAO,CAAC,WAAW,CAAM;IACzB,uEAAuE;IACvE,OAAO,CAAC,kBAAkB,CAAK;IAC/B;mFAC+E;IAC/E,OAAO,CAAC,qBAAqB,CAA6B;gBAE9C,IAAI,EAAE,aAAa;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqFjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAUtC;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAIb,mEAAmE;IACnE,OAAO,CAAC,YAAY;IAapB;;;;;;;OAOG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAe7F;;;;OAIG;YACW,yBAAyB;IAevC;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvE,0EAA0E;IACpE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzE;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,6DAA6D;YAC/C,aAAa;IAkC3B;;;OAGG;YACW,kBAAkB;IAahC,gFAAgF;YAClE,mBAAmB;IAkBjC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,8EAA8E;IACxE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAyHpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B"}
@@ -2,7 +2,10 @@ import { Agent, isAbortError } from "@kenkaiiii/gg-agent";
2
2
  import { AuthStorage, compact, estimateConversationTokens, getContextWindow, shouldCompact, } from "@kenkaiiii/ggcoder";
3
3
  import { Worker } from "./worker.js";
4
4
  import { EventQueue } from "./event-queue.js";
5
- import { createBossTools } from "./tools.js";
5
+ import { createBossTools, WORKER_PROMPT_BRIEF } from "./tools.js";
6
+ import { createTaskTools } from "./task-tools.js";
7
+ import { tasksStore } from "./tasks-store.js";
8
+ import { saveSettings } from "./settings.js";
6
9
  import { buildBossSystemPrompt } from "./boss-system-prompt.js";
7
10
  import { bossStore } from "./boss-store.js";
8
11
  import { appendMessages, createSession, getMostRecent, getSessionById, loadSession, } from "./sessions.js";
@@ -29,11 +32,15 @@ export class GGBoss {
29
32
  sessionPath = "";
30
33
  /** Last index in the boss's messages array we've persisted to disk. */
31
34
  lastPersistedIndex = 0;
35
+ /** project → task id currently dispatched to that worker. Used to mark
36
+ * the right task done/blocked when the worker_turn_complete event arrives. */
37
+ inFlightTaskByProject = new Map();
32
38
  constructor(opts) {
33
39
  this.opts = opts;
34
40
  }
35
41
  async initialize() {
36
42
  await this.authStorage.load();
43
+ await tasksStore.load();
37
44
  const loggedInProviders = (await this.authStorage.listProviders());
38
45
  bossStore.init({
39
46
  bossProvider: this.opts.bossProvider,
@@ -57,10 +64,7 @@ export class GGBoss {
57
64
  this.workers.set(p.name, worker);
58
65
  }));
59
66
  const creds = await this.authStorage.resolveCredentials(this.opts.bossProvider);
60
- const tools = createBossTools({
61
- workers: this.workers,
62
- lastSummaries: this.lastSummaries,
63
- });
67
+ const tools = this.buildToolSet();
64
68
  // Either resume a prior session (load messages from jsonl), or create a
65
69
  // new one. Either way we end up with `sessionPath` to persist into.
66
70
  let priorMessages;
@@ -128,15 +132,61 @@ export class GGBoss {
128
132
  abort() {
129
133
  this.turnAc?.abort();
130
134
  }
135
+ /** Boss tool set = orchestration tools + task management tools. */
136
+ buildToolSet() {
137
+ const bossTools = createBossTools({
138
+ workers: this.workers,
139
+ lastSummaries: this.lastSummaries,
140
+ });
141
+ const taskTools = createTaskTools({
142
+ workers: this.workers,
143
+ dispatchTaskByDescription: (project, description, fresh, taskId) => this.dispatchTaskByDescription(project, description, fresh, taskId),
144
+ });
145
+ return [...bossTools, ...taskTools];
146
+ }
147
+ /**
148
+ * Dispatch a single task to a specific worker, marking it in_progress and
149
+ * (eventually) done when the worker_turn_complete event arrives. Used by:
150
+ * - the dispatch_pending tool (called by the boss agent)
151
+ * - the Tasks overlay (when user presses Enter on a task)
152
+ *
153
+ * Returns immediately — fire-and-forget like prompt_worker.
154
+ */
155
+ async dispatchTaskById(taskId) {
156
+ const task = tasksStore.byId(taskId);
157
+ if (!task)
158
+ return { ok: false, reason: "unknown task id" };
159
+ const w = this.workers.get(task.project);
160
+ if (!w)
161
+ return { ok: false, reason: `unknown project: ${task.project}` };
162
+ if (w.getStatus() === "working")
163
+ return { ok: false, reason: "worker is busy" };
164
+ await tasksStore.update(task.id, { status: "in_progress" });
165
+ return this.dispatchTaskByDescription(task.project, task.description, task.fresh === true, task.id);
166
+ }
167
+ /**
168
+ * Dispatch a task description to a worker. Used by both the task tool and
169
+ * the overlay (via dispatchTaskById). Tracks the in-flight task id per
170
+ * project so worker_turn_complete can resolve it back to the right task.
171
+ */
172
+ async dispatchTaskByDescription(project, description, fresh, taskId) {
173
+ const w = this.workers.get(project);
174
+ if (!w)
175
+ return { ok: false, reason: `unknown project: ${project}` };
176
+ if (w.getStatus() === "working")
177
+ return { ok: false, reason: "worker is busy" };
178
+ if (fresh)
179
+ await w.newSession();
180
+ this.inFlightTaskByProject.set(project, taskId);
181
+ await w.prompt(WORKER_PROMPT_BRIEF + description);
182
+ return { ok: true };
183
+ }
131
184
  /**
132
185
  * Swap the boss's LLM model. Preserves message history so the conversation
133
186
  * continues seamlessly under the new model.
134
187
  */
135
188
  async switchBossModel(provider, model) {
136
- const tools = createBossTools({
137
- workers: this.workers,
138
- lastSummaries: this.lastSummaries,
139
- });
189
+ const tools = this.buildToolSet();
140
190
  const creds = await this.authStorage.resolveCredentials(provider);
141
191
  // Capture history minus the system message — Agent re-adds system from options.
142
192
  const oldMessages = this.bossAgent.getMessages().filter((m) => m.role !== "system");
@@ -154,6 +204,7 @@ export class GGBoss {
154
204
  priorMessages: oldMessages,
155
205
  });
156
206
  bossStore.setBossModel(provider, model);
207
+ await saveSettings({ bossProvider: provider, bossModel: model });
157
208
  }
158
209
  /** Swap every worker's model. Workers keep their per-project sessions. */
159
210
  async switchWorkerModel(provider, model) {
@@ -161,6 +212,7 @@ export class GGBoss {
161
212
  this.opts.workerProvider = provider;
162
213
  this.opts.workerModel = model;
163
214
  bossStore.setWorkerModel(provider, model);
215
+ await saveSettings({ workerProvider: provider, workerModel: model });
164
216
  }
165
217
  /**
166
218
  * Run a manual compaction now (driven by /compact). Will compact even if the
@@ -225,10 +277,7 @@ export class GGBoss {
225
277
  }
226
278
  /** Recreate bossAgent with a new message history (used by compact + /clear). */
227
279
  async replaceBossMessages(newMessages) {
228
- const tools = createBossTools({
229
- workers: this.workers,
230
- lastSummaries: this.lastSummaries,
231
- });
280
+ const tools = this.buildToolSet();
232
281
  const creds = await this.authStorage.resolveCredentials(this.opts.bossProvider);
233
282
  // Strip system — Agent re-adds it from `system`.
234
283
  const priorMessages = newMessages.filter((m) => m.role !== "system");
@@ -275,6 +324,31 @@ export class GGBoss {
275
324
  }
276
325
  if (event.kind === "worker_turn_complete") {
277
326
  this.lastSummaries.set(event.summary.project, event.summary);
327
+ // Resolve any in-flight task for this project to its final status.
328
+ // Boss can still override via update_task — this just gives it a sane
329
+ // default so the user's overlay-driven dispatches close out cleanly.
330
+ const taskId = this.inFlightTaskByProject.get(event.summary.project);
331
+ if (taskId) {
332
+ this.inFlightTaskByProject.delete(event.summary.project);
333
+ const task = tasksStore.byId(taskId);
334
+ if (task && task.status === "in_progress") {
335
+ const failed = event.summary.toolsUsed.some((t) => !t.ok);
336
+ await tasksStore.update(taskId, {
337
+ status: failed ? "blocked" : "done",
338
+ resultSummary: event.summary.finalText,
339
+ });
340
+ }
341
+ }
342
+ }
343
+ if (event.kind === "worker_error") {
344
+ const taskId = this.inFlightTaskByProject.get(event.project);
345
+ if (taskId) {
346
+ this.inFlightTaskByProject.delete(event.project);
347
+ await tasksStore.update(taskId, {
348
+ status: "blocked",
349
+ notes: `Worker error: ${event.message}`,
350
+ });
351
+ }
278
352
  }
279
353
  // Auto-compact when over 80% of context — mirrors AgentSession.runLoop.
280
354
  // Workers handle their own compaction independently (via AgentSession).
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Provider } from "@kenkaiiii/gg-ai";
2
+ export interface BossSettings {
3
+ bossProvider?: Provider;
4
+ bossModel?: string;
5
+ workerProvider?: Provider;
6
+ workerModel?: string;
7
+ }
8
+ export declare function loadSettings(): Promise<BossSettings>;
9
+ export declare function saveSettings(patch: BossSettings): Promise<void>;
10
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAQ1D;AASD,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrE"}
@@ -0,0 +1,38 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { getAppPaths } from "@kenkaiiii/ggcoder";
4
+ function settingsPath() {
5
+ return path.join(getAppPaths().agentDir, "boss", "settings.json");
6
+ }
7
+ async function ensureDir() {
8
+ await fs.mkdir(path.dirname(settingsPath()), { recursive: true, mode: 0o700 });
9
+ }
10
+ export async function loadSettings() {
11
+ try {
12
+ const content = await fs.readFile(settingsPath(), "utf-8");
13
+ const parsed = JSON.parse(content);
14
+ return parsed && typeof parsed === "object" ? parsed : {};
15
+ }
16
+ catch {
17
+ return {};
18
+ }
19
+ }
20
+ /**
21
+ * Atomic write — write to .tmp then rename. Mirrors tasks-store's pattern;
22
+ * model swaps from /model and /worker-model can fire close together when the
23
+ * user is reconfiguring quickly.
24
+ */
25
+ let writeChain = Promise.resolve();
26
+ export async function saveSettings(patch) {
27
+ const next = writeChain.then(async () => {
28
+ const current = await loadSettings();
29
+ const merged = { ...current, ...patch };
30
+ await ensureDir();
31
+ const tmp = `${settingsPath()}.${process.pid}.tmp`;
32
+ await fs.writeFile(tmp, JSON.stringify(merged, null, 2) + "\n", "utf-8");
33
+ await fs.rename(tmp, settingsPath());
34
+ });
35
+ writeChain = next.catch(() => undefined);
36
+ await next;
37
+ }
38
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;QACnD,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,IAAI,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAmB;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;QACrC,MAAM,MAAM,GAAiB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QACtD,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,GAAG,YAAY,EAAE,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EASjD,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAOnE;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAYtC"}
1
+ {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAUjD,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAOnE;AAED,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAYtC"}
@@ -10,6 +10,7 @@ export const BOSS_SLASH_COMMANDS = [
10
10
  { name: "model-boss", aliases: [], description: "Switch the orchestrator's model" },
11
11
  { name: "model-workers", aliases: [], description: "Switch every worker's model" },
12
12
  { name: "compact", aliases: [], description: "Compact the boss's context now" },
13
+ { name: "tasks", aliases: ["t"], description: "Open the Tasks overlay (Ctrl+T)" },
13
14
  { name: "new", aliases: ["n"], description: "Start a fresh boss session" },
14
15
  { name: "clear", aliases: [], description: "Clear chat history (workers untouched)" },
15
16
  { name: "workers", aliases: ["w"], description: "List linked workers and their status" },
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACrD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE;IACxE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE;IACnF,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE;IAClF,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;IACjF,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC1E,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE;IACrF,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE;IACxF,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE;CACtE,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QACvC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,KAAK,GAAa,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,OAAO,GACX,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,OAAO,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { AgentTool } from "@kenkaiiii/gg-agent";
2
+ import type { Worker } from "./worker.js";
3
+ export interface TaskToolDeps {
4
+ workers: Map<string, Worker>;
5
+ /**
6
+ * Hook the orchestrator provides so dispatch_pending can fire-and-forget
7
+ * a worker prompt and update task state on completion. Mirrors the
8
+ * fire-and-forget contract of plain prompt_worker.
9
+ */
10
+ dispatchTaskByDescription: (project: string, description: string, fresh: boolean, taskId: string) => Promise<{
11
+ ok: true;
12
+ } | {
13
+ ok: false;
14
+ reason: string;
15
+ }>;
16
+ }
17
+ export declare function createTaskTools(deps: TaskToolDeps): AgentTool[];
18
+ //# sourceMappingURL=task-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-tools.d.ts","sourceRoot":"","sources":["../src/task-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,yBAAyB,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,KACX,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAiDD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,CA0H/D"}
@@ -0,0 +1,154 @@
1
+ import { z } from "zod";
2
+ import { tasksStore } from "./tasks-store.js";
3
+ import { bossStore } from "./boss-store.js";
4
+ /**
5
+ * Once-per-process flag so we surface the Ctrl+T / r hint a single time per
6
+ * ggboss session. Repeating it on every add_task would bury the chat in
7
+ * advice the user already absorbed.
8
+ */
9
+ let tasksHintShown = false;
10
+ const addTaskParams = z.object({
11
+ project: z.string().describe("Project name (must match a linked worker)."),
12
+ title: z.string().describe("Short one-line summary shown in the task overlay."),
13
+ description: z
14
+ .string()
15
+ .describe("Full instruction sent to the worker when this task is dispatched. Should be specific and actionable."),
16
+ fresh: z
17
+ .boolean()
18
+ .optional()
19
+ .describe("If true, the worker's session is wiped before this task runs. Use for unrelated direction changes."),
20
+ });
21
+ const listTasksParams = z.object({
22
+ project: z.string().optional().describe("Filter to one project."),
23
+ status: z
24
+ .enum(["pending", "in_progress", "done", "blocked", "skipped"])
25
+ .optional()
26
+ .describe("Filter by status."),
27
+ });
28
+ const updateTaskParams = z.object({
29
+ id: z.string().describe("Task id from list_tasks."),
30
+ status: z
31
+ .enum(["pending", "in_progress", "done", "blocked", "skipped"])
32
+ .optional()
33
+ .describe("New status."),
34
+ notes: z.string().optional().describe("Boss commentary / blocker reason / outcome notes."),
35
+ });
36
+ const dispatchPendingParams = z.object({
37
+ project: z
38
+ .string()
39
+ .optional()
40
+ .describe("Limit dispatch to one project. Omit to dispatch the next pending task for EVERY idle worker (parallel fan-out)."),
41
+ });
42
+ function formatTask(t) {
43
+ const head = `[${t.id}] ${t.project} · ${t.status} · ${t.title}`;
44
+ return t.notes ? `${head} (${t.notes})` : head;
45
+ }
46
+ export function createTaskTools(deps) {
47
+ const { workers, dispatchTaskByDescription } = deps;
48
+ const addTask = {
49
+ name: "add_task",
50
+ description: "Add a task to the boss's plan for a specific project. Tasks are persisted across sessions and visible in the Tasks overlay (Ctrl+T).",
51
+ parameters: addTaskParams,
52
+ async execute(args) {
53
+ if (!workers.has(args.project))
54
+ return `Unknown project: ${args.project}`;
55
+ const t = await tasksStore.add({
56
+ project: args.project,
57
+ title: args.title,
58
+ description: args.description,
59
+ fresh: args.fresh,
60
+ });
61
+ // First add_task per session — surface the keybind hint so the user
62
+ // knows where to find what was just added and how to fire it off.
63
+ // Subsequent add_tasks stay silent.
64
+ if (!tasksHintShown) {
65
+ tasksHintShown = true;
66
+ bossStore.appendInfo("Press Ctrl+T to open the Tasks pane, then `r` to run all pending tasks.", "info");
67
+ }
68
+ return `Added [${t.id}] ${t.project} · ${t.title}`;
69
+ },
70
+ };
71
+ const listTasks = {
72
+ name: "list_tasks",
73
+ description: "List tasks in the boss's plan, optionally filtered by project and/or status. Returns task ids so you can update or dispatch them.",
74
+ parameters: listTasksParams,
75
+ execute(args) {
76
+ const xs = tasksStore.list({
77
+ project: args.project,
78
+ status: args.status,
79
+ });
80
+ if (xs.length === 0)
81
+ return "(no tasks)";
82
+ return xs.map(formatTask).join("\n");
83
+ },
84
+ };
85
+ const updateTask = {
86
+ name: "update_task",
87
+ description: "Update a task's status and/or notes. Use this after a worker_turn_complete to mark the task DONE / BLOCKED / SKIPPED. The notes field is for boss commentary or blocker reasons.",
88
+ parameters: updateTaskParams,
89
+ async execute(args) {
90
+ const updated = await tasksStore.update(args.id, {
91
+ status: args.status,
92
+ notes: args.notes,
93
+ });
94
+ if (!updated)
95
+ return `Unknown task id: ${args.id}`;
96
+ return `Updated ${formatTask(updated)}`;
97
+ },
98
+ };
99
+ const dispatchPending = {
100
+ name: "dispatch_pending",
101
+ description: "Send the next pending task for one project (or for every idle worker if no project is given) via prompt_worker. Marks each dispatched task as in_progress. FIRE-AND-FORGET — listen for worker_turn_complete events as usual. Use this as the 'go' button after planning.",
102
+ parameters: dispatchPendingParams,
103
+ async execute(args) {
104
+ const targetProjects = args.project
105
+ ? [args.project]
106
+ : [...workers.entries()].filter(([, w]) => w.getStatus() === "idle").map(([name]) => name);
107
+ if (targetProjects.length === 0) {
108
+ return "No idle workers to dispatch to.";
109
+ }
110
+ const dispatched = [];
111
+ const skipped = [];
112
+ for (const project of targetProjects) {
113
+ const worker = workers.get(project);
114
+ if (!worker) {
115
+ skipped.push(`${project}: unknown project`);
116
+ continue;
117
+ }
118
+ if (worker.getStatus() === "working") {
119
+ skipped.push(`${project}: worker is busy`);
120
+ continue;
121
+ }
122
+ const next = tasksStore.nextPending(project);
123
+ if (!next) {
124
+ skipped.push(`${project}: no pending tasks`);
125
+ continue;
126
+ }
127
+ await tasksStore.update(next.id, { status: "in_progress" });
128
+ const result = await dispatchTaskByDescription(project, next.description, next.fresh === true, next.id);
129
+ if (result.ok) {
130
+ dispatched.push(`${project}: [${next.id}] ${next.title}`);
131
+ }
132
+ else {
133
+ // Roll back to pending if dispatch failed.
134
+ await tasksStore.update(next.id, { status: "pending" });
135
+ skipped.push(`${project}: ${result.reason}`);
136
+ }
137
+ }
138
+ const lines = [];
139
+ if (dispatched.length > 0) {
140
+ lines.push(`Dispatched ${dispatched.length}:`);
141
+ for (const d of dispatched)
142
+ lines.push(` ✓ ${d}`);
143
+ }
144
+ if (skipped.length > 0) {
145
+ lines.push(`Skipped ${skipped.length}:`);
146
+ for (const s of skipped)
147
+ lines.push(` · ${s}`);
148
+ }
149
+ return lines.join("\n");
150
+ },
151
+ };
152
+ return [addTask, listTasks, updateTask, dispatchPending];
153
+ }
154
+ //# sourceMappingURL=task-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../src/task-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export type TaskStatus = "pending" | "in_progress" | "done" | "blocked" | "skipped";
2
+ export interface BossTask {
3
+ id: string;
4
+ /** Project name (matches a linked worker). */
5
+ project: string;
6
+ /** Short one-line summary shown in the overlay. */
7
+ title: string;
8
+ /** Full instruction sent to the worker when this task is dispatched. */
9
+ description: string;
10
+ status: TaskStatus;
11
+ /** Pre-decided when adding — passed through to prompt_worker on dispatch. */
12
+ fresh?: boolean;
13
+ /** Boss's running notes / blocker reason. */
14
+ notes?: string;
15
+ /** When dispatched, holds the worker_turn_complete summary text. */
16
+ resultSummary?: string;
17
+ createdAt: string;
18
+ updatedAt: string;
19
+ }
20
+ interface TasksUiState {
21
+ tasks: BossTask[];
22
+ /** Bumped on every mutation so overlay-side useEffects can react. */
23
+ version: number;
24
+ }
25
+ export declare function useTasksState(): TasksUiState;
26
+ export declare const tasksStore: {
27
+ /** Hydrate state from disk on startup. Idempotent. */
28
+ load(): Promise<void>;
29
+ /** Synchronous read. Used by boss tools that need to inspect/list. */
30
+ list(filter?: {
31
+ project?: string;
32
+ status?: TaskStatus;
33
+ }): BossTask[];
34
+ byId(id: string): BossTask | undefined;
35
+ add(input: {
36
+ project: string;
37
+ title: string;
38
+ description: string;
39
+ fresh?: boolean;
40
+ }): Promise<BossTask>;
41
+ update(id: string, fields: Partial<Pick<BossTask, "status" | "notes" | "resultSummary" | "title" | "description">>): Promise<BossTask | null>;
42
+ remove(id: string): Promise<boolean>;
43
+ /**
44
+ * Find the next pending task for a project (FIFO by createdAt). Used by
45
+ * dispatch_pending to pick what to send next.
46
+ */
47
+ nextPending(project: string): BossTask | undefined;
48
+ /** Test/dev reset — wipes in-memory + disk. */
49
+ reset(): Promise<void>;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=tasks-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks-store.d.ts","sourceRoot":"","sources":["../src/tasks-store.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AA6DD,UAAU,YAAY;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAkBD,wBAAgB,aAAa,IAAI,YAAY,CAE5C;AAcD,eAAO,MAAM,UAAU;IACrB,sDAAsD;YACxC,OAAO,CAAC,IAAI,CAAC;IAM3B,sEAAsE;kBACxD;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,QAAQ,EAAE;aAO3D,MAAM,GAAG,QAAQ,GAAG,SAAS;eAIrB;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,QAAQ,CAAC;eAkBf,MAAM,UACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,OAAO,GAAG,aAAa,CAAC,CAAC,GAC9F,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;eAYV,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C;;;OAGG;yBACkB,MAAM,GAAG,QAAQ,GAAG,SAAS;IAMlD,+CAA+C;aAChC,OAAO,CAAC,IAAI,CAAC;CAK7B,CAAC"}