@agentuity/cli 0.1.15 → 0.1.16

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 (114) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +15 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cmd/ai/opencode/install.js +1 -1
  5. package/dist/cmd/ai/opencode/install.js.map +1 -1
  6. package/dist/cmd/cloud/env/delete.d.ts.map +1 -1
  7. package/dist/cmd/cloud/env/delete.js +87 -34
  8. package/dist/cmd/cloud/env/delete.js.map +1 -1
  9. package/dist/cmd/cloud/env/get.d.ts.map +1 -1
  10. package/dist/cmd/cloud/env/get.js +50 -16
  11. package/dist/cmd/cloud/env/get.js.map +1 -1
  12. package/dist/cmd/cloud/env/import.d.ts.map +1 -1
  13. package/dist/cmd/cloud/env/import.js +76 -32
  14. package/dist/cmd/cloud/env/import.js.map +1 -1
  15. package/dist/cmd/cloud/env/index.d.ts.map +1 -1
  16. package/dist/cmd/cloud/env/index.js +6 -2
  17. package/dist/cmd/cloud/env/index.js.map +1 -1
  18. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  19. package/dist/cmd/cloud/env/list.js +94 -23
  20. package/dist/cmd/cloud/env/list.js.map +1 -1
  21. package/dist/cmd/cloud/env/org-util.d.ts +16 -0
  22. package/dist/cmd/cloud/env/org-util.d.ts.map +1 -0
  23. package/dist/cmd/cloud/env/org-util.js +28 -0
  24. package/dist/cmd/cloud/env/org-util.js.map +1 -0
  25. package/dist/cmd/cloud/env/pull.d.ts.map +1 -1
  26. package/dist/cmd/cloud/env/pull.js +61 -29
  27. package/dist/cmd/cloud/env/pull.js.map +1 -1
  28. package/dist/cmd/cloud/env/push.d.ts.map +1 -1
  29. package/dist/cmd/cloud/env/push.js +69 -23
  30. package/dist/cmd/cloud/env/push.js.map +1 -1
  31. package/dist/cmd/cloud/env/set.d.ts.map +1 -1
  32. package/dist/cmd/cloud/env/set.js +69 -26
  33. package/dist/cmd/cloud/env/set.js.map +1 -1
  34. package/dist/cmd/cloud/keyvalue/create-namespace.js +1 -1
  35. package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -1
  36. package/dist/cmd/cloud/keyvalue/delete-namespace.js +2 -2
  37. package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -1
  38. package/dist/cmd/cloud/keyvalue/delete.js +1 -1
  39. package/dist/cmd/cloud/keyvalue/delete.js.map +1 -1
  40. package/dist/cmd/cloud/keyvalue/get.js +1 -1
  41. package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
  42. package/dist/cmd/cloud/keyvalue/index.js +1 -1
  43. package/dist/cmd/cloud/keyvalue/index.js.map +1 -1
  44. package/dist/cmd/cloud/keyvalue/keys.js +1 -1
  45. package/dist/cmd/cloud/keyvalue/keys.js.map +1 -1
  46. package/dist/cmd/cloud/keyvalue/list-namespaces.js +1 -1
  47. package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -1
  48. package/dist/cmd/cloud/keyvalue/repl.d.ts.map +1 -1
  49. package/dist/cmd/cloud/keyvalue/repl.js +8 -5
  50. package/dist/cmd/cloud/keyvalue/repl.js.map +1 -1
  51. package/dist/cmd/cloud/keyvalue/search.js +1 -1
  52. package/dist/cmd/cloud/keyvalue/search.js.map +1 -1
  53. package/dist/cmd/cloud/keyvalue/set.js +1 -1
  54. package/dist/cmd/cloud/keyvalue/set.js.map +1 -1
  55. package/dist/cmd/cloud/keyvalue/stats.js +1 -1
  56. package/dist/cmd/cloud/keyvalue/stats.js.map +1 -1
  57. package/dist/cmd/cloud/keyvalue/util.d.ts +4 -4
  58. package/dist/cmd/cloud/keyvalue/util.d.ts.map +1 -1
  59. package/dist/cmd/cloud/keyvalue/util.js +4 -9
  60. package/dist/cmd/cloud/keyvalue/util.js.map +1 -1
  61. package/dist/cmd/project/create.d.ts.map +1 -1
  62. package/dist/cmd/project/create.js +12 -0
  63. package/dist/cmd/project/create.js.map +1 -1
  64. package/dist/cmd/project/template-flow.d.ts +3 -0
  65. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  66. package/dist/cmd/project/template-flow.js +157 -68
  67. package/dist/cmd/project/template-flow.js.map +1 -1
  68. package/dist/cmd/setup/index.d.ts.map +1 -1
  69. package/dist/cmd/setup/index.js +2 -1
  70. package/dist/cmd/setup/index.js.map +1 -1
  71. package/dist/onboarding/agentPrompt.d.ts +8 -0
  72. package/dist/onboarding/agentPrompt.d.ts.map +1 -0
  73. package/dist/onboarding/agentPrompt.js +263 -0
  74. package/dist/onboarding/agentPrompt.js.map +1 -0
  75. package/dist/schema-generator.d.ts +1 -1
  76. package/dist/schema-generator.d.ts.map +1 -1
  77. package/dist/schema-parser.d.ts +1 -1
  78. package/dist/schema-parser.d.ts.map +1 -1
  79. package/dist/schema-parser.js +36 -1
  80. package/dist/schema-parser.js.map +1 -1
  81. package/dist/tui.d.ts.map +1 -1
  82. package/dist/tui.js +17 -7
  83. package/dist/tui.js.map +1 -1
  84. package/package.json +6 -6
  85. package/src/cli.ts +14 -1
  86. package/src/cmd/ai/opencode/install.ts +1 -1
  87. package/src/cmd/cloud/env/delete.ts +100 -41
  88. package/src/cmd/cloud/env/get.ts +53 -16
  89. package/src/cmd/cloud/env/import.ts +86 -37
  90. package/src/cmd/cloud/env/index.ts +6 -2
  91. package/src/cmd/cloud/env/list.ts +102 -27
  92. package/src/cmd/cloud/env/org-util.ts +37 -0
  93. package/src/cmd/cloud/env/pull.ts +67 -31
  94. package/src/cmd/cloud/env/push.ts +81 -28
  95. package/src/cmd/cloud/env/set.ts +82 -33
  96. package/src/cmd/cloud/keyvalue/create-namespace.ts +1 -1
  97. package/src/cmd/cloud/keyvalue/delete-namespace.ts +2 -2
  98. package/src/cmd/cloud/keyvalue/delete.ts +1 -1
  99. package/src/cmd/cloud/keyvalue/get.ts +1 -1
  100. package/src/cmd/cloud/keyvalue/index.ts +1 -1
  101. package/src/cmd/cloud/keyvalue/keys.ts +1 -1
  102. package/src/cmd/cloud/keyvalue/list-namespaces.ts +1 -1
  103. package/src/cmd/cloud/keyvalue/repl.ts +8 -5
  104. package/src/cmd/cloud/keyvalue/search.ts +1 -1
  105. package/src/cmd/cloud/keyvalue/set.ts +1 -1
  106. package/src/cmd/cloud/keyvalue/stats.ts +1 -1
  107. package/src/cmd/cloud/keyvalue/util.ts +8 -17
  108. package/src/cmd/project/create.ts +12 -0
  109. package/src/cmd/project/template-flow.ts +183 -69
  110. package/src/cmd/setup/index.ts +2 -1
  111. package/src/onboarding/agentPrompt.ts +263 -0
  112. package/src/schema-generator.ts +1 -1
  113. package/src/schema-parser.ts +42 -3
  114. package/src/tui.ts +19 -9
