@adonis-agora/agent 0.44.0 → 0.46.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 (90) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +42 -4
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/src/agent-loop.d.ts.map +1 -1
  6. package/dist/src/agent-loop.js +78 -28
  7. package/dist/src/agent-loop.js.map +1 -1
  8. package/dist/src/ai-sdk/ai-sdk-model.d.ts +30 -13
  9. package/dist/src/ai-sdk/ai-sdk-model.d.ts.map +1 -1
  10. package/dist/src/ai-sdk/ai-sdk-model.js +160 -89
  11. package/dist/src/ai-sdk/ai-sdk-model.js.map +1 -1
  12. package/dist/src/ai-sdk/index.d.ts +1 -1
  13. package/dist/src/ai-sdk/index.d.ts.map +1 -1
  14. package/dist/src/ai-sdk/index.js +1 -1
  15. package/dist/src/ai-sdk/index.js.map +1 -1
  16. package/dist/src/ai-tool-ref.d.ts +25 -8
  17. package/dist/src/ai-tool-ref.d.ts.map +1 -1
  18. package/dist/src/ai-tool-ref.js +22 -4
  19. package/dist/src/ai-tool-ref.js.map +1 -1
  20. package/dist/src/anonymous-actor-resolver.d.ts +38 -0
  21. package/dist/src/anonymous-actor-resolver.d.ts.map +1 -0
  22. package/dist/src/anonymous-actor-resolver.js +76 -0
  23. package/dist/src/anonymous-actor-resolver.js.map +1 -0
  24. package/dist/src/authorizer.d.ts +4 -3
  25. package/dist/src/authorizer.d.ts.map +1 -1
  26. package/dist/src/authorizer.js +5 -4
  27. package/dist/src/authorizer.js.map +1 -1
  28. package/dist/src/define_config.d.ts +16 -3
  29. package/dist/src/define_config.d.ts.map +1 -1
  30. package/dist/src/define_config.js.map +1 -1
  31. package/dist/src/genui/builtins.d.ts +6 -0
  32. package/dist/src/genui/builtins.d.ts.map +1 -0
  33. package/dist/src/genui/builtins.js +6 -0
  34. package/dist/src/genui/builtins.js.map +1 -0
  35. package/dist/src/genui/factory.d.ts +34 -0
  36. package/dist/src/genui/factory.d.ts.map +1 -0
  37. package/dist/src/genui/factory.js +11 -0
  38. package/dist/src/genui/factory.js.map +1 -0
  39. package/dist/src/genui/index.d.ts +53 -0
  40. package/dist/src/genui/index.d.ts.map +1 -0
  41. package/dist/src/genui/index.js +72 -0
  42. package/dist/src/genui/index.js.map +1 -0
  43. package/dist/src/index.d.ts +5 -2
  44. package/dist/src/index.d.ts.map +1 -1
  45. package/dist/src/index.js +5 -2
  46. package/dist/src/index.js.map +1 -1
  47. package/dist/src/mcp/server.d.ts.map +1 -1
  48. package/dist/src/mcp/server.js +4 -1
  49. package/dist/src/mcp/server.js.map +1 -1
  50. package/dist/src/spi/agent-store.d.ts +7 -0
  51. package/dist/src/spi/agent-store.d.ts.map +1 -1
  52. package/dist/src/spi/token-stream-sink.d.ts +2 -0
  53. package/dist/src/spi/token-stream-sink.d.ts.map +1 -1
  54. package/dist/src/spi/token-stream-sink.js.map +1 -1
  55. package/dist/src/spi/tool.d.ts +40 -0
  56. package/dist/src/spi/tool.d.ts.map +1 -1
  57. package/dist/src/sse.d.ts.map +1 -1
  58. package/dist/src/sse.js +1 -0
  59. package/dist/src/sse.js.map +1 -1
  60. package/dist/src/stores/lucid.d.ts +2 -0
  61. package/dist/src/stores/lucid.d.ts.map +1 -1
  62. package/dist/src/stores/lucid.js +7 -0
  63. package/dist/src/stores/lucid.js.map +1 -1
  64. package/dist/src/testing/in-memory-store.d.ts +2 -0
  65. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  66. package/dist/src/testing/in-memory-store.js +10 -0
  67. package/dist/src/testing/in-memory-store.js.map +1 -1
  68. package/dist/src/testing/index.d.ts +1 -0
  69. package/dist/src/testing/index.d.ts.map +1 -1
  70. package/dist/src/testing/index.js +1 -0
  71. package/dist/src/testing/index.js.map +1 -1
  72. package/dist/src/tool-discovery.d.ts.map +1 -1
  73. package/dist/src/tool-discovery.js +1 -0
  74. package/dist/src/tool-discovery.js.map +1 -1
  75. package/dist/src/tool-registry.d.ts +7 -3
  76. package/dist/src/tool-registry.d.ts.map +1 -1
  77. package/dist/src/tool-registry.js +25 -9
  78. package/dist/src/tool-registry.js.map +1 -1
  79. package/dist/src/tool-ui.d.ts +35 -0
  80. package/dist/src/tool-ui.d.ts.map +1 -0
  81. package/dist/src/tool-ui.js +100 -0
  82. package/dist/src/tool-ui.js.map +1 -0
  83. package/dist/src/types.d.ts +12 -7
  84. package/dist/src/types.d.ts.map +1 -1
  85. package/dist/stubs/config/agent.stub +9 -7
  86. package/package.json +16 -1
  87. package/skills/agent-governance/SKILL.md +4 -3
  88. package/skills/agent-personas-agents/SKILL.md +3 -3
  89. package/skills/agent-setup/SKILL.md +12 -9
  90. package/skills/agent-tools/SKILL.md +11 -10
