tau-coding-agent 0.1.4 → 0.1.5

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 (45) hide show
  1. package/README.md +1 -1
  2. package/extensions/answer.ts +48 -42
  3. package/extensions/branch-term.ts +8 -13
  4. package/extensions/btw.ts +4 -4
  5. package/extensions/ghostty.ts +64 -11
  6. package/extensions/insights.ts +4 -3
  7. package/extensions/loop.ts +37 -9
  8. package/extensions/memory.ts +5 -10
  9. package/extensions/notify.ts +24 -5
  10. package/extensions/openai-fast.ts +6 -4
  11. package/extensions/openai-verbosity.ts +6 -4
  12. package/extensions/review/fix.ts +239 -0
  13. package/extensions/review/git.ts +517 -0
  14. package/extensions/review/index.ts +232 -0
  15. package/extensions/review/message-queue.ts +249 -0
  16. package/extensions/review/models.ts +589 -0
  17. package/extensions/review/prompts.ts +337 -0
  18. package/extensions/review/renderers/inline.ts +126 -0
  19. package/extensions/review/request.ts +504 -0
  20. package/extensions/review/review.ts +1305 -0
  21. package/extensions/review/runner.ts +522 -0
  22. package/extensions/review/runtime.ts +275 -0
  23. package/extensions/review/schema.ts +160 -0
  24. package/extensions/review/submit-review-tool.ts +66 -0
  25. package/extensions/review/submit-triage-tool.ts +59 -0
  26. package/extensions/review/triage.ts +746 -0
  27. package/extensions/sandbox/index.ts +399 -102
  28. package/extensions/{interlude.ts → stash.ts} +13 -11
  29. package/extensions/tool-display-mode.ts +2 -3
  30. package/extensions/usage/index.ts +8 -4
  31. package/extensions/websearch/README.md +1 -1
  32. package/extensions/websearch/browser/chromium.ts +42 -31
  33. package/extensions/websearch/browser/discovery.ts +11 -9
  34. package/extensions/websearch/browser/firefox.ts +10 -7
  35. package/extensions/websearch/browser/fs.ts +10 -0
  36. package/extensions/websearch/browser/sqlite.ts +22 -15
  37. package/extensions/websearch/config.ts +2 -2
  38. package/extensions/websearch/index.ts +6 -6
  39. package/extensions/worktree.ts +33 -33
  40. package/package.json +3 -3
  41. package/skills/git-clean-history/SKILL.md +1 -0
  42. package/skills/git-commit/SKILL.md +2 -2
  43. package/skills/oracle/scripts/oracle +28 -11
  44. package/themes/tau-dark.json +2 -1
  45. package/extensions/review.ts +0 -4420
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tau-coding-agent",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Opinionated Pi package with web search, review workflows, sandboxing, memory, usage reporting, skills, and a theme",
5
5
  "keywords": [
6
6
  "agent-tools",
@@ -53,13 +53,13 @@
53
53
  "extensions/git-diff-stats.ts",
54
54
  "extensions/git-pr-status.ts",
55
55
  "extensions/insights.ts",
56
- "extensions/interlude.ts",
56
+ "extensions/stash.ts",
57
57
  "extensions/loop.ts",
58
58
  "extensions/memory.ts",
59
59
  "extensions/notify.ts",
60
60
  "extensions/openai-fast.ts",
61
61
  "extensions/openai-verbosity.ts",
62
- "extensions/review.ts",
62
+ "extensions/review/index.ts",
63
63
  "extensions/sandbox/index.ts",
64
64
  "extensions/tool-display-mode.ts",
65
65
  "extensions/usage/index.ts",
@@ -12,6 +12,7 @@ Use this skill to reimplement the current branch on a new branch with a clean, n
12
12
  1. **Validate the source branch**
13
13
  - Ensure no uncommitted changes or merge conflicts
14
14
  - Confirm it is up to date with `main`
15
+ - Confirm `main` is up to date with `origin/main`
15
16
 
16
17
  2. **Analyze the diff**
17
18
  - Study all changes between source branch and `main`
@@ -11,7 +11,7 @@ Use this skill as the playbook for producing reviewable commits and a clean, con
11
11
 
12
12
  1. Check what files have changed
13
13
  2. If there are no changes to commit, inform the user and stop
14
- 3. If there are unstaged changes, stage them with `git add`
14
+ 3. If there are unstaged changes, stage relevant hunks or files with `git add -p` or `git add`
15
15
 
16
16
  Rules:
17
17
 
@@ -21,7 +21,7 @@ Rules:
21
21
 
22
22
  ## Phase 2: Generate commit message
23
23
 
24
- 1. Remember commit messages best practices
24
+ 1. Remember commit message best practices
25
25
  2. Write a short subject line:
26
26
  - Up to 50 chars
27
27
  - Start subject with a capital letter, don’t end with a period
@@ -1,12 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawnSync } from "node:child_process";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
- import { homedir } from "node:os";
5
4
  import path from "node:path";
