aui-agent-builder 0.4.32 → 0.4.33

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 (47) hide show
  1. package/dist/api-client/apollo-client.d.ts +55 -0
  2. package/dist/api-client/apollo-client.d.ts.map +1 -1
  3. package/dist/api-client/apollo-client.js +45 -2
  4. package/dist/api-client/apollo-client.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +46 -0
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/push.js +49 -0
  9. package/dist/commands/push.js.map +1 -1
  10. package/dist/commands/vault.d.ts +25 -0
  11. package/dist/commands/vault.d.ts.map +1 -0
  12. package/dist/commands/vault.js +220 -0
  13. package/dist/commands/vault.js.map +1 -0
  14. package/dist/index.js +85 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/services/integration.service.d.ts +1 -1
  17. package/dist/services/integration.service.d.ts.map +1 -1
  18. package/dist/services/integration.service.js +4 -2
  19. package/dist/services/integration.service.js.map +1 -1
  20. package/dist/services/kb-identity.d.ts +54 -0
  21. package/dist/services/kb-identity.d.ts.map +1 -0
  22. package/dist/services/kb-identity.js +152 -0
  23. package/dist/services/kb-identity.js.map +1 -0
  24. package/dist/services/kb-view.service.d.ts.map +1 -1
  25. package/dist/services/kb-view.service.js +14 -3
  26. package/dist/services/kb-view.service.js.map +1 -1
  27. package/dist/services/vault.service.d.ts +58 -0
  28. package/dist/services/vault.service.d.ts.map +1 -0
  29. package/dist/services/vault.service.js +143 -0
  30. package/dist/services/vault.service.js.map +1 -0
  31. package/dist/types/index.d.ts +1 -0
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/types/index.js +1 -0
  34. package/dist/types/index.js.map +1 -1
  35. package/dist/types/vault.d.ts +31 -0
  36. package/dist/types/vault.d.ts.map +1 -0
  37. package/dist/types/vault.js +10 -0
  38. package/dist/types/vault.js.map +1 -0
  39. package/dist/ui/views/VaultView.d.ts +19 -0
  40. package/dist/ui/views/VaultView.d.ts.map +1 -0
  41. package/dist/ui/views/VaultView.js +35 -0
  42. package/dist/ui/views/VaultView.js.map +1 -0
  43. package/dist/utils/json-output.d.ts +11 -0
  44. package/dist/utils/json-output.d.ts.map +1 -1
  45. package/dist/utils/json-output.js +19 -1
  46. package/dist/utils/json-output.js.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,152 @@