@@ -1,50 +1,82 @@
1
1
  import { z } from 'zod';
2
2
  import { createSubcommand } from '../../../types';
3
3
  import * as tui from '../../../tui';
4
- import { projectGet } from '@agentuity/server';
4
+ import { projectGet, orgEnvGet } from '@agentuity/server';
5
5
  import { getCommand } from '../../../command-prefix';
6
6
  import { ErrorCode } from '../../../errors';
7
+ import { resolveOrgId, isOrgScope } from './org-util';
7
8
  const EnvGetResponseSchema = z.object({
8
9
  key: z.string().describe('Environment variable key name'),
9
10
  value: z.string().describe('Environment variable value'),
10
11
  secret: z.boolean().describe('Whether the value is stored as a secret'),
12
+ scope: z.enum(['project', 'org']).describe('The scope where the variable was found'),
11
13
  });
12
14
  export const getSubcommand = createSubcommand({
13
15
  name: 'get',
14
16
  description: 'Get an environment variable or secret value',
15
- tags: ['read-only', 'fast', 'requires-auth', 'requires-project'],
17
+ tags: ['read-only', 'fast', 'requires-auth'],
16
18
  examples: [
17
19
  { command: getCommand('env get NODE_ENV'), description: 'Get environment variable' },
18
20
  { command: getCommand('env get API_KEY'), description: 'Get a secret value' },
19
21
  { command: getCommand('env get API_KEY --no-mask'), description: 'Show unmasked value' },
22
+ { command: getCommand('env get OPENAI_API_KEY --org'), description: 'Get org-level variable' },
20
23
  ],
21
- requires: { auth: true, project: true, apiClient: true },
24
+ requires: { auth: true, apiClient: true },
25
+ optional: { project: true },
22
26
  schema: {
23
27
  args: z.object({
24
28
  key: z.string().describe('the environment variable or secret key'),
25
29
  }),
26
30
  options: z.object({
27
31
  maskSecret: z.boolean().optional().describe('mask the secret value in output'),
32
+ org: z
33
+ .union([z.boolean(), z.string()])
34
+ .optional()
35
+ .describe('get from organization level (use --org for default org, or --org <orgId> for specific org)'),
28
36
  }),
29
37
  response: EnvGetResponseSchema,
30
38
  },
31
39
  idempotent: true,
32
40
  async handler(ctx) {
33
- const { args, opts, apiClient, project, options } = ctx;
34
- // Fetch project with unmasked values
35
- const projectData = await tui.spinner('Fetching variable', () => {
36
- return projectGet(apiClient, { id: project.projectId, mask: false });
37
- });
38
- // Look for the key in both env and secrets
41
+ const { args, opts, apiClient, project, options, config } = ctx;
42
+ const useOrgScope = isOrgScope(opts?.org);
43
+ // Require project context if not using org scope
44
+ if (!useOrgScope && !project) {
45
+ tui.fatal('Project context required. Run from a project directory or use --org for organization scope.');
46
+ }
39
47
  let value;
40
48
  let isSecret = false;
41
- if (projectData.secrets?.[args.key] !== undefined) {
42
- value = projectData.secrets[args.key];
43
- isSecret = true;
49
+ let scope;
50
+ if (useOrgScope) {
51
+ // Organization scope
52
+ const orgId = await resolveOrgId(apiClient, config, opts.org);
53
+ const orgData = await tui.spinner('Fetching organization variable', () => {
54
+ return orgEnvGet(apiClient, { id: orgId, mask: false });
55
+ });
56
+ if (orgData.secrets?.[args.key] !== undefined) {
57
+ value = orgData.secrets[args.key];
58
+ isSecret = true;
59
+ }
60
+ else if (orgData.env?.[args.key] !== undefined) {
61
+ value = orgData.env[args.key];
62
+ isSecret = false;
63
+ }
64
+ scope = 'org';
44
65
  }
45
- else if (projectData.env?.[args.key] !== undefined) {
46
- value = projectData.env[args.key];
47
- isSecret = false;
66
+ else {
67
+ // Project scope
68
+ const projectData = await tui.spinner('Fetching variable', () => {
69
+ return projectGet(apiClient, { id: project.projectId, mask: false });
70
+ });
71
+ if (projectData.secrets?.[args.key] !== undefined) {
72
+ value = projectData.secrets[args.key];
73
+ isSecret = true;
74
+ }
75
+ else if (projectData.env?.[args.key] !== undefined) {
76
+ value = projectData.env[args.key];
77
+ isSecret = false;
78
+ }
79
+ scope = 'project';
48
80
  }
49
81
  if (value === undefined) {
50
82
  tui.fatal(`Variable '${args.key}' not found`, ErrorCode.RESOURCE_NOT_FOUND);
@@ -54,12 +86,14 @@ export const getSubcommand = createSubcommand({
54
86
  if (!options.json) {
55
87
  const displayValue = shouldMask ? tui.maskSecret(value) : value;
56
88
  const typeLabel = isSecret ? ' (secret)' : '';
57
- tui.success(`${args.key}=${displayValue}${typeLabel}`);
89
+ const scopeLabel = useOrgScope ? ' [org]' : '';
90
+ tui.success(`${args.key}=${displayValue}${typeLabel}${scopeLabel}`);
58
91
  }
59
92
  return {
60
93
  key: args.key,
61
94
  value,
62
95
  secret: isSecret,
96
+ scope,
63
97
  };
64
98
  },
65
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/get.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/import.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,gBAAgB,yCAoH3B,CAAC"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/import.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,gBAAgB,yCAmK3B,CAAC"}
@@ -1,17 +1,19 @@
1
1
  import { z } from 'zod';
2
2
  import { createSubcommand } from '../../../types';
3
3
  import * as tui from '../../../tui';
4
- import { projectEnvUpdate } from '@agentuity/server';
4
+ import { projectEnvUpdate, orgEnvUpdate } from '@agentuity/server';
5
5
  import { findExistingEnvFile, readEnvFile, writeEnvFile, filterAgentuitySdkKeys, mergeEnvVars, splitEnvAndSecrets, validateNoPublicSecrets, isReservedAgentuityKey, } from '../../../env-util';
6
6
  import { getCommand } from '../../../command-prefix';
7
+ import { resolveOrgId, isOrgScope } from './org-util';
7
8
  const EnvImportResponseSchema = z.object({
8
9
  success: z.boolean().describe('Whether import succeeded'),
9
10
  imported: z.number().describe('Number of items imported'),
10
11
  envCount: z.number().describe('Number of env vars imported'),
11
12
  secretCount: z.number().describe('Number of secrets imported'),
12
13
  skipped: z.number().describe('Number of items skipped'),
13
- path: z.string().describe('Local file path where variables were saved'),
14
+ path: z.string().optional().describe('Local file path where variables were saved (project scope only)'),
14
15
  file: z.string().describe('Source file path'),
16
+ scope: z.enum(['project', 'org']).describe('The scope where variables were imported'),
15
17
  });
16
18
  export const importSubcommand = createSubcommand({
17
19
  name: 'import',
@@ -22,7 +24,6 @@ export const importSubcommand = createSubcommand({
22
24
  'slow',
23
25
  'api-intensive',
24
26
  'requires-auth',
25
- 'requires-project',
26
27
  ],
27
28
  examples: [
28
29
  {
@@ -33,17 +34,33 @@ export const importSubcommand = createSubcommand({
33
34
  command: getCommand('cloud env import .env.local'),
34
35
  description: 'Import from .env.local file',
35
36
  },
37
+ {
38
+ command: getCommand('cloud env import .env.shared --org'),
39
+ description: 'Import to organization level',
40
+ },
36
41
  ],
37
42
  idempotent: false,
38
- requires: { auth: true, project: true, apiClient: true },
43
+ requires: { auth: true, apiClient: true },
44
+ optional: { project: true },
39
45
  schema: {
40
46
  args: z.object({
41
47
  file: z.string().describe('path to the .env file to import'),
42
48
  }),
49
+ options: z.object({
50
+ org: z
51
+ .union([z.boolean(), z.string()])
52
+ .optional()
53
+ .describe('import to organization level (use --org for default org)'),
54
+ }),
43
55
  response: EnvImportResponseSchema,
44
56
  },
45
57
  async handler(ctx) {
46
- const { args, apiClient, project, projectDir } = ctx;
58
+ const { args, apiClient, project, projectDir, config, opts } = ctx;
59
+ const useOrgScope = isOrgScope(opts?.org);
60
+ // Require project context if not using org scope
61
+ if (!useOrgScope && !project) {
62
+ tui.fatal('Project context required. Run from a project directory or use --org for organization scope.');
63
+ }
47
64
  // Read the import file
48
65
  const importedVars = await readEnvFile(args.file);
49
66
  if (Object.keys(importedVars).length === 0) {
@@ -54,8 +71,8 @@ export const importSubcommand = createSubcommand({
54
71
  envCount: 0,
55
72
  secretCount: 0,
56
73
  skipped: 0,
57
- path: '',
58
74
  file: args.file,
75
+ scope: useOrgScope ? 'org' : 'project',
59
76
  };
60
77
  }
61
78
  // Filter out reserved AGENTUITY_ prefixed keys
@@ -68,8 +85,8 @@ export const importSubcommand = createSubcommand({
68
85
  envCount: 0,
69
86
  secretCount: 0,
70
87
  skipped: Object.keys(importedVars).length,
71
- path: '',
72
88
  file: args.file,
89
+ scope: useOrgScope ? 'org' : 'project',
73
90
  };
74
91
  }
75
92
  // Split into env and secrets based on key naming conventions
@@ -83,34 +100,61 @@ export const importSubcommand = createSubcommand({
83
100
  env[key] = filteredVars[key];
84
101
  }
85
102
  }
86
- // Push to cloud
87
- await tui.spinner('Importing variables to cloud', () => {
88
- return projectEnvUpdate(apiClient, {
89
- id: project.projectId,
90
- env,
91
- secrets,
92
- });
93
- });
94
- // Merge with local .env file
95
- const localEnvPath = await findExistingEnvFile(projectDir);
96
- const localEnv = await readEnvFile(localEnvPath);
97
- const mergedEnv = mergeEnvVars(localEnv, filteredVars);
98
- await writeEnvFile(localEnvPath, mergedEnv, {
99
- skipKeys: Object.keys(mergedEnv).filter(isReservedAgentuityKey),
100
- });
101
103
  const envCount = Object.keys(env).length;
102
104
  const secretCount = Object.keys(secrets).length;
103
105
  const totalCount = envCount + secretCount;
104
- tui.success(`Imported ${totalCount} variable${totalCount !== 1 ? 's' : ''} from ${args.file} (${envCount} env, ${secretCount} secret${secretCount !== 1 ? 's' : ''})`);
105
- return {
106
- success: true,
107
- imported: totalCount,
108
- envCount,
109
- secretCount,
110
- skipped: Object.keys(importedVars).length - totalCount,
111
- path: localEnvPath,
112
- file: args.file,
113
- };
106
+ if (useOrgScope) {
107
+ // Organization scope
108
+ const orgId = await resolveOrgId(apiClient, config, opts.org);
109
+ await tui.spinner('Importing variables to organization', () => {
110
+ return orgEnvUpdate(apiClient, {
111
+ id: orgId,
112
+ env,
113
+ secrets,
114
+ });
115
+ });
116
+ tui.success(`Imported ${totalCount} variable${totalCount !== 1 ? 's' : ''} to organization from ${args.file} (${envCount} env, ${secretCount} secret${secretCount !== 1 ? 's' : ''})`);
117
+ return {
118
+ success: true,
119
+ imported: totalCount,
120
+ envCount,
121
+ secretCount,
122
+ skipped: Object.keys(importedVars).length - totalCount,
123
+ file: args.file,
124
+ scope: 'org',
125
+ };
126
+ }
127
+ else {
128
+ // Project scope (existing behavior)
129
+ await tui.spinner('Importing variables to cloud', () => {
130
+ return projectEnvUpdate(apiClient, {
131
+ id: project.projectId,
132
+ env,
133
+ secrets,
134
+ });
135
+ });
136
+ // Merge with local .env file only if we have a project directory
137
+ let localEnvPath;
138
+ if (projectDir) {
139
+ localEnvPath = await findExistingEnvFile(projectDir);
140
+ const localEnv = await readEnvFile(localEnvPath);
141
+ const mergedEnv = mergeEnvVars(localEnv, filteredVars);
142
+ await writeEnvFile(localEnvPath, mergedEnv, {
143
+ skipKeys: Object.keys(mergedEnv).filter(isReservedAgentuityKey),
144
+ });
145
+ }
146
+ tui.success(`Imported ${totalCount} variable${totalCount !== 1 ? 's' : ''} from ${args.file} (${envCount} env, ${secretCount} secret${secretCount !== 1 ? 's' : ''})`);
147
+ return {
148
+ success: true,
149
+ imported: totalCount,
150
+ envCount,
151
+ secretCount,
152
+ skipped: Object.keys(importedVars).length - totalCount,
153
+ path: localEnvPath,
154
+ file: args.file,
155
+ scope: 'project',
156
+ };
157
+ }
114
158
  },
115
159
  });
116
160
  //# sourceMappingURL=import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACN,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;IAChD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,8EAA8E;IAC3F,IAAI,EAAE;QACL,UAAU;QACV,kBAAkB;QAClB,MAAM;QACN,eAAe;QACf,eAAe;QACf,kBAAkB;KAClB;IACD,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,8BAA8B,CAAC;YACnD,WAAW,EAAE,mCAAmC;SAChD;QACD;YACC,OAAO,EAAE,UAAU,CAAC,6BAA6B,CAAC;YAClD,WAAW,EAAE,6BAA6B;SAC1C;KACD;IACD,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;IACxD,MAAM,EAAE;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;SAC5D,CAAC;QACF,QAAQ,EAAE,uBAAuB;KACjC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAErD,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,MAAM,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC;YACpF,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM;gBACzC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE1D,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CACV,mCAAmC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CACpG,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBACpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAED,gBAAgB;QAChB,MAAM,GAAG,CAAC,OAAO,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtD,OAAO,gBAAgB,CAAC,SAAS,EAAE;gBAClC,EAAE,EAAE,OAAO,CAAC,SAAS;gBACrB,GAAG;gBACH,OAAO;aACP,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEvD,MAAM,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAChD,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;QAE1C,GAAG,CAAC,OAAO,CACV,YAAY,UAAU,YAAY,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,KAAK,QAAQ,SAAS,WAAW,UAAU,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CACzJ,CAAC;QAEF,OAAO;YACN,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,UAAU;YACpB,QAAQ;YACR,WAAW;YACX,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,UAAU;YACtD,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;IACH,CAAC;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/import.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,OAAO,sCAwBlB,CAAC;AACH,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,OAAO,sCA4BlB,CAAC;AACH,eAAe,OAAO,CAAC"}
@@ -9,8 +9,8 @@ import { listSubcommand } from './list';
9
9
  import { getCommand } from '../../../command-prefix';
10
10
  export const command = createCommand({
11
11
  name: 'env',
12
- description: 'Manage environment variables and secrets for your project',
13
- tags: ['fast', 'requires-auth', 'requires-project'],
12
+ description: 'Manage environment variables and secrets for your project or organization',
13
+ tags: ['fast', 'requires-auth'],
14
14
  examples: [
15
15
  { command: getCommand('cloud env list'), description: 'List all variables and secrets' },
16
16
  {
@@ -21,6 +21,10 @@ export const command = createCommand({
21
21
  command: getCommand('cloud env set API_KEY "sk_..." --secret'),
22
22
  description: 'Set a secret',
23
23
  },
24
+ {
25
+ command: getCommand('cloud env set OPENAI_API_KEY "sk_..." --secret --org'),
26
+ description: 'Set an organization-wide secret',
27
+ },
24
28
  ],
25
29
  subcommands: [
26
30
  listSubcommand,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,2DAA2D;IACxE,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,kBAAkB,CAAC;IACnD,QAAQ,EAAE;QACT,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE;QACxF;YACC,OAAO,EAAE,UAAU,CAAC,mCAAmC,CAAC;YACxD,WAAW,EAAE,0BAA0B;SACvC;QACD;YACC,OAAO,EAAE,UAAU,CAAC,yCAAyC,CAAC;YAC9D,WAAW,EAAE,cAAc;SAC3B;KACD;IACD,WAAW,EAAE;QACZ,cAAc;QACd,cAAc;QACd,cAAc;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,gBAAgB;KAChB;CACD,CAAC,CAAC;AACH,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,2EAA2E;IACxF,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE;QACT,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE;QACxF;YACC,OAAO,EAAE,UAAU,CAAC,mCAAmC,CAAC;YACxD,WAAW,EAAE,0BAA0B;SACvC;QACD;YACC,OAAO,EAAE,UAAU,CAAC,yCAAyC,CAAC;YAC9D,WAAW,EAAE,cAAc;SAC3B;QACD;YACC,OAAO,EAAE,UAAU,CAAC,sDAAsD,CAAC;YAC3E,WAAW,EAAE,iCAAiC;SAC9C;KACD;IACD,WAAW,EAAE;QACZ,cAAc;QACd,cAAc;QACd,cAAc;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,gBAAgB;KAChB;CACD,CAAC,CAAC;AACH,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/list.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc,yCAsFzB,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/list.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,cAAc,yCA+JzB,CAAC"}
@@ -1,25 +1,29 @@
1
1
  import { z } from 'zod';
2
2
  import { createSubcommand } from '../../../types';
3
3
  import * as tui from '../../../tui';
4
- import { projectGet } from '@agentuity/server';
4
+ import { projectGet, orgEnvGet } from '@agentuity/server';
5
5
  import { getCommand } from '../../../command-prefix';
6
+ import { resolveOrgId, isOrgScope } from './org-util';
6
7
  const EnvItemSchema = z.object({
7
8
  value: z.string().describe('Variable value'),
8
9
  secret: z.boolean().describe('Whether this is a secret'),
10
+ scope: z.enum(['project', 'org']).describe('The scope of the variable'),
9
11
  });
10
12
  const EnvListResponseSchema = z.record(z.string(), EnvItemSchema);
11
13
  export const listSubcommand = createSubcommand({
12
14
  name: 'list',
13
15
  aliases: ['ls'],
14
16
  description: 'List all environment variables and secrets',
15
- tags: ['read-only', 'fast', 'requires-auth', 'requires-project'],
17
+ tags: ['read-only', 'fast', 'requires-auth'],
16
18
  examples: [
17
- { command: getCommand('env list'), description: 'List all variables' },
19
+ { command: getCommand('env list'), description: 'List all variables (project + org merged)' },
18
20
  { command: getCommand('env list --no-mask'), description: 'Show unmasked values' },
19
21
  { command: getCommand('env list --secrets'), description: 'List only secrets' },
20
22
  { command: getCommand('env list --env-only'), description: 'List only env vars' },
23
+ { command: getCommand('env list --org'), description: 'List only organization-level variables' },
21
24
  ],
22
- requires: { auth: true, project: true, apiClient: true },
25
+ requires: { auth: true, apiClient: true },
26
+ optional: { project: true },
23
27
  idempotent: true,
24
28
  schema: {
25
29
  options: z.object({
@@ -29,33 +33,94 @@ export const listSubcommand = createSubcommand({
29
33
  .describe('mask secret values in output (use --no-mask to show values)'),
30
34
  secrets: z.boolean().default(false).describe('list only secrets'),
31
35
  'env-only': z.boolean().default(false).describe('list only environment variables'),
36
+ org: z
37
+ .union([z.boolean(), z.string()])
38
+ .optional()
39
+ .describe('list organization-level variables only (use --org for default org)'),
32
40
  }),
33
41
  response: EnvListResponseSchema,
34
42
  },
35
- webUrl: (ctx) => `/projects/${encodeURIComponent(ctx.project.projectId)}/settings`,
43
+ webUrl: (ctx) => {
44
+ // If --org flag is used, link to org settings; otherwise link to project settings
45
+ if (ctx.opts?.org) {
46
+ return `/settings/organization/env`;
47
+ }
48
+ return ctx.project ? `/projects/${encodeURIComponent(ctx.project.projectId)}/settings` : undefined;
49
+ },
36
50
  async handler(ctx) {
37
- const { opts, apiClient, project, options } = ctx;
38
- // Fetch project with unmasked values
39
- const projectData = await tui.spinner('Fetching variables', () => {
40
- return projectGet(apiClient, { id: project.projectId, mask: false });
41
- });
42
- const env = projectData.env || {};
43
- const secrets = projectData.secrets || {};
44
- // Build combined result with type info
51
+ const { opts, apiClient, project, options, config } = ctx;
52
+ const useOrgScope = isOrgScope(opts?.org);
53
+ // Build combined result with type info and scope
45
54
  const result = {};
46
55
  // Filter based on options
47
56
  const showEnv = !opts?.secrets;
48
57
  const showSecrets = !opts?.['env-only'];
49
- if (showEnv) {
50
- for (const [key, value] of Object.entries(env)) {
51
- result[key] = { value, secret: false };
58
+ if (useOrgScope) {
59
+ // Organization scope only
60
+ const orgId = await resolveOrgId(apiClient, config, opts.org);
61
+ const orgData = await tui.spinner('Fetching organization variables', () => {
62
+ return orgEnvGet(apiClient, { id: orgId, mask: false });
63
+ });
64
+ const orgEnv = orgData.env || {};
65
+ const orgSecrets = orgData.secrets || {};
66
+ if (showEnv) {
67
+ for (const [key, value] of Object.entries(orgEnv)) {
68
+ result[key] = { value, secret: false, scope: 'org' };
69
+ }
70
+ }
71
+ if (showSecrets) {
72
+ for (const [key, value] of Object.entries(orgSecrets)) {
73
+ result[key] = { value, secret: true, scope: 'org' };
74
+ }
52
75
  }
53
76
  }
54
- if (showSecrets) {
55
- for (const [key, value] of Object.entries(secrets)) {
56
- result[key] = { value, secret: true };
77
+ else if (project) {
78
+ // Project context: show merged view (org + project, project takes precedence)
79
+ // First, get project's org ID and fetch org env
80
+ const projectData = await tui.spinner('Fetching variables', () => {
81
+ return projectGet(apiClient, { id: project.projectId, mask: false });
82
+ });
83
+ const projectEnv = projectData.env || {};
84
+ const projectSecrets = projectData.secrets || {};
85
+ // Try to get org-level env (may fail if no access, that's ok)
86
+ let orgEnv = {};
87
+ let orgSecrets = {};
88
+ if (projectData.orgId) {
89
+ try {
90
+ const orgData = await orgEnvGet(apiClient, { id: projectData.orgId, mask: false });
91
+ orgEnv = orgData.env || {};
92
+ orgSecrets = orgData.secrets || {};
93
+ }
94
+ catch {
95
+ // Ignore errors - user may not have org env access
96
+ }
97
+ }
98
+ // Add org-level first (will be overridden by project-level)
99
+ if (showEnv) {
100
+ for (const [key, value] of Object.entries(orgEnv)) {
101
+ result[key] = { value, secret: false, scope: 'org' };
102
+ }
103
+ }
104
+ if (showSecrets) {
105
+ for (const [key, value] of Object.entries(orgSecrets)) {
106
+ result[key] = { value, secret: true, scope: 'org' };
107
+ }
108
+ }
109
+ // Add project-level (overrides org-level)
110
+ if (showEnv) {
111
+ for (const [key, value] of Object.entries(projectEnv)) {
112
+ result[key] = { value, secret: false, scope: 'project' };
113
+ }
114
+ }
115
+ if (showSecrets) {
116
+ for (const [key, value] of Object.entries(projectSecrets)) {
117
+ result[key] = { value, secret: true, scope: 'project' };
118
+ }
57
119
  }
58
120
  }
121
+ else {
122
+ tui.fatal('Project context required. Run from a project directory or use --org for organization scope.');
123
+ }
59
124
  // Skip TUI output in JSON mode
60
125
  if (!options.json) {
61
126
  if (Object.keys(result).length === 0) {
@@ -63,22 +128,28 @@ export const listSubcommand = createSubcommand({
63
128
  }
64
129
  else {
65
130
  tui.newline();
66
- const envCount = showEnv ? Object.keys(env).length : 0;
67
- const secretCount = showSecrets ? Object.keys(secrets).length : 0;
131
+ const projectCount = Object.values(result).filter(v => v.scope === 'project').length;
132
+ const orgCount = Object.values(result).filter(v => v.scope === 'org').length;
133
+ const secretCount = Object.values(result).filter(v => v.secret).length;
134
+ const envCount = Object.values(result).filter(v => !v.secret).length;
68
135
  const parts = [];
69
136
  if (envCount > 0)
70
137
  parts.push(`${envCount} env`);
71
138
  if (secretCount > 0)
72
139
  parts.push(`${secretCount} secret${secretCount !== 1 ? 's' : ''}`);
140
+ if (!useOrgScope && projectCount > 0 && orgCount > 0) {
141
+ parts.push(`${projectCount} project, ${orgCount} org`);
142
+ }
73
143
  tui.info(`Variables (${parts.join(', ')}):`);
74
144
  tui.newline();
75
145
  const sortedKeys = Object.keys(result).sort();
76
146
  const shouldMask = opts?.mask !== false;
77
147
  for (const key of sortedKeys) {
78
- const { value, secret } = result[key];
148
+ const { value, secret, scope } = result[key];
79
149
  const displayValue = shouldMask && secret ? tui.maskSecret(value) : value;
80
150
  const typeIndicator = secret ? ' [secret]' : '';
81
- console.log(`${tui.bold(key)}=${displayValue}${tui.muted(typeIndicator)}`);
151
+ const scopeIndicator = !useOrgScope ? ` [${scope}]` : '';
152
+ console.log(`${tui.bold(key)}=${displayValue}${tui.muted(typeIndicator + scopeIndicator)}`);
82
153
  }
83
154
  }
84
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { APIClient } from '../../../api';
2
+ import type { Config } from '../../../types';
3
+ /**
4
+ * Resolves the organization ID for org-scoped env operations.
5
+ *
6
+ * @param apiClient - The API client
7
+ * @param config - The CLI config (may be null)
8
+ * @param orgOption - The --org option value (true for default/prompt, or explicit org ID)
9
+ * @returns The resolved organization ID
10
+ */
11
+ export declare function resolveOrgId(apiClient: APIClient, config: Config | null, orgOption: boolean | string): Promise<string>;
12
+ /**
13
+ * Checks if we're operating in org scope based on the --org option.
14
+ */
15
+ export declare function isOrgScope(orgOption: boolean | string | undefined): boolean;
16
+ //# sourceMappingURL=org-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-util.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/env/org-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C;;;;;;;GAOG;AACH,wBAAsB,YAAY,CACjC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,OAAO,GAAG,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3E"}