@scanton/phase2s 0.15.0 → 0.18.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 (66) hide show
  1. package/.phase2s/skills/audit/SKILL.md +1 -0
  2. package/.phase2s/skills/careful/SKILL.md +1 -0
  3. package/.phase2s/skills/checkpoint/SKILL.md +1 -0
  4. package/.phase2s/skills/debug/SKILL.md +1 -0
  5. package/.phase2s/skills/deep-specify/SKILL.md +1 -0
  6. package/.phase2s/skills/diff/SKILL.md +1 -0
  7. package/.phase2s/skills/docs/SKILL.md +1 -0
  8. package/.phase2s/skills/explain/SKILL.md +1 -0
  9. package/.phase2s/skills/freeze/SKILL.md +1 -0
  10. package/.phase2s/skills/guard/SKILL.md +1 -0
  11. package/.phase2s/skills/health/SKILL.md +1 -0
  12. package/.phase2s/skills/investigate/SKILL.md +1 -0
  13. package/.phase2s/skills/land-and-deploy/SKILL.md +1 -0
  14. package/.phase2s/skills/plan/SKILL.md +13 -2
  15. package/.phase2s/skills/plan-review/SKILL.md +1 -0
  16. package/.phase2s/skills/qa/SKILL.md +1 -0
  17. package/.phase2s/skills/remember/SKILL.md +1 -0
  18. package/.phase2s/skills/retro/SKILL.md +1 -0
  19. package/.phase2s/skills/review/SKILL.md +29 -0
  20. package/.phase2s/skills/scope-review/SKILL.md +1 -0
  21. package/.phase2s/skills/ship/SKILL.md +1 -0
  22. package/.phase2s/skills/skill/SKILL.md +1 -0
  23. package/.phase2s/skills/slop-clean/SKILL.md +1 -0
  24. package/.phase2s/skills/tdd/SKILL.md +1 -0
  25. package/.phase2s/skills/unfreeze/SKILL.md +1 -0
  26. package/README.md +28 -3
  27. package/dist/src/cli/index.d.ts +15 -0
  28. package/dist/src/cli/index.d.ts.map +1 -1
  29. package/dist/src/cli/index.js +70 -5
  30. package/dist/src/cli/index.js.map +1 -1
  31. package/dist/src/core/agent.d.ts.map +1 -1
  32. package/dist/src/core/agent.js +3 -1
  33. package/dist/src/core/agent.js.map +1 -1
  34. package/dist/src/core/config.d.ts +30 -3
  35. package/dist/src/core/config.d.ts.map +1 -1
  36. package/dist/src/core/config.js +25 -2
  37. package/dist/src/core/config.js.map +1 -1
  38. package/dist/src/mcp/server.d.ts +1 -1
  39. package/dist/src/mcp/server.d.ts.map +1 -1
  40. package/dist/src/mcp/server.js +43 -9
  41. package/dist/src/mcp/server.js.map +1 -1
  42. package/dist/src/providers/anthropic.d.ts +75 -0
  43. package/dist/src/providers/anthropic.d.ts.map +1 -0
  44. package/dist/src/providers/anthropic.js +195 -0
  45. package/dist/src/providers/anthropic.js.map +1 -0
  46. package/dist/src/providers/index.d.ts.map +1 -1
  47. package/dist/src/providers/index.js +6 -0
  48. package/dist/src/providers/index.js.map +1 -1
  49. package/dist/src/providers/ollama.d.ts +4 -0
  50. package/dist/src/providers/ollama.d.ts.map +1 -0
  51. package/dist/src/providers/ollama.js +42 -0
  52. package/dist/src/providers/ollama.js.map +1 -0
  53. package/dist/src/skills/loader.d.ts.map +1 -1
  54. package/dist/src/skills/loader.js +63 -1
  55. package/dist/src/skills/loader.js.map +1 -1
  56. package/dist/src/skills/template.d.ts +17 -0
  57. package/dist/src/skills/template.d.ts.map +1 -0
  58. package/dist/src/skills/template.js +30 -0
  59. package/dist/src/skills/template.js.map +1 -0
  60. package/dist/src/skills/types.d.ts +25 -0
  61. package/dist/src/skills/types.d.ts.map +1 -1
  62. package/dist/src/tools/registry.d.ts +12 -0
  63. package/dist/src/tools/registry.d.ts.map +1 -1
  64. package/dist/src/tools/registry.js +36 -0
  65. package/dist/src/tools/registry.js.map +1 -1
  66. package/package.json +3 -2
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: audit
3
3
  description: Security audit — scans for secrets, injection risks, dependency vulnerabilities, and file access controls
