@gachlab/devup 0.7.0 → 0.8.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 (65) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +4 -2
  3. package/dist/control-plane/client.d.ts +17 -0
  4. package/dist/control-plane/client.d.ts.map +1 -0
  5. package/dist/control-plane/socket-server.d.ts +6 -0
  6. package/dist/control-plane/socket-server.d.ts.map +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2653 -1713
  9. package/dist/index.js.map +1 -1
  10. package/dist/orchestrator/config-watcher.d.ts +22 -0
  11. package/dist/orchestrator/config-watcher.d.ts.map +1 -0
  12. package/dist/orchestrator/daemon.d.ts +38 -0
  13. package/dist/orchestrator/daemon.d.ts.map +1 -0
  14. package/dist/orchestrator/subcommands.d.ts +7 -0
  15. package/dist/orchestrator/subcommands.d.ts.map +1 -1
  16. package/dist/process/health-poller.d.ts +15 -0
  17. package/dist/process/health-poller.d.ts.map +1 -0
  18. package/dist/process/internals.d.ts +14 -0
  19. package/dist/process/internals.d.ts.map +1 -0
  20. package/dist/process/lifecycle.d.ts +31 -0
  21. package/dist/process/lifecycle.d.ts.map +1 -0
  22. package/dist/process/manager.d.ts +11 -13
  23. package/dist/process/manager.d.ts.map +1 -1
  24. package/dist/process/restarter.d.ts +26 -0
  25. package/dist/process/restarter.d.ts.map +1 -0
  26. package/dist/process/spawner.d.ts +38 -0
  27. package/dist/process/spawner.d.ts.map +1 -0
  28. package/dist/tui/App.d.ts.map +1 -1
  29. package/dist/tui/hooks/useBootSequence.d.ts +20 -0
  30. package/dist/tui/hooks/useBootSequence.d.ts.map +1 -0
  31. package/dist/tui/hooks/useContextualTips.d.ts +6 -0
  32. package/dist/tui/hooks/useContextualTips.d.ts.map +1 -0
  33. package/dist/tui/hooks/useControlPlane.d.ts +18 -0
  34. package/dist/tui/hooks/useControlPlane.d.ts.map +1 -0
  35. package/dist/tui/hooks/useHotReload.d.ts +6 -0
  36. package/dist/tui/hooks/useHotReload.d.ts.map +1 -0
  37. package/dist/tui/hooks/useLogsPause.d.ts +4 -0
  38. package/dist/tui/hooks/useLogsPause.d.ts.map +1 -0
  39. package/dist/tui/hooks/useProcessManager.d.ts +9 -0
  40. package/dist/tui/hooks/useProcessManager.d.ts.map +1 -1
  41. package/dist/tui/hooks/useTerminalSize.d.ts +4 -0
  42. package/dist/tui/hooks/useTerminalSize.d.ts.map +1 -0
  43. package/dist/utils/broadcaster.d.ts +6 -0
  44. package/dist/utils/broadcaster.d.ts.map +1 -0
  45. package/dist/utils/colors.d.ts +4 -0
  46. package/dist/utils/colors.d.ts.map +1 -0
  47. package/dist/utils/env.d.ts +5 -0
  48. package/dist/utils/env.d.ts.map +1 -0
  49. package/dist/utils/format.d.ts +3 -0
  50. package/dist/utils/format.d.ts.map +1 -0
  51. package/dist/utils/install-stamp.d.ts +6 -0
  52. package/dist/utils/install-stamp.d.ts.map +1 -0
  53. package/dist/utils/phases.d.ts +4 -0
  54. package/dist/utils/phases.d.ts.map +1 -0
  55. package/dist/utils/process-args.d.ts +8 -0
  56. package/dist/utils/process-args.d.ts.map +1 -0
  57. package/dist/utils/redact.d.ts +4 -0
  58. package/dist/utils/redact.d.ts.map +1 -0
  59. package/dist/utils/search.d.ts +17 -0
  60. package/dist/utils/search.d.ts.map +1 -0
  61. package/dist/utils/stats.d.ts +19 -0
  62. package/dist/utils/stats.d.ts.map +1 -0
  63. package/dist/utils.d.ts +10 -41
  64. package/dist/utils.d.ts.map +1 -1
  65. package/package.json +1 -1
