@adonis-agora/agent 0.1.0 → 0.3.0

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/CHANGELOG.md +39 -0
  2. package/dist/src/actor-resolver.js +86 -0
  3. package/dist/src/actor-resolver.js.map +1 -0
  4. package/dist/src/agent-registry.js +17 -0
  5. package/dist/src/agent-registry.js.map +1 -0
  6. package/dist/src/ai-sdk/index.js +2 -0
  7. package/dist/src/ai-sdk/index.js.map +1 -0
  8. package/dist/src/authorizer.js +21 -0
  9. package/dist/src/authorizer.js.map +1 -0
  10. package/dist/src/durable/agent-run-workflow.d.ts +6 -2
  11. package/dist/src/durable/agent-run-workflow.d.ts.map +1 -1
  12. package/dist/src/durable/agent-run-workflow.js +5 -15
  13. package/dist/src/durable/agent-run-workflow.js.map +1 -1
  14. package/dist/src/hooks/tools.d.ts +45 -0
  15. package/dist/src/hooks/tools.d.ts.map +1 -0
  16. package/dist/src/hooks/tools.js +48 -0
  17. package/dist/src/hooks/tools.js.map +1 -0
  18. package/dist/src/in-process-sink.d.ts +16 -0
  19. package/dist/src/in-process-sink.d.ts.map +1 -0
  20. package/dist/src/in-process-sink.js +57 -0
  21. package/dist/src/in-process-sink.js.map +1 -0
  22. package/dist/src/index.d.ts +2 -2
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +2 -2
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/personas.js +14 -0
  27. package/dist/src/personas.js.map +1 -0
  28. package/dist/src/spi/actor-resolver.js +2 -0
  29. package/dist/src/spi/actor-resolver.js.map +1 -0
  30. package/dist/src/spi/agent-runner.js +2 -0
  31. package/dist/src/spi/agent-runner.js.map +1 -0
  32. package/dist/src/spi/model-provider.js +2 -0
  33. package/dist/src/spi/model-provider.js.map +1 -0
  34. package/dist/src/spi/quota-store.js +2 -0
  35. package/dist/src/spi/quota-store.js.map +1 -0
  36. package/dist/src/spi/roles-policy.js +2 -0
  37. package/dist/src/spi/roles-policy.js.map +1 -0
  38. package/dist/src/spi/token-stream-sink.d.ts +22 -0
  39. package/dist/src/spi/token-stream-sink.d.ts.map +1 -0
  40. package/dist/src/spi/token-stream-sink.js +2 -0
  41. package/dist/src/spi/token-stream-sink.js.map +1 -0
  42. package/dist/src/spi/tool.js +2 -0
  43. package/dist/src/spi/tool.js.map +1 -0
  44. package/dist/src/stores/factory.d.ts +14 -2
  45. package/dist/src/stores/factory.d.ts.map +1 -1
  46. package/dist/src/stores/factory.js +10 -2
  47. package/dist/src/stores/factory.js.map +1 -1
  48. package/dist/src/stores/lucid-governance-queries.d.ts +13 -1
  49. package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -1
  50. package/dist/src/stores/lucid-governance-queries.js +18 -2
  51. package/dist/src/stores/lucid-governance-queries.js.map +1 -1
  52. package/dist/src/stores/lucid-pricing.d.ts +13 -1
  53. package/dist/src/stores/lucid-pricing.d.ts.map +1 -1
  54. package/dist/src/stores/lucid-pricing.js +10 -2
  55. package/dist/src/stores/lucid-pricing.js.map +1 -1
  56. package/dist/src/stores/lucid-schema.d.ts +7 -0
  57. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  58. package/dist/src/stores/lucid-schema.js +26 -0
  59. package/dist/src/stores/lucid-schema.js.map +1 -1
  60. package/dist/src/stores/lucid.d.ts +5 -2
  61. package/dist/src/stores/lucid.d.ts.map +1 -1
  62. package/dist/src/stores/lucid.js +3 -3
  63. package/dist/src/stores/lucid.js.map +1 -1
  64. package/dist/src/testing/fake-model-provider.js +36 -0
  65. package/dist/src/testing/fake-model-provider.js.map +1 -0
  66. package/dist/src/testing/in-memory-quota.js +24 -0
  67. package/dist/src/testing/in-memory-quota.js.map +1 -0
  68. package/dist/src/testing/in-memory-sink.js +55 -0
  69. package/dist/src/testing/in-memory-sink.js.map +1 -0
  70. package/dist/src/tool-discovery.js +126 -0
  71. package/dist/src/tool-discovery.js.map +1 -0
  72. package/dist/src/tool-registry.js +90 -0
  73. package/dist/src/tool-registry.js.map +1 -0
  74. package/dist/stubs/main.d.ts +3 -0
  75. package/dist/stubs/main.d.ts.map +1 -0
  76. package/dist/stubs/main.js +4 -0
  77. package/dist/stubs/main.js.map +1 -0
  78. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * A deterministic, offline `ModelProvider`. Drives the agent loop without any API key,
