browser-debugger-cli 0.2.0 → 0.3.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 (128) hide show
  1. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +47 -0
  2. package/dist/__tests__/schema.contract.test.d.ts +19 -0
  3. package/dist/__tests__/schema.contract.test.d.ts.map +1 -0
  4. package/dist/__tests__/schema.contract.test.js +236 -0
  5. package/dist/__tests__/schema.contract.test.js.map +1 -0
  6. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -1
  7. package/dist/commands/__tests__/cdp.contract.test.js +0 -1
  8. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  9. package/dist/commands/__tests__/domEval.contract.test.d.ts +17 -0
  10. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +1 -0
  11. package/dist/commands/__tests__/domEval.contract.test.js +231 -0
  12. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -0
  13. package/dist/commands/cleanup.d.ts.map +1 -1
  14. package/dist/commands/cleanup.js +46 -5
  15. package/dist/commands/cleanup.js.map +1 -1
  16. package/dist/commands/console.d.ts.map +1 -1
  17. package/dist/commands/console.js +8 -8
  18. package/dist/commands/console.js.map +1 -1
  19. package/dist/commands/details.js +2 -2
  20. package/dist/commands/details.js.map +1 -1
  21. package/dist/commands/dom.d.ts.map +1 -1
  22. package/dist/commands/dom.js +101 -109
  23. package/dist/commands/dom.js.map +1 -1
  24. package/dist/commands/domEvalHelpers.d.ts +6 -10
  25. package/dist/commands/domEvalHelpers.d.ts.map +1 -1
  26. package/dist/commands/domEvalHelpers.js +12 -16
  27. package/dist/commands/domEvalHelpers.js.map +1 -1
  28. package/dist/commands/network.d.ts.map +1 -1
  29. package/dist/commands/network.js +2 -4
  30. package/dist/commands/network.js.map +1 -1
  31. package/dist/commands/peek.d.ts.map +1 -1
  32. package/dist/commands/peek.js +3 -2
  33. package/dist/commands/peek.js.map +1 -1
  34. package/dist/commands/shared/CommandRunner.d.ts +4 -2
  35. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  36. package/dist/commands/shared/CommandRunner.js +17 -1
  37. package/dist/commands/shared/CommandRunner.js.map +1 -1
  38. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  39. package/dist/commands/shared/commonOptions.js +2 -1
  40. package/dist/commands/shared/commonOptions.js.map +1 -1
  41. package/dist/commands/shared/sessionController.d.ts.map +1 -1
  42. package/dist/commands/shared/sessionController.js +7 -8
  43. package/dist/commands/shared/sessionController.js.map +1 -1
  44. package/dist/commands/status.d.ts.map +1 -1
  45. package/dist/commands/status.js +4 -3
  46. package/dist/commands/status.js.map +1 -1
  47. package/dist/commands/stop.d.ts.map +1 -1
  48. package/dist/commands/stop.js +5 -3
  49. package/dist/commands/stop.js.map +1 -1
  50. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -1
  51. package/dist/connection/__tests__/cdp.contract.test.js +0 -1
  52. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  53. package/dist/connection/launcher.d.ts.map +1 -1
  54. package/dist/connection/launcher.js +32 -22
  55. package/dist/connection/launcher.js.map +1 -1
  56. package/dist/daemon/startSession.d.ts.map +1 -1
  57. package/dist/daemon/startSession.js +6 -4
  58. package/dist/daemon/startSession.js.map +1 -1
  59. package/dist/daemon/worker.js +116 -45
  60. package/dist/daemon/worker.js.map +1 -1
  61. package/dist/ipc/client.d.ts +13 -0
  62. package/dist/ipc/client.d.ts.map +1 -1
  63. package/dist/ipc/client.js +16 -0
  64. package/dist/ipc/client.js.map +1 -1
  65. package/dist/ipc/commands.d.ts +19 -0
  66. package/dist/ipc/commands.d.ts.map +1 -1
  67. package/dist/ipc/commands.js +4 -0
  68. package/dist/ipc/commands.js.map +1 -1
  69. package/dist/types.d.ts +24 -0
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/ui/errors.d.ts +39 -0
  72. package/dist/ui/errors.d.ts.map +1 -0
  73. package/dist/ui/errors.js +48 -0
  74. package/dist/ui/errors.js.map +1 -0
  75. package/dist/ui/formatters/cookies.d.ts.map +1 -1
  76. package/dist/ui/formatters/cookies.js +18 -21
  77. package/dist/ui/formatters/cookies.js.map +1 -1
  78. package/dist/ui/formatters/details.d.ts.map +1 -1
  79. package/dist/ui/formatters/details.js +34 -36
  80. package/dist/ui/formatters/details.js.map +1 -1
  81. package/dist/ui/formatters/dom.d.ts +135 -0
  82. package/dist/ui/formatters/dom.d.ts.map +1 -0
  83. package/dist/ui/formatters/dom.js +193 -0
  84. package/dist/ui/formatters/dom.js.map +1 -0
  85. package/dist/ui/formatters/index.d.ts +1 -0
  86. package/dist/ui/formatters/index.d.ts.map +1 -1
  87. package/dist/ui/formatters/index.js +1 -0
  88. package/dist/ui/formatters/index.js.map +1 -1
  89. package/dist/ui/formatters/preview.js +43 -38
  90. package/dist/ui/formatters/preview.js.map +1 -1
  91. package/dist/ui/formatters/status.d.ts.map +1 -1
  92. package/dist/ui/formatters/status.js +44 -44
  93. package/dist/ui/formatters/status.js.map +1 -1
  94. package/dist/ui/formatting.d.ts +104 -1
  95. package/dist/ui/formatting.d.ts.map +1 -1
  96. package/dist/ui/formatting.js +138 -2
  97. package/dist/ui/formatting.js.map +1 -1
  98. package/dist/ui/messages/chrome.d.ts +70 -0
  99. package/dist/ui/messages/chrome.d.ts.map +1 -1
  100. package/dist/ui/messages/chrome.js +91 -0
  101. package/dist/ui/messages/chrome.js.map +1 -1
  102. package/dist/ui/messages/debug.d.ts +4 -2
  103. package/dist/ui/messages/debug.d.ts.map +1 -1
  104. package/dist/ui/messages/debug.js +31 -29
  105. package/dist/ui/messages/debug.js.map +1 -1
  106. package/dist/ui/messages/errors.d.ts +11 -0
  107. package/dist/ui/messages/errors.d.ts.map +1 -1
  108. package/dist/ui/messages/errors.js +13 -0
  109. package/dist/ui/messages/errors.js.map +1 -1
  110. package/dist/ui/messages/preview.d.ts +24 -0
  111. package/dist/ui/messages/preview.d.ts.map +1 -1
  112. package/dist/ui/messages/preview.js +31 -0
  113. package/dist/ui/messages/preview.js.map +1 -1
  114. package/dist/ui/messages/validation.d.ts +14 -0
  115. package/dist/ui/messages/validation.d.ts.map +1 -1
  116. package/dist/ui/messages/validation.js +16 -0
  117. package/dist/ui/messages/validation.js.map +1 -1
  118. package/dist/utils/filters.js +1 -1
  119. package/dist/utils/filters.js.map +1 -1
  120. package/dist/utils/pageReadiness.d.ts +9 -14
  121. package/dist/utils/pageReadiness.d.ts.map +1 -1
  122. package/dist/utils/pageReadiness.js +16 -16
  123. package/dist/utils/pageReadiness.js.map +1 -1
  124. package/dist/utils/url.d.ts +58 -6
  125. package/dist/utils/url.d.ts.map +1 -1
  126. package/dist/utils/url.js +127 -20
  127. package/dist/utils/url.js.map +1 -1
  128. package/package.json +2 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/ui/formatters/dom.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Re-exports all formatter modules for easy importing.
