@copado/agentia-cli 0.109.0-alpha.0 → 0.111.0-alpha.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 (79) hide show
  1. package/README.md +253 -184
  2. package/dist/commands/ai/session/list.d.ts +14 -0
  3. package/dist/commands/ai/session/list.js +46 -0
  4. package/dist/commands/ai/session/list.js.map +1 -0
  5. package/dist/commands/ai/session/start.d.ts +17 -0
  6. package/dist/commands/ai/session/start.js +60 -0
  7. package/dist/commands/ai/session/start.js.map +1 -0
  8. package/dist/commands/cicd/notification/configure.d.ts +1 -1
  9. package/dist/commands/cicd/work/deployment-step/create.d.ts +1 -1
  10. package/dist/commands/testing/build/run.d.ts +1 -1
  11. package/dist/commands/testing/job/update.d.ts +1 -1
  12. package/dist/commands/testing/run.d.ts +1 -1
  13. package/dist/commands/testing/test/run.d.ts +1 -1
  14. package/dist/lib/ai-chat-session.d.ts +3 -0
  15. package/dist/lib/ai-chat-session.js +180 -64
  16. package/dist/lib/ai-chat-session.js.map +1 -1
  17. package/dist/lib/ai-gateway.d.ts +8 -1
  18. package/dist/lib/ai-gateway.js +34 -2
  19. package/dist/lib/ai-gateway.js.map +1 -1
  20. package/dist/lib/ai-session-banner.d.ts +5 -0
  21. package/dist/lib/ai-session-banner.js +20 -0
  22. package/dist/lib/ai-session-banner.js.map +1 -0
  23. package/dist/lib/ai-session-tui-blocks.d.ts +9 -0
  24. package/dist/lib/ai-session-tui-blocks.js +36 -0
  25. package/dist/lib/ai-session-tui-blocks.js.map +1 -0
  26. package/dist/lib/ai-session-tui-clipboard.d.ts +22 -0
  27. package/dist/lib/ai-session-tui-clipboard.js +78 -0
  28. package/dist/lib/ai-session-tui-clipboard.js.map +1 -0
  29. package/dist/lib/ai-session-tui-composer.d.ts +35 -0
  30. package/dist/lib/ai-session-tui-composer.js +96 -0
  31. package/dist/lib/ai-session-tui-composer.js.map +1 -0
  32. package/dist/lib/ai-session-tui-highlight.d.ts +11 -0
  33. package/dist/lib/ai-session-tui-highlight.js +310 -0
  34. package/dist/lib/ai-session-tui-highlight.js.map +1 -0
  35. package/dist/lib/ai-session-tui-keys.d.ts +42 -0
  36. package/dist/lib/ai-session-tui-keys.js +159 -0
  37. package/dist/lib/ai-session-tui-keys.js.map +1 -0
  38. package/dist/lib/ai-session-tui-mermaid-image.d.ts +43 -0
  39. package/dist/lib/ai-session-tui-mermaid-image.js +444 -0
  40. package/dist/lib/ai-session-tui-mermaid-image.js.map +1 -0
  41. package/dist/lib/ai-session-tui-mermaid-paint.d.ts +3 -0
  42. package/dist/lib/ai-session-tui-mermaid-paint.js +182 -0
  43. package/dist/lib/ai-session-tui-mermaid-paint.js.map +1 -0
  44. package/dist/lib/ai-session-tui-mermaid.d.ts +19 -0
  45. package/dist/lib/ai-session-tui-mermaid.js +158 -0
  46. package/dist/lib/ai-session-tui-mermaid.js.map +1 -0
  47. package/dist/lib/ai-session-tui-message.d.ts +9 -0
  48. package/dist/lib/ai-session-tui-message.js +24 -0
  49. package/dist/lib/ai-session-tui-message.js.map +1 -0
  50. package/dist/lib/ai-session-tui-scroll.d.ts +32 -0
  51. package/dist/lib/ai-session-tui-scroll.js +148 -0
  52. package/dist/lib/ai-session-tui-scroll.js.map +1 -0
  53. package/dist/lib/ai-session-tui-slash.d.ts +14 -0
  54. package/dist/lib/ai-session-tui-slash.js +53 -0
  55. package/dist/lib/ai-session-tui-slash.js.map +1 -0
  56. package/dist/lib/ai-session-tui-welcome.d.ts +12 -0
  57. package/dist/lib/ai-session-tui-welcome.js +33 -0
  58. package/dist/lib/ai-session-tui-welcome.js.map +1 -0
  59. package/dist/lib/ai-session-tui-wrap.d.ts +2 -0
  60. package/dist/lib/ai-session-tui-wrap.js +24 -0
  61. package/dist/lib/ai-session-tui-wrap.js.map +1 -0
  62. package/dist/lib/ai-session-tui.d.ts +7 -0
  63. package/dist/lib/ai-session-tui.js +859 -0
  64. package/dist/lib/ai-session-tui.js.map +1 -0
  65. package/dist/lib/ai-sessions.d.ts +17 -0
  66. package/dist/lib/ai-sessions.js +142 -0
  67. package/dist/lib/ai-sessions.js.map +1 -0
  68. package/dist/lib/ai-types.d.ts +19 -0
  69. package/dist/lib/ai-types.js +49 -1
  70. package/dist/lib/ai-types.js.map +1 -1
  71. package/dist/lib/format.d.ts +2 -0
  72. package/dist/lib/format.js +5 -2
  73. package/dist/lib/format.js.map +1 -1
  74. package/dist/lib/mcp/tools.d.ts +2 -2
  75. package/dist/lib/testing-flags.d.ts +1 -1
  76. package/oclif.manifest.json +838 -687
  77. package/package.json +10 -1
  78. package/templates/skills/agentia-ai/SKILL.md +5 -5
  79. package/templates/skills/agentia-ai/references/ai-agents.md +18 -3