5
+ import { getAgentDir } from "@earendil-works/pi-coding-agent";
6
6
  import { fileURLToPath } from "node:url";
7
7
 
8
- const THINKING_LEVEL = "xhigh";
8
+ const THINKING_LEVEL = "max";
9
9
  const SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
10
+ const BARE_PI_ARGS = [
11
+ "-p",
12
+ "--no-session",
13
+ "--no-tools",
14
+ "--no-extensions",
15
+ "--no-skills",
16
+ "--no-prompt-templates",
17
+ "--no-themes",
18
+ ];
10
19
 
11
20
  const FAMILY_ORDER = {
12
21
  openai: ["anthropic", "google", "openai"],
@@ -47,11 +56,15 @@ if (bundle.status !== 0) {
47
56
  process.exit(bundle.status ?? 1);
48
57
  }
49
58
 
50
- const pi = spawnSync("pi", ["-p", "--no-tools", "--model", oracleModel, "--thinking", THINKING_LEVEL], {
51
- cwd: repoRoot(),
52
- input: bundle.stdout,
53
- stdio: ["pipe", "inherit", "inherit"],
54
- });
59
+ const pi = spawnSync(
60
+ "pi",
61
+ [...BARE_PI_ARGS, "--model", oracleModel, "--thinking", THINKING_LEVEL],
62
+ {
63
+ cwd: repoRoot(),
64
+ input: bundle.stdout,
65
+ stdio: ["pipe", "inherit", "inherit"],
66
+ },
67
+ );
55
68
 
56
69
  if (pi.error) die(pi.error.message);
57
70
  process.exit(pi.status ?? 1);
@@ -75,7 +88,12 @@ function parseArgs(argv) {
75
88
  }
76
89
  }
77
90
 
78
- return { bundleArgs, currentModel: currentModel ? normalizeModelSpec(currentModel) : undefined, model, listModels };
91
+ return {
92
+ bundleArgs,
93
+ currentModel: currentModel ? normalizeModelSpec(currentModel) : undefined,
94
+ model,
95
+ listModels,
96
+ };
79
97
  }
80
98
 
81
99
  function requireValue(argv, index, flag) {
@@ -85,8 +103,7 @@ function requireValue(argv, index, flag) {
85
103
  }
86
104
 
87
105
  function readSettings() {
88
- const agentDir = process.env.PI_CODING_AGENT_DIR ?? path.join(homedir(), ".pi", "agent");
89
- const settingsPath = path.join(agentDir, "settings.json");
106
+ const settingsPath = path.join(getAgentDir(), "settings.json");
90
107
  if (!existsSync(settingsPath)) return {};
91
108
 
92
109
  try {
@@ -218,7 +235,7 @@ function modelFamily(spec) {
218
235
  }
219
236
 
220
237
  function normalizeModelSpec(spec) {
221
- return String(spec).trim().replace(/:(off|minimal|low|medium|high|xhigh)$/i, "");
238
+ return String(spec).trim().replace(/:(off|minimal|low|medium|high|xhigh|max)$/i, "");
222
239
  }
223
240
 
224
241
  function printModelPlan(models, enabledModels, currentModel, currentFamily) {
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/badlogic/pi-mono/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
3
  "name": "tau-dark",
4
4
  "vars": {
5
5
  "accent": "#8abeb7",
@@ -74,6 +74,7 @@
74
74
  "thinkingMedium": "#6f9bb3",
75
75
  "thinkingHigh": "#78a8a1",
76
76
  "thinkingXhigh": "accent",
77
+ "thinkingMax": "#a8d8d1",
77
78
 
78
79
  "bashMode": "green"
79
80
  },