5
5
  */
6
6
  export * from './cookies.js';
7
+ export * from './dom.js';
7
8
  export * from './status.js';
8
9
  export * from './preview.js';
9
10
  export * from './details.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * Re-exports all formatter modules for easy importing.
5
5
  */
6
6
  export * from './cookies.js';
7
+ export * from './dom.js';
7
8
  export * from './status.js';
8
9
  export * from './preview.js';
9
10
  export * from './details.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- import { truncateUrl, truncateText } from '../../ui/formatting.js';
1
+ import { OutputFormatter, truncateUrl, truncateText } from '../../ui/formatting.js';
2
2
  import { PREVIEW_EMPTY_STATES, PREVIEW_HEADERS, compactTipsMessage, verboseCommandsMessage, } from '../../ui/messages/preview.js';
3
3
  /**
4
4
  * Format preview output (peek command)
@@ -52,14 +52,14 @@ function formatPreviewHumanReadable(output, options) {
52
52
  * Token-efficient output optimized for AI agents
53
53
  */
54
54
  function formatPreviewCompact(output, options) {
55
- const lines = [];
55
+ const fmt = new OutputFormatter();
56
56
  // Header with data collection timestamp
57
- lines.push(`PREVIEW | Duration: ${Math.floor(output.duration / 1000)}s | Updated: ${output.timestamp}`);
57
+ fmt.text(`PREVIEW | Duration: ${Math.floor(output.duration / 1000)}s | Updated: ${output.timestamp}`);
58
58
  // In follow mode, add current refresh time to show live updates
59
59
  if (options.follow && options.viewedAt) {
60
- lines.push(`Viewed at: ${options.viewedAt.toISOString()}`);
60
+ fmt.text(`Viewed at: ${options.viewedAt.toISOString()}`);
61
61
  }
62
- lines.push('');
62
+ fmt.blank();
63
63
  const lastCount = parseInt(options.last);
64
64
  const hasNetworkData = output.data.network && output.data.network.length > 0;
65
65
  const hasConsoleData = output.data.console && output.data.console.length > 0;
@@ -68,18 +68,19 @@ function formatPreviewCompact(output, options) {
68
68
  // Hide empty section if console filter is active and there's no network data
69
69
  if (options.console === undefined || hasNetworkData) {
70
70
  const requests = output.data.network.slice(-lastCount);
71
- lines.push(`NETWORK (${requests.length}/${output.data.network.length}):`);
71
+ fmt.text(`NETWORK (${requests.length}/${output.data.network.length}):`);
72
72
  if (requests.length === 0) {
73
- lines.push(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
73
+ fmt.text(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
74
74
  }
75
75
  else {
76
- requests.forEach((req) => {
76
+ const networkLines = requests.map((req) => {
77
77
  const status = req.status ?? 'pending';
78
78
  const url = truncateUrl(req.url, 50);
79
- lines.push(` ${status} ${req.method} ${url} [${req.requestId}]`);
79
+ return `${status} ${req.method} ${url} [${req.requestId}]`;
80
80
  });
81
+ fmt.list(networkLines, 2);
81
82
  }
82
- lines.push('');
83
+ fmt.blank();
83
84
  }
84
85
  }
85
86
  // Show console messages only if not filtered out or has data
@@ -87,41 +88,43 @@ function formatPreviewCompact(output, options) {
87
88
  // Hide empty section if network filter is active and there's no console data
88
89
  if (options.network === undefined || hasConsoleData) {
89
90
  const messages = output.data.console.slice(-lastCount);
90
- lines.push(`CONSOLE (${messages.length}/${output.data.console.length}):`);
91
+ fmt.text(`CONSOLE (${messages.length}/${output.data.console.length}):`);
91
92
  if (messages.length === 0) {
92
- lines.push(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
93
+ fmt.text(` ${PREVIEW_EMPTY_STATES.NO_DATA}`);
93
94
  }
94
95
  else {
95
- messages.forEach((msg) => {
96
+ const consoleLines = messages.map((msg) => {
96
97
  const prefix = msg.type.toUpperCase().padEnd(5);
97
98
  const text = truncateText(msg.text, 2);
98
- lines.push(` ${prefix} ${text}`);
99
+ return `${prefix} ${text}`;
99
100
  });
101
+ fmt.list(consoleLines, 2);
100
102
  }
101
- lines.push('');
103
+ fmt.blank();
102
104
  }
103
105
  }
104
106
  // Suppress tips in follow mode to reduce screen clutter during live updates
105
107
  if (!options.follow) {
106
- lines.push(compactTipsMessage());
108
+ fmt.text(compactTipsMessage());
107
109
  }
108
- return lines.join('\n');
110
+ return fmt.build();
109
111
  }
110
112
  /**
111
113
  * Format preview in verbose format (opt-in with --verbose)
112
114
  * Original human-friendly output with Unicode formatting
113
115
  */
114
116
  function formatPreviewVerbose(output, options) {
115
- const lines = [];
116
- lines.push(PREVIEW_HEADERS.LIVE_PREVIEW);
117
- lines.push('━'.repeat(50));
118
- lines.push(`Duration: ${Math.floor(output.duration / 1000)}s`);
119
- lines.push(`Last updated: ${output.timestamp}`);
117
+ const fmt = new OutputFormatter();
118
+ fmt.text(PREVIEW_HEADERS.LIVE_PREVIEW).separator('━', 50);
119
+ fmt.keyValueList([
120
+ ['Duration', `${Math.floor(output.duration / 1000)}s`],
121
+ ['Last updated', output.timestamp],
122
+ ], 18);
120
123
  // In follow mode, add current refresh time to show live updates
121
124
  if (options.follow && options.viewedAt) {
122
- lines.push(`Viewed at: ${options.viewedAt.toISOString()}`);
125
+ fmt.keyValue('Viewed at', options.viewedAt.toISOString(), 18);
123
126
  }
124
- lines.push('');
127
+ fmt.blank();
125
128
  const lastCount = parseInt(options.last);
126
129
  const hasNetworkData = output.data.network && output.data.network.length > 0;
127
130
  const hasConsoleData = output.data.console && output.data.console.length > 0;
@@ -130,23 +133,24 @@ function formatPreviewVerbose(output, options) {
130
133
  // Hide empty section if console filter is active and there's no network data
131
134
  if (options.console === undefined || hasNetworkData) {
132
135
  const requests = output.data.network.slice(-lastCount);
133
- lines.push(`Network Requests (last ${requests.length} of ${output.data.network.length})`);
134
- lines.push('━'.repeat(50));
136
+ fmt
137
+ .text(`Network Requests (last ${requests.length} of ${output.data.network.length})`)
138
+ .separator('━', 50);
135
139
  if (requests.length === 0) {
136
- lines.push(PREVIEW_EMPTY_STATES.NO_NETWORK_REQUESTS);
140
+ fmt.text(PREVIEW_EMPTY_STATES.NO_NETWORK_REQUESTS);
137
141
  }
138
142
  else {
139
143
  requests.forEach((req) => {
140
144
  const statusColor = req.status && req.status >= 400 ? 'ERR' : 'OK';
141
145
  const status = req.status ?? 'pending';
142
- lines.push(`${statusColor} ${status} ${req.method} ${req.url}`);
146
+ fmt.text(`${statusColor} ${status} ${req.method} ${req.url}`);
143
147
  if (req.mimeType) {
144
- lines.push(` Type: ${req.mimeType}`);
148
+ fmt.text(` Type: ${req.mimeType}`);
145
149
  }
146
- lines.push(` ID: ${req.requestId} (use 'bdg details network ${req.requestId}' for full details)`);
150
+ fmt.text(` ID: ${req.requestId} (use 'bdg details network ${req.requestId}' for full details)`);
147
151
  });
148
152
  }
149
- lines.push('');
153
+ fmt.blank();
150
154
  }
151
155
  }
152
156
  // Show console messages only if not filtered out or has data
@@ -154,24 +158,25 @@ function formatPreviewVerbose(output, options) {
154
158
  // Hide empty section if network filter is active and there's no console data
155
159
  if (options.network === undefined || hasConsoleData) {
156
160
  const messages = output.data.console.slice(-lastCount);
157
- lines.push(`Console Messages (last ${messages.length} of ${output.data.console.length})`);
158
- lines.push('━'.repeat(50));
161
+ fmt
162
+ .text(`Console Messages (last ${messages.length} of ${output.data.console.length})`)
163
+ .separator('━', 50);
159
164
  if (messages.length === 0) {
160
- lines.push(PREVIEW_EMPTY_STATES.NO_CONSOLE_MESSAGES);
165
+ fmt.text(PREVIEW_EMPTY_STATES.NO_CONSOLE_MESSAGES);
161
166
  }
162
167
  else {
163
168
  messages.forEach((msg) => {
164
169
  const icon = msg.type === 'error' ? 'ERR' : msg.type === 'warning' ? 'WARN' : 'INFO';
165
- lines.push(`${icon} [${msg.type}] ${msg.text}`);
170
+ fmt.text(`${icon} [${msg.type}] ${msg.text}`);
166
171
  });
167
172
  }
168
- lines.push('');
173
+ fmt.blank();
169
174
  }
170
175
  }
171
176
  // Suppress tips in follow mode to reduce screen clutter during live updates
172
177
  if (!options.follow) {
173
- lines.push(verboseCommandsMessage());
178
+ fmt.text(verboseCommandsMessage());
174
179
  }
175
- return lines.join('\n');
180
+ return fmt.build();
176
181
  }
177
182
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/ui/formatters/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/ui/formatters/preview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAM7D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAcD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,UAAQ,GACd,MAAM,CAuFR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,UAAU,CA8CZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/ui/formatters/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO7D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAcD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,UAAQ,GACd,MAAM,CA4FR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,UAAU,CA8CZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAW/C"}
@@ -1,4 +1,5 @@
1
1
  import { isProcessAlive } from '../../session/process.js';
2
+ import { OutputFormatter } from '../../ui/formatting.js';
2
3
  import { formatDiagnosticsForStatus } from '../../ui/messages/chrome.js';
3
4
  import { getChromeDiagnostics } from '../../utils/chromeDiagnostics.js';
4
5
  import { VERSION } from '../../utils/version.js';
@@ -33,68 +34,63 @@ export function formatSessionStatus(metadata, pid, activity, pageState, verbose
33
34
  const durationFormatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
34
35
  // Check if Chrome is alive
35
36
  const chromeAlive = metadata.chromePid ? isProcessAlive(metadata.chromePid) : false;
36
- const lines = [];
37
- lines.push('Session Status');
38
- lines.push('━'.repeat(50));
39
- lines.push(`Status: ACTIVE`);
40
- lines.push(`Duration: ${durationFormatted}`);
41
- lines.push('');
42
- lines.push('Process Information');
43
- lines.push('━'.repeat(50));
44
- lines.push(`Daemon PID: ${pid}`);
37
+ const fmt = new OutputFormatter();
38
+ fmt.text('Session Status').separator('━', 50);
39
+ fmt.keyValueList([
40
+ ['Status', 'ACTIVE'],
41
+ ['Duration', durationFormatted],
42
+ ], 18);
43
+ fmt.blank().text('Process Information').separator('━', 50);
44
+ fmt.keyValue('Daemon PID', pid.toString(), 18);
45
45
  if (metadata.chromePid) {
46
- lines.push(`Chrome PID: ${metadata.chromePid} ${chromeAlive ? '(running)' : '(not running)'}`);
46
+ fmt.keyValue('Chrome PID', `${metadata.chromePid} ${chromeAlive ? '(running)' : '(not running)'}`, 18);
47
47
  }
48
- lines.push(`Port: ${metadata.port}`);
48
+ fmt.keyValue('Port', metadata.port.toString(), 18);
49
49
  // Target Information (from live worker data)
50
50
  if (pageState) {
51
- lines.push('');
52
- lines.push('Target Information');
53
- lines.push('━'.repeat(50));
54
- lines.push(`URL: ${pageState.url}`);
51
+ fmt.blank().text('Target Information').separator('━', 50);
52
+ fmt.keyValue('URL', pageState.url, 18);
55
53
  if (pageState.title) {
56
- lines.push(`Title: ${pageState.title}`);
54
+ fmt.keyValue('Title', pageState.title, 18);
57
55
  }
58
56
  }
59
57
  // Activity Section (from live worker data)
60
58
  if (activity) {
61
- lines.push('');
62
- lines.push('Activity');
63
- lines.push('━'.repeat(50));
64
- lines.push(`Network Requests: ${activity.networkRequestsCaptured} captured`);
59
+ fmt.blank().text('Activity').separator('━', 50);
60
+ fmt.keyValue('Network Requests', `${activity.networkRequestsCaptured} captured`, 18);
65
61
  if (activity.lastNetworkRequestAt) {
66
- lines.push(` Last Request: ${formatTimeAgo(activity.lastNetworkRequestAt)}`);
62
+ fmt.keyValue(' Last Request', formatTimeAgo(activity.lastNetworkRequestAt), 18);
67
63
  }
68
- lines.push(`Console Messages: ${activity.consoleMessagesCaptured} captured`);
64
+ fmt.keyValue('Console Messages', `${activity.consoleMessagesCaptured} captured`, 18);
69
65
  if (activity.lastConsoleMessageAt) {
70
- lines.push(` Last Message: ${formatTimeAgo(activity.lastConsoleMessageAt)}`);
66
+ fmt.keyValue(' Last Message', formatTimeAgo(activity.lastConsoleMessageAt), 18);
71
67
  }
72
68
  }
73
69
  // Telemetry Section
74
- lines.push('');
75
- lines.push('Collectors');
76
- lines.push('━'.repeat(50));
70
+ fmt.blank().text('Collectors').separator('━', 50);
77
71
  // Use activeTelemetry from metadata, fallback to all telemetry modules for backward compatibility
78
72
  const activeTelemetry = metadata.activeTelemetry ?? ['network', 'console', 'dom'];
79
- lines.push(`Network: ${activeTelemetry.includes('network') ? 'Active' : 'Inactive'}`);
80
- lines.push(`Console: ${activeTelemetry.includes('console') ? 'Active' : 'Inactive'}`);
81
- lines.push(`DOM: ${activeTelemetry.includes('dom') ? 'Active' : 'Inactive'}`);
73
+ fmt.keyValueList([
74
+ ['Network', activeTelemetry.includes('network') ? 'Active' : 'Inactive'],
75
+ ['Console', activeTelemetry.includes('console') ? 'Active' : 'Inactive'],
76
+ ['DOM', activeTelemetry.includes('dom') ? 'Active' : 'Inactive'],
77
+ ], 18);
82
78
  // Add verbose Chrome diagnostics if requested
83
79
  if (verbose) {
84
- lines.push('');
85
- lines.push('Chrome Diagnostics');
86
- lines.push('━'.repeat(50));
80
+ fmt.blank().text('Chrome Diagnostics').separator('━', 50);
87
81
  // Get diagnostics using shared utility (cached to avoid repeated scans)
88
82
  const diagnostics = getChromeDiagnostics();
89
83
  const diagnosticLines = formatDiagnosticsForStatus(diagnostics);
90
- lines.push(...diagnosticLines);
84
+ diagnosticLines.forEach((line) => fmt.text(line));
91
85
  }
92
- lines.push('');
93
- lines.push('Commands:');
94
- lines.push(' Stop session: bdg stop');
95
- lines.push(' Peek data: bdg peek');
96
- lines.push(' Query browser: bdg query <script>');
97
- return lines.join('\n');
86
+ fmt
87
+ .blank()
88
+ .section('Commands:', [
89
+ 'Stop session: bdg stop',
90
+ 'Peek data: bdg peek',
91
+ 'Query browser: bdg query <script>',
92
+ ]);
93
+ return fmt.build();
98
94
  }
99
95
  /**
100
96
  * Convert status data to JSON format
@@ -144,10 +140,14 @@ export function formatStatusAsJson(metadata, pid) {
144
140
  * Format "no session" message
145
141
  */
146
142
  export function formatNoSessionMessage() {
147
- return `No active session found
148
-
149
- Suggestions:
150
- Start a new session: bdg <url>
151
- List Chrome tabs: bdg tabs`;
143
+ const fmt = new OutputFormatter();
144
+ return fmt
145
+ .text('No active session found')
146
+ .blank()
147
+ .section('Suggestions:', [
148
+ 'Start a new session: bdg <url>',
149
+ 'List Chrome tabs: bdg tabs',
150
+ ])
151
+ .build();
152
152
  }
153
153
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/ui/formatters/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAuB7C;;GAEG;AACH,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/D,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,UAAU,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,UAAU,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,GAAG,QAAQ,OAAO,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAyB,EACzB,GAAW,EACX,QAA0B,EAC1B,SAAqB,EACrB,OAAO,GAAG,KAAK;IAEf,qBAAqB;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,GAAG,EAAE,CAAC;IACjC,MAAM,iBAAiB,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IAElF,2BAA2B;IAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,qBAAqB,iBAAiB,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAEvC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,qBAAqB,QAAQ,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjD,6CAA6C;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,uBAAuB,WAAW,CAAC,CAAC;QAC7E,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,uBAAuB,WAAW,CAAC,CAAC;QAC7E,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,kGAAkG;IAClG,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAElF,KAAK,CAAC,IAAI,CAAC,qBAAqB,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,qBAAqB,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,qBAAqB,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3F,8CAA8C;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,wEAAwE;QACxE,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAEpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgC,EAChC,GAAkB;IAElB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,wDAAwD;SAClE,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,GAAG,EAAE,CAAC;IACjC,MAAM,iBAAiB,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IAElF,2BAA2B;IAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpF,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW;QACX,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ,EAAE,UAAU;QACpB,iBAAiB;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,gGAAgG;QAChG,SAAS,EAAE,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;;;;oCAI2B,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/ui/formatters/status.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,111 @@
2
2
  * Shared formatting utilities for UI output.
3
3
  *
4
4
  * This module provides low-level formatting helpers used across all UI components.
5
- * Includes: separators, sections, lists, key-value pairs, text utilities, and time formatting.
5
+ * Includes: separators, sections, lists, key-value pairs, text utilities, time formatting,
6
+ * and the OutputFormatter class for building complex formatted output.
6
7
  */
8
+ /**
9
+ * Fluent builder for constructing formatted console output.
10
+ *
11
+ * Provides a chainable API for building complex multi-line output with consistent
12
+ * spacing, indentation, and structure. All methods return `this` for chaining.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const output = new OutputFormatter()
17
+ * .text('Found 3 elements:')
18
+ * .list(['<div>', '<span>', '<p>'])
19
+ * .blank()
20
+ * .section('Next steps:', [
21
+ * 'Highlight: bdg dom highlight 0',
22
+ * 'Get HTML: bdg dom get 0'
23
+ * ])
24
+ * .build();
25
+ *
26
+ * console.log(output);
27
+ * // Output:
28
+ * // Found 3 elements:
29
+ * // <div>
30
+ * // <span>
31
+ * // <p>
32
+ * //
33
+ * // Next steps:
34
+ * // Highlight: bdg dom highlight 0
35
+ * // Get HTML: bdg dom get 0
36
+ * ```
37
+ */
38
+ export declare class OutputFormatter {
39
+ private lines;
40
+ /**
41
+ * Add a text line to the output.
42
+ *
43
+ * @param content - Text content to add
44
+ * @returns This formatter for chaining
45
+ */
46
+ text(content: string): this;
47
+ /**
48
+ * Add a blank line to the output.
49
+ *
50
+ * @returns This formatter for chaining
51
+ */
52
+ blank(): this;
53
+ /**
54
+ * Add an indented list of items.
55
+ *
56
+ * @param items - Array of items to list
57
+ * @param indent - Indentation spaces (default: 2)
58
+ * @returns This formatter for chaining
59
+ */
60
+ list(items: string[], indent?: number): this;
61
+ /**
62
+ * Add a section with title and indented items.
63
+ *
64
+ * @param title - Section title
65
+ * @param items - Array of items (will be indented)
66
+ * @param indent - Indentation spaces (default: 2)
67
+ * @returns This formatter for chaining
68
+ */
69
+ section(title: string, items: string[], indent?: number): this;
70
+ /**
71
+ * Add a horizontal separator line.
72
+ *
73
+ * @param char - Character to repeat (default: '━')
74
+ * @param width - Width in characters (default: 50)
75
+ * @returns This formatter for chaining
76
+ */
77
+ separator(char?: string, width?: number): this;
78
+ /**
79
+ * Add a key-value pair with alignment.
80
+ *
81
+ * @param key - Key string
82
+ * @param value - Value string
83
+ * @param keyWidth - Width to pad key to (default: no padding)
84
+ * @returns This formatter for chaining
85
+ */
86
+ keyValue(key: string, value: string, keyWidth?: number): this;
87
+ /**
88
+ * Add multiple key-value pairs with aligned keys.
89
+ *
90
+ * @param pairs - Array of [key, value] tuples
91
+ * @param keyWidth - Width to pad keys to (auto-calculated if not provided)
92
+ * @returns This formatter for chaining
93
+ */
94
+ keyValueList(pairs: Array<[string, string]>, keyWidth?: number): this;
95
+ /**
96
+ * Add indented content.
97
+ *
98
+ * @param content - Content to indent (can be multiline)
99
+ * @param spaces - Number of spaces to indent (default: 2)
100
+ * @returns This formatter for chaining
101
+ */
102
+ indent(content: string, spaces?: number): this;
103
+ /**
104
+ * Build the final output string.
105
+ *
106
+ * @returns Formatted output with lines joined by newlines
107
+ */
108
+ build(): string;
109
+ }
7
110
  /**
8
111
  * Create a horizontal separator line.
9
112
  *
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/ui/formatting.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAY,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAExE;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAGpF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,GAAE,MAAY,GAAG,MAAM,CAG5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9E;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAWvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAuCvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAwBjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAoBzD"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/ui/formatting.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAgB;IAE7B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAM/C;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAKjE;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,GAAE,MAAY,EAAE,KAAK,GAAE,MAAW,GAAG,IAAI;IAKvD;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAM7D;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAMrE;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAMjD;;;;OAIG;IACH,KAAK,IAAI,MAAM;CAGhB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAY,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAExE;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAGpF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,EAAE,MAAM,GAAE,MAAY,GAAG,MAAM,CAG5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9E;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAWvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAuCvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAwBjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAoBzD"}