@kenkaiiii/ggcoder 5.77.0 → 5.79.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 (92) hide show
  1. package/dist/app-sidecar/autopilot-runner.js +2 -5
  2. package/dist/app-sidecar/autopilot-runner.js.map +1 -1
  3. package/dist/app-sidecar/goal-routes.d.ts +26 -0
  4. package/dist/app-sidecar/goal-routes.js +444 -0
  5. package/dist/app-sidecar/goal-routes.js.map +1 -0
  6. package/dist/app-sidecar/history-routes.d.ts +13 -0
  7. package/dist/app-sidecar/history-routes.js +36 -25
  8. package/dist/app-sidecar/history-routes.js.map +1 -1
  9. package/dist/app-sidecar/route-context.d.ts +12 -0
  10. package/dist/app-sidecar/run-control-routes.js +2 -1
  11. package/dist/app-sidecar/run-control-routes.js.map +1 -1
  12. package/dist/app-sidecar/session-routes.js +41 -0
  13. package/dist/app-sidecar/session-routes.js.map +1 -1
  14. package/dist/app-sidecar/session-types.d.ts +2 -0
  15. package/dist/app-sidecar/workspace-routes.js +3 -0
  16. package/dist/app-sidecar/workspace-routes.js.map +1 -1
  17. package/dist/app-sidecar.js +113 -9
  18. package/dist/app-sidecar.js.map +1 -1
  19. package/dist/core/acceptance-checks.js +17 -4
  20. package/dist/core/acceptance-checks.js.map +1 -1
  21. package/dist/core/agent-notifications.d.ts +1 -1
  22. package/dist/core/agent-session/verification-tracker.d.ts +5 -1
  23. package/dist/core/agent-session/verification-tracker.js +25 -6
  24. package/dist/core/agent-session/verification-tracker.js.map +1 -1
  25. package/dist/core/agent-session.d.ts +50 -0
  26. package/dist/core/agent-session.js +49 -11
  27. package/dist/core/agent-session.js.map +1 -1
  28. package/dist/core/ask-user.d.ts +11 -0
  29. package/dist/core/ask-user.js +6 -1
  30. package/dist/core/ask-user.js.map +1 -1
  31. package/dist/core/autopilot-cycle.d.ts +2 -0
  32. package/dist/core/autopilot-cycle.js +21 -2
  33. package/dist/core/autopilot-cycle.js.map +1 -1
  34. package/dist/core/context-files.d.ts +8 -0
  35. package/dist/core/context-files.js +46 -0
  36. package/dist/core/context-files.js.map +1 -0
  37. package/dist/core/goals-store.d.ts +208 -0
  38. package/dist/core/goals-store.js +520 -0
  39. package/dist/core/goals-store.js.map +1 -0
  40. package/dist/core/project-discovery.d.ts +7 -0
  41. package/dist/core/project-discovery.js +8 -2
  42. package/dist/core/project-discovery.js.map +1 -1
  43. package/dist/core/prompt-commands.js +29 -4
  44. package/dist/core/prompt-commands.js.map +1 -1
  45. package/dist/core/session-manager.d.ts +7 -1
  46. package/dist/core/session-manager.js +17 -7
  47. package/dist/core/session-manager.js.map +1 -1
  48. package/dist/core/session-storage.js +5 -1
  49. package/dist/core/session-storage.js.map +1 -1
  50. package/dist/core/subagent-manager.d.ts +51 -0
  51. package/dist/core/subagent-manager.js +95 -15
  52. package/dist/core/subagent-manager.js.map +1 -1
  53. package/dist/core/subagent-store.js +2 -1
  54. package/dist/core/subagent-store.js.map +1 -1
  55. package/dist/core/verification-evidence.d.ts +13 -2
  56. package/dist/core/verification-evidence.js +256 -3
  57. package/dist/core/verification-evidence.js.map +1 -1
  58. package/dist/goals-agent/goal-team.d.ts +2 -0
  59. package/dist/goals-agent/goal-team.js +82 -0
  60. package/dist/goals-agent/goal-team.js.map +1 -0
  61. package/dist/goals-agent/goals-agent.d.ts +90 -0
  62. package/dist/goals-agent/goals-agent.js +246 -0
  63. package/dist/goals-agent/goals-agent.js.map +1 -0
  64. package/dist/modes/subagent-worker-mode.d.ts +12 -0
  65. package/dist/modes/subagent-worker-mode.js +22 -1
  66. package/dist/modes/subagent-worker-mode.js.map +1 -1
  67. package/dist/system-prompt.js +20 -11
  68. package/dist/system-prompt.js.map +1 -1
  69. package/dist/tools/bash-read-evidence.d.ts +13 -0
  70. package/dist/tools/bash-read-evidence.js +48 -1
  71. package/dist/tools/bash-read-evidence.js.map +1 -1
  72. package/dist/tools/bash.d.ts +3 -1
  73. package/dist/tools/bash.js +8 -4
  74. package/dist/tools/bash.js.map +1 -1
  75. package/dist/tools/edit.d.ts +1 -0
  76. package/dist/tools/edit.js +84 -1
  77. package/dist/tools/edit.js.map +1 -1
  78. package/dist/tools/index.d.ts +7 -1
  79. package/dist/tools/index.js +13 -4
  80. package/dist/tools/index.js.map +1 -1
  81. package/dist/tools/read-only-bash.js +3 -0
  82. package/dist/tools/read-only-bash.js.map +1 -1
  83. package/dist/tools/read-tracker.d.ts +6 -12
  84. package/dist/tools/read-tracker.js +21 -36
  85. package/dist/tools/read-tracker.js.map +1 -1
  86. package/dist/tools/read.js +2 -2
  87. package/dist/tools/read.js.map +1 -1
  88. package/dist/tools/subagent-control.js +22 -3
  89. package/dist/tools/subagent-control.js.map +1 -1
  90. package/dist/tools/write.js +110 -8
  91. package/dist/tools/write.js.map +1 -1
  92. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import { hasUnsafeShellSyntax, splitShellCommandSegments } from "../tools/read-only-bash.js";