4
+ model: smart
4
5
  triggers:
5
6
  - security audit
6
7
  - audit
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: careful
3
3
  description: Activate safety mode — pause before destructive shell commands and ask for explicit confirmation
4
+ model: fast
4
5
  triggers:
5
6
  - be careful
6
7
  - careful
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: checkpoint
3
3
  description: Save a structured snapshot of current session state — what we're working on, decisions made, what's left
4
+ model: fast
4
5
  triggers:
5
6
  - checkpoint
6
7
  - save progress
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: debug
3
3
  description: Systematic debugging — reproduce, isolate, fix, and verify a bug end-to-end
4
+ model: smart
4
5
  triggers:
5
6
  - debug
6
7
  - fix this bug
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: deep-specify
3
3
  description: Structured spec interview — resolve ambiguity with Socratic questions before any code is written
4
+ model: smart
4
5
  triggers:
5
6
  - deep specify
6
7
  - deep-specify
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: diff
3
3
  description: Review uncommitted changes or the last commit with structured feedback
4
+ model: fast
4
5
  triggers:
5
6
  - review this diff
6
7
  - review my diff
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: docs
3
3
  description: Inline documentation — generate JSDoc/TSDoc comments, type annotations, and module headers for undocumented code
4
+ model: smart
4
5
  triggers:
5
6
  - docs
6
7
  - document
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: explain
3
3
  description: Explain code or a concept clearly and concisely
4
+ model: fast
4
5
  triggers:
5
6
  - explain this
6
7
  - explain how this works
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: freeze
3
3
  description: Restrict file edits to a single directory for this session — useful when you want to limit scope of changes
4
+ model: fast
4
5
  triggers:
5
6
  - freeze
6
7
  - restrict edits
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: guard
3
3
  description: Full safety mode — combines careful (destructive command confirmation) and freeze (edit directory restriction)
4
+ model: fast
4
5
  triggers:
5
6
  - guard mode
6
7
  - guard
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: health
3
3
  description: Code quality dashboard — runs type check, tests, and lint, scores the codebase, shows trends
4
+ model: smart
4
5
  triggers:
5
6
  - health check
6
7
  - health
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: investigate
3
3
  description: Debug an error or unexpected behavior — trace it to the root cause with evidence
4
+ model: smart
4
5
  triggers:
5
6
  - why is this broken
6
7
  - debug this
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: land-and-deploy
3
3
  description: Push, open a PR, merge it, wait for CI, and verify the deploy landed cleanly
4
+ model: smart
4
5
  triggers:
5
6
  - land this
6
7
  - land and deploy
@@ -1,15 +1,21 @@
1
1
  ---
2
2
  name: plan
3
3
  description: Create a concrete implementation plan for a feature or task
4
+ model: smart
4
5
  triggers:
5
6
  - plan this
6
7
  - how should I build
7
8
  - implementation plan
8
9
  - design this feature
9
10
  - how do I implement
11
+ inputs:
12
+ feature:
13
+ prompt: "What are you planning to build?"
10
14
  ---
11
15
 
