@aui.io/apollo 0.1.18 → 0.1.20

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 (23) hide show
  1. package/node_modules/@aui.io/apollo-cli/dist/src/commands/kb.js +49 -4
  2. package/node_modules/@aui.io/apollo-cli/dist/src/commands/kb.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/kbm.d.ts +78 -3
  5. package/node_modules/@aui.io/apollo-core/dist/src/api/kbm.js +69 -0
  6. package/node_modules/@aui.io/apollo-core/dist/src/api/kbm.js.map +1 -1
  7. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +2 -2
  8. package/node_modules/@aui.io/apollo-core/dist/src/index.js +1 -1
  9. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
  10. package/node_modules/@aui.io/apollo-core/dist/src/services/knowledge.d.ts +37 -0
  11. package/node_modules/@aui.io/apollo-core/dist/src/services/knowledge.js +114 -3
  12. package/node_modules/@aui.io/apollo-core/dist/src/services/knowledge.js.map +1 -1
  13. package/node_modules/@aui.io/apollo-core/package.json +1 -1
  14. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +9 -0
  15. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
  16. package/node_modules/@aui.io/apollo-tui/dist/src/author/resources.js +29 -1
  17. package/node_modules/@aui.io/apollo-tui/dist/src/author/resources.js.map +1 -1
  18. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +53 -1
  19. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
  20. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +60 -0
  21. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
  22. package/node_modules/@aui.io/apollo-tui/package.json +2 -2
  23. package/package.json +4 -4
@@ -1,12 +1,26 @@
1
1
  import { ValidationError } from "@aui.io/apollo-core/errors/index.js";
2
- import { deleteHub, getHubByName, hubRefCheck, hubStatus, listHubs, programHubRefs, } from "@aui.io/apollo-core/services/knowledge.js";
2
+ import { addFiles, addUrls, createHub, deleteHub, getHubByName, hubRefCheck, hubStatus, listHubs, programHubRefs, } from "@aui.io/apollo-core/services/knowledge.js";
3
3
  function hubLine(hub) {
4
4
  return `${hub.name.padEnd(32)} ${hub.id}`;
5
5
  }
6
+ /**
7
+ * Bulk acceptance rendered honestly: accepted means RECEIVED — indexing
8
+ * runs async, so point at `kb status` for the real outcome.
9
+ */
10
+ function uploadLines(result) {
11
+ const failing = result.results
12
+ .filter((item) => item.error !== undefined)
13
+ .map((item) => ` ✕ ${item.name}: ${item.error ?? "failed"}`);
14
+ return [
15
+ `${result.hub.name}: ${String(result.accepted)} accepted${result.failed > 0 ? `, ${String(result.failed)} failed` : ""}.`,
16
+ ...failing,
17
+ `Indexing is asynchronous — \`apollo kb status ${result.hub.name}\` shows the outcome.`,
18
+ ].join("\n");
19
+ }
6
20
  export function registerKb(program, runtime) {
7
21
  const kb = program
8
22
  .command("kb")
9
- .description("Inspect the agent's knowledge hubs (content sync stays in v1 tooling)");
23
+ .description("The agent's knowledge hubs the corpora `hub:` sources search at runtime");
10
24
  kb.command("list")
11
25
  .description("List knowledge hubs owned by the agent")
12
26
  .action(async () => {
@@ -35,8 +49,39 @@ export function registerKb(program, runtime) {
35
49
  ].join("\n");
36
50
  });
37
51
  });
