@agentuity/cli 0.0.110 → 0.0.112
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.
- package/bin/cli.ts +4 -0
- package/dist/agents-docs.d.ts +5 -4
- package/dist/agents-docs.d.ts.map +1 -1
- package/dist/agents-docs.js +28 -8
- package/dist/agents-docs.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -4
- package/dist/cli.js.map +1 -1
- package/dist/cmd/auth/apikey.d.ts +2 -0
- package/dist/cmd/auth/apikey.d.ts.map +1 -0
- package/dist/cmd/auth/apikey.js +31 -0
- package/dist/cmd/auth/apikey.js.map +1 -0
- package/dist/cmd/auth/index.d.ts.map +1 -1
- package/dist/cmd/auth/index.js +9 -1
- package/dist/cmd/auth/index.js.map +1 -1
- package/dist/cmd/build/ast.d.ts.map +1 -1
- package/dist/cmd/build/ast.js +103 -2
- package/dist/cmd/build/ast.js.map +1 -1
- package/dist/cmd/build/entry-generator.d.ts +2 -1
- package/dist/cmd/build/entry-generator.d.ts.map +1 -1
- package/dist/cmd/build/entry-generator.js +152 -9
- package/dist/cmd/build/entry-generator.js.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts +1 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.js +7 -6
- package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
- package/dist/cmd/build/vite/index.d.ts.map +1 -1
- package/dist/cmd/build/vite/index.js +3 -2
- package/dist/cmd/build/vite/index.js.map +1 -1
- package/dist/cmd/build/vite/metadata-generator.js +1 -1
- package/dist/cmd/build/vite/metadata-generator.js.map +1 -1
- package/dist/cmd/build/vite/registry-generator.d.ts +1 -1
- package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
- package/dist/cmd/build/vite/registry-generator.js +115 -23
- package/dist/cmd/build/vite/registry-generator.js.map +1 -1
- package/dist/cmd/build/vite/route-discovery.d.ts +6 -0
- package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/route-discovery.js +19 -0
- package/dist/cmd/build/vite/route-discovery.js.map +1 -1
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +3 -2
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/cloud/deploy-fork.d.ts +32 -0
- package/dist/cmd/cloud/deploy-fork.d.ts.map +1 -0
- package/dist/cmd/cloud/deploy-fork.js +258 -0
- package/dist/cmd/cloud/deploy-fork.js.map +1 -0
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +125 -4
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/create.js +18 -0
- package/dist/cmd/cloud/sandbox/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/delete.js +2 -6
- package/dist/cmd/cloud/sandbox/delete.js.map +1 -1
- package/dist/cmd/cloud/sandbox/download.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/download.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/download.js +89 -0
- package/dist/cmd/cloud/sandbox/download.js.map +1 -0
- package/dist/cmd/cloud/sandbox/env.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/env.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/env.js +90 -0
- package/dist/cmd/cloud/sandbox/env.js.map +1 -0
- package/dist/cmd/cloud/sandbox/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/get.js +24 -0
- package/dist/cmd/cloud/sandbox/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/index.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/index.js +14 -0
- package/dist/cmd/cloud/sandbox/index.js.map +1 -1
- package/dist/cmd/cloud/sandbox/ls.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/ls.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/ls.js +119 -0
- package/dist/cmd/cloud/sandbox/ls.js.map +1 -0
- package/dist/cmd/cloud/sandbox/mkdir.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/mkdir.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/mkdir.js +59 -0
- package/dist/cmd/cloud/sandbox/mkdir.js.map +1 -0
- package/dist/cmd/cloud/sandbox/rm.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/rm.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/rm.js +45 -0
- package/dist/cmd/cloud/sandbox/rm.js.map +1 -0
- package/dist/cmd/cloud/sandbox/rmdir.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/rmdir.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/rmdir.js +59 -0
- package/dist/cmd/cloud/sandbox/rmdir.js.map +1 -0
- package/dist/cmd/cloud/sandbox/snapshot/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.js +0 -2
- package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/get.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/get.js +0 -2
- package/dist/cmd/cloud/sandbox/snapshot/get.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/list.js +0 -3
- package/dist/cmd/cloud/sandbox/snapshot/list.js.map +1 -1
- package/dist/cmd/cloud/sandbox/upload.d.ts +3 -0
- package/dist/cmd/cloud/sandbox/upload.d.ts.map +1 -0
- package/dist/cmd/cloud/sandbox/upload.js +77 -0
- package/dist/cmd/cloud/sandbox/upload.js.map +1 -0
- package/dist/cmd/cloud/ssh.d.ts.map +1 -1
- package/dist/cmd/cloud/ssh.js +9 -3
- package/dist/cmd/cloud/ssh.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +34 -19
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/sync.d.ts.map +1 -1
- package/dist/cmd/dev/sync.js +8 -14
- package/dist/cmd/dev/sync.js.map +1 -1
- package/dist/cmd/git/account/add.d.ts +17 -0
- package/dist/cmd/git/account/add.d.ts.map +1 -0
- package/dist/cmd/git/account/add.js +244 -0
- package/dist/cmd/git/account/add.js.map +1 -0
- package/dist/cmd/git/account/index.d.ts +3 -0
- package/dist/cmd/git/account/index.d.ts.map +1 -0
- package/dist/cmd/git/account/index.js +11 -0
- package/dist/cmd/git/account/index.js.map +1 -0
- package/dist/cmd/git/account/list.d.ts +2 -0
- package/dist/cmd/git/account/list.d.ts.map +1 -0
- package/dist/cmd/git/account/list.js +111 -0
- package/dist/cmd/git/account/list.js.map +1 -0
- package/dist/cmd/git/account/remove.d.ts +2 -0
- package/dist/cmd/git/account/remove.d.ts.map +1 -0
- package/dist/cmd/git/account/remove.js +171 -0
- package/dist/cmd/git/account/remove.js.map +1 -0
- package/dist/cmd/git/index.d.ts +3 -0
- package/dist/cmd/git/index.d.ts.map +1 -0
- package/dist/cmd/git/index.js +19 -0
- package/dist/cmd/git/index.js.map +1 -0
- package/dist/cmd/git/link.d.ts +32 -0
- package/dist/cmd/git/link.d.ts.map +1 -0
- package/dist/cmd/git/link.js +357 -0
- package/dist/cmd/git/link.js.map +1 -0
- package/dist/cmd/git/list.d.ts +2 -0
- package/dist/cmd/git/list.d.ts.map +1 -0
- package/dist/cmd/git/list.js +137 -0
- package/dist/cmd/git/list.js.map +1 -0
- package/dist/cmd/git/status.d.ts +2 -0
- package/dist/cmd/git/status.d.ts.map +1 -0
- package/dist/cmd/git/status.js +119 -0
- package/dist/cmd/git/status.js.map +1 -0
- package/dist/cmd/git/unlink.d.ts +2 -0
- package/dist/cmd/git/unlink.d.ts.map +1 -0
- package/dist/cmd/git/unlink.js +98 -0
- package/dist/cmd/git/unlink.js.map +1 -0
- package/dist/cmd/index.d.ts.map +1 -1
- package/dist/cmd/index.js +2 -0
- package/dist/cmd/index.js.map +1 -1
- package/dist/cmd/integration/api.d.ts +61 -0
- package/dist/cmd/integration/api.d.ts.map +1 -0
- package/dist/cmd/integration/api.js +176 -0
- package/dist/cmd/integration/api.js.map +1 -0
- package/dist/cmd/integration/github/connect.d.ts +2 -0
- package/dist/cmd/integration/github/connect.d.ts.map +1 -0
- package/dist/cmd/integration/github/connect.js +197 -0
- package/dist/cmd/integration/github/connect.js.map +1 -0
- package/dist/cmd/integration/github/disconnect.d.ts +2 -0
- package/dist/cmd/integration/github/disconnect.d.ts.map +1 -0
- package/dist/cmd/integration/github/disconnect.js +121 -0
- package/dist/cmd/integration/github/disconnect.js.map +1 -0
- package/dist/cmd/integration/github/index.d.ts +2 -0
- package/dist/cmd/integration/github/index.d.ts.map +1 -0
- package/dist/cmd/integration/github/index.js +21 -0
- package/dist/cmd/integration/github/index.js.map +1 -0
- package/dist/cmd/integration/index.d.ts +2 -0
- package/dist/cmd/integration/index.d.ts.map +1 -0
- package/dist/cmd/integration/index.js +16 -0
- package/dist/cmd/integration/index.js.map +1 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +25 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +2 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -0
- package/dist/errors.js.map +1 -1
- package/dist/log-collector.d.ts +30 -0
- package/dist/log-collector.d.ts.map +1 -0
- package/dist/log-collector.js +74 -0
- package/dist/log-collector.js.map +1 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +2 -1
- package/dist/output.js.map +1 -1
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +48 -3
- package/dist/steps.js.map +1 -1
- package/dist/tui/box.d.ts.map +1 -1
- package/dist/tui/box.js +1 -6
- package/dist/tui/box.js.map +1 -1
- package/dist/tui/symbols.d.ts.map +1 -1
- package/dist/tui/symbols.js +4 -0
- package/dist/tui/symbols.js.map +1 -1
- package/dist/tui.d.ts +21 -12
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +74 -25
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +73 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/dist/typescript-errors.d.ts.map +1 -1
- package/dist/typescript-errors.js +2 -2
- package/dist/typescript-errors.js.map +1 -1
- package/package.json +6 -6
- package/src/agents-docs.ts +42 -8
- package/src/cli.ts +20 -4
- package/src/cmd/auth/apikey.ts +36 -0
- package/src/cmd/auth/index.ts +9 -1
- package/src/cmd/build/ast.ts +120 -2
- package/src/cmd/build/entry-generator.ts +157 -10
- package/src/cmd/build/vite/agent-discovery.ts +8 -5
- package/src/cmd/build/vite/index.ts +3 -2
- package/src/cmd/build/vite/metadata-generator.ts +1 -1
- package/src/cmd/build/vite/registry-generator.ts +125 -24
- package/src/cmd/build/vite/route-discovery.ts +20 -0
- package/src/cmd/build/vite/vite-builder.ts +3 -2
- package/src/cmd/cloud/deploy-fork.ts +296 -0
- package/src/cmd/cloud/deploy.ts +148 -4
- package/src/cmd/cloud/sandbox/create.ts +22 -0
- package/src/cmd/cloud/sandbox/delete.ts +2 -6
- package/src/cmd/cloud/sandbox/download.ts +96 -0
- package/src/cmd/cloud/sandbox/env.ts +104 -0
- package/src/cmd/cloud/sandbox/get.ts +22 -0
- package/src/cmd/cloud/sandbox/index.ts +14 -0
- package/src/cmd/cloud/sandbox/ls.ts +126 -0
- package/src/cmd/cloud/sandbox/mkdir.ts +65 -0
- package/src/cmd/cloud/sandbox/rm.ts +51 -0
- package/src/cmd/cloud/sandbox/rmdir.ts +65 -0
- package/src/cmd/cloud/sandbox/snapshot/create.ts +0 -2
- package/src/cmd/cloud/sandbox/snapshot/get.ts +0 -2
- package/src/cmd/cloud/sandbox/snapshot/list.ts +0 -3
- package/src/cmd/cloud/sandbox/upload.ts +83 -0
- package/src/cmd/cloud/ssh.ts +13 -3
- package/src/cmd/dev/index.ts +49 -31
- package/src/cmd/dev/sync.ts +26 -30
- package/src/cmd/git/account/add.ts +317 -0
- package/src/cmd/git/account/index.ts +12 -0
- package/src/cmd/git/account/list.ts +139 -0
- package/src/cmd/git/account/remove.ts +212 -0
- package/src/cmd/git/index.ts +20 -0
- package/src/cmd/git/link.ts +468 -0
- package/src/cmd/git/list.ts +161 -0
- package/src/cmd/git/status.ts +144 -0
- package/src/cmd/git/unlink.ts +117 -0
- package/src/cmd/index.ts +2 -0
- package/src/cmd/integration/api.ts +379 -0
- package/src/cmd/integration/github/connect.ts +242 -0
- package/src/cmd/integration/github/disconnect.ts +149 -0
- package/src/cmd/integration/github/index.ts +21 -0
- package/src/cmd/integration/index.ts +16 -0
- package/src/config.ts +35 -1
- package/src/errors.ts +7 -0
- package/src/log-collector.ts +77 -0
- package/src/output.ts +2 -1
- package/src/steps.ts +52 -4
- package/src/tui/box.ts +1 -7
- package/src/tui/symbols.ts +5 -0
- package/src/tui.ts +77 -25
- package/src/types.ts +89 -0
- package/src/typescript-errors.ts +2 -1
package/src/tui/box.ts
CHANGED
|
@@ -3,13 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { symbols } from './symbols';
|
|
5
5
|
import { colors } from './colors';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Get terminal width
|
|
9
|
-
*/
|
|
10
|
-
function getTerminalWidth(): number {
|
|
11
|
-
return process.stdout.columns || 80;
|
|
12
|
-
}
|
|
6
|
+
import { getTerminalWidth } from '../tui';
|
|
13
7
|
|
|
14
8
|
/**
|
|
15
9
|
* Get string width (accounting for ANSI codes and OSC 8 hyperlinks)
|
package/src/tui/symbols.ts
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
// Detect unicode support
|
|
7
7
|
const isUnicodeSupported = (): boolean => {
|
|
8
|
+
// FORCE_UNICODE overrides detection (used by fork wrapper)
|
|
9
|
+
if (process.env.FORCE_UNICODE === '1') {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
|
|
8
13
|
if (process.platform !== 'win32') {
|
|
9
14
|
return process.env.TERM !== 'linux'; // Linux console (kernel) doesn't support Unicode
|
|
10
15
|
}
|
package/src/tui.ts
CHANGED
|
@@ -24,6 +24,10 @@ function ensureCursorRestoration(): void {
|
|
|
24
24
|
exitHandlerInstalled = true;
|
|
25
25
|
|
|
26
26
|
const restoreCursor = () => {
|
|
27
|
+
// Skip cursor restoration in CI - terminals don't support these sequences
|
|
28
|
+
if (process.env.CI) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
27
31
|
// Restore cursor visibility
|
|
28
32
|
process.stderr.write('\x1B[?25h');
|
|
29
33
|
};
|
|
@@ -62,7 +66,38 @@ export const ICONS = {
|
|
|
62
66
|
bullet: '•',
|
|
63
67
|
} as const;
|
|
64
68
|
|
|
69
|
+
/**
|
|
70
|
+
* Check if we should treat stdout as a TTY (real TTY or FORCE_COLOR set by fork wrapper)
|
|
71
|
+
* Returns false in CI environments since CI terminals don't support cursor control sequences
|
|
72
|
+
*/
|
|
73
|
+
export function isTTYLike(): boolean {
|
|
74
|
+
if (process.env.CI) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return process.stdout.isTTY || process.env.FORCE_COLOR === '1';
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Get terminal width, respecting COLUMNS env var for piped processes
|
|
82
|
+
*/
|
|
83
|
+
export function getTerminalWidth(defaultWidth = 80): number {
|
|
84
|
+
if (process.stdout.columns) {
|
|
85
|
+
return process.stdout.columns;
|
|
86
|
+
}
|
|
87
|
+
if (process.env.COLUMNS) {
|
|
88
|
+
const cols = parseInt(process.env.COLUMNS, 10);
|
|
89
|
+
if (!isNaN(cols) && cols > 0) {
|
|
90
|
+
return cols;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return defaultWidth;
|
|
94
|
+
}
|
|
95
|
+
|
|
65
96
|
export function shouldUseColors(): boolean {
|
|
97
|
+
// FORCE_COLOR overrides TTY detection (used by fork wrapper)
|
|
98
|
+
if (process.env.FORCE_COLOR === '1') {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
66
101
|
return (
|
|
67
102
|
!process.env.NO_COLOR &&
|
|
68
103
|
!process.env.CI &&
|
|
@@ -71,7 +106,9 @@ export function shouldUseColors(): boolean {
|
|
|
71
106
|
);
|
|
72
107
|
}
|
|
73
108
|
|
|
74
|
-
// Color definitions (light/dark adaptive)
|
|
109
|
+
// Color definitions (light/dark adaptive)
|
|
110
|
+
// Note: We use direct ANSI codes instead of Bun.color() because Bun.color()
|
|
111
|
+
// returns corrupted sequences when stdout is not a TTY (even with FORCE_COLOR=1)
|
|
75
112
|
function getColors() {
|
|
76
113
|
const USE_COLORS = shouldUseColors();
|
|
77
114
|
if (!USE_COLORS) {
|
|
@@ -90,36 +127,36 @@ function getColors() {
|
|
|
90
127
|
|
|
91
128
|
return {
|
|
92
129
|
success: {
|
|
93
|
-
light:
|
|
94
|
-
dark:
|
|
130
|
+
light: '\x1b[32m', // green
|
|
131
|
+
dark: '\x1b[92m', // bright green
|
|
95
132
|
},
|
|
96
133
|
error: {
|
|
97
|
-
light:
|
|
98
|
-
dark:
|
|
134
|
+
light: '\x1b[31m', // red
|
|
135
|
+
dark: '\x1b[91m', // bright red
|
|
99
136
|
},
|
|
100
137
|
warning: {
|
|
101
|
-
light:
|
|
102
|
-
dark:
|
|
138
|
+
light: '\x1b[33m', // yellow
|
|
139
|
+
dark: '\x1b[93m', // bright yellow
|
|
103
140
|
},
|
|
104
141
|
info: {
|
|
105
|
-
light:
|
|
106
|
-
dark:
|
|
142
|
+
light: '\x1b[36m', // dark cyan
|
|
143
|
+
dark: '\x1b[96m', // bright cyan
|
|
107
144
|
},
|
|
108
145
|
muted: {
|
|
109
|
-
light:
|
|
110
|
-
dark:
|
|
146
|
+
light: '\x1b[90m', // gray
|
|
147
|
+
dark: '\x1b[90m', // gray
|
|
111
148
|
},
|
|
112
149
|
bold: {
|
|
113
150
|
light: '\x1b[1m',
|
|
114
151
|
dark: '\x1b[1m',
|
|
115
152
|
},
|
|
116
153
|
link: {
|
|
117
|
-
light: '\x1b[34;4m', // blue underline
|
|
154
|
+
light: '\x1b[34;4m', // blue underline
|
|
118
155
|
dark: '\x1b[94;4m', // bright blue underline
|
|
119
156
|
},
|
|
120
157
|
primary: {
|
|
121
|
-
light:
|
|
122
|
-
dark:
|
|
158
|
+
light: '\x1b[30m', // black
|
|
159
|
+
dark: '\x1b[97m', // white
|
|
123
160
|
},
|
|
124
161
|
reset: '\x1b[0m',
|
|
125
162
|
} as const;
|
|
@@ -410,8 +447,12 @@ export function getDisplayWidth(str: string): number {
|
|
|
410
447
|
* Strip all ANSI escape sequences from a string
|
|
411
448
|
*/
|
|
412
449
|
export function stripAnsi(str: string): string {
|
|
413
|
-
|
|
414
|
-
return str
|
|
450
|
+
/* eslint-disable no-control-regex */
|
|
451
|
+
return str
|
|
452
|
+
.replace(/\u001b\[[0-9;]*m/g, '') // SGR sequences (colors, bold, etc.)
|
|
453
|
+
.replace(/\u001b\[\?[0-9;]*[a-zA-Z]/g, '') // DEC private mode (cursor show/hide, etc.)
|
|
454
|
+
.replace(/\u001b\]8;;[^\u0007]*\u0007/g, ''); // OSC 8 hyperlinks
|
|
455
|
+
/* eslint-enable no-control-regex */
|
|
415
456
|
}
|
|
416
457
|
|
|
417
458
|
/**
|
|
@@ -457,8 +498,8 @@ export function truncateToWidth(str: string, maxWidth: number, ellipsis = '...')
|
|
|
457
498
|
while (i < str.length && visibleIndex < cutIndex) {
|
|
458
499
|
// Check for ANSI escape sequence
|
|
459
500
|
if (str[i] === '\u001b') {
|
|
460
|
-
|
|
461
|
-
//
|
|
501
|
+
/* eslint-disable no-control-regex */
|
|
502
|
+
// Copy entire SGR sequence (colors, bold, etc.)
|
|
462
503
|
const match = str.slice(i).match(/^\u001b\[[0-9;]*m/);
|
|
463
504
|
if (match) {
|
|
464
505
|
result += match[0];
|
|
@@ -466,14 +507,22 @@ export function truncateToWidth(str: string, maxWidth: number, ellipsis = '...')
|
|
|
466
507
|
continue;
|
|
467
508
|
}
|
|
468
509
|
|
|
510
|
+
// Check for DEC private mode (cursor show/hide, etc.)
|
|
511
|
+
const decMatch = str.slice(i).match(/^\u001b\[\?[0-9;]*[a-zA-Z]/);
|
|
512
|
+
if (decMatch) {
|
|
513
|
+
result += decMatch[0];
|
|
514
|
+
i += decMatch[0].length;
|
|
515
|
+
continue;
|
|
516
|
+
}
|
|
517
|
+
|
|
469
518
|
// Check for OSC 8 hyperlink
|
|
470
|
-
// eslint-disable-next-line no-control-regex
|
|
471
519
|
const oscMatch = str.slice(i).match(/^\u001b\]8;;[^\u0007]*\u0007/);
|
|
472
520
|
if (oscMatch) {
|
|
473
521
|
result += oscMatch[0];
|
|
474
522
|
i += oscMatch[0].length;
|
|
475
523
|
continue;
|
|
476
524
|
}
|
|
525
|
+
/* eslint-enable no-control-regex */
|
|
477
526
|
}
|
|
478
527
|
|
|
479
528
|
// Copy visible character
|
|
@@ -525,7 +574,7 @@ interface BannerOptions {
|
|
|
525
574
|
*/
|
|
526
575
|
export function banner(title: string, body: string, options?: BannerOptions): void {
|
|
527
576
|
// Get terminal width, default to 120 if not available
|
|
528
|
-
const termWidth =
|
|
577
|
+
const termWidth = getTerminalWidth(120);
|
|
529
578
|
|
|
530
579
|
const border = {
|
|
531
580
|
topLeft: '╭',
|
|
@@ -853,8 +902,11 @@ function extractLeadingAnsiCodes(str: string): string {
|
|
|
853
902
|
*/
|
|
854
903
|
function stripAnsiCodes(str: string): string {
|
|
855
904
|
// Remove all ANSI escape sequences
|
|
856
|
-
|
|
857
|
-
return str
|
|
905
|
+
/* eslint-disable no-control-regex */
|
|
906
|
+
return str
|
|
907
|
+
.replace(/\x1b\[[0-9;]*m/g, '') // SGR sequences
|
|
908
|
+
.replace(/\x1b\[\?[0-9;]*[a-zA-Z]/g, ''); // DEC private mode
|
|
909
|
+
/* eslint-enable no-control-regex */
|
|
858
910
|
}
|
|
859
911
|
|
|
860
912
|
/**
|
|
@@ -1120,7 +1172,7 @@ export async function spinner<T>(
|
|
|
1120
1172
|
let linesRendered = 0;
|
|
1121
1173
|
|
|
1122
1174
|
// Get terminal width for truncation
|
|
1123
|
-
const termWidth =
|
|
1175
|
+
const termWidth = getTerminalWidth(80);
|
|
1124
1176
|
const maxLineWidth = Math.min(80, termWidth);
|
|
1125
1177
|
|
|
1126
1178
|
// Function to render spinner with optional log lines
|
|
@@ -1399,7 +1451,7 @@ export async function runCommand(options: CommandRunnerOptions): Promise<number>
|
|
|
1399
1451
|
const reset = getColor('reset');
|
|
1400
1452
|
|
|
1401
1453
|
// Get terminal width
|
|
1402
|
-
const termWidth =
|
|
1454
|
+
const termWidth = getTerminalWidth(80);
|
|
1403
1455
|
const maxCmdWidth = Math.min(40, termWidth);
|
|
1404
1456
|
const maxLineWidth = Math.min(80, termWidth);
|
|
1405
1457
|
|
|
@@ -1886,7 +1938,7 @@ export function table<T extends Record<string, unknown>>(
|
|
|
1886
1938
|
|
|
1887
1939
|
// Determine layout mode
|
|
1888
1940
|
const layout = options?.layout ?? 'auto';
|
|
1889
|
-
const termWidth =
|
|
1941
|
+
const termWidth = getTerminalWidth(80);
|
|
1890
1942
|
const tableWidth = calculateTableWidth(data, columnNames);
|
|
1891
1943
|
const useVertical = layout === 'vertical' || (layout === 'auto' && tableWidth > termWidth);
|
|
1892
1944
|
|
package/src/types.ts
CHANGED
|
@@ -128,6 +128,83 @@ export interface WorkbenchConfig {
|
|
|
128
128
|
headers?: Record<string, string>;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
/**
|
|
132
|
+
* Web analytics configuration for SDK-created applications
|
|
133
|
+
*/
|
|
134
|
+
export interface AnalyticsConfig {
|
|
135
|
+
/**
|
|
136
|
+
* Enable/disable analytics
|
|
137
|
+
* @default true
|
|
138
|
+
*/
|
|
139
|
+
enabled?: boolean;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Require explicit user consent before tracking
|
|
143
|
+
* When true, analytics is no-op until optIn() is called
|
|
144
|
+
* @default false
|
|
145
|
+
*/
|
|
146
|
+
requireConsent?: boolean;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Track click events on elements with data-analytics attribute
|
|
150
|
+
* @default true
|
|
151
|
+
*/
|
|
152
|
+
trackClicks?: boolean;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Track scroll depth (25%, 50%, 75%, 100%)
|
|
156
|
+
* @default true
|
|
157
|
+
*/
|
|
158
|
+
trackScroll?: boolean;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Track outbound link clicks
|
|
162
|
+
* @default true
|
|
163
|
+
*/
|
|
164
|
+
trackOutboundLinks?: boolean;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Track form submissions
|
|
168
|
+
* @default false
|
|
169
|
+
*/
|
|
170
|
+
trackForms?: boolean;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Track Core Web Vitals
|
|
174
|
+
* @default true
|
|
175
|
+
*/
|
|
176
|
+
trackWebVitals?: boolean;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Track JavaScript errors
|
|
180
|
+
* @default true
|
|
181
|
+
*/
|
|
182
|
+
trackErrors?: boolean;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Track SPA navigation (popstate, pushState)
|
|
186
|
+
* Automatically tracks virtual pageviews on client-side route changes
|
|
187
|
+
* @default true
|
|
188
|
+
*/
|
|
189
|
+
trackSPANavigation?: boolean;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Sample rate (0-1). 1 = 100% of events
|
|
193
|
+
* @default 1
|
|
194
|
+
*/
|
|
195
|
+
sampleRate?: number;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* URL patterns to exclude from tracking (regex strings)
|
|
199
|
+
*/
|
|
200
|
+
excludePatterns?: string[];
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Custom data to include with every event
|
|
204
|
+
*/
|
|
205
|
+
globalProperties?: Record<string, unknown>;
|
|
206
|
+
}
|
|
207
|
+
|
|
131
208
|
/**
|
|
132
209
|
* Agentuity project configuration (declarative)
|
|
133
210
|
*/
|
|
@@ -136,6 +213,14 @@ export interface AgentuityConfig {
|
|
|
136
213
|
* Workbench configuration
|
|
137
214
|
*/
|
|
138
215
|
workbench?: WorkbenchConfig;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Web analytics configuration
|
|
219
|
+
* Set to false to disable, or provide options object
|
|
220
|
+
* @default true (enabled with defaults)
|
|
221
|
+
*/
|
|
222
|
+
analytics?: boolean | AnalyticsConfig;
|
|
223
|
+
|
|
139
224
|
/**
|
|
140
225
|
* Vite plugins to add to the client build
|
|
141
226
|
* These are added AFTER Agentuity's built-in plugins
|
|
@@ -554,6 +639,10 @@ export const ProjectSchema = zod.object({
|
|
|
554
639
|
orgId: zod.string().describe('the organization id'),
|
|
555
640
|
region: zod.string().describe('the region identifier that the project is deployed into'),
|
|
556
641
|
deployment: DeploymentConfig.optional().describe('the deployment configuration'),
|
|
642
|
+
skipGitSetup: zod
|
|
643
|
+
.boolean()
|
|
644
|
+
.optional()
|
|
645
|
+
.describe('whether to skip the git integration setup prompt during deploy'),
|
|
557
646
|
});
|
|
558
647
|
|
|
559
648
|
export const BuildMetadataSchema = ServerBuildMetadataSchema;
|
package/src/typescript-errors.ts
CHANGED
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
getColor,
|
|
19
19
|
plural,
|
|
20
20
|
sourceLink,
|
|
21
|
+
getTerminalWidth,
|
|
21
22
|
truncateToWidth,
|
|
22
23
|
} from './tui';
|
|
23
24
|
import { symbols } from './tui/symbols';
|
|
@@ -318,7 +319,7 @@ export async function formatTypeScriptErrors(
|
|
|
318
319
|
}
|
|
319
320
|
|
|
320
321
|
// Calculate terminal constraints
|
|
321
|
-
const terminalWidth =
|
|
322
|
+
const terminalWidth = getTerminalWidth(80);
|
|
322
323
|
const boxChrome = 6;
|
|
323
324
|
const maxAvailableWidth = terminalWidth - boxChrome;
|
|
324
325
|
|