12
- You are a senior engineer creating an implementation plan. Do not start coding yet — plan first.
16
+ You are a senior engineer creating an implementation plan for: {{feature}}
17
+
18
+ Do not start coding yet — plan first.
13
19
 
14
20
  **Process:**
15
21
 
@@ -22,7 +28,7 @@ You are a senior engineer creating an implementation plan. Do not start coding y
22
28
 
23
29
  ---
24
30
 
25
- ## Implementation Plan
31
+ ## Implementation Plan: {{feature}}
26
32
 
27
33
  **Goal:** [one sentence — what this does for the user]
28
34
 
@@ -55,4 +61,9 @@ You are a senior engineer creating an implementation plan. Do not start coding y
55
61
 
56
62
  ---
57
63
 
64
+ After writing the plan, use the `file_write` tool to save it to `.phase2s/plans/PLAN-DATE.md` where DATE is today's date in YYYY-MM-DD format. Create the `.phase2s/plans/` directory if it doesn't exist.
65
+
66
+ Then ask: "Append these tasks to TODOS.md? (yes/no)"
67
+ If yes, use `file_read` to read TODOS.md, then use `file_write` to append the Phase 1 task checklist under a new section at the top of the active sprint.
68
+
58
69
  Be concrete. Name actual files that exist in the project. Show real commands. If something is unclear in the requirements, ask one clarifying question before proceeding.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: plan-review
3
3
  description: Engineering plan review — scope validation, architecture critique, test coverage map, performance analysis
4
+ model: smart
4
5
  triggers:
5
6
  - review the architecture
6
7
  - engineering review
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: qa
3
3
  description: Quality assurance pass — find bugs, edge cases, and missing error handling in recent changes
4
+ model: smart
4
5
  triggers:
5
6
  - test this
6
7
  - find bugs
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: remember
3
3
  description: Save a project learning to persistent memory for future sessions
4
+ model: fast
4
5
  triggers:
5
6
  - remember this
6
7
  - save this learning
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: retro
3
3
  description: Weekly engineering retrospective — what shipped, velocity stats, patterns, one improvement to focus on next week
4
+ model: smart
4
5
  triggers:
5
6
  - retro
6
7
  - weekly retro
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: review
3
3
  description: Code review — read the current diff and give structured, actionable feedback
4
+ model: smart
4
5
  triggers:
5
6
  - review my code
6
7
  - code review
@@ -40,3 +41,31 @@ Severity guide:
40
41
  ---
41
42
 
42
43
  Be specific. Name the file and line number. Show actual code in suggestions. If something is genuinely well-designed, say so plainly. If something is a mess, say that too.
44
+
45
+ 4. After delivering the review, ask:
46
+
47
+ > Want an adversarial challenge of the design decisions in these changes? This is a separate pass that challenges whether the *approach* is sound — not just code quality, but the assumptions, edge cases, and failure modes baked into the design. Type `yes` to run it or anything else to skip.
48
+
49
+ 5. If the user says yes (or "y", "sure", "go ahead", "do it", or similar):
50
+
51
+ Run an adversarial review of the diff. Focus on the design decisions, not the syntax. Challenge:
52
+ - Whether the approach is the right one for the problem
53
+ - Assumptions that could be wrong
54
+ - Edge cases the implementation doesn't handle
55
+ - Failure modes that aren't obvious from reading the code
56
+
57
+ Use the adversarial output format exactly:
58
+
59
+ ```
60
+ VERDICT: CHALLENGED | APPROVED | NEEDS_CLARIFICATION
61
+ STRONGEST_CONCERN: [one sentence, specific and citable]
62
+ OBJECTIONS:
63
+ 1. [specific, falsifiable objection]
64
+ 2. [specific, falsifiable objection]
65
+ 3. [optional — only if genuinely distinct]
66
+ APPROVE_IF: [what would need to change for APPROVED verdict]
67
+ ```
68
+
69
+ If the approach is sound: `VERDICT: APPROVED`, `STRONGEST_CONCERN: None identified.`, `OBJECTIONS: (none)`, `APPROVE_IF: N/A`.
70
+
71
+ If the user declines, end the session normally.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: scope-review
3
3
  description: Scope and ambition review — challenges whether the plan is doing the right thing at the right scale
