@copado/agentia-cli 0.45.0-alpha.0 → 0.47.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 (62) hide show
  1. package/README.md +402 -105
  2. package/dist/commands/ai/agent/ask.js +19 -12
  3. package/dist/commands/ai/agent/ask.js.map +1 -1
  4. package/dist/commands/ai/quota/get.d.ts +14 -0
  5. package/dist/commands/ai/quota/get.js +23 -0
  6. package/dist/commands/ai/quota/get.js.map +1 -0
  7. package/dist/commands/ai/workspace/create.d.ts +17 -0
  8. package/dist/commands/ai/workspace/create.js +41 -0
  9. package/dist/commands/ai/workspace/create.js.map +1 -0
  10. package/dist/commands/ai/workspace/get.d.ts +17 -0
  11. package/dist/commands/ai/workspace/get.js +37 -0
  12. package/dist/commands/ai/workspace/get.js.map +1 -0
  13. package/dist/commands/ai/workspace/list.d.ts +16 -0
  14. package/dist/commands/ai/workspace/list.js +28 -0
  15. package/dist/commands/ai/workspace/list.js.map +1 -0
  16. package/dist/commands/ai/workspace/member/invite.d.ts +19 -0
  17. package/dist/commands/ai/workspace/member/invite.js +45 -0
  18. package/dist/commands/ai/workspace/member/invite.js.map +1 -0
  19. package/dist/commands/ai/workspace/member/list.d.ts +20 -0
  20. package/dist/commands/ai/workspace/member/list.js +36 -0
  21. package/dist/commands/ai/workspace/member/list.js.map +1 -0
  22. package/dist/commands/ai/workspace/update.d.ts +22 -0
  23. package/dist/commands/ai/workspace/update.js +62 -0
  24. package/dist/commands/ai/workspace/update.js.map +1 -0
  25. package/dist/commands/update.d.ts +10 -0
  26. package/dist/commands/update.js +39 -0
  27. package/dist/commands/update.js.map +1 -0
  28. package/dist/hooks/init/version-warning.d.ts +3 -0
  29. package/dist/hooks/init/version-warning.js +19 -0
  30. package/dist/hooks/init/version-warning.js.map +1 -0
  31. package/dist/lib/ai-chat-session.js +8 -3
  32. package/dist/lib/ai-chat-session.js.map +1 -1
  33. package/dist/lib/ai-flags.d.ts +16 -0
  34. package/dist/lib/ai-flags.js +28 -0
  35. package/dist/lib/ai-flags.js.map +1 -0
  36. package/dist/lib/ai-gateway.d.ts +7 -3
  37. package/dist/lib/ai-gateway.js +30 -4
  38. package/dist/lib/ai-gateway.js.map +1 -1
  39. package/dist/lib/ai-operations.js +1 -1
  40. package/dist/lib/ai-operations.js.map +1 -1
  41. package/dist/lib/ai-terminal-renderer.d.ts +17 -0
  42. package/dist/lib/ai-terminal-renderer.js +83 -0
  43. package/dist/lib/ai-terminal-renderer.js.map +1 -0
  44. package/dist/lib/ai-types.d.ts +47 -0
  45. package/dist/lib/ai-types.js +68 -1
  46. package/dist/lib/ai-types.js.map +1 -1
  47. package/dist/lib/auth-config.js +1 -1
  48. package/dist/lib/auth-config.js.map +1 -1
  49. package/dist/lib/cli-update.d.ts +27 -0
  50. package/dist/lib/cli-update.js +65 -0
  51. package/dist/lib/cli-update.js.map +1 -0
  52. package/dist/lib/cli-version.d.ts +30 -0
  53. package/dist/lib/cli-version.js +142 -0
  54. package/dist/lib/cli-version.js.map +1 -0
  55. package/dist/lib/version-refresh.d.ts +1 -0
  56. package/dist/lib/version-refresh.js +8 -0
  57. package/dist/lib/version-refresh.js.map +1 -0
  58. package/dist/lib/version-warning.d.ts +27 -0
  59. package/dist/lib/version-warning.js +51 -0
  60. package/dist/lib/version-warning.js.map +1 -0
  61. package/oclif.manifest.json +655 -1
  62. package/package.json +19 -3
