@intrect/openswarm 0.10.2 → 0.12.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 (86) hide show
  1. package/README.md +18 -61
  2. package/dist/agents/pairPipeline.d.ts.map +1 -1
  3. package/dist/agents/pairPipeline.js +4 -3
  4. package/dist/agents/pairPipeline.js.map +1 -1
  5. package/dist/cli/fixCommand.d.ts +91 -0
  6. package/dist/cli/fixCommand.d.ts.map +1 -0
  7. package/dist/cli/fixCommand.js +214 -0
  8. package/dist/cli/fixCommand.js.map +1 -0
  9. package/dist/cli/reviewAudit.d.ts +72 -1
  10. package/dist/cli/reviewAudit.d.ts.map +1 -1
  11. package/dist/cli/reviewAudit.js +96 -4
  12. package/dist/cli/reviewAudit.js.map +1 -1
  13. package/dist/cli/reviewMaxCommand.d.ts +2 -0
  14. package/dist/cli/reviewMaxCommand.d.ts.map +1 -1
  15. package/dist/cli/reviewMaxCommand.js +38 -9
  16. package/dist/cli/reviewMaxCommand.js.map +1 -1
  17. package/dist/cli/reviewProgress.d.ts +8 -5
  18. package/dist/cli/reviewProgress.d.ts.map +1 -1
  19. package/dist/cli/reviewProgress.js +19 -14
  20. package/dist/cli/reviewProgress.js.map +1 -1
  21. package/dist/cli.js +29 -0
  22. package/dist/cli.js.map +1 -1
  23. package/dist/orchestration/taskScheduler.d.ts.map +1 -1
  24. package/dist/orchestration/taskScheduler.js +10 -1
  25. package/dist/orchestration/taskScheduler.js.map +1 -1
  26. package/dist/runners/cliRunner.d.ts.map +1 -1
  27. package/dist/runners/cliRunner.js +21 -5
  28. package/dist/runners/cliRunner.js.map +1 -1
  29. package/dist/support/colors.d.ts +20 -0
  30. package/dist/support/colors.d.ts.map +1 -1
  31. package/dist/support/colors.js +29 -0
  32. package/dist/support/colors.js.map +1 -1
  33. package/dist/support/glyphs.d.ts +9 -0
  34. package/dist/support/glyphs.d.ts.map +1 -0
  35. package/dist/support/glyphs.js +27 -0
  36. package/dist/support/glyphs.js.map +1 -0
  37. package/dist/tui/components/AuditBoard.d.ts.map +1 -1
  38. package/dist/tui/components/AuditBoard.js +3 -8
  39. package/dist/tui/components/AuditBoard.js.map +1 -1
  40. package/dist/tui/components/StageTimeline.d.ts.map +1 -1
  41. package/dist/tui/components/StageTimeline.js +5 -4
  42. package/dist/tui/components/StageTimeline.js.map +1 -1
  43. package/dist/tui/components/Status.d.ts +14 -0
  44. package/dist/tui/components/Status.d.ts.map +1 -0
  45. package/dist/tui/components/Status.js +33 -0
  46. package/dist/tui/components/Status.js.map +1 -0
  47. package/dist/tui/components/SubagentTree.d.ts.map +1 -1
  48. package/dist/tui/components/SubagentTree.js +4 -4
  49. package/dist/tui/components/SubagentTree.js.map +1 -1
  50. package/dist/tui/loadingMessages.d.ts +1 -3
  51. package/dist/tui/loadingMessages.d.ts.map +1 -1
  52. package/dist/tui/loadingMessages.js +3 -5
  53. package/dist/tui/loadingMessages.js.map +1 -1
  54. package/dist/tui/theme.d.ts +17 -3
  55. package/dist/tui/theme.d.ts.map +1 -1
  56. package/dist/tui/theme.js +27 -5
  57. package/dist/tui/theme.js.map +1 -1
  58. package/package.json +1 -1
  59. package/dist/agents/multiLensReview.d.ts +0 -49
  60. package/dist/agents/multiLensReview.d.ts.map +0 -1
  61. package/dist/agents/multiLensReview.js +0 -148
  62. package/dist/agents/multiLensReview.js.map +0 -1
  63. package/dist/automation/backlogGrooming.d.ts +0 -21
  64. package/dist/automation/backlogGrooming.d.ts.map +0 -1
  65. package/dist/automation/backlogGrooming.js +0 -80
  66. package/dist/automation/backlogGrooming.js.map +0 -1
  67. package/dist/automation/localCI.d.ts +0 -24
  68. package/dist/automation/localCI.d.ts.map +0 -1
  69. package/dist/automation/localCI.js +0 -84
  70. package/dist/automation/localCI.js.map +0 -1
  71. package/dist/support/chat.d.ts +0 -3
  72. package/dist/support/chat.d.ts.map +0 -1
  73. package/dist/support/chat.js +0 -313
  74. package/dist/support/chat.js.map +0 -1
  75. package/dist/support/chatTui.d.ts +0 -3
  76. package/dist/support/chatTui.d.ts.map +0 -1
  77. package/dist/support/chatTui.js +0 -1225
  78. package/dist/support/chatTui.js.map +0 -1
  79. package/dist/support/quotaTracker.d.ts +0 -29
  80. package/dist/support/quotaTracker.d.ts.map +0 -1
  81. package/dist/support/quotaTracker.js +0 -89
  82. package/dist/support/quotaTracker.js.map +0 -1
  83. package/dist/tui/components/StatusBar.d.ts +0 -7
  84. package/dist/tui/components/StatusBar.d.ts.map +0 -1
  85. package/dist/tui/components/StatusBar.js +0 -8
  86. package/dist/tui/components/StatusBar.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cliRunner.js","sourceRoot":"","sources":["../../src/runners/cliRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliRunner.js","sourceRoot":"","sources":["../../src/runners/cliRunner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type StatusKind } from './glyphs.js';