4
+ model: smart
4
5
  triggers:
5
6
  - think bigger
6
7
  - expand scope
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: ship
3
3
  description: Prepare and execute a clean commit — review the diff, write the message, check nothing's broken
4
+ model: smart
4
5
  triggers:
5
6
  - ship this
6
7
  - commit this
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: skill
3
3
  description: Create a new Phase2S skill — guided interview, generates a SKILL.md file
4
+ model: fast
4
5
  triggers:
5
6
  - create a skill
6
7
  - new skill
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: slop-clean
3
3
  description: Anti-slop refactor — targeted cleanup by smell category, one pass at a time, tests before and after
4
+ model: smart
4
5
  triggers:
5
6
  - clean
6
7
  - refactor
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: tdd
3
3
  description: Test-driven development — write failing tests first, then implement to make them pass, then refactor
4
+ model: smart
4
5
  triggers:
5
6
  - tdd
6
7
  - test driven
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: unfreeze
3
3
  description: Clear the active edit directory restriction set by /freeze or /guard
4
+ model: fast
4
5
  triggers:
5
6
  - unfreeze
6
7
  - unlock edits
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Phase2S
2
2
 
3
- Phase2S is a personal AI coding assistant you run in your terminal. You type questions about your code, ask it to review files, debug problems, or implement a feature — and it answers using your existing ChatGPT subscription or OpenAI API key.
3
+ Phase2S is a personal AI coding assistant you run in your terminal. You type questions about your code, ask it to review files, debug problems, or implement a feature — and it answers using your ChatGPT subscription, OpenAI API key, Anthropic API key, or a local Ollama model.
4
4
 
5
5
  Think of it as a slash-command layer on top of AI. Instead of typing "please review this file for security issues and flag each problem with a severity level", you type `/review src/core/auth.ts` and get a structured, consistent answer every time.
6
6
 
@@ -44,6 +44,28 @@ export PHASE2S_PROVIDER=openai-api
44
44
  phase2s
45
45
  ```
46
46
 
47
+ **Option C: Anthropic API key**
48
+
49
+ Run all 29 skills on Claude 3.5 Sonnet (or any Anthropic model).
50
+
51
+ ```bash
52
+ npm install -g @scanton/phase2s
53
+ export ANTHROPIC_API_KEY=sk-ant-your-key-here
54
+ export PHASE2S_PROVIDER=anthropic
55
+ phase2s
56
+ ```
57
+
58
+ **Option D: Local Ollama (free, private, offline)**
59
+
60
+ No API keys. Runs entirely on your machine after the initial model pull.
61
+
62
+ ```bash
63
+ npm install -g @scanton/phase2s
64
+ ollama pull llama3.1:8b
65
+ export PHASE2S_PROVIDER=ollama
66
+ phase2s
67
+ ```
68
+
47
69
  ---
48
70
 
49
71
  ## Quick start
@@ -61,7 +83,8 @@ you > /remember — save a project convention to memory
61
83
  One-shot mode (no REPL):
62
84
 
63
85
  ```bash