@@ -1,6 +1,7 @@
1
1
  import { Flags } from '@oclif/core';
2
2
  import { AgentiaCommand } from '../../../lib/agentia-command.js';
3
3
  import { runAiAsk } from '../../../lib/ai-operations.js';
4
+ import { formatAiTerminalMessage, renderMarkdown, StreamingMarkdownRenderer, streamSupportsColor, } from '../../../lib/ai-terminal-renderer.js';
4
5
  import { AI_ASK_AGENTS } from '../../../lib/ai-types.js';
5
6
  export default class AiAgentAsk extends AgentiaCommand {
6
7
  static description = 'Send a single-turn prompt to a Copado AI agent';
@@ -88,27 +89,33 @@ export default class AiAgentAsk extends AgentiaCommand {
88
89
  workspace: flags.workspace,
89
90
  };
90
91
  const shouldStream = !this.jsonEnabled() && !flags['no-stream'];
92
+ const stdoutColors = streamSupportsColor(process.stdout);
93
+ const stderrColors = streamSupportsColor(process.stderr);
94
+ const renderer = shouldStream ? new StreamingMarkdownRenderer({ colors: stdoutColors }) : undefined;
91
95
  const result = await runAiAsk(options, {
92
- onStatus: shouldStream ? (status) => process.stderr.write(`${status}\n`) : undefined,
93
- onToken: shouldStream ? (token) => process.stdout.write(token) : undefined,
94
- onWarning: shouldStream ? (warning) => process.stderr.write(`${warning}\n`) : undefined,
96
+ onStatus: shouldStream ? (status) => process.stderr.write(`${formatAiTerminalMessage(status, 'status', { colors: stderrColors })}\n`) : undefined,
97
+ onToken: shouldStream ? (token) => renderer?.write(process.stdout, token) : undefined,
98
+ onWarning: shouldStream ? (warning) => process.stderr.write(`${formatAiTerminalMessage(warning, 'warning', { colors: stderrColors })}\n`) : undefined,
95
99
  });
96
100
  this.display(() => {
97
- if (shouldStream)
98
- this.log();
101
+ if (shouldStream && renderer?.wroteOutput() === true)
102
+ renderer.finish(process.stdout);
99
103
  if (!shouldStream)
100
- this.log(result.content);
104
+ this.log(renderMarkdown(result.content, { colors: stdoutColors }));
101
105
  for (const warning of result.warnings)
102
- this.warn(warning);
106
+ this.warn(formatAiTerminalMessage(warning, 'warning', { colors: stderrColors }));
103
107
  if (result.followups.length > 0) {
104
- this.log('Follow-ups:');
108
+ this.log(renderMarkdown('### Follow-ups', { colors: stdoutColors }));
105
109
  for (const followup of result.followups)
106
- this.log(`- ${followup.content}`);
110
+ this.log(renderMarkdown(`- ${followup.content}`, { colors: stdoutColors }));
107
111
  }
108
112
  if (result.links.length > 0) {
109
- this.log('Links:');
110
- for (const link of result.links)
111
- this.log(`- ${link.title ?? link.url ?? 'Related link'}${link.url === undefined ? '' : `: ${link.url}`}`);
113
+ this.log(renderMarkdown('### Links', { colors: stdoutColors }));
114
+ for (const link of result.links) {
115
+ const label = link.title ?? link.url ?? 'Related link';
116
+ const target = link.url === undefined ? label : `${label}: ${link.url}`;
117
+ this.log(renderMarkdown(`- ${target}`, { colors: stdoutColors }));
118
+ }
112
119
  }
113
120
  });
114
121
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../../src/commands/ai/agent/ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../../src/commands/ai/agent/ask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type AiOrganizationQuota } from '../../../lib/ai-types.js';
3
+ export default class AiQuotaGet extends AgentiaCommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<AiOrganizationQuota>;
14
+ }
@@ -0,0 +1,23 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { aiConnectionFlags, aiGatewayCallOptions } from '../../../lib/ai-flags.js';
3
+ import { AiGateway } from '../../../lib/ai-gateway.js';
4
+ export default class AiQuotaGet extends AgentiaCommand {
5
+ static description = 'Get Copado AI organization quota';
6
+ static examples = [
7
+ '<%= config.bin %> <%= command.id %>',
8
+ '<%= config.bin %> <%= command.id %> --domain robotic.copado.com --org 42888 --json',
9
+ ];
10
+ static flags = {
11
+ ...aiConnectionFlags,
12
+ };
13
+ async run() {
14
+ const { flags } = await this.parse(AiQuotaGet);
15
+ const quota = await this.withSpinner('Loading AI quota', () => AiGateway.getOrganizationQuota(aiGatewayCallOptions(flags)));
16
+ this.display(() => {
17
+ this.log(`AI quota usage: ${quota.usage}/${quota.limit}`);
18
+ this.log(`Remaining: ${Math.max(0, quota.limit - quota.usage)}`);
19
+ });
20
+ return quota;
21
+ }
22
+ }
23
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/ai/quota/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,cAAc;IACpD,MAAM,CAAU,WAAW,GAAG,kCAAkC,CAAA;IAChE,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,oFAAoF;KACrF,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,iBAAiB;KACrB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAC5D,SAAS,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;YACzD,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type AiWorkspace } from '../../../lib/ai-types.js';
3
+ export default class AiWorkspaceCreate extends AgentiaCommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ capability: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ };
16
+ run(): Promise<AiWorkspace>;
17
+ }
@@ -0,0 +1,41 @@
1
+ import { 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 } from '../../../lib/ai-types.js';
6
+ export default class AiWorkspaceCreate extends AgentiaCommand {
7
+ static description = 'Create a Copado AI workspace';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %> --name "Agentia CLI"',
10
+ '<%= config.bin %> <%= command.id %> --name "Agentia CLI" --description "CLI workspace" --capability Reasoning --capability CustomKnowledge',
11
+ ];
12
+ static flags = {
13
+ ...aiConnectionFlags,
14
+ capability: Flags.string({
15
+ description: 'Workspace capability. Can be provided multiple times.',
16
+ multiple: true,
17
+ options: [...AI_WORKSPACE_CAPABILITIES],
18
+ }),
19
+ description: Flags.string({
20
+ description: 'Workspace description.',
21
+ }),
22
+ name: Flags.string({
23
+ description: 'Workspace name.',
24
+ required: true,
25
+ }),
26
+ };
27
+ async run() {
28
+ const { flags } = await this.parse(AiWorkspaceCreate);
29
+ const workspace = await this.withSpinner('Creating AI workspace', () => AiGateway.createWorkspace({
30
+ capabilities: flags.capability,
31
+ description: flags.description,
32
+ name: flags.name,
33
+ }, aiGatewayCallOptions(flags)));
34
+ this.display(() => {
35
+ this.log(`Created AI workspace: ${workspace.name ?? flags.name}`);
36
+ this.log(`ID: ${workspace.id}`);
37
+ });
38
+ return workspace;
39
+ }
40
+ }
41
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/ai/workspace/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAC,yBAAyB,EAAqE,MAAM,0BAA0B,CAAA;AAEtI,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,cAAc;IAC3D,MAAM,CAAU,WAAW,GAAG,8BAA8B,CAAA;IAC5D,MAAM,CAAU,QAAQ,GAAG;QACzB,0DAA0D;QAC1D,4IAA4I;KAC7I,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,iBAAiB;QACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,yBAAyB,CAAC;SACxC,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,wBAAwB;SACtC,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,GAAG,EAAE,CACrE,SAAS,CAAC,eAAe,CACvB;YACE,YAAY,EAAE,KAAK,CAAC,UAAoD;YACxE,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,EACD,oBAAoB,CAAC,KAAK,CAAC,CAC5B,CACF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,yBAAyB,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACjE,IAAI,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type AiWorkspace } from '../../../lib/ai-types.js';
3
+ export default class AiWorkspaceGet 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
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ };
16
+ run(): Promise<AiWorkspace>;
17
+ }
@@ -0,0 +1,37 @@
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 AiWorkspaceGet extends AgentiaCommand {
6
+ static args = {
7
+ id: Args.string({
8
+ description: 'Copado AI workspace UUID.',
9
+ required: true,
10
+ }),
11
+ };
12
+ static description = 'Get 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(AiWorkspaceGet);
22
+ const workspace = await this.withSpinner('Loading AI workspace', () => AiGateway.getWorkspace(args.id, aiGatewayCallOptions(flags)));
23
+ this.display(() => {
24
+ this.log(`AI workspace: ${workspace.name ?? '(unnamed)'}`);
25
+ this.log(`ID: ${workspace.id}`);
26
+ if (typeof workspace.description === 'string' && workspace.description.length > 0) {
27
+ this.log(`Description: ${workspace.description}`);
28
+ }
29
+ if (Array.isArray(workspace.members))
30
+ this.log(`Members: ${workspace.members.length}`);
31
+ if (Array.isArray(workspace.datasets))
32
+ this.log(`Datasets: ${workspace.datasets.length}`);
33
+ });
34
+ return workspace;
35
+ }
36
+ }
37
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/ai/workspace/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,cAAc;IACxD,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IACD,MAAM,CAAU,WAAW,GAAG,2BAA2B,CAAA;IACzD,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,cAAc,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,EAAE,CACpE,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAC7D,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,iBAAiB,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;YAC1D,IAAI,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;YAC/B,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClF,IAAI,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;YACnD,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YACtF,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,aAAa,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3F,CAAC,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { type AiWorkspaceSummary } from '../../../lib/ai-types.js';
3
+ export default class AiWorkspaceList extends AgentiaCommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<{
14
+ workspaces: AiWorkspaceSummary[];
15
+ }>;
16
+ }
@@ -0,0 +1,28 @@
1
+ import { AgentiaCommand } from '../../../lib/agentia-command.js';
2
+ import { aiConnectionFlags, aiGatewayCallOptions } from '../../../lib/ai-flags.js';
3
+ import { AiGateway } from '../../../lib/ai-gateway.js';
4
+ export default class AiWorkspaceList extends AgentiaCommand {
5
+ static description = 'List Copado AI workspaces';
6
+ static examples = [
7
+ '<%= config.bin %> <%= command.id %>',
8
+ '<%= config.bin %> <%= command.id %> --domain robotic.copado.com --org 42888 --json',
9
+ ];
10
+ static flags = {
11
+ ...aiConnectionFlags,
12
+ };
13
+ async run() {
14
+ const { flags } = await this.parse(AiWorkspaceList);
15
+ const workspaces = await this.withSpinner('Loading AI workspaces', () => AiGateway.listWorkspaces(aiGatewayCallOptions(flags)));
16
+ this.display(() => {
17
+ if (workspaces.length === 0) {
18
+ this.log('No AI workspaces found.');
19
+ return;
20
+ }
21
+ for (const workspace of workspaces) {
22
+ this.log(`${workspace.id} ${workspace.name ?? '(unnamed)'}`);
23
+ }
24
+ });
25
+ return { workspaces };
26
+ }
27
+ }
28
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ai/workspace/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAA;AAGpD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IACzD,MAAM,CAAU,WAAW,GAAG,2BAA2B,CAAA;IACzD,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,oFAAoF;KACrF,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,iBAAiB;KACrB,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,GAAG,EAAE,CACtE,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CACtD,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;gBACnC,OAAM;YACR,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,EAAC,UAAU,EAAC,CAAA;IACrB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { AgentiaCommand } from '../../../../lib/agentia-command.js';
2
+ import { type AiWorkspaceMember } from '../../../../lib/ai-types.js';
3
+ export default class AiWorkspaceMemberInvite extends AgentiaCommand {
4
+ static args: {
5
+ workspace: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static examples: string[];
9
+ static flags: {
10
+ permission: import("@oclif/core/interfaces").OptionFlag<"Access" | "Manage", import("@oclif/core/interfaces").CustomOptions>;
11
+ 'user-id': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ };
18
+ run(): Promise<AiWorkspaceMember>;
19
+ }
@@ -0,0 +1,45 @@
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_MEMBER_PERMISSIONS } from '../../../../lib/ai-types.js';
6
+ export default class AiWorkspaceMemberInvite extends AgentiaCommand {
7
+ static args = {
8
+ workspace: Args.string({
9
+ description: 'Copado AI workspace UUID.',
10
+ required: true,
11
+ }),
12
+ };
13
+ static description = 'Invite a member to a Copado AI workspace';
14
+ static examples = [
15
+ '<%= config.bin %> <%= command.id %> 42d0b908-37b7-4565-9ec9-86eda40c9782 --user-id 12345 --permission Access',
16
+ '<%= config.bin %> <%= command.id %> 42d0b908-37b7-4565-9ec9-86eda40c9782 --user-id 12345 --permission Manage --json',
17
+ ];
18
+ static flags = {
19
+ ...aiConnectionFlags,
20
+ permission: Flags.option({
21
+ description: 'Workspace permission for the invited member.',
22
+ options: [...AI_WORKSPACE_MEMBER_PERMISSIONS],
23
+ required: true,
24
+ })(),
25
+ 'user-id': Flags.integer({
26
+ description: 'Copado AI user ID to invite.',
27
+ required: true,
28
+ }),
29
+ };
30
+ async run() {
31
+ const { args, flags } = await this.parse(AiWorkspaceMemberInvite);
32
+ const member = await this.withSpinner('Inviting AI workspace member', () => AiGateway.createWorkspaceMember(args.workspace, {
33
+ permission: flags.permission,
34
+ 'user_id': flags['user-id'],
35
+ }, aiGatewayCallOptions(flags)));
36
+ this.display(() => {
37
+ const { 'user_id': userId } = member;
38
+ this.log(`Invited AI workspace member: ${member.id}`);
39
+ this.log(`User ID: ${userId ?? flags['user-id']}`);
40
+ this.log(`Permission: ${member.permission ?? flags.permission}`);
41
+ });
42
+ return member;
43
+ }
44
+ }
45
+ //# sourceMappingURL=invite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite.js","sourceRoot":"","sources":["../../../../../src/commands/ai/workspace/member/invite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAEvC,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;AACvD,OAAO,EAAC,+BAA+B,EAAyB,MAAM,6BAA6B,CAAA;AAEnG,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,cAAc;IACjE,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,0CAA0C,CAAA;IACxE,MAAM,CAAU,QAAQ,GAAG;QACzB,8GAA8G;QAC9G,qHAAqH;KACtH,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,iBAAiB;QACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,CAAC,GAAG,+BAA+B,CAAC;YAC7C,QAAQ,EAAE,IAAI;SACf,CAAC,EAAE;QACJ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,EAAE,CACzE,SAAS,CAAC,qBAAqB,CAC7B,IAAI,CAAC,SAAS,EACd;YACE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;SAC5B,EACD,oBAAoB,CAAC,KAAK,CAAC,CAC5B,CACF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,MAAM,CAAA;YAClC,IAAI,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { AgentiaCommand } from '../../../../lib/agentia-command.js';
2
+ import { type AiWorkspaceMember } from '../../../../lib/ai-types.js';
3
+ export default class AiWorkspaceMemberList extends AgentiaCommand {
4
+ static args: {
5
+ workspace: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static description: string;
8
+ static examples: string[];
9
+ static flags: {
10
+ domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'gateway-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ org: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ pat: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ timeout: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ };
16
+ run(): Promise<{
17
+ members: AiWorkspaceMember[];
18
+ workspaceId: string;
19
+ }>;
20
+ }
@@ -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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"}
@@ -0,0 +1,10 @@
1
+ import { AgentiaCommand } from '../lib/agentia-command.js';
2
+ import { type CliUpdateResult } from '../lib/cli-update.js';
3
+ export default class Update extends AgentiaCommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<CliUpdateResult>;
10
+ }
@@ -0,0 +1,39 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { AgentiaCommand } from '../lib/agentia-command.js';
3
+ import { runCliUpdate } from '../lib/cli-update.js';
4
+ export default class Update extends AgentiaCommand {
5
+ static description = 'Update the globally installed Agentia CLI to the newest alpha release';
6
+ static examples = [
7
+ '<%= config.bin %> <%= command.id %>',
8
+ '<%= config.bin %> <%= command.id %> --check',
9
+ '<%= config.bin %> <%= command.id %> --check --json',
10
+ ];
11
+ static flags = {
12
+ check: Flags.boolean({
13
+ description: 'Check for an update without installing it',
14
+ }),
15
+ };
16
+ async run() {
17
+ const { flags } = await this.parse(Update);
18
+ const result = await this.withSpinner(flags.check ? 'Checking for Agentia CLI updates' : 'Updating Agentia CLI', () => runCliUpdate({
19
+ checkOnly: flags.check,
20
+ currentVersion: this.config.version,
21
+ }));
22
+ this.display(() => {
23
+ if (result.updated) {
24
+ this.log(`Updated Agentia CLI from ${result.currentVersion} to ${result.latestVersion}. Re-run \`agentia --version\` to verify the new installation.`);
25
+ }
26
+ else if (result.updateAvailable) {
27
+ this.log(`Agentia CLI ${result.latestVersion} is available (current: ${result.currentVersion}). Run \`agentia update\` to install it.`);
28
+ }
29
+ else if (result.versionState === 'ahead') {
30
+ this.log(`Installed Agentia CLI ${result.currentVersion} is newer than the ${result.channel} channel release ${result.latestVersion}.`);
31
+ }
32
+ else {
33
+ this.log(`Agentia CLI ${result.currentVersion} is already current on the ${result.channel} channel.`);
34
+ }
35
+ });
36
+ return result;
37
+ }
38
+ }
39
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAuB,YAAY,EAAC,MAAM,sBAAsB,CAAA;AAEvE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,cAAc;IAChD,MAAM,CAAU,WAAW,GAAG,uEAAuE,CAAA;IACrG,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,6CAA6C;QAC7C,oDAAoD;KACrD,CAAA;IACD,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,2CAA2C;SACzD,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,sBAAsB,EAAE,GAAG,EAAE,CACpH,YAAY,CAAC;YACX,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SACpC,CAAC,CACH,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CACN,4BAA4B,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,aAAa,gEAAgE,CAC7I,CAAA;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAClC,IAAI,CAAC,GAAG,CACN,eAAe,MAAM,CAAC,aAAa,2BAA2B,MAAM,CAAC,cAAc,0CAA0C,CAC9H,CAAA;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAG,CACN,yBAAyB,MAAM,CAAC,cAAc,sBAAsB,MAAM,CAAC,OAAO,oBAAoB,MAAM,CAAC,aAAa,GAAG,CAC9H,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,cAAc,8BAA8B,MAAM,CAAC,OAAO,WAAW,CAAC,CAAA;YACvG,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Hook } from '@oclif/core';
2
+ declare const hook: Hook<'init'>;
3
+ export default hook;
@@ -0,0 +1,19 @@
1
+ import { checkVersionWarning } from '../../lib/version-warning.js';
2
+ const hook = async function ({ config, id }) {
3
+ try {
4
+ const result = await checkVersionWarning({
5
+ cacheDir: config.cacheDir,
6
+ commandId: id,
7
+ currentVersion: config.version,
8
+ skip: config.scopedEnvVarTrue('SKIP_NEW_VERSION_CHECK'),
9
+ });
10
+ if (result.warning !== undefined) {
11
+ this.warn(result.warning);
12
+ }
13
+ }
14
+ catch {
15
+ // A best-effort version check must never block the requested command.
16
+ }
17
+ };
18
+ export default hook;
19
+ //# sourceMappingURL=version-warning.js.map