@aui.io/apollo 0.1.32 → 0.1.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 (40) hide show
  1. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +177 -22
  2. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
  3. package/node_modules/@aui.io/apollo-cli/package.json +3 -3
  4. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +170 -0
  5. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +52 -0
  6. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -0
  7. package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.d.ts +15 -6
  8. package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js +9 -7
  9. package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js.map +1 -1
  10. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js +5 -0
  11. package/node_modules/@aui.io/apollo-core/dist/src/config/index.js.map +1 -1
  12. package/node_modules/@aui.io/apollo-core/dist/src/config/types.d.ts +17 -0
  13. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +7 -4
  14. package/node_modules/@aui.io/apollo-core/dist/src/index.js +5 -2
  15. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
  16. package/node_modules/@aui.io/apollo-core/dist/src/services/advisor.d.ts +37 -0
  17. package/node_modules/@aui.io/apollo-core/dist/src/services/advisor.js +86 -0
  18. package/node_modules/@aui.io/apollo-core/dist/src/services/advisor.js.map +1 -0
  19. package/node_modules/@aui.io/apollo-core/dist/src/services/builds.d.ts +37 -0
  20. package/node_modules/@aui.io/apollo-core/dist/src/services/builds.js +52 -0
  21. package/node_modules/@aui.io/apollo-core/dist/src/services/builds.js.map +1 -0
  22. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +35 -16
  23. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +81 -29
  24. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
  25. package/node_modules/@aui.io/apollo-core/dist/src/services/clients.d.ts +3 -0
  26. package/node_modules/@aui.io/apollo-core/dist/src/services/clients.js +10 -0
  27. package/node_modules/@aui.io/apollo-core/dist/src/services/clients.js.map +1 -1
  28. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.d.ts +11 -4
  29. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js +28 -10
  30. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js.map +1 -1
  31. package/node_modules/@aui.io/apollo-core/dist/src/skills/install.d.ts +24 -2
  32. package/node_modules/@aui.io/apollo-core/dist/src/skills/install.js +53 -4
  33. package/node_modules/@aui.io/apollo-core/dist/src/skills/install.js.map +1 -1
  34. package/node_modules/@aui.io/apollo-core/package.json +1 -1
  35. package/node_modules/@aui.io/apollo-tui/dist/src/author/data.d.ts +2 -2
  36. package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js +2 -2
  37. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +1 -1
  38. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +1 -1
  39. package/node_modules/@aui.io/apollo-tui/package.json +2 -2
  40. package/package.json +4 -4
@@ -59,6 +59,13 @@ export interface SkillFile {
59
59
  }
60
60
  export interface AgentsMd {
61
61
  content: string;
62
+ /**
63
+ * Which page this is — echoed by engines that ship per-audience pages.
64
+ * Absent on older engines, which ignore the query and always serve the
65
+ * authoring page; a headless caller MUST check this before trusting the
66
+ * content.
67
+ */
68
+ audience?: string;
62
69
  }
63
70
  /**
64
71
  * A send is synchronous on the wire — the response IS the agent's turn, and
@@ -103,13 +110,15 @@ export declare class RuntimeApiClient {
103
110
  listSkills(): Promise<SkillIndexItem[]>;
104
111
  getSkill(skillId: string, file?: string): Promise<SkillFile>;
105
112
  /**
106
- * The checkout's authoring page — the engine's own lifecycle page, served
107
- * by the runtime that defines it (the same bytes the builder appends after
108
- * its instructions). Not a skill: it belongs at the checkout root, so it
109
- * has its own endpoint rather than a slot in the skills index. Engines
110
- * older than the endpoint answer 404.
113
+ * The checkout's standing page — the engine's own lifecycle page by
114
+ * default (the same bytes the builder appends after its instructions), or
115
+ * the self-contained headless brief for `audience: "headless"`. Not a
116
+ * skill: it belongs at the checkout root, so it has its own endpoint
117
+ * rather than a slot in the skills index. Engines older than the endpoint
118
+ * answer 404; engines older than the headless page ignore the query — see
119
+ * `AgentsMd.audience`.
111
120
  */
112
- getAgentsMd(): Promise<AgentsMd>;
121
+ getAgentsMd(audience?: "headless"): Promise<AgentsMd>;
113
122
  getProgramSchemas(file?: string): Promise<Record<string, unknown>>;
114
123
  validateProgram(bundle: Record<string, unknown>): Promise<{
115
124
  valid: boolean;
@@ -81,14 +81,16 @@ export class RuntimeApiClient {
81
81
  });
82
82
  }