3
+ * streaming the scripted text to the sink and optionally requesting one tool call.
4
+ */
5
+ export class FakeModelProvider {
6
+ script;
7
+ constructor(script) {
8
+ this.script = script;
9
+ }
10
+ async runTurn(args) {
11
+ const turnIndex = args.messages.filter((message) => message.role === 'assistant').length;
12
+ const turn = this.script(args, turnIndex);
13
+ const encoder = new TextEncoder();
14
+ await args.sink.write(encoder.encode(turn.text));
15
+ const toolCalls = turn.toolCall
16
+ ? [
17
+ {
18
+ id: `call-${turnIndex}-${turn.toolCall.name}`,
19
+ name: turn.toolCall.name,
20
+ input: turn.toolCall.input,
21
+ },
22
+ ]
23
+ : [];
24
+ return {
25
+ text: turn.text,
26
+ toolCalls,
27
+ usage: { inputTokens: args.messages.length, outputTokens: turn.text.length },
28
+ ...(turn.costUsd !== undefined ? { costUsd: turn.costUsd } : {}),
29
+ };
30
+ }
31
+ }
32
+ /** A trivial script: stream a fixed reply and never call a tool. */
33
+ export function echoScript(reply = 'ok') {
34
+ return () => ({ text: reply });
35
+ }
36
+ //# sourceMappingURL=fake-model-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-model-provider.js","sourceRoot":"","sources":["../../../src/testing/fake-model-provider.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,KAAK,CAAC,OAAO,CAAC,IAAmB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ;YAC7B,CAAC,CAAC;gBACE;oBACE,EAAE,EAAE,QAAQ,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC7C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;iBAC3B;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS;YACT,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAC5E,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;CACF;AAED,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,KAAK,GAAG,IAAI;IACrC,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /** In-memory per-actor/day token budget for tests and the offline demo. */
2
+ export class InMemoryQuotaStore {
3
+ limitTokens;
4
+ used = new Map();
5
+ constructor(limitTokens = 1_000_000) {
6
+ this.limitTokens = limitTokens;
7
+ }
8
+ key(actorRef, day) {
9
+ return `${actorRef}:${day}`;
10
+ }
11
+ async check(actorRef, day) {
12
+ const usedTokens = this.used.get(this.key(actorRef, day)) ?? 0;
13
+ return {
14
+ usedTokens,
15
+ limitTokens: this.limitTokens,
16
+ withinLimit: usedTokens < this.limitTokens,
17
+ };
18
+ }
19
+ async bump(actorRef, day, tokens) {
20
+ const key = this.key(actorRef, day);
21
+ this.used.set(key, (this.used.get(key) ?? 0) + tokens);
22
+ }
23
+ }
24
+ //# sourceMappingURL=in-memory-quota.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-quota.js","sourceRoot":"","sources":["../../../src/testing/in-memory-quota.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,OAAO,kBAAkB;IAGA;IAFZ,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,YAA6B,cAAc,SAAS;QAAvB,gBAAW,GAAX,WAAW,CAAY;IAAG,CAAC;IAEhD,GAAG,CAAC,QAAgB,EAAE,GAAW;QACvC,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,GAAW;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO;YACL,UAAU;YACV,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC,WAAW;SAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,GAAW,EAAE,MAAc;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * In-memory `TokenStreamSink`. Buffers chunks per run so a late subscriber (reconnect)
3
+ * replays everything emitted so far, then follows live until the run ends.
4
+ */
5
+ export class InMemoryTokenStreamSink {
6
+ runs = new Map();
7
+ buffer(runId) {
8
+ let buf = this.runs.get(runId);
9
+ if (buf === undefined) {
10
+ buf = { chunks: [], ended: false, notify: new Set() };
11
+ this.runs.set(runId, buf);
12
+ }
13
+ return buf;
14
+ }
15
+ wake(buf) {
16
+ for (const resolve of buf.notify) {
17
+ resolve();
18
+ }
19
+ buf.notify.clear();
20
+ }
21
+ open(runId) {
22
+ const buf = this.buffer(runId);
23
+ return {
24
+ write: (chunk) => {
25
+ buf.chunks.push(chunk);
26
+ this.wake(buf);
27
+ },
28
+ end: () => {
29
+ buf.ended = true;
30
+ this.wake(buf);
31
+ },
32
+ };
33
+ }
34
+ async *subscribe(runId) {
35
+ const buf = this.buffer(runId);
36
+ let index = 0;
37
+ while (true) {
38
+ while (index < buf.chunks.length) {
39
+ const chunk = buf.chunks[index];
40
+ index += 1;
41
+ if (chunk !== undefined) {
42
+ yield chunk;
43
+ }
44
+ }
45
+ if (buf.ended) {
46
+ return;
47
+ }
48
+ await new Promise((resolve) => buf.notify.add(resolve));
49
+ }
50
+ }
51
+ close(runId) {
52
+ this.runs.delete(runId);
53
+ }
54
+ }
55
+ //# sourceMappingURL=in-memory-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-sink.js","sourceRoot":"","sources":["../../../src/testing/in-memory-sink.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IACjB,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE7C,MAAM,CAAC,KAAa;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,IAAI,CAAC,GAAc;QACzB,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO;YACL,KAAK,EAAE,CAAC,KAAiB,EAAE,EAAE;gBAC3B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,CAAC,SAAS,CAAC,KAAa;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,EAAE,CAAC;YACZ,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,126 @@
1
+ import { readdir } from 'node:fs/promises';
2
+ import { extname, join } from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
+ import { isBrandedFunctionalTool, readAiToolMeta, } from './ai-tool-ref.js';
5
+ /**
6
+ * Register one module export into the registry if it is an `@AiTool` class or a `defineTool(...)`
7
+ * functional tool; ignore anything else. A name already present is skipped (first wins). Returns the
8
+ * registered descriptor, or `null` when the export was not a tool / duplicated a registered name.
9
+ */
10
+ export function registerToolExport(registry, exported, defaultRoles) {
11
+ // A functional tool: a branded { spec, handler } from `defineTool`.
12
+ if (isBrandedFunctionalTool(exported)) {
13
+ return registerFunctionalTool(registry, exported, defaultRoles);
14
+ }
15
+ // An `@AiTool` class: read its stamped metadata, instantiate once, bind `execute`.
16
+ const meta = readAiToolMeta(exported);
17
+ if (meta === undefined || typeof exported !== 'function') {
18
+ return null;
19
+ }
20
+ const instance = instantiate(exported);
21
+ if (instance === null || typeof instance.execute !== 'function') {
22
+ return null;
23
+ }
24
+ if (registry.has(meta.name)) {
25
+ return null;
26
+ }
27
+ registry.register(specFromMeta(meta, defaultRoles), {
28
+ execute: (input, ctx) => instance.execute(input, ctx),
29
+ });
30
+ return { name: meta.name, source: 'class' };
31
+ }
32
+ /** Register a `defineTool` functional tool, applying `defaultRoles` when it declares none. */
33
+ export function registerFunctionalTool(registry, tool, defaultRoles) {
34
+ if (registry.has(tool.spec.name)) {
35
+ return null;
36
+ }
37
+ const spec = tool.spec.roles === undefined ? { ...tool.spec, roles: defaultRoles } : tool.spec;
38
+ registry.register(spec, tool.handler);
39
+ return { name: tool.spec.name, source: 'functional' };
40
+ }
41
+ function specFromMeta(meta, defaultRoles) {
42
+ return {
43
+ name: meta.name,
44
+ kind: meta.kind,
45
+ description: meta.description,
46
+ inputSchema: meta.input,
47
+ roles: meta.roles ?? defaultRoles,
48
+ ...(meta.ability !== undefined ? { ability: meta.ability } : {}),
49
+ };
50
+ }
51
+ function instantiate(cls) {
52
+ try {
53
+ const Ctor = cls;
54
+ return new Ctor();
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ /**
61
+ * Pick the module extension for the running environment so a built app (`.js`) and a dev/ts app
62
+ * (`.ts`, run under a loader) never double-register the same tool — matching the durable scanner.
63
+ */
64
+ const MODULE_EXT = extname(import.meta.url || '') === '.ts' ? '.ts' : '.js';
65
+ /**
66
+ * Scan `dir` RECURSIVELY for modules and register every exported `@AiTool` class / `defineTool`
67
+ * tool into `registry` — the `app/agent_tools` convention. Only the environment-appropriate extension
68
+ * is imported and each export is visited once (deduped), so a built `.js` and a dev `.ts` of the same
69
+ * module never both register. Missing directory → no-op (the convention is opt-in). `defaultRoles`
70
+ * fills a tool that declares no `roles` (ADMIN-only by default).
71
+ */
72
+ export async function discoverTools(registry, dir, defaultRoles) {
73
+ let entries;
74
+ try {
75
+ entries = await readdir(dir, { recursive: true });
76
+ }
77
+ catch (err) {
78
+ if (err.code === 'ENOENT') {
79
+ return [];
80
+ }
81
+ throw err;
82
+ }
83
+ const registered = [];
84
+ const seen = new Set();
85
+ for (const entry of entries.sort()) {
86
+ if (extname(entry) !== MODULE_EXT || entry.endsWith(`.d${MODULE_EXT}`)) {
87
+ continue;
88
+ }
89
+ const mod = (await import(pathToFileURL(join(dir, entry)).href));
90
+ for (const exported of Object.values(mod)) {
91
+ if (seen.has(exported)) {
92
+ continue;
93
+ }
94
+ seen.add(exported);
95
+ const result = registerToolExport(registry, exported, defaultRoles);
96
+ if (result !== null) {
97
+ registered.push(result);
98
+ }
99
+ }
100
+ }
101
+ return registered;
102
+ }
103
+ /**
104
+ * Register every `@AiTool` / `defineTool` reachable from a generated {@link ToolsBarrel} — the
105
+ * build-time equivalent of {@link discoverTools} with no runtime `readdir`. Each module is imported
106
+ * once and each export registered once (deduped).
107
+ */
108
+ export async function registerToolsFromBarrel(registry, barrel, defaultRoles) {
109
+ const registered = [];
110
+ const seen = new Set();
111
+ for (const load of Object.values(barrel)) {
112
+ const mod = await load();
113
+ for (const exported of Object.values(mod)) {
114
+ if (seen.has(exported)) {
115
+ continue;
116
+ }
117
+ seen.add(exported);
118
+ const result = registerToolExport(registry, exported, defaultRoles);
119
+ if (result !== null) {
120
+ registered.push(result);
121
+ }
122
+ }
123
+ }
124
+ return registered;
125
+ }
126
+ //# sourceMappingURL=tool-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-discovery.js","sourceRoot":"","sources":["../../src/tool-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { filterToolsByRole, personaFilterTools } from './personas.js';
2
+ /** Thrown when an actor invokes a tool their role is not allowed. */
3
+ export class ToolForbiddenError extends Error {
4
+ toolName;
5
+ constructor(toolName) {
6
+ super(`Tool "${toolName}" is not allowed for this role`);
7
+ this.toolName = toolName;
8
+ this.name = 'ToolForbiddenError';
9
+ }
10
+ }
11
+ /** Thrown when a tool is invoked that was never registered. */
12
+ export class ToolNotFoundError extends Error {
13
+ toolName;
14
+ constructor(toolName) {
15
+ super(`Tool "${toolName}" is not registered`);
16
+ this.toolName = toolName;
17
+ this.name = 'ToolNotFoundError';
18
+ }
19
+ }
20
+ /** Thrown when a tool's input fails its Standard Schema validation. */
21
+ export class ToolInputInvalidError extends Error {
22
+ toolName;
23
+ issues;
24
+ constructor(toolName, issues) {
25
+ super(`Invalid input for tool "${toolName}": ${issues.map((issue) => issue.message).join('; ')}`);
26
+ this.toolName = toolName;
27
+ this.issues = issues;
28
+ this.name = 'ToolInputInvalidError';
29
+ }
30
+ }
31
+ /**
32
+ * Holds every registered tool and gates invocation.
33
+ *
34
+ * Note: `definitionsFor` returns NEUTRAL definitions (no `execute`). The agent loop runs
35
+ * each tool itself as a (durable) step — so even read tools are not auto-executed by the
36
+ * model. `action` tools additionally require HITL approval before the loop runs them.
37
+ */
38
+ export class ToolRegistry {
39
+ entries = new Map();
40
+ register(spec, handler) {
41
+ this.entries.set(spec.name, { spec, handler });
42
+ }
43
+ has(name) {
44
+ return this.entries.has(name);
45
+ }
46
+ spec(name) {
47
+ return this.entries.get(name)?.spec;
48
+ }
49
+ allSpecs() {
50
+ return [...this.entries.values()].map((entry) => entry.spec);
51
+ }
52
+ /** The tools to offer the model for this actor+persona, after the two filter layers. */
53
+ async definitionsFor(actor, policy, allowedTools) {
54
+ const roleScoped = await filterToolsByRole(this.allSpecs(), actor, policy);
55
+ const personaScoped = personaFilterTools(roleScoped, allowedTools);
56
+ return personaScoped.map((spec) => ({
57
+ name: spec.name,
58
+ kind: spec.kind,
59
+ description: spec.description,
60
+ inputSchema: spec.inputSchema,
61
+ }));
62
+ }
63
+ /** Run a tool. Re-checks the role (defense-in-depth) and re-parses the input via Zod. */
64
+ async invoke(name, input, ctx, policy) {
65
+ const entry = this.entries.get(name);
66
+ if (entry === undefined) {
67
+ throw new ToolNotFoundError(name);
68
+ }
69
+ if (!(await policy.can(ctx.actor, entry.spec))) {
70
+ throw new ToolForbiddenError(name);
71
+ }
72
+ const validation = await entry.spec.inputSchema['~standard'].validate(input);
73
+ if (validation.issues !== undefined) {
74
+ throw new ToolInputInvalidError(name, validation.issues);
75
+ }
76
+ return entry.handler.execute(validation.value, ctx);
77
+ }
78
+ }
79
+ /** Default gate: one of the actor's roles must be in spec.roles (defaulting to ADMIN-only). */
80
+ export class DefaultRolesPolicy {
81
+ defaultRoles;
82
+ constructor(defaultRoles = ['ADMIN']) {
83
+ this.defaultRoles = defaultRoles;
84
+ }
85
+ can(actor, tool) {
86
+ const allowed = tool.roles ?? this.defaultRoles;
87
+ return (actor.roles ?? []).some((role) => allowed.includes(role));
88
+ }
89
+ }
90
+ //# sourceMappingURL=tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Absolute path to the published stubs directory (`dist/stubs/main.js`). */
2
+ export declare const stubsRoot: string;
3
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../stubs/main.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,eAAO,MAAM,SAAS,QAAgD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ /** Absolute path to the published stubs directory (`dist/stubs/main.js`). */
3
+ export const stubsRoot = fileURLToPath(new URL('./', import.meta.url));
4
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../stubs/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/agent",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -89,14 +89,14 @@
89
89
  "@standard-schema/spec": "^1.0.0"
90
90
  },
91
91
  "peerDependencies": {
92
+ "@adonis-agora/authz": "^0.4.0",
93
+ "@adonis-agora/diagnostics": "^0.1.0",
94
+ "@adonis-agora/durable": "^0.8.0",
95
+ "@adonis-agora/telescope": "^0.4.0",
92
96
  "@adonisjs/assembler": "^8.4.0",
93
97
  "@adonisjs/core": "^7.3.0",
94
98
  "@adonisjs/lucid": "^22.4.0",
95
99
  "@adonisjs/redis": "^9.2.0",
96
- "@adonis-agora/durable": "^0.7.0",
97
- "@adonis-agora/diagnostics": "^0.1.0",
98
- "@adonis-agora/authz": "^0.4.0",
99
- "@adonis-agora/telescope": "^0.4.0",
100
100
  "ai": "^7.0.0",
101
101
  "node-sql-parser": "^5.3.0",
102
102
  "zod": "^3.23.0 || ^4.0.0"
@@ -137,6 +137,7 @@
137
137
  }
138
138
  },
139
139
  "devDependencies": {
140
+ "@adonis-agora/durable": "^0.8.0",
140
141
  "@adonisjs/assembler": "^8.4.0",
141
142
  "@adonisjs/core": "^7.3.0",
142
143
  "@adonisjs/lucid": "^22.4.0",