1
2
  export declare const c: {
2
3
  enabled: boolean;
3
4
  bold: (s: string) => string;
@@ -12,4 +13,23 @@ export declare const c: {
12
13
  /** 24-bit truecolor foreground (for the banner gradient). */
13
14
  rgb: (r: number, g: number, b: number) => (s: string) => string;
14
15
  };
16
+ /**
17
+ * Console status helpers — the plain-output adapter over the shared glyph
18
+ * vocabulary (support/glyphs GLYPH), mirroring the Ink <StatusIcon>. `status.ok(
19
+ * 'saved')` → a green `✓ saved` (stripped under NO_COLOR / non-TTY). Use these
20
+ * instead of hand-writing `console.log('✓ …')` so CLI output can't drift from
21
+ * the TUI. (INT-2260)
22
+ */
23
+ export declare const status: {
24
+ /** Bare colored glyph (no trailing text), e.g. for inline use. */
25
+ glyph: (kind: StatusKind) => string;
26
+ /** `<glyph> <text>`, colored for the kind. */
27
+ line: (kind: StatusKind, text: string) => string;
28
+ ok: (text: string) => string;
29
+ err: (text: string) => string;
30
+ warn: (text: string) => string;
31
+ revise: (text: string) => string;
32
+ running: (text: string) => string;
33
+ info: (text: string) => string;
34
+ };
15
35
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/support/colors.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,CAAC;;cAHR,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;eAAf,MAAM,KAAG,MAAM;gBAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;iBAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;IAcnB,6DAA6D;aAEvD,MAAM,KAAK,MAAM,KAAK,MAAM,MAC/B,GAAG,MAAM,KAAG,MAAM;CAEtB,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/support/colors.ts"],"names":[],"mappings":"AAOA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,CAAC;;cAHR,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;eAAf,MAAM,KAAG,MAAM;gBAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;iBAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;IAcnB,6DAA6D;aAEvD,MAAM,KAAK,MAAM,KAAK,MAAM,MAC/B,GAAG,MAAM,KAAG,MAAM;CAEtB,CAAC;AAYF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM;IACjB,kEAAkE;kBACpD,UAAU,KAAG,MAAM;IACjC,8CAA8C;iBACjC,UAAU,QAAQ,MAAM,KAAG,MAAM;eACnC,MAAM,KAAG,MAAM;gBACd,MAAM,KAAG,MAAM;iBACd,MAAM,KAAG,MAAM;mBACb,MAAM,KAAG,MAAM;oBACd,MAAM,KAAG,MAAM;iBAClB,MAAM,KAAG,MAAM;CAC7B,CAAC"}
@@ -4,6 +4,7 @@
4
4
  //
5
5
  // Honors NO_COLOR and non-TTY output (pipes/CI) — colors are stripped so logs
6
6
  // stay clean when redirected. Used by CLI commands (init, doctor, …).
7
+ import { GLYPH } from './glyphs.js';
7
8
  const useColor = !!process.stdout.isTTY && !process.env.NO_COLOR;
8
9
  const wrap = (open, close) => (s) => useColor ? `\x1b[${open}m${s}\x1b[${close}m` : s;
9
10
  export const c = {
@@ -20,4 +21,32 @@ export const c = {
20
21
  /** 24-bit truecolor foreground (for the banner gradient). */
21
22
  rgb: (r, g, b) => (s) => useColor ? `\x1b[38;2;${r};${g};${b}m${s}\x1b[39m` : s,
22
23
  };
24
+ /** Console color per status kind — the plain-output twin of theme.STATUS. */
25
+ const STATUS_PAINT = {
26
+ running: c.cyan,
27
+ ok: c.green,
28
+ warn: c.yellow,
29
+ err: c.red,
30
+ revise: c.magenta,
31
+ info: c.blue,
32
+ };
33
+ /**
34
+ * Console status helpers — the plain-output adapter over the shared glyph
35
+ * vocabulary (support/glyphs GLYPH), mirroring the Ink <StatusIcon>. `status.ok(
36
+ * 'saved')` → a green `✓ saved` (stripped under NO_COLOR / non-TTY). Use these
37
+ * instead of hand-writing `console.log('✓ …')` so CLI output can't drift from
38
+ * the TUI. (INT-2260)
39
+ */
40
+ export const status = {
41
+ /** Bare colored glyph (no trailing text), e.g. for inline use. */
42
+ glyph: (kind) => STATUS_PAINT[kind](GLYPH[kind]),
43
+ /** `<glyph> <text>`, colored for the kind. */
44
+ line: (kind, text) => STATUS_PAINT[kind](`${GLYPH[kind]} ${text}`),
45
+ ok: (text) => STATUS_PAINT.ok(`${GLYPH.ok} ${text}`),
46
+ err: (text) => STATUS_PAINT.err(`${GLYPH.err} ${text}`),
47
+ warn: (text) => STATUS_PAINT.warn(`${GLYPH.warn} ${text}`),
48
+ revise: (text) => STATUS_PAINT.revise(`${GLYPH.revise} ${text}`),
49
+ running: (text) => STATUS_PAINT.running(`${GLYPH.running} ${text}`),
50
+ info: (text) => STATUS_PAINT.info(`${GLYPH.info} ${text}`),
51
+ };
23
52
  //# sourceMappingURL=colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/support/colors.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,4DAA4D;AAC5D,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,sEAAsE;AAEtE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEjE,MAAM,IAAI,GACR,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChC,CAAC,CAAS,EAAU,EAAE,CACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IAChB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EACD,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CACpC,CAAC,CAAS,EAAU,EAAE,CACpB,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/support/colors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** Semantic status kinds shared across every progress/verdict surface. */
2
+ export type StatusKind = 'running' | 'ok' | 'warn' | 'err' | 'revise' | 'info';
3
+ /** The one glyph vocabulary. Views reference these — never a literal. */
4
+ export declare const GLYPH: Record<StatusKind, string>;
5
+ /** The one braille spinner. Both the CLI heartbeat and the Ink boards use it. */
6
+ export declare const SPINNER_FRAMES: readonly ["⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"];
7
+ /** Braille spinner glyph for the given tick. Pure. */
8
+ export declare function spinnerFrame(tick: number): string;
9
+ //# sourceMappingURL=glyphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../src/support/glyphs.ts"],"names":[],"mappings":"AAWA,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/E,yEAAyE;AACzE,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAO5C,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,cAAc,mDAAoD,CAAC;AAIhF,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
@@ -0,0 +1,27 @@
1
+ // ============================================
2
+ // OpenSwarm - Status glyph + spinner vocabulary (INT-2260)
3
+ // ============================================
4
+ //
5
+ // The SINGLE source of truth for status glyphs and the braille spinner, shared
6
+ // by both render targets: the Ink TUI (via theme.ts STATUS + <StatusIcon>/
7
+ // <Spinner>) and plain console output (via support/colors.ts `status`). Every
8
+ // view renders through one of those two adapters, so no component hand-rolls its
9
+ // own glyph / frame set again — that drift is what left some views without a
10
+ // spinner or with the wrong icon. Context-free on purpose: no Ink, no ANSI here.
11
+ /** The one glyph vocabulary. Views reference these — never a literal. */
12
+ export const GLYPH = {
13
+ running: '◐',
14
+ ok: '✓',
15
+ warn: '⚠',
16
+ err: '✗',
17
+ revise: '✎',
18
+ info: '•',
19
+ };
20
+ /** The one braille spinner. Both the CLI heartbeat and the Ink boards use it. */
21
+ export const SPINNER_FRAMES = ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
22
+ const mod = (n, m) => ((n % m) + m) % m;
23
+ /** Braille spinner glyph for the given tick. Pure. */
24
+ export function spinnerFrame(tick) {
25
+ return SPINNER_FRAMES[mod(tick, SPINNER_FRAMES.length)];
26
+ }
27
+ //# sourceMappingURL=glyphs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/support/glyphs.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,2DAA2D;AAC3D,+CAA+C;AAC/C,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,8EAA8E;AAC9E,iFAAiF;AACjF,6EAA6E;AAC7E,iFAAiF;AAKjF,yEAAyE;AACzE,MAAM,CAAC,MAAM,KAAK,GAA+B;IAC/C,OAAO,EAAE,GAAG;IACZ,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEhF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEhE,sDAAsD;AACtD,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuditBoard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/AuditBoard.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,0BAA0B,CAAC;AASzE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,EAAE,YAAY,CAAC;CACtB;AAID,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,+BAmEzE"}
1
+ {"version":3,"file":"AuditBoard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/AuditBoard.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,0BAA0B,CAAC;AASzE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,EAAE,YAAY,CAAC;CACtB;AAID,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,eAAe,+BA6DzE"}
@@ -7,11 +7,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  // orchestration (runMaxReview) stays ink-free.
8
8
  import { Box, Text } from 'ink';
9
9
  import { useState, useEffect } from 'react';
10
- import { spinnerFrame } from '../loadingMessages.js';
11
- import { theme } from '../theme.js';
10
+ import { theme, ICON } from '../theme.js';
11
+ import { Spinner } from './Status.js';
12
12
  const truncate = (s, n) => (s.length <= n ? s : `${s.slice(0, n - 1)}…`);
13
13
  export function AuditBoard({ areas, concurrency, events }) {
14
- const [tick, setTick] = useState(0);
15
14
  const [statuses, setStatuses] = useState(() => Object.fromEntries(areas.map((a) => [a.label, { status: 'pending' }])));
16
15
  useEffect(() => {
17
16
  const onProgress = (e) => {
@@ -34,10 +33,6 @@ export function AuditBoard({ areas, concurrency, events }) {
34
33
  events.off('progress', onProgress);
35
34
  };
36
35
  }, [events]);
37
- useEffect(() => {
38
- const t = setInterval(() => setTick((x) => x + 1), 120);
39
- return () => clearInterval(t);
40
- }, []);
41
36
  const entries = Object.values(statuses);
42
37
  const done = entries.filter((s) => s.status === 'done' || s.status === 'error').length;
43
38
  const running = Object.entries(statuses).filter(([, s]) => s.status === 'running');
@@ -45,6 +40,6 @@ export function AuditBoard({ areas, concurrency, events }) {
45
40
  const revised = entries.filter((s) => s.decision === 'revise').length;
46
41
  const rejected = entries.filter((s) => s.decision === 'reject').length;
47
42
  const failed = entries.filter((s) => s.status === 'error').length;
48
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: theme.accent, children: spinnerFrame(tick) }), _jsx(Text, { bold: true, children: ` Codebase audit · ${done}/${areas.length} areas · concurrency ${concurrency}` })] }), running.map(([label, s]) => (_jsxs(Text, { color: theme.dim, children: [' ', _jsx(Text, { color: theme.accent, children: spinnerFrame(tick) }), ` ${label}`, s.lastLog ? ` ${truncate(s.lastLog, 48)}` : ''] }, label))), _jsxs(Text, { color: theme.dim, children: [' ', _jsx(Text, { color: theme.ok, children: `✓ ${approved} done` }), ' · ', _jsx(Text, { color: theme.accentAlt, children: `✎ ${revised} revise` }), ' · ', _jsx(Text, { color: theme.err, children: `✗ ${rejected} reject` }), failed ? (_jsxs(Text, { children: [' · ', _jsx(Text, { color: theme.warn, children: `⚠ ${failed} failed` })] })) : null] })] }));
43
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Spinner, {}), _jsx(Text, { bold: true, children: ` Codebase audit · ${done}/${areas.length} areas · concurrency ${concurrency}` })] }), running.map(([label, s]) => (_jsxs(Text, { color: theme.dim, children: [' ', _jsx(Spinner, {}), ` ${label}`, s.lastLog ? ` ${truncate(s.lastLog, 48)}` : ''] }, label))), _jsxs(Text, { color: theme.dim, children: [' ', _jsx(Text, { color: theme.ok, children: `${ICON.ok} ${approved} done` }), ' · ', _jsx(Text, { color: theme.accentAlt, children: `${ICON.revise} ${revised} revise` }), ' · ', _jsx(Text, { color: theme.err, children: `${ICON.fail} ${rejected} reject` }), failed ? (_jsxs(Text, { children: [' · ', _jsx(Text, { color: theme.warn, children: `${ICON.warn} ${failed} failed` })] })) : null] })] }));
49
44
  }
