@aui.io/apollo 0.1.84 → 0.1.86

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 (78) hide show
  1. package/README.md +4 -4
  2. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +227 -33
  3. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
  4. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js +2 -2
  5. package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js.map +1 -1
  6. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js +2 -3
  7. package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js.map +1 -1
  8. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js +31 -12
  9. package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js.map +1 -1
  10. package/node_modules/@aui.io/apollo-cli/package.json +3 -3
  11. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +17 -0
  12. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +4 -0
  13. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -1
  14. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +36 -0
  15. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +6 -0
  16. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -1
  17. package/node_modules/@aui.io/apollo-core/dist/src/api/management.d.ts +108 -4
  18. package/node_modules/@aui.io/apollo-core/dist/src/api/management.js +198 -18
  19. package/node_modules/@aui.io/apollo-core/dist/src/api/management.js.map +1 -1
  20. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.d.ts +1 -5
  21. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js +4 -10
  22. package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js.map +1 -1
  23. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +12 -2
  24. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +61 -14
  25. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
  26. package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.d.ts +29 -0
  27. package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.js +65 -0
  28. package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.js.map +1 -0
  29. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.d.ts +10 -0
  30. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js +18 -0
  31. package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js.map +1 -1
  32. package/node_modules/@aui.io/apollo-core/dist/src/config/index.d.ts +2 -0
  33. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js +7 -0
  34. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js.map +1 -1
  35. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.d.ts +75 -0
  36. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js +109 -0
  37. package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js.map +1 -1
  38. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +1 -1
  39. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
  40. package/node_modules/@aui.io/apollo-core/dist/src/output/index.d.ts +2 -0
  41. package/node_modules/@aui.io/apollo-core/dist/src/output/index.js +5 -1
  42. package/node_modules/@aui.io/apollo-core/dist/src/output/index.js.map +1 -1
  43. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +70 -2
  44. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +216 -69
  45. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
  46. package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js +4 -3
  47. package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js.map +1 -1
  48. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.d.ts +14 -21
  49. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js +17 -27
  50. package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js.map +1 -1
  51. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.d.ts +15 -9
  52. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js +41 -18
  53. package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js.map +1 -1
  54. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.d.ts +1 -1
  55. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js +24 -59
  56. package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js.map +1 -1
  57. package/node_modules/@aui.io/apollo-core/dist/src/services/versions.d.ts +88 -0
  58. package/node_modules/@aui.io/apollo-core/dist/src/services/versions.js +202 -0
  59. package/node_modules/@aui.io/apollo-core/dist/src/services/versions.js.map +1 -0
  60. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js +2 -2
  61. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js.map +1 -1
  62. package/node_modules/@aui.io/apollo-core/package.json +1 -1
  63. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +13 -13
  64. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
  65. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +2 -2
  66. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
  67. package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js +3 -2
  68. package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js.map +1 -1
  69. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.d.ts +11 -19
  70. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +79 -80
  71. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
  72. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.d.ts +2 -0
  73. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +6 -6
  74. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
  75. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +21 -13
  76. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
  77. package/node_modules/@aui.io/apollo-tui/package.json +2 -2
  78. package/package.json +4 -4