package/dist/utils.d.ts CHANGED
@@ -1,42 +1,11 @@
1
- import type { ServiceConfig } from './config/types.js';
2
- export declare function parseEnvFile(filePath: string, baseEnv?: Record<string, string>): Record<string, string>;
3
- /** Hysteresis state machine for the "RAM pressure" banner.
4
- * Returns the next visibility given the current sample and previous visibility.
5
- * - turns on when usagePct > highWatermark
6
- * - turns off when usagePct < lowWatermark
7
- * - stays as-is in the dead band between watermarks */
8
- export declare function nextRamBannerVisibility(usagePct: number, previousVisible: boolean, highWatermark?: number, lowWatermark?: number): boolean;
9
- /** Returns the env record with values redacted to *** for keys that look
10
- * secret-ish (token / password / secret / key / auth). Case-insensitive. */
11
- export declare function redactSecrets(env: Record<string, string> | undefined): Record<string, string>;
12
- export type LogLevel = 'error' | 'warn' | 'info';
13
- /** Detects the level of a log line by case-insensitive keyword priority:
14
- * error (and synonyms) > warn > info. Used by the L-level filter. */
15
- export declare function detectLogLevel(line: string): LogLevel;
16
- export interface SearchMatcher {
17
- test: (line: string) => boolean;
18
- /** Set when the input was a vim-style /pattern/flags — used to drive highlighting. */
19
- regex?: RegExp;
20
- /** True when input started with `/` but produced an invalid regex; UI may show a hint. */
21
- invalid?: boolean;
22
- }
23
- /** Compiles a search term to a matcher.
24
- * - `/foo/` → regex (case-insensitive by default; honors flags after the closing slash)
25
- * - anything else → case-insensitive substring (existing behavior)
26
- * - invalid regex → falls back to substring, sets `invalid: true` */
27
- export declare function compileSearchPattern(term: string | null): SearchMatcher | null;
28
- export declare function fmtUptime(ms: number): string;
29
- export declare function needsInstall(fullCwd: string): boolean;
30
- export declare function writeInstallStamp(fullCwd: string): void;
31
- export declare function sortServiceNames(names: string[], sortMode: string, statsMap: Record<string, {
32
- cpu?: string;
33
- mem?: string;
34
- }>, procState: Record<string, {
35
- errors?: number;
36
- }>): string[];
37
- export declare function groupByPhase(services: ServiceConfig[]): Record<number, ServiceConfig[]>;
38
- export declare function buildProcessArgs(svc: ServiceConfig): string[];
39
- export declare function buildProcessEnv(svc: ServiceConfig, baseEnv: Record<string, string>): Record<string, string>;
40
- export declare function calcCpuPercent(totalCpuSec: number, prevCpu: number, prevTime: number): number;
41
- export declare const tagColors: string[];
1
+ export { parseEnvFile } from './utils/env.js';
2
+ export { fmtUptime } from './utils/format.js';
3
+ export { compileSearchPattern, detectLogLevel } from './utils/search.js';
4
+ export type { SearchMatcher, LogLevel } from './utils/search.js';
5
+ export { redactSecrets } from './utils/redact.js';
6
+ export { needsInstall, writeInstallStamp } from './utils/install-stamp.js';
7
+ export { buildProcessArgs, buildProcessEnv } from './utils/process-args.js';
8
+ export { sortServiceNames, calcCpuPercent, nextRamBannerVisibility } from './utils/stats.js';
9
+ export { groupByPhase } from './utils/phases.js';
10
+ export { tagColors } from './utils/colors.js';
42
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB3G;AAID;;;;wDAIwD;AACxD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,OAAO,EACxB,aAAa,SAAK,EAClB,YAAY,SAAK,GAChB,OAAO,CAIT;AAID;6EAC6E;AAC7E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO7F;AAID,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;sEACsE;AACtE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAMrD;AAID,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;sEAGsE;AACtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAe9E;AAID,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAU5C;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKvD;AAID,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7C,MAAM,EAAE,CAQV;AAID,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAMvF;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,CAK7D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU3G;AAID,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI7F;AAID,eAAO,MAAM,SAAS,UAIrB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gachlab/devup",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Dev stack runner with TUI, lazy proxy, and reverse proxy support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",