83
83
  /**
84
- * The checkout's authoring page — the engine's own lifecycle page, served
85
- * by the runtime that defines it (the same bytes the builder appends after
86
- * its instructions). Not a skill: it belongs at the checkout root, so it
87
- * has its own endpoint rather than a slot in the skills index. Engines
88
- * older than the endpoint answer 404.
84
+ * The checkout's standing page — the engine's own lifecycle page by
85
+ * default (the same bytes the builder appends after its instructions), or
86
+ * the self-contained headless brief for `audience: "headless"`. Not a
87
+ * skill: it belongs at the checkout root, so it has its own endpoint
88
+ * rather than a slot in the skills index. Engines older than the endpoint
89
+ * answer 404; engines older than the headless page ignore the query — see
90
+ * `AgentsMd.audience`.
89
91
  */
90
- getAgentsMd() {
91
- return this.http.request("/api/v1/agents-md");
92
+ getAgentsMd(audience) {
93
+ return this.http.request("/api/v1/agents-md", { query: { audience } });
92
94
  }
93
95
  getProgramSchemas(file) {
94
96
  return this.http.request("/api/v1/programs/schema", {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-api.js","sourceRoot":"","sources":["../../../src/api/runtime-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-api.js","sourceRoot":"","sources":["../../../src/api/runtime-api.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const environmentUrls = {
14
14
  kbm: "https://api-staging-v3.internal-aui.io/knowledge-base-manager",
15
15
  agentSettings: "https://api-staging-v3.internal-aui.io/agent-settings",
16
16
  network: "https://api-staging-v3.internal-aui.io/api/network",
17
+ builder: "https://api-staging-v3.internal-aui.io/builder-api",
17
18
  },
18
19
  production: {
19
20
  identity: "https://api-v3.aui.io/api",
@@ -24,6 +25,7 @@ const environmentUrls = {
24
25
  kbm: "https://api-v3.aui.io/knowledge-base-manager",
25
26
  agentSettings: "https://api-v3.aui.io/agent-settings",
26
27
  network: "https://api-v3.aui.io/api/network",
28
+ builder: "https://api-v3.aui.io/builder-api",
27
29
  },
28
30
  eu: {
29
31
  identity: "https://api-eu-v3.aui.io/api",
@@ -34,6 +36,7 @@ const environmentUrls = {
34
36
  kbm: "https://api-eu-v3.aui.io/knowledge-base-manager",
35
37
  agentSettings: "https://api-eu-v3.aui.io/agent-settings",
36
38
  network: "https://api-eu-v3.aui.io/api/network",
39
+ builder: "https://api-eu-v3.aui.io/builder-api",
37
40
  },
38
41
  };
39
42
  export function parseEnvironment(value) {
@@ -87,6 +90,7 @@ export async function resolveContext(options = {}) {
87
90
  kbm: stripSlash(env.APOLLO_KBM_URL ?? defaults.kbm),
88
91
  agentSettings: stripSlash(env.APOLLO_AGENT_SETTINGS_URL ?? defaults.agentSettings),
89
92
  network: stripSlash(env.APOLLO_NETWORK_URL ?? defaults.network),
93
+ builder: stripSlash(env.APOLLO_BUILDER_URL ?? defaults.builder),
90
94
  }),
91
95
  ...(flags.org ?? env.APOLLO_ORG_ID ?? binding?.org_id ?? claims.organizationId
92
96
  ? {
@@ -111,6 +115,7 @@ export async function resolveContext(options = {}) {
111
115
  ...(binding?.version_tag === undefined
112
116
  ? {}
113
117
  : { versionTag: binding.version_tag }),
118
+ ...(binding?.workspace === "headless" ? { workspace: "headless" } : {}),
114
119
  // The pin is per checkout; the flag and env var override it for one
115
120
  // command without ever being written back to `.apollorc`.
116
121
  ...(runtimeVersion === undefined ? {} : { runtimeVersion }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,16 @@ export interface BaseUrls {
13
13
  agentSettings: string;
14
14
  /** network service — the network a new agent is scoped to (`agent create`). */
15
15
  network: string;
16
+ /** builder-api — the headless authoring verbs (`validate`, `certify`). */
17
+ builder: string;
16
18
  }
19
+ /**
20
+ * A checkout's skill profile. `authoring` (the default, and what an absent
21
+ * key means) installs the full skill packs; `headless` installs NONE — the
22
+ * checkout's whole brief is its `AGENTS.md`, and pulls delete any managed
23
+ * packs a mode switch left behind.
24
+ */
25
+ export type WorkspaceMode = "authoring" | "headless";
17
26
  export interface ProjectBinding {
18
27
  config_version: 1;
19
28
  org_id?: string;
@@ -27,6 +36,8 @@ export interface ProjectBinding {
27
36
  * which is how every checkout behaved before pinning existed.
28
37
  */
29
38
  runtime_version?: string;
39
+ /** Only ever written as `headless`; absent means authoring. */
40
+ workspace?: WorkspaceMode;
30
41
  }
31
42
  export interface UserConfig {
32
43
  profile?: string;
@@ -81,6 +92,12 @@ export interface Context {
81
92
  readonly bindingPath?: string;
82
93
  /** The agent checkout containing the cwd (directory of `.apollorc`). */
83
94
  readonly agentRoot?: string;
95
+ /**
96
+ * The checkout's skill profile, from `.apollorc`. Only `headless` is ever
97
+ * carried — an absent key, an explicit `authoring`, or an unknown value all
98
+ * mean the default profile.
99
+ */
100
+ readonly workspace?: "headless";
84
101
  }
85
102
  export interface ConfigFlags {
86
103
  env?: string;
@@ -7,6 +7,7 @@ export { MockDbClient, type MockDbAuth, type MockDbClientOptions, type MockDbMgm
7
7
  export { VaultClient, type VaultScope, type VaultSecret, type VaultSecretCreate, } from "./api/vault.js";
8
8
  export { KbmClient, type BulkFilesResponse, type BulkResourceResult, type BulkWebsitesResponse, type IndexingJob, type KnowledgeBase, type UploadFilePart, } from "./api/kbm.js";
9
9
  export { RuntimeApiClient, type AgentOverride, type Message, type RuntimeTrace, type SendMessageRequest, type SendMessageResponse, type SkillFile, type SkillIndexItem, type Thread, } from "./api/runtime-api.js";
10
+ export { BuilderApiClient, type AdvisorAsk, type AdvisorStarted, type AdvisorView, type BuilderCertification, type BuilderFinding, type BuilderTree, type BuilderValidation, type BuildRequest, type BuildStarted, type BuildView, type EraCensus, type OrphanCensus, type ScenarioFailure, } from "./api/builder-api.js";
10
11
  export { Transport, type FormBody, type FormFilePart, type RequestCapture, type TransportOptions, } from "./api/transport.js";
11
12
  export { CaptureLog, captureLog, defaultCapturePath, type CaptureSink, } from "./api/capture.js";
12
13
  export { AgentSettingsClient, type AgentBlobStats, type AgentRecord, type AgentRecordKind, type AgentRecordScope, type AgentVersionRecord, type RuntimeVersionRecord, type BuildBundle, type BuildBundleFile, type BuildBundlePullResponse, type BuildBundlePushResponse, type BundleUploadFile, type EvaluationScorePush, type EvaluationScoreRead, type Scenario, type ScenarioResult, type ScenarioResultStatus, type ScoreReportBlocks, } from "./api/agent-settings.js";
@@ -18,11 +19,13 @@ export { assertValidProgram, mapRuntimeValidation, type RuntimeValidateResponse,
18
19
  export { parseEnvironment, resolveContext, type ResolveConfigOptions, } from "./config/index.js";
19
20
  export { clearMockDbKeys, keyPrefixes, loadMockDbKeys, saveMockDbKeys, type MockDbKeys, } from "./config/mockdb-keys.js";
20
21
  export { apolloDir, findBinding, patchBinding, readBinding, readCredentials, readUserConfig, updateEnvironment, updateProfile, writeBinding, writeCredentials, writeUserConfig, type ConfigPaths, } from "./config/store.js";
21
- export { environments, type BaseUrls, type ConfigFlags, type Context, type Credential, type CredentialsFile, type Environment, type ProjectBinding, type UserConfig, type WorkspacePreferences, } from "./config/types.js";
22
+ export { environments, type BaseUrls, type ConfigFlags, type Context, type Credential, type CredentialsFile, type Environment, type ProjectBinding, type UserConfig, type WorkspaceMode, type WorkspacePreferences, } from "./config/types.js";
22
23
  export { ApiError, AuthError, CliError, ConfigError, ExitCode, ValidationError, toCliError, type ExitCodeValue, } from "./errors/index.js";
23
24
  export { Output, errorEnvelope, successEnvelope, type ErrorEnvelope, type OutputOptions, } from "./output/index.js";
24
25
  export { loginWithBrowser, loginWithOtp, loginWithToken, logout, requestOtp, } from "./services/auth.js";
25
- export { DEFAULT_SKILL_TARGETS, importBundle, listVersions, localDiff, pullBundle, pullCheckout, pushBundle, remoteDiff, validateLocalBundle, validateProgramBundle, type PullCheckoutOptions, type PullCheckoutResult, certifyLocalBundle, needsLocalBundle, } from "./services/bundles.js";
26
+ export { DEFAULT_SKILL_TARGETS, agentRoot, importBundle, listVersions, localDiff, pullBundle, pullCheckout, pushBundle, readCheckoutTree, remoteDiff, validateLocalBundle, validateProgramBundle, type BundleValidation, type PullCheckoutOptions, type PullCheckoutResult, certifyLocalBundle, needsLocalBundle, } from "./services/bundles.js";
27
+ export { ADVISE_DEADLINE_MS, adviseLocalBundle, readAdvisorState, writeAdvisorState, type AdviceResult, type AdviseOptions, type AdvisorState, } from "./services/advisor.js";
28
+ export { BUILD_DEADLINE_MS, buildAgent, type BuildOptions, } from "./services/builds.js";
26
29
  export { createClients, type Clients } from "./services/clients.js";
27
30
  export { listEnvironments, setEnvironment, type EnvironmentResult, type EnvironmentSummary, } from "./services/env.service.js";
28
31
  export { agentRuntimeVersion, bindAgent, createAgent, createProject, initialVersionTag, latestPublishedRuntimeVersion, listAgents, listOrganizations, listProjects, TEMPLATE_AGENT_ID, unlinkAgent, useOrganization, useProject, useVersion, type AgentCreateClients, } from "./services/hierarchy.js";
@@ -38,7 +41,7 @@ export { runDoctor, type DoctorCheck, type DoctorOptions, type DoctorReport, typ
38
41
  export { getStatus, type ServiceCheck, type StatusResult, } from "./services/status.service.js";
39
42
  export { resolvePublishedVersion, upgradeCli, type NpmRunner, type UpgradeOptions, type UpgradeResult, } from "./services/upgrade.js";
40
43
  export { enterCheckout, enterKnownCheckout, listKnownCheckouts, type EnteredCheckout, } from "./services/checkouts.service.js";
41
- export { installSkills, type SkillTarget } from "./skills/install.js";
42
- export { installAgentsPage, type AgentsPageFacts, } from "./skills/agents-page.js";
44
+ export { installSkills, removeManagedSkills, type SkillTarget, } from "./skills/install.js";
45
+ export { installAgentsPage, type AgentsPageAudience, type AgentsPageFacts, } from "./skills/agents-page.js";
43
46
  export { checkoutSchemasDir, installSchemas } from "./schemas/install.js";
44
47
  export { checkoutAlive, defaultCheckoutDir, forgetCheckout, lastUsedCheckout, listCheckouts, readCheckoutRegistry, registerCheckout, registryFile, touchCheckout, type CheckoutEntry, } from "./checkouts/registry.js";
@@ -6,6 +6,7 @@ export { MockDbClient, } from "./api/mock-db.js";
6
6
  export { VaultClient, } from "./api/vault.js";
7
7
  export { KbmClient, } from "./api/kbm.js";
8
8
  export { RuntimeApiClient, } from "./api/runtime-api.js";
9
+ export { BuilderApiClient, } from "./api/builder-api.js";
9
10
  export { Transport, } from "./api/transport.js";
10
11
  export { CaptureLog, captureLog, defaultCapturePath, } from "./api/capture.js";
11
12
  export { AgentSettingsClient, } from "./api/agent-settings.js";
@@ -21,7 +22,9 @@ export { environments, } from "./config/types.js";
21
22
  export { ApiError, AuthError, CliError, ConfigError, ExitCode, ValidationError, toCliError, } from "./errors/index.js";
22
23
  export { Output, errorEnvelope, successEnvelope, } from "./output/index.js";
23
24
  export { loginWithBrowser, loginWithOtp, loginWithToken, logout, requestOtp, } from "./services/auth.js";
24
- export { DEFAULT_SKILL_TARGETS, importBundle, listVersions, localDiff, pullBundle, pullCheckout, pushBundle, remoteDiff, validateLocalBundle, validateProgramBundle, certifyLocalBundle, needsLocalBundle, } from "./services/bundles.js";
25
+ export { DEFAULT_SKILL_TARGETS, agentRoot, importBundle, listVersions, localDiff, pullBundle, pullCheckout, pushBundle, readCheckoutTree, remoteDiff, validateLocalBundle, validateProgramBundle, certifyLocalBundle, needsLocalBundle, } from "./services/bundles.js";
26
+ export { ADVISE_DEADLINE_MS, adviseLocalBundle, readAdvisorState, writeAdvisorState, } from "./services/advisor.js";
27
+ export { BUILD_DEADLINE_MS, buildAgent, } from "./services/builds.js";
25
28
  export { createClients } from "./services/clients.js";
26
29
  export { listEnvironments, setEnvironment, } from "./services/env.service.js";
27
30
  export { agentRuntimeVersion, bindAgent, createAgent, createProject, initialVersionTag, latestPublishedRuntimeVersion, listAgents, listOrganizations, listProjects, TEMPLATE_AGENT_ID, unlinkAgent, useOrganization, useProject, useVersion, } from "./services/hierarchy.js";
@@ -37,7 +40,7 @@ export { runDoctor, } from "./services/doctor.js";
37
40
  export { getStatus, } from "./services/status.service.js";
38
41
  export { resolvePublishedVersion, upgradeCli, } from "./services/upgrade.js";
39
42
  export { enterCheckout, enterKnownCheckout, listKnownCheckouts, } from "./services/checkouts.service.js";
40
- export { installSkills } from "./skills/install.js";
43
+ export { installSkills, removeManagedSkills, } from "./skills/install.js";
41
44
  export { installAgentsPage, } from "./skills/agents-page.js";
42
45
  export { checkoutSchemasDir, installSchemas } from "./schemas/install.js";
43
46
  export { checkoutAlive, defaultCheckoutDir, forgetCheckout, lastUsedCheckout, listCheckouts, readCheckoutRegistry, registerCheckout, registryFile, touchCheckout, } from "./checkouts/registry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { AdvisorView, BuilderApiClient } from "../api/builder-api.js";
2
+ import type { Context } from "../config/index.js";
3
+ /** An advisor turn is a model turn over the whole tree — minutes, not
4
+ * seconds. The poll loop's own deadline; each poll request stays cheap. */
5
+ export declare const ADVISE_DEADLINE_MS = 900000;
6
+ export interface AdvisorState {
7
+ advisor_session_id: string;
8
+ }
9
+ /** The saved thread handle, or nothing — a missing or corrupt file simply
10
+ * means the next question opens a fresh thread. */
11
+ export declare function readAdvisorState(root: string): Promise<AdvisorState | undefined>;
12
+ export declare function writeAdvisorState(root: string, state: AdvisorState): Promise<void>;
13
+ export interface AdviseOptions {
14
+ /** Checkout root (defaults to the bound checkout). */
15
+ root?: string;
16
+ /** Drop the saved thread and open a new one. */
17
+ fresh?: boolean;
18
+ model?: string;
19
+ maxUsd?: number;
20
+ pollIntervalMs?: number;
21
+ deadlineMs?: number;
22
+ /** Injectable for tests — real callers get a plain setTimeout sleep. */
23
+ sleep?: (ms: number) => Promise<void>;
24
+ }
25
+ export interface AdviceResult extends AdvisorView {
26
+ /** Whether this question continued the saved thread or opened a new one. */
27
+ thread: "new" | "continued";
28
+ }
29
+ /**
30
+ * Ask the advisor about this checkout and wait for the answer. The tree
31
+ * rides every call — follow-ups included — so the advisor always reads the
32
+ * caller's CURRENT files; the saved thread id only buys retained context.
33
+ * A saved thread the server no longer knows (purged, expired) falls back to
34
+ * a fresh one transparently: the id came from our own state file, so there
35
+ * is no typo to protect and nothing better to do than start over.
36
+ */
37
+ export declare function adviseLocalBundle(context: Context, builder: BuilderApiClient, instruction: string, options?: AdviseOptions): Promise<AdviceResult>;
@@ -0,0 +1,86 @@
1
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { ApiError, CliError } from "../errors/index.js";
4
+ import { agentRoot, readCheckoutTree } from "./bundles.js";
5
+ /**
6
+ * The advice lane's console half (docs/headless-authoring-design.md §4.4):
7
+ * ship the checkout's current tree with a question, poll one advisor turn to
8
+ * its answer. Continuity is a LOCAL fact — the thread handle lives in the
9
+ * checkout's `.apollo/advisor.json`, never on the server's say-so — so two
10
+ * checkouts of one agent hold two threads, and deleting a checkout forgets
11
+ * its thread with it.
12
+ */
13
+ /** Builder-api's terminal turn statuses (`domain/lifecycle.TERMINAL`). An
14
+ * advisor turn settles as `answered`; the rest are failure stories. */
15
+ const TERMINAL = new Set(["completed", "answered", "rejected", "failed", "exhausted"]);
16
+ /** An advisor turn is a model turn over the whole tree — minutes, not
17
+ * seconds. The poll loop's own deadline; each poll request stays cheap. */
18
+ export const ADVISE_DEADLINE_MS = 900_000;
19
+ const ADVISE_POLL_MS = 2_500;
20
+ function advisorStateFile(root) {
21
+ return path.join(root, ".apollo", "advisor.json");
22
+ }
23
+ /** The saved thread handle, or nothing — a missing or corrupt file simply
24
+ * means the next question opens a fresh thread. */
25
+ export async function readAdvisorState(root) {
26
+ try {
27
+ const parsed = JSON.parse(await readFile(advisorStateFile(root), "utf8"));
28
+ return typeof parsed.advisor_session_id === "string"
29
+ ? { advisor_session_id: parsed.advisor_session_id }
30
+ : undefined;
31
+ }
32
+ catch {
33
+ return undefined;
34
+ }
35
+ }
36
+ export async function writeAdvisorState(root, state) {
37
+ const file = advisorStateFile(root);
38
+ await mkdir(path.dirname(file), { recursive: true });
39
+ await writeFile(file, `${JSON.stringify(state, null, 2)}\n`, "utf8");
40
+ }
41
+ /**
42
+ * Ask the advisor about this checkout and wait for the answer. The tree
43
+ * rides every call — follow-ups included — so the advisor always reads the
44
+ * caller's CURRENT files; the saved thread id only buys retained context.
45
+ * A saved thread the server no longer knows (purged, expired) falls back to
46
+ * a fresh one transparently: the id came from our own state file, so there
47
+ * is no typo to protect and nothing better to do than start over.
48
+ */
49
+ export async function adviseLocalBundle(context, builder, instruction, options = {}) {
50
+ const root = options.root ?? agentRoot(context);
51
+ const files = await readCheckoutTree(path.join(root, "bundle", "src"));
52
+ const saved = options.fresh === true ? undefined : await readAdvisorState(root);
53
+ const ask = {
54
+ instruction,
55
+ files,
56
+ ...(options.model ? { model: options.model } : {}),
57
+ ...(options.maxUsd !== undefined ? { max_usd: options.maxUsd } : {}),
58
+ };
59
+ let thread = saved ? "continued" : "new";
60
+ let started;
61
+ try {
62
+ started = await builder.advise(saved ? { ...ask, advisor_session_id: saved.advisor_session_id } : ask);
63
+ }
64
+ catch (error) {
65
+ if (!saved || !(error instanceof ApiError) || error.status !== 404)
66
+ throw error;
67
+ thread = "new";
68
+ started = await builder.advise(ask);
69
+ }
70
+ await writeAdvisorState(root, { advisor_session_id: started.advisor_session_id });
71
+ const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
72
+ const interval = options.pollIntervalMs ?? ADVISE_POLL_MS;
73
+ const deadline = Date.now() + (options.deadlineMs ?? ADVISE_DEADLINE_MS);
74
+ for (;;) {
75
+ const view = await builder.adviceView(started.turn_id);
76
+ if (TERMINAL.has(view.status))
77
+ return { ...view, thread };
78
+ if (Date.now() >= deadline) {
79
+ // The turn keeps running server-side; the state file already holds the
80
+ // thread, so the next question waits behind it (409) until it settles.
81
+ throw new CliError(`The advisor is still working (turn ${started.turn_id}).`, { suggestion: "Ask again in a moment — the same thread resumes." });
82
+ }
83
+ await sleep(interval);
84
+ }
85
+ }
86
+ //# sourceMappingURL=advisor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advisor.js","sourceRoot":"","sources":["../../../src/services/advisor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { BuilderApiClient, BuildView } from "../api/builder-api.js";
2
+ import type { Context } from "../config/index.js";
3
+ /**
4
+ * The shipping lane's console half (docs/headless-authoring-design.md §4.5):
5
+ * one instruction against the checkout's PUSHED agent — no files travel, the
6
+ * service pulls the bundle itself — then poll the whole story (turn, certify,
7
+ * optional evaluation, push, optional publish) to its terminal verdict.
8
+ */
9
+ /** A build turn edits, validates and repairs; certify replays the suite; an
10
+ * evaluation runs real conversations. Hours-scale, so the poll loop's own
11
+ * deadline is generous — each poll request stays cheap. */
12
+ export declare const BUILD_DEADLINE_MS: number;
13
+ export interface BuildOptions {
14
+ /** The base to build from — a pushed version's tag (defaults to the pin). */
15
+ versionTag?: string;
16
+ /** The push message. */
17
+ message?: string;
18
+ model?: string;
19
+ maxUsd?: number;
20
+ /** Run the evaluation suite on the settled tree before approving. */
21
+ evaluate?: boolean;
22
+ /** Flip the agent's active pointer to the pushed revision. */
23
+ publish?: boolean;
24
+ pollIntervalMs?: number;
25
+ deadlineMs?: number;
26
+ /** Injectable for tests — real callers get a plain setTimeout sleep. */
27
+ sleep?: (ms: number) => Promise<void>;
28
+ }
29
+ /**
30
+ * Run one build to its verdict. The POST rides a fresh idempotency key, so a
31
+ * retried request replays the SAME build; the returned view is terminal —
32
+ * `completed` (pushed), `refused` (a gate said no: the turn answered instead
33
+ * of completing, or certify came back red) or `failed` (infra story). The
34
+ * caller decides what each verdict is worth; this function only refuses to
35
+ * return a non-terminal view.
36
+ */
37
+ export declare function buildAgent(context: Context, builder: BuilderApiClient, instruction: string, options?: BuildOptions): Promise<BuildView>;
@@ -0,0 +1,52 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { CliError } from "../errors/index.js";
3
+ import { requireAgent } from "./bundles.js";
4
+ /**
5
+ * The shipping lane's console half (docs/headless-authoring-design.md §4.5):
6
+ * one instruction against the checkout's PUSHED agent — no files travel, the
7
+ * service pulls the bundle itself — then poll the whole story (turn, certify,
8
+ * optional evaluation, push, optional publish) to its terminal verdict.
9
+ */
10
+ /** A build turn edits, validates and repairs; certify replays the suite; an
11
+ * evaluation runs real conversations. Hours-scale, so the poll loop's own
12
+ * deadline is generous — each poll request stays cheap. */
13
+ export const BUILD_DEADLINE_MS = 2 * 3600_000;
14
+ const BUILD_POLL_MS = 5_000;
15
+ /**
16
+ * Run one build to its verdict. The POST rides a fresh idempotency key, so a
17
+ * retried request replays the SAME build; the returned view is terminal —
18
+ * `completed` (pushed), `refused` (a gate said no: the turn answered instead
19
+ * of completing, or certify came back red) or `failed` (infra story). The
20
+ * caller decides what each verdict is worth; this function only refuses to
21
+ * return a non-terminal view.
22
+ */
23
+ export async function buildAgent(context, builder, instruction, options = {}) {
24
+ const request = {
25
+ agent_id: requireAgent(context),
26
+ instruction,
27
+ ...(options.versionTag ? { version_tag: options.versionTag } : {}),
28
+ ...(options.message ? { message: options.message } : {}),
29
+ ...(options.model ? { model: options.model } : {}),
30
+ ...(options.maxUsd !== undefined ? { max_usd: options.maxUsd } : {}),
31
+ ...(options.evaluate === true ? { evaluate: true } : {}),
32
+ ...(options.publish === true ? { publish: true } : {}),
33
+ };
34
+ const started = await builder.startBuild(request, randomUUID());
35
+ const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
36
+ const interval = options.pollIntervalMs ?? BUILD_POLL_MS;
37
+ const deadline = Date.now() + (options.deadlineMs ?? BUILD_DEADLINE_MS);
38
+ for (;;) {
39
+ const view = await builder.buildView(started.build_id);
40
+ if (view.status !== "running")
41
+ return view;
42
+ if (Date.now() >= deadline) {
43
+ // The build keeps running server-side — the driver owns it, and the
44
+ // session id is a first-class handle every session surface answers on.
45
+ throw new CliError(`The build is still running (session ${started.session_id}).`, {
46
+ suggestion: "The server carries it to a verdict; check the session in the console.",
47
+ });
48
+ }
49
+ await sleep(interval);
50
+ }
51
+ }
52
+ //# sourceMappingURL=builds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builds.js","sourceRoot":"","sources":["../../../src/services/builds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;;GAKG;AAEH;;4DAE4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,QAAQ,CAAC;AAE9C,MAAM,aAAa,GAAG,KAAK,CAAC;AAmB5B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAgB,EAChB,OAAyB,EACzB,WAAmB,EACnB,UAAwB,EAAE;IAE1B,MAAM,OAAO,GAAiB;QAC5B,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;QAC/B,WAAW;QACX,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAEhE,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC;IACxE,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3B,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,IAAI,QAAQ,CAAC,uCAAuC,OAAO,CAAC,UAAU,IAAI,EAAE;gBAChF,UAAU,EAAE,uEAAuE;aACpF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import { type AgentVersion, type ManagementClient, type VersionPull, type VersionPush } from "../api/management.js";
2
+ import type { BuilderApiClient, BuilderCertification, EraCensus, OrphanCensus } from "../api/builder-api.js";
2
3
  import type { RuntimeApiClient } from "../api/runtime-api.js";
3
4
  import { type FileDiff } from "../bundle/baseline.js";
4
5
  import { type ValidationResult } from "../bundle/validate.js";
5
6
  import { type Context, type ProjectBinding } from "../config/index.js";
6
7
  import { type SkillTarget } from "../skills/install.js";
8
+ /** The bound agent id (exported for the sibling services that act on the
9
+ * checkout's agent remotely, e.g. the build lane). */
10
+ export declare function requireAgent(context: Context): string;
11
+ /** The checkout root the context is bound to (exported for the sibling
12
+ * services that anchor per-checkout state there, e.g. the advisor thread). */
13
+ export declare function agentRoot(context: Context): string;
7
14
  export declare function pullBundle(context: Context, management: ManagementClient, options?: {
8
15
  tag?: string;
9
16
  destination?: string;
@@ -19,6 +26,8 @@ export declare function importBundle(context: Context, management: ManagementCli
19
26
  homeDir?: string;
20
27
  /** The engine build to pin the new checkout to (see `runtime-version/`). */
21
28
  runtimeVersion?: string;
29
+ /** `headless` skips skill packs for the checkout's whole life — see `WorkspaceMode`. */
30
+ workspace?: "headless";
22
31
  }): Promise<{
23
32
  pull: VersionPull;
24
33
  files: Record<string, string>;
@@ -43,6 +52,8 @@ export interface PullCheckoutResult {
43
52
  /** The engine build every fetch above was routed to, when pinned. */
44
53
  runtimeVersion?: string;
45
54
  skills?: string[];
55
+ /** Managed skill packs deleted — reconciliation, or the headless sweep. */
56
+ removedSkills?: string[];
46
57
  schemas?: string[];
47
58
  /** True when this pull wrote the checkout's AGENTS.md. */
48
59
  agentsPage?: boolean;
@@ -79,22 +90,30 @@ export declare function pushBundle(context: Context, management: ManagementClien
79
90
  validation?: ValidationResult;
80
91
  }>;
81
92
  export declare function validateProgramBundle(runtime: RuntimeApiClient, files: Record<string, string>): Promise<ValidationResult>;
82
- export declare function validateLocalBundle(context: Context, runtime: RuntimeApiClient, root?: string): Promise<ValidationResult>;
83
- /** Evaluation via the existing runtime-api endpoint. The suite may live beside
84
- * the program (bundle/src/scenarios.yaml) or in the build tree
85
- * (bundle/build/scenarios.yaml) the build-tree copy is injected into the
86
- * payload, since the push scan never reads the build tree. */
87
- export declare function certifyLocalBundle(context: Context, runtime: RuntimeApiClient, root?: string): Promise<{
88
- ran: boolean;
89
- passed: number;
90
- total: number;
91
- report: string;
92
- failures: string[];
93
- errors: {
94
- code: string;
95
- message: string;
96
- }[];
97
- }>;
93
+ /**
94
+ * The checkout as builder-api's stateless gates see it: the program under
95
+ * `src/**`, the scenario suite (when the build tree holds one) rehomed to
96
+ * `build/scenarios.yaml`. A legacy `bundle/src/scenarios.yaml` is NOT lifted
97
+ * here it rides as `src/scenarios.yaml` and the service refuses it with
98
+ * the finding that teaches the move (headless-authoring-design.md). Exported
99
+ * because the advisor lane ships the identical tree.
100
+ */
101
+ export declare function readCheckoutTree(root: string): Promise<Record<string, string>>;
102
+ /** `ValidationResult` plus the two mandatory advisory censuses the builder
103
+ * gate returns alongside its verdict — neither moves `valid`. */
104
+ export interface BundleValidation extends ValidationResult {
105
+ orphans: OrphanCensus;
106
+ eraCensus: EraCensus;
107
+ }
108
+ /** Validation via builder-api's stateless gate. Unlike the push lane
109
+ * (`validateProgramBundle`, runtime-api, pinned engine), this is the
110
+ * builder's own opinion of the tree — structure, load, semantics, wiring,
111
+ * plus the orphan and era censuses. */
112
+ export declare function validateLocalBundle(context: Context, builder: BuilderApiClient, root?: string): Promise<BundleValidation>;
113
+ /** Offline replay of the checkout's own suite via builder-api. Validation-
114
+ * first on the service: a red tree comes back as a failed report whose
115
+ * `program_errors` carry the findings — nothing ran. */
116
+ export declare function certifyLocalBundle(context: Context, builder: BuilderApiClient, root?: string): Promise<BuilderCertification>;
98
117
  /** The demand-ledger audit via the existing runtime-api endpoint. */
99
118
  export declare function needsLocalBundle(context: Context, runtime: RuntimeApiClient, root?: string): Promise<{
100
119
  measured: boolean;