@@ -22,6 +22,9 @@ export interface AgentVersion {
22
22
  version_tag: string;
23
23
  status: VersionStatus;
24
24
  parent_version_id?: string | null;
25
+ /** The exact COMMIT this branch was cut from (`v3.12`); absent for a
26
+ * first version or one created before lineage was recorded. */
27
+ parent_version_tag?: string | null;
25
28
  label?: string | null;
26
29
  tags: string[];
27
30
  notes?: string | null;
@@ -47,7 +50,26 @@ export interface VersionPush {
47
50
  created_at: string;
48
51
  commit_message?: string | null;
49
52
  }
53
+ /** One COMMIT on a branch, as the internal surface lists it. */
54
+ export interface AgentRevision {
55
+ id: string;
56
+ /** The commit's own tag, e.g. `v3.7`. */
57
+ version_tag: string;
58
+ caller: string;
59
+ commit_message?: string | null;
60
+ created_at: string;
61
+ created_by: string;
62
+ created_by_email?: string | null;
63
+ }
50
64
  export type VersionSource = "version" | "agent-scope" | "template" | "empty";
65
+ /** Which COMMIT an agent serves, as apollo reads it back off the agent. */
66
+ export interface AgentLiveSave {
67
+ agent_id: string;
68
+ active_version_id?: string | null;
69
+ /** The exact commit that is live (`v3.7`). */
70
+ active_version_tag?: string | null;
71
+ }
72
+ export declare function isLiveRef(ref: string): boolean;
51
73
  /**
52
74
  * The version row `live_version_id` points at. The field's name says id,
53
75
  * but the wire returns the version *tag* on some environments (staging
@@ -55,8 +77,22 @@ export type VersionSource = "version" | "agent-scope" | "template" | "empty";
55
77
  * wild, so a live lookup must match either. Matching only one side made
56
78
  * `agent import` report "no live version" for agents that had one
57
79
  * (REPORTS-26), while sends assumed the tag shape and worked by luck.
80
+ *
81
+ * The tag names the live COMMIT, which its branch may have moved past
82
+ * (`v3.7` while the row reads `v3.9`), so a tag matches its branch by number.
58
83
  */
59
84
  export declare function findLiveVersion(agent: Pick<Agent, "live_version_id">, versions: AgentVersion[]): AgentVersion | undefined;
85
+ /** The commit `live` (from `findLiveVersion`) serves: the tag the agent names,
86
+ * or the branch's newest when the agent names the version by id. */
87
+ export declare function liveCommitTag(agent: Pick<Agent, "live_version_id">, live: AgentVersion): string;
88
+ /** A branch's name, `v3` — how `branch list` prints it and every verb takes it. */
89
+ export declare function branchName(version: Pick<AgentVersion, "version_tag"> & {
90
+ version_number?: number;
91
+ }): string;
92
+ /** The default name of a branch cut from `version`: its name, marked continued once. */
93
+ export declare function continuedName(version: Pick<AgentVersion, "label" | "version_tag">): string;
94
+ /** A branch's state as people say it: the registry's `published` is `locked`. */
95
+ export declare function branchState(status: VersionStatus): string;
60
96
  export declare class ManagementClient {
61
97
  private readonly http;
62
98
  constructor(http: HttpClient);
@@ -71,9 +107,8 @@ export declare class ManagementClient {
71
107
  *
72
108
  * `runtimeVersion` picks the engine and with it the create flow: a `1.x`
73
109
  * family runs the legacy v1 flow; anything else creates a runtime-v2 agent
74
- * seeded with one empty editable draft (no live version until the first
75
- * real push + publish). `fromTemplate` names an explicit clone source; the
76
- * agent then goes live on the template's content immediately.
110
+ * seeded with one open branch whose first commit is live. `fromTemplate`
111
+ * names an explicit clone source for that commit.
77
112
  */
78
113
  createAgent(projectId: string, input: {
79
114
  name: string;
@@ -81,12 +116,27 @@ export declare class ManagementClient {
81
116
  runtimeVersion?: string;
82
117
  }): Promise<Agent>;
83
118
  getAgent(agentId: string): Promise<Agent>;
119
+ /**
120
+ * The agent's versions. INTERNAL, for `parent_version_tag`: the published
121
+ * record has no lineage field, and the merge-base walk
122
+ * (`bundle/lineage.ts`) and `apollo branch list`'s "from v3.12" line both
123
+ * read it.
124
+ *
125
+ * The internal surface answers `{items}` where the published one answers
126
+ * `{results}`; the envelope is normalized here so no caller has to know
127
+ * which surface served it.
128
+ */
84
129
  listVersions(agentId: string, filters?: {
85
130
  status?: VersionStatus;
86
131
  tag?: string;
87
132
  versionNumber?: number;
88
133
  excludeRevisions?: boolean;
89
134
  }): Promise<Page<AgentVersion>>;
135
+ /** A branch's commits, newest first — one page of `size`, with the branch's total. */
136
+ listRevisions(agentId: string, versionId: string, size: number): Promise<{
137
+ results: AgentRevision[];
138
+ total: number;
139
+ }>;
90
140
  /**
91
141
  * Resolve a local pin (`v{major}.{revision}`) to a version row.
92
142
  *
@@ -96,14 +146,62 @@ export declare class ManagementClient {
96
146
  * `v0.11` on the same draft.
97
147
  */
98
148
  resolveVersion(agentId: string, tag: string): Promise<AgentVersion>;
149
+ /**
150
+ * A ref → the branch row AND the exact COMMIT it names. `resolveVersion`
151
+ * answers with the row (whose tag is the branch's newest commit); a ref like
152
+ * `v3.7` that names an older commit keeps it here, so fetch, diff,
153
+ * merge-from and `version create --from` work from the commit the author
154
+ * pointed at, not the tip. `live` is the live commit, and a commit the
155
+ * branch does not have is refused rather than read as its newest.
156
+ */
157
+ resolveRef(agentId: string, ref: string): Promise<{
158
+ version: AgentVersion;
159
+ tag: string;
160
+ }>;
99
161
  createVersion(agentId: string, input: {
100
162
  source: VersionSource;
163
+ /** The signed-in user the new version is attributed to. */
164
+ createdBy: string;
101
165
  fromVersion?: string;
166
+ /** Cut from this exact commit of `fromVersion` (`v3.7`) rather than
167
+ * its latest one; recorded as the draft's `parent_version_tag`. */
168
+ fromVersionTag?: string;
102
169
  fromTemplate?: string;
103
170
  label?: string;
104
171
  tags?: string[];
105
172
  notes?: string;
106
173
  }): Promise<AgentVersion>;
174
+ /** Rename a version (its `label`) — the name people refer to it by. */
175
+ updateVersion(agentId: string, versionId: string, patch: {
176
+ label?: string;
177
+ notes?: string;
178
+ }): Promise<AgentVersion>;
179
+ /**
180
+ * LOCK a branch (draft → locked): no more commits land on it. Working-tree
181
+ * management, and no statement about customers — live is a pinned SAVE held
182
+ * by the agent, not by a version's status.
183
+ *
184
+ * INTERNAL, and not by choice: the published surface has no lock route at
185
+ * all (its `publish` verb locks AND ships, which is the pair this split
186
+ * exists to separate).
187
+ */
188
+ lockVersion(agentId: string, versionId: string, lockedBy: string): Promise<AgentVersion>;
189
+ /** UNLOCK a locked branch (locked → draft), so commits land on it again —
190
+ * the undo for locking one too early. It cannot change what customers get.
191
+ * INTERNAL: the published surface has no such verb. */
192
+ unlockVersion(agentId: string, versionId: string): Promise<AgentVersion>;
193
+ /**
194
+ * Make ONE COMMIT live — the exact bundle the agent serves.
195
+ *
196
+ * `versionTag` names it; omitted, the branch's newest commit goes live. Any
197
+ * non-archived branch qualifies, a draft included, and a later push onto
198
+ * it does NOT move the pointer. The answer is apollo's read-back of the
199
+ * agent, so a caller sees the commit that is actually live.
200
+ *
201
+ * INTERNAL: the published `publish` verb means "lock it, then ship its
202
+ * newest commit" and keeps that meaning.
203
+ */
204
+ activateSave(agentId: string, versionId: string, versionTag?: string): Promise<AgentLiveSave>;
107
205
  publishVersion(agentId: string, versionId: string): Promise<AgentVersion>;
108
206
  archiveVersion(agentId: string, versionId: string): Promise<AgentVersion>;
109
207
  /**
@@ -112,7 +210,13 @@ export declare class ManagementClient {
112
210
  * the agent's `active_blob_stats`). Omitted, the revision is unpinned —
113
211
  * exactly the payload every push sent before the field existed.
114
212
  */
115
- pushVersion(agentId: string, versionId: string, bundle: Record<string, unknown>, commitMessage?: string, runtimeVersion?: string): Promise<VersionPush>;
213
+ pushVersion(agentId: string, versionId: string, bundle: Record<string, unknown>,
214
+ /** The signed-in user the commit is attributed to. */
215
+ pushedBy: string, commitMessage?: string, runtimeVersion?: string,
216
+ /** The commit these changes are based on. The registry refuses the push
217
+ * (409 `agent_versions.version_moved`) when the version has moved past
218
+ * it — nobody's commit is ever silently overwritten. */
219
+ baseVersionTag?: string): Promise<VersionPush>;
116
220
  pullVersion(agentId: string, versionId: string, versionTag?: string): Promise<VersionPull>;
117
221
  }
118
222
  /** `v8.14` / `v8` → major (+ optional revision). */
@@ -1,3 +1,35 @@
1
+ /**
2
+ * BRANCHES AND COMMITS, and apollo's two management surfaces.
3
+ *
4
+ * A VERSION is a BRANCH (a line of work) and a REVISION is a COMMIT (one push
5
+ * onto it); live is a COMMIT, pinned by tag. The WIRE keeps its own words —
6
+ * `version_id`, `version_tag`, `base_version_tag`, `active_version_tag` — and
7
+ * so do the types in this file, because they mirror apollo's payloads.
8
+ * Everything the CLI names itself says branch and commit: command help,
9
+ * output lines, refusals.
10
+ *
11
+ * PUBLIC (`/management/v1`) is the Fern-published one every SDK sees. INTERNAL
12
+ * (`/internal/management/v1`) is the AUI-only one, reached through the same
13
+ * gateway and token (the clone and vault clients already live there).
14
+ *
15
+ * The program-versioning fields — `from_version_tag` when branching,
16
+ * `base_version_tag` on a push, `parent_version_tag` on the way back, the
17
+ * unlock verb and the commit-level live pointer — are carried by the INTERNAL
18
+ * surface alone (apollo-api, 2026-09-22: the published one did not change, so
19
+ * the apollo SDK is unaffected). A body field the public surface does not
20
+ * declare is DROPPED in silence, so those calls have to be made here or the
21
+ * declaration they make is a lie: an unchecked push reads as a checked one.
22
+ *
23
+ * Everything else stays published: projects, agents, rename, archive, publish
24
+ * and the bundle pull need nothing the public surface lacks.
25
+ */
26
+ const PUBLIC = "/management/v1";
27
+ const INTERNAL = "/internal/management/v1";
28
+ /** `live`, `active` and `production` all name what customers get. */
29
+ const LIVE_REF = /^(live|active|production)$/i;
30
+ export function isLiveRef(ref) {
31
+ return LIVE_REF.test(ref.trim());
32
+ }
1
33
  /**
2
34
  * The version row `live_version_id` points at. The field's name says id,
3
35
  * but the wire returns the version *tag* on some environments (staging
@@ -5,12 +37,41 @@
5
37
  * wild, so a live lookup must match either. Matching only one side made
6
38
  * `agent import` report "no live version" for agents that had one
7
39
  * (REPORTS-26), while sends assumed the tag shape and worked by luck.
40
+ *
41
+ * The tag names the live COMMIT, which its branch may have moved past
42
+ * (`v3.7` while the row reads `v3.9`), so a tag matches its branch by number.
8
43
  */
9
44
  export function findLiveVersion(agent, versions) {
10
45
  const live = agent.live_version_id;
11
46
  if (!live)
12
47
  return undefined;
13
- return versions.find((version) => version.id === live || version.version_tag === live);
48
+ const major = parseVersionTag(live)?.major;
49
+ return versions.find((version) => version.id === live ||
50
+ version.version_tag === live ||
51
+ (major !== undefined && version.version_number === major));
52
+ }
53
+ /** The commit `live` (from `findLiveVersion`) serves: the tag the agent names,
54
+ * or the branch's newest when the agent names the version by id. */
55
+ export function liveCommitTag(agent, live) {
56
+ const tag = agent.live_version_id;
57
+ return tag && parseVersionTag(tag)?.revision !== undefined ? tag.trim() : live.version_tag;
58
+ }
59
+ /** A branch's name, `v3` — how `branch list` prints it and every verb takes it. */
60
+ export function branchName(version) {
61
+ const major = Number.isSafeInteger(version.version_number)
62
+ ? version.version_number
63
+ : parseVersionTag(version.version_tag)?.major;
64
+ return major === undefined ? version.version_tag : `v${major}`;
65
+ }
66
+ const CONTINUED = " (continued)";
67
+ /** The default name of a branch cut from `version`: its name, marked continued once. */
68
+ export function continuedName(version) {
69
+ const name = version.label?.trim() || version.version_tag;
70
+ return name.endsWith(CONTINUED) ? name : `${name}${CONTINUED}`;
71
+ }
72
+ /** A branch's state as people say it: the registry's `published` is `locked`. */
73
+ export function branchState(status) {
74
+ return status === "published" ? "locked" : status;
14
75
  }
15
76
  export class ManagementClient {
16
77
  http;
@@ -18,19 +79,19 @@ export class ManagementClient {
18
79
  this.http = http;
19
80
  }
20
81
  listProjects() {
21
- return this.http.request("/management/v1/projects");
82
+ return this.http.request(`${PUBLIC}/projects`);
22
83
  }
23
84
  getProject(projectId) {
24
- return this.http.request(`/management/v1/projects/${projectId}`);
85
+ return this.http.request(`${PUBLIC}/projects/${projectId}`);
25
86
  }
26
87
  createProject(name) {
27
- return this.http.request("/management/v1/projects", {
88
+ return this.http.request(`${PUBLIC}/projects`, {
28
89
  method: "POST",
29
90
  body: { name },
30
91
  });
31
92
  }
32
93
  listAgents(projectId, name) {
33
- return this.http.request(`/management/v1/projects/${projectId}/agents`, {
94
+ return this.http.request(`${PUBLIC}/projects/${projectId}/agents`, {
34
95
  query: { name },
35
96
  });
36
97
  }
@@ -41,12 +102,11 @@ export class ManagementClient {
41
102
  *
42
103
  * `runtimeVersion` picks the engine and with it the create flow: a `1.x`
43
104
  * family runs the legacy v1 flow; anything else creates a runtime-v2 agent
44
- * seeded with one empty editable draft (no live version until the first
45
- * real push + publish). `fromTemplate` names an explicit clone source; the
46
- * agent then goes live on the template's content immediately.
105
+ * seeded with one open branch whose first commit is live. `fromTemplate`
106
+ * names an explicit clone source for that commit.
47
107
  */
48
108
  createAgent(projectId, input) {
49
- return this.http.request(`/management/v1/projects/${projectId}/agents`, {
109
+ return this.http.request(`${PUBLIC}/projects/${projectId}/agents`, {
50
110
  method: "POST",
51
111
  body: {
52
112
  name: input.name,
@@ -60,17 +120,34 @@ export class ManagementClient {
60
120
  });
61
121
  }
62
122
  getAgent(agentId) {
63
- return this.http.request(`/management/v1/agents/${agentId}`);
123
+ return this.http.request(`${PUBLIC}/agents/${agentId}`);
64
124
  }
65
- listVersions(agentId, filters = {}) {
66
- return this.http.request(`/management/v1/agents/${agentId}/versions`, {
125
+ /**
126
+ * The agent's versions. INTERNAL, for `parent_version_tag`: the published
127
+ * record has no lineage field, and the merge-base walk
128
+ * (`bundle/lineage.ts`) and `apollo branch list`'s "from v3.12" line both
129
+ * read it.
130
+ *
131
+ * The internal surface answers `{items}` where the published one answers
132
+ * `{results}`; the envelope is normalized here so no caller has to know
133
+ * which surface served it.
134
+ */
135
+ async listVersions(agentId, filters = {}) {
136
+ const page = await this.http.request(`${INTERNAL}/agents/${agentId}/versions`, {
67
137
  query: {
68
138
  status: filters.status,
69
139
  tag: filters.tag,
70
140
  version_number: filters.versionNumber,
71
141
  exclude_revisions: filters.excludeRevisions,
142
+ size: 100,
72
143
  },
73
144
  });
145
+ return { results: page.items ?? [] };
146
+ }
147
+ /** A branch's commits, newest first — one page of `size`, with the branch's total. */
148
+ async listRevisions(agentId, versionId, size) {
149
+ const page = await this.http.request(`${INTERNAL}/agents/${agentId}/revisions`, { query: { version_id: versionId, size, sort_by: "created_at", sort_order: "desc" } });
150
+ return { results: page.items, total: page.total };
74
151
  }
75
152
  /**
76
153
  * Resolve a local pin (`v{major}.{revision}`) to a version row.
@@ -82,6 +159,14 @@ export class ManagementClient {
82
159
  */
83
160
  async resolveVersion(agentId, tag) {
84
161
  const normalized = tag.trim();
162
+ // `live` is the version customers get — the one ref that is not a tag.
163
+ if (isLiveRef(normalized)) {
164
+ const [agent, all] = await Promise.all([this.getAgent(agentId), this.listVersions(agentId)]);
165
+ const live = findLiveVersion(agent, all.results);
166
+ if (!live)
167
+ throw new Error(`Agent ${agentId} has no live version`);
168
+ return live;
169
+ }
85
170
  let page = await this.listVersions(agentId, { tag: normalized });
86
171
  let match = page.results.find((version) => version.version_tag === normalized);
87
172
  if (!match) {
@@ -100,14 +185,53 @@ export class ManagementClient {
100
185
  if (filteredTip)
101
186
  return filteredTip;
102
187
  }
188
+ // A version's NAME (its label) — how a non-technical author refers to it.
189
+ const named = page.results.filter((version) => (version.label ?? "").trim().toLowerCase() === normalized.toLowerCase());
190
+ if (named.length === 1)
191
+ return named[0];
192
+ if (named.length > 1) {
193
+ throw new Error(`"${normalized}" names ${named.length} versions (${named
194
+ .map((version) => version.version_tag)
195
+ .join(", ")}) — use a tag`);
196
+ }
103
197
  throw new Error(`No version with tag ${tag} exists for agent ${agentId}`);
104
198
  }
199
+ /**
200
+ * A ref → the branch row AND the exact COMMIT it names. `resolveVersion`
201
+ * answers with the row (whose tag is the branch's newest commit); a ref like
202
+ * `v3.7` that names an older commit keeps it here, so fetch, diff,
203
+ * merge-from and `version create --from` work from the commit the author
204
+ * pointed at, not the tip. `live` is the live commit, and a commit the
205
+ * branch does not have is refused rather than read as its newest.
206
+ */
207
+ async resolveRef(agentId, ref) {
208
+ if (isLiveRef(ref)) {
209
+ const [agent, all] = await Promise.all([this.getAgent(agentId), this.listVersions(agentId)]);
210
+ const live = findLiveVersion(agent, all.results);
211
+ if (!live)
212
+ throw new Error(`Agent ${agentId} has no live version`);
213
+ return { version: live, tag: liveCommitTag(agent, live) };
214
+ }
215
+ const version = await this.resolveVersion(agentId, ref);
216
+ const parsed = parseVersionTag(ref);
217
+ if (parsed?.revision !== undefined && parsed.major === version.version_number) {
218
+ if (parsed.revision < 1 || parsed.revision > version.version_revision_number) {
219
+ throw new Error(`${ref.trim()} is not a commit of v${version.version_number} (its commits are v${version.version_number}.1 .. ${version.version_tag})`);
220
+ }
221
+ return { version, tag: `v${parsed.major}.${parsed.revision}` };
222
+ }
223
+ return { version, tag: version.version_tag };
224
+ }
105
225
  createVersion(agentId, input) {
106
- return this.http.request(`/management/v1/agents/${agentId}/versions`, {
226
+ // INTERNAL: `from_version_tag` is the reason this call exists in its
227
+ // current shape, and the published surface drops it.
228
+ return this.http.request(`${INTERNAL}/agents/${agentId}/versions`, {
107
229
  method: "POST",
108
230
  body: {
109
231
  source: input.source,
232
+ created_by: input.createdBy,
110
233
  from_version: input.fromVersion,
234
+ from_version_tag: input.fromVersionTag,
111
235
  from_template: input.fromTemplate,
112
236
  label: input.label,
113
237
  tags: input.tags,
@@ -115,11 +239,56 @@ export class ManagementClient {
115
239
  },
116
240
  });
117
241
  }
242
+ /** Rename a version (its `label`) — the name people refer to it by. */
243
+ updateVersion(agentId, versionId, patch) {
244
+ return this.http.request(`${PUBLIC}/agents/${agentId}/versions/${versionId}`, {
245
+ method: "PATCH",
246
+ body: patch,
247
+ });
248
+ }
249
+ /**
250
+ * LOCK a branch (draft → locked): no more commits land on it. Working-tree
251
+ * management, and no statement about customers — live is a pinned SAVE held
252
+ * by the agent, not by a version's status.
253
+ *
254
+ * INTERNAL, and not by choice: the published surface has no lock route at
255
+ * all (its `publish` verb locks AND ships, which is the pair this split
256
+ * exists to separate).
257
+ */
258
+ lockVersion(agentId, versionId, lockedBy) {
259
+ return this.http.request(`${INTERNAL}/agents/${agentId}/versions/${versionId}/lock`, { method: "PUT", query: { published_by: lockedBy } });
260
+ }
261
+ /** UNLOCK a locked branch (locked → draft), so commits land on it again —
262
+ * the undo for locking one too early. It cannot change what customers get.
263
+ * INTERNAL: the published surface has no such verb. */
264
+ unlockVersion(agentId, versionId) {
265
+ return this.http.request(`${INTERNAL}/agents/${agentId}/versions/${versionId}/unlock`, { method: "PUT" });
266
+ }
267
+ /**
268
+ * Make ONE COMMIT live — the exact bundle the agent serves.
269
+ *
270
+ * `versionTag` names it; omitted, the branch's newest commit goes live. Any
271
+ * non-archived branch qualifies, a draft included, and a later push onto
272
+ * it does NOT move the pointer. The answer is apollo's read-back of the
273
+ * agent, so a caller sees the commit that is actually live.
274
+ *
275
+ * INTERNAL: the published `publish` verb means "lock it, then ship its
276
+ * newest commit" and keeps that meaning.
277
+ */
278
+ activateSave(agentId, versionId, versionTag) {
279
+ return this.http.request(`${INTERNAL}/agents/${agentId}/active-version`, {
280
+ method: "PUT",
281
+ body: {
282
+ active_version_id: versionId,
283
+ ...(versionTag === undefined ? {} : { active_version_tag: versionTag }),
284
+ },
285
+ });
286
+ }
118
287
  publishVersion(agentId, versionId) {
119
- return this.http.request(`/management/v1/agents/${agentId}/versions/${versionId}/publish`, { method: "POST" });
288
+ return this.http.request(`${PUBLIC}/agents/${agentId}/versions/${versionId}/publish`, { method: "POST" });
120
289
  }
121
290
  archiveVersion(agentId, versionId) {
122
- return this.http.request(`/management/v1/agents/${agentId}/versions/${versionId}/archive`, { method: "POST" });
291
+ return this.http.request(`${PUBLIC}/agents/${agentId}/versions/${versionId}/archive`, { method: "POST" });
123
292
  }
124
293
  /**
125
294
  * `runtimeVersion` stamps the revision with the engine build it targets
@@ -127,21 +296,32 @@ export class ManagementClient {
127
296
  * the agent's `active_blob_stats`). Omitted, the revision is unpinned —
128
297
  * exactly the payload every push sent before the field existed.
129
298
  */
130
- pushVersion(agentId, versionId, bundle, commitMessage, runtimeVersion) {
131
- return this.http.request(`/management/v1/agents/${agentId}/versions/${versionId}/push`, {
299
+ pushVersion(agentId, versionId, bundle,
300
+ /** The signed-in user the commit is attributed to. */
301
+ pushedBy, commitMessage, runtimeVersion,
302
+ /** The commit these changes are based on. The registry refuses the push
303
+ * (409 `agent_versions.version_moved`) when the version has moved past
304
+ * it — nobody's commit is ever silently overwritten. */
305
+ baseVersionTag) {
306
+ // INTERNAL: `base_version_tag` is what makes this push a CHECKED one, and
307
+ // the published surface would drop it without a word — an unchecked push
308
+ // wearing a checked push's clothes.
309
+ return this.http.request(`${INTERNAL}/agents/${agentId}/versions/${versionId}/push`, {
132
310
  method: "POST",
133
311
  body: {
134
312
  caller: "cli",
313
+ pushed_by: pushedBy,
135
314
  commit_message: commitMessage,
136
315
  ...(runtimeVersion === undefined
137
316
  ? {}
138
317
  : { runtime_version: runtimeVersion }),
318
+ ...(baseVersionTag === undefined ? {} : { base_version_tag: baseVersionTag }),
139
319
  bundle,
140
320
  },
141
321
  });
142
322
  }
143
323
  pullVersion(agentId, versionId, versionTag) {
144
- return this.http.request(`/management/v1/agents/${agentId}/versions/${versionId}/pull`, { query: { version_tag: versionTag } });
324
+ return this.http.request(`${PUBLIC}/agents/${agentId}/versions/${versionId}/pull`, { query: { version_tag: versionTag } });
145
325
  }
146
326
  }
147
327
  /** `v8.14` / `v8` → major (+ optional revision). */
@@ -1 +1 @@
1
- {"version":3,"file":"management.js","sourceRoot":"","sources":["../../../src/api/management.ts"],"names":[],"mappings":"AA0DA;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAqC,EACrC,QAAwB;IAExB,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,QAAQ,CAAC,IAAI,CAClB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,gBAAgB;IACS;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,YAAY;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAEM,UAAU,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;IACnE,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,SAAiB,EAAE,IAAa;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,SAAS,SAAS,EAAE;YACtE,KAAK,EAAE,EAAE,IAAI,EAAE;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACI,WAAW,CAChB,SAAiB,EACjB,KAAuE;QAEvE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,SAAS,SAAS,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAClC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS;oBACpC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;aAC/C;SACF,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,YAAY,CACjB,OAAe,EACf,UAKI,EAAE;QAEN,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,OAAO,WAAW,EAAE;YACpE,KAAK,EAAE;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,OAAO,CAAC,aAAa;gBACrC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB;aAC5C;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,GAAW;QACtD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,qBAAqB,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,aAAa,CAClB,OAAe,EACf,KAOC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,OAAO,WAAW,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,WAAW;gBAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;gBACjC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,OAAe,EAAE,SAAiB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,yBAAyB,OAAO,aAAa,SAAS,UAAU,EAChE,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;IAEM,cAAc,CAAC,OAAe,EAAE,SAAiB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,yBAAyB,OAAO,aAAa,SAAS,UAAU,EAChE,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAChB,OAAe,EACf,SAAiB,EACjB,MAA+B,EAC/B,aAAsB,EACtB,cAAuB;QAEvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,yBAAyB,OAAO,aAAa,SAAS,OAAO,EAC7D;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,MAAM,EAAE,KAAK;gBACb,cAAc,EAAE,aAAa;gBAC7B,GAAG,CAAC,cAAc,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;gBACxC,MAAM;aACP;SACF,CACF,CAAC;IACJ,CAAC;IAEM,WAAW,CAChB,OAAe,EACf,SAAiB,EACjB,UAAmB;QAEnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,yBAAyB,OAAO,aAAa,SAAS,OAAO,EAC7D,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CACvC,CAAC;IACJ,CAAC;CACF;AAED,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAC7B,GAAW;IAEX,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,QAAwB,EAAE,KAAa;IACzD,MAAM,IAAI,GAAG,QAAQ;SAClB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC;SACrD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"management.js","sourceRoot":"","sources":["../../../src/api/management.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,13 @@ export interface MockDbTokenAuth {
7
7
  apiUrl: string;
8
8
  organizationId?: string;
9
9
  }
10
- export interface MockDbMgmtAuth {
11
- mode: "mgmt";
12
- managementKey: string;
13
- }
14
10
  export interface MockDbRuntimeAuth {
15
11
  mode: "runtime";
16
12
  runtimeKey: string;
17
13
  /** Copy-on-write session key (the runtime sends the task id). Required for writes. */
18
14
  sessionKey?: string;
19
15
  }
20
- export type MockDbAuth = MockDbTokenAuth | MockDbMgmtAuth | MockDbRuntimeAuth;
16
+ export type MockDbAuth = MockDbTokenAuth | MockDbRuntimeAuth;
21
17
  export interface MockDbProvisionResponse {
22
18
  agentId?: string;
23
19
  accountId?: string;
@@ -35,13 +35,10 @@
35
35
  * ─── Authentication (mirrors the service's lib/auth.ts) ─────────────────
36
36
  *
37
37
  * - "token" — `Authorization: Bearer <Apollo token>` + `Account-Id` +
38
- * `X-AUI-Api-Url`. Used for provision / status / delete and
39
- * as the fallback when no management key is available. The
40
- * service verifies the token against Apollo (the caller must
41
- * be a member of the agent's account).
42
- * - "mgmt" — `X-Mgmt-Key: <managementKey>` only. Agent-scoped; no Apollo
43
- * token transmitted. Preferred for all management after the
44
- * first provision.
38
+ * `X-AUI-Api-Url`. Every management call. The platform
39
+ * gateway authenticates the token (identity forward-auth);
40
+ * a deployment not yet behind the gateway verifies it itself
41
+ * against the named account.
45
42
  * - "runtime" — `Authorization: Bearer <runtimeKey>` + `X-Session-Key`.
46
43
  * What the deployed agent uses; the console uses it to test
47
44
  * endpoints under a session.
@@ -79,9 +76,6 @@ function authHeaders(auth) {
79
76
  headers["organization-id"] = auth.organizationId;
80
77
  return headers;
81
78
  }
82
- if (auth.mode === "mgmt") {
83
- return { "X-Mgmt-Key": auth.managementKey };
84
- }
85
79
  const headers = {
86
80
  Authorization: `Bearer ${auth.runtimeKey}`,
87
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mock-db.js","sourceRoot":"","sources":["../../../src/api/mock-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-db.js","sourceRoot":"","sources":["../../../src/api/mock-db.ts"],"names":[],"mappings":"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"}