50
45
  //# sourceMappingURL=AuditBoard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuditBoard.js","sourceRoot":"","sources":["../../../src/tui/components/AuditBoard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuditBoard.js","sourceRoot":"","sources":["../../../src/tui/components/AuditBoard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StageTimeline.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StageTimeline.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAQ,EAAE,EAAE,kBAAkB,+BAqBrE"}
1
+ {"version":3,"file":"StageTimeline.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StageTimeline.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAQ,EAAE,EAAE,kBAAkB,+BAsBrE"}
@@ -3,16 +3,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // Presentational: takes already-reduced stage entries (parity with the
4
4
  // dashboard's renderStages).
5
5
  import { Box, Text } from 'ink';
6
- import { theme } from '../theme.js';
7
- const ICON = { start: '▶', complete: '✓', fail: '✗' };
8
- const COLOR = { start: theme.running, complete: theme.ok, fail: theme.err };
6
+ import { STATUS } from '../theme.js';
7
+ // Single-sourced glyphs + colors (INT-2260): running → ◐, complete ✓, fail ✗.
8
+ const KIND = { start: 'running', complete: 'ok', fail: 'err' };
9
9
  export function StageTimeline({ stages, max = 12 }) {
10
10
  const shown = stages.slice(-max);
11
11
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Pipeline stages" }), shown.length === 0 ? (_jsx(Text, { dimColor: true, children: "(no stage activity yet)" })) : (shown.map((s, i) => {
12
12
  const dur = s.durationMs ? ` ${Math.round(s.durationMs / 1000)}s` : '';
13
13
  const model = s.model ? ` (${s.model})` : '';
14
14
  const decision = s.decision ? ` → ${s.decision}` : '';
15
- return (_jsx(Text, { color: COLOR[s.status], children: `${ICON[s.status]} ${s.stage}${model}${dur}${decision}` }, i));
15
+ const st = STATUS[KIND[s.status]];
16
+ return (_jsx(Text, { color: st.color, children: `${st.icon} ${s.stage}${model}${dur}${decision}` }, i));
16
17
  }))] }));
