@adonis-agora/agent 0.17.0 → 0.19.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 (82) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/README.md +210 -0
  3. package/dist/configure.d.ts +4 -3
  4. package/dist/configure.d.ts.map +1 -1
  5. package/dist/configure.js +5 -3
  6. package/dist/configure.js.map +1 -1
  7. package/dist/providers/agent_provider.d.ts +6 -4
  8. package/dist/providers/agent_provider.d.ts.map +1 -1
  9. package/dist/providers/agent_provider.js +23 -16
  10. package/dist/providers/agent_provider.js.map +1 -1
  11. package/dist/providers/mcp_provider.d.ts +22 -0
  12. package/dist/providers/mcp_provider.d.ts.map +1 -0
  13. package/dist/providers/mcp_provider.js +229 -0
  14. package/dist/providers/mcp_provider.js.map +1 -0
  15. package/dist/src/agent-deps-factory.d.ts +6 -0
  16. package/dist/src/agent-deps-factory.d.ts.map +1 -1
  17. package/dist/src/agent-deps-factory.js +5 -1
  18. package/dist/src/agent-deps-factory.js.map +1 -1
  19. package/dist/src/agent-deps.d.ts +6 -1
  20. package/dist/src/agent-deps.d.ts.map +1 -1
  21. package/dist/src/agent-deps.js.map +1 -1
  22. package/dist/src/agent-loop.d.ts +11 -2
  23. package/dist/src/agent-loop.d.ts.map +1 -1
  24. package/dist/src/agent-loop.js +69 -2
  25. package/dist/src/agent-loop.js.map +1 -1
  26. package/dist/src/data/tenant-scope.d.ts +16 -1
  27. package/dist/src/data/tenant-scope.d.ts.map +1 -1
  28. package/dist/src/data/tenant-scope.js +50 -7
  29. package/dist/src/data/tenant-scope.js.map +1 -1
  30. package/dist/src/define_config.d.ts +25 -9
  31. package/dist/src/define_config.d.ts.map +1 -1
  32. package/dist/src/define_config.js.map +1 -1
  33. package/dist/src/governance-gate.d.ts +24 -8
  34. package/dist/src/governance-gate.d.ts.map +1 -1
  35. package/dist/src/governance-gate.js +14 -3
  36. package/dist/src/governance-gate.js.map +1 -1
  37. package/dist/src/index.d.ts +2 -1
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +5 -1
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/mcp/auth.d.ts +90 -0
  42. package/dist/src/mcp/auth.d.ts.map +1 -0
  43. package/dist/src/mcp/auth.js +108 -0
  44. package/dist/src/mcp/auth.js.map +1 -0
  45. package/dist/src/mcp/define_config.d.ts +64 -0
  46. package/dist/src/mcp/define_config.d.ts.map +1 -0
  47. package/dist/src/mcp/define_config.js +8 -0
  48. package/dist/src/mcp/define_config.js.map +1 -0
  49. package/dist/src/mcp/index.d.ts +7 -0
  50. package/dist/src/mcp/index.d.ts.map +1 -0
  51. package/dist/src/mcp/index.js +4 -0
  52. package/dist/src/mcp/index.js.map +1 -0
  53. package/dist/src/mcp/server.d.ts +47 -0
  54. package/dist/src/mcp/server.d.ts.map +1 -0
  55. package/dist/src/mcp/server.js +94 -0
  56. package/dist/src/mcp/server.js.map +1 -0
  57. package/dist/src/rag/chunk.d.ts +35 -0
  58. package/dist/src/rag/chunk.d.ts.map +1 -1
  59. package/dist/src/rag/chunk.js +60 -0
  60. package/dist/src/rag/chunk.js.map +1 -1
  61. package/dist/src/rag/index.d.ts +1 -1
  62. package/dist/src/rag/index.d.ts.map +1 -1
  63. package/dist/src/rag/index.js +1 -1
  64. package/dist/src/rag/index.js.map +1 -1
  65. package/dist/src/rag/memory-vector-store.d.ts +20 -1
  66. package/dist/src/rag/memory-vector-store.d.ts.map +1 -1
  67. package/dist/src/rag/memory-vector-store.js +56 -1
  68. package/dist/src/rag/memory-vector-store.js.map +1 -1
  69. package/dist/src/rag/pg-vector-store.d.ts +32 -1
  70. package/dist/src/rag/pg-vector-store.d.ts.map +1 -1
  71. package/dist/src/rag/pg-vector-store.js +69 -0
  72. package/dist/src/rag/pg-vector-store.js.map +1 -1
  73. package/dist/src/rag/qdrant-store.d.ts +81 -2
  74. package/dist/src/rag/qdrant-store.d.ts.map +1 -1
  75. package/dist/src/rag/qdrant-store.js +148 -1
  76. package/dist/src/rag/qdrant-store.js.map +1 -1
  77. package/dist/src/rag/vector-store.d.ts +144 -0
  78. package/dist/src/rag/vector-store.d.ts.map +1 -1
  79. package/dist/src/rag/vector-store.js +73 -0
  80. package/dist/src/rag/vector-store.js.map +1 -1
  81. package/dist/stubs/config/mcp.stub +42 -0
  82. package/package.json +26 -10