@@ -1,4 +1,5 @@
1
1
  import { jsonSchema, Output, streamText, tool, } from 'ai';
2
+ import { staticModelCatalog, } from '../spi/model-catalog.js';
2
3
  /**
3
4
  * Adapt a Vercel AI SDK v7 `LanguageModel` to the core `ModelProvider` SPI so a host app writes
4
5
  * zero provider code. Streams text deltas to `args.sink`, returns the assembled text, requested
@@ -6,104 +7,174 @@ import { jsonSchema, Output, streamText, tool, } from 'ai';
6
7
  * tools are handed to the SDK WITHOUT an `execute` fn, so the SDK returns tool-calls for the agent
7
8
  * loop to run as its own (replay-safe) steps.
8
9
  */
10
+ function idOf(model) {
11
+ if (typeof model === 'string')
12
+ return model;
13
+ const id = model.modelId;
14
+ return typeof id === 'string' ? id : undefined;
15
+ }
9
16
  export function aiSdkModel(model, opts) {
10
- const { resolveModel, ...settings } = opts ?? {};
11
- const modelFor = (picked) => {
12
- if (picked === undefined)
13
- return model;
14
- if (resolveModel !== undefined)
15
- return resolveModel(picked);
16
- return typeof model === 'string' ? picked : model;
17
- };
17
+ const own = idOf(model);
18
18
  return {
19
19
  async runTurn(args) {
20
- // `output` makes the provider constrain generation to the schema. It is only offered for a
21
- // schema the SDK can convert; for anything else the call goes out unconstrained and the loop
22
- // reads the JSON out of the reply text, which is what `toSdkOutput` returning undefined means.
23
- const output = args.outputSchema !== undefined ? toSdkOutput(args.outputSchema) : undefined;
24
- const result = streamText({
25
- ...settings,
26
- model: modelFor(args.model),
27
- instructions: args.system,
28
- messages: mapMessages(args.messages),
29
- tools: mapTools(args.tools),
30
- ...(output !== undefined ? { output } : {}),
31
- ...(args.abortSignal ? { abortSignal: args.abortSignal } : {}),
32
- });
33
- // Text stays a `text` frame (the one kind the output gate reads); everything else the model
34
- // streams goes out in the agent protocol's vocabulary, so a client draws the thinking and the
35
- // tool cards live. Tool RESULTS and step brackets are the loop's to write.
36
- let text = '';
37
- for await (const part of result.stream) {
38
- switch (part.type) {
39
- case 'text-delta':
40
- text += part.text;
41
- await args.sink.write({ t: 'text', v: part.text });
42
- break;
43
- case 'reasoning-delta':
44
- await args.sink.write({ t: 'event', event: { kind: 'reasoning', text: part.text } });
45
- break;
46
- case 'tool-input-start':
47
- await args.sink.write({
48
- t: 'event',
49
- event: {
50
- kind: 'tool-input-start',
51
- id: part.id,
52
- name: part.toolName,
53
- toolKind: streamToolKind(part.toolName, args.tools),
54
- },
55
- });
56
- break;
57
- case 'tool-input-delta':
58
- await args.sink.write({
59
- t: 'event',
60
- event: { kind: 'tool-input-delta', id: part.id, delta: part.delta },
61
- });
62
- break;
63
- case 'tool-call':
64
- await args.sink.write({
65
- t: 'event',
66
- event: {
67
- kind: 'tool-input-available',
68
- id: part.toolCallId,
69
- name: part.toolName,
70
- input: part.input,
71
- toolKind: streamToolKind(part.toolName, args.tools),
72
- },
73
- });
74
- break;
75
- default:
76
- break;
77
- }
20
+ // One model, so a pick naming another cannot be honoured — and running this one instead would
21
+ // answer on a model nobody chose. `aiSdkModels` is the provider for a picker.
22
+ if (args.model !== undefined && args.model !== own) {
23
+ throw new Error(`aiSdkModel: this turn picked model "${args.model}", but the provider serves only ` +
24
+ `"${own ?? 'its one model'}". Offer several with aiSdkModels({ … }).`);
78
25
  }
79
- // The promise accessors resolve once the stream is fully consumed above. `modelId` and the
80
- // reported cost live on the final step (the top-level aliases are deprecated in AI SDK v7).
81
- const [toolCalls, usage, finalStep] = await Promise.all([
82
- result.toolCalls,
83
- result.usage,
84
- result.finalStep,
85
- ]);
86
- // What the provider itself parsed. Handed back for the loop to VALIDATE — never as the
87
- // finished answer: "the provider says it matched" is a different claim from "it matches".
88
- const object = output === undefined ? undefined : await result.output;
89
- const modelId = finalStep.response.modelId;
90
- const costUsd = extractCostUsd(finalStep.providerMetadata);
91
- return {
92
- text,
93
- toolCalls: toolCalls.map(mapToolCall),
94
- usage: mapUsage(usage),
95
- ...(typeof modelId === 'string' && modelId.length > 0 ? { modelId } : {}),
96
- ...(costUsd !== undefined ? { costUsd } : {}),
97
- ...(object !== undefined ? { object } : {}),
98
- };
26
+ return runTurnOn(model, opts ?? {}, args);
99
27
  },
100
28
  };
101
29
  }
30
+ function groupOf(id, entry) {
31
+ if (entry.provider !== undefined)
32
+ return entry.provider;
33
+ const slash = id.indexOf('/');
34
+ if (slash > 0)
35
+ return id.slice(0, slash);
36
+ const provider = typeof entry.model === 'string' ? undefined : entry.model.provider;
37
+ return typeof provider === 'string' ? (provider.split('.')[0] ?? provider) : 'models';
38
+ }
102
39
  /**
103
- * Map core `ModelMessage[]` → SDK messages. Tool calls ride on the assistant message as
104
- * `tool-call` content parts; tool results become a following `tool` message. A message can
105
- * therefore expand into two SDK messages, so we build the list imperatively.
40
+ * Several AI SDK models behind one provider — what a model picker needs, and all it needs: the
41
+ * provider carries its catalog (`.catalog`), which `GET <path>/models` serves when `config/agent.ts`
42
+ * sets no `models`, and a turn runs on the picked id (else `default`).
43
+ *
44
+ * ```ts
45
+ * model: () => aiSdkModels({ 'openai/gpt-4o-mini': 'openai/gpt-4o-mini', 'openai/gpt-4o': { model: openai('gpt-4o'), badges: ['smart'] } }),
46
+ * ```
106
47
  */
48
+ export function aiSdkModels(models, options = {}) {
49
+ const { default: defaultId, providerLabels, ...settings } = options;
50
+ const entries = Object.entries(models).map(([id, value]) => {
51
+ const entry = typeof value === 'object' && value !== null && 'model' in value
52
+ ? value
53
+ : { model: value };
54
+ return [id, entry];
55
+ });
56
+ if (entries.length === 0)
57
+ throw new Error('aiSdkModels: offer at least one model');
58
+ const byId = new Map(entries);
59
+ const fallback = defaultId ?? entries[0]?.[0];
60
+ if (fallback === undefined || !byId.has(fallback)) {
61
+ throw new Error(`aiSdkModels: default "${defaultId}" is not one of the offered models`);
62
+ }
63
+ const groups = new Map();
64
+ for (const [id, entry] of entries) {
65
+ const group = groupOf(id, entry);
66
+ const list = groups.get(group) ?? [];
67
+ list.push({
68
+ id,
69
+ label: entry.label ?? id,
70
+ available: true,
71
+ ...(entry.description !== undefined ? { description: entry.description } : {}),
72
+ ...(entry.badges !== undefined ? { badges: entry.badges } : {}),
73
+ ...(entry.contextWindow !== undefined ? { contextWindow: entry.contextWindow } : {}),
74
+ });
75
+ groups.set(group, list);
76
+ }
77
+ const view = {
78
+ default: fallback,
79
+ providers: [...groups].map(([id, list]) => ({
80
+ id,
81
+ label: providerLabels?.[id] ?? id.charAt(0).toUpperCase() + id.slice(1),
82
+ models: list,
83
+ })),
84
+ };
85
+ return {
86
+ catalog: staticModelCatalog(view),
87
+ async runTurn(args) {
88
+ const id = args.model ?? fallback;
89
+ const entry = byId.get(id);
90
+ if (entry === undefined) {
91
+ throw new Error(`aiSdkModels: this turn picked model "${id}", which is not offered (${[...byId.keys()].join(', ')}).`);
92
+ }
93
+ return runTurnOn(entry.model, settings, args);
94
+ },
95
+ };
96
+ }
97
+ async function runTurnOn(model, settings, args) {
98
+ // `output` makes the provider constrain generation to the schema. It is only offered for a
99
+ // schema the SDK can convert; for anything else the call goes out unconstrained and the loop
100
+ // reads the JSON out of the reply text, which is what `toSdkOutput` returning undefined means.
101
+ const output = args.outputSchema !== undefined ? toSdkOutput(args.outputSchema) : undefined;
102
+ const result = streamText({
103
+ ...settings,
104
+ model,
105
+ instructions: args.system,
106
+ messages: mapMessages(args.messages),
107
+ tools: mapTools(args.tools),
108
+ ...(output !== undefined ? { output } : {}),
109
+ ...(args.abortSignal ? { abortSignal: args.abortSignal } : {}),
110
+ });
111
+ // Text stays a `text` frame (the one kind the output gate reads); everything else the model
112
+ // streams goes out in the agent protocol's vocabulary, so a client draws the thinking and the
113
+ // tool cards live. Tool RESULTS and step brackets are the loop's to write.
114
+ let text = '';
115
+ for await (const part of result.stream) {
116
+ switch (part.type) {
117
+ case 'text-delta':
118
+ text += part.text;
119
+ await args.sink.write({ t: 'text', v: part.text });
120
+ break;
121
+ case 'reasoning-delta':
122
+ await args.sink.write({ t: 'event', event: { kind: 'reasoning', text: part.text } });
123
+ break;
124
+ case 'tool-input-start':
125
+ await args.sink.write({
126
+ t: 'event',
127
+ event: {
128
+ kind: 'tool-input-start',
129
+ id: part.id,
130
+ name: part.toolName,
131
+ toolKind: streamToolKind(part.toolName, args.tools),
132
+ },
133
+ });
134
+ break;
135
+ case 'tool-input-delta':
136
+ await args.sink.write({
137
+ t: 'event',
138
+ event: { kind: 'tool-input-delta', id: part.id, delta: part.delta },
139
+ });
140
+ break;
141
+ case 'tool-call':
142
+ await args.sink.write({
143
+ t: 'event',
144
+ event: {
145
+ kind: 'tool-input-available',
146
+ id: part.toolCallId,
147
+ name: part.toolName,
148
+ input: part.input,
149
+ toolKind: streamToolKind(part.toolName, args.tools),
150
+ },
151
+ });
152
+ break;
153
+ default:
154
+ break;
155
+ }
156
+ }
157
+ // The promise accessors resolve once the stream is fully consumed above. `modelId` and the
158
+ // reported cost live on the final step (the top-level aliases are deprecated in AI SDK v7).
159
+ const [toolCalls, usage, finalStep] = await Promise.all([
160
+ result.toolCalls,
161
+ result.usage,
162
+ result.finalStep,
163
+ ]);
164
+ // What the provider itself parsed. Handed back for the loop to VALIDATE — never as the
165
+ // finished answer: "the provider says it matched" is a different claim from "it matches".
166
+ const object = output === undefined ? undefined : await result.output;
167
+ const modelId = finalStep.response.modelId;
168
+ const costUsd = extractCostUsd(finalStep.providerMetadata);
169
+ return {
170
+ text,
171
+ toolCalls: toolCalls.map(mapToolCall),
172
+ usage: mapUsage(usage),
173
+ ...(typeof modelId === 'string' && modelId.length > 0 ? { modelId } : {}),
174
+ ...(costUsd !== undefined ? { costUsd } : {}),
175
+ ...(object !== undefined ? { object } : {}),
176
+ };
177
+ }
107
178
  /** The stream's two-valued tool kind: only an `action` waits for a person before it runs. */
108
179
  function streamToolKind(toolName, tools) {
109
180
  return tools.find((definition) => definition.name === toolName)?.kind === 'action'
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-model.js","sourceRoot":"","sources":["../../../src/ai-sdk/ai-sdk-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sdk-model.js","sourceRoot":"","sources":["../../../src/ai-sdk/ai-sdk-model.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { type AiSdkModelOptions, aiSdkModel } from './ai-sdk-model.js';
1
+ export { type AiSdkModelEntry, type AiSdkModelOptions, type AiSdkModelsOptions, type AiSdkModelsProvider, aiSdkModel, aiSdkModels, } from './ai-sdk-model.js';
2
2
  export { attachmentFetchDownloader } from './attachment-fetch-downloader.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai-sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai-sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,UAAU,EACV,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,3 +1,3 @@
1
- export { aiSdkModel } from './ai-sdk-model.js';
1
+ export { aiSdkModel, aiSdkModels, } from './ai-sdk-model.js';
2
2
  export { attachmentFetchDownloader } from './attachment-fetch-downloader.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,UAAU,EACV,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -14,19 +14,24 @@ export declare const AI_TOOL_META_KEY: unique symbol;
14
14
  */
15
15
  export declare const AGENT_TOOL_BRAND: unique symbol;
16
16
  export interface AiToolOptions {
17
- name: string;
18
17
  /**
19
- * `read` auto-executes; `action` requires HITL approval. (Core's `ToolKind` also has `agent` for
20
- * delegation, but that kind is synthesized from an agent's `delegatesTo` — never authored here.)
18
+ * What the model calls it. Omit on a class → the class name, camelCased, with a trailing `Tool`
19
+ * dropped (`GetWeatherTool` → `getWeather`). Required on {@link defineTool}, which has no class.
21
20
  */
22
- kind: 'read' | 'action';
21
+ name?: string;
22
+ /**
23
+ * `read` auto-executes; `action` requires HITL approval. Default `'read'`. (Core's `ToolKind` also
24
+ * has `agent` for delegation, but that kind is synthesized from an agent's `delegatesTo` — never
25
+ * authored here.)
26
+ */
27
+ kind?: 'read' | 'action';
23
28
  description: string;
24
29
  /**
25
30
  * Input schema as a [Standard Schema](https://standardschema.dev) — Zod, Valibot, or ArkType.
26
31
  * Validated (again) before the handler runs.
27
32
  */
28
33
  input: StandardSchemaV1;
29
- /** Roles allowed to invoke. Omit to inherit the config's `defaultRoles` (ADMIN-only by default). */
34
+ /** Roles allowed to invoke. Omit to inherit the config's `defaultRoles` (unrestricted by default). */
30
35
  roles?: string[];
31
36
  /**
32
37
  * Authz ability checked by an ability-aware `RolesPolicy` (e.g. an `@adonis-agora/authz` Bouncer
@@ -46,9 +51,19 @@ export interface AiToolOptions {
46
51
  * ```
47
52
  */
48
53
  presentation?: ToolPresentation;
54
+ /** A successful call ends the turn — no model call narrates what it already showed. */
55
+ terminal?: boolean;
49
56
  }
50
- /** The metadata a tool class carries for discovery + registration — from `@AiTool` or `static tool`. */
51
- export type AiToolMeta = AiToolOptions;
57
+ /**
58
+ * The metadata a tool class carries for discovery + registration — from `@AiTool` or `static tool` —
59
+ * with the defaults applied.
60
+ */
61
+ export type AiToolMeta = AiToolOptions & {
62
+ name: string;
63
+ kind: 'read' | 'action';
64
+ };
65
+ /** `GetWeatherTool` → `getWeather`; `SQLQueryTool` → `sqlQuery`. */
66
+ export declare function toolNameFromClass(className: string): string;
52
67
  /** Structural shape of a tool class: a constructor whose instance implements `execute`. */
53
68
  export type ToolClass = abstract new (...args: never[]) => ToolHandler;
54
69
  /**
@@ -99,5 +114,7 @@ export declare function isBrandedFunctionalTool(value: unknown): value is Brande
99
114
  * )
100
115
  * ```
101
116
  */
102
- export declare function defineTool<I = unknown, O = unknown>(options: AiToolOptions, execute: (input: I, ctx: AiToolCtx) => Promise<O> | O): BrandedFunctionalTool;
117
+ export declare function defineTool<I = unknown, O = unknown>(options: AiToolOptions & {
118
+ name: string;
119
+ }, execute: (input: I, ctx: AiToolCtx) => Promise<O> | O): BrandedFunctionalTool;
103
120
  //# sourceMappingURL=ai-tool-ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-tool-ref.d.ts","sourceRoot":"","sources":["../../src/ai-tool-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAgD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAmD,CAAC;AAE1F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,KAAK,EAAE,gBAAgB,CAAC;IACxB,oGAAoG;IACpG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,wGAAwG;AACxG,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,2FAA2F;AAC3F,MAAM,MAAM,SAAS,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,WAAW,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,IACnC,CAAC,SAAS,SAAS,UAAU,CAAC,KAAG,CAAC,CAQ3C;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAMtE;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,oGAAoG;AACpG,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACnC;AAED,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAQtF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACjD,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACpD,qBAAqB,CAevB"}
1
+ {"version":3,"file":"ai-tool-ref.d.ts","sourceRoot":"","sources":["../../src/ai-tool-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAgD,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAmD,CAAC;AAE1F,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,KAAK,EAAE,gBAAgB,CAAC;IACxB,sGAAsG;IACtG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAEnF,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO3D;AAWD,2FAA2F;AAC3F,MAAM,MAAM,SAAS,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,WAAW,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,IACnC,CAAC,SAAS,SAAS,UAAU,CAAC,KAAG,CAAC,CAQ3C;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAMtE;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,oGAAoG;AACpG,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;CACnC;AAED,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAQtF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EACjD,OAAO,EAAE,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACzC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACpD,qBAAqB,CAgBvB"}
@@ -9,6 +9,23 @@ export const AI_TOOL_META_KEY = Symbol.for('@agora/agent:ai-tool-meta');
9
9
  * module's exports — the functional alternative to an `@AiTool` class.
10
10
  */
11
11
  export const AGENT_TOOL_BRAND = Symbol.for('@agora/agent:functional-tool');
12
+ /** `GetWeatherTool` → `getWeather`; `SQLQueryTool` → `sqlQuery`. */
13
+ export function toolNameFromClass(className) {
14
+ const base = className.replace(/Tool$/, '') || className;
15
+ const leadingCaps = /^[A-Z]+(?=[A-Z][a-z]|$)/.exec(base)?.[0];
16
+ if (leadingCaps !== undefined && leadingCaps.length > 1) {
17
+ return leadingCaps.toLowerCase() + base.slice(leadingCaps.length);
18
+ }
19
+ return base.charAt(0).toLowerCase() + base.slice(1);
20
+ }
21
+ /** Apply the `name` / `kind` defaults, the name taken from `className`. */
22
+ function resolveMeta(options, className) {
23
+ return {
24
+ ...options,
25
+ name: options.name ?? toolNameFromClass(className),
26
+ kind: options.kind ?? 'read',
27
+ };
28
+ }
12
29
  /**
13
30
  * Marks a class as an AI tool. The class must implement `execute(input, ctx)`. The provider's
14
31
  * `app/agent_tools` discovery (or the generated `hooks/tools` barrel) registers every `@AiTool`
@@ -24,7 +41,7 @@ export const AGENT_TOOL_BRAND = Symbol.for('@agora/agent:functional-tool');
24
41
  export function AiTool(options) {
25
42
  return (target) => {
26
43
  Object.defineProperty(target, AI_TOOL_META_KEY, {
27
- value: options,
44
+ value: resolveMeta(options, target.name ?? ''),
28
45
  enumerable: false,
29
46
  configurable: true,
30
47
  });
@@ -43,11 +60,11 @@ function staticToolMeta(target) {
43
60
  if (typeof target !== 'function')
44
61
  return undefined;
45
62
  const config = target.tool;
46
- if (config && typeof config === 'object' && typeof config.name === 'string') {
63
+ if (config && typeof config === 'object' && typeof config.description === 'string') {
47
64
  // `kind` may come from the config itself (BaseTool / @AiTool) or from the kind-specific base's static
48
65
  // (ReadTool → 'read', ActionTool → 'action'), which keeps it out of the subclass's `static tool`.
49
66
  const kind = config.kind ?? target.kind;
50
- return { ...config, kind };
67
+ return resolveMeta({ ...config, ...(kind !== undefined ? { kind } : {}) }, target.name ?? '');
51
68
  }
52
69
  return undefined;
53
70
  }
@@ -96,12 +113,13 @@ export function isBrandedFunctionalTool(value) {
96
113
  export function defineTool(options, execute) {
97
114
  const spec = {
98
115
  name: options.name,
99
- kind: options.kind,
116
+ kind: options.kind ?? 'read',
100
117
  description: options.description,
101
118
  inputSchema: options.input,
102
119
  ...(options.roles !== undefined ? { roles: options.roles } : {}),
103
120
  ...(options.ability !== undefined ? { ability: options.ability } : {}),
104
121
  ...(options.presentation !== undefined ? { presentation: options.presentation } : {}),
122
+ ...(options.terminal === true ? { terminal: true } : {}),
105
123
  };
106
124
  return {
107
125
  [AGENT_TOOL_BRAND]: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ai-tool-ref.js","sourceRoot":"","sources":["../../src/ai-tool-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-tool-ref.js","sourceRoot":"","sources":["../../src/ai-tool-ref.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ActorResolver } from './spi/actor-resolver.js';
2
+ import type { Actor } from './types.js';
3
+ /** Options for {@link AnonymousActorResolver}. All optional. */
4
+ export interface AnonymousActorOptions {
5
+ /** Cookie name. Default `agent_anon`. */
6
+ cookieName?: string;
7
+ /** Cookie lifetime in days. Default 365. */
8
+ maxAgeDays?: number;
9
+ /** `SameSite`. Default `lax`; `none` (a cross-site client) forces `Secure`. */
10
+ sameSite?: 'lax' | 'strict' | 'none';
11
+ /** `Secure`. Default `'auto'` — set when the request came over HTTPS. */
12
+ secure?: boolean | 'auto';
13
+ /** Cookie path. Default `/`. */
14
+ path?: string;
15
+ /** Roles every anonymous actor holds. Default `['anonymous']`. */
16
+ roles?: string[];
17
+ }
18
+ /**
19
+ * The default identity when `config/agent.ts` sets no `actorResolver`: the endpoints are PUBLIC and
20
+ * every browser is its own anonymous actor, so visitors never share threads, quota or attachments.
21
+ *
22
+ * On the first request without it, the response sets `agent_anon=<32 random bytes, base64url>;
23
+ * Path=/; Max-Age=31536000; HttpOnly; SameSite=Lax` (plus `Secure` over HTTPS), and the actor id is
24
+ * `anon:` + a SHA-256 digest of the token — the contract of `@dudousxd/nestjs-agent`'s resolver of
25
+ * the same name. The cookie is `HttpOnly` (page scripts cannot read it), server-minted, and needs no
26
+ * secret: the digest is stable across pods and restarts. A client needs no code for it.
27
+ *
28
+ * Require login instead with `actorResolver: new AuthActorResolver()` (reads `ctx.auth.user`).
29
+ */
30
+ export declare class AnonymousActorResolver implements ActorResolver {
31
+ private readonly options;
32
+ private readonly cookieName;
33
+ private readonly roles;
34
+ constructor(options?: AnonymousActorOptions);
35
+ resolve(context: unknown): Actor;
36
+ private setCookie;
37
+ }
38
+ //# sourceMappingURL=anonymous-actor-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anonymous-actor-resolver.d.ts","sourceRoot":"","sources":["../../src/anonymous-actor-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAoCD;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAuB,YAAW,aAAa;IAI9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAA6B,OAAO,GAAE,qBAA0B,EAG/D;IAED,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAU/B;IAED,OAAO,CAAC,SAAS;CAmBlB"}
@@ -0,0 +1,76 @@
1
+ import { createHash, randomBytes } from 'node:crypto';
2
+ /** The minted cookie value: 32 random bytes, base64url (43 characters). */
3
+ const TOKEN_PATTERN = /^[A-Za-z0-9_-]{43}$/;
4
+ /** One minted token per request, however many times a request resolves its actor. */
5
+ const minted = new WeakMap();
6
+ function readCookie(ctx, name) {
7
+ const raw = ctx.request?.header?.('cookie');
8
+ if (raw === undefined)
9
+ return undefined;
10
+ for (const pair of raw.split(';')) {
11
+ const index = pair.indexOf('=');
12
+ if (index === -1)
13
+ continue;
14
+ if (pair.slice(0, index).trim() === name) {
15
+ try {
16
+ return decodeURIComponent(pair.slice(index + 1).trim());
17
+ }
18
+ catch {
19
+ return undefined;
20
+ }
21
+ }
22
+ }
23
+ return undefined;
24
+ }
25
+ /**
26
+ * The default identity when `config/agent.ts` sets no `actorResolver`: the endpoints are PUBLIC and
27
+ * every browser is its own anonymous actor, so visitors never share threads, quota or attachments.
28
+ *
29
+ * On the first request without it, the response sets `agent_anon=<32 random bytes, base64url>;
30
+ * Path=/; Max-Age=31536000; HttpOnly; SameSite=Lax` (plus `Secure` over HTTPS), and the actor id is
31
+ * `anon:` + a SHA-256 digest of the token — the contract of `@dudousxd/nestjs-agent`'s resolver of
32
+ * the same name. The cookie is `HttpOnly` (page scripts cannot read it), server-minted, and needs no
33
+ * secret: the digest is stable across pods and restarts. A client needs no code for it.
34
+ *
35
+ * Require login instead with `actorResolver: new AuthActorResolver()` (reads `ctx.auth.user`).
36
+ */
37
+ export class AnonymousActorResolver {
38
+ options;
39
+ cookieName;
40
+ roles;
41
+ constructor(options = {}) {
42
+ this.options = options;
43
+ this.cookieName = options.cookieName ?? 'agent_anon';
44
+ this.roles = options.roles ?? ['anonymous'];
45
+ }
46
+ resolve(context) {
47
+ const ctx = (typeof context === 'object' && context !== null ? context : {});
48
+ let token = minted.get(ctx) ?? readCookie(ctx, this.cookieName);
49
+ if (token === undefined || !TOKEN_PATTERN.test(token)) {
50
+ token = randomBytes(32).toString('base64url');
51
+ minted.set(ctx, token);
52
+ this.setCookie(ctx, token);
53
+ }
54
+ const digest = createHash('sha256').update(token).digest('base64url').slice(0, 32);
55
+ return { id: `anon:${digest}`, roles: [...this.roles] };
56
+ }
57
+ setCookie(ctx, token) {
58
+ const sameSite = this.options.sameSite ?? 'lax';
59
+ const secureOption = this.options.secure ?? 'auto';
60
+ const secure = sameSite === 'none' ||
61
+ (secureOption === 'auto' ? ctx.request?.secure?.() === true : secureOption);
62
+ const maxAge = Math.round((this.options.maxAgeDays ?? 365) * 24 * 60 * 60);
63
+ const cookie = [
64
+ `${this.cookieName}=${token}`,
65
+ `Path=${this.options.path ?? '/'}`,
66
+ `Max-Age=${maxAge}`,
67
+ 'HttpOnly',
68
+ `SameSite=${sameSite === 'none' ? 'None' : sameSite === 'strict' ? 'Strict' : 'Lax'}`,
69
+ ...(secure ? ['Secure'] : []),
70
+ ].join('; ');
71
+ // Plain (unsigned) on purpose: the value is already unguessable, and the NestJS contract is the
72
+ // raw token. `append` keeps any other `Set-Cookie` the app's own middleware wrote.
73
+ ctx.response?.append?.('Set-Cookie', cookie);
74
+ }
75
+ }
76
+ //# sourceMappingURL=anonymous-actor-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anonymous-actor-resolver.js","sourceRoot":"","sources":["../../src/anonymous-actor-resolver.ts"],"names":[],"mappings":"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"}