1
+ /**
2
+ * RAG knowledge-base rename guard.
3
+ *
4
+ * A RAG KB is identified by its name: AS provisions it under
5
+ * to_screaming_snake_case(integration name) and KBM resolves it by that name at
6
+ * runtime. Renaming a provisioned integration between pushes forks that identity
7
+ * — a new empty KB is provisioned (or the old one deleted) while the content
8
+ * stays in the original — so runtime RAG silently returns nothing. The guard
9
+ * anchors on the stable knowledge_base_id the CLI writes into kb.json: if its
10
+ * server KB no longer resolves from the local name, the name was changed.
11
+ */
12
+ import fs from "fs";
13
+ import path from "path";
14
+ /** Mirror agent-settings-transcoder `to_screaming_snake_case` — keep in sync. */
15
+ function toScreamingSnake(name) {
16
+ if (!name)
17
+ return "";
18
+ let code = name.replace(/-/g, "_").replace(/ /g, "_").toUpperCase();
19
+ code = code.replace(/^[_| ]+/, "");
20
+ code = code.replace(/[^A-Z0-9_]+/g, "");
21
+ code = code.replace(/_+/g, "_");
22
+ return code;
23
+ }
24
+ /** Mirror knowledge-base-manager `name_to_kebab` (the runtime KB-name lookup key). */
25
+ function nameToKebab(name) {
26
+ return name
27
+ .trim()
28
+ .replace(/[\s\-_]+/g, "-")
29
+ .replace(/^-+|-+$/g, "")
30
+ .toLowerCase();
31
+ }
32
+ /**
33
+ * The key a name resolves a KB to at runtime — provisioning's
34
+ * to_screaming_snake_case composed with KBM's name_to_kebab. Two names share a
35
+ * key IFF they resolve to the same KB, so separator / case / punctuation
36
+ * differences never produce a false-positive rename.
37
+ */
38
+ export function kbResolutionKey(name) {
39
+ return nameToKebab(toScreamingSnake(name));
40
+ }
41
+ /**
42
+ * Flag each provisioned local KB whose name no longer resolves to the server KB
43
+ * its id points at. Skips unprovisioned bindings (no id — first push) and ids
44
+ * absent from the server (deleted/foreign — nothing to orphan).
45
+ */
46
+ export function detectKbRenames(bindings, serverKbNameById) {
47
+ const violations = [];
48
+ for (const b of bindings) {
49
+ if (!b.knowledgeBaseId)
50
+ continue;
51
+ const serverName = serverKbNameById.get(b.knowledgeBaseId);
52
+ if (!serverName)
53
+ continue;
54
+ const bound = kbResolutionKey(serverName);
55
+ // kb.json name drives content upload; integration name drives provisioning
56
+ // + runtime resolution — either renamed away from the bound KB forks it.
57
+ if (kbResolutionKey(b.kbJsonName) !== bound) {
58
+ violations.push({
59
+ dir: b.dir,
60
+ knowledgeBaseId: b.knowledgeBaseId,
61
+ boundName: serverName,
62
+ localName: b.kbJsonName,
63
+ source: "kb.json name",
64
+ });
65
+ }
66
+ if (b.integrationName !== undefined &&
67
+ kbResolutionKey(b.integrationName) !== bound) {
68
+ violations.push({
69
+ dir: b.dir,
70
+ knowledgeBaseId: b.knowledgeBaseId,
71
+ boundName: serverName,
72
+ localName: b.integrationName,
73
+ source: "integration name",
74
+ });
75
+ }
76
+ }
77
+ return violations;
78
+ }
79
+ /**
80
+ * Scan `knowledge-hubs/<dir>/kb.json` and `integrations.aui.json` (RAG
81
+ * entries) into the bindings the guard checks. Folder name == integration
82
+ * `code`. Returns [] when there are no knowledge-hub folders.
83
+ */
84
+ export function loadKbBindings(projectRoot) {
85
+ const hubsRoot = path.join(projectRoot, "knowledge-hubs");
86
+ if (!fs.existsSync(hubsRoot))
87
+ return [];
88
+ const ragNameByCode = readRagIntegrationNames(projectRoot);
89
+ const bindings = [];
90
+ for (const dir of fs.readdirSync(hubsRoot)) {
91
+ const kbJsonPath = path.join(hubsRoot, dir, "kb.json");
92
+ if (!fs.existsSync(kbJsonPath))
93
+ continue;
94
+ let raw;
95
+ try {
96
+ raw = JSON.parse(fs.readFileSync(kbJsonPath, "utf-8"));
97
+ }
98
+ catch {
99
+ continue; // unreadable kb.json — readKbFolder surfaces this elsewhere
100
+ }
101
+ if (!raw.name)
102
+ continue;
103
+ bindings.push({
104
+ dir,
105
+ kbJsonName: raw.name,
106
+ knowledgeBaseId: raw.knowledge_base_id,
107
+ integrationName: ragNameByCode.get(dir),
108
+ });
109
+ }
110
+ return bindings;
111
+ }
112
+ /** code -> display name for every RAG entry in integrations.aui.json. */
113
+ function readRagIntegrationNames(projectRoot) {
114
+ const out = new Map();
115
+ const integPath = path.join(projectRoot, "integrations.aui.json");
116
+ if (!fs.existsSync(integPath))
117
+ return out;
118
+ try {
119
+ const parsed = JSON.parse(fs.readFileSync(integPath, "utf-8"));
120
+ for (const i of parsed.integrations ?? []) {
121
+ if (i.type === "RAG" && i.code && i.name)
122
+ out.set(i.code, i.name);
123
+ }
124
+ }
125
+ catch {
126
+ // malformed integrations.aui.json — schema validation surfaces it
127
+ }
128
+ return out;
129
+ }
130
+ /** Build the actionable error shown when a rename is blocked. */
131
+ export function formatRenameLockError(violations) {
132
+ const byDir = new Map();
133
+ for (const v of violations)
134
+ if (!byDir.has(v.dir))
135
+ byDir.set(v.dir, v);
136
+ const lines = [...byDir.values()].map((v) => ` • knowledge-hubs/${v.dir} is bound to knowledge base ${v.boundName} ` +
137
+ `[id ${v.knowledgeBaseId}], but the local ${v.source} "${v.localName}" no longer resolves to it.`);
138
+ return [
139
+ "Knowledge base rename blocked.",
140
+ "",
141
+ "A RAG knowledge base is identified by its name. Renaming it provisions a",
142
+ "new, empty knowledge base and orphans the indexed content — runtime RAG",
143
+ "then returns nothing.",
144
+ "",
145
+ ...lines,
146
+ "",
147
+ "To proceed, either:",
148
+ " - revert the name(s) above to match the bound knowledge base, or",
149
+ " - delete this integration and create a new one to start a fresh knowledge base.",
150
+ ].join("\n");
151
+ }
152
+ //# sourceMappingURL=kb-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb-identity.js","sourceRoot":"","sources":["../../src/services/kb-identity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kb-view.service.d.ts","sourceRoot":"","sources":["../../src/services/kb-view.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAKhB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAEjB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA6BD,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,OAAe,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC,CAoH/B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA6E/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAYpE;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,WAAW,CAKd"}
1
+ {"version":3,"file":"kb-view.service.d.ts","sourceRoot":"","sources":["../../src/services/kb-view.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAKhB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAEjB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA8CD,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,OAAe,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC,CAoH/B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA8E/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAYpE;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,WAAW,CAKd"}
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import * as fs from "fs";
12
12
  import * as path from "path";
13
+ import { ValidationError } from "../errors/index.js";
13
14
  /**
14
15
  * Sanitize a knowledge base name into a safe directory name.
15
16
  */
@@ -25,6 +26,15 @@ function slugifyResourceTitle(title) {
25
26
  const cleaned = title.replace(/[^a-zA-Z0-9._-]+/g, "_").replace(/^_+|_+$/g, "");
26
27
  return cleaned.slice(0, 120) || "untitled";
27
28
  }
29
+ // Throw rather than skip a title-less entry — a manifest missing it would be
30
+ // orphan-reconciled server-side, deleting the resource.
31
+ function requireResourceTitle(title, kbName, kind) {
32
+ if (typeof title === "string" && title.trim() !== "")
33
+ return title;
34
+ throw new ValidationError(`Knowledge base "${kbName}": a ${kind} entry in kb.json is missing its required "title".`, {
35
+ suggestion: "kb.json is managed for you — to add a file, drop it into the KB folder and run `aui push` (don't list files by name in kb.json). Run `aui pull` to restore a valid manifest.",
36
+ });
37
+ }
28
38
  // Regex split (not `new URL().pathname`) avoids the WHATWG parser's auto-%-
29
39
  // encode of unsafe path chars, which then double-encodes via encodeURIComponent.
30
40
  function rewriteFakeGcsUrl(url) {
@@ -159,10 +169,11 @@ export function readKbFolder(kbDir) {
159
169
  }
160
170
  if (!raw.name)
161
171
  return null;
172
+ const kbName = raw.name;
162
173
  const tabularFiles = [];
163
174
  const tabularSidecars = new Set();
164
175
  for (const entry of raw.tabular_files || []) {
165
- const sidecarName = `${slugifyResourceTitle(entry.title)}.json`;
176
+ const sidecarName = `${slugifyResourceTitle(requireResourceTitle(entry.title, kbName, "tabular_files"))}.json`;
166
177
  const sidecarPath = path.join(kbDir, sidecarName);
167
178
  tabularSidecars.add(sidecarName);
168
179
  if (fs.existsSync(sidecarPath)) {
@@ -183,7 +194,7 @@ export function readKbFolder(kbDir) {
183
194
  const markdownFiles = [];
184
195
  const markdownSidecars = new Set();
185
196
  for (const entry of raw.markdown_files || []) {
186
- const sidecarName = `${slugifyResourceTitle(entry.title)}.md`;
197
+ const sidecarName = `${slugifyResourceTitle(requireResourceTitle(entry.title, kbName, "markdown_files"))}.md`;
187
198
  const sidecarPath = path.join(kbDir, sidecarName);
188
199
  markdownSidecars.add(sidecarName);
189
200
  if (fs.existsSync(sidecarPath)) {
@@ -199,7 +210,7 @@ export function readKbFolder(kbDir) {
199
210
  const websites = [];
200
211
  const websiteSidecars = new Set();
201
212
  for (const entry of raw.websites || []) {
202
- const sidecarName = `${slugifyResourceTitle(entry.title || entry.url)}.md`;
213
+ const sidecarName = `${slugifyResourceTitle(requireResourceTitle(entry.title || entry.url, kbName, "websites"))}.md`;
203
214
  const sidecarPath = path.join(kbDir, sidecarName);
204
215
  websiteSidecars.add(sidecarName);
205
216
  if (fs.existsSync(sidecarPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"kb-view.service.js","sourceRoot":"","sources":["../../src/services/kb-view.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kb-view.service.js","sourceRoot":"","sources":["../../src/services/kb-view.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Vault secrets service — manage user-owned secrets from the CLI.
3
+ *
4
+ * The CLI is name + scope based and friendly; the apollo-api proxy
5
+ * (`/v1/vault/secrets`) and agent-settings own storage + encryption.
6
+ * apollo's get/delete are by `secret_id`, so name-based `get`/`rm` resolve the
7
+ * id via the list endpoint first.
8
+ *
9
+ * Secret values only ever travel in the create body. Reads return a masked
10
+ * `preview` (never the value), so nothing here needs to mask output.
11
+ */
12
+ import type { UserSession } from "../config/index.js";
13
+ import type { ApolloClient, ApolloVaultSecretRead, VaultRecordScope } from "../api-client/apollo-client.js";
14
+ import { type ScopeIds } from "./integration.service.js";
15
+ import type { VaultScopeLevel } from "../types/vault.js";
16
+ export interface VaultContext {
17
+ session: UserSession;
18
+ scope: ScopeIds;
19
+ client: ApolloClient;
20
+ }
21
+ export interface VaultScopeOverrides {
22
+ organizationId?: string;
23
+ accountId?: string;
24
+ networkId?: string;
25
+ /** Agent project dir whose `.auirc` supplies scope (defaults to the cwd's). */
26
+ path?: string;
27
+ }
28
+ /** Resolve auth + scope (from flags / .auirc / session) and build the apollo client. */
29
+ export declare function resolveVaultContext(overrides?: VaultScopeOverrides): Promise<VaultContext>;
30
+ /** Validate a secret reference name (used as `{{vault.NAME}}`). */
31
+ export declare function validateSecretName(name: string): void;
32
+ /** Normalize a `--scope` value to a level, defaulting to `agent`. */
33
+ export declare function parseScopeLevel(value?: string): VaultScopeLevel;
34
+ /**
35
+ * Build the RecordScope to send to agent-settings. `agent` == NETWORK scope
36
+ * (the agent is a network). Extra ids are harmless — agent-settings keys the
37
+ * secret by the scope `type` + its matching id.
38
+ */
39
+ export declare function buildVaultScope(level: VaultScopeLevel, scope: ScopeIds): VaultRecordScope;
40
+ export interface SetSecretParams {
41
+ name: string;
42
+ value: string;
43
+ level: VaultScopeLevel;
44
+ description?: string;
45
+ }
46
+ /** Create or rotate a secret (server-side upsert by name + scope). */
47
+ export declare function setSecret(ctx: VaultContext, params: SetSecretParams): Promise<ApolloVaultSecretRead>;
48
+ /** List secrets visible in the current scope chain (metadata + masked preview). */
49
+ export declare function listSecrets(ctx: VaultContext): Promise<ApolloVaultSecretRead[]>;
50
+ /** Find a single secret by name within the current scope chain. */
51
+ export declare function getSecretByName(ctx: VaultContext, name: string): Promise<ApolloVaultSecretRead>;
52
+ /** Delete a secret by name (resolves the id via list, then DELETE). */
53
+ export declare function removeSecretByName(ctx: VaultContext, name: string): Promise<{
54
+ name: string;
55
+ id: string;
56
+ message: string;
57
+ }>;
58
+ //# sourceMappingURL=vault.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.service.d.ts","sourceRoot":"","sources":["../../src/services/vault.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EACV,YAAY,EAEZ,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wFAAwF;AACxF,wBAAsB,mBAAmB,CACvC,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,YAAY,CAAC,CAuBvB;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe,CAM/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,QAAQ,GACd,gBAAgB,CAmClB;AAeD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sEAAsE;AACtE,wBAAsB,SAAS,CAC7B,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;AAED,mFAAmF;AACnF,wBAAsB,WAAW,CAC/B,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC;AAED,mEAAmE;AACnE,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,CAAC,CAUhC;AAED,uEAAuE;AACvE,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAIxD"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Vault secrets service — manage user-owned secrets from the CLI.
3
+ *
4
+ * The CLI is name + scope based and friendly; the apollo-api proxy
5
+ * (`/v1/vault/secrets`) and agent-settings own storage + encryption.
6
+ * apollo's get/delete are by `secret_id`, so name-based `get`/`rm` resolve the
7
+ * id via the list endpoint first.
8
+ *
9
+ * Secret values only ever travel in the create body. Reads return a masked
10
+ * `preview` (never the value), so nothing here needs to mask output.
11
+ */
12
+ import { buildApolloClient, getAuthenticatedSession, resolveScopeIds, } from "./integration.service.js";
13
+ import { getOrgScopedToken } from "./auth.service.js";
14
+ import { CLIError, ValidationError } from "../errors/index.js";
15
+ /** Reference names are UPPER_SNAKE_CASE — same constraint agent-settings enforces. */
16
+ const SECRET_NAME_PATTERN = /^[A-Z][A-Z0-9_]*$/;
17
+ /** Resolve auth + scope (from flags / .auirc / session) and build the apollo client. */
18
+ export async function resolveVaultContext(overrides = {}) {
19
+ const session = await getAuthenticatedSession();
20
+ const scope = resolveScopeIds(session, {
21
+ organizationId: overrides.organizationId,
22
+ accountId: overrides.accountId,
23
+ networkId: overrides.networkId,
24
+ }, overrides.path);
25
+ // Cross-org: the login token is scoped to the user's default org, but the
26
+ // project's `.auirc` (or --organization-id) can target an agent in a
27
+ // DIFFERENT org. apollo-api / the gateway trust the token's org claim, so
28
+ // mint a token scoped to the resolved org before hitting the vault endpoints
29
+ // (mirrors `apollo.tsx`). No-op — zero network calls — when they already
30
+ // match, and best-effort (falls back to the login token) on any failure.
31
+ const authToken = await getOrgScopedToken(session.auth_token, scope.organizationId, {
32
+ apiUrl: session.api_url,
33
+ environment: session.environment,
34
+ });
35
+ const client = buildApolloClient({ ...session, auth_token: authToken }, scope);
36
+ return { session, scope, client };
37
+ }
38
+ /** Validate a secret reference name (used as `{{vault.NAME}}`). */
39
+ export function validateSecretName(name) {
40
+ if (!SECRET_NAME_PATTERN.test(name)) {
41
+ throw new ValidationError(`Invalid secret name '${name}'. Use UPPER_SNAKE_CASE (e.g. STRIPE_KEY).`, { suggestion: "Names must match ^[A-Z][A-Z0-9_]*$ — letters, digits and underscores." });
42
+ }
43
+ }
44
+ /** Normalize a `--scope` value to a level, defaulting to `agent`. */
45
+ export function parseScopeLevel(value) {
46
+ const v = (value || "agent").toLowerCase();
47
+ if (v === "agent" || v === "account" || v === "organization")
48
+ return v;
49
+ throw new ValidationError(`Invalid --scope '${value}'. Use one of: agent, account, organization.`);
50
+ }
51
+ /**
52
+ * Build the RecordScope to send to agent-settings. `agent` == NETWORK scope
53
+ * (the agent is a network). Extra ids are harmless — agent-settings keys the
54
+ * secret by the scope `type` + its matching id.
55
+ */
56
+ export function buildVaultScope(level, scope) {
57
+ switch (level) {
58
+ case "agent":
59
+ if (!scope.networkId) {
60
+ throw new ValidationError("No agent (network) id found for agent-scoped secret.", { suggestion: "Run inside an agent project (with .auirc) or pass --network-id <id>." });
61
+ }
62
+ return {
63
+ type: "NETWORK",
64
+ network_id: scope.networkId,
65
+ account_id: scope.accountId || undefined,
66
+ organization_id: scope.organizationId || undefined,
67
+ network_category_id: scope.networkCategoryId || undefined,
68
+ };
69
+ case "account":
70
+ if (!scope.accountId) {
71
+ throw new ValidationError("No account id found for account-scoped secret.", {
72
+ suggestion: "Pass --account-id <id> or select an account first.",
73
+ });
74
+ }
75
+ return {
76
+ type: "ACCOUNT",
77
+ account_id: scope.accountId,
78
+ organization_id: scope.organizationId || undefined,
79
+ };
80
+ case "organization":
81
+ if (!scope.organizationId) {
82
+ throw new ValidationError("No organization id found for organization-scoped secret.", {
83
+ suggestion: "Pass --organization-id <id> or select an organization first.",
84
+ });
85
+ }
86
+ return { type: "ORGANIZATION", organization_id: scope.organizationId };
87
+ }
88
+ }
89
+ /** Scope-chain query params for list (most-specific-per-name reduction happens server-side). */
90
+ function listScopeParams(scope) {
91
+ return {
92
+ networkId: scope.networkId || undefined,
93
+ accountId: scope.accountId || undefined,
94
+ organizationId: scope.organizationId || undefined,
95
+ };
96
+ }
97
+ /** Create or rotate a secret (server-side upsert by name + scope). */
98
+ export async function setSecret(ctx, params) {
99
+ validateSecretName(params.name);
100
+ if (!params.value) {
101
+ throw new ValidationError("Secret value is empty.", {
102
+ suggestion: "Provide a non-empty value via stdin, the prompt, or --value.",
103
+ });
104
+ }
105
+ if (!ctx.scope.userId) {
106
+ throw new ValidationError("No user id in session; cannot attribute the secret.", {
107
+ suggestion: "Re-run `aui login` to refresh your session.",
108
+ });
109
+ }
110
+ const scope = buildVaultScope(params.level, ctx.scope);
111
+ const body = {
112
+ name: params.name,
113
+ value: params.value,
114
+ description: params.description,
115
+ scope,
116
+ created_by: ctx.scope.userId,
117
+ updated_by: ctx.scope.userId,
118
+ };
119
+ return ctx.client.createVaultSecret(body);
120
+ }
121
+ /** List secrets visible in the current scope chain (metadata + masked preview). */
122
+ export async function listSecrets(ctx) {
123
+ return ctx.client.listVaultSecrets(listScopeParams(ctx.scope));
124
+ }
125
+ /** Find a single secret by name within the current scope chain. */
126
+ export async function getSecretByName(ctx, name) {
127
+ const secrets = await listSecrets(ctx);
128
+ const match = secrets.find((s) => s.name === name);
129
+ if (!match) {
130
+ throw new CLIError(`Secret '${name}' not found in the current scope.`, {
131
+ code: "API_NOT_FOUND",
132
+ suggestion: "Check the name and scope (try `aui vault list`).",
133
+ });
134
+ }
135
+ return match;
136
+ }
137
+ /** Delete a secret by name (resolves the id via list, then DELETE). */
138
+ export async function removeSecretByName(ctx, name) {
139
+ const match = await getSecretByName(ctx, name);
140
+ const result = await ctx.client.deleteVaultSecret(match.id);
141
+ return { name, id: match.id, message: result?.message || "Secret deleted successfully" };
142
+ }
143
+ //# sourceMappingURL=vault.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.service.js","sourceRoot":"","sources":["../../src/services/vault.service.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,5 @@ export * from './tool.js';
9
9
  export * from './agent.js';
10
10
  export * from './rule.js';
11
11
  export * from './widget.js';
12
+ export * from './vault.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -9,4 +9,5 @@ export * from './tool.js';
9
9
  export * from './agent.js';
10
10
  export * from './rule.js';
11
11
  export * from './widget.js';
12
+ export * from './vault.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Vault secret types for the `aui vault` command group.
3
+ *
4
+ * The CLI manages secrets by name + scope; the apollo-api proxy and
5
+ * agent-settings own the storage. The decrypted value is write-only — it is
6
+ * only ever sent on create and is never returned by reads (which expose a
7
+ * masked `preview`).
8
+ */
9
+ /** Scope a secret lives at. `agent` maps to the NETWORK scope (the agent == network). */
10
+ export type VaultScopeLevel = "agent" | "account" | "organization";
11
+ /** Shared options accepted by the `aui vault` subcommands. */
12
+ export interface VaultCommandOptions {
13
+ /** Scope level: agent (default) | account | organization. */
14
+ scope?: string;
15
+ /** Optional human description (set only). */
16
+ description?: string;
17
+ /** Raw secret value (set only). Discouraged — prefer stdin or the hidden prompt. */
18
+ value?: string;
19
+ /** Read the value from stdin (set only). */
20
+ stdin?: boolean;
21
+ /** Skip the confirmation prompt (rm only). */
22
+ yes?: boolean;
23
+ /** Agent project directory (defaults to the current project). */
24
+ path?: string;
25
+ /** Scope id overrides (default to .auirc / session). */
26
+ organizationId?: string;
27
+ accountId?: string;
28
+ networkId?: string;
29
+ }
30
+ export type { ApolloVaultSecretRead as VaultSecret } from "../api-client/apollo-client.js";
31
+ //# sourceMappingURL=vault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/types/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yFAAyF;AACzF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,YAAY,EAAE,qBAAqB,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Vault secret types for the `aui vault` command group.
3
+ *
4
+ * The CLI manages secrets by name + scope; the apollo-api proxy and
5
+ * agent-settings own the storage. The decrypted value is write-only — it is
6
+ * only ever sent on create and is never returned by reads (which expose a
7
+ * masked `preview`).
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/types/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,19 @@
1
+ import type { VaultSecret } from "../../types/vault.js";
2
+ /** Human-readable scope label, e.g. "NETWORK:6a39...". Never shows a value. */
3
+ export declare function scopeLabel(secret: VaultSecret): string;
4
+ interface VaultListViewProps {
5
+ secrets: VaultSecret[];
6
+ }
7
+ export declare function VaultListView({ secrets }: VaultListViewProps): import("react/jsx-runtime").JSX.Element;
8
+ interface VaultSecretViewProps {
9
+ secret: VaultSecret;
10
+ }
11
+ export declare function VaultSecretView({ secret }: VaultSecretViewProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function VaultSecretSavedView({ secret }: VaultSecretViewProps): import("react/jsx-runtime").JSX.Element;
13
+ interface VaultSecretDeletedViewProps {
14
+ name: string;
15
+ message: string;
16
+ }
17
+ export declare function VaultSecretDeletedView({ name, message, }: VaultSecretDeletedViewProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=VaultView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VaultView.d.ts","sourceRoot":"","sources":["../../../src/ui/views/VaultView.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAKtD;AAoBD,UAAU,kBAAkB;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,2CAoD5D;AAID,UAAU,oBAAoB;IAC5B,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAO/D;AAID,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAcpE;AAID,UAAU,2BAA2B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,OAAO,GACR,EAAE,2BAA2B,2CAM7B"}