@@ -1,5 +1,6 @@
1
1
  import { publishAgentDelegated, publishAgentMessage, publishAgentRetrieved, publishAgentRunFinished, publishAgentRunStarted, publishAgentToolCall, publishAgentToolRetry, spannedAgent, } from './diagnostics.js';
2
2
  import { estimateCost, } from './spi/pricing-store.js';
3
+ import { ToolForbiddenError, ToolInputInvalidError } from './tool-registry.js';
3
4
  import { invokeWithTransientRetry } from './tool-retry.js';
4
5
  /** Renders retrieved passages as a numbered, citable context block appended to the system prompt. */
5
6
  function buildContextBlock(passages) {
@@ -144,7 +145,24 @@ export async function runAgentLoop(deps, input, hooks) {
144
145
  const topK = deps.retrievalTopK ?? 5;
145
146
  // Span the retrieval INSIDE the step body so durable replay (which returns the cached passages)
146
147
  // never re-emits it. traceId = runId correlates it into the turn's waterfall.
147
- const passages = await hooks.step('retrieve', () => spannedAgent('retrieval', hooks.runId, { runId: hooks.runId, queryLength: input.userText.length, topK }, () => retriever.retrieve(input.userText, { topK }), (retrieved) => ({ count: retrieved.length })));
148
+ //
149
+ // The filter is derived HERE, inside the step body, not before `hooks.step` is called: durable
150
+ // replay must reuse the cached passages rather than recomputing a filter that might have
151
+ // changed since. `retrievalFilter` is called synchronously — if it throws, that throw
152
+ // propagates out of the step (the `async` wrapper below turns a synchronous throw into a
153
+ // rejection) and fails the turn. It must NEVER be caught here and treated as "no filter": a
154
+ // filter that fails open is worse than no filter, because the operator believes it is on.
155
+ // With no hook configured, `filter` is omitted from `options` entirely (not set to
156
+ // `undefined`) so existing single-tenant deployments send byte-identical options.
157
+ const passages = await hooks.step('retrieve', async () => {
158
+ const options = {
159
+ topK,
160
+ ...(deps.retrievalFilter !== undefined
161
+ ? { filter: deps.retrievalFilter(input.actor) }
162
+ : {}),
163
+ };
164
+ return spannedAgent('retrieval', hooks.runId, { runId: hooks.runId, queryLength: input.userText.length, topK }, () => retriever.retrieve(input.userText, options), (retrieved) => ({ count: retrieved.length }));
165
+ });
148
166
  if (passages.length > 0) {
149
167
  injectedPassages = passages;
150
168
  system = `${system}\n\n${buildContextBlock(passages)}`;
@@ -263,9 +281,58 @@ export async function runAgentLoop(deps, input, hooks) {
263
281
  };
264
282
  // Delegation: an `agent`-kind tool runs another agent. Handled at the LOOP level (not in a
265
283
  // step) because the durable runner maps it to `ctx.child`, a ctx-level suspend point.
284
+ //
285
+ // This bypasses `ToolRegistry.invoke`, so it must apply the same two gates `invoke` applies
286
+ // itself — the role/ability re-check AND the offered-tools (persona/agent allow-list) filter
287
+ // — BEFORE any persistence or event publication. Synthesized delegate specs
288
+ // (`registerDelegateTools` in agent-deps-factory.ts) carry no `roles`/`ability` on purpose —
289
+ // under `DefaultRolesPolicy` that is ADMIN-only, under an authz posture a tool with no
290
+ // `ability` is always denied — so an unauthorized delegate call must fail closed here exactly
291
+ // like `ToolRegistry.invoke` fails closed for every other tool kind.
266
292
  if (toolType === 'agent') {
267
293
  const targetAgent = spec?.targetAgent ?? call.name;
268
- const task = extractTask(call.input);
294
+ let task;
295
+ try {
296
+ if (spec === undefined) {
297
+ // Never actually reachable today (an unresolved name defaults `toolType` to 'read'
298
+ // above), but an `agent`-kind call with no resolvable spec must fail closed rather than
299
+ // fall through — and this narrows `spec` to `ToolSpec` for the `rolesPolicy.can` call
300
+ // below.
301
+ throw new ToolForbiddenError(call.name);
302
+ }
303
+ const offeredAllow = intersectAllow(persona?.allowedTools, deps.toolAllowList);
304
+ if (offeredAllow !== undefined && !offeredAllow.includes(call.name)) {
305
+ // A tool the model was not offered must not run, even if the model names it anyway.
306
+ throw new ToolForbiddenError(call.name);
307
+ }
308
+ if (!(await deps.rolesPolicy.can(input.actor, spec))) {
309
+ throw new ToolForbiddenError(call.name);
310
+ }
311
+ // The third gate `ToolRegistry.invoke` applies, in the same order: authorization first,
312
+ // then shape. Delegation bypasses `invoke` (it is a ctx-level suspend point), so the gate
313
+ // has to be re-applied here or a malformed input is silently coerced instead of rejected.
314
+ const validation = await spec.inputSchema['~standard'].validate(call.input);
315
+ if (validation.issues !== undefined) {
316
+ throw new ToolInputInvalidError(call.name, validation.issues);
317
+ }
318
+ task = extractTask(validation.value);
319
+ }
320
+ catch (error) {
321
+ const message = error instanceof Error ? error.message : String(error);
322
+ // A denied delegation is recorded `failed` directly — never `auto_executed` even
323
+ // transiently — and never emits `agent.delegated`.
324
+ await hooks.step(`persist:toolcall:${call.id}`, () => deps.store.recordToolCall({
325
+ toolCallId: call.id,
326
+ messageId: assistant.id,
327
+ toolName: call.name,
328
+ toolType: 'read',
329
+ input: call.input,
330
+ status: 'failed',
331
+ runId: hooks.runId,
332
+ }));
333
+ results.push({ id: call.id, name: call.name, output: null, error: message });
334
+ continue;
335
+ }
269
336
  await hooks.step(`persist:toolcall:${call.id}`, () => deps.store.recordToolCall({
270
337
  toolCallId: call.id,
271
338
  messageId: assistant.id,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/agent-loop.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,23 @@ export declare class TenantScopeRewriter {
32
32
  constructor(config: TenantScopeConfig, parser: SqlParserLike);
33
33
  /** Rewrite `sql` to constrain scoped tables to `tenantRef`. Strictly-`undefined` → pass through. */
34
34
  rewrite(sql: string, tenantRef: string | undefined): string;
35
- private collectTenantPredicates;
35
+ /**
36
+ * Every tenant-column `=` predicate anywhere in the tree (recurses into both `AND` and `OR`).
37
+ * Used ONLY for the mismatch check: a query naming a foreign tenant anywhere must be rejected,
38
+ * even where that predicate cannot be relied on to actually constrain the result set.
39
+ */
40
+ private collectAllTenantPredicates;
41
+ /**
42
+ * Tenant-column `=` predicates on the top-level `AND` spine only. Descent stops at `OR` (and at
43
+ * any operator other than `AND`/`=`, e.g. `NOT`, which the parser represents as a `unary_expr`
44
+ * and so is never a `binary_expr` here) because only a conjunctively-combined predicate is
45
+ * guaranteed to hold for every row the query can return. Used for coverage: a table alias is
46
+ * "already scoped" only when one of these covers it.
47
+ */
48
+ private collectConjunctiveTenantPredicates;
49
+ private extractTenantPredicate;
36
50
  private buildTenantEquality;
37
51
  private andCondition;
52
+ private forceParens;
38
53
  }
39
54
  //# sourceMappingURL=tenant-scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-scope.d.ts","sourceRoot":"","sources":["../../../src/data/tenant-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtD,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,+FAA+F;IAC/F,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAqCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAGzC,MAAM,EAAE,iBAAiB,EACR,MAAM,EAAE,aAAa;IAMxC,oGAAoG;IACpG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAyD3D,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;CASrB"}
1
+ {"version":3,"file":"tenant-scope.d.ts","sourceRoot":"","sources":["../../../src/data/tenant-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtD,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,+FAA+F;IAC/F,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAiDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAGzC,MAAM,EAAE,iBAAiB,EACR,MAAM,EAAE,aAAa;IAMxC,oGAAoG;IACpG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAiE3D;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;;;;OAMG;IACH,OAAO,CAAC,kCAAkC;IAW1C,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,WAAW;CAIpB"}
@@ -51,13 +51,21 @@ export class TenantScopeRewriter {
51
51
  const scopedFrom = fromEntries.filter((entry) => typeof entry.table === 'string' && this.scopedTables.has(entry.table));
52
52
  if (scopedFrom.length === 0)
53
53
  return sql;
54
- const existing = this.collectTenantPredicates(ast.where);
55
- for (const predicate of existing) {
54
+ // Mismatch rejection looks at every tenant literal anywhere in the tree — including under an
55
+ // OR or NOT — because a query that so much as *names* a foreign tenant is suspicious and must
56
+ // throw, not silently be AND-ed down to zero rows.
57
+ const allPredicates = this.collectAllTenantPredicates(ast.where);
58
+ for (const predicate of allPredicates) {
56
59
  if (predicate.value !== tenantRef) {
57
60
  throw new Error('tenant scope: tenant mismatch — query targets a tenant other than the current session');
58
61
  }
59
62
  }
60
- const coveredAliases = new Set(existing.map((predicate) => predicate.tableAlias));
63
+ // Coverage is a different question: a predicate only actually constrains every row the query
64
+ // can return when it is on the top-level AND spine. A predicate under an OR (or NOT, or any
65
+ // other non-conjunctive operator) does not guarantee the constraint holds, so it must NOT
66
+ // suppress the AND-ed constraint below — see `collectConjunctiveTenantPredicates`.
67
+ const conjunctive = this.collectConjunctiveTenantPredicates(ast.where);
68
+ const coveredAliases = new Set(conjunctive.map((predicate) => predicate.tableAlias));
61
69
  for (const entry of scopedFrom) {
62
70
  const alias = entry.as ?? entry.table;
63
71
  const isAmbiguous = scopedFrom.length > 1;
@@ -68,15 +76,41 @@ export class TenantScopeRewriter {
68
76
  }
69
77
  return this.parser.sqlify(ast, { database: 'MySQL' });
70
78
  }
71
- collectTenantPredicates(where) {
79
+ /**
80
+ * Every tenant-column `=` predicate anywhere in the tree (recurses into both `AND` and `OR`).
81
+ * Used ONLY for the mismatch check: a query naming a foreign tenant anywhere must be rejected,
82
+ * even where that predicate cannot be relied on to actually constrain the result set.
83
+ */
84
+ collectAllTenantPredicates(where) {
72
85
  if (!isBinaryExpr(where))
73
86
  return [];
74
87
  if (where.operator === 'AND' || where.operator === 'OR') {
75
88
  return [
76
- ...this.collectTenantPredicates(where.left),
77
- ...this.collectTenantPredicates(where.right),
89
+ ...this.collectAllTenantPredicates(where.left),
90
+ ...this.collectAllTenantPredicates(where.right),
78
91
  ];
79
92
  }
93
+ return this.extractTenantPredicate(where);
94
+ }
95
+ /**
96
+ * Tenant-column `=` predicates on the top-level `AND` spine only. Descent stops at `OR` (and at
97
+ * any operator other than `AND`/`=`, e.g. `NOT`, which the parser represents as a `unary_expr`
98
+ * and so is never a `binary_expr` here) because only a conjunctively-combined predicate is
99
+ * guaranteed to hold for every row the query can return. Used for coverage: a table alias is
100
+ * "already scoped" only when one of these covers it.
101
+ */
102
+ collectConjunctiveTenantPredicates(where) {
103
+ if (!isBinaryExpr(where))
104
+ return [];
105
+ if (where.operator === 'AND') {
106
+ return [
107
+ ...this.collectConjunctiveTenantPredicates(where.left),
108
+ ...this.collectConjunctiveTenantPredicates(where.right),
109
+ ];
110
+ }
111
+ return this.extractTenantPredicate(where);
112
+ }
113
+ extractTenantPredicate(where) {
80
114
  if (where.operator !== '=')
81
115
  return [];
82
116
  const lhs = where.left;
@@ -101,10 +135,19 @@ export class TenantScopeRewriter {
101
135
  return {
102
136
  type: 'binary_expr',
103
137
  operator: 'AND',
104
- left: existing,
138
+ // Force `parentheses: true` regardless of whether the original SQL already had explicit
139
+ // parens here — see the doc comment on `BinaryExpr.parentheses`. Without it, an OR-rooted
140
+ // `existing` prints without the grouping parens a real database needs to apply the AND-ed
141
+ // tenant predicate to the WHOLE existing expression rather than just its last disjunct.
142
+ left: this.forceParens(existing),
105
143
  right: added,
106
144
  };
107
145
  }
146
+ forceParens(node) {
147
+ if (typeof node !== 'object' || node === null)
148
+ return node;
149
+ return { ...node, parentheses: true };
150
+ }
108
151
  }
109
152
  function isBinaryExpr(value) {
110
153
  return (typeof value === 'object' &&
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-scope.js","sourceRoot":"","sources":["../../../src/data/tenant-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-scope.js","sourceRoot":"","sources":["../../../src/data/tenant-scope.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import type { TokenStreamSink } from './spi/token-stream-sink.js';
13
13
  import { actorDirectories, attachmentStores, governanceQueries, pricingStores, quotas, retrievers, stores, streamTransports, tokenSinks } from './stores/factory.js';
14
14
  import type { ActorDirectoryFactory, AttachmentStagingContext, AttachmentStagingFactory, EmbeddingFactory, GovernanceQueriesContext, GovernanceQueriesFactory, LucidGovernanceConfig, LucidPricingConfig, LucidStoreConfig, MemoryActorDirectoryConfig, MemoryRetrieverConfig, MemoryStoreConfig, PgVectorRetrieverConfig, PricingContext, PricingFactory, QuotaConfig, QuotaContext, QuotaFactory, RedisTokenSinkConfig, RetrieverContext, RetrieverFactory, StoreContext, StoreFactory, TokenSinkFactory } from './stores/factory.js';
15
15
  import type { ToolTransientRetrySetting } from './tool-retry.js';
16
- import type { AgentDefinition } from './types.js';
16
+ import type { Actor, AgentDefinition } from './types.js';
17
17
  /** A lazy factory thunk, so the peer (`ai`/a provider SDK) is imported only when the config loads. */
18
18
  export type ModelFactory = () => ModelProvider | Promise<ModelProvider>;
19
19
  /** A lazy {@link TokenStreamSink} factory, receiving the app context (for container access). Omit to use the in-process sink. */
@@ -87,15 +87,23 @@ export interface AgentConfig {
87
87
  * Authorization gate for the cross-actor `/agent/governance/*` read routes. It runs after the actor
88
88
  * is resolved (the caller is authenticated) and decides whether THIS actor may read the platform-wide
89
89
  * governance read-model — every actor's spend, usage, threads, and pending HITL approvals. Return
90
- * `false` to deny (the route replies `403`). Omit it and any resolved actor may read governance (the
91
- * historical behavior, correct only when every authenticated caller is trusted staff); typically set
92
- * it to an ADMIN check.
90
+ * `false` to deny (the route replies `403`).
93
91
  *
94
- * This does NOT gate the per-actor `GET /agent/approvals/mine` route, which is always scoped to the
95
- * calling actor's OWN pending approvals — so a non-admin surface (e.g. a coordinator's chat) can poll
96
- * its own approvals even while the cross-actor governance read-model is ADMIN-only. Mirrors
97
- * `@adonis-agora/agent-dashboard`'s `authorize` hook so the JSON routes and the console SPA can be
98
- * gated with the same predicate.
92
+ * **The routes mount only when this gate exists.** Omit it and `/agent/governance/*` is NOT mounted
93
+ * at all (every route answers `404`), because an ungated cross-actor read-model exposes every
94
+ * actor's spend/usage/threads/approvals to any authenticated caller. Set it — typically an ADMIN
95
+ * check — to mount the routes gated, or set `governanceAuthorize: () => true` to deliberately
96
+ * restore the old behaviour of letting ANY authenticated actor read them. The provider logs a boot
97
+ * warning naming both paths when the read-model resolved but no gate is configured.
98
+ *
99
+ * This does NOT gate the per-actor `GET /agent/approvals/mine` route, which is unaffected: it stays
100
+ * mounted whenever the governance read-model resolves, and is always scoped to the calling actor's
101
+ * OWN pending approvals — so a non-admin surface (e.g. a coordinator's chat) can poll its own
102
+ * approvals even while the cross-actor governance read-model is ADMIN-only.
103
+ *
104
+ * `@adonis-agora/agent-dashboard`'s console reads these routes from the browser, so it mounts only
105
+ * when this gate exists too; its `dashboard.authorize` hook takes the same shape, so the JSON routes
106
+ * and the console SPA can be gated with the same predicate.
99
107
  */
100
108
  governanceAuthorize?: AgentGovernanceAuthorize;
101
109
  /**
@@ -107,6 +115,14 @@ export interface AgentConfig {
107
115
  retriever?: Retriever | RetrieverFactory;
108
116
  /** How many passages inject-mode retrieval requests per run. Default 5. */
109
117
  retrievalTopK?: number;
118
+ /**
119
+ * Derives the metadata filter applied to inject-mode RAG retrieval, from the run's actor.
120
+ * Without it, retrieval is UNSCOPED: every passage in the corpus is eligible for every
121
+ * actor's system prompt. Any deployment sharing one corpus across tenants must set this.
122
+ * The returned object is passed verbatim as `RetrieveOptions.filter` and is interpreted by
123
+ * the store (see the `audience` ACL pattern in docs/retrieval/rag.mdx).
124
+ */
125
+ retrievalFilter?: (actor: Actor) => Record<string, unknown>;
110
126
  /**
111
127
  * Upload-side seam for message attachments (image/PDF). When set, the provider mounts the optional
112
128
  * `POST /agent/attachments` route, which stages an uploaded file through this store and returns a
@@ -1 +1 @@
1
- {"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,UAAU,GACX,MAAM,qBAAqB,CAAC;AA4L7B,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,UAAU,GACX,MAAM,qBAAqB,CAAC;AA4M7B,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,CAAC"}
@@ -1,11 +1,16 @@
1
1
  import type { HttpContext } from '@adonisjs/core/http';
2
2
  import type { Actor } from './types.js';
3
3
  /**
4
- * Optional authorization gate for the cross-actor `/agent/governance/*` read routes. It runs AFTER
5
- * the actor is resolved (so the caller is already authenticated), and decides whether THIS actor may
6
- * read the platform-wide governance read-model (every actor's spend/usage/threads/approvals). Return
7
- * `false` to deny (the route replies `403`). Omit the gate entirely and any resolved actor may read
8
- * governance — the historical behavior, correct only when every authenticated caller is trusted staff.
4
+ * Authorization gate for the cross-actor `/agent/governance/*` read routes. It runs AFTER the actor
5
+ * is resolved (so the caller is already authenticated), and decides whether THIS actor may read the
6
+ * platform-wide governance read-model (every actor's spend/usage/threads/approvals). Return `false`
7
+ * to deny (the route replies `403`).
8
+ *
9
+ * The gate is what makes those routes exist: omit it and the provider does NOT mount
10
+ * `/agent/governance/*` at all (every route answers `404`). Set it to mount them gated, or set
11
+ * `governanceAuthorize: () => true` to deliberately restore the old behaviour of letting ANY
12
+ * authenticated actor read them. `GET /agent/approvals/mine` is unaffected — it stays mounted and
13
+ * scoped to the calling actor's own pending approvals.
9
14
  *
10
15
  * Mirrors `@adonis-agora/agent-dashboard`'s `authorize` hook so the JSON routes and the console SPA
11
16
  * that reads them can be gated with the SAME predicate (typically "actor is ADMIN").
@@ -19,13 +24,24 @@ export interface GovernanceGateVerdict {
19
24
  error?: string;
20
25
  }
21
26
  /**
22
- * Decide whether an already-resolved actor may read the governance routes — the router-free core of
23
- * the provider's governance gate, extracted so it can be unit tested without booting an app.
27
+ * Decide whether an already-resolved actor holds cross-actor governance privilege — the router-free
28
+ * core of the provider's governance gate, extracted so it can be unit tested without booting an app.
24
29
  *
25
- * - No `authorize` configured → `{ ok: true }` (governance open to any resolved actor).
30
+ * - No `authorize` configured → `{ ok: true }` (see the caveat below — the provider never gets here).
26
31
  * - `authorize` returns truthy → `{ ok: true }`.
27
32
  * - `authorize` returns falsy → `{ ok: false, status: 403 }`.
28
33
  * - `authorize` throws → `{ ok: false, status: 403 }` (fail-closed; the error message is surfaced).
34
+ *
35
+ * The `undefined` branch is a pure-function convenience, NOT a claim that governance is readable
36
+ * without a gate. Neither provider caller can reach it: `#resolveGovernanceActor` backs the
37
+ * `/agent/governance/*` routes, which are NOT mounted at all when no gate is configured (they answer
38
+ * `404`), so it always passes one; and `#assertOwner` — which reuses this predicate as the "may act
39
+ * across actors" seam for the per-actor run/thread routes — short-circuits to "not privileged" when
40
+ * no gate is configured, leaving ownership strict, rather than calling in. To mount the governance
41
+ * routes, set `governanceAuthorize` (typically an ADMIN check); to deliberately restore the old
42
+ * behaviour of letting ANY authenticated actor read them, set `governanceAuthorize: () => true`.
43
+ * Either way `GET /agent/approvals/mine` is unaffected — it stays mounted and scoped to the calling
44
+ * actor's own pending approvals.
29
45
  */
30
46
  export declare function evaluateGovernanceGate(actor: Actor, ctx: HttpContext, authorize?: AgentGovernanceAuthorize): Promise<GovernanceGateVerdict>;
31
47
  //# sourceMappingURL=governance-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"governance-gate.d.ts","sourceRoot":"","sources":["../../src/governance-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,KACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,oGAAoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,qGAAqG;IACrG,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,EAChB,SAAS,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAYhC"}
1
+ {"version":3,"file":"governance-gate.d.ts","sourceRoot":"","sources":["../../src/governance-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,KACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,oGAAoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,qGAAqG;IACrG,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,EAChB,SAAS,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAYhC"}
@@ -1,11 +1,22 @@
1
1
  /**
2
- * Decide whether an already-resolved actor may read the governance routes — the router-free core of
3
- * the provider's governance gate, extracted so it can be unit tested without booting an app.
2
+ * Decide whether an already-resolved actor holds cross-actor governance privilege — the router-free
3
+ * core of the provider's governance gate, extracted so it can be unit tested without booting an app.
4
4
  *
5
- * - No `authorize` configured → `{ ok: true }` (governance open to any resolved actor).
5
+ * - No `authorize` configured → `{ ok: true }` (see the caveat below — the provider never gets here).
6
6
  * - `authorize` returns truthy → `{ ok: true }`.
7
7
  * - `authorize` returns falsy → `{ ok: false, status: 403 }`.
8
8
  * - `authorize` throws → `{ ok: false, status: 403 }` (fail-closed; the error message is surfaced).
9
+ *
10
+ * The `undefined` branch is a pure-function convenience, NOT a claim that governance is readable
11
+ * without a gate. Neither provider caller can reach it: `#resolveGovernanceActor` backs the
12
+ * `/agent/governance/*` routes, which are NOT mounted at all when no gate is configured (they answer
13
+ * `404`), so it always passes one; and `#assertOwner` — which reuses this predicate as the "may act
14
+ * across actors" seam for the per-actor run/thread routes — short-circuits to "not privileged" when
15
+ * no gate is configured, leaving ownership strict, rather than calling in. To mount the governance
16
+ * routes, set `governanceAuthorize` (typically an ADMIN check); to deliberately restore the old
17
+ * behaviour of letting ANY authenticated actor read them, set `governanceAuthorize: () => true`.
18
+ * Either way `GET /agent/approvals/mine` is unaffected — it stays mounted and scoped to the calling
19
+ * actor's own pending approvals.
9
20
  */
10
21
  export async function evaluateGovernanceGate(actor, ctx, authorize) {
11
22
  if (authorize === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"governance-gate.js","sourceRoot":"","sources":["../../src/governance-gate.ts"],"names":[],"mappings":"AA0BA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAY,EACZ,GAAgB,EAChB,SAAoC;IAEpC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;SAC5D,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"governance-gate.js","sourceRoot":"","sources":["../../src/governance-gate.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAY,EACZ,GAAgB,EAChB,SAAoC;IAEpC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;SAC5D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const VERSION = "0.17.0";
1
+ export declare const VERSION = "0.19.0";
2
2
  export * from './types.js';
3
3
  export * from './spi/tool.js';
4
4
  export * from './base-tool.js';
@@ -62,4 +62,5 @@ export { LucidPricingStore } from './stores/lucid-pricing.js';
62
62
  export { LucidGovernanceQueries } from './stores/lucid-governance-queries.js';
63
63
  export { dataTool, SqlValidator, SqlValidationError, GroupTableAccessPolicy, TenantScopeRewriter, injectLimit, loadSqlParser, } from './data/index.js';
64
64
  export type { DataToolConfig, DataToolResult, QueryRunner, SqlValidationResult, TableAccessPolicy, GroupTableAccessConfig, TenantScopeConfig, SqlParserLike, } from './data/index.js';
65
+ export { configure } from '../configure.js';
65
66
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export const VERSION = '0.17.0';
1
+ export const VERSION = '0.19.0';
2
2
  export * from './types.js';
3
3
  export * from './spi/tool.js';
4
4
  export * from './base-tool.js';
@@ -48,4 +48,8 @@ export { LucidPricingStore } from './stores/lucid-pricing.js';
48
48
  export { LucidGovernanceQueries } from './stores/lucid-governance-queries.js';
49
49
  // ── Data satellite: governed read-only SQL tool ──────────────────────────────
50
50
  export { dataTool, SqlValidator, SqlValidationError, GroupTableAccessPolicy, TenantScopeRewriter, injectLimit, loadSqlParser, } from './data/index.js';
51
+ // Re-export the configure hook from the package root so `node ace configure` finds it.
52
+ // AdonisJS imports the package MAIN and reads `configure` off the module namespace —
53
+ // the `./configure` subpath alone is never consulted.
54
+ export { configure } from '../configure.js';
51
55
  //# sourceMappingURL=index.js.map
@@ -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":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAS/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,qCAAqC,EACrC,uCAAuC,GACxC,MAAM,iBAAiB,CAAC;AAMzB,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,gFAAgF;AAChF,OAAO,EACL,YAAY,EACZ,MAAM,EACN,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAgCnD,OAAO,EACL,MAAM,EACN,UAAU,EACV,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEpG,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,gFAAgF;AAChF,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAYzB,uFAAuF;AACvF,qFAAqF;AACrF,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}