17
18
  }
18
19
  //# sourceMappingURL=StageTimeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StageTimeline.js","sourceRoot":"","sources":["../../../src/tui/components/StageTimeline.tsx"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,uEAAuE;AACvE,6BAA6B;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,IAAI,GAAyC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC5F,MAAM,KAAK,GAAyC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AAOlH,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,EAAsB;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,sCAAuB,EAChC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IAAC,QAAQ,8CAA+B,CAC9C,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YACjC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,QAAQ,EAAE,IAD/C,CAAC,CAEL,CACR,CAAC;YACJ,CAAC,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"StageTimeline.js","sourceRoot":"","sources":["../../../src/tui/components/StageTimeline.tsx"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,uEAAuE;AACvE,6BAA6B;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,kFAAkF;AAClF,MAAM,IAAI,GAA6C,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAOzG,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,EAAsB;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,sCAAuB,EAChC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IAAC,QAAQ,8CAA+B,CAC9C,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClC,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,EAAE,CAAC,KAAK,YAC1B,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,QAAQ,EAAE,IADxC,CAAC,CAEL,CACR,CAAC;YACJ,CAAC,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { StatusKind } from '../../support/glyphs.js';
2
+ /** A themed status glyph (◐ ✓ ✗ ⚠ ✎ •), colored per theme.STATUS. */
3
+ export declare function StatusIcon({ kind }: {
4
+ kind: StatusKind;
5
+ }): import("react").JSX.Element;
6
+ /**
7
+ * A self-animating braille spinner — the one in-progress indicator. Drop it
8
+ * anywhere a running row/line needs to show life; it owns its own timer so
9
+ * callers don't each re-implement a tick.
10
+ */
11
+ export declare function Spinner({ intervalMs }: {
12
+ intervalMs?: number;
13
+ }): import("react").JSX.Element;
14
+ //# sourceMappingURL=Status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Status.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Status.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,+BAGxD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,UAAgB,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,+BAOpE"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // ============================================
3
+ // OpenSwarm - Shared Ink status primitives (INT-2260)
4
+ // ============================================
5
+ //
6
+ // The Ink adapter over the shared glyph vocabulary. Every board/tree/timeline
7
+ // renders in-progress and terminal status through <Spinner> and <StatusIcon>,
8
+ // so a "running / done / failed / revise" always looks the same and nothing is
9
+ // left static or off-theme. The plain-console twin lives in support/colors
10
+ // (`status`); both read the same GLYPH / theme.STATUS source.
11
+ import { Text } from 'ink';
12
+ import { useState, useEffect } from 'react';
13
+ import { theme, STATUS } from '../theme.js';
14
+ import { spinnerFrame } from '../../support/glyphs.js';
15
+ /** A themed status glyph (◐ ✓ ✗ ⚠ ✎ •), colored per theme.STATUS. */
16
+ export function StatusIcon({ kind }) {
17
+ const s = STATUS[kind];
18
+ return _jsx(Text, { color: s.color, children: s.icon });
19
+ }
20
+ /**
21
+ * A self-animating braille spinner — the one in-progress indicator. Drop it
22
+ * anywhere a running row/line needs to show life; it owns its own timer so
23
+ * callers don't each re-implement a tick.
24
+ */
25
+ export function Spinner({ intervalMs = 120 }) {
26
+ const [tick, setTick] = useState(0);
27
+ useEffect(() => {
28
+ const h = setInterval(() => setTick((t) => t + 1), intervalMs);
29
+ return () => clearInterval(h);
30
+ }, [intervalMs]);
31
+ return _jsx(Text, { color: theme.accent, children: spinnerFrame(tick) });
32
+ }
33
+ //# sourceMappingURL=Status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../src/tui/components/Status.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,sDAAsD;AACtD,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,8DAA8D;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,qEAAqE;AACrE,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAwB;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,CAAC,CAAC,IAAI,GAAQ,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,UAAU,GAAG,GAAG,EAA2B;IACnE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YAAG,YAAY,CAAC,IAAI,CAAC,GAAQ,CAAC;AAChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubagentTree.d.ts","sourceRoot":"","sources":["../../../src/tui/components/SubagentTree.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAK/D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,GAAO,EAAE,SAAa,EAAE,EAAE,iBAAiB,+BAqBhF"}
1
+ {"version":3,"file":"SubagentTree.d.ts","sourceRoot":"","sources":["../../../src/tui/components/SubagentTree.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAK/D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,GAAO,EAAE,SAAa,EAAE,EAAE,iBAAiB,+BAqBhF"}
@@ -2,11 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // SubagentTree — concurrent tasks as a per-worktree agent tree (S7).
3
3
  // Presentational: takes nodes built by buildSubagentTree.
4
4
  import { Box, Text } from 'ink';
5
- import { theme } from '../theme.js';
6
- const ICON = { start: '◐', complete: '●', fail: '✗' };
7
- const COLOR = { start: theme.running, complete: theme.ok, fail: theme.err };
5
+ import { STATUS } from '../theme.js';
6
+ // Single-sourced glyphs + colors (INT-2260): running → ◐, complete ✓, fail ✗.
7
+ const KIND = { start: 'running', complete: 'ok', fail: 'err' };
8
8
  export function SubagentTree({ tasks, max = 6, maxStages = 5 }) {
9
9
  const shown = tasks.slice(-max);
10
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Agents (by task)" }), shown.length === 0 ? (_jsx(Text, { dimColor: true, children: "(no active agents)" })) : (shown.map((task) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: COLOR[task.status], children: `${ICON[task.status]} ${task.taskId.slice(0, 16)}` }), task.stages.slice(-maxStages).map((s, i) => (_jsx(Text, { dimColor: true, children: ` └ ${s.stage}${s.model ? ` (${s.model})` : ''} — ${s.status}` }, i)))] }, task.taskId))))] }));
10
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Agents (by task)" }), shown.length === 0 ? (_jsx(Text, { dimColor: true, children: "(no active agents)" })) : (shown.map((task) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: STATUS[KIND[task.status]].color, children: `${STATUS[KIND[task.status]].icon} ${task.taskId.slice(0, 16)}` }), task.stages.slice(-maxStages).map((s, i) => (_jsx(Text, { dimColor: true, children: ` └ ${s.stage}${s.model ? ` (${s.model})` : ''} — ${s.status}` }, i)))] }, task.taskId))))] }));
11
11
  }
12
12
  //# sourceMappingURL=SubagentTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubagentTree.js","sourceRoot":"","sources":["../../../src/tui/components/SubagentTree.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,0DAA0D;AAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,MAAM,IAAI,GAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAClF,MAAM,KAAK,GAA+B,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AAUxG,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAqB;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,uCAAwB,EACjC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IAAC,QAAQ,yCAA0B,CACzC,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClB,MAAC,GAAG,IAAmB,aAAa,EAAC,QAAQ,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAQ,EAC3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3C,KAAC,IAAI,IAAS,QAAQ,kBACnB,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,IADxD,CAAC,CAEL,CACR,CAAC,KANM,IAAI,CAAC,MAAM,CAOf,CACP,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SubagentTree.js","sourceRoot":"","sources":["../../../src/tui/components/SubagentTree.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,0DAA0D;AAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,kFAAkF;AAClF,MAAM,IAAI,GAAmC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAU/F,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAqB;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,uCAAwB,EACjC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IAAC,QAAQ,yCAA0B,CACzC,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClB,MAAC,GAAG,IAAmB,aAAa,EAAC,QAAQ,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAQ,EACrH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3C,KAAC,IAAI,IAAS,QAAQ,kBACnB,QAAQ,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,IADxD,CAAC,CAEL,CACR,CAAC,KANM,IAAI,CAAC,MAAM,CAOf,CACP,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +1,5 @@
1
1
  export declare const LOADING_MESSAGES: readonly ["Initializing cogitator arrays", "Querying data-vault archives", "Accessing servitor protocols", "Compiling neural responses", "Interfacing with the Noosphere", "Scanning data-streams", "Calibrating logic engines", "Decoding transmission packets", "Loading archive databases", "Synchronizing machine protocols", "Analyzing pattern matrices", "Establishing neural link", "Processing data-core output", "Running diagnostics sequence", "Activating response circuits"];
2
- export declare const SPINNER_FRAMES: readonly ["⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"];
3
- /** Braille spinner glyph for the given tick. */
4
- export declare function spinnerFrame(tick: number): string;
2
+ export { SPINNER_FRAMES, spinnerFrame } from '../support/glyphs.js';
5
3
  /**
6
4
  * Loading line for a given tick. The message advances once per `periodMs`
7
5
  * (spinner ticks every `tickMs`); `base` offsets the starting line so each run
@@ -1 +1 @@
1
- {"version":3,"file":"loadingMessages.d.ts","sourceRoot":"","sources":["../../src/tui/loadingMessages.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,4dAgBnB,CAAC;AAEX,eAAO,MAAM,cAAc,mDAAoD,CAAC;AAIhF,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAO,EAAE,MAAM,SAAM,GAAG,MAAM,CAG5F"}
1
+ {"version":3,"file":"loadingMessages.d.ts","sourceRoot":"","sources":["../../src/tui/loadingMessages.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,4dAgBnB,CAAC;AAIX,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAO,EAAE,MAAM,SAAM,GAAG,MAAM,CAG5F"}
@@ -21,12 +21,10 @@ export const LOADING_MESSAGES = [
21
21
  'Running diagnostics sequence',
22
22
  'Activating response circuits',
23
23
  ];
24
- export const SPINNER_FRAMES = ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
24
+ // Spinner is single-sourced from support/glyphs (INT-2260); re-exported here for
25
+ // the existing TUI importers (AuditBoard, WorkingIndicator).
26
+ export { SPINNER_FRAMES, spinnerFrame } from '../support/glyphs.js';
25
27
  const mod = (n, m) => ((n % m) + m) % m;
26
- /** Braille spinner glyph for the given tick. */
27
- export function spinnerFrame(tick) {
28
- return SPINNER_FRAMES[mod(tick, SPINNER_FRAMES.length)];
29
- }
30
28
  /**
31
29
  * Loading line for a given tick. The message advances once per `periodMs`
32
30
  * (spinner ticks every `tickMs`); `base` offsets the starting line so each run
@@ -1 +1 @@
1
- {"version":3,"file":"loadingMessages.js","sourceRoot":"","sources":["../../src/tui/loadingMessages.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,kDAAkD;AAClD,0EAA0E;AAC1E,6EAA6E;AAC7E,sEAAsE;AACtE,+CAA+C;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,+BAA+B;IAC/B,8BAA8B;IAC9B,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,uBAAuB;IACvB,2BAA2B;IAC3B,+BAA+B;IAC/B,2BAA2B;IAC3B,iCAAiC;IACjC,4BAA4B;IAC5B,0BAA0B;IAC1B,6BAA6B;IAC7B,8BAA8B;IAC9B,8BAA8B;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEhF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAExD,gDAAgD;AAChD,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG;IAClF,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"loadingMessages.js","sourceRoot":"","sources":["../../src/tui/loadingMessages.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,kDAAkD;AAClD,0EAA0E;AAC1E,6EAA6E;AAC7E,sEAAsE;AACtE,+CAA+C;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,+BAA+B;IAC/B,8BAA8B;IAC9B,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,uBAAuB;IACvB,2BAA2B;IAC3B,+BAA+B;IAC/B,2BAA2B;IAC3B,iCAAiC;IACjC,4BAA4B;IAC5B,0BAA0B;IAC1B,6BAA6B;IAC7B,8BAA8B;IAC9B,8BAA8B;CACtB,CAAC;AAEX,iFAAiF;AACjF,6DAA6D;AAC7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG;IAClF,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1D,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type StatusKind } from '../support/glyphs.js';
1
2
  export declare const theme: {
2
3
  readonly accent: "cyan";
3
4
  readonly accentAlt: "magentaBright";
@@ -13,17 +14,30 @@ export declare const theme: {
13
14
  readonly border: "gray";
14
15
  readonly borderActive: "cyan";
15
16
  };
17
+ /** Non-status decoration glyphs + the shared status vocabulary (from GLYPH). */
16
18
  export declare const ICON: {
17
19
  readonly user: "▸";
18
20
  readonly assistant: "◆";
19
21
  readonly system: "•";
20
22
  readonly tool: "⦿";
21
- readonly ok: "✓";
22
- readonly fail: "✗";
23
- readonly running: "◐";
24
23
  readonly prompt: "›";
25
24
  readonly git: "⎇";
25
+ readonly ok: string;
26
+ readonly fail: string;
27
+ readonly running: string;
28
+ readonly warn: string;
29
+ readonly revise: string;
30
+ readonly info: string;
26
31
  };
32
+ /**
33
+ * Status semantic → { glyph, Ink color token }. The one map the Ink status
34
+ * primitives (<StatusIcon>) read, so every board/tree/timeline colors and
35
+ * glyphs a "running / done / failed / revise" the same way.
36
+ */
37
+ export declare const STATUS: Record<StatusKind, {
38
+ icon: string;
39
+ color: string;
40
+ }>;
27
41
  /** Gradient stops for the OpenSwarm wordmark (ink-gradient `colors`). */
28
42
  export declare const LOGO_GRADIENT: string[];
29
43
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAcR,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;CAUP,CAAC;AAEX,yEAAyE;AACzE,eAAO,MAAM,aAAa,UAAoC,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAQA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAcR,CAAC;AAEX,gFAAgF;AAChF,eAAO,MAAM,IAAI;;;;;;;;;;;;;CAeP,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOtE,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,aAAa,UAAoC,CAAC"}
package/dist/tui/theme.js CHANGED
@@ -1,8 +1,11 @@
1
1
  // ============================================
2
- // OpenSwarm - TUI theme (INT-1943)
2
+ // OpenSwarm - TUI theme (INT-1943, INT-2260)
3
3
  // Single source of colors + glyphs for the Ink cockpit, so the chat-first
4
- // redesign stays visually consistent.
4
+ // redesign stays visually consistent. Status glyphs + the spinner come from the
5
+ // context-free `support/glyphs` so plain console output (support/colors `status`)
6
+ // shares the exact same vocabulary — no view redeclares its own icons.
5
7
  // ============================================
8
+ import { GLYPH } from '../support/glyphs.js';
6
9
  export const theme = {
7
10
  accent: 'cyan',
8
11
  accentAlt: 'magentaBright',
@@ -18,16 +21,35 @@ export const theme = {
18
21
  border: 'gray',
19
22
  borderActive: 'cyan',
20
23
  };
24
+ /** Non-status decoration glyphs + the shared status vocabulary (from GLYPH). */
21
25
  export const ICON = {
22
26
  user: '▸',
23
27
  assistant: '◆',
24
28
  system: '•',
25
29
  tool: '⦿',
26
- ok: '✓',
27
- fail: '✗',
28
- running: '◐',
29
30
  prompt: '›',
30
31
  git: '⎇',
32
+ // Status glyphs — single-sourced from support/glyphs. `fail` kept as the
33
+ // established alias for the error glyph.
34
+ ok: GLYPH.ok,
35
+ fail: GLYPH.err,
36
+ running: GLYPH.running,
37
+ warn: GLYPH.warn,
38
+ revise: GLYPH.revise,
39
+ info: GLYPH.info,
40
+ };
41
+ /**
42
+ * Status semantic → { glyph, Ink color token }. The one map the Ink status
43
+ * primitives (<StatusIcon>) read, so every board/tree/timeline colors and
44
+ * glyphs a "running / done / failed / revise" the same way.
45
+ */
46
+ export const STATUS = {
47
+ running: { icon: GLYPH.running, color: theme.running },
48
+ ok: { icon: GLYPH.ok, color: theme.ok },
49
+ warn: { icon: GLYPH.warn, color: theme.warn },
50
+ err: { icon: GLYPH.err, color: theme.err },
51
+ revise: { icon: GLYPH.revise, color: theme.accentAlt },
52
+ info: { icon: GLYPH.info, color: theme.info },
31
53
  };
32
54
  /** Gradient stops for the OpenSwarm wordmark (ink-gradient `colors`). */
33
55
  export const LOGO_GRADIENT = ['#22d3ee', '#3b82f6', '#a855f7'];
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mCAAmC;AACnC,0EAA0E;AAC1E,sCAAsC;AACtC,+CAA+C;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,MAAM;IACX,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;CACA,CAAC;AAEX,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,6CAA6C;AAC7C,0EAA0E;AAC1E,gFAAgF;AAChF,kFAAkF;AAClF,uEAAuE;AACvE,+CAA+C;AAE/C,OAAO,EAAE,KAAK,EAAmB,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,MAAM;IACX,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;CACZ,CAAC;AAEX,gFAAgF;AAChF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;IACR,yEAAyE;IACzE,yCAAyC;IACzC,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,IAAI,EAAE,KAAK,CAAC,GAAG;IACf,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,IAAI,EAAE,KAAK,CAAC,IAAI;CACR,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAwD;IACzE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;IACtD,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;IACvC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;IAC7C,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;IAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;IACtD,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;CAC9C,CAAC;AAEF,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intrect/openswarm",
3
- "version": "0.10.2",
3
+ "version": "0.12.0",
4
4
  "description": "Autonomous AI agent orchestrator — Claude, GPT, Codex, and local models (Ollama/LMStudio/llama.cpp)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,49 +0,0 @@
1
- import type { ReviewResult } from './agentPair.js';
2
- import type { ReviewerOptions } from './reviewer.js';
3
- /** A single review perspective. `focus` is injected verbatim into the prompt. */
4
- export interface ReviewLens {
5
- key: string;
6
- focus: string;
7
- }
8
- /** The three default lenses a fan-out review runs in parallel. */
9
- export declare const REVIEW_LENSES: ReviewLens[];
10
- /**
11
- * Append a lens directive to the base task description so the reviewer
12
- * concentrates on one concern. Other concerns are explicitly delegated to the
13
- * sibling lenses so a single reviewer doesn't try to cover everything.
14
- */
15
- export declare function buildLensTaskDescription(base: string, lens: ReviewLens): string;
16
- /**
17
- * Combine several lens reviews into one verdict:
18
- * - decision = the WORST across lenses (reject > revise > approve)
19
- * - issues / suggestions / recommendedActions = deduped union
20
- * - feedback = one line per lens result, joined
21
- * Empty input yields a clean approve (nothing flagged).
22
- */
23
- export declare function mergeReviewResults(results: ReviewResult[]): ReviewResult;
24
- /**
25
- * Decide whether a task is worth the extra cost of multi-lens fan-out. Triggers
26
- * on a wide change surface, high priority (1=Urgent, 2=High), or an explicit
27
- * `deep-review` label. Threshold defaults to 3 changed files.
28
- */
29
- export declare function shouldFanoutReview(task: {
30
- filesChanged?: string[];
31
- priority?: number;
32
- labels?: string[];
33
- }, opts?: {
34
- fileThreshold?: number;
35
- }): boolean;
36
- /**
37
- * Run every lens in parallel and merge. Each lens calls the reviewer with a
38
- * lens-scoped task description. A lens that fails for a non-rate-limit reason is
39
- * skipped (its slot carries an error from the pool). A RateLimitError from ANY
40
- * lens propagates so the pipeline's existing usage-limit handling / claude
41
- * fallback can take over (INT-2192) instead of silently dropping a lens.
42
- * `deps` is injectable for tests.
43
- */
44
- export declare function runMultiLensReview(options: ReviewerOptions, deps?: {
45
- review?: (o: ReviewerOptions) => Promise<ReviewResult>;
46
- concurrency?: number;
47
- lenses?: ReviewLens[];
48
- }): Promise<ReviewResult>;
49
- //# sourceMappingURL=multiLensReview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiLensReview.d.ts","sourceRoot":"","sources":["../../src/agents/multiLensReview.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kEAAkE;AAClE,eAAO,MAAM,aAAa,EAAE,UAAU,EAarC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAE/E;AAkCD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,CA4BxE;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EACvE,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAMT;AAID;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,IAAI,CAAC,EAAE;IACL,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB,GACA,OAAO,CAAC,YAAY,CAAC,CAsBvB"}