-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.js
More file actions
68 lines (56 loc) · 3.01 KB
/
Copy pathindex.js
File metadata and controls
68 lines (56 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/**
* AgentDOM — Public Library API (Phase 6)
*
* Entry point exposed via `require('agentdom')`. Each section maps a
* subsystem to its module so consumers can pick exactly what they need
* without reaching into the package's internals.
*
* const { auth, registry, compiler } = require('agentdom');
* const config = registry.resolve('github.com');
* const token = await auth.token('github.com');
*
* Library exports are lazy-loaded — requiring this file does not pull
* Puppeteer, keytar, or the MCP SDK until the relevant subtree is
* accessed.
*/
'use strict';
const lazy = (loader) => {
let v;
return () => (v === undefined ? (v = loader()) : v);
};
const exportsMap = {
// ── Auth ────────────────────────────────────────────────────────────────
auth: lazy(() => require('./commands/auth')),
keychain: lazy(() => require('./lib/keychain')),
registry: lazy(() => require('./lib/oauth-registry')),
// ── Runtime ─────────────────────────────────────────────────────────────
runtime: lazy(() => require('./lib/agent-runtime')),
planner: lazy(() => require('./lib/planner')),
policy: lazy(() => require('./lib/policy')),
memory: lazy(() => require('./lib/memory')),
// ── Transport ───────────────────────────────────────────────────────────
resilience: lazy(() => require('./lib/resilience')),
connectionPool: lazy(() => require('./lib/connection-pool')),
tokenCache: lazy(() => require('./lib/token-cache')),
// ── Compiler ────────────────────────────────────────────────────────────
compiler: lazy(() => require('./compiler')),
// ── Discovery ───────────────────────────────────────────────────────────
discover: lazy(() => require('./discovery')),
// ── Desktop ─────────────────────────────────────────────────────────────
platform: lazy(() => require('./desktop-agent/platform')),
};
const api = {};
for (const [name, loader] of Object.entries(exportsMap)) {
Object.defineProperty(api, name, {
enumerable: true,
get: loader,
});
}
/** Read the published version from package.json (best-effort). */
function version() {
try { return require('./package.json').version; }
catch { return null; }
}
api.version = version;
api.VERSION = version();
module.exports = api;