aicodeman 0.3.6 → 0.3.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.
Files changed (93) hide show
  1. package/dist/ai-checker-base.d.ts.map +1 -1
  2. package/dist/ai-checker-base.js +2 -2
  3. package/dist/ai-checker-base.js.map +1 -1
  4. package/dist/ai-idle-checker.d.ts.map +1 -1
  5. package/dist/ai-idle-checker.js +5 -5
  6. package/dist/ai-idle-checker.js.map +1 -1
  7. package/dist/ai-plan-checker.d.ts.map +1 -1
  8. package/dist/ai-plan-checker.js +5 -5
  9. package/dist/ai-plan-checker.js.map +1 -1
  10. package/dist/config/ai-defaults.d.ts +20 -4
  11. package/dist/config/ai-defaults.d.ts.map +1 -1
  12. package/dist/config/ai-defaults.js +32 -4
  13. package/dist/config/ai-defaults.js.map +1 -1
  14. package/dist/config/server-timing.d.ts +6 -0
  15. package/dist/config/server-timing.d.ts.map +1 -1
  16. package/dist/config/server-timing.js +9 -0
  17. package/dist/config/server-timing.js.map +1 -1
  18. package/dist/file-stream-manager.d.ts.map +1 -1
  19. package/dist/file-stream-manager.js +3 -2
  20. package/dist/file-stream-manager.js.map +1 -1
  21. package/dist/ralph-config.d.ts.map +1 -1
  22. package/dist/ralph-config.js +3 -4
  23. package/dist/ralph-config.js.map +1 -1
  24. package/dist/ralph-stall-detector.d.ts.map +1 -1
  25. package/dist/ralph-stall-detector.js +2 -1
  26. package/dist/ralph-stall-detector.js.map +1 -1
  27. package/dist/ralph-tracker.d.ts.map +1 -1
  28. package/dist/ralph-tracker.js +17 -22
  29. package/dist/ralph-tracker.js.map +1 -1
  30. package/dist/respawn-controller.d.ts.map +1 -1
  31. package/dist/respawn-controller.js +5 -5
  32. package/dist/respawn-controller.js.map +1 -1
  33. package/dist/run-summary.d.ts.map +1 -1
  34. package/dist/run-summary.js +2 -1
  35. package/dist/run-summary.js.map +1 -1
  36. package/dist/session.d.ts.map +1 -1
  37. package/dist/session.js +3 -6
  38. package/dist/session.js.map +1 -1
  39. package/dist/subagent-watcher.d.ts.map +1 -1
  40. package/dist/subagent-watcher.js +2 -1
  41. package/dist/subagent-watcher.js.map +1 -1
  42. package/dist/task-tracker.d.ts.map +1 -1
  43. package/dist/task-tracker.js +2 -1
  44. package/dist/task-tracker.js.map +1 -1
  45. package/dist/types/plan.d.ts +2 -4
  46. package/dist/types/plan.d.ts.map +1 -1
  47. package/dist/types/plan.js +1 -1
  48. package/dist/utils/index.d.ts +2 -2
  49. package/dist/utils/index.d.ts.map +1 -1
  50. package/dist/utils/index.js +2 -2
  51. package/dist/utils/index.js.map +1 -1
  52. package/dist/utils/regex-patterns.d.ts +5 -0
  53. package/dist/utils/regex-patterns.d.ts.map +1 -1
  54. package/dist/utils/regex-patterns.js +11 -0
  55. package/dist/utils/regex-patterns.js.map +1 -1
  56. package/dist/utils/token-validation.d.ts +1 -27
  57. package/dist/utils/token-validation.d.ts.map +1 -1
  58. package/dist/utils/token-validation.js +1 -47
  59. package/dist/utils/token-validation.js.map +1 -1
  60. package/dist/web/public/api-client.js.gz +0 -0
  61. package/dist/web/public/app.js +26 -26
  62. package/dist/web/public/app.js.br +0 -0
  63. package/dist/web/public/app.js.gz +0 -0
  64. package/dist/web/public/constants.js +2 -2
  65. package/dist/web/public/constants.js.br +0 -0
  66. package/dist/web/public/constants.js.gz +0 -0
  67. package/dist/web/public/index.html.gz +0 -0
  68. package/dist/web/public/keyboard-accessory.js.gz +0 -0
  69. package/dist/web/public/mobile-handlers.js.gz +0 -0
  70. package/dist/web/public/mobile.css.gz +0 -0
  71. package/dist/web/public/notification-manager.js.gz +0 -0
  72. package/dist/web/public/ralph-wizard.js.gz +0 -0
  73. package/dist/web/public/styles.css.gz +0 -0
  74. package/dist/web/public/subagent-windows.js +118 -18
  75. package/dist/web/public/subagent-windows.js.br +0 -0
  76. package/dist/web/public/subagent-windows.js.gz +0 -0
  77. package/dist/web/public/sw.js.gz +0 -0
  78. package/dist/web/public/upload.html.gz +0 -0
  79. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  80. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  81. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  82. package/dist/web/public/vendor/xterm-zerolag-input.js.gz +0 -0
  83. package/dist/web/public/vendor/xterm.css.gz +0 -0
  84. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  85. package/dist/web/public/voice-input.js.gz +0 -0
  86. package/dist/web/routes/respawn-routes.d.ts.map +1 -1
  87. package/dist/web/routes/respawn-routes.js +5 -5
  88. package/dist/web/routes/respawn-routes.js.map +1 -1
  89. package/dist/web/server.d.ts +10 -0
  90. package/dist/web/server.d.ts.map +1 -1
  91. package/dist/web/server.js +66 -14
  92. package/dist/web/server.js.map +1 -1
  93. package/package.json +1 -1