52
+ kb.command("create <name>")
53
+ .description("Create an empty hub in the agent's scope; reference it as `hub: <name>` in sources")
54
+ .option("--description <text>", "what the hub holds")
55
+ .action(async (name, options) => {
56
+ const run = runtime();
57
+ const hub = await createHub(run.context, {
58
+ name,
59
+ ...(options.description === undefined
60
+ ? {}
61
+ : { description: options.description }),
62
+ });
63
+ run.output.result(hub, () => [
64
+ `Hub ${hub.name} created (${hub.id}).`,
65
+ `Upload content with \`apollo kb add ${hub.name} <files…>\`;`,
66
+ `programs reference it as \`hub: ${hub.name}\`.`,
67
+ ].join("\n"));
68
+ });
69
+ kb.command("add <hub> <files...>")
70
+ .description("Upload documents into an existing hub (resolved by name); indexing runs async — check `kb status`")
71
+ .action(async (hub, files) => {
72
+ const run = runtime();
73
+ const result = await addFiles(run.context, { hub, paths: files });
74
+ run.output.result(result, () => uploadLines(result));
75
+ });
76
+ kb.command("add-url <hub> <urls...>")
77
+ .description("Scrape web pages into an existing hub; indexing runs async — check `kb status`")
78
+ .action(async (hub, urls) => {
79
+ const run = runtime();
80
+ const result = await addUrls(run.context, { hub, urls });
81
+ run.output.result(result, () => uploadLines(result));
82
+ });
38
83
  kb.command("check")
