localptp 0.1.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 (186) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +159 -0
  3. package/dist/cli.d.ts +24 -0
  4. package/dist/cli.js +344 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/config.d.ts +14 -0
  7. package/dist/commands/config.js +65 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/context.d.ts +12 -0
  10. package/dist/commands/context.js +176 -0
  11. package/dist/commands/context.js.map +1 -0
  12. package/dist/commands/doctor.d.ts +16 -0
  13. package/dist/commands/doctor.js +54 -0
  14. package/dist/commands/doctor.js.map +1 -0
  15. package/dist/commands/index.d.ts +13 -0
  16. package/dist/commands/index.js +70 -0
  17. package/dist/commands/index.js.map +1 -0
  18. package/dist/commands/init.d.ts +15 -0
  19. package/dist/commands/init.js +46 -0
  20. package/dist/commands/init.js.map +1 -0
  21. package/dist/commands/plan.d.ts +17 -0
  22. package/dist/commands/plan.js +170 -0
  23. package/dist/commands/plan.js.map +1 -0
  24. package/dist/commands/resume.d.ts +17 -0
  25. package/dist/commands/resume.js +75 -0
  26. package/dist/commands/resume.js.map +1 -0
  27. package/dist/commands/review.d.ts +17 -0
  28. package/dist/commands/review.js +67 -0
  29. package/dist/commands/review.js.map +1 -0
  30. package/dist/commands/run.d.ts +24 -0
  31. package/dist/commands/run.js +65 -0
  32. package/dist/commands/run.js.map +1 -0
  33. package/dist/commands/step.d.ts +44 -0
  34. package/dist/commands/step.js +50 -0
  35. package/dist/commands/step.js.map +1 -0
  36. package/dist/commands/summarize.d.ts +17 -0
  37. package/dist/commands/summarize.js +276 -0
  38. package/dist/commands/summarize.js.map +1 -0
  39. package/dist/commands/task.d.ts +13 -0
  40. package/dist/commands/task.js +53 -0
  41. package/dist/commands/task.js.map +1 -0
  42. package/dist/core/activePointer.d.ts +28 -0
  43. package/dist/core/activePointer.js +84 -0
  44. package/dist/core/activePointer.js.map +1 -0
  45. package/dist/core/approval.d.ts +12 -0
  46. package/dist/core/approval.js +34 -0
  47. package/dist/core/approval.js.map +1 -0
  48. package/dist/core/configManager.d.ts +32 -0
  49. package/dist/core/configManager.js +177 -0
  50. package/dist/core/configManager.js.map +1 -0
  51. package/dist/core/contextBuilder.d.ts +40 -0
  52. package/dist/core/contextBuilder.js +406 -0
  53. package/dist/core/contextBuilder.js.map +1 -0
  54. package/dist/core/memoryLoader.d.ts +4 -0
  55. package/dist/core/memoryLoader.js +35 -0
  56. package/dist/core/memoryLoader.js.map +1 -0
  57. package/dist/core/memoryManager.d.ts +41 -0
  58. package/dist/core/memoryManager.js +181 -0
  59. package/dist/core/memoryManager.js.map +1 -0
  60. package/dist/core/memoryPolicy.d.ts +23 -0
  61. package/dist/core/memoryPolicy.js +73 -0
  62. package/dist/core/memoryPolicy.js.map +1 -0
  63. package/dist/core/modelClient.d.ts +37 -0
  64. package/dist/core/modelClient.js +160 -0
  65. package/dist/core/modelClient.js.map +1 -0
  66. package/dist/core/patchManager.d.ts +89 -0
  67. package/dist/core/patchManager.js +801 -0
  68. package/dist/core/patchManager.js.map +1 -0
  69. package/dist/core/plannerJson.d.ts +23 -0
  70. package/dist/core/plannerJson.js +118 -0
  71. package/dist/core/plannerJson.js.map +1 -0
  72. package/dist/core/promptManager.d.ts +16 -0
  73. package/dist/core/promptManager.js +35 -0
  74. package/dist/core/promptManager.js.map +1 -0
  75. package/dist/core/prompts.d.ts +8 -0
  76. package/dist/core/prompts.js +18 -0
  77. package/dist/core/prompts.js.map +1 -0
  78. package/dist/core/repoIndexer.d.ts +21 -0
  79. package/dist/core/repoIndexer.js +557 -0
  80. package/dist/core/repoIndexer.js.map +1 -0
  81. package/dist/core/reviewEngine.d.ts +53 -0
  82. package/dist/core/reviewEngine.js +229 -0
  83. package/dist/core/reviewEngine.js.map +1 -0
  84. package/dist/core/runLoop.d.ts +26 -0
  85. package/dist/core/runLoop.js +103 -0
  86. package/dist/core/runLoop.js.map +1 -0
  87. package/dist/core/runStep.d.ts +42 -0
  88. package/dist/core/runStep.js +586 -0
  89. package/dist/core/runStep.js.map +1 -0
  90. package/dist/core/safetyManager.d.ts +7 -0
  91. package/dist/core/safetyManager.js +202 -0
  92. package/dist/core/safetyManager.js.map +1 -0
  93. package/dist/core/sessionManager.d.ts +35 -0
  94. package/dist/core/sessionManager.js +265 -0
  95. package/dist/core/sessionManager.js.map +1 -0
  96. package/dist/core/stopConditions.d.ts +24 -0
  97. package/dist/core/stopConditions.js +18 -0
  98. package/dist/core/stopConditions.js.map +1 -0
  99. package/dist/core/taskManager.d.ts +26 -0
  100. package/dist/core/taskManager.js +312 -0
  101. package/dist/core/taskManager.js.map +1 -0
  102. package/dist/core/testRunner.d.ts +27 -0
  103. package/dist/core/testRunner.js +71 -0
  104. package/dist/core/testRunner.js.map +1 -0
  105. package/dist/prompts/coder.d.ts +3 -0
  106. package/dist/prompts/coder.js +46 -0
  107. package/dist/prompts/coder.js.map +1 -0
  108. package/dist/prompts/planner.d.ts +3 -0
  109. package/dist/prompts/planner.js +44 -0
  110. package/dist/prompts/planner.js.map +1 -0
  111. package/dist/prompts/reviewer.d.ts +3 -0
  112. package/dist/prompts/reviewer.js +41 -0
  113. package/dist/prompts/reviewer.js.map +1 -0
  114. package/dist/prompts/summarizer.d.ts +3 -0
  115. package/dist/prompts/summarizer.js +65 -0
  116. package/dist/prompts/summarizer.js.map +1 -0
  117. package/dist/prompts/testFixer.d.ts +3 -0
  118. package/dist/prompts/testFixer.js +33 -0
  119. package/dist/prompts/testFixer.js.map +1 -0
  120. package/dist/repl/approver.d.ts +15 -0
  121. package/dist/repl/approver.js +21 -0
  122. package/dist/repl/approver.js.map +1 -0
  123. package/dist/repl/dispatch.d.ts +48 -0
  124. package/dist/repl/dispatch.js +164 -0
  125. package/dist/repl/dispatch.js.map +1 -0
  126. package/dist/repl/loop.d.ts +14 -0
  127. package/dist/repl/loop.js +124 -0
  128. package/dist/repl/loop.js.map +1 -0
  129. package/dist/repl/tokenize.d.ts +13 -0
  130. package/dist/repl/tokenize.js +56 -0
  131. package/dist/repl/tokenize.js.map +1 -0
  132. package/dist/templates/memory.d.ts +13 -0
  133. package/dist/templates/memory.js +32 -0
  134. package/dist/templates/memory.js.map +1 -0
  135. package/dist/types/config.d.ts +235 -0
  136. package/dist/types/config.js +66 -0
  137. package/dist/types/config.js.map +1 -0
  138. package/dist/types/context.d.ts +78 -0
  139. package/dist/types/context.js +141 -0
  140. package/dist/types/context.js.map +1 -0
  141. package/dist/types/index.d.ts +117 -0
  142. package/dist/types/index.js +24 -0
  143. package/dist/types/index.js.map +1 -0
  144. package/dist/types/model.d.ts +35 -0
  145. package/dist/types/model.js +16 -0
  146. package/dist/types/model.js.map +1 -0
  147. package/dist/types/patch.d.ts +38 -0
  148. package/dist/types/patch.js +11 -0
  149. package/dist/types/patch.js.map +1 -0
  150. package/dist/types/plan.d.ts +86 -0
  151. package/dist/types/plan.js +27 -0
  152. package/dist/types/plan.js.map +1 -0
  153. package/dist/types/review.d.ts +33 -0
  154. package/dist/types/review.js +24 -0
  155. package/dist/types/review.js.map +1 -0
  156. package/dist/types/run.d.ts +34 -0
  157. package/dist/types/run.js +2 -0
  158. package/dist/types/run.js.map +1 -0
  159. package/dist/types/session.d.ts +21 -0
  160. package/dist/types/session.js +2 -0
  161. package/dist/types/session.js.map +1 -0
  162. package/dist/types/summary.d.ts +65 -0
  163. package/dist/types/summary.js +26 -0
  164. package/dist/types/summary.js.map +1 -0
  165. package/dist/types/task.d.ts +31 -0
  166. package/dist/types/task.js +10 -0
  167. package/dist/types/task.js.map +1 -0
  168. package/dist/types/test.d.ts +16 -0
  169. package/dist/types/test.js +2 -0
  170. package/dist/types/test.js.map +1 -0
  171. package/dist/utils/fs.d.ts +13 -0
  172. package/dist/utils/fs.js +65 -0
  173. package/dist/utils/fs.js.map +1 -0
  174. package/dist/utils/gitRoot.d.ts +5 -0
  175. package/dist/utils/gitRoot.js +21 -0
  176. package/dist/utils/gitRoot.js.map +1 -0
  177. package/dist/utils/logger.d.ts +15 -0
  178. package/dist/utils/logger.js +60 -0
  179. package/dist/utils/logger.js.map +1 -0
  180. package/dist/utils/paths.d.ts +13 -0
  181. package/dist/utils/paths.js +24 -0
  182. package/dist/utils/paths.js.map +1 -0
  183. package/dist/utils/tokenEstimate.d.ts +5 -0
  184. package/dist/utils/tokenEstimate.js +8 -0
  185. package/dist/utils/tokenEstimate.js.map +1 -0
  186. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitRoot.js","sourceRoot":"","sources":["../../src/utils/gitRoot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Redact common secret shapes from a line before it is written or printed.
