@copado/agentia-cli 0.43.0-alpha.0 → 0.46.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.
- package/README.md +506 -113
- package/dist/commands/ai/agent/ask.d.ts +28 -0
- package/dist/commands/ai/agent/ask.js +131 -0
- package/dist/commands/ai/agent/ask.js.map +1 -0
- package/dist/commands/ai/agent/chat.d.ts +29 -0
- package/dist/commands/ai/agent/chat.js +97 -0
- package/dist/commands/ai/agent/chat.js.map +1 -0
- package/dist/commands/ai/quota/get.d.ts +14 -0
- package/dist/commands/ai/quota/get.js +23 -0
- package/dist/commands/ai/quota/get.js.map +1 -0
- package/dist/commands/ai/workspace/create.d.ts +17 -0
- package/dist/commands/ai/workspace/create.js +41 -0
- package/dist/commands/ai/workspace/create.js.map +1 -0
- package/dist/commands/ai/workspace/get.d.ts +17 -0
- package/dist/commands/ai/workspace/get.js +37 -0
- package/dist/commands/ai/workspace/get.js.map +1 -0
- package/dist/commands/ai/workspace/list.d.ts +16 -0
- package/dist/commands/ai/workspace/list.js +28 -0
- package/dist/commands/ai/workspace/list.js.map +1 -0
- package/dist/commands/ai/workspace/member/invite.d.ts +19 -0
- package/dist/commands/ai/workspace/member/invite.js +45 -0
- package/dist/commands/ai/workspace/member/invite.js.map +1 -0
- package/dist/commands/ai/workspace/member/list.d.ts +20 -0
- package/dist/commands/ai/workspace/member/list.js +36 -0
- package/dist/commands/ai/workspace/member/list.js.map +1 -0
- package/dist/commands/ai/workspace/update.d.ts +22 -0
- package/dist/commands/ai/workspace/update.js +62 -0
- package/dist/commands/ai/workspace/update.js.map +1 -0
- package/dist/commands/auth/get.d.ts +3 -0
- package/dist/commands/auth/get.js +46 -1
- package/dist/commands/auth/get.js.map +1 -1
- package/dist/commands/auth/set.d.ts +5 -0
- package/dist/commands/auth/set.js +39 -0
- package/dist/commands/auth/set.js.map +1 -1
- package/dist/commands/auth/unset.d.ts +1 -0
- package/dist/commands/auth/unset.js +4 -0
- package/dist/commands/auth/unset.js.map +1 -1
- package/dist/lib/ai-chat-session.d.ts +17 -0
- package/dist/lib/ai-chat-session.js +149 -0
- package/dist/lib/ai-chat-session.js.map +1 -0
- package/dist/lib/ai-config.d.ts +26 -0
- package/dist/lib/ai-config.js +113 -0
- package/dist/lib/ai-config.js.map +1 -0
- package/dist/lib/ai-flags.d.ts +16 -0
- package/dist/lib/ai-flags.js +28 -0
- package/dist/lib/ai-flags.js.map +1 -0
- package/dist/lib/ai-gateway.d.ts +52 -0
- package/dist/lib/ai-gateway.js +324 -0
- package/dist/lib/ai-gateway.js.map +1 -0
- package/dist/lib/ai-operations.d.ts +26 -0
- package/dist/lib/ai-operations.js +177 -0
- package/dist/lib/ai-operations.js.map +1 -0
- package/dist/lib/ai-stream-parser.d.ts +12 -0
- package/dist/lib/ai-stream-parser.js +59 -0
- package/dist/lib/ai-stream-parser.js.map +1 -0
- package/dist/lib/ai-terminal-renderer.d.ts +17 -0
- package/dist/lib/ai-terminal-renderer.js +83 -0
- package/dist/lib/ai-terminal-renderer.js.map +1 -0
- package/dist/lib/ai-types.d.ts +127 -0
- package/dist/lib/ai-types.js +133 -0
- package/dist/lib/ai-types.js.map +1 -0
- package/dist/lib/auth-config.d.ts +21 -0
- package/dist/lib/auth-config.js +158 -6
- package/dist/lib/auth-config.js.map +1 -1
- package/dist/lib/credential-store.d.ts +13 -1
- package/dist/lib/credential-store.js +47 -2
- package/dist/lib/credential-store.js.map +1 -1
- package/dist/lib/mcp/ai-tools.d.ts +22 -0
- package/dist/lib/mcp/ai-tools.js +45 -0
- package/dist/lib/mcp/ai-tools.js.map +1 -0
- package/dist/lib/mcp/tools.d.ts +16 -2
- package/dist/lib/mcp/tools.js +3 -0
- package/dist/lib/mcp/tools.js.map +1 -1
- package/oclif.manifest.json +1302 -335
- package/package.json +16 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../../lib/agentia-command.js';
|
|
3
|
+
import { aiConnectionFlags, aiGatewayCallOptions } from '../../../../lib/ai-flags.js';
|
|
4
|
+
import { AiGateway } from '../../../../lib/ai-gateway.js';
|
|
5
|
+
export default class AiWorkspaceMemberList extends AgentiaCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
workspace: Args.string({
|
|
8
|
+
description: 'Copado AI workspace UUID.',
|
|
9
|
+
required: true,
|
|
10
|
+
}),
|
|
11
|
+
};
|
|
12
|
+
static description = 'List members for a Copado AI workspace';
|
|
13
|
+
static examples = [
|
|
14
|
+
'<%= config.bin %> <%= command.id %> 42d0b908-37b7-4565-9ec9-86eda40c9782',
|
|
15
|
+
'<%= config.bin %> <%= command.id %> 42d0b908-37b7-4565-9ec9-86eda40c9782 --json',
|
|
16
|
+
];
|
|
17
|
+
static flags = {
|
|
18
|
+
...aiConnectionFlags,
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { args, flags } = await this.parse(AiWorkspaceMemberList);
|
|
22
|
+
const workspace = await this.withSpinner('Loading AI workspace members', () => AiGateway.getWorkspace(args.workspace, aiGatewayCallOptions(flags)));
|
|
23
|
+
const members = workspace.members ?? [];
|
|
24
|
+
this.display(() => {
|
|
25
|
+
if (members.length === 0) {
|
|
26
|
+
this.log('No AI workspace members found.');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
for (const member of members) {
|
|
30
|
+
this.log(`${member.id} user:${member.user_id ?? 'unknown'} permission:${member.permission ?? 'unknown'}`);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return { members, workspaceId: workspace.id };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/ai/workspace/member/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAA;AACjE,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;AACnF,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAA;AAGvD,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc;IAC/D,MAAM,CAAU,IAAI,GAAG;QACrB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,wCAAwC,CAAA;IACtE,MAAM,CAAU,QAAQ,GAAG;QACzB,0EAA0E;QAC1E,iFAAiF;KAClF,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,iBAAiB;KACrB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAC5E,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CACpE,CAAA;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAA;QAEvC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;gBAC1C,OAAM;YACR,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,OAAO,IAAI,SAAS,gBAAgB,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC,CAAA;YAC7G,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAC,CAAA;IAC7C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
2
|
+
import { type AiWorkspace } from '../../../lib/ai-types.js';
|
|
3
|
+
export default class AiWorkspaceUpdate extends AgentiaCommand {
|
|
4
|
+
static args: {
|
|
5
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static examples: string[];
|
|
9
|
+
static flags: {
|
|
10
|
+
capability: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'default-dataset-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
};
|
|
20
|
+
run(): Promise<AiWorkspace>;
|
|
21
|
+
private buildInput;
|
|
22
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { AgentiaCommand } from '../../../lib/agentia-command.js';
|
|
3
|
+
import { aiConnectionFlags, aiGatewayCallOptions } from '../../../lib/ai-flags.js';
|
|
4
|
+
import { AiGateway } from '../../../lib/ai-gateway.js';
|
|
5
|
+
import { AI_WORKSPACE_CAPABILITIES, normalizeAiDatasetId, } from '../../../lib/ai-types.js';
|
|
6
|
+
export default class AiWorkspaceUpdate extends AgentiaCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
id: Args.string({
|
|
9
|
+
description: 'Copado AI workspace UUID.',
|
|
10
|
+
required: true,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Update a Copado AI workspace';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> 42d0b908-37b7-4565-9ec9-86eda40c9782 --name "Delivery Workspace"',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> 42d0b908-37b7-4565-9ec9-86eda40c9782 --capability Reasoning --capability CustomKnowledge',
|
|
17
|
+
];
|
|
18
|
+
static flags = {
|
|
19
|
+
...aiConnectionFlags,
|
|
20
|
+
capability: Flags.string({
|
|
21
|
+
description: 'Workspace capability. Can be provided multiple times and replaces the existing set when provided.',
|
|
22
|
+
multiple: true,
|
|
23
|
+
options: [...AI_WORKSPACE_CAPABILITIES],
|
|
24
|
+
}),
|
|
25
|
+
'default-dataset-id': Flags.string({
|
|
26
|
+
description: 'Default dataset UUID for the workspace.',
|
|
27
|
+
}),
|
|
28
|
+
description: Flags.string({
|
|
29
|
+
description: 'Workspace description.',
|
|
30
|
+
}),
|
|
31
|
+
name: Flags.string({
|
|
32
|
+
description: 'Workspace name.',
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
async run() {
|
|
36
|
+
const { args, flags } = await this.parse(AiWorkspaceUpdate);
|
|
37
|
+
const input = this.buildInput(flags);
|
|
38
|
+
const workspace = await this.withSpinner('Updating AI workspace', () => AiGateway.updateWorkspace(args.id, input, aiGatewayCallOptions(flags)));
|
|
39
|
+
this.display(() => {
|
|
40
|
+
this.log(`Updated AI workspace: ${workspace.name ?? args.id}`);
|
|
41
|
+
this.log(`ID: ${workspace.id}`);
|
|
42
|
+
});
|
|
43
|
+
return workspace;
|
|
44
|
+
}
|
|
45
|
+
buildInput(flags) {
|
|
46
|
+
const input = {};
|
|
47
|
+
if (flags.capability !== undefined)
|
|
48
|
+
input.capabilities = flags.capability;
|
|
49
|
+
if (flags.description !== undefined)
|
|
50
|
+
input.description = flags.description;
|
|
51
|
+
if (flags['default-dataset-id'] !== undefined) {
|
|
52
|
+
Object.assign(input, { 'default_dataset_id': normalizeAiDatasetId(flags['default-dataset-id']) });
|
|
53
|
+
}
|
|
54
|
+
if (flags.name !== undefined)
|
|
55
|
+
input.name = flags.name;
|
|
56
|
+
if (Object.keys(input).length === 0) {
|
|
57
|
+
this.error('Provide at least one workspace field to update.', { exit: 2 });
|
|
58
|
+
}
|
|
59
|
+
return input;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/ai/workspace/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,14 @@ import { type CredentialType } from '../../lib/credential-store.js';
|
|
|
3
3
|
export type AuthCredentialResult = {
|
|
4
4
|
baseUrl?: null | string;
|
|
5
5
|
domain?: null | string;
|
|
6
|
+
gatewayUrl?: null | string;
|
|
6
7
|
label: string;
|
|
7
8
|
local?: boolean;
|
|
8
9
|
masked?: string;
|
|
9
10
|
orgId?: null | string;
|
|
10
11
|
set: boolean;
|
|
11
12
|
type: CredentialType;
|
|
13
|
+
workspaceId?: null | string;
|
|
12
14
|
};
|
|
13
15
|
export type AuthGetResult = {
|
|
14
16
|
credentials: AuthCredentialResult[];
|
|
@@ -17,6 +19,7 @@ export default class AuthGet extends AgentiaCommand {
|
|
|
17
19
|
static description: string;
|
|
18
20
|
static examples: string[];
|
|
19
21
|
static flags: {
|
|
22
|
+
ai: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
23
|
cicd: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
24
|
crt: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
25
|
};
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
2
|
import { AgentiaCommand } from '../../lib/agentia-command.js';
|
|
3
|
-
import { ALL_CREDENTIAL_TYPES, credentialLabel, getCicdBaseUrl, getCredential, getCrtDomain, getCrtOrgId, maskSecret, } from '../../lib/credential-store.js';
|
|
3
|
+
import { ALL_CREDENTIAL_TYPES, credentialLabel, getAiDomain, getAiGatewayUrl, getAiOrgId, getAiWorkspaceId, getCicdBaseUrl, getCredential, getCrtDomain, getCrtOrgId, maskSecret, } from '../../lib/credential-store.js';
|
|
4
4
|
import { normalizeLocalGatewayBaseUrl, readLocalGatewayConfig } from '../../lib/local-gateway-config.js';
|
|
5
5
|
export default class AuthGet extends AgentiaCommand {
|
|
6
6
|
static description = 'Show stored authentication credentials from the system keychain';
|
|
7
7
|
static examples = [
|
|
8
8
|
'<%= config.bin %> <%= command.id %>',
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --ai',
|
|
9
10
|
'<%= config.bin %> <%= command.id %> --cicd',
|
|
10
11
|
'<%= config.bin %> <%= command.id %> --crt',
|
|
11
12
|
'<%= config.bin %> <%= command.id %> --cicd --crt',
|
|
12
13
|
'<%= config.bin %> <%= command.id %> --json',
|
|
13
14
|
];
|
|
14
15
|
static flags = {
|
|
16
|
+
ai: Flags.boolean({
|
|
17
|
+
description: 'Show PAT token for Copado AI authentication',
|
|
18
|
+
}),
|
|
15
19
|
cicd: Flags.boolean({
|
|
16
20
|
description: 'Show Copado API key for CICD authentication',
|
|
17
21
|
}),
|
|
@@ -28,6 +32,9 @@ export default class AuthGet extends AgentiaCommand {
|
|
|
28
32
|
if (flags.crt) {
|
|
29
33
|
types.push('crt');
|
|
30
34
|
}
|
|
35
|
+
if (flags.ai) {
|
|
36
|
+
types.push('ai');
|
|
37
|
+
}
|
|
31
38
|
const selectedTypes = types.length > 0 ? types : ALL_CREDENTIAL_TYPES;
|
|
32
39
|
const credentials = selectedTypes.map((type) => this.buildCredentialResult(type));
|
|
33
40
|
for (const credential of credentials) {
|
|
@@ -78,6 +85,30 @@ export default class AuthGet extends AgentiaCommand {
|
|
|
78
85
|
if (type === 'cicd') {
|
|
79
86
|
return this.buildCicdCredentialResult();
|
|
80
87
|
}
|
|
88
|
+
if (type === 'ai') {
|
|
89
|
+
const credential = getCredential(type);
|
|
90
|
+
if (credential === null) {
|
|
91
|
+
return {
|
|
92
|
+
domain: getAiDomain(),
|
|
93
|
+
gatewayUrl: getAiGatewayUrl(),
|
|
94
|
+
label: credentialLabel(type),
|
|
95
|
+
orgId: getAiOrgId(),
|
|
96
|
+
set: false,
|
|
97
|
+
type,
|
|
98
|
+
workspaceId: getAiWorkspaceId(),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
domain: getAiDomain(),
|
|
103
|
+
gatewayUrl: getAiGatewayUrl(),
|
|
104
|
+
label: credentialLabel(type),
|
|
105
|
+
masked: maskSecret(credential),
|
|
106
|
+
orgId: getAiOrgId(),
|
|
107
|
+
set: true,
|
|
108
|
+
type,
|
|
109
|
+
workspaceId: getAiWorkspaceId(),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
81
112
|
const credential = getCredential(type);
|
|
82
113
|
if (credential === null) {
|
|
83
114
|
return {
|
|
@@ -107,6 +138,13 @@ export default class AuthGet extends AgentiaCommand {
|
|
|
107
138
|
const orgId = credential.orgId === null || credential.orgId === undefined ? 'not set' : credential.orgId;
|
|
108
139
|
return `${credential.label}: not set (domain: ${domain}, org: ${orgId})`;
|
|
109
140
|
}
|
|
141
|
+
if (credential.type === 'ai') {
|
|
142
|
+
const domain = credential.domain === null || credential.domain === undefined ? 'not set' : credential.domain;
|
|
143
|
+
const orgId = credential.orgId === null || credential.orgId === undefined ? 'not set' : credential.orgId;
|
|
144
|
+
const workspaceId = credential.workspaceId === null || credential.workspaceId === undefined ? 'not set' : credential.workspaceId;
|
|
145
|
+
const gatewayUrl = credential.gatewayUrl === null || credential.gatewayUrl === undefined ? 'derived' : credential.gatewayUrl;
|
|
146
|
+
return `${credential.label}: not set (domain: ${domain}, org: ${orgId}, workspace: ${workspaceId}, gateway: ${gatewayUrl})`;
|
|
147
|
+
}
|
|
110
148
|
return `${credential.label}: not set`;
|
|
111
149
|
}
|
|
112
150
|
if (credential.type === 'cicd') {
|
|
@@ -114,6 +152,13 @@ export default class AuthGet extends AgentiaCommand {
|
|
|
114
152
|
const localSuffix = credential.local ? ', local' : '';
|
|
115
153
|
return `${credential.label}: ${credential.masked} (endpoint: ${endpointLabel}${localSuffix})`;
|
|
116
154
|
}
|
|
155
|
+
if (credential.type === 'ai') {
|
|
156
|
+
const domain = credential.domain === null || credential.domain === undefined ? 'not set' : credential.domain;
|
|
157
|
+
const orgId = credential.orgId === null || credential.orgId === undefined ? 'not set' : credential.orgId;
|
|
158
|
+
const workspaceId = credential.workspaceId === null || credential.workspaceId === undefined ? 'not set' : credential.workspaceId;
|
|
159
|
+
const gatewayUrl = credential.gatewayUrl === null || credential.gatewayUrl === undefined ? 'derived' : credential.gatewayUrl;
|
|
160
|
+
return `${credential.label}: ${credential.masked} (domain: ${domain}, org: ${orgId}, workspace: ${workspaceId}, gateway: ${gatewayUrl})`;
|
|
161
|
+
}
|
|
117
162
|
const domain = credential.domain === null || credential.domain === undefined ? 'not set' : credential.domain;
|
|
118
163
|
const orgId = credential.orgId === null || credential.orgId === undefined ? 'not set' : credential.orgId;
|
|
119
164
|
return `${credential.label}: ${credential.masked} (domain: ${domain}, org: ${orgId})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/auth/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,oBAAoB,EACpB,eAAe,EAEf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAC,4BAA4B,EAAE,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/auth/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,11 @@ export default class AuthSet extends AgentiaCommand {
|
|
|
4
4
|
static description: string;
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static flags: {
|
|
7
|
+
ai: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
'ai-domain': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'ai-gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'ai-org': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'ai-workspace': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
12
|
cicd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
13
|
crt: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
14
|
'crt-domain': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -5,6 +5,10 @@ import { CICD_REGIONS } from '../../lib/cicd-region.js';
|
|
|
5
5
|
export default class AuthSet extends AgentiaCommand {
|
|
6
6
|
static description = 'Store authentication credentials securely in the system keychain';
|
|
7
7
|
static examples = [
|
|
8
|
+
'<%= config.bin %> <%= command.id %> --ai <pat-token> --ai-domain robotic.copado.com --ai-org 42888',
|
|
9
|
+
'<%= config.bin %> <%= command.id %> --ai <pat-token> --ai-domain robotic.copado.com --ai-org 42888 --ai-workspace 42d0b908-37b7-4565-9ec9-86eda40c9782',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --ai <pat-token> --ai-gateway-url http://localhost:8080/organizations/42888',
|
|
11
|
+
'<%= config.bin %> <%= command.id %> --ai-workspace 42d0b908-37b7-4565-9ec9-86eda40c9782',
|
|
8
12
|
'<%= config.bin %> <%= command.id %> --cicd <copado-api-key> --region na',
|
|
9
13
|
'<%= config.bin %> <%= command.id %> --cicd <copado-api-key> --custom-url https://dev.api.copado.com',
|
|
10
14
|
'<%= config.bin %> <%= command.id %> --cicd <copado-api-key>',
|
|
@@ -15,6 +19,21 @@ export default class AuthSet extends AgentiaCommand {
|
|
|
15
19
|
'<%= config.bin %> <%= command.id %> --cicd <copado-api-key> --region na --json',
|
|
16
20
|
];
|
|
17
21
|
static flags = {
|
|
22
|
+
ai: Flags.string({
|
|
23
|
+
description: 'PAT token for Copado AI authentication',
|
|
24
|
+
}),
|
|
25
|
+
'ai-domain': Flags.string({
|
|
26
|
+
description: 'Copado AI domain hostname used to derive the gateway URL, for example robotic.copado.com',
|
|
27
|
+
}),
|
|
28
|
+
'ai-gateway-url': Flags.string({
|
|
29
|
+
description: 'Full Copado AI gateway base URL used instead of deriving from domain and organization; HTTP is allowed for local testing',
|
|
30
|
+
}),
|
|
31
|
+
'ai-org': Flags.integer({
|
|
32
|
+
description: 'Copado AI organization ID used with --ai-domain',
|
|
33
|
+
}),
|
|
34
|
+
'ai-workspace': Flags.string({
|
|
35
|
+
description: 'Copado AI workspace UUID to validate and store as the default',
|
|
36
|
+
}),
|
|
18
37
|
cicd: Flags.string({
|
|
19
38
|
description: 'Copado API key for CICD authentication',
|
|
20
39
|
}),
|
|
@@ -40,6 +59,11 @@ export default class AuthSet extends AgentiaCommand {
|
|
|
40
59
|
let result;
|
|
41
60
|
try {
|
|
42
61
|
result = await this.withSpinnerForAuth(flags, () => applyAuthSet({
|
|
62
|
+
ai: flags.ai,
|
|
63
|
+
aiDomain: flags['ai-domain'],
|
|
64
|
+
aiGatewayUrl: flags['ai-gateway-url'],
|
|
65
|
+
aiOrg: flags['ai-org'],
|
|
66
|
+
aiWorkspace: flags['ai-workspace'],
|
|
43
67
|
cicd: flags.cicd,
|
|
44
68
|
crt: flags.crt,
|
|
45
69
|
crtDomain: flags['crt-domain'],
|
|
@@ -66,6 +90,18 @@ export default class AuthSet extends AgentiaCommand {
|
|
|
66
90
|
if (result.crt?.orgId !== undefined) {
|
|
67
91
|
this.log(`Stored CRT organization ID: ${result.crt.orgId}.`);
|
|
68
92
|
}
|
|
93
|
+
if (result.ai?.domain !== undefined) {
|
|
94
|
+
this.log(`Stored AI domain: ${result.ai.domain}.`);
|
|
95
|
+
}
|
|
96
|
+
if (result.ai?.orgId !== undefined) {
|
|
97
|
+
this.log(`Stored AI organization ID: ${result.ai.orgId}.`);
|
|
98
|
+
}
|
|
99
|
+
if (result.ai?.gatewayUrl !== undefined) {
|
|
100
|
+
this.log(`Stored AI gateway URL: ${result.ai.gatewayUrl}.`);
|
|
101
|
+
}
|
|
102
|
+
if (result.ai?.workspaceId !== undefined) {
|
|
103
|
+
this.log(`Stored AI workspace ID: ${result.ai.workspaceId}.`);
|
|
104
|
+
}
|
|
69
105
|
return result;
|
|
70
106
|
}
|
|
71
107
|
async withSpinnerForAuth(flags, action) {
|
|
@@ -85,6 +121,9 @@ export default class AuthSet extends AgentiaCommand {
|
|
|
85
121
|
: 'Validating CRT credentials for custom domain';
|
|
86
122
|
return this.withSpinner(spinnerMessage, action);
|
|
87
123
|
}
|
|
124
|
+
if (flags.ai !== undefined) {
|
|
125
|
+
return this.withSpinner('Validating AI credentials', action);
|
|
126
|
+
}
|
|
88
127
|
return action();
|
|
89
128
|
}
|
|
90
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/auth/set.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/auth/set.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export default class AuthUnset extends AgentiaCommand {
|
|
|
7
7
|
static description: string;
|
|
8
8
|
static examples: string[];
|
|
9
9
|
static flags: {
|
|
10
|
+
ai: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
cicd: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
crt: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
13
|
yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
@@ -7,12 +7,16 @@ export default class AuthUnset extends AgentiaCommand {
|
|
|
7
7
|
static description = 'Remove stored authentication credentials from the system keychain';
|
|
8
8
|
static examples = [
|
|
9
9
|
'<%= config.bin %> <%= command.id %>',
|
|
10
|
+
'<%= config.bin %> <%= command.id %> --ai',
|
|
10
11
|
'<%= config.bin %> <%= command.id %> --cicd',
|
|
11
12
|
'<%= config.bin %> <%= command.id %> --crt',
|
|
12
13
|
'<%= config.bin %> <%= command.id %> --cicd --crt --yes',
|
|
13
14
|
'<%= config.bin %> <%= command.id %> --json --yes',
|
|
14
15
|
];
|
|
15
16
|
static flags = {
|
|
17
|
+
ai: Flags.boolean({
|
|
18
|
+
description: 'Remove Copado AI PAT, domain, organization, workspace, and gateway URL configuration',
|
|
19
|
+
}),
|
|
16
20
|
cicd: Flags.boolean({
|
|
17
21
|
description: 'Remove Copado API key and CICD endpoint configuration',
|
|
18
22
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unset.js","sourceRoot":"","sources":["../../../src/commands/auth/unset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,KAAK,IAAI,KAAK,EAAC,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAA;AAM3D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,cAAc;IACnD,MAAM,CAAU,WAAW,GAAG,mEAAmE,CAAA;IACjG,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,4CAA4C;QAC5C,2CAA2C;QAC3C,wDAAwD;QACxD,kDAAkD;KACnD,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,uDAAuD;SACrE,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,wDAAwD;SACtE,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,yDAAyD;SACvE,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,mBAAmB,GACvB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAEpE,IAAI,mBAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,wEAAwE,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;QACjG,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;oBAC9D,OAAO;wBACL,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,EAAE;qBACZ,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;gBAChD,CAAC;gBAED,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;gBACnC,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,cAAc,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"unset.js","sourceRoot":"","sources":["../../../src/commands/auth/unset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,KAAK,IAAI,KAAK,EAAC,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,cAAc,EAEd,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAA;AAM3D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,cAAc;IACnD,MAAM,CAAU,WAAW,GAAG,mEAAmE,CAAA;IACjG,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,0CAA0C;QAC1C,4CAA4C;QAC5C,2CAA2C;QAC3C,wDAAwD;QACxD,kDAAkD;KACnD,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;YAChB,WAAW,EAAE,sFAAsF;SACpG,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,uDAAuD;SACrE,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,wDAAwD;SACtE,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,yDAAyD;SACvE,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,mBAAmB,GACvB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAEpE,IAAI,mBAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,wEAAwE,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;QACjG,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;oBAC9D,OAAO;wBACL,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,EAAE;qBACZ,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAA;gBAChD,CAAC;gBAED,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;QAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;gBACnC,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,cAAc,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AiConnectionOverrides } from './ai-config.js';
|
|
2
|
+
import { type AiAgent, type AiContextOptions } from './ai-types.js';
|
|
3
|
+
export type AiChatSessionOptions = AiConnectionOverrides & AiContextOptions & {
|
|
4
|
+
agent: AiAgent;
|
|
5
|
+
dialogue?: string;
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
};
|
|
8
|
+
export type AiChatSessionResult = {
|
|
9
|
+
dialogueId: string;
|
|
10
|
+
turns: number;
|
|
11
|
+
};
|
|
12
|
+
export type AiChatSessionIo = {
|
|
13
|
+
error: NodeJS.WritableStream;
|
|
14
|
+
input: NodeJS.ReadableStream;
|
|
15
|
+
output: NodeJS.WritableStream;
|
|
16
|
+
};
|
|
17
|
+
export declare function runAiChatSession(options: AiChatSessionOptions, io?: AiChatSessionIo): Promise<AiChatSessionResult>;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/* eslint-disable no-await-in-loop -- Interactive chat must process user turns and streams sequentially. */
|
|
2
|
+
import { createInterface } from 'node:readline';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
import { AiGateway } from './ai-gateway.js';
|
|
5
|
+
import { bootstrapAiDialogue } from './ai-operations.js';
|
|
6
|
+
import { formatAiTerminalMessage, StreamingMarkdownRenderer, streamSupportsColor } from './ai-terminal-renderer.js';
|
|
7
|
+
import { assistantIdForAgent, enrichAiPrompt } from './ai-types.js';
|
|
8
|
+
function writeLine(stream, value = '') {
|
|
9
|
+
stream.write(`${value}\n`);
|
|
10
|
+
}
|
|
11
|
+
function defaultChatIo() {
|
|
12
|
+
return {
|
|
13
|
+
error: process.stderr,
|
|
14
|
+
input: process.stdin,
|
|
15
|
+
output: process.stdout,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function question(rl, prompt) {
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
const onClose = () => {
|
|
21
|
+
const error = new Error('Readline interface closed.');
|
|
22
|
+
error.code = 'ERR_USE_AFTER_CLOSE';
|
|
23
|
+
reject(error);
|
|
24
|
+
};
|
|
25
|
+
rl.once('close', onClose);
|
|
26
|
+
rl.question(prompt, (answer) => {
|
|
27
|
+
rl.off('close', onClose);
|
|
28
|
+
resolve(answer);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function isGracefulReadlineClose(error) {
|
|
33
|
+
if (error === null || typeof error !== 'object')
|
|
34
|
+
return false;
|
|
35
|
+
const value = error;
|
|
36
|
+
return value.code === 'ERR_USE_AFTER_CLOSE' || value.message === 'The operation was aborted' || value.message === 'Readline interface closed.';
|
|
37
|
+
}
|
|
38
|
+
function errorMessage(error) {
|
|
39
|
+
return error instanceof Error ? error.message : String(error);
|
|
40
|
+
}
|
|
41
|
+
function renderHelp(output) {
|
|
42
|
+
writeLine(output, 'Commands: /help, /clear, /agent <plan|build|test|release|operate|orchestrate>, /exit');
|
|
43
|
+
}
|
|
44
|
+
function normalizeAgent(value) {
|
|
45
|
+
if (['build', 'operate', 'orchestrate', 'plan', 'release', 'test'].includes(value)) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
export async function runAiChatSession(options, io = defaultChatIo()) {
|
|
51
|
+
let { agent } = options;
|
|
52
|
+
let bootstrap = await bootstrapAiDialogue({ ...options, agent, kind: 'chat' });
|
|
53
|
+
let turns = 0;
|
|
54
|
+
const stderrColors = streamSupportsColor(io.error);
|
|
55
|
+
const stdoutColors = streamSupportsColor(io.output);
|
|
56
|
+
const rl = createInterface({
|
|
57
|
+
input: io.input,
|
|
58
|
+
output: io.output,
|
|
59
|
+
terminal: Boolean(io.input.isTTY),
|
|
60
|
+
});
|
|
61
|
+
const close = () => {
|
|
62
|
+
rl.close();
|
|
63
|
+
};
|
|
64
|
+
process.once('SIGINT', close);
|
|
65
|
+
try {
|
|
66
|
+
writeLine(io.output, `${agent} Agent chat`);
|
|
67
|
+
writeLine(io.output, `Dialogue: ${bootstrap.dialogue.id}`);
|
|
68
|
+
renderHelp(io.output);
|
|
69
|
+
while (true) {
|
|
70
|
+
const line = (await question(rl, '> ')).trim();
|
|
71
|
+
if (line.length === 0)
|
|
72
|
+
continue;
|
|
73
|
+
if (line === '/exit' || line === 'exit' || line === 'quit')
|
|
74
|
+
break;
|
|
75
|
+
if (line === '/help') {
|
|
76
|
+
renderHelp(io.output);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (line === '/clear') {
|
|
80
|
+
bootstrap = await bootstrapAiDialogue({ ...options, agent, dialogue: undefined, kind: 'chat' });
|
|
81
|
+
writeLine(io.output, `Started new dialogue: ${bootstrap.dialogue.id}`);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (line.startsWith('/agent ')) {
|
|
85
|
+
const nextAgent = normalizeAgent(line.slice('/agent '.length).trim());
|
|
86
|
+
if (nextAgent === undefined) {
|
|
87
|
+
writeLine(io.error, 'Unknown agent. Use plan, build, test, release, operate, or orchestrate.');
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
agent = nextAgent;
|
|
91
|
+
bootstrap = await bootstrapAiDialogue({ ...options, agent, dialogue: undefined, kind: 'chat' });
|
|
92
|
+
writeLine(io.output, `Switched to ${agent} agent. Dialogue: ${bootstrap.dialogue.id}`);
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const requestId = uuidv4();
|
|
96
|
+
let completed = false;
|
|
97
|
+
const renderer = new StreamingMarkdownRenderer({ colors: stdoutColors });
|
|
98
|
+
const prompt = enrichAiPrompt(line, {
|
|
99
|
+
component: options.component,
|
|
100
|
+
sfOrg: options.sfOrg,
|
|
101
|
+
userStory: options.userStory,
|
|
102
|
+
workItem: options.workItem,
|
|
103
|
+
});
|
|
104
|
+
try {
|
|
105
|
+
await AiGateway.sendMessage(bootstrap.dialogue.id, {
|
|
106
|
+
assistantId: assistantIdForAgent(agent),
|
|
107
|
+
'dev_context': null,
|
|
108
|
+
integrations: null,
|
|
109
|
+
prompt,
|
|
110
|
+
'request_id': requestId,
|
|
111
|
+
'system_prompt': null,
|
|
112
|
+
}, options, (chunk) => {
|
|
113
|
+
if (chunk.type === 'token' && typeof chunk.content === 'string')
|
|
114
|
+
renderer.write(io.output, chunk.content);
|
|
115
|
+
if ((chunk.type === 'status' || chunk.type === 'warning') && typeof chunk.content === 'string') {
|
|
116
|
+
const kind = chunk.type === 'warning' ? 'warning' : 'status';
|
|
117
|
+
writeLine(io.error, formatAiTerminalMessage(chunk.content, kind, { colors: stderrColors }));
|
|
118
|
+
}
|
|
119
|
+
if (chunk.type === 'error' && typeof chunk.content === 'string') {
|
|
120
|
+
throw new Error(chunk.content);
|
|
121
|
+
}
|
|
122
|
+
if (chunk.type === 'done' || chunk.type === 'performance' || chunk.type === 'stream_complete')
|
|
123
|
+
completed = true;
|
|
124
|
+
});
|
|
125
|
+
renderer.finish(io.output);
|
|
126
|
+
if (!completed)
|
|
127
|
+
throw new Error('AI stream ended before stream_complete. Response may be incomplete.');
|
|
128
|
+
turns += 1;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
writeLine(io.error, `AI turn failed: ${errorMessage(error)}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (isGracefulReadlineClose(error)) {
|
|
137
|
+
writeLine(io.output, 'Session ended.');
|
|
138
|
+
return { dialogueId: bootstrap.dialogue.id, turns };
|
|
139
|
+
}
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
process.off('SIGINT', close);
|
|
144
|
+
rl.close();
|
|
145
|
+
}
|
|
146
|
+
writeLine(io.output, 'Session ended.');
|
|
147
|
+
return { dialogueId: bootstrap.dialogue.id, turns };
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=ai-chat-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-session.js","sourceRoot":"","sources":["../../src/lib/ai-chat-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const AI_DEFAULT_WORKSPACE_NAME = "agentia-cli";
|
|
2
|
+
export declare const AI_DEFAULT_TIMEOUT_MS = 120000;
|
|
3
|
+
export declare const AI_GATEWAY_HOST_PREFIX = "copadogpt-api.";
|
|
4
|
+
export type AiConnectionOverrides = {
|
|
5
|
+
domain?: string;
|
|
6
|
+
gatewayUrl?: string;
|
|
7
|
+
org?: number | string;
|
|
8
|
+
pat?: string;
|
|
9
|
+
workspace?: string;
|
|
10
|
+
};
|
|
11
|
+
export type AiCredentials = {
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
domain?: string;
|
|
14
|
+
gatewayUrl?: string;
|
|
15
|
+
orgId?: number;
|
|
16
|
+
pat: string;
|
|
17
|
+
workspaceId?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function normalizeAiGatewayUrl(value: string): string;
|
|
20
|
+
export declare function normalizeAiDomain(value: string): string;
|
|
21
|
+
export declare function normalizeAiOrgId(value: number | string): number;
|
|
22
|
+
export declare function normalizeAiUuid(value: string, label: string): string;
|
|
23
|
+
export declare function normalizeAiWorkspaceId(value: string): string;
|
|
24
|
+
export declare function normalizeAiDialogueId(value: string): string;
|
|
25
|
+
export declare function aiBaseUrl(domain: string, orgId: number): string;
|
|
26
|
+
export declare function resolveAiCredentials(overrides?: AiConnectionOverrides): AiCredentials;
|