aui-agent-builder 0.3.149 → 0.3.151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -15
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +47 -2
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/apollo.d.ts.map +1 -1
- package/dist/commands/apollo.js +73 -5
- package/dist/commands/apollo.js.map +1 -1
- package/dist/commands/import-agent.js +1 -1
- package/dist/commands/import-agent.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +18 -6
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +9 -84
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/report.d.ts +119 -0
- package/dist/commands/report.d.ts.map +1 -0
- package/dist/commands/report.js +169 -0
- package/dist/commands/report.js.map +1 -0
- package/dist/commands/util/agent-resolve.d.ts +102 -0
- package/dist/commands/util/agent-resolve.d.ts.map +1 -0
- package/dist/commands/util/agent-resolve.js +148 -0
- package/dist/commands/util/agent-resolve.js.map +1 -0
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +61 -108
- package/dist/commands/version.js.map +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +50 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/dist/services/pull-schema.service.d.ts +19 -0
- package/dist/services/pull-schema.service.d.ts.map +1 -1
- package/dist/services/pull-schema.service.js +83 -0
- package/dist/services/pull-schema.service.js.map +1 -1
- package/dist/utils/agent-injection.d.ts +32 -0
- package/dist/utils/agent-injection.d.ts.map +1 -0
- package/dist/utils/agent-injection.js +52 -0
- package/dist/utils/agent-injection.js.map +1 -0
- package/dist/utils/json-output.d.ts +10 -0
- package/dist/utils/json-output.d.ts.map +1 -1
- package/dist/utils/json-output.js +14 -0
- package/dist/utils/json-output.js.map +1 -1
- package/dist/utils/payload-store.d.ts +40 -0
- package/dist/utils/payload-store.d.ts.map +1 -0
- package/dist/utils/payload-store.js +82 -0
- package/dist/utils/payload-store.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* report command — coding-agent feedback channel (BETA)
|
|
3
|
+
*
|
|
4
|
+
* The AUI CLI is in **beta**. Coding agents (Claude Code, Cursor, OpenCode)
|
|
5
|
+
* that drive it MUST use this command whenever they:
|
|
6
|
+
* - hit an issue / error / unexpected behaviour with the CLI or the agent
|
|
7
|
+
* they're building, OR
|
|
8
|
+
* - learn something new about how the CLI / agent works that wasn't obvious
|
|
9
|
+
* from the docs.
|
|
10
|
+
*
|
|
11
|
+
* Each report bundles metadata about the coding agent, the human user, the
|
|
12
|
+
* Apollo agent (the agent being built), and the organization, and sends it as
|
|
13
|
+
* ONE POST request to the AUI feedback endpoint. While we're in beta this is a
|
|
14
|
+
* placeholder webhook; it will be swapped for the real ingest endpoint later.
|
|
15
|
+
*
|
|
16
|
+
* The instruction to use this command is injected into every coding agent's
|
|
17
|
+
* prompt via the generated `report` skill (see
|
|
18
|
+
* `pull-schema.service.ts#writeReportSkill`), so agents discover it without
|
|
19
|
+
* the human having to tell them.
|
|
20
|
+
*
|
|
21
|
+
* Usage:
|
|
22
|
+
* aui report "push failed with a confusing 500 and no detail"
|
|
23
|
+
* aui report --type learning --message "version create clones the active bundle"
|
|
24
|
+
* aui report -t issue -m "..." --agent claude
|
|
25
|
+
* aui report -m "..." --dry-run # print the payload, don't send
|
|
26
|
+
*/
|
|
27
|
+
import chalk from "chalk";
|
|
28
|
+
import fetchWithTimeout from "../utils/fetch-with-timeout.js";
|
|
29
|
+
import { loadSessionRaw, loadProjectConfig, loadEnvironment, } from "../config/index.js";
|
|
30
|
+
/**
|
|
31
|
+
* Ingest endpoint for coding-agent reports — the agent-builder-bff
|
|
32
|
+
* `/api/reports` route, which validates and persists each report. Overridable
|
|
33
|
+
* via `AUI_REPORT_URL` for local testing / staging.
|
|
34
|
+
*/
|
|
35
|
+
export const REPORT_ENDPOINT = "https://agent-builder-bff-tawny.vercel.app/api/reports";
|
|
36
|
+
/**
|
|
37
|
+
* Best-effort detection of which coding agent is driving the CLI.
|
|
38
|
+
*
|
|
39
|
+
* Order (first hit wins):
|
|
40
|
+
* 1. Explicit `--agent` flag.
|
|
41
|
+
* 2. `AUI_CODING_AGENT` env var (set by orchestrators / sandboxes).
|
|
42
|
+
* 3. Well-known per-tool env signatures.
|
|
43
|
+
* 4. "unknown" (likely a human at a terminal).
|
|
44
|
+
*/
|
|
45
|
+
export function detectCodingAgent(agentOption) {
|
|
46
|
+
const explicit = agentOption?.trim();
|
|
47
|
+
if (explicit)
|
|
48
|
+
return { name: explicit.toLowerCase(), detectedVia: "flag" };
|
|
49
|
+
const fromEnv = process.env.AUI_CODING_AGENT?.trim();
|
|
50
|
+
if (fromEnv)
|
|
51
|
+
return { name: fromEnv.toLowerCase(), detectedVia: "env:AUI_CODING_AGENT" };
|
|
52
|
+
if (process.env.CLAUDECODE || process.env.CLAUDE_CODE_ENTRYPOINT)
|
|
53
|
+
return { name: "claude", detectedVia: "env:CLAUDECODE" };
|
|
54
|
+
if (process.env.CURSOR_TRACE_ID || process.env.CURSOR_AGENT)
|
|
55
|
+
return { name: "cursor", detectedVia: "env:CURSOR" };
|
|
56
|
+
if (process.env.OPENCODE || process.env.OPENCODE_AGENT)
|
|
57
|
+
return { name: "opencode", detectedVia: "env:OPENCODE" };
|
|
58
|
+
return { name: "unknown", detectedVia: "fallback" };
|
|
59
|
+
}
|
|
60
|
+
/** Normalize an arbitrary `--type` value to a known ReportType. */
|
|
61
|
+
export function normalizeReportType(value) {
|
|
62
|
+
return value?.trim().toLowerCase() === "learning" ? "learning" : "issue";
|
|
63
|
+
}
|
|
64
|
+
/** Parse `--context` as JSON when possible, else keep it as a raw string. */
|
|
65
|
+
function parseContext(raw) {
|
|
66
|
+
if (raw === undefined)
|
|
67
|
+
return undefined;
|
|
68
|
+
const trimmed = raw.trim();
|
|
69
|
+
if (!trimmed)
|
|
70
|
+
return undefined;
|
|
71
|
+
try {
|
|
72
|
+
return JSON.parse(trimmed);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return trimmed;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Assemble the report payload from the current session, project, and runtime.
|
|
80
|
+
* Pure (modulo reading config files / env) so it can be unit-tested directly.
|
|
81
|
+
*/
|
|
82
|
+
export function buildReportPayload(options, cliVersion, deps) {
|
|
83
|
+
const session = deps?.session !== undefined ? deps.session : loadSessionRaw();
|
|
84
|
+
const project = deps?.projectConfig !== undefined
|
|
85
|
+
? deps.projectConfig
|
|
86
|
+
: loadProjectConfig();
|
|
87
|
+
const environment = deps?.environment ?? loadEnvironment();
|
|
88
|
+
const message = (options.message ?? "").trim();
|
|
89
|
+
return {
|
|
90
|
+
beta: true,
|
|
91
|
+
source: "aui-cli",
|
|
92
|
+
type: normalizeReportType(options.type),
|
|
93
|
+
message,
|
|
94
|
+
context: parseContext(options.context),
|
|
95
|
+
timestamp: new Date().toISOString(),
|
|
96
|
+
codingAgent: detectCodingAgent(options.agent),
|
|
97
|
+
user: {
|
|
98
|
+
userId: session?.user_id,
|
|
99
|
+
email: session?.email,
|
|
100
|
+
name: session?.name,
|
|
101
|
+
},
|
|
102
|
+
organization: {
|
|
103
|
+
id: session?.organization_id ?? project?.organization_id,
|
|
104
|
+
name: session?.organization_name,
|
|
105
|
+
},
|
|
106
|
+
apolloAgent: {
|
|
107
|
+
code: project?.agent_code,
|
|
108
|
+
agentId: project?.agent_id,
|
|
109
|
+
agentManagementId: project?.agent_management_id ?? session?.agent_management_id,
|
|
110
|
+
networkId: session?.network_id,
|
|
111
|
+
networkName: session?.network_name,
|
|
112
|
+
versionId: project?.version_id ?? session?.version_id,
|
|
113
|
+
versionLabel: project?.version_label,
|
|
114
|
+
versionTag: project?.version_tag,
|
|
115
|
+
},
|
|
116
|
+
cli: {
|
|
117
|
+
version: cliVersion,
|
|
118
|
+
environment: String(environment),
|
|
119
|
+
sessionId: session?.cli_session_id ?? process.env.AUI_CLI_SESSION_ID,
|
|
120
|
+
platform: `${process.platform}/${process.arch}`,
|
|
121
|
+
nodeVersion: process.version,
|
|
122
|
+
cwd: process.cwd(),
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* `aui report` — gather metadata and POST a single coding-agent report.
|
|
128
|
+
*/
|
|
129
|
+
export async function report(messageArg, options = {}, cliVersion = "unknown") {
|
|
130
|
+
const merged = {
|
|
131
|
+
...options,
|
|
132
|
+
message: options.message ?? messageArg,
|
|
133
|
+
};
|
|
134
|
+
if (!merged.message || !merged.message.trim()) {
|
|
135
|
+
console.log(chalk.yellow("\n A report message is required."));
|
|
136
|
+
console.log(chalk.gray(' Usage: aui report "what happened or what you learned"'));
|
|
137
|
+
console.log(chalk.gray(" aui report --type learning --message \"...\"\n"));
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const payload = buildReportPayload(merged, cliVersion);
|
|
141
|
+
const endpoint = process.env.AUI_REPORT_URL || REPORT_ENDPOINT;
|
|
142
|
+
if (merged.dryRun) {
|
|
143
|
+
console.log(chalk.bold("\n Report payload (dry run — not sent):\n"));
|
|
144
|
+
console.log(JSON.stringify(payload, null, 2));
|
|
145
|
+
console.log(chalk.gray(`\n Would POST to: ${endpoint}\n`));
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
const res = await fetchWithTimeout(endpoint, {
|
|
150
|
+
method: "POST",
|
|
151
|
+
headers: { "Content-Type": "application/json" },
|
|
152
|
+
body: JSON.stringify(payload),
|
|
153
|
+
timeoutMs: 15_000,
|
|
154
|
+
});
|
|
155
|
+
if (res.ok) {
|
|
156
|
+
console.log(chalk.green(`\n ✓ Report sent (${payload.type}). Thanks — this helps us improve the beta CLI.\n`));
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
console.log(chalk.yellow(`\n ⚠ Report endpoint returned ${res.status}. Your report may not have been recorded.\n`));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
// Reporting must never break the agent's workflow — fail soft.
|
|
164
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
165
|
+
console.log(chalk.yellow(`\n ⚠ Could not send report: ${msg}`));
|
|
166
|
+
console.log(chalk.gray(" This is non-fatal — continue with your task.\n"));
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared agent-management resolution.
|
|
3
|
+
*
|
|
4
|
+
* `aui push` and `aui version *` both need to turn a project's `.auirc`
|
|
5
|
+
* (and the active session) into the canonical agent-management `AgentInfo`
|
|
6
|
+
* that every version / draft / snapshot endpoint keys on. Historically the
|
|
7
|
+
* two commands resolved this independently and drifted: `push` preferred
|
|
8
|
+
* `.auirc.agent_management_id` (correct), while `version` only looked at
|
|
9
|
+
* `.auirc.agent_id` (the *network* id) and, on any miss, silently fell
|
|
10
|
+
* through to the session's "current" agent — creating drafts on the wrong
|
|
11
|
+
* agent and repointing foreign `.auirc` files. This helper is the single
|
|
12
|
+
* source of truth so the two paths can't diverge again.
|
|
13
|
+
*
|
|
14
|
+
* Resolution order (highest priority first):
|
|
15
|
+
* 1. project `agent_management_id` → `getAgent` directly (one round-trip).
|
|
16
|
+
* 2. project `agent_id` (network id) → `listAgents` filtered by
|
|
17
|
+
* `network_id` OR `network_category_id` (covers template-imported
|
|
18
|
+
* projects whose persisted id is actually the category id).
|
|
19
|
+
* 3. session `agent_management_id` → `getAgent`.
|
|
20
|
+
* 4. session `network_id` (if different) → same OR'd `listAgents` filter.
|
|
21
|
+
*
|
|
22
|
+
* Each attempt records its failure in `errors` so callers can surface the
|
|
23
|
+
* full picture instead of silently dropping the target agent.
|
|
24
|
+
*/
|
|
25
|
+
import type { AUIClient, AgentInfo } from "../../api-client/index.js";
|
|
26
|
+
export interface AgentResolveInputs {
|
|
27
|
+
/** `.auirc.agent_management_id` — the canonical agent-management UUID. */
|
|
28
|
+
projectAgentManagementId?: string;
|
|
29
|
+
/**
|
|
30
|
+
* `.auirc.agent_id` — historically the network id. Also matched against
|
|
31
|
+
* `network_category_id` for template-imported projects.
|
|
32
|
+
*/
|
|
33
|
+
projectNetworkId?: string;
|
|
34
|
+
/** `session.agent_management_id` fallback. */
|
|
35
|
+
sessionAgentManagementId?: string;
|
|
36
|
+
/** `session.network_id` fallback. */
|
|
37
|
+
sessionNetworkId?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface AgentResolveResult {
|
|
40
|
+
/** The resolved agent, or `undefined` if no input id matched. */
|
|
41
|
+
agentInfo?: AgentInfo;
|
|
42
|
+
/**
|
|
43
|
+
* One human-readable line per failed attempt (throws / no-match), in the
|
|
44
|
+
* order they were tried. Empty on a clean first-try hit. Callers surface
|
|
45
|
+
* these in error messages and `AUI_DEBUG` output instead of silently
|
|
46
|
+
* dropping the target agent.
|
|
47
|
+
*/
|
|
48
|
+
errors: string[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve a project's `.auirc` (and, optionally, the active session) into the
|
|
52
|
+
* canonical agent-management `AgentInfo` that every version / draft / snapshot
|
|
53
|
+
* / push endpoint keys on. Shared by `aui push` and `aui version *` so the two
|
|
54
|
+
* commands always target the same agent.
|
|
55
|
+
*
|
|
56
|
+
* Resolution order (first match wins; later steps run only if earlier ones
|
|
57
|
+
* yield nothing):
|
|
58
|
+
* 1. `projectAgentManagementId` → direct `getAgent(id)` (one round-trip,
|
|
59
|
+
* no list scan). This is the canonical UUID and the preferred path.
|
|
60
|
+
* 2. `projectNetworkId` → `listAgents` filtered by `network_id` **OR**
|
|
61
|
+
* `network_category_id`, matched against `scope.network_id`,
|
|
62
|
+
* `scope.network_category_id`, or `id`. The dual filter makes the
|
|
63
|
+
* legacy `.auirc.agent_id` robust to template-imported projects, where
|
|
64
|
+
* the persisted id is actually the category id.
|
|
65
|
+
* 3. `sessionAgentManagementId` → direct `getAgent(id)`.
|
|
66
|
+
* 4. `sessionNetworkId` (only when different from `projectNetworkId`) →
|
|
67
|
+
* same OR'd `listAgents` filter as step 2.
|
|
68
|
+
*
|
|
69
|
+
* Pass only the project inputs to resolve strictly within a project (no
|
|
70
|
+
* session fallback); pass session inputs too to allow the session fallback.
|
|
71
|
+
*
|
|
72
|
+
* This function NEVER throws and NEVER prompts — it performs read-only
|
|
73
|
+
* lookups and reports failures via `result.errors`. Callers decide whether an
|
|
74
|
+
* empty `agentInfo` is fatal. Each failed attempt is also logged to stderr
|
|
75
|
+
* when `AUI_DEBUG` is set.
|
|
76
|
+
*
|
|
77
|
+
* @param client Authenticated `AUIClient` (its org/account scope is used for
|
|
78
|
+
* the `listAgents` calls).
|
|
79
|
+
* @param inputs Candidate ids from `.auirc` and/or the session. All optional;
|
|
80
|
+
* omitted ids skip their step.
|
|
81
|
+
* @returns `{ agentInfo, errors }` — `agentInfo` is the first match (or
|
|
82
|
+
* `undefined`), `errors` lists every failed attempt in order.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* // Project-scoped (no session fallback) — used by `aui version *`:
|
|
86
|
+
* const { agentInfo, errors } = await resolveAgentManagementInfo(client, {
|
|
87
|
+
* projectAgentManagementId: projectConfig.agent_management_id,
|
|
88
|
+
* projectNetworkId: projectConfig.agent_id,
|
|
89
|
+
* });
|
|
90
|
+
* if (!agentInfo) throw new CLIError("Could not resolve the agent (.auirc).");
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* // With session fallback — used by `aui push`:
|
|
94
|
+
* const { agentInfo } = await resolveAgentManagementInfo(client, {
|
|
95
|
+
* projectAgentManagementId: projectConfig.agent_management_id,
|
|
96
|
+
* projectNetworkId: projectConfig.agent_id,
|
|
97
|
+
* sessionAgentManagementId: session.agent_management_id,
|
|
98
|
+
* sessionNetworkId: session.network_id,
|
|
99
|
+
* });
|
|
100
|
+
*/
|
|
101
|
+
export declare function resolveAgentManagementInfo(client: AUIClient, inputs: AgentResolveInputs): Promise<AgentResolveResult>;
|
|
102
|
+
//# sourceMappingURL=agent-resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-resolve.d.ts","sourceRoot":"","sources":["../../../src/commands/util/agent-resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAsH7B"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared agent-management resolution.
|
|
3
|
+
*
|
|
4
|
+
* `aui push` and `aui version *` both need to turn a project's `.auirc`
|
|
5
|
+
* (and the active session) into the canonical agent-management `AgentInfo`
|
|
6
|
+
* that every version / draft / snapshot endpoint keys on. Historically the
|
|
7
|
+
* two commands resolved this independently and drifted: `push` preferred
|
|
8
|
+
* `.auirc.agent_management_id` (correct), while `version` only looked at
|
|
9
|
+
* `.auirc.agent_id` (the *network* id) and, on any miss, silently fell
|
|
10
|
+
* through to the session's "current" agent — creating drafts on the wrong
|
|
11
|
+
* agent and repointing foreign `.auirc` files. This helper is the single
|
|
12
|
+
* source of truth so the two paths can't diverge again.
|
|
13
|
+
*
|
|
14
|
+
* Resolution order (highest priority first):
|
|
15
|
+
* 1. project `agent_management_id` → `getAgent` directly (one round-trip).
|
|
16
|
+
* 2. project `agent_id` (network id) → `listAgents` filtered by
|
|
17
|
+
* `network_id` OR `network_category_id` (covers template-imported
|
|
18
|
+
* projects whose persisted id is actually the category id).
|
|
19
|
+
* 3. session `agent_management_id` → `getAgent`.
|
|
20
|
+
* 4. session `network_id` (if different) → same OR'd `listAgents` filter.
|
|
21
|
+
*
|
|
22
|
+
* Each attempt records its failure in `errors` so callers can surface the
|
|
23
|
+
* full picture instead of silently dropping the target agent.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Resolve a project's `.auirc` (and, optionally, the active session) into the
|
|
27
|
+
* canonical agent-management `AgentInfo` that every version / draft / snapshot
|
|
28
|
+
* / push endpoint keys on. Shared by `aui push` and `aui version *` so the two
|
|
29
|
+
* commands always target the same agent.
|
|
30
|
+
*
|
|
31
|
+
* Resolution order (first match wins; later steps run only if earlier ones
|
|
32
|
+
* yield nothing):
|
|
33
|
+
* 1. `projectAgentManagementId` → direct `getAgent(id)` (one round-trip,
|
|
34
|
+
* no list scan). This is the canonical UUID and the preferred path.
|
|
35
|
+
* 2. `projectNetworkId` → `listAgents` filtered by `network_id` **OR**
|
|
36
|
+
* `network_category_id`, matched against `scope.network_id`,
|
|
37
|
+
* `scope.network_category_id`, or `id`. The dual filter makes the
|
|
38
|
+
* legacy `.auirc.agent_id` robust to template-imported projects, where
|
|
39
|
+
* the persisted id is actually the category id.
|
|
40
|
+
* 3. `sessionAgentManagementId` → direct `getAgent(id)`.
|
|
41
|
+
* 4. `sessionNetworkId` (only when different from `projectNetworkId`) →
|
|
42
|
+
* same OR'd `listAgents` filter as step 2.
|
|
43
|
+
*
|
|
44
|
+
* Pass only the project inputs to resolve strictly within a project (no
|
|
45
|
+
* session fallback); pass session inputs too to allow the session fallback.
|
|
46
|
+
*
|
|
47
|
+
* This function NEVER throws and NEVER prompts — it performs read-only
|
|
48
|
+
* lookups and reports failures via `result.errors`. Callers decide whether an
|
|
49
|
+
* empty `agentInfo` is fatal. Each failed attempt is also logged to stderr
|
|
50
|
+
* when `AUI_DEBUG` is set.
|
|
51
|
+
*
|
|
52
|
+
* @param client Authenticated `AUIClient` (its org/account scope is used for
|
|
53
|
+
* the `listAgents` calls).
|
|
54
|
+
* @param inputs Candidate ids from `.auirc` and/or the session. All optional;
|
|
55
|
+
* omitted ids skip their step.
|
|
56
|
+
* @returns `{ agentInfo, errors }` — `agentInfo` is the first match (or
|
|
57
|
+
* `undefined`), `errors` lists every failed attempt in order.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* // Project-scoped (no session fallback) — used by `aui version *`:
|
|
61
|
+
* const { agentInfo, errors } = await resolveAgentManagementInfo(client, {
|
|
62
|
+
* projectAgentManagementId: projectConfig.agent_management_id,
|
|
63
|
+
* projectNetworkId: projectConfig.agent_id,
|
|
64
|
+
* });
|
|
65
|
+
* if (!agentInfo) throw new CLIError("Could not resolve the agent (.auirc).");
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* // With session fallback — used by `aui push`:
|
|
69
|
+
* const { agentInfo } = await resolveAgentManagementInfo(client, {
|
|
70
|
+
* projectAgentManagementId: projectConfig.agent_management_id,
|
|
71
|
+
* projectNetworkId: projectConfig.agent_id,
|
|
72
|
+
* sessionAgentManagementId: session.agent_management_id,
|
|
73
|
+
* sessionNetworkId: session.network_id,
|
|
74
|
+
* });
|
|
75
|
+
*/
|
|
76
|
+
export async function resolveAgentManagementInfo(client, inputs) {
|
|
77
|
+
const { projectAgentManagementId, projectNetworkId, sessionAgentManagementId, sessionNetworkId, } = inputs;
|
|
78
|
+
let agentInfo;
|
|
79
|
+
const errors = [];
|
|
80
|
+
// 1) project agent_management_id → direct getAgent.
|
|
81
|
+
if (projectAgentManagementId) {
|
|
82
|
+
try {
|
|
83
|
+
agentInfo = await client.agentManagement.getAgent(projectAgentManagementId);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
errors.push(`getAgent(${projectAgentManagementId}) threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
87
|
+
if (process.env.AUI_DEBUG) {
|
|
88
|
+
console.warn(`[debug] resolveAgentManagementInfo: getAgent(${projectAgentManagementId}) failed (stale id?):`, err instanceof Error ? err.message : err);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// 2) project network id → listAgents (network_id OR network_category_id).
|
|
93
|
+
if (!agentInfo && projectNetworkId) {
|
|
94
|
+
try {
|
|
95
|
+
const resp = await client.agentManagement.listAgents(client.getOrganizationId(), 1, 50, {
|
|
96
|
+
network_id: projectNetworkId,
|
|
97
|
+
network_category_id: projectNetworkId,
|
|
98
|
+
});
|
|
99
|
+
agentInfo = resp.items.find((a) => a.scope.network_id === projectNetworkId ||
|
|
100
|
+
a.scope.network_category_id === projectNetworkId ||
|
|
101
|
+
a.id === projectNetworkId);
|
|
102
|
+
if (!agentInfo) {
|
|
103
|
+
errors.push(`listAgents(network_id|network_category_id=${projectNetworkId}) returned ${resp.items.length} item(s), none matched.`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
errors.push(`listAgents(network_id|network_category_id=${projectNetworkId}) threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
108
|
+
if (process.env.AUI_DEBUG) {
|
|
109
|
+
console.warn(`[debug] resolveAgentManagementInfo: listAgents(network_id|network_category_id=${projectNetworkId}) failed:`, err instanceof Error ? err.message : err);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// 3) session agent_management_id → direct getAgent.
|
|
114
|
+
if (!agentInfo && sessionAgentManagementId) {
|
|
115
|
+
try {
|
|
116
|
+
agentInfo = await client.agentManagement.getAgent(sessionAgentManagementId);
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
errors.push(`getAgent(${sessionAgentManagementId}) threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
120
|
+
if (process.env.AUI_DEBUG) {
|
|
121
|
+
console.warn(`[debug] resolveAgentManagementInfo: getAgent(${sessionAgentManagementId}) failed (stale id?):`, err instanceof Error ? err.message : err);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// 4) session network id (if different) → same OR'd listAgents filter.
|
|
126
|
+
if (!agentInfo && sessionNetworkId && sessionNetworkId !== projectNetworkId) {
|
|
127
|
+
try {
|
|
128
|
+
const resp = await client.agentManagement.listAgents(client.getOrganizationId(), 1, 50, {
|
|
129
|
+
network_id: sessionNetworkId,
|
|
130
|
+
network_category_id: sessionNetworkId,
|
|
131
|
+
});
|
|
132
|
+
agentInfo = resp.items.find((a) => a.scope.network_id === sessionNetworkId ||
|
|
133
|
+
a.scope.network_category_id === sessionNetworkId ||
|
|
134
|
+
a.id === sessionNetworkId);
|
|
135
|
+
if (!agentInfo) {
|
|
136
|
+
errors.push(`listAgents(network_id|network_category_id=${sessionNetworkId}) returned ${resp.items.length} item(s), none matched.`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
errors.push(`listAgents(network_id|network_category_id=${sessionNetworkId}) threw: ${err instanceof Error ? err.message : String(err)}`);
|
|
141
|
+
if (process.env.AUI_DEBUG) {
|
|
142
|
+
console.warn(`[debug] resolveAgentManagementInfo: listAgents(network_id|network_category_id=${sessionNetworkId}) failed:`, err instanceof Error ? err.message : err);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return { agentInfo, errors };
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=agent-resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-resolve.js","sourceRoot":"","sources":["../../../src/commands/util/agent-resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,wBAAwB,CAAC;AA+OhC,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgEjD;AAID,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmJlG;AAID,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;IAChD,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsNnG;AAID,wBAAsB,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE1F;AAID,wBAAsB,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D9F;AAID,wBAAsB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE/F;AAID,wBAAsB,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD9F;AAID,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE5G"}
|