39
- .description("Cross-check program hub: references against remote hubs")
84
+ .description("Cross-check the program's hub: references against the agent's remote hubs — run after editing sources, before push")
40
85
  .action(async () => {
41
86
  const run = runtime();
42
87
  const root = run.context.agentRoot ?? process.cwd();
@@ -50,7 +95,7 @@ export function registerKb(program, runtime) {
50
95
  `program references: ${refs.length === 0 ? "none" : refs.join(", ")}`,
51
96
  ];
52
97
  if (check.missing.length > 0) {
53
- lines.push(`missing remotely (retrieval will be empty): ${check.missing.join(", ")}`);
98
+ lines.push(`missing remotely (retrieval will be empty): ${check.missing.join(", ")}`, ` fix: \`apollo kb create <name>\` then \`kb add\`, or correct the hub: ref`);
54
99
  }
55
100
  if (check.unreferenced.length > 0) {
56
101
  lines.push(`unreferenced hubs: ${check.unreferenced.join(", ")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"kb.js","sourceRoot":"","sources":["../../../src/commands/kb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kb.js","sourceRoot":"","sources":["../../../src/commands/kb.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aui.io/apollo-cli",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Command-line client for the Apollo runtime",
5
5
  "type": "module",
6
6
  "engines": {
@@ -28,12 +28,12 @@
28
28
  "test": "vitest run"
29
29
  },
30
30
  "dependencies": {
31
- "@aui.io/apollo-core": "0.1.18",
31
+ "@aui.io/apollo-core": "0.1.20",
32
32
  "commander": "^14.0.3",
33
33
  "picocolors": "^1.1.1"
34
34
  },
35
35
  "optionalDependencies": {
36
- "@aui.io/apollo-tui": "0.1.18"
36
+ "@aui.io/apollo-tui": "0.1.20"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@eslint/js": "^9.39.5",
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * Knowledge-base-manager client — knowledge hubs (the program's
3
- * `kind: knowledge` sources resolve against these) and their indexing
4
- * jobs. Hub content sync (folder export/import) stays out of scope here;
5
- * this covers the read/list/status/delete surface the console needs.
3
+ * `kind: knowledge` sources resolve against these), their indexing jobs,
4
+ * hub creation, and content writes (bulk file upload / website scrape).
5
+ * Creation is agent-scoped (`agent_id` on the create body — KBM stamps
6
+ * the agent's own scope; no scope object from us). Content writes still
7
+ * target an EXISTING hub by id — v1's name-based create-on-upload is the
8
+ * failure class the console dropped (DESIGN §4.7); creating is explicit.
6
9
  */
7
10
  import type { HttpClient } from "./client-types.js";
8
11
  /**
@@ -24,6 +27,40 @@ export interface IndexingJob {
24
27
  error_message: string | null;
25
28
  updated_at: string;
26
29
  }
30
+ /** One file/URL's acceptance outcome inside a bulk response. */
31
+ export interface BulkResourceResult {
32
+ resource_id?: string;
33
+ resource_name: string;
34
+ status: string;
35
+ error?: string;
36
+ }
37
+ /**
38
+ * Bulk acceptance envelope — `files_accepted`/`urls_accepted` mean the
39
+ * upload was RECEIVED; indexing runs async afterwards (indexingJobs tells
40
+ * the real outcome).
41
+ */
42
+ export interface BulkFilesResponse {
43
+ knowledge_base_id: string;
44
+ knowledge_base_name: string;
45
+ results: BulkResourceResult[];
46
+ total_files: number;
47
+ files_accepted: number;
48
+ files_failed: number;
49
+ }
50
+ export interface BulkWebsitesResponse {
51
+ knowledge_base_id: string;
52
+ knowledge_base_name: string;
53
+ results: BulkResourceResult[];
54
+ total_urls: number;
55
+ urls_accepted: number;
56
+ urls_failed: number;
57
+ }
58
+ /** One local file to upload. */
59
+ export interface UploadFilePart {
60
+ filename: string;
61
+ content: Uint8Array | string;
62
+ contentType?: string;
63
+ }
27
64
  export declare class KbmClient {
28
65
  private readonly http;
29
66
  constructor(http: HttpClient);
@@ -33,4 +70,42 @@ export declare class KbmClient {
33
70
  indexingJobs(kbId: string): Promise<IndexingJob[]>;
34
71
  /** Delete a whole hub (its resources included) — irreversible. */
35
72
  deleteKnowledgeBase(kbId: string): Promise<void>;
73
+ /**
74
+ * Create a hub in the agent's own scope — `agent_id` makes KBM stamp
75
+ * the scope server-side (404 on an unknown agent), so no scope object
76
+ * rides the request and the hub's name resolves for this agent at
77
+ * runtime.
78
+ */
79
+ createKnowledgeBase(input: {
80
+ name: string;
81
+ agentId: string;
82
+ createdBy: string;
83
+ description?: string;
84
+ }): Promise<KnowledgeBase>;
85
+ /**
86
+ * Upload documents into an existing hub (multipart). The hub is
87
+ * addressed by id only — none of the legacy scope fields
88
+ * (network/account/seed) are sent; they are nullable on the wire and
89
+ * meaningless when the target hub already exists.
90
+ */
91
+ uploadFiles(input: {
92
+ knowledgeBaseId: string;
93
+ createdBy: string;
94
+ files: UploadFilePart[];
95
+ }): Promise<BulkFilesResponse>;
96
+ /**
97
+ * Scrape URLs into an existing hub. `scope` is required by the schema
98
+ * but has no required properties (type defaults to GLOBAL) — for an
99
+ * existing hub it is inert, so an empty object goes on the wire instead
100
+ * of the legacy network/account scope.
101
+ */
102
+ uploadWebsites(input: {
103
+ knowledgeBaseId: string;
104
+ createdBy: string;
105
+ urls: {
106
+ url: string;
107
+ resourceName?: string;
108
+ description?: string;
109
+ }[];
110
+ }): Promise<BulkWebsitesResponse>;
36
111
  }
@@ -33,5 +33,74 @@ export class KbmClient {
33
33
  async deleteKnowledgeBase(kbId) {
34
34
  await this.http.request(`/v1/knowledge-bases/${encodeURIComponent(kbId)}`, { method: "DELETE" });
35
35
  }
36
+ /**
37
+ * Create a hub in the agent's own scope — `agent_id` makes KBM stamp
38
+ * the scope server-side (404 on an unknown agent), so no scope object
39
+ * rides the request and the hub's name resolves for this agent at
40
+ * runtime.
41
+ */
42
+ async createKnowledgeBase(input) {
43
+ return this.http.request("/v1/knowledge-bases", {
44
+ method: "POST",
45
+ body: {
46
+ name: input.name,
47
+ agent_id: input.agentId,
48
+ created_by: input.createdBy,
49
+ ...(input.description === undefined
50
+ ? {}
51
+ : { description: input.description }),
52
+ },
53
+ });
54
+ }
55
+ /**
56
+ * Upload documents into an existing hub (multipart). The hub is
57
+ * addressed by id only — none of the legacy scope fields
58
+ * (network/account/seed) are sent; they are nullable on the wire and
59
+ * meaningless when the target hub already exists.
60
+ */
61
+ async uploadFiles(input) {
62
+ return this.http.request("/v1/bulk/files", {
63
+ method: "POST",
64
+ form: {
65
+ files: input.files.map((file) => ({
66
+ field: "files",
67
+ filename: file.filename,
68
+ content: file.content,
69
+ ...(file.contentType === undefined
70
+ ? {}
71
+ : { contentType: file.contentType }),
72
+ })),
73
+ fields: {
74
+ created_by: input.createdBy,
75
+ knowledge_base_id: input.knowledgeBaseId,
76
+ },
77
+ },
78
+ });
79
+ }
80
+ /**
81
+ * Scrape URLs into an existing hub. `scope` is required by the schema
82
+ * but has no required properties (type defaults to GLOBAL) — for an
83
+ * existing hub it is inert, so an empty object goes on the wire instead
84
+ * of the legacy network/account scope.
85
+ */
86
+ async uploadWebsites(input) {
87
+ return this.http.request("/v1/bulk/websites", {
88
+ method: "POST",
89
+ body: {
90
+ urls: input.urls.map((item) => ({
91
+ url: item.url,
92
+ ...(item.resourceName === undefined
93
+ ? {}
94
+ : { resource_name: item.resourceName }),
95
+ ...(item.description === undefined
96
+ ? {}
97
+ : { description: item.description }),
98
+ })),
99
+ scope: {},
100
+ knowledge_base_id: input.knowledgeBaseId,
101
+ created_by: input.createdBy,
102
+ },
103
+ });
104
+ }
36
105
  }
37
106
  //# sourceMappingURL=kbm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kbm.js","sourceRoot":"","sources":["../../../src/api/kbm.ts"],"names":[],"mappings":"AAsCA,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,OAAO,SAAS;IACgB;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExD,wEAAwE;IACjE,KAAK,CAAC,kBAAkB,CAAC,OAAe;QAC7C,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACpC,qBAAqB,EACrB;gBACE,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO;oBACjB,IAAI;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF,CACF,CAAC;YACF,4DAA4D;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK;gBAAE,MAAM;QACjE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2DAA2D;IACpD,KAAK,CAAC,YAAY,CAAC,IAAY;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACpC,oCAAoC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAC9D,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CACxC,CAAC;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IACvD,CAAC;IAED,kEAAkE;IAC3D,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACrB,uBAAuB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACjD,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"kbm.js","sourceRoot":"","sources":["../../../src/api/kbm.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export { IdentityClient, browserLogin, type LoginResult, type Organization, } fr
5
5
  export { findLiveVersion, ManagementClient, parseVersionTag, type Agent, type AgentVersion, type Project, type VersionPull, type VersionPush, type VersionSource, type VersionStatus, } from "./api/management.js";
6
6
  export { MockDbClient, type MockDbAuth, type MockDbClientOptions, type MockDbMgmtAuth, type MockDbProvisionResponse, type MockDbRuntimeAuth, type MockDbTokenAuth, } from "./api/mock-db.js";
7
7
  export { VaultClient, type VaultScope, type VaultSecret, type VaultSecretCreate, } from "./api/vault.js";
8
- export { KbmClient, type IndexingJob, type KnowledgeBase, } from "./api/kbm.js";
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
10
  export { Transport, type FormBody, type FormFilePart, type RequestCapture, type TransportOptions, } from "./api/transport.js";
11
11
  export { AgentSettingsClient, type BuildBundle, type BuildBundlePullResponse, type BuildBundlePushResponse, type BundleUploadFile, type EvaluationScorePush, type EvaluationScoreRead, type Scenario, type ScenarioResult, type ScenarioResultStatus, type ScoreReportBlocks, } from "./api/agent-settings.js";
@@ -27,7 +27,7 @@ export { bindAgent, createAgent, createProject, initialVersionTag, listAgents, l
27
27
  export { createThread, debugInteraction, getThread, listMessages, listThreads, parseVariables, sendMessage, trace, } from "./services/messaging.js";
28
28
  export { createCollection, createEndpoint, deleteEndpoint, deleteMockDb, describeMockDb, executeEndpoint, exportMockDb, getEndpoint, inspectSession, listCollections, listEndpoints, normalizeSchema, parseJsonFlag, provisionMockDb, resetSession, resolveMockDb, rotateMgmtKey, rotateRuntimeKey, seedRows, statusMockDb, storedKeys, updateCollection, updateEndpoint, wireMockDbConnection, type MockDbResolved, type MockDbServiceOptions, type WireResult, } from "./services/mockdb.js";
29
29
  export { buildVaultScope, getSecretByName, listSecrets, parseVaultScopeLevel, removeSecretByName, scopeLevelLabel, setSecret, validateSecretName, vaultScopeLevels, type SetSecretParams, type VaultScopeLevel, type VaultServiceOptions, } from "./services/vault.js";
30
- export { deleteHub, getHubByName, hubRefCheck, hubStatus, listHubs, programHubRefs, type HubStatus, type KnowledgeServiceOptions, } from "./services/knowledge.js";
30
+ export { addFiles, addUrls, createHub, deleteHub, getHubByName, hubRefCheck, hubStatus, listHubs, programHubRefs, type HubStatus, type HubUploadResult, type KnowledgeServiceOptions, } from "./services/knowledge.js";
31
31
  export { INTENT_DIR, REPORT_BLOCK_KEYS, SCENARIOS_DIR, SCENARIOS_FILE, SCORES_FILE, assembleBundleUpload, listIntentFiles, pullScenarios, pullScores, pushScenarioBundle, pushScores, readLocalScenarios, readLocalScores, scaffoldScenarios, scenariosPaths, scoresToPushBody, syncScenarios, validateScenariosFile, writeLocalScenarios, writeLocalScores, type AssembledBundle, type LocalScenario, type LocalScores, type PullScenariosResult, type PullScoresResult, type PushBundleResult, type PushScoresResult, type ScaffoldResult, type ScenariosFile, type ScenariosServiceOptions, type SyncScenariosResult, } from "./services/scenarios.js";
32
32
  export { currentProfile, listProfiles, useProfile, type CurrentProfile, type ProfileSummary, } from "./services/profile.service.js";
33
33
  export { getStatus, type ServiceCheck, type StatusResult, } from "./services/status.service.js";
@@ -26,7 +26,7 @@ export { bindAgent, createAgent, createProject, initialVersionTag, listAgents, l
26
26
  export { createThread, debugInteraction, getThread, listMessages, listThreads, parseVariables, sendMessage, trace, } from "./services/messaging.js";
27
27
  export { createCollection, createEndpoint, deleteEndpoint, deleteMockDb, describeMockDb, executeEndpoint, exportMockDb, getEndpoint, inspectSession, listCollections, listEndpoints, normalizeSchema, parseJsonFlag, provisionMockDb, resetSession, resolveMockDb, rotateMgmtKey, rotateRuntimeKey, seedRows, statusMockDb, storedKeys, updateCollection, updateEndpoint, wireMockDbConnection, } from "./services/mockdb.js";
28
28
  export { buildVaultScope, getSecretByName, listSecrets, parseVaultScopeLevel, removeSecretByName, scopeLevelLabel, setSecret, validateSecretName, vaultScopeLevels, } from "./services/vault.js";
29
- export { deleteHub, getHubByName, hubRefCheck, hubStatus, listHubs, programHubRefs, } from "./services/knowledge.js";
29
+ export { addFiles, addUrls, createHub, deleteHub, getHubByName, hubRefCheck, hubStatus, listHubs, programHubRefs, } from "./services/knowledge.js";
30
30
  export { INTENT_DIR, REPORT_BLOCK_KEYS, SCENARIOS_DIR, SCENARIOS_FILE, SCORES_FILE, assembleBundleUpload, listIntentFiles, pullScenarios, pullScores, pushScenarioBundle, pushScores, readLocalScenarios, readLocalScores, scaffoldScenarios, scenariosPaths, scoresToPushBody, syncScenarios, validateScenariosFile, writeLocalScenarios, writeLocalScores, } from "./services/scenarios.js";
31
31
  export { currentProfile, listProfiles, useProfile, } from "./services/profile.service.js";
32
32
  export { getStatus, } from "./services/status.service.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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"}
@@ -19,6 +19,43 @@ export declare function hubStatus(context: Context, hub: KnowledgeBase, options?
19
19
  export declare function getHubByName(context: Context, name: string, options?: KnowledgeServiceOptions): Promise<KnowledgeBase>;
20
20
  /** Delete a whole hub — irreversible, resources included. */
21
21
  export declare function deleteHub(context: Context, hub: Pick<KnowledgeBase, "id">, options?: KnowledgeServiceOptions): Promise<void>;
22
+ /**
23
+ * Create a hub in the agent's own scope. The name is what programs put
24
+ * on `hub:` lines, so it must survive a YAML scalar and the ref scan —
25
+ * no whitespace. Duplicate names are refused here (case-insensitive):
26
+ * runtime lookup is by name, so two same-named hubs would be ambiguous.
27
+ */
28
+ export declare function createHub(context: Context, params: {
29
+ name: string;
30
+ description?: string;
31
+ }, options?: KnowledgeServiceOptions): Promise<KnowledgeBase>;
32
+ /** Bulk outcome, normalized for both files and URLs. */
33
+ export interface HubUploadResult {
34
+ hub: KnowledgeBase;
35
+ accepted: number;
36
+ failed: number;
37
+ results: {
38
+ name: string;
39
+ status: string;
40
+ error?: string;
41
+ }[];
42
+ }
43
+ /**
44
+ * Upload local documents into an existing hub. Acceptance only — indexing
45
+ * runs async afterwards; `hubStatus` (kb status) reports the real outcome.
46
+ */
47
+ export declare function addFiles(context: Context, params: {
48
+ hub: string;
49
+ paths: string[];
50
+ }, options?: KnowledgeServiceOptions): Promise<HubUploadResult>;
51
+ /**
52
+ * Scrape URLs into an existing hub — the platform fetches and indexes
53
+ * each page; acceptance only, like addFiles.
54
+ */
55
+ export declare function addUrls(context: Context, params: {
56
+ hub: string;
57
+ urls: string[];
58
+ }, options?: KnowledgeServiceOptions): Promise<HubUploadResult>;
22
59
  /**
23
60
  * `hub:` names referenced by the local bundle (sources declaring
24
61
  * `kind: knowledge`). Cheap line scan — a full YAML parse buys nothing
@@ -1,15 +1,20 @@
1
1
  /**
2
2
  * Knowledge hubs service — the KBM-side corpora that `kind: knowledge`
3
- * sources name via `hub:`. Read/list/status plus hub deletion; content
4
- * sync (uploading documents) stays with the v1 tooling for now.
3
+ * sources name via `hub:`. List/status/check/delete, explicit creation
4
+ * (`createHub` agent-scoped via `agent_id`, KBM stamps the scope), and
5
+ * content writes: `addFiles`/`addUrls` upload straight to KBM against an
6
+ * existing hub (resolved name → id through the agent-scoped list) — no
7
+ * local mirror, no name-based create-on-upload, none of the legacy v1
8
+ * scope fields (DESIGN §4.7).
5
9
  *
6
10
  * Hubs are agent-scoped and matched BY NAME at runtime —
7
11
  * `knowledge_base_names: [hub]` — so the local cross-check compares
8
12
  * program `hub:` references against remote hub names.
9
13
  */
14
+ import { readFile } from "node:fs/promises";
10
15
  import path from "node:path";
11
16
  import { readProgramFiles } from "../bundle/files.js";
12
- import { CliError, ConfigError } from "../errors/index.js";
17
+ import { CliError, ConfigError, ValidationError } from "../errors/index.js";
13
18
  import { createClients } from "./clients.js";
14
19
  function clientsFor(context, options) {
15
20
  return (options.clients ??
@@ -53,6 +58,112 @@ export async function getHubByName(context, name, options = {}) {
53
58
  export async function deleteHub(context, hub, options = {}) {
54
59
  await clientsFor(context, options).kbm.deleteKnowledgeBase(hub.id);
55
60
  }
61
+ /**
62
+ * Create a hub in the agent's own scope. The name is what programs put
63
+ * on `hub:` lines, so it must survive a YAML scalar and the ref scan —
64
+ * no whitespace. Duplicate names are refused here (case-insensitive):
65
+ * runtime lookup is by name, so two same-named hubs would be ambiguous.
66
+ */
67
+ export async function createHub(context, params, options = {}) {
68
+ const name = params.name.trim();
69
+ if (name.length === 0) {
70
+ throw new ValidationError("Hub name is required.");
71
+ }
72
+ if (/\s/.test(name)) {
73
+ throw new ValidationError(`Hub name "${name}" contains whitespace.`, "Use hyphens or underscores — the name is referenced as `hub: NAME` in source YAML.");
74
+ }
75
+ const agentId = requireAgent(context);
76
+ const createdBy = requireUserId(context);
77
+ const clients = clientsFor(context, options);
78
+ const existing = await clients.kbm.listKnowledgeBases(agentId);
79
+ const clash = existing.find((hub) => hub.name.toLowerCase() === name.toLowerCase());
80
+ if (clash) {
81
+ throw new CliError(`Hub "${clash.name}" already exists for this agent.`, {
82
+ code: "CONFLICT",
83
+ suggestion: "Upload into it with `apollo kb add`, or pick another name.",
84
+ });
85
+ }
86
+ return clients.kbm.createKnowledgeBase({
87
+ name,
88
+ agentId,
89
+ createdBy,
90
+ ...(params.description === undefined
91
+ ? {}
92
+ : { description: params.description }),
93
+ });
94
+ }
95
+ function requireUserId(context) {
96
+ if (!context.userId) {
97
+ throw new ConfigError("No user identity for the upload's created_by.", "Run `apollo login` again to refresh the session.");
98
+ }
99
+ return context.userId;
100
+ }
101
+ function normalizeUpload(hub, response) {
102
+ const accepted = "files_accepted" in response
103
+ ? response.files_accepted
104
+ : response.urls_accepted;
105
+ const failed = "files_failed" in response ? response.files_failed : response.urls_failed;
106
+ return {
107
+ hub,
108
+ accepted,
109
+ failed,
110
+ results: response.results.map((item) => ({
111
+ name: item.resource_name,
112
+ status: item.status,
113
+ ...(item.error === undefined ? {} : { error: item.error }),
114
+ })),
115
+ };
116
+ }
117
+ /**
118
+ * Upload local documents into an existing hub. Acceptance only — indexing
119
+ * runs async afterwards; `hubStatus` (kb status) reports the real outcome.
120
+ */
121
+ export async function addFiles(context, params, options = {}) {
122
+ if (params.paths.length === 0) {
123
+ throw new ValidationError("No files to upload.");
124
+ }
125
+ const createdBy = requireUserId(context);
126
+ const hub = await getHubByName(context, params.hub, options);
127
+ const files = await Promise.all(params.paths.map(async (filePath) => {
128
+ const absolute = path.resolve(filePath);
129
+ let content;
130
+ try {
131
+ content = await readFile(absolute);
132
+ }
133
+ catch {
134
+ throw new ValidationError(`Cannot read file: ${absolute}`);
135
+ }
136
+ return { filename: path.basename(absolute), content: new Uint8Array(content) };
137
+ }));
138
+ const response = await clientsFor(context, options).kbm.uploadFiles({
139
+ knowledgeBaseId: hub.id,
140
+ createdBy,
141
+ files,
142
+ });
143
+ return normalizeUpload(hub, response);
144
+ }
145
+ /**
146
+ * Scrape URLs into an existing hub — the platform fetches and indexes
147
+ * each page; acceptance only, like addFiles.
148
+ */
149
+ export async function addUrls(context, params, options = {}) {
150
+ if (params.urls.length === 0) {
151
+ throw new ValidationError("No URLs to add.");
152
+ }
153
+ for (const url of params.urls) {
154
+ if (!/^https?:\/\//i.test(url)) {
155
+ throw new ValidationError(`Not an http(s) URL: ${url}`, "Pass full URLs, e.g. https://docs.example.com/policy");
156
+ }
157
+ }
158
+ const createdBy = requireUserId(context);
159
+ const hub = await getHubByName(context, params.hub, options);
160
+ const response = await clientsFor(context, options).kbm.uploadWebsites({
161
+ knowledgeBaseId: hub.id,
162
+ createdBy,
163
+ urls: params.urls.map((url) => ({ url })),
164
+ });
165
+ return normalizeUpload(hub, response);
166
+ }
56
167
  /**
57
168
  * `hub:` names referenced by the local bundle (sources declaring
58
169
  * `kind: knowledge`). Cheap line scan — a full YAML parse buys nothing
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../../src/services/knowledge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../../src/services/knowledge.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aui.io/apollo-core",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Shared Apollo console core — API clients, config, and services",
5
5
  "type": "module",
6
6
  "engines": {
@@ -43,6 +43,9 @@ const EXTRA_ALIASES = {
43
43
  "vault-rm": ["delete-secret", "remove-secret"],
44
44
  "kb-list": ["hubs", "knowledge", "rag"],
45
45
  "kb-status": ["indexing", "hub-status"],
46
+ "kb-create": ["create-hub", "new-hub"],
47
+ "kb-add": ["upload", "add-files", "upload-documents"],
48
+ "kb-add-url": ["scrape", "add-website", "add-urls"],
46
49
  "kb-check": ["refs", "hub-check"],
47
50
  "kb-delete": ["delete-hub", "remove-hub"],
48
51
  "version-use": ["use-version", "bind-version", "bind-tag"],
@@ -68,6 +71,9 @@ const KEYWORDS = {
68
71
  "scores-pull": ["evaluation", "results", "grade"],
69
72
  "vault-set": ["vault", "credentials", "api-key"],
70
73
  "kb-check": ["knowledge", "sources", "retrieval"],
74
+ "kb-add": ["knowledge", "content", "documents", "pdf"],
75
+ "kb-add-url": ["knowledge", "content", "website", "scrape"],
76
+ "kb-create": ["knowledge", "hub", "provision"],
71
77
  };
72
78
  /** Actions needing an active agent binding to make sense. */
73
79
  const NEEDS_AGENT = new Set([
@@ -86,6 +92,9 @@ const NEEDS_AGENT = new Set([
86
92
  // Hubs are agent-scoped.
87
93
  "kb-list",
88
94
  "kb-status",
95
+ "kb-create",
96
+ "kb-add",
97
+ "kb-add-url",
89
98
  "kb-check",
90
99
  "kb-delete",
91
100
  // Scenario sync is per agent (build bundles + scores).