64
- phase2s run "explain what src/core/agent.ts does"
86
+ phase2s run "/explain src/core/agent.ts" # routes through the explain skill
87
+ phase2s run "explain what src/core/agent.ts does" # plain prompt, no skill
65
88
  ```
66
89
 
67
90
  Resume your last session:
@@ -112,9 +135,11 @@ phase2s skills
112
135
  - [x] SKILL.md compatibility with `~/.codex/skills/`
113
136
  - [x] Smart skill argument parsing (file paths vs. context strings)
114
137
  - [x] File sandbox: tools reject paths outside the project directory, including symlink escapes
115
- - [x] 208 tests covering all tools, core modules, and agent integration (`npm test`)
138
+ - [x] 279 tests covering all tools, core modules, and agent integration (`npm test`)
116
139
  - [x] CI: runs `npm test` on every push and PR (GitHub Actions, Node.js 22)
117
140
  - [x] Direct OpenAI API provider with live tool calling
141
+ - [x] Anthropic API provider — Claude 3.5 Sonnet and family, all 29 skills
142
+ - [x] Ollama provider — local models, offline, no API keys required
118
143
  - [x] Streaming output — responses stream token-by-token
119
144
  - [x] `npm install -g @scanton/phase2s`
120
145
  - [x] Session persistence — auto-save after each turn, `--resume` to continue
@@ -1,2 +1,17 @@
1
1
  export declare function main(argv?: string[]): Promise<void>;
2
+ /**
3
+ * Resolve a one-shot prompt against a skill list.
4
+ *
5
+ * If `prompt` starts with "/" and the skill name matches, returns the expanded
6
+ * prompt (template + context) and model override. Otherwise returns the prompt
7
+ * unchanged with no model override.
8
+ *
9
+ * Exported for unit testing — not part of the public API.
10
+ */
11
+ export declare function resolveSkillRouting(prompt: string, skills: import("../skills/types.js").Skill[]): {
12
+ effectivePrompt: string;
13
+ modelOverride: string | undefined;
14
+ routedSkillName: string | null;
15
+ unknownSkillName: string | null;
16
+ };
2
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AA8CA,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AA+CA,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEvE;AAgYD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,oBAAoB,EAAE,KAAK,EAAE,GAC3C;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAqBjI"}
@@ -11,8 +11,9 @@ import { Agent } from "../core/agent.js";
11
11
  import { Conversation } from "../core/conversation.js";
12
12
  import { loadLearnings, formatLearningsForPrompt } from "../core/memory.js";
13
13
  import { loadAllSkills } from "../skills/index.js";
14
+ import { substituteInputs, getUnfilledInputKeys } from "../skills/template.js";
14
15
  import { log } from "../utils/logger.js";
15
- const VERSION = "0.15.0";
16
+ const VERSION = "0.18.0";
16
17
  /** Directory for session auto-saves. */
17
18
  const SESSION_DIR = join(process.cwd(), ".phase2s", "sessions");
18
19
  /** Path for today's session file. */
@@ -190,6 +191,8 @@ async function interactiveMode(config, opts = {}) {
190
191
  process.exit(1);
191
192
  if (!checkOpenAIKey(config))
192
193
  process.exit(1);
194
+ if (!checkAnthropicKey(config))
195
+ process.exit(1);
193
196
  // --resume: load most recent session
194
197
  let resumedConversation;
195
198
  if (opts.resume) {
@@ -318,11 +321,21 @@ async function interactiveMode(config, opts = {}) {
318
321
  }
319
322
  }
320
323
  const safeArgs = args.startsWith("force:") ? args.slice("force:".length).trim() : args;
321
- const finalExpanded = skill.promptTemplate + buildSkillContext(safeArgs);
324
+ // Prompt user for any declared inputs that appear as {{key}} in the template
325
+ const inputValues = {};
326
+ const unfilledKeys = getUnfilledInputKeys(skill.promptTemplate, skill.inputs);
327
+ for (const key of unfilledKeys) {
328
+ const inputDef = skill.inputs[key];
329
+ process.stdout.write(chalk.cyan(` ${inputDef.prompt} `));
330
+ const answer = await nextLine();
331
+ inputValues[key] = answer?.trim() ?? "";
332
+ }
333
+ const substitutedTemplate = substituteInputs(skill.promptTemplate, inputValues, skill.inputs);
334
+ const finalExpanded = substitutedTemplate + buildSkillContext(safeArgs);
322
335
  process.stdout.write(chalk.dim(`Running /${skill.name}${safeArgs ? ` on: ${safeArgs}` : ""}...\n`));
323
336
  // Satori mode: skill declares retries > 0
324
337
  if (skill.retries && skill.retries > 0) {
325
- const slug = makeSlug(expanded.slice(0, 100));
338
+ const slug = makeSlug(finalExpanded.slice(0, 100));
326
339
  const startedAt = new Date().toISOString();
327
340
  const attempts = [];
328
341
  try {
@@ -330,7 +343,7 @@ async function interactiveMode(config, opts = {}) {
330
343
  modelOverride: skill.model,
331
344
  maxRetries: skill.retries,
332
345
  verifyCommand: config.verifyCommand,
333
- preRun: () => writeContextSnapshot(expanded, config),
346
+ preRun: () => writeContextSnapshot(finalExpanded, config),
334
347
  postRun: async (result) => {
335
348
  attempts.push(result);
336
349
  await writeSatoriLog(slug, startedAt, result, config, attempts);
@@ -423,11 +436,50 @@ function checkOpenAIKey(config) {
423
436
  " Or add: apiKey: sk-... in .phase2s.yaml\n"));
424
437
  return false;
425
438
  }
439
+ function checkAnthropicKey(config) {
440
+ if (config.provider !== "anthropic")
441
+ return true;
442
+ if (config.anthropicApiKey)
443
+ return true;
444
+ console.error(chalk.red("\n✗ Anthropic API key not found.\n") +
445
+ chalk.dim(" Set it: export ANTHROPIC_API_KEY=sk-ant-...\n" +
446
+ " Or add: anthropicApiKey: sk-ant-... in .phase2s.yaml\n"));
447
+ return false;
448
+ }
449
+ /**
450
+ * Resolve a one-shot prompt against a skill list.
451
+ *
452
+ * If `prompt` starts with "/" and the skill name matches, returns the expanded
453
+ * prompt (template + context) and model override. Otherwise returns the prompt
454
+ * unchanged with no model override.
455
+ *
456
+ * Exported for unit testing — not part of the public API.
457
+ */
458
+ export function resolveSkillRouting(prompt, skills) {
459
+ if (!prompt.startsWith("/")) {
460
+ return { effectivePrompt: prompt, modelOverride: undefined, routedSkillName: null, unknownSkillName: null };
461
+ }
462
+ const rest = prompt.slice(1);
463
+ const [skillName, ...argParts] = rest.split(" ");
464
+ const args = argParts.join(" ");
465
+ if (!skillName) {
466
+ return { effectivePrompt: prompt, modelOverride: undefined, routedSkillName: null, unknownSkillName: null };
467
+ }
468
+ const skill = skills.find((s) => s.name === skillName);
469
+ if (skill) {
470
+ const substitutedTemplate = substituteInputs(skill.promptTemplate, {}, skill.inputs);
471
+ const effectivePrompt = substitutedTemplate + buildSkillContext(args);
472
+ return { effectivePrompt, modelOverride: skill.model, routedSkillName: skill.name, unknownSkillName: null };
473
+ }
474
+ return { effectivePrompt: prompt, modelOverride: undefined, routedSkillName: null, unknownSkillName: skillName };
475
+ }
426
476
  async function oneShotMode(config, prompt) {
427
477
  if (!(await checkCodexBinary(config)))
428
478
  process.exit(1);
429
479
  if (!checkOpenAIKey(config))
430
480
  process.exit(1);
481
+ if (!checkAnthropicKey(config))
482
+ process.exit(1);
431
483
  // Load persistent memory learnings from .phase2s/memory/learnings.jsonl
432
484
  const learningsList = await loadLearnings(process.cwd());
433
485
  const learningsStr = formatLearningsForPrompt(learningsList);
@@ -436,8 +488,21 @@ async function oneShotMode(config, prompt) {
436
488
  }
437
489
  const agent = new Agent({ config, learnings: learningsStr });
438
490
  let hasOutput = false;
491
+ // Skill routing: if prompt starts with "/" look up and run the named skill
492
+ const skills = await loadAllSkills();
493
+ const { effectivePrompt, modelOverride, routedSkillName, unknownSkillName } = resolveSkillRouting(prompt, skills);
494
+ if (routedSkillName) {
495
+ const resolvedModel = modelOverride ?? config.model ?? "default";
496
+ process.stderr.write(`Routing to skill: ${routedSkillName} (model: ${resolvedModel})\n`);
497
+ }
498
+ else if (unknownSkillName) {
499
+ process.stderr.write(`No skill named '${unknownSkillName}'. Running as plain prompt. Use 'phase2s skills' to list available skills.\n`);
500
+ }
439
501
  try {
440
- const result = await agent.run(prompt, { onDelta: (chunk) => { process.stdout.write(chunk); hasOutput = true; } });
502
+ const result = await agent.run(effectivePrompt, {
503
+ modelOverride,
504
+ onDelta: (chunk) => { process.stdout.write(chunk); hasOutput = true; },
505
+ });
441
506
  if (!hasOutput) {
442
507
  // Fallback: tool-only path with no final text (rare in practice)
443
508
  process.stdout.write(result);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEzB,wCAAwC;AACxC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEhE,qCAAqC;AACrC,SAAS,gBAAgB;IACvB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3H,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mFAAmF;IACnF,MAAM,QAAQ,GAAG,OAAO;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,EAAE;SACN,OAAO,EAAE,CAAC;IACb,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI;IACtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,iDAAiD,CAAC;SAC9D,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,2BAA2B,EAAE,uCAAuC,CAAC;SAC5E,MAAM,CAAC,qBAAqB,EAAE,cAAc,CAAC;SAC7C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SACnD,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC,CAAC;IAExD,oCAAoC;IACpC,OAAO;SACJ,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpC,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,MAAM,eAAe,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,wBAAwB;IACxB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,MAAM,GAAG,wBAAwB,IAAI,CAAC,WAAW,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,MAAM;SACV,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAAc;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,MAAM,OAAO,GAAG;QACd,uBAAuB,IAAI,EAAE;QAC7B,SAAS,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QACnC,WAAW,MAAM,EAAE;QACnB,SAAS,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;QAC/B,EAAE;QACF,qBAAqB;QACrB,MAAM,IAAI,cAAc;QACxB,EAAE;QACF,OAAO,IAAI,0BAA0B;QACrC,EAAE;QACF,qBAAqB;QACrB,WAAW,MAAM,CAAC,aAAa,IAAI,UAAU,EAAE;QAC/C,EAAE;QACF,aAAa;QACb,2CAA2C;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,GAAG,CAAC,GAAG,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,SAAiB,EACjB,MAA+C,EAC/C,MAAc,EACd,WAAsD;IAEtD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,IAAI;QACd,SAAS;QACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,UAAU;QACjD,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;iBACzB,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC3C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CAAC;QACH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;KACjD,CAAC;IAEF,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAA6B,EAAE;IAC5E,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhD,qCAAqC;IACrC,IAAI,mBAA6C,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,mBAAmB,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,WAAW,KAAK,mBAAmB,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC;YAC5G,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;IAEnF,wEAAwE;IACxE,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,CAAC,cAAc,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC;IAC1H,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IAErC,wCAAwC;IACxC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAEvC,2DAA2D;IAC3D,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,6EAA6E;IAC7E,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,cAAc,GAA2C,IAAI,CAAC;IAClE,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,cAAc,CAAC;YAC/B,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,MAAM,GAAG,KAAK,CAAC;QACf,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,0FAA0F;QAC1F,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjI,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,QAAQ,GAAG,GAA2B,EAAE;QAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,cAAc,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,2EAA2E;IAC3E,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAC5C,IAAI,CAAC;YACH,uEAAuE;YACvE,mFAAmF;YACnF,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtE,iBAAiB;IACjB,OAAO,IAAI,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QAEd,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,CAAC,uBAAuB;QAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,iFAAiF;QACjF,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAEhE,0BAA0B;gBAC1B,IAAI,MAAM,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9D,MAAM,WAAW,GAAG,IAAI,IAAI,OAAO,CAAC;oBACpC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;wBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2FAA2F,CAAC,CAAC,CAAC;wBACvH,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEvF,6EAA6E;gBAC7E,MAAM,WAAW,GAA2B,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9E,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAO,CAAC,GAAG,CAAC,CAAC;oBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;oBAChC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC1C,CAAC;gBACD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9F,MAAM,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAExE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEpG,0CAA0C;gBAC1C,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBACnD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAA8C,EAAE,CAAC;oBAE/D,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE;4BAC9C,aAAa,EAAE,KAAK,CAAC,KAAK;4BAC1B,UAAU,EAAE,KAAK,CAAC,OAAO;4BACzB,aAAa,EAAE,MAAM,CAAC,aAAa;4BACnC,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC;4BACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gCACxB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCACtB,MAAM,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;4BAClE,CAAC;yBACF,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;wBAC5D,MAAM,WAAW,EAAE,CAAC;oBACtB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,mBAAmB;oBACnB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;wBAC5D,MAAM,WAAW,EAAE,CAAC;oBACtB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,6DAA6D;IAC7D,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,QAAQ,SAAS,kCAAkC,CAAC;QAC9D,KAAK,CAAC,GAAG,CACP,sDAAsD;YACtD,6DAA6D;YAC7D,mEAAmE,CACpE,CACF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC;QAC5C,KAAK,CAAC,GAAG,CACP,2CAA2C;YAC3C,8CAA8C,CAC/C,CACF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,MAAM,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC;QAC/C,KAAK,CAAC,GAAG,CACP,kDAAkD;YAClD,2DAA2D,CAC5D,CACF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,MAA4C;IAE5C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9G,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9G,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACvD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC9G,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;AACnH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,MAAc;IACvD,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhD,wEAAwE;IACxE,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,CAAC,cAAc,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC;IAC1H,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7D,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,2EAA2E;IAC3E,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElH,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,aAAa,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,eAAe,YAAY,aAAa,KAAK,CAAC,CAAC;IAC3F,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,gBAAgB,8EAA8E,CAAC,CAAC;IAC1I,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE;YAC9C,aAAa;YACb,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;SACvE,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,iEAAiE;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE,CACtC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,8BAA8B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,0DAA0D;IAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,2BAA2B,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,MAAoD;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/core/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM7E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,YAAY;IAoB9B,eAAe,IAAI,YAAY;IAI/B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;YACW,SAAS;IAoBvB;;;OAGG;YACW,OAAO;IAyErB;;;;;OAKG;IACG,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAgDtG"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/core/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM7E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,YAAY;IAsB9B,eAAe,IAAI,YAAY;IAI/B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;YACW,SAAS;IAoBvB;;;OAGG;YACW,OAAO;IAyErB;;;;;OAKG;IACG,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAgDtG"}
@@ -14,7 +14,9 @@ export class Agent {
14
14
  maxTurns;
15
15
  constructor(opts) {
16
16
  this.config = opts.config;
17
- this.tools = opts.tools ?? createDefaultRegistry(opts.config.allowDestructive);
17
+ const baseRegistry = opts.tools ?? createDefaultRegistry(opts.config.allowDestructive);
18
+ // Apply per-project allow/deny list from config (deny overrides allow)
19
+ this.tools = baseRegistry.allowed(opts.config.tools, opts.config.deny);
18
20
  this.provider = opts.provider ?? createProvider(opts.config);
19
21
  this.maxTurns = opts.config.maxTurns;
20
22
  if (opts.conversation) {