1
+ import { hasUnsafeShellSyntax, isReadOnlyCommand, splitShellCommandSegments, } from "../tools/read-only-bash.js";
2
2
  const LONG_RUNNING_FLAGS = new Set([
3
3
  "--watch",
4
4
  "--watchall",
@@ -242,8 +242,261 @@ function classifySegment(rawSegment) {
242
242
  * cannot rewrite, filter, or otherwise transform what the check proved — the
243
243
  * exit status (pipefail-protected) and the kept tail are the full evidence. */
244
244
  const PIPE_LIMITER = /^(?:tail|head)(?:\s+(?:-[1-9]\d*|-n\s*\d+|--lines(?:=|\s+)\d+))?\s*$/;
245
- /** Fail-closed classifier: bounded checks with narrowly allowed non-check preludes. */
246
- export function classifyVerificationCommand(command) {
245
+ /** Fail-closed classifier: bounded checks with narrowly allowed non-check preludes.
246
+ *
247
+ * `posixShell`: the command runs under bash with pipefail (GG's bash tool on
248
+ * macOS/Linux, or Windows with Git Bash). Only then can read-only commands
249
+ * around a check count: cmd.exe has no pipefail, and there `;` is not a
250
+ * separator, so `cat a; npm test` would run only `cat`. Default off, so a
251
+ * caller that does not know the shell fails closed. */
252
+ export function classifyVerificationCommand(command, { posixShell = false } = {}) {
253
+ const strict = classifyStrict(command);
254
+ if (strict.accepted || !posixShell || !checkWithReadOnlyContext(command))
255
+ return strict;
256
+ // Never certified from the transcript: the live host must also see the
257
+ // workspace unchanged across the run (snapshotEligible), exactly as for an
258
+ // ordinary build. Non-preserve-only, so a clean pass is fresh evidence.
259
+ return {
260
+ ...rejected(true, "check with read-only commands around it"),
261
+ snapshotEligible: true,
262
+ ambiguousFailure: true,
263
+ };
264
+ }
265
+ /** Stand-in for a `( … )` group already proven to contain only read-only commands. */
266
+ const READ_ONLY_GROUP = "\u0000read-only-group";
267
+ /** Index of the `)` closing the `(` at `open`, skipping quoted text. -1 when
268
+ * unbalanced or when the inside holds anything this cannot account for. */
269
+ function closingParen(text, open) {
270
+ let quote = null;
271
+ for (let i = open + 1; i < text.length; i++) {
272
+ const ch = text[i];
273
+ if (quote) {
274
+ if (ch === quote)
275
+ quote = null;
276
+ continue;
277
+ }
278
+ if (ch === "'" || ch === '"')
279
+ quote = ch;
280
+ else if (ch === "(")
281
+ return -1; // no nesting
282
+ else if (ch === ")")
283
+ return i;
284
+ }
285
+ return -1;
286
+ }
287
+ /** True when `inner` (a group or `$( … )` body) runs read-only commands only. */
288
+ function readOnlyInner(inner) {
289
+ const pipelines = parsePipelines(inner);
290
+ return pipelines !== null && pipelines.every(({ stages }) => stages.every(isReadOnlyContext));
291
+ }
292
+ /** Quote- and operator-level parse of a command into pipelines and the
293
+ * separator that follows each. Null for anything this cannot fully account
294
+ * for: escapes, backticks, variable expansion (except `$?`), redirections
295
+ * (beyond a check's stderr merge), background `&`, comments, negation, brace
296
+ * groups. `$( … )` and `( … )` are allowed only around read-only commands. */
297
+ function parsePipelines(command) {
298
+ // A NUL could forge the vetted-group stand-in (and never reaches a shell).
299
+ if (command.includes("\u0000"))
300
+ return null;
301
+ const text = command.replace(/\s2>(?:&1|\/dev\/null)(?=\s*(?:\||&&|;|\n|$))/g, "");
302
+ const pipelines = [];
303
+ let stages = [];
304
+ let current = "";
305
+ let quote = null;
306
+ let afterGroup = false;
307
+ const endStage = () => {
308
+ const stage = current.trim();
309
+ current = "";
310
+ afterGroup = false;
311
+ if (!stage || stage.startsWith("!"))
312
+ return false;
313
+ stages.push(stage);
314
+ return true;
315
+ };
316
+ const endPipeline = (next) => {
317
+ if (!endStage())
318
+ return false;
319
+ pipelines.push({ stages, next });
320
+ stages = [];
321
+ return true;
322
+ };
323
+ for (let i = 0; i < text.length; i++) {
324
+ const ch = text[i];
325
+ const nextCh = text[i + 1] ?? "";
326
+ if (quote === "'") {
327
+ if (ch === "'")
328
+ quote = null;
329
+ current += ch;
330
+ continue;
331
+ }
332
+ if (afterGroup && !/\s/.test(ch) && !"&|;\n".includes(ch))
333
+ return null;
334
+ if (ch === "`" || ch === "\\")
335
+ return null;
336
+ if (ch === "$") {
337
+ if (nextCh === "?") {
338
+ // The previous exit status: a number, it cannot run anything.
339
+ current += "0";
340
+ i++;
341
+ continue;
342
+ }
343
+ if (nextCh === "(") {
344
+ const close = closingParen(text, i + 1);
345
+ if (close === -1 || !readOnlyInner(text.slice(i + 2, close)))
346
+ return null;
347
+ current += "Q";
348
+ i = close;
349
+ continue;
350
+ }
351
+ // Any other expansion (`$VAR`, `${…}`, `$'\x2d'` ANSI-C quoting) can
352
+ // produce text this cannot see. Only a bare `$` is literal.
353
+ if (nextCh !== "" && !/\s/.test(nextCh))
354
+ return null;
355
+ }
356
+ if (quote === '"') {
357
+ if (ch === '"')
358
+ quote = null;
359
+ current += ch;
360
+ continue;
361
+ }
362
+ if (ch === "'" || ch === '"') {
363
+ quote = ch;
364
+ current += ch;
365
+ continue;
366
+ }
367
+ if (ch === "(" && current.trim() === "") {
368
+ const close = closingParen(text, i);
369
+ if (close === -1 || !readOnlyInner(text.slice(i + 1, close)))
370
+ return null;
371
+ current = READ_ONLY_GROUP;
372
+ afterGroup = true;
373
+ i = close;
374
+ continue;
375
+ }
376
+ if ("(){}<>".includes(ch))
377
+ return null;
378
+ if (ch === "#" && (current === "" || /\s$/.test(current)))
379
+ return null;
380
+ if (ch === "&") {
381
+ if (nextCh !== "&" || !endPipeline("&&"))
382
+ return null;
383
+ i++;
384
+ continue;
385
+ }
386
+ if (ch === "|") {
387
+ if (nextCh === "|") {
388
+ if (!endPipeline("||"))
389
+ return null;
390
+ i++;
391
+ continue;
392
+ }
393
+ if (nextCh === "&" || !endStage())
394
+ return null;
395
+ continue;
396
+ }
397
+ if (ch === ";" || ch === "\n") {
398
+ if (current.trim() === "" && stages.length === 0)
399
+ continue; // blank line
400
+ if (!endPipeline(";"))
401
+ return null;
402
+ continue;
403
+ }
404
+ current += ch;
405
+ }
406
+ if (quote !== null)
407
+ return null;
408
+ if (current.trim() === "" && stages.length === 0) {
409
+ // Trailing separator: the last pipeline has no successor after all.
410
+ const last = pipelines.at(-1);
411
+ if (last)
412
+ last.next = null;
413
+ }
414
+ else if (!endPipeline(null))
415
+ return null;
416
+ return pipelines.length > 0 ? pipelines : null;
417
+ }
418
+ /** Pure stream filters allowed after a check. None exists in cmd.exe, so on a
419
+ * shell without pipefail the pipeline cannot exit 0 through them. */
420
+ const PIPE_FILTERS = new Set(["tail", "head", "grep", "egrep", "fgrep", "rg", "wc", "cat"]);
421
+ /** Read-only git around a check: no `-c`/`-C` globals (they can run helpers). */
422
+ const CONTEXT_GIT = /^git\s+(?:status|diff|log|show)(?:\s|$)/;
423
+ /** Quoted text masked so read-only screening cannot be confused by `|`, `>`
424
+ * or `;` inside patterns; a quoted flag (`"-o"`) stays visible to it. */
425
+ function maskQuotes(stage) {
426
+ let hiddenFlag = false;
427
+ const masked = stage.replace(/'[^']*'|"[^"]*"/g, (quoted) => {
428
+ if (/^.-/.test(quoted))
429
+ hiddenFlag = true;
430
+ return "Q";
431
+ });
432
+ return hiddenFlag ? null : masked;
433
+ }
434
+ function isReadOnlyContext(stage) {
435
+ if (stage === READ_ONLY_GROUP)
436
+ return true;
437
+ const masked = maskQuotes(stage);
438
+ if (masked === null || !isReadOnlyCommand(masked))
439
+ return false;
440
+ const word = masked.split(/\s+/)[0];
441
+ return word !== "git" || CONTEXT_GIT.test(masked);
442
+ }
443
+ function isPipeFilter(stage) {
444
+ const masked = maskQuotes(stage);
445
+ if (masked === null)
446
+ return false;
447
+ const words = masked.split(/\s+/);
448
+ if (!PIPE_FILTERS.has(words[0] ?? ""))
449
+ return false;
450
+ // A follow mode never ends; it could only time the check out.
451
+ if (words.some((w) => /^(?:-f|-F|--follow(?:=.*)?|--retry)$/.test(w)))
452
+ return false;
453
+ return isReadOnlyCommand(masked);
454
+ }
455
+ /**
456
+ * A real check with read-only commands around it, as models write them:
457
+ * `cat a.js; npm test 2>&1 | grep -E "pass|fail"`, `npm test && git diff --stat`,
458
+ * `(rg -n old || echo none) && npm test 2>&1 | tail -15`.
459
+ *
460
+ * Exit 0 still proves every check passed, because:
461
+ * - every check pipeline is a recognised bounded check piped only through pure
462
+ * filters, and the agent shell runs with pipefail;
463
+ * - a check is never reached through `||` (`cat a || npm test` exits 0 without
464
+ * testing), and from the first check on everything is joined by `&&`, so no
465
+ * later command's status can replace a failed check's;
466
+ * - everything else is read-only; before the first check, `;` and `||` are
467
+ * fine because those statuses never become the command's;
468
+ * - a leading `cd dir &&` may pick the directory, as for a bare check. If it
469
+ * fails, a later `;` runs the check in the project root, which is still the
470
+ * workspace the host compares.
471
+ * The host additionally compares workspace inputs before and after the run
472
+ * (snapshotEligible), so nothing in the chain can rewrite what was checked.
473
+ */
474
+ function checkWithReadOnlyContext(command) {
475
+ const pipelines = parsePipelines(command);
476
+ if (pipelines === null)
477
+ return false;
478
+ let seenCheck = false;
479
+ let previous = null;
480
+ for (const [index, { stages, next }] of pipelines.entries()) {
481
+ const [head, ...rest] = stages;
482
+ const isCheck = classifySegment(head).accepted && rest.every(isPipeFilter);
483
+ if (isCheck) {
484
+ if (previous === "||")
485
+ return false;
486
+ seenCheck = true;
487
+ }
488
+ else if (index === 0 && rest.length === 0 && next === "&&" && /^cd\s+\S+$/.test(head)) {
489
+ // working-directory prelude
490
+ }
491
+ else if (!stages.every(isReadOnlyContext))
492
+ return false;
493
+ if (seenCheck && (next === ";" || next === "||"))
494
+ return false;
495
+ previous = next;
496
+ }
497
+ return seenCheck;
498
+ }
499
+ function classifyStrict(command) {
247
500
  const candidate = VERIFIER_WORDS.test(command) || /(?:^|\s)(?:pnpm|npm|yarn|bun)(?:\s|$)/i.test(command);
248
501
  // Only && preserves fail-closed evidence across a chain. OR, semicolons, and
249
502
  // newlines can still hide a failed check behind a later zero exit status.
@@ -1 +1 @@
1
- {"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../../src/core/verification-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../../src/core/verification-evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { AgentDefinition } from "../core/agents.js";
2
+ export declare const GOAL_TEAM: readonly AgentDefinition[];
@@ -0,0 +1,82 @@
1
+ /**
2
+ * GG Goals' own team: the only agents its workers can be, separate from GG
3
+ * Coder's bundled agents (core/bundled-agents.ts) and from any the user
4
+ * defines in `.gg/agents`. A goal works across the user's attached folders
5
+ * (often not code at all: job applications, an SEO plan), and its workers
6
+ * report to an orchestrator rather than a person at the keyboard, so their
7
+ * rules differ: change files in place for the user to review, never branch or
8
+ * commit, and stop to report a blocker instead of guessing. Keeping the
9
+ * roster fixed keeps those rules in force: a user's or project's agent of the
10
+ * same name never replaces them.
11
+ *
12
+ * `description` is the routing signal GG Goals reads in spawn_agent's roster,
13
+ * so each names the shape of task it's for.
14
+ */
15
+ /** Rules every member works by, ahead of its own role. */
16
+ const TEAM_RULES = `You're a worker on a GG Goals team. GG Goals, the coordinator, briefed you and sees only your final report; the user reads its summary.
17
+
18
+ ## How the team works
19
+ - Work in your working folder and the goal's other attached folders. Those are the only places you may change; never write anywhere else.
20
+ - Change files in place. Never create branches, commit, push, open pull requests or change git settings: the user reviews the work and commits it themselves.
21
+ - Do only your task. Other workers are on other parts of the goal at the same time, so leave files outside your task alone.
22
+ - Deliver the size the brief asks for. A minimum ("at least 1,000 words", "6 sources") is met by landing just past it, not by aiming well beyond it; a target ("about 800 words") means about that. Extra length, sections or sources aren't better work: they cost the user time and tokens.
23
+ - Never change the machine itself: no global installs (\`npm install -g\`, \`brew install\`, \`pip install\` outside a project's own environment), no system settings, no logging in to services. Installing a project's own dependencies inside its folder is fine. If the task needs more, report it as a blocker.
24
+ - If you reach a decision your brief doesn't settle (a choice only the user can make, missing access or credentials, a contradiction), stop and report it as a blocker: what you need, and the options you see with the one you'd pick. Never guess.
25
+
26
+ ## Checking your work
27
+ Don't read a file back after editing or writing it: the edit's own result already shows the change. Run each check (a test suite, a typecheck, the command itself) on its own as the last thing you do, as a plain command: \`npm test\`, not \`cd … && npm test; echo $?\`. Its exit code is what proves the work, to you and to the coordinator; a check wrapped in other commands proves nothing and gets run again by someone else.
28
+
29
+ ## Your report
30
+ Start with one line: done, blocked, or failed. Then what you did or found, with full file paths; how you checked it; and anything the coordinator must know (a blocker's options, a risk, something left undone). Keep it short and plain.`;
31
+ const BUILDER_ROLE = `## Your role: builder
32
+ You carry out one task end to end and leave a working result, not a description of one: code, documents, data, config, whatever the task needs.
33
+ 1. Read what the task touches first, and match how it's already done there.
34
+ 2. Make the change directly, as small and focused as the task allows.
35
+ 3. Check it: run the narrowest test, typecheck or command that proves it works; for writing, reread it against the brief. Fix what you broke.
36
+ 4. Report.`;
37
+ const SCOUT_ROLE = `## Your role: scout
38
+ You look and report; you never change anything. You answer what the brief asks about the attached folders: what's there, how it fits together, where something lives, what state it's in.
39
+ 1. Map the relevant folders with ls and find.
40
+ 2. Search with grep and code_search, then read the key files to confirm. Never report what you haven't read.
41
+ 3. Report the answer first, then the files that matter (path and one line each) and anything surprising.`;
42
+ const RESEARCHER_ROLE = `## Your role: researcher
43
+ You find out what the attached folders can't tell you, from the web: facts, options, prices, docs, examples, current information. You change nothing.
44
+ 1. Pin down the question and what would count as an answer.
45
+ 2. Search, then read the most authoritative sources (official sites and docs first).
46
+ 3. Report the answer first, then the evidence: every claim with the URL it came from, and where sources disagree. Never state from memory what you can look up.`;
47
+ const CHECKER_ROLE = `## Your role: checker
48
+ You make sure another worker's finished task really works and matches its brief, and you fix what doesn't, so it comes back done in one pass instead of bouncing between workers.
49
+ 1. Read the brief you're given and every file the work changed.
50
+ 2. Run the checks that prove it: the tests, a typecheck, the command itself, links and facts it relies on.
51
+ 3. Fix every problem you find that sits inside the task's own scope (a failing test, a wrong value, a missed requirement, a broken link), then run the checks again until they pass.
52
+ 4. Don't redo or extend the work, and don't fix anything outside the task. If a problem needs a real rework or a decision, report it as a blocker instead.
53
+ 5. Report: passed, or fixed (what was wrong and what you changed), or blocked; then the checks you ran and what they showed.`;
54
+ function member(name, description, tools, role) {
55
+ return {
56
+ name,
57
+ description,
58
+ tools,
59
+ model: "inherit",
60
+ systemPrompt: `${TEAM_RULES}\n\n${role}`,
61
+ source: "bundled",
62
+ };
63
+ }
64
+ export const GOAL_TEAM = [
65
+ member("builder", "Makes changes: writes and edits files, runs commands. For any task that produces or changes something.", [
66
+ "read",
67
+ "write",
68
+ "edit",
69
+ "bash",
70
+ "find",
71
+ "grep",
72
+ "ls",
73
+ "code_search",
74
+ "source_path",
75
+ "web_fetch",
76
+ "web_search",
77
+ ], BUILDER_ROLE),
78
+ member("scout", "Read-only look around the attached folders: what's there, where things are, what state they're in.", ["read", "find", "grep", "ls", "code_search", "source_path"], SCOUT_ROLE),
79
+ member("researcher", "Finds things out on the web: facts, options, docs, current information, with sources.", ["read", "find", "grep", "ls", "web_fetch", "web_search", "steroids"], RESEARCHER_ROLE),
80
+ member("checker", "Checks a finished task against its brief (runs tests, reads the changes) and fixes what's wrong, so it comes back done in one pass.", ["read", "write", "edit", "find", "grep", "ls", "code_search", "bash", "web_fetch"], CHECKER_ROLE),
81
+ ];
82
+ //# sourceMappingURL=goal-team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-team.js","sourceRoot":"","sources":["../../src/goals-agent/goal-team.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,0DAA0D;AAC1D,MAAM,UAAU,GAAG;;;;;;;;;;;;;;2OAcwN,CAAC;AAE5O,MAAM,YAAY,GAAG;;;;;WAKV,CAAC;AAEZ,MAAM,UAAU,GAAG;;;;yGAIsF,CAAC;AAE1G,MAAM,eAAe,GAAG;;;;gKAIwI,CAAC;AAEjK,MAAM,YAAY,GAAG;;;;;;6HAMwG,CAAC;AAE9H,SAAS,MAAM,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAe,EAAE,IAAY;IAC9E,OAAO;QACL,IAAI;QACJ,WAAW;QACX,KAAK;QACL,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,GAAG,UAAU,OAAO,IAAI,EAAE;QACxC,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAA+B;IACnD,MAAM,CACJ,SAAS,EACT,wGAAwG,EACxG;QACE,MAAM;QACN,OAAO;QACP,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,IAAI;QACJ,aAAa;QACb,aAAa;QACb,WAAW;QACX,YAAY;KACb,EACD,YAAY,CACb;IACD,MAAM,CACJ,OAAO,EACP,oGAAoG,EACpG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,EAC5D,UAAU,CACX;IACD,MAAM,CACJ,YAAY,EACZ,uFAAuF,EACvF,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,EACrE,eAAe,CAChB;IACD,MAAM,CACJ,SAAS,EACT,qIAAqI,EACrI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,EACnF,YAAY,CACb;CACF,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { AgentSession, type AgentSessionOptions } from "../core/agent-session.js";
2
+ import { type GoalBriefExtras, type GoalRecord } from "../core/goals-store.js";
3
+ import type { ChildModelPick } from "../core/subagent-manager.js";
4
+ /**
5
+ * Little Ken's faces in the Workers view's dialogue box. GG Goals picks one
6
+ * for the spoken line it ends a message with (`[ken:face] …`). Must match
7
+ * KEN_FACES in gg-app/src/goal-ken-talk.ts, which reads the line (an unknown
8
+ * face falls back to neutral there).
9
+ */
10
+ export declare const KEN_FACES: readonly ["neutral", "happy", "excited", "thinking", "focused", "surprised", "worried", "sad", "proud", "wink"];
11
+ /**
12
+ * GG Goals: the orchestrator a Goal window talks to. It is its own agent, not
13
+ * GG Coder with a note attached: its identity and the goal brief form its
14
+ * system prompt, it has no plan mode (it plans in the conversation), and its
15
+ * prompt cache is keyed apart from coding sessions.
16
+ */
17
+ export declare const GOALS_SYSTEM_PROMPT: string;
18
+ /** Agent tools GG Goals always has, instead of finding them via tool_search. */
19
+ export declare const GOALS_CORE_TOOLS: readonly string[];
20
+ export type GoalsAgentOptions = Omit<AgentSessionOptions, "agentPrompt" | "agentRole" | "agentContext" | "systemPrompt" | "promptCacheKeyPrefix" | "getSystemPromptTail" | "onEnterPlan" | "onExitPlan" | "planSubmissionGate" | "coreTools" | "wrapTool" | "withoutTools" | "subAgents" | "shareRootsWithSubAgents" | "defaultSubAgent"> & {
21
+ /** The goal this session coordinates; its folder is the session's cwd. */
22
+ goal: {
23
+ dir: string;
24
+ record: GoalRecord;
25
+ };
26
+ /** Memory and attached projects' rules, read once for the session (see loadGoalBriefExtras). */
27
+ extras?: GoalBriefExtras;
28
+ /** True once the user has started the goal. Read live: the phase changes mid-session. */
29
+ isActive?: () => boolean;
30
+ /** The workers' model. Read at each spawn: the user can change it any time. */
31
+ getChildModel?: () => ChildModelPick | undefined;
32
+ };
33
+ /**
34
+ * The model GG Goals' workers ("critters") run on, from the goal's pick. A
35
+ * pick whose model is gone from the registry, or now belongs to a different
36
+ * provider, is ignored, so workers fall back to GG Goals' own model.
37
+ */
38
+ export declare function goalCritterPick(record: GoalRecord | undefined): ChildModelPick | undefined;
39
+ /** GG Goals' full prompt body: identity first, then this goal's brief. */
40
+ export declare function buildGoalsAgentPrompt(goal: {
41
+ dir: string;
42
+ record: GoalRecord;
43
+ }, extras?: GoalBriefExtras): string;
44
+ /**
45
+ * Read what GG Goals' brief carries besides the goal, once per session: its
46
+ * memory, and each attached folder's instruction files (AGENTS.md, CLAUDE.md…).
47
+ * GG Goals' own cwd is the goal folder, so without this it never saw the rules
48
+ * of the projects it works in. A folder that can't be read just has no rules.
49
+ */
50
+ export declare function loadGoalBriefExtras(goal: {
51
+ dir: string;
52
+ record: GoalRecord;
53
+ }): Promise<GoalBriefExtras>;
54
+ /**
55
+ * Tools that do or start work: held until the user starts the goal, then
56
+ * GG Goals' own. It does small and connected work itself (a worker starts
57
+ * cold and re-reads everything; live runs showed one session beating a
58
+ * single worker on every such goal), and starts workers for big independent
59
+ * parts. Same tool schemas either way, so the cached tool block never changes.
60
+ */
61
+ export declare const GOALS_START_TOOLS: ReadonlySet<string>;
62
+ /**
63
+ * Tools GG Goals never has: UI component adoption and image generation (not
64
+ * part of a goal's work), and the one-shot \`subagent\`, which always runs in
65
+ * GG Goals' own goal folder and can't be pointed at an attached folder;
66
+ * spawn_agent is the only way it starts workers.
67
+ */
68
+ export declare const GOALS_WITHOUT_TOOLS: readonly string[];
69
+ /** What editing, running or starting work returns during the briefing. */
70
+ export declare const BRIEFING_ERROR = "Not yet: the goal hasn't started. During the briefing you only read (read, ls, find, web search) and ask. Editing, running commands and starting workers open once the user starts the goal. If the user has told you to go ahead, ask the start question now with ask_user (the goal starts when they pick it); never begin the work before that.";
71
+ /** Error text ask_user returns while GG Goals has not spoken yet. */
72
+ export declare const GREET_FIRST_ERROR = "Not yet: write to the user first. Greet them and say the goal back in your own words as a normal message, then ask.";
73
+ /**
74
+ * Hold ask_user until GG Goals has written something to the user. A question
75
+ * card as the very first thing in a new goal reads as an interrogation, and a
76
+ * card shown before the turn's text would sit above the greeting. Once there
77
+ * is any assistant text (this run or an earlier one), the tool is untouched.
78
+ */
79
+ /**
80
+ * Added to the answer that starts the goal. The kickoff told GG Goals not to
81
+ * start work in its first reply, and the start question usually rides on that
82
+ * same reply's card: without this it stopped right after the user started the
83
+ * goal (live run, "Add a blog"), and the goal sat idle.
84
+ */
85
+ export declare const GOAL_STARTED_NOTE = "\n\nThe goal has started. Start the work now, in this reply: do it yourself, or start workers for its big independent parts.";
86
+ /**
87
+ * Create a GG Goals session. Sessions are stored like coding sessions, keyed by
88
+ * the goal folder, so the goal list and goal deletion find them there.
89
+ */
90
+ export declare function createGoalsAgentSession(options: GoalsAgentOptions): AgentSession;