@@ -6,7 +6,7 @@
6
6
  * Key exports:
7
7
  * - PlanItem — a single task with priority (P0/P1/P2), TDD phase, dependencies, verification criteria
8
8
  * - PlanTaskStatus — 'pending' | 'in_progress' | 'completed' | 'failed' | 'blocked'
9
- * - TddPhase / PlanPhase — 'setup' | 'test' | 'impl' | 'verify' | 'review'
9
+ * - TddPhase — 'setup' | 'test' | 'impl' | 'verify' | 'review'
10
10
  *
11
11
  * Used by PlanOrchestrator (`src/plan-orchestrator.ts`) and the plan API routes
12
12
  * (`src/web/routes/plan-routes.ts`). Served at `GET /api/sessions/:id/plan/tasks`.
@@ -18,8 +18,6 @@
18
18
  export type PlanTaskStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'blocked';
19
19
  /** TDD phase categories */
20
20
  export type TddPhase = 'setup' | 'test' | 'impl' | 'verify' | 'review';
21
- /** Development phase in TDD cycle (alias for TddPhase) */
22
- export type PlanPhase = TddPhase;
23
21
  /**
24
22
  * A single plan item for plan orchestration.
25
23
  * Moved here from plan-orchestrator.ts to break circular dependency.
@@ -38,7 +36,7 @@ export interface PlanItem {
38
36
  lastError?: string;
39
37
  completedAt?: number;
40
38
  complexity?: 'low' | 'medium' | 'high';
41
- tddPhase?: PlanPhase;
39
+ tddPhase?: TddPhase;
42
40
  pairedWith?: string;
43
41
  reviewChecklist?: string[];
44
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/types/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5F,2BAA2B;AAC3B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/types/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5F,2BAA2B;AAC3B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B"}
@@ -6,7 +6,7 @@
6
6
  * Key exports:
7
7
  * - PlanItem — a single task with priority (P0/P1/P2), TDD phase, dependencies, verification criteria
8
8
  * - PlanTaskStatus — 'pending' | 'in_progress' | 'completed' | 'failed' | 'blocked'
9
- * - TddPhase / PlanPhase — 'setup' | 'test' | 'impl' | 'verify' | 'review'
9
+ * - TddPhase — 'setup' | 'test' | 'impl' | 'verify' | 'review'
10
10
  *
11
11
  * Used by PlanOrchestrator (`src/plan-orchestrator.ts`) and the plan API routes
12
12
  * (`src/web/routes/plan-routes.ts`). Served at `GET /api/sessions/:id/plan/tasks`.
@@ -10,8 +10,8 @@ export { LRUMap, type LRUMapOptions } from './lru-map.js';
10
10
  export { CleanupManager, type TimerOptions } from './cleanup-manager.js';
11
11
  export { Debouncer, KeyedDebouncer } from './debouncer.js';
12
12
  export { StaleExpirationMap, type StaleExpirationMapOptions } from './stale-expiration-map.js';
13
- export { ANSI_ESCAPE_PATTERN_FULL, ANSI_ESCAPE_PATTERN_SIMPLE, TOKEN_PATTERN, SPINNER_PATTERN, createAnsiPatternFull, createAnsiPatternSimple, stripAnsi, SAFE_PATH_PATTERN, } from './regex-patterns.js';
14
- export { MAX_SESSION_TOKENS, validateTokenCounts, validateTokensAndCost } from './token-validation.js';
13
+ export { ANSI_ESCAPE_PATTERN_FULL, ANSI_ESCAPE_PATTERN_SIMPLE, TOKEN_PATTERN, SPINNER_PATTERN, createAnsiPatternFull, createAnsiPatternSimple, stripAnsi, SAFE_PATH_PATTERN, execPattern, } from './regex-patterns.js';
14
+ export { MAX_SESSION_TOKENS } from './token-validation.js';
15
15
  export { stringSimilarity, fuzzyPhraseMatch, todoContentHash } from './string-similarity.js';
16
16
  export { assertNever } from './type-safety.js';
17
17
  export { wrapWithNice } from './nice-wrapper.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -10,8 +10,8 @@ export { LRUMap } from './lru-map.js';
10
10
  export { CleanupManager } from './cleanup-manager.js';
11
11
  export { Debouncer, KeyedDebouncer } from './debouncer.js';
12
12
  export { StaleExpirationMap } from './stale-expiration-map.js';
13
- export { ANSI_ESCAPE_PATTERN_FULL, ANSI_ESCAPE_PATTERN_SIMPLE, TOKEN_PATTERN, SPINNER_PATTERN, createAnsiPatternFull, createAnsiPatternSimple, stripAnsi, SAFE_PATH_PATTERN, } from './regex-patterns.js';
14
- export { MAX_SESSION_TOKENS, validateTokenCounts, validateTokensAndCost } from './token-validation.js';
13
+ export { ANSI_ESCAPE_PATTERN_FULL, ANSI_ESCAPE_PATTERN_SIMPLE, TOKEN_PATTERN, SPINNER_PATTERN, createAnsiPatternFull, createAnsiPatternSimple, stripAnsi, SAFE_PATH_PATTERN, execPattern, } from './regex-patterns.js';
14
+ export { MAX_SESSION_TOKENS } from './token-validation.js';
15
15
  export { stringSimilarity, fuzzyPhraseMatch, todoContentHash } from './string-similarity.js';
16
16
  export { assertNever } from './type-safety.js';
17
17
  export { wrapWithNice } from './nice-wrapper.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAsB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAkC,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAsB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAkC,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -61,4 +61,9 @@ export declare function stripAnsi(text: string): string;
61
61
  */
