wiggum-cli 0.5.4 → 0.7.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 (89) hide show
  1. package/README.md +88 -22
  2. package/dist/ai/conversation/conversation-manager.d.ts +84 -0
  3. package/dist/ai/conversation/conversation-manager.d.ts.map +1 -0
  4. package/dist/ai/conversation/conversation-manager.js +159 -0
  5. package/dist/ai/conversation/conversation-manager.js.map +1 -0
  6. package/dist/ai/conversation/index.d.ts +8 -0
  7. package/dist/ai/conversation/index.d.ts.map +1 -0
  8. package/dist/ai/conversation/index.js +8 -0
  9. package/dist/ai/conversation/index.js.map +1 -0
  10. package/dist/ai/conversation/spec-generator.d.ts +62 -0
  11. package/dist/ai/conversation/spec-generator.d.ts.map +1 -0
  12. package/dist/ai/conversation/spec-generator.js +267 -0
  13. package/dist/ai/conversation/spec-generator.js.map +1 -0
  14. package/dist/ai/conversation/url-fetcher.d.ts +26 -0
  15. package/dist/ai/conversation/url-fetcher.d.ts.map +1 -0
  16. package/dist/ai/conversation/url-fetcher.js +145 -0
  17. package/dist/ai/conversation/url-fetcher.js.map +1 -0
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +44 -34
  20. package/dist/cli.js.map +1 -1
  21. package/dist/commands/init.d.ts +19 -0
  22. package/dist/commands/init.d.ts.map +1 -1
  23. package/dist/commands/init.js +61 -21
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/commands/new.d.ts +11 -1
  26. package/dist/commands/new.d.ts.map +1 -1
  27. package/dist/commands/new.js +102 -43
  28. package/dist/commands/new.js.map +1 -1
  29. package/dist/commands/run.js +3 -3
  30. package/dist/commands/run.js.map +1 -1
  31. package/dist/generator/config.d.ts +3 -3
  32. package/dist/generator/config.d.ts.map +1 -1
  33. package/dist/generator/config.js +5 -3
  34. package/dist/generator/config.js.map +1 -1
  35. package/dist/generator/index.js +1 -1
  36. package/dist/generator/index.js.map +1 -1
  37. package/dist/generator/writer.js +1 -1
  38. package/dist/generator/writer.js.map +1 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +34 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/repl/command-parser.d.ts +84 -0
  44. package/dist/repl/command-parser.d.ts.map +1 -0
  45. package/dist/repl/command-parser.js +112 -0
  46. package/dist/repl/command-parser.js.map +1 -0
  47. package/dist/repl/index.d.ts +8 -0
  48. package/dist/repl/index.d.ts.map +1 -0
  49. package/dist/repl/index.js +8 -0
  50. package/dist/repl/index.js.map +1 -0
  51. package/dist/repl/repl-loop.d.ts +30 -0
  52. package/dist/repl/repl-loop.d.ts.map +1 -0
  53. package/dist/repl/repl-loop.js +262 -0
  54. package/dist/repl/repl-loop.js.map +1 -0
  55. package/dist/repl/session-state.d.ts +37 -0
  56. package/dist/repl/session-state.d.ts.map +1 -0
  57. package/dist/repl/session-state.js +26 -0
  58. package/dist/repl/session-state.js.map +1 -0
  59. package/dist/templates/root/README.md.tmpl +1 -1
  60. package/dist/templates/scripts/feature-loop.sh.tmpl +17 -17
  61. package/dist/templates/scripts/loop.sh.tmpl +7 -7
  62. package/dist/templates/scripts/ralph-monitor.sh.tmpl +5 -5
  63. package/dist/utils/config.d.ts +7 -7
  64. package/dist/utils/config.js +4 -4
  65. package/dist/utils/config.js.map +1 -1
  66. package/package.json +1 -1
  67. package/src/ai/conversation/conversation-manager.ts +230 -0
  68. package/src/ai/conversation/index.ts +23 -0
  69. package/src/ai/conversation/spec-generator.ts +327 -0
  70. package/src/ai/conversation/url-fetcher.ts +180 -0
  71. package/src/cli.ts +47 -34
  72. package/src/commands/init.ts +86 -22
  73. package/src/commands/new.ts +121 -44
  74. package/src/commands/run.ts +3 -3
  75. package/src/generator/config.ts +5 -3
  76. package/src/generator/index.ts +1 -1
  77. package/src/generator/writer.ts +1 -1
  78. package/src/index.ts +46 -0
  79. package/src/repl/command-parser.ts +154 -0
  80. package/src/repl/index.ts +23 -0
  81. package/src/repl/repl-loop.ts +339 -0
  82. package/src/repl/session-state.ts +63 -0
  83. package/src/templates/config/ralph.config.cjs.tmpl +38 -0
  84. package/src/templates/root/README.md.tmpl +1 -1
  85. package/src/templates/scripts/feature-loop.sh.tmpl +17 -17
  86. package/src/templates/scripts/loop.sh.tmpl +7 -7
  87. package/src/templates/scripts/ralph-monitor.sh.tmpl +5 -5
  88. package/src/utils/config.ts +9 -9
  89. /package/{src/templates/config/ralph.config.js.tmpl → dist/templates/config/ralph.config.cjs.tmpl} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/generator/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAA0B,MAAM,gBAAgB,CAAC;AA4C1E;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,UAAsB,EAAE,aAAqC,EAAE;IAC5F,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,KAAK,EAAE;YACL,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,OAAO,EAAE,IAAI,CAAC,gBAAgB;gBAC9B,OAAO,EAAE,IAAI,CAAC,gBAAgB;aAC/B;YACD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,SAAS,EAAE,IAAI,CAAC,gBAAgB;SACjC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,QAAQ;YACtB,aAAa,EAAE,MAAM;SACtB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,OAAO,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;CACpE,CAAC;IAEA,sCAAsC;IACtC,OAAO,OAAO;SACX,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;SAC3B,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAsB,EAAE,aAAqC,EAAE;IACxG,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/generator/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAA0B,MAAM,gBAAgB,CAAC;AA4C1E;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,UAAsB,EAAE,aAAqC,EAAE;IAC5F,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,KAAK,EAAE;YACL,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,OAAO,EAAE,IAAI,CAAC,gBAAgB;gBAC9B,OAAO,EAAE,IAAI,CAAC,gBAAgB;aAC/B;YACD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,SAAS,EAAE,IAAI,CAAC,gBAAgB;SACjC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE;YACJ,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,QAAQ;YACtB,aAAa,EAAE,MAAM;SACtB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,OAAO,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;CACpE,CAAC;IAEA,sCAAsC;IACtC,OAAO,OAAO;SACX,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;SAC3B,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAsB,EAAE,aAAqC,EAAE;IACxG,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -63,7 +63,7 @@ export class Generator {
63
63
  if (this.options.generateConfig) {
64
64
  config = generateConfig(scanResult, this.options.customVariables || {});
65
65
  const configContent = generateConfigFile(config);
66
- processedTemplates.set('config/ralph.config.js', configContent);
66
+ processedTemplates.set('config/ralph.config.cjs', configContent);
67
67
  }
68
68
  // Map template outputs to final paths
69
69
  const mappedOutputs = mapTemplateOutputPaths(processedTemplates);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
@@ -168,7 +168,7 @@ export function mapTemplateOutputPaths(templateOutputs) {
168
168
  finalPath = `.ralph/${outputPath}`;
169
169
  }
170
170
  else if (outputPath.startsWith('config/')) {
171
- // ralph.config.js goes to project root
171
+ // ralph.config.cjs goes to project root
172
172
  finalPath = outputPath.replace('config/', '');
173
173
  }
174
174
  else if (outputPath.startsWith('root/')) {
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/generator/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/generator/writer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Main entry point for the Ralph CLI
3
+ * REPL-first: no args = start REPL, otherwise use CLI
3
4
  */
4
5
  export declare function main(): Promise<void>;
5
6
  export { createCli } from './cli.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1C;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsCA;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAY1C;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,42 @@
1
1
  import { createCli } from './cli.js';
2
+ import { startRepl, createSessionState } from './repl/index.js';
3
+ import { hasConfig, loadConfigWithDefaults } from './utils/config.js';
4
+ import { getAvailableProvider } from './ai/providers.js';
5
+ import { displayHeader } from './utils/header.js';
6
+ /**
7
+ * Start REPL-first mode
8
+ * Called when wiggum is invoked with no arguments
9
+ */
10
+ async function startReplFirst() {
11
+ const projectRoot = process.cwd();
12
+ const provider = getAvailableProvider();
13
+ // Display header
14
+ displayHeader();
15
+ // Check if already initialized
16
+ const isInitialized = hasConfig(projectRoot);
17
+ let config = null;
18
+ if (isInitialized) {
19
+ config = await loadConfigWithDefaults(projectRoot);
20
+ }
21
+ // Create initial state (may not have config yet)
22
+ const initialState = createSessionState(projectRoot, provider, // May be null if no API key
23
+ 'sonnet', // Default model, will be updated after /init
24
+ undefined, // No scan result yet
25
+ config, isInitialized);
26
+ await startRepl(initialState);
27
+ }
2
28
  /**
3
29
  * Main entry point for the Ralph CLI
30
+ * REPL-first: no args = start REPL, otherwise use CLI
4
31
  */
5
32
  export async function main() {
33
+ const args = process.argv.slice(2);
34
+ // REPL-first: no args = start REPL
35
+ if (args.length === 0) {
36
+ await startReplFirst();
37
+ return;
38
+ }
39
+ // Legacy CLI mode for backward compatibility
6
40
  const program = createCli();
7
41
  await program.parseAsync(process.argv);
8
42
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,iBAAiB;AACjB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ5E,mBAAmB;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;GAGG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,iBAAiB;IACjB,aAAa,EAAE,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,kBAAkB,CACrC,WAAW,EACX,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,6CAA6C;IACvD,SAAS,EAAE,qBAAqB;IAChC,MAAM,EACN,aAAa,CACd,CAAC;IAEF,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,mCAAmC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,iBAAiB;AACjB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ5E,mBAAmB;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Command Parser
3
+ * Parses slash commands and natural language input for the REPL
4
+ */
5
+ /**
6
+ * Parsed slash command
7
+ */
8
+ export interface SlashCommand {
9
+ /** Command name (without slash) */
10
+ name: string;
11
+ /** Command arguments */
12
+ args: string[];
13
+ /** Raw input string */
14
+ raw: string;
15
+ }
16
+ /**
17
+ * Input types
18
+ */
19
+ export type InputType = 'slash-command' | 'natural-language' | 'empty';
20
+ /**
21
+ * Parsed input result
22
+ */
23
+ export interface ParsedInput {
24
+ type: InputType;
25
+ command?: SlashCommand;
26
+ text?: string;
27
+ }
28
+ /**
29
+ * Available REPL commands
30
+ */
31
+ export declare const REPL_COMMANDS: {
32
+ readonly init: {
33
+ readonly description: "Initialize Wiggum in this project";
34
+ readonly usage: "/init";
35
+ readonly aliases: readonly ["i"];
36
+ };
37
+ readonly new: {
38
+ readonly description: "Create a new feature specification";
39
+ readonly usage: "/new <feature-name>";
40
+ readonly aliases: readonly ["n"];
41
+ };
42
+ readonly run: {
43
+ readonly description: "Run the feature development loop";
44
+ readonly usage: "/run <feature-name>";
45
+ readonly aliases: readonly ["r"];
46
+ };
47
+ readonly monitor: {
48
+ readonly description: "Monitor a running feature loop";
49
+ readonly usage: "/monitor <feature-name>";
50
+ readonly aliases: readonly ["m"];
51
+ };
52
+ readonly help: {
53
+ readonly description: "Show available commands";
54
+ readonly usage: "/help";
55
+ readonly aliases: readonly ["h", "?"];
56
+ };
57
+ readonly exit: {
58
+ readonly description: "Exit the REPL";
59
+ readonly usage: "/exit";
60
+ readonly aliases: readonly ["quit", "q"];
61
+ };
62
+ };
63
+ export type ReplCommandName = keyof typeof REPL_COMMANDS;
64
+ /**
65
+ * Check if input is a slash command
66
+ */
67
+ export declare function isSlashCommand(input: string): boolean;
68
+ /**
69
+ * Parse a slash command from input
70
+ */
71
+ export declare function parseSlashCommand(input: string): SlashCommand;
72
+ /**
73
+ * Resolve command aliases to canonical command names
74
+ */
75
+ export declare function resolveCommandAlias(name: string): ReplCommandName | null;
76
+ /**
77
+ * Parse user input into structured format
78
+ */
79
+ export declare function parseInput(input: string): ParsedInput;
80
+ /**
81
+ * Format help text for all commands
82
+ */
83
+ export declare function formatHelpText(): string;
84
+ //# sourceMappingURL=command-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/repl/command-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BhB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAS7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAcxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAkBrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAkBvC"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Command Parser
3
+ * Parses slash commands and natural language input for the REPL
4
+ */
5
+ /**
6
+ * Available REPL commands
7
+ */
8
+ export const REPL_COMMANDS = {
9
+ init: {
10
+ description: 'Initialize Wiggum in this project',
11
+ usage: '/init',
12
+ aliases: ['i'],
13
+ },
14
+ new: {
15
+ description: 'Create a new feature specification',
16
+ usage: '/new <feature-name>',
17
+ aliases: ['n'],
18
+ },
19
+ run: {
20
+ description: 'Run the feature development loop',
21
+ usage: '/run <feature-name>',
22
+ aliases: ['r'],
23
+ },
24
+ monitor: {
25
+ description: 'Monitor a running feature loop',
26
+ usage: '/monitor <feature-name>',
27
+ aliases: ['m'],
28
+ },
29
+ help: {
30
+ description: 'Show available commands',
31
+ usage: '/help',
32
+ aliases: ['h', '?'],
33
+ },
34
+ exit: {
35
+ description: 'Exit the REPL',
36
+ usage: '/exit',
37
+ aliases: ['quit', 'q'],
38
+ },
39
+ };
40
+ /**
41
+ * Check if input is a slash command
42
+ */
43
+ export function isSlashCommand(input) {
44
+ return input.trim().startsWith('/');
45
+ }
46
+ /**
47
+ * Parse a slash command from input
48
+ */
49
+ export function parseSlashCommand(input) {
50
+ const trimmed = input.trim();
51
+ const parts = trimmed.slice(1).split(/\s+/);
52
+ return {
53
+ name: parts[0]?.toLowerCase() || '',
54
+ args: parts.slice(1),
55
+ raw: input,
56
+ };
57
+ }
58
+ /**
59
+ * Resolve command aliases to canonical command names
60
+ */
61
+ export function resolveCommandAlias(name) {
62
+ // Check direct match
63
+ if (name in REPL_COMMANDS) {
64
+ return name;
65
+ }
66
+ // Check aliases
67
+ for (const [cmdName, cmdDef] of Object.entries(REPL_COMMANDS)) {
68
+ if (cmdDef.aliases.includes(name)) {
69
+ return cmdName;
70
+ }
71
+ }
72
+ return null;
73
+ }
74
+ /**
75
+ * Parse user input into structured format
76
+ */
77
+ export function parseInput(input) {
78
+ const trimmed = input.trim();
79
+ if (!trimmed) {
80
+ return { type: 'empty' };
81
+ }
82
+ if (isSlashCommand(trimmed)) {
83
+ return {
84
+ type: 'slash-command',
85
+ command: parseSlashCommand(trimmed),
86
+ };
87
+ }
88
+ return {
89
+ type: 'natural-language',
90
+ text: trimmed,
91
+ };
92
+ }
93
+ /**
94
+ * Format help text for all commands
95
+ */
96
+ export function formatHelpText() {
97
+ const lines = [
98
+ 'Available commands:',
99
+ '',
100
+ ];
101
+ for (const [name, def] of Object.entries(REPL_COMMANDS)) {
102
+ const aliases = def.aliases.length > 0
103
+ ? ` (aliases: ${def.aliases.map(a => '/' + a).join(', ')})`
104
+ : '';
105
+ lines.push(` ${def.usage}${aliases}`);
106
+ lines.push(` ${def.description}`);
107
+ lines.push('');
108
+ }
109
+ lines.push('Or just type naturally to chat with the AI.');
110
+ return lines.join('\n');
111
+ }
112
+ //# sourceMappingURL=command-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parser.js","sourceRoot":"","sources":["../../src/repl/command-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * REPL Module
3
+ * Interactive command-line interface for Wiggum
4
+ */
5
+ export { startRepl, processInput, executeCommand } from './repl-loop.js';
6
+ export { type SessionState, createSessionState, updateSessionState, } from './session-state.js';
7
+ export { type SlashCommand, type ParsedInput, type InputType, type ReplCommandName, parseInput, parseSlashCommand, isSlashCommand, resolveCommandAlias, formatHelpText, REPL_COMMANDS, } from './command-parser.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repl/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,KAAK,YAAY,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * REPL Module
3
+ * Interactive command-line interface for Wiggum
4
+ */
5
+ export { startRepl, processInput, executeCommand } from './repl-loop.js';
6
+ export { createSessionState, updateSessionState, } from './session-state.js';
7
+ export { parseInput, parseSlashCommand, isSlashCommand, resolveCommandAlias, formatHelpText, REPL_COMMANDS, } from './command-parser.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repl/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * REPL Loop
3
+ * Main interactive loop for the Wiggum CLI
4
+ */
5
+ import readline from 'node:readline';
6
+ import type { SessionState } from './session-state.js';
7
+ import { type ReplCommandName } from './command-parser.js';
8
+ /**
9
+ * Execute a REPL command
10
+ */
11
+ declare function executeCommand(commandName: ReplCommandName, args: string[], state: SessionState, rl: readline.Interface): Promise<{
12
+ state: SessionState;
13
+ shouldExit: boolean;
14
+ }>;
15
+ /**
16
+ * Process a single line of input
17
+ */
18
+ declare function processInput(input: string, state: SessionState, rl: readline.Interface): Promise<{
19
+ state: SessionState;
20
+ shouldExit: boolean;
21
+ }>;
22
+ /**
23
+ * Start the REPL loop
24
+ */
25
+ export declare function startRepl(initialState: SessionState): Promise<void>;
26
+ /**
27
+ * Export for testing
28
+ */
29
+ export { processInput, executeCommand };
30
+ //# sourceMappingURL=repl-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl-loop.d.ts","sourceRoot":"","sources":["../../src/repl/repl-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,eAAe,CAAC;AAQrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAiK7B;;GAEG;AACH,iBAAe,cAAc,CAC3B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,QAAQ,CAAC,SAAS,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAyBvD;AAuBD;;GAEG;AACH,iBAAe,YAAY,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,QAAQ,CAAC,SAAS,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CA8BvD;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}