@@ -3,9 +3,18 @@ import * as https from 'node:https';
3
3
  import { URL } from 'node:url';
4
4
  import { AI_DEFAULT_TIMEOUT_MS, AI_DEFAULT_WORKSPACE_NAME, resolveAiCredentials } from './ai-config.js';
5
5
  import { AiStreamParser } from './ai-stream-parser.js';
6
- import { dialogueEndpoint, dialogueMessagesEndpoint, dialoguesEndpoint, normalizeAiDialogue, normalizeAiOrganizationQuota, normalizeAiWorkspace, normalizeAiWorkspaceList, normalizeAiWorkspaceMember, quotaEndpoint, workspaceEndpoint, workspaceMembersEndpoint, workspacesEndpoint, } from './ai-types.js';
6
+ import { dialogueEndpoint, dialogueMessagesEndpoint, dialoguesEndpoint, normalizeAiDialogue, normalizeAiDialogueList, normalizeAiOrganizationQuota, normalizeAiWorkspace, normalizeAiWorkspaceList, normalizeAiWorkspaceMember, quotaEndpoint, workspaceEndpoint, workspaceMembersEndpoint, workspacesEndpoint, } from './ai-types.js';
7
7
  import { AI_GATEWAY_EVENT_SERVICE, createTransactionId, gatewayRefererHeaders, gatewayUserAgent, getGatewayTransactionId, scheduleGatewayEventLog, } from './cicd-gateway.js';
8
8
  import { formatDebugBody, logVerboseDebug } from './debug.js';