62
62
  export declare const SPINNER_PATTERN: RegExp;
63
63
  export declare const SAFE_PATH_PATTERN: RegExp;
64
+ /**
65
+ * Execute a global regex pattern against data, calling the callback for each match.
66
+ * Automatically resets lastIndex before execution.
67
+ */
68
+ export declare function execPattern(pattern: RegExp, data: string, callback: (match: RegExpExecArray) => void): void;
64
69
  //# sourceMappingURL=regex-patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"regex-patterns.d.ts","sourceRoot":"","sources":["../../src/utils/regex-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AAEH,eAAO,MAAM,wBAAwB,QAAmE,CAAC;AAEzG;;;;;;GAMG;AAEH,eAAO,MAAM,0BAA0B,QAA2B,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QAAyC,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAGhD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;GAGG;AACH;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAe,CAAC;AAE5C,eAAO,MAAM,iBAAiB,QAA0B,CAAC"}
1
+ {"version":3,"file":"regex-patterns.d.ts","sourceRoot":"","sources":["../../src/utils/regex-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AAEH,eAAO,MAAM,wBAAwB,QAAmE,CAAC;AAEzG;;;;;;GAMG;AAEH,eAAO,MAAM,0BAA0B,QAA2B,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QAAyC,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAGhD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;GAGG;AACH;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAe,CAAC;AAE5C,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI,CAM3G"}
@@ -71,4 +71,15 @@ export function stripAnsi(text) {
71
71
  */
72
72
  export const SPINNER_PATTERN = /[⠋⠙⠹⠸⠼⠴⠦⠧]/;
73
73
  export const SAFE_PATH_PATTERN = /^[a-zA-Z0-9_/\-. ~]+$/;
74
+ /**
75
+ * Execute a global regex pattern against data, calling the callback for each match.
76
+ * Automatically resets lastIndex before execution.
77
+ */
78
+ export function execPattern(pattern, data, callback) {
79
+ pattern.lastIndex = 0;
80
+ let match;
81
+ while ((match = pattern.exec(data)) !== null) {
82
+ callback(match);
83
+ }
84
+ }
74
85
  //# sourceMappingURL=regex-patterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regex-patterns.js","sourceRoot":"","sources":["../../src/utils/regex-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,gEAAgE,CAAC;AAEzG;;;;;;GAMG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,sCAAsC,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,4CAA4C;IAC5C,OAAO,gEAAgE,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,4CAA4C;IAC5C,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"regex-patterns.js","sourceRoot":"","sources":["../../src/utils/regex-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,gEAAgE,CAAC;AAEzG;;;;;;GAMG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,sCAAsC,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,4CAA4C;IAC5C,OAAO,gEAAgE,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,4CAA4C;IAC5C,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,IAAY,EAAE,QAA0C;IACnG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IACtB,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
- * @fileoverview Token validation utilities.
2
+ * @fileoverview Token validation constants.
3
3
  *
4
- * Centralizes token count validation logic used across the codebase.
5
4
  * Claude's context window is ~200k tokens, so 500k is a generous upper bound.
6
5
  *
7
6
  * @module utils/token-validation
@@ -11,29 +10,4 @@
11
10
  * Claude's context is ~200k, so 500k is a safe upper bound for validation.
12
11
  */
13
12
  export declare const MAX_SESSION_TOKENS = 500000;
14
- /**
15
- * Validates token counts are within acceptable bounds.
16
- * Rejects negative values and values exceeding MAX_SESSION_TOKENS.
17
- *
18
- * @param inputTokens - Input token count to validate
19
- * @param outputTokens - Output token count to validate
20
- * @returns Object with isValid flag and optional error reason
21
- */
22
- export declare function validateTokenCounts(inputTokens: number, outputTokens: number): {
23
- isValid: boolean;
24
- reason?: string;
25
- };
26
- /**
27
- * Validates token counts and cost for restoration/persistence.
28
- * Returns true if all values are valid.
29
- *
30
- * @param inputTokens - Input token count
31
- * @param outputTokens - Output token count
32
- * @param cost - Cost value (must be non-negative)
33
- * @returns Object with isValid flag and optional error reason
34
- */
35
- export declare function validateTokensAndCost(inputTokens: number, outputTokens: number, cost: number): {
36
- isValid: boolean;
37
- reason?: string;
38
- };
39
13
  //# sourceMappingURL=token-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-validation.d.ts","sourceRoot":"","sources":["../../src/utils/token-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAE1C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAcvC"}
1
+ {"version":3,"file":"token-validation.d.ts","sourceRoot":"","sources":["../../src/utils/token-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SAAU,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
- * @fileoverview Token validation utilities.
2
+ * @fileoverview Token validation constants.
3
3
  *
4
- * Centralizes token count validation logic used across the codebase.
5
4
  * Claude's context window is ~200k tokens, so 500k is a generous upper bound.
6
5
  *
7
6
  * @module utils/token-validation
@@ -11,49 +10,4 @@
11
10
  * Claude's context is ~200k, so 500k is a safe upper bound for validation.
12
11
  */
13
12
  export const MAX_SESSION_TOKENS = 500_000;
14
- /**
15
- * Validates token counts are within acceptable bounds.
16
- * Rejects negative values and values exceeding MAX_SESSION_TOKENS.
17
- *
18
- * @param inputTokens - Input token count to validate
19
- * @param outputTokens - Output token count to validate
20
- * @returns Object with isValid flag and optional error reason
21
- */
22
- export function validateTokenCounts(inputTokens, outputTokens) {
23
- if (inputTokens < 0 || outputTokens < 0) {
24
- return {
25
- isValid: false,
26
- reason: `Negative token values: input=${inputTokens}, output=${outputTokens}`,
27
- };
28
- }
29
- if (inputTokens > MAX_SESSION_TOKENS || outputTokens > MAX_SESSION_TOKENS) {
30
- return {
31
- isValid: false,
32
- reason: `Token values exceed maximum (${MAX_SESSION_TOKENS}): input=${inputTokens}, output=${outputTokens}`,
33
- };
34
- }
35
- return { isValid: true };
36
- }
37
- /**
38
- * Validates token counts and cost for restoration/persistence.
39
- * Returns true if all values are valid.
40
- *
41
- * @param inputTokens - Input token count
42
- * @param outputTokens - Output token count
43
- * @param cost - Cost value (must be non-negative)
44
- * @returns Object with isValid flag and optional error reason
45
- */
46
- export function validateTokensAndCost(inputTokens, outputTokens, cost) {
47
- const tokenValidation = validateTokenCounts(inputTokens, outputTokens);
48
- if (!tokenValidation.isValid) {
49
- return tokenValidation;
50
- }
51
- if (cost < 0) {
52
- return {
53
- isValid: false,
54
- reason: `Negative cost value: ${cost}`,
55
- };
56
- }
57
- return { isValid: true };
58
- }
59
13
  //# sourceMappingURL=token-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-validation.js","sourceRoot":"","sources":["../../src/utils/token-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,YAAoB;IAC3E,IAAI,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gCAAgC,WAAW,YAAY,YAAY,EAAE;SAC9E,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,kBAAkB,IAAI,YAAY,GAAG,kBAAkB,EAAE,CAAC;QAC1E,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gCAAgC,kBAAkB,YAAY,WAAW,YAAY,YAAY,EAAE;SAC5G,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,YAAoB,EACpB,IAAY;IAEZ,MAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,wBAAwB,IAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"token-validation.js","sourceRoot":"","sources":["../../src/utils/token-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC"}
Binary file