@scanton/phase2s 0.13.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 (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +137 -0
  3. package/dist/bin/phase2s.d.ts +3 -0
  4. package/dist/bin/phase2s.d.ts.map +1 -0
  5. package/dist/bin/phase2s.js +7 -0
  6. package/dist/bin/phase2s.js.map +1 -0
  7. package/dist/src/cli/index.d.ts +2 -0
  8. package/dist/src/cli/index.d.ts.map +1 -0
  9. package/dist/src/cli/index.js +499 -0
  10. package/dist/src/cli/index.js.map +1 -0
  11. package/dist/src/core/agent.d.ts +63 -0
  12. package/dist/src/core/agent.d.ts.map +1 -0
  13. package/dist/src/core/agent.js +178 -0
  14. package/dist/src/core/agent.js.map +1 -0
  15. package/dist/src/core/config.d.ts +52 -0
  16. package/dist/src/core/config.d.ts.map +1 -0
  17. package/dist/src/core/config.js +103 -0
  18. package/dist/src/core/config.js.map +1 -0
  19. package/dist/src/core/conversation.d.ts +44 -0
  20. package/dist/src/core/conversation.d.ts.map +1 -0
  21. package/dist/src/core/conversation.js +128 -0
  22. package/dist/src/core/conversation.js.map +1 -0
  23. package/dist/src/core/memory.d.ts +24 -0
  24. package/dist/src/core/memory.d.ts.map +1 -0
  25. package/dist/src/core/memory.js +65 -0
  26. package/dist/src/core/memory.js.map +1 -0
  27. package/dist/src/mcp/server.d.ts +73 -0
  28. package/dist/src/mcp/server.d.ts.map +1 -0
  29. package/dist/src/mcp/server.js +215 -0
  30. package/dist/src/mcp/server.js.map +1 -0
  31. package/dist/src/providers/codex.d.ts +28 -0
  32. package/dist/src/providers/codex.d.ts.map +1 -0
  33. package/dist/src/providers/codex.js +162 -0
  34. package/dist/src/providers/codex.js.map +1 -0
  35. package/dist/src/providers/index.d.ts +6 -0
  36. package/dist/src/providers/index.d.ts.map +1 -0
  37. package/dist/src/providers/index.js +13 -0
  38. package/dist/src/providers/index.js.map +1 -0
  39. package/dist/src/providers/openai.d.ts +36 -0
  40. package/dist/src/providers/openai.d.ts.map +1 -0
  41. package/dist/src/providers/openai.js +117 -0
  42. package/dist/src/providers/openai.js.map +1 -0
  43. package/dist/src/providers/types.d.ts +34 -0
  44. package/dist/src/providers/types.d.ts.map +1 -0
  45. package/dist/src/providers/types.js +2 -0
  46. package/dist/src/providers/types.js.map +1 -0
  47. package/dist/src/skills/index.d.ts +3 -0
  48. package/dist/src/skills/index.d.ts.map +1 -0
  49. package/dist/src/skills/index.js +2 -0
  50. package/dist/src/skills/index.js.map +1 -0
  51. package/dist/src/skills/loader.d.ts +23 -0
  52. package/dist/src/skills/loader.d.ts.map +1 -0
  53. package/dist/src/skills/loader.js +136 -0
  54. package/dist/src/skills/loader.js.map +1 -0
  55. package/dist/src/skills/types.d.ts +14 -0
  56. package/dist/src/skills/types.d.ts.map +1 -0
  57. package/dist/src/skills/types.js +2 -0
  58. package/dist/src/skills/types.js.map +1 -0
  59. package/dist/src/tools/file-read.d.ts +3 -0
  60. package/dist/src/tools/file-read.d.ts.map +1 -0
  61. package/dist/src/tools/file-read.js +50 -0
  62. package/dist/src/tools/file-read.js.map +1 -0
  63. package/dist/src/tools/file-write.d.ts +3 -0
  64. package/dist/src/tools/file-write.d.ts.map +1 -0
  65. package/dist/src/tools/file-write.js +90 -0
  66. package/dist/src/tools/file-write.js.map +1 -0
  67. package/dist/src/tools/glob-tool.d.ts +3 -0
  68. package/dist/src/tools/glob-tool.d.ts.map +1 -0
  69. package/dist/src/tools/glob-tool.js +38 -0
  70. package/dist/src/tools/glob-tool.js.map +1 -0
  71. package/dist/src/tools/grep-tool.d.ts +3 -0
  72. package/dist/src/tools/grep-tool.d.ts.map +1 -0
  73. package/dist/src/tools/grep-tool.js +59 -0
  74. package/dist/src/tools/grep-tool.js.map +1 -0
  75. package/dist/src/tools/index.d.ts +5 -0
  76. package/dist/src/tools/index.d.ts.map +1 -0
  77. package/dist/src/tools/index.js +17 -0
  78. package/dist/src/tools/index.js.map +1 -0
  79. package/dist/src/tools/registry.d.ts +13 -0
  80. package/dist/src/tools/registry.d.ts.map +1 -0
  81. package/dist/src/tools/registry.js +50 -0
  82. package/dist/src/tools/registry.js.map +1 -0
  83. package/dist/src/tools/sandbox.d.ts +29 -0
  84. package/dist/src/tools/sandbox.d.ts.map +1 -0
  85. package/dist/src/tools/sandbox.js +84 -0
  86. package/dist/src/tools/sandbox.js.map +1 -0
  87. package/dist/src/tools/shell.d.ts +10 -0
  88. package/dist/src/tools/shell.d.ts.map +1 -0
  89. package/dist/src/tools/shell.js +108 -0
  90. package/dist/src/tools/shell.js.map +1 -0
  91. package/dist/src/tools/types.d.ts +25 -0
  92. package/dist/src/tools/types.d.ts.map +1 -0
  93. package/dist/src/tools/types.js +54 -0
  94. package/dist/src/tools/types.js.map +1 -0
  95. package/dist/src/utils/logger.d.ts +10 -0
  96. package/dist/src/utils/logger.d.ts.map +1 -0
  97. package/dist/src/utils/logger.js +25 -0
  98. package/dist/src/utils/logger.js.map +1 -0
  99. package/dist/src/utils/prompt.d.ts +3 -0
  100. package/dist/src/utils/prompt.d.ts.map +1 -0
  101. package/dist/src/utils/prompt.js +26 -0
  102. package/dist/src/utils/prompt.js.map +1 -0
  103. package/package.json +55 -0
@@ -0,0 +1,26 @@
1
+ export function buildSystemPrompt(tools, customPrompt, learnings) {
2
+ const parts = [];
3
+ parts.push(`You are Phase2S, an AI programming assistant running in the user's terminal.
4
+ You help with software engineering tasks: writing code, debugging, running commands, and managing files.
5
+
6
+ You have access to the following tools to interact with the user's system:`);
7
+ for (const tool of tools) {
8
+ parts.push(`- **${tool.name}**: ${tool.description}`);
9
+ }
10
+ parts.push(`
11
+ Guidelines:
12
+ - Use tools to read files before modifying them.
13
+ - Use the shell tool to run commands when needed (builds, tests, git, etc.).
14
+ - Be concise in your responses. Lead with actions, not explanations.
15
+ - When you make changes, verify they work by running relevant commands.
16
+ - If a task is ambiguous, ask for clarification.
17
+ - Work in the user's current directory unless told otherwise.`);
18
+ if (customPrompt) {
19
+ parts.push(`\nAdditional instructions:\n${customPrompt}`);
20
+ }
21
+ if (learnings) {
22
+ parts.push(`\n${learnings}`);
23
+ }
24
+ return parts.join("\n");
25
+ }
26
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/utils/prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAE,YAAqB,EAAE,SAAkB;IAClG,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC;;;2EAG8D,CAAC,CAAC;IAE3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;;;;;;;8DAOiD,CAAC,CAAC;IAE9D,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@scanton/phase2s",
3
+ "version": "0.13.0",
4
+ "description": "AI programming harness with multi-model support",
5
+ "type": "module",
6
+ "files": [
7
+ "dist/",
8
+ "README.md",
9
+ "LICENSE"
10
+ ],
11
+ "main": "dist/cli/index.js",
12
+ "bin": {
13
+ "phase2s": "dist/bin/phase2s.js"
14
+ },
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "dev": "tsc --watch",
18
+ "start": "node dist/bin/phase2s.js",
19
+ "lint": "tsc --noEmit",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest"
22
+ },
23
+ "test": {
24
+ "include": [
25
+ "test/**/*.test.ts"
26
+ ],
27
+ "environment": "node"
28
+ },
29
+ "engines": {
30
+ "node": ">=20"
31
+ },
32
+ "keywords": [
33
+ "ai",
34
+ "codex",
35
+ "openai",
36
+ "cli",
37
+ "agent"
38
+ ],
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "@iarna/toml": "^2.2.5",
42
+ "@types/iarna__toml": "^2.0.5",
43
+ "chalk": "^5.3.0",
44
+ "commander": "^12.1.0",
45
+ "glob": "^11.0.0",
46
+ "openai": "^4.73.0",
47
+ "yaml": "^2.6.0",
48
+ "zod": "^3.23.0"
49
+ },
50
+ "devDependencies": {
51
+ "@types/node": "^22.9.0",
52
+ "typescript": "^5.7.0",
53
+ "vitest": "^4.1.2"
54
+ }
55
+ }