wiggum-cli 0.9.6 → 0.9.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsHA;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1C;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;AAG9B,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4IA;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1C;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;AAG9B,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -34,6 +34,18 @@ async function startInkTui() {
34
34
  // Track current Ink instance for init workflow
35
35
  let instance = null;
36
36
  let shouldRestart = false;
37
+ /**
38
+ * Ensure stdin is active for readline-based prompts after Ink unmount
39
+ */
40
+ const resetStdinForReadline = () => {
41
+ if (process.stdin.isTTY) {
42
+ process.stdin.setRawMode(false);
43
+ }
44
+ process.stdin.resume();
45
+ if (typeof process.stdin.ref === 'function') {
46
+ process.stdin.ref();
47
+ }
48
+ };
37
49
  /**
38
50
  * Create session state based on current project state
39
51
  */
@@ -71,7 +83,16 @@ async function startInkTui() {
71
83
  onRunInit: async () => {
72
84
  // Unmount Ink to run init workflow with readline prompts
73
85
  shouldRestart = true;
74
- instance?.unmount();
86
+ const currentInstance = instance;
87
+ currentInstance?.unmount();
88
+ // Keep stdin alive for readline prompts before awaiting
89
+ resetStdinForReadline();
90
+ // Wait for Ink to fully clean up stdin handlers
91
+ if (currentInstance?.waitUntilExit) {
92
+ await currentInstance.waitUntilExit();
93
+ }
94
+ // Reset stdin again after Ink cleanup
95
+ resetStdinForReadline();
75
96
  // Clear screen for init workflow
76
97
  console.clear();
77
98
  try {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wiggum-cli",
3
- "version": "0.9.6",
3
+ "version": "0.9.7",
4
4
  "description": "AI-powered feature development loop CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -38,6 +38,19 @@ async function startInkTui(): Promise<void> {
38
38
  let instance: Instance | null = null;
39
39
  let shouldRestart = false;
40
40
 
41
+ /**
42
+ * Ensure stdin is active for readline-based prompts after Ink unmount
43
+ */
44
+ const resetStdinForReadline = () => {
45
+ if (process.stdin.isTTY) {
46
+ process.stdin.setRawMode(false);
47
+ }
48
+ process.stdin.resume();
49
+ if (typeof process.stdin.ref === 'function') {
50
+ process.stdin.ref();
51
+ }
52
+ };
53
+
41
54
  /**
42
55
  * Create session state based on current project state
43
56
  */
@@ -83,7 +96,16 @@ async function startInkTui(): Promise<void> {
83
96
  onRunInit: async () => {
84
97
  // Unmount Ink to run init workflow with readline prompts
85
98
  shouldRestart = true;
86
- instance?.unmount();
99
+ const currentInstance = instance;
100
+ currentInstance?.unmount();
101
+ // Keep stdin alive for readline prompts before awaiting
102
+ resetStdinForReadline();
103
+ // Wait for Ink to fully clean up stdin handlers
104
+ if (currentInstance?.waitUntilExit) {
105
+ await currentInstance.waitUntilExit();
106
+ }
107
+ // Reset stdin again after Ink cleanup
108
+ resetStdinForReadline();
87
109
 
88
110
  // Clear screen for init workflow
89
111
  console.clear();