3
+ */
4
+ export declare function redactSecrets(line: string): string;
5
+ export interface LoggerOptions {
6
+ logsDir: string;
7
+ debug?: boolean;
8
+ }
9
+ export interface Logger {
10
+ info(message: string): Promise<void>;
11
+ warn(message: string): Promise<void>;
12
+ error(message: string): Promise<void>;
13
+ debug(message: string): Promise<void>;
14
+ }
15
+ export declare function createLogger(opts: LoggerOptions): Logger;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Secret-safe local logger (HLD-SRD §13, §14).
3
+ *
4
+ * Writes `.ai-orchestrator/logs/YYYY-MM-DD.log`. Never logs secrets: bearer
5
+ * tokens, api_key/apiKey values, and connection-string credentials are redacted
6
+ * before anything is written. `debug` lines are written only when debug is on.
7
+ */
8
+ import { promises as fs } from "node:fs";
9
+ import path from "node:path";
10
+ const REDACTED = "[REDACTED]";
11
+ /**
12
+ * Redact common secret shapes from a line before it is written or printed.
13
+ */
14
+ export function redactSecrets(line) {
15
+ return (line
16
+ // Bearer tokens
17
+ .replace(/(Bearer\s+)\S+/gi, `$1${REDACTED}`)
18
+ // api_key / apiKey = "quoted value" (may contain whitespace) — redact the
19
+ // whole quoted value so secrets with spaces never leak. The key itself may
20
+ // be quoted too (JSON: "apiKey":"secret"). The value matcher is
21
+ // escape-aware: an escaped quote (\") inside the value does NOT terminate
22
+ // it, so the entire secret is redacted.
23
+ .replace(/(["']?api[_-]?key["']?\s*[:=]\s*)(["'])(?:\\.|(?!\2)[\s\S])*\2/gi, `$1$2${REDACTED}$2`)
24
+ // api_key / apiKey = unquoted value. Redact the WHOLE plain scalar up to
25
+ // the end of line or an inline ` #` comment — a YAML plain scalar may
26
+ // contain spaces (e.g. `api_key: secret phrase`), so stopping at the first
27
+ // space would leak the rest.
28
+ .replace(/(["']?api[_-]?key["']?\s*[:=]\s*)(?!["'])[^\n\r]+/gi, `$1${REDACTED}`)
29
+ // Credentials embedded in a URL (user:pass@host) and the rest of the URL,
30
+ // which may itself carry secrets — redact from the scheme onward. The
31
+ // scheme grammar follows RFC 3986 (letters, then letters/digits/+/-/.) so
32
+ // schemes like `mongodb+srv://` and `postgresql://` are covered.
33
+ .replace(/\b[A-Za-z][A-Za-z0-9+.-]*:\/\/[^\s]*@[^\s]+/g, REDACTED));
34
+ }
35
+ function dateStamp(d = new Date()) {
36
+ const y = d.getFullYear();
37
+ const m = String(d.getMonth() + 1).padStart(2, "0");
38
+ const day = String(d.getDate()).padStart(2, "0");
39
+ return `${y}-${m}-${day}`;
40
+ }
41
+ export function createLogger(opts) {
42
+ const { logsDir, debug = false } = opts;
43
+ async function write(level, message) {
44
+ const safe = redactSecrets(message);
45
+ const line = `${new Date().toISOString()} [${level}] ${safe}\n`;
46
+ await fs.mkdir(logsDir, { recursive: true });
47
+ await fs.appendFile(path.join(logsDir, `${dateStamp()}.log`), line, "utf8");
48
+ }
49
+ return {
50
+ info: (m) => write("INFO", m),
51
+ warn: (m) => write("WARN", m),
52
+ error: (m) => write("ERROR", m),
53
+ debug: async (m) => {
54
+ if (!debug)
55
+ return;
56
+ await write("DEBUG", m);
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,CACL,IAAI;QACF,gBAAgB;SACf,OAAO,CAAC,kBAAkB,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC7C,0EAA0E;QAC1E,2EAA2E;QAC3E,gEAAgE;QAChE,0EAA0E;QAC1E,wCAAwC;SACvC,OAAO,CACN,kEAAkE,EAClE,OAAO,QAAQ,IAAI,CACpB;QACD,yEAAyE;QACzE,sEAAsE;QACtE,2EAA2E;QAC3E,6BAA6B;SAC5B,OAAO,CACN,qDAAqD,EACrD,KAAK,QAAQ,EAAE,CAChB;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,0EAA0E;QAC1E,iEAAiE;SAChE,OAAO,CAAC,8CAA8C,EAAE,QAAQ,CAAC,CACrE,CAAC;AACJ,CAAC;AAcD,SAAS,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE;IAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAExC,KAAK,UAAU,KAAK,CAAC,KAAa,EAAE,OAAe;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC;QAChE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/B,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface Layout {
2
+ root: string;
3
+ orchestratorDir: string;
4
+ configFile: string;
5
+ logsDir: string;
6
+ contextPackagesDir: string;
7
+ aiDir: string;
8
+ tasksDir: string;
9
+ sessionsDir: string;
10
+ gitignoreFile: string;
11
+ memoryFile(name: string): string;
12
+ }
13
+ export declare function layout(root: string): Layout;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Path layout for the `.ai-orchestrator` internal dir and the `/ai` memory dir
3
+ * (HLD-SRD §4). The `/ai` dir is rooted directly at the repo root.
4
+ */
5
+ import path from "node:path";
6
+ export function layout(root) {
7
+ const orchestratorDir = path.join(root, ".ai-orchestrator");
8
+ const aiDir = path.join(root, "ai");
9
+ return {
10
+ root,
11
+ orchestratorDir,
12
+ configFile: path.join(orchestratorDir, "config.yml"),
13
+ logsDir: path.join(orchestratorDir, "logs"),
14
+ contextPackagesDir: path.join(orchestratorDir, "context-packages"),
15
+ aiDir,
16
+ tasksDir: path.join(aiDir, "tasks"),
17
+ sessionsDir: path.join(aiDir, "sessions"),
18
+ gitignoreFile: path.join(root, ".gitignore"),
19
+ memoryFile(name) {
20
+ return path.join(aiDir, name);
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAe7B,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO;QACL,IAAI;QACJ,eAAe;QACf,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;QACpD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;QAC3C,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC;QAClE,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;QACzC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5C,UAAU,CAAC,IAAY;YACrB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Rough token estimate for MVP budgeting (HLD-SRD §6): chars / 4.
3
+ * A tokenizer-accurate count lands in a later slice.
4
+ */
5
+ export declare function estimateTokens(text: string): number;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Rough token estimate for MVP budgeting (HLD-SRD §6): chars / 4.
3
+ * A tokenizer-accurate count lands in a later slice.
4
+ */
5
+ export function estimateTokens(text) {
6
+ return Math.ceil(text.length / 4);
7
+ }
8
+ //# sourceMappingURL=tokenEstimate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenEstimate.js","sourceRoot":"","sources":["../../src/utils/tokenEstimate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "localptp",
3
+ "version": "0.1.0",
4
+ "description": "LocalCode Orchestrator CLI — drives a local coding model over large codebases.",
5
+ "type": "module",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "bin": {
10
+ "localptp": "dist/cli.js",
11
+ "localcoder": "dist/cli.js"
12
+ },
13
+ "engines": {
14
+ "node": ">=20"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc -p tsconfig.json",
18
+ "prepublishOnly": "npm run build",
19
+ "test": "vitest run",
20
+ "typecheck": "tsc -p tsconfig.json --noEmit",
21
+ "lint": "echo \"lint placeholder — no linter configured yet\"",
22
+ "localptp": "tsx src/cli.ts",
23
+ "localcoder": "tsx src/cli.ts"
24
+ },
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "dependencies": {
29
+ "commander": "^12.1.0",
30
+ "diff": "^5.2.0",
31
+ "execa": "^9.3.0",
32
+ "js-yaml": "^4.1.0",
33
+ "simple-git": "^3.25.0",
34
+ "zod": "^3.23.8"
35
+ },
36
+ "devDependencies": {
37
+ "@types/diff": "^5.2.1",
38
+ "@types/js-yaml": "^4.0.9",
39
+ "@types/node": "^20.14.0",
40
+ "tsx": "^4.16.0",
41
+ "typescript": "^5.5.0",
42
+ "vitest": "^2.0.0"
43
+ }
44
+ }