9
+ export class AiRequestAbortedError extends Error {
10
+ constructor(message = 'AI request cancelled.') {
11
+ super(message);
12
+ this.name = 'AbortError';
13
+ }
14
+ }
15
+ export function isAiRequestAborted(error) {
16
+ return error instanceof AiRequestAbortedError || (error instanceof Error && error.name === 'AbortError');
17
+ }
9
18
  export class AiGatewayError extends Error {
10
19
  requestMethod;
11
20
  requestUrl;
@@ -79,7 +88,10 @@ function withRequestSuffix(message, request) {
79
88
  return message;
80
89
  return message.endsWith('.') ? `${message} ${suffix}` : `${message}. ${suffix}`;
81
90
  }
82
- function defaultHttpsRequest({ body, headers, method, onData, onStatus, timeoutMs, url, }) {
91
+ function noopAbort() {
92
+ // Replaced after the request exists so destroy can run.
93
+ }
94
+ function defaultHttpsRequest({ body, headers, method, onData, onStatus, signal, timeoutMs, url, }) {
83
95
  const hasBody = body !== undefined;
84
96
  const payload = hasBody ? JSON.stringify(body) : '';
85
97
  const requestHeaders = {
@@ -94,10 +106,12 @@ function defaultHttpsRequest({ body, headers, method, onData, onStatus, timeoutM
94
106
  return new Promise((resolve, reject) => {
95
107
  const chunks = [];
96
108
  let settled = false;
109
+ let onAbort = noopAbort;
97
110
  const rejectOnce = (error) => {
98
111
  if (settled)
99
112
  return;
100
113
  settled = true;
114
+ signal?.removeEventListener('abort', onAbort);
101
115
  reject(error);
102
116
  };
103
117
  const req = transport.request({
@@ -127,6 +141,7 @@ function defaultHttpsRequest({ body, headers, method, onData, onStatus, timeoutM
127
141
  if (settled)
128
142
  return;
129
143
  settled = true;
144
+ signal?.removeEventListener('abort', onAbort);
130
145
  const raw = Buffer.concat(chunks).toString('utf8');
131
146
  onStatus?.(status);
132
147
  if (status >= 400) {
@@ -148,6 +163,15 @@ function defaultHttpsRequest({ body, headers, method, onData, onStatus, timeoutM
148
163
  req.on('timeout', () => {
149
164
  req.destroy(new Error(`AI Gateway request timed out after ${Math.ceil(timeoutMs / 1000)} seconds.`));
150
165
  });
166
+ onAbort = () => {
167
+ req.destroy();
168
+ rejectOnce(new AiRequestAbortedError());
169
+ };
170
+ if (signal?.aborted) {
171
+ onAbort();
172
+ return;
173
+ }
174
+ signal?.addEventListener('abort', onAbort);
151
175
  if (hasBody)
152
176
  req.write(payload);
153
177
  req.end();
@@ -195,6 +219,7 @@ async function executeJsonRequest(request, options = {}) {
195
219
  body: request.body,
196
220
  headers,
197
221
  method: request.method,
222
+ signal: options.signal,
198
223
  timeoutMs: options.timeoutMs ?? AI_DEFAULT_TIMEOUT_MS,
199
224
  url,
200
225
  });
@@ -248,6 +273,7 @@ async function executeStreamRequest(request, options, onChunk) {
248
273
  for (const parsed of parser.push(chunk))
249
274
  onChunk(parsed);
250
275
  },
276
+ signal: options.signal,
251
277
  timeoutMs: options.timeoutMs ?? AI_DEFAULT_TIMEOUT_MS,
252
278
  url,
253
279
  });
@@ -310,6 +336,12 @@ export class AiGateway {
310
336
  method: 'GET',
311
337
  }, options));
312
338
  }
339
+ static async listDialogues(options = {}) {
340
+ return normalizeAiDialogueList(await executeJsonRequest({
341
+ endpoint: dialoguesEndpoint(),
342
+ method: 'GET',
343
+ }, options));
344
+ }
313
345
  static async listWorkspaces(options = {}) {
314
346
  return normalizeAiWorkspaceList(await executeJsonRequest({
315
347
  endpoint: workspacesEndpoint(),
@@ -1 +1 @@
1
- {"version":3,"file":"ai-gateway.js","sourceRoot":"","sources":["../../src/lib/ai-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-gateway.js","sourceRoot":"","sources":["../../src/lib/ai-gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const COPADO_CONTEXT_HUB_TITLE = "CopadoContextHub";
2
+ /** Compact FIGlet-style art; two lines so an 80-column terminal still fits. */
3
+ export declare const COPADO_CONTEXT_HUB_ART: string;
4
+ export declare const BANNER_GRADIENT: readonly ["cyan", "cyanBright", "blue", "blueBright", "magenta", "magentaBright"];
5
+ export declare function bannerUsesColor(): boolean;
@@ -0,0 +1,20 @@
1
+ export const COPADO_CONTEXT_HUB_TITLE = 'CopadoContextHub';
2
+ /** Compact FIGlet-style art; two lines so an 80-column terminal still fits. */
3
+ export const COPADO_CONTEXT_HUB_ART = [
4
+ ' ____ _',
5
+ ' / ___|___ _ __ __ _ __| | ___',
6
+ '| | / _ \\| \'_ \\ / _` |/ _` |/ _ \\',
7
+ '| |__| (_) | |_) | (_| | (_| | (_) |',
8
+ String.raw ` \____\___/| .__/ \__,_|\__,_|\___/`,
9
+ ' |_|',
10
+ ' ____ _ _ _ _ _',
11
+ ' / ___|___ _ __ | |_ _____ _| |_| | | |_ _| |__',
12
+ '| | / _ \\| \'_ \\| __/ _ \\ \\/ / __| |_| | | | | \'_ \\',
13
+ '| |__| (_) | | | | || __/> <| |_| _ | |_| | |_) |',
14
+ String.raw ` \____\___/|_| |_|\__\___/_/\_\\__|_| |_|\__,_|_.__/`,
15
+ ].join('\n');
16
+ export const BANNER_GRADIENT = ['cyan', 'cyanBright', 'blue', 'blueBright', 'magenta', 'magentaBright'];
17
+ export function bannerUsesColor() {
18
+ return process.env.NO_COLOR === undefined;
19
+ }
20
+ //# sourceMappingURL=ai-session-banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-session-banner.js","sourceRoot":"","sources":["../../src/lib/ai-session-banner.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAA;AAE1D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,+BAA+B;IAC/B,oCAAoC;IACpC,yCAAyC;IACzC,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAA,qCAAqC;IAC/C,gBAAgB;IAChB,kDAAkD;IAClD,qDAAqD;IACrD,6DAA6D;IAC7D,uDAAuD;IACvD,MAAM,CAAC,GAAG,CAAA,sDAAsD;CACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAU,CAAA;AAEhH,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type AgentMarkdownBlock = {
2
+ code: string;
3
+ language: string;
4
+ type: 'code';
5
+ } | {
6
+ text: string;
7
+ type: 'prose';
8
+ };
9
+ export declare function splitAgentMarkdown(text: string): AgentMarkdownBlock[];
@@ -0,0 +1,36 @@
1
+ export function splitAgentMarkdown(text) {
2
+ const blocks = [];
3
+ const prose = [];
4
+ let code;
5
+ let language = '';
6
+ const flushProse = () => {
7
+ const value = prose.join('\n');
8
+ prose.length = 0;
9
+ if (value.length > 0)
10
+ blocks.push({ text: value, type: 'prose' });
11
+ };
12
+ for (const line of text.split('\n')) {
13
+ const trimmed = line.trim();
14
+ if (code === undefined && trimmed.startsWith('```')) {
15
+ flushProse();
16
+ language = trimmed.slice(3).trim();
17
+ code = [];
18
+ continue;
19
+ }
20
+ if (code !== undefined && trimmed === '```') {
21
+ blocks.push({ code: code.join('\n'), language, type: 'code' });
22
+ code = undefined;
23
+ language = '';
24
+ continue;
25
+ }
26
+ if (code === undefined)
27
+ prose.push(line);
28
+ else
29
+ code.push(line);
30
+ }
31
+ if (code !== undefined)
32
+ blocks.push({ code: code.join('\n'), language, type: 'code' });
33
+ flushProse();
34
+ return blocks;
35
+ }
36
+ //# sourceMappingURL=ai-session-tui-blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-session-tui-blocks.js","sourceRoot":"","sources":["../../src/lib/ai-session-tui-blocks.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,IAA0B,CAAA;IAC9B,IAAI,QAAQ,GAAG,EAAE,CAAA;IAEjB,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAChB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAA;IACjE,CAAC,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,UAAU,EAAE,CAAA;YACZ,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAClC,IAAI,GAAG,EAAE,CAAA;YACT,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAA;YAC5D,IAAI,GAAG,SAAS,CAAA;YAChB,QAAQ,GAAG,EAAE,CAAA;YACb,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAA;IACpF,UAAU,EAAE,CAAA;IACZ,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ export type CopyTextToClipboardDeps = {
3
+ env?: NodeJS.ProcessEnv;
4
+ platform?: NodeJS.Platform;
5
+ spawnImpl?: (command: string, args: readonly string[], options?: {
6
+ stdio?: Array<'ignore' | 'pipe'>;
7
+ }) => ChildProcess;
8
+ stdout?: {
9
+ write: (chunk: string) => boolean;
10
+ };
11
+ };
12
+ export type CopyTextFn = (text: string, deps?: CopyTextToClipboardDeps) => Promise<void>;
13
+ export declare function lastMarkdownCodeFence(messages: Array<{
14
+ kind: string;
15
+ text: string;
16
+ }>): undefined | {
17
+ code: string;
18
+ language: string;
19
+ };
20
+ export declare function copyTextToClipboard(text: string, deps?: CopyTextToClipboardDeps): Promise<void>;
21
+ export declare function setCopyTextToClipboardForTests(fn: CopyTextFn): void;
22
+ export declare function resetCopyTextToClipboardForTests(): void;
@@ -0,0 +1,78 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { platform as osPlatform } from 'node:os';
3
+ import { splitAgentMarkdown } from './ai-session-tui-blocks.js';
4
+ export function lastMarkdownCodeFence(messages) {
5
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
6
+ const message = messages[index];
7
+ if (message?.kind !== 'agent')
8
+ continue;
9
+ const blocks = splitAgentMarkdown(message.text);
10
+ for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex -= 1) {
11
+ const block = blocks[blockIndex];
12
+ if (block?.type !== 'code' || block.code.trim().length === 0)
13
+ continue;
14
+ return { code: block.code, language: block.language };
15
+ }
16
+ }
17
+ return undefined;
18
+ }
19
+ function clipboardCommand(currentPlatform, env) {
20
+ if (currentPlatform === 'darwin')
21
+ return { args: [], command: 'pbcopy' };
22
+ if (currentPlatform === 'win32')
23
+ return { args: [], command: 'clip' };
24
+ if (typeof env.WAYLAND_DISPLAY === 'string' && env.WAYLAND_DISPLAY.length > 0)
25
+ return { args: [], command: 'wl-copy' };
26
+ if (typeof env.DISPLAY === 'string' && env.DISPLAY.length > 0)
27
+ return { args: ['-selection', 'clipboard'], command: 'xclip' };
28
+ return undefined;
29
+ }
30
+ function defaultSpawn(command, args) {
31
+ return spawn(command, [...args], { stdio: ['pipe', 'ignore', 'ignore'] });
32
+ }
33
+ function copyWithHelper(text, command, args, spawnImpl) {
34
+ return new Promise((resolve, reject) => {
35
+ const child = spawnImpl(command, args, { stdio: ['pipe', 'ignore', 'ignore'] });
36
+ const timer = setTimeout(() => {
37
+ child.kill();
38
+ reject(new Error('Clipboard helper timed out.'));
39
+ }, 3000);
40
+ child.once('error', (error) => {
41
+ clearTimeout(timer);
42
+ reject(error);
43
+ });
44
+ child.once('close', (code) => {
45
+ clearTimeout(timer);
46
+ if (code === 0)
47
+ resolve();
48
+ else
49
+ reject(new Error('Clipboard helper failed.'));
50
+ });
51
+ child.stdin?.end(text, 'utf8');
52
+ });
53
+ }
54
+ async function defaultCopyTextToClipboard(text, deps = {}) {
55
+ const encoded = Buffer.from(text, 'utf8').toString('base64');
56
+ const stdout = deps.stdout ?? process.stdout;
57
+ stdout.write(`\u001B]52;c;${encoded}\u0007`);
58
+ const clipboard = clipboardCommand(deps.platform ?? osPlatform(), deps.env ?? process.env);
59
+ if (clipboard === undefined)
60
+ return;
61
+ try {
62
+ await copyWithHelper(text, clipboard.command, clipboard.args, deps.spawnImpl ?? defaultSpawn);
63
+ }
64
+ catch {
65
+ // OSC 52 is enough on terminals that honor it; helpers are best-effort.
66
+ }
67
+ }
68
+ let copyTextFn = defaultCopyTextToClipboard;
69
+ export async function copyTextToClipboard(text, deps) {
70
+ await copyTextFn(text, deps);
71
+ }
72
+ export function setCopyTextToClipboardForTests(fn) {
73
+ copyTextFn = fn;
74
+ }
75
+ export function resetCopyTextToClipboardForTests() {
76
+ copyTextFn = defaultCopyTextToClipboard;
77
+ }
78
+ //# sourceMappingURL=ai-session-tui-clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-session-tui-clipboard.js","sourceRoot":"","sources":["../../src/lib/ai-session-tui-clipboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare const COMPOSER_MAX_ROWS = 3;
2
+ export type ComposerState = {
3
+ cursor: number;
4
+ text: string;
5
+ };
6
+ export type PromptRecallState = {
7
+ draft: string;
8
+ entries: string[];
9
+ index: number;
10
+ };
11
+ export declare function createComposer(text?: string): ComposerState;
12
+ export declare function clampComposerCursor(text: string, cursor: number): number;
13
+ export declare function moveComposerCursor(state: ComposerState, delta: number): ComposerState;
14
+ export declare function composerHome(state: ComposerState): ComposerState;
15
+ export declare function composerEnd(state: ComposerState): ComposerState;
16
+ export declare function insertComposerText(state: ComposerState, value: string): ComposerState;
17
+ export declare function composerBackspace(state: ComposerState): ComposerState;
18
+ export declare function composerDelete(state: ComposerState): ComposerState;
19
+ export declare function createPromptRecall(): PromptRecallState;
20
+ export declare function recordPrompt(recall: PromptRecallState, line: string): PromptRecallState;
21
+ export declare function recallOlder(recall: PromptRecallState, currentText: string): {
22
+ recall: PromptRecallState;
23
+ text: string;
24
+ };
25
+ export declare function recallNewer(recall: PromptRecallState, currentText: string): {
26
+ recall: PromptRecallState;
27
+ text: string;
28
+ };
29
+ export type ComposerRow = {
30
+ caretColumn: number;
31
+ hasCaret: boolean;
32
+ text: string;
33
+ };
34
+ export declare function visibleComposerRows(text: string, cursor: number, width: number, maxRows?: number): ComposerRow[];
35
+ export declare function composerRowCount(text: string, width: number, maxRows?: number): number;
@@ -0,0 +1,96 @@
1
+ import { wrapText } from './ai-session-tui-wrap.js';
2
+ export const COMPOSER_MAX_ROWS = 3;
3
+ export function createComposer(text = '') {
4
+ return { cursor: text.length, text };
5
+ }
6
+ export function clampComposerCursor(text, cursor) {
7
+ return Math.min(Math.max(0, cursor), text.length);
8
+ }
9
+ export function moveComposerCursor(state, delta) {
10
+ return { cursor: clampComposerCursor(state.text, state.cursor + delta), text: state.text };
11
+ }
12
+ export function composerHome(state) {
13
+ return { cursor: 0, text: state.text };
14
+ }
15
+ export function composerEnd(state) {
16
+ return { cursor: state.text.length, text: state.text };
17
+ }
18
+ export function insertComposerText(state, value) {
19
+ const text = state.text.slice(0, state.cursor) + value + state.text.slice(state.cursor);
20
+ return { cursor: state.cursor + value.length, text };
21
+ }
22
+ export function composerBackspace(state) {
23
+ if (state.cursor === 0)
24
+ return state;
25
+ const text = state.text.slice(0, state.cursor - 1) + state.text.slice(state.cursor);
26
+ return { cursor: state.cursor - 1, text };
27
+ }
28
+ export function composerDelete(state) {
29
+ if (state.cursor >= state.text.length)
30
+ return state;
31
+ return { cursor: state.cursor, text: state.text.slice(0, state.cursor) + state.text.slice(state.cursor + 1) };
32
+ }
33
+ export function createPromptRecall() {
34
+ return { draft: '', entries: [], index: 0 };
35
+ }
36
+ export function recordPrompt(recall, line) {
37
+ return { draft: '', entries: [...recall.entries, line], index: recall.entries.length + 1 };
38
+ }
39
+ export function recallOlder(recall, currentText) {
40
+ if (recall.entries.length === 0)
41
+ return { recall, text: currentText };
42
+ const atDraft = recall.index >= recall.entries.length;
43
+ const nextIndex = atDraft ? recall.entries.length - 1 : Math.max(0, recall.index - 1);
44
+ const draft = atDraft ? currentText : recall.draft;
45
+ const next = { draft, entries: recall.entries, index: nextIndex };
46
+ return { recall: next, text: recall.entries[nextIndex] ?? currentText };
47
+ }
48
+ export function recallNewer(recall, currentText) {
49
+ if (recall.index >= recall.entries.length)
50
+ return { recall, text: currentText };
51
+ const nextIndex = recall.index + 1;
52
+ const next = { draft: recall.draft, entries: recall.entries, index: nextIndex };
53
+ if (nextIndex >= recall.entries.length)
54
+ return { recall: next, text: recall.draft };
55
+ return { recall: next, text: recall.entries[nextIndex] ?? currentText };
56
+ }
57
+ export function visibleComposerRows(text, cursor, width, maxRows = COMPOSER_MAX_ROWS) {
58
+ const columns = Math.max(1, width);
59
+ const caret = clampComposerCursor(text, cursor);
60
+ const mapped = [];
61
+ const paragraphs = text.split('\n');
62
+ let pos = 0;
63
+ for (const [paragraphIndex, paragraph] of paragraphs.entries()) {
64
+ const wrapped = paragraph.length === 0 ? [''] : wrapText(paragraph, columns);
65
+ for (const [lineIndex, line] of wrapped.entries()) {
66
+ const start = pos;
67
+ const isLastLine = paragraphIndex === paragraphs.length - 1 && lineIndex === wrapped.length - 1;
68
+ const end = pos + line.length;
69
+ const hasCaret = caret >= start && (caret < end || (isLastLine && caret >= end));
70
+ mapped.push({
71
+ caretColumn: hasCaret ? Math.min(line.length, caret - start) : -1,
72
+ hasCaret,
73
+ text: line,
74
+ });
75
+ pos = end;
76
+ }
77
+ if (paragraphIndex < paragraphs.length - 1)
78
+ pos += 1;
79
+ }
80
+ if (mapped.length === 0)
81
+ mapped.push({ caretColumn: 0, hasCaret: true, text: '' });
82
+ if (!mapped.some((row) => row.hasCaret)) {
83
+ const last = mapped.at(-1);
84
+ if (last !== undefined) {
85
+ last.hasCaret = true;
86
+ last.caretColumn = last.text.length;
87
+ }
88
+ }
89
+ const caretIndex = Math.max(0, mapped.findIndex((row) => row.hasCaret));
90
+ const start = Math.max(0, Math.min(caretIndex, Math.max(0, mapped.length - maxRows)));
91
+ return mapped.slice(start, start + maxRows);
92
+ }
93
+ export function composerRowCount(text, width, maxRows = COMPOSER_MAX_ROWS) {
94
+ return Math.max(1, Math.min(maxRows, wrapText(text.length === 0 ? ' ' : text, Math.max(1, width)).length));
95
+ }
96
+ //# sourceMappingURL=ai-session-tui-composer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-session-tui-composer.js","sourceRoot":"","sources":["../../src/lib/ai-session-tui-composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAalC,MAAM,UAAU,cAAc,CAAC,IAAI,GAAG,EAAE;IACtC,OAAO,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc;IAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,KAAa;IACpE,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,OAAO,EAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAoB;IAC9C,OAAO,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,KAAa;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACvF,OAAO,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACnF,OAAO,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACnD,OAAO,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC,CAAA;AAC7G,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAyB,EAAE,IAAY;IAClE,OAAO,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAyB,EAAE,WAAmB;IACxE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAA;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IACrF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IAClD,MAAM,IAAI,GAAG,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAC,CAAA;IAC/D,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,EAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAyB,EAAE,WAAmB;IACxE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAC,CAAA;IAC7E,IAAI,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAC,CAAA;IACjF,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,EAAC,CAAA;AACvE,CAAC;AAQD,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,OAAO,GAAG,iBAAiB;IAC1G,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC5E,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,GAAG,CAAA;YACjB,MAAM,UAAU,GAAG,cAAc,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;YAC/F,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;YAC7B,MAAM,QAAQ,GAAG,KAAK,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAA;YAChF,MAAM,CAAC,IAAI,CAAC;gBACV,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,QAAQ;gBACR,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,GAAG,GAAG,GAAG,CAAA;QACX,CAAC;QAED,IAAI,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAA;IAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACrC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACrF,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,OAAO,GAAG,iBAAiB;IACvF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAC5G,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type HighlightColor = 'blue' | 'cyan' | 'gray' | 'green' | 'magenta' | 'red' | 'yellow';
2
+ export type HighlightSpan = {
3
+ backgroundColor?: string;
4
+ color?: HighlightColor | string;
5
+ dim?: boolean;
6
+ text: string;
7
+ };
8
+ export declare function highlightCodeLine(line: string, language: string): HighlightSpan[];
9
+ export declare function spansText(spans: HighlightSpan[]): string;
10
+ export declare function sliceSpans(spans: HighlightSpan[], start: number, end: number): HighlightSpan[];
11
+ export declare function wrapSpans(spans: HighlightSpan[], width: number): HighlightSpan[][];