@adonis-agora/agent 0.46.0 → 0.47.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 (68) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/assets/spa/assets/{index-7XqfoeQH.js → index-Be6OClIm.js} +1 -1
  3. package/dist/assets/spa/index.html +1 -1
  4. package/dist/providers/agent_provider.d.ts +1 -1
  5. package/dist/providers/agent_provider.d.ts.map +1 -1
  6. package/dist/providers/agent_provider.js +82 -30
  7. package/dist/providers/agent_provider.js.map +1 -1
  8. package/dist/src/agent-service.d.ts +27 -8
  9. package/dist/src/agent-service.d.ts.map +1 -1
  10. package/dist/src/agent-service.js +66 -7
  11. package/dist/src/agent-service.js.map +1 -1
  12. package/dist/src/define_config.d.ts +22 -29
  13. package/dist/src/define_config.d.ts.map +1 -1
  14. package/dist/src/define_config.js +2 -2
  15. package/dist/src/define_config.js.map +1 -1
  16. package/dist/src/durable/agent-run-workflow.d.ts.map +1 -1
  17. package/dist/src/durable/agent-run-workflow.js +8 -1
  18. package/dist/src/durable/agent-run-workflow.js.map +1 -1
  19. package/dist/src/durable/durable-agent-runner.d.ts.map +1 -1
  20. package/dist/src/durable/durable-agent-runner.js +3 -0
  21. package/dist/src/durable/durable-agent-runner.js.map +1 -1
  22. package/dist/src/index.d.ts +4 -5
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +3 -4
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/media/index.d.ts +7 -0
  27. package/dist/src/media/index.d.ts.map +1 -0
  28. package/dist/src/media/index.js +7 -0
  29. package/dist/src/media/index.js.map +1 -0
  30. package/dist/src/media/media-attachment-staging.d.ts +115 -0
  31. package/dist/src/media/media-attachment-staging.d.ts.map +1 -0
  32. package/dist/src/media/media-attachment-staging.js +145 -0
  33. package/dist/src/media/media-attachment-staging.js.map +1 -0
  34. package/dist/src/runners/inline-agent-runner.d.ts +3 -1
  35. package/dist/src/runners/inline-agent-runner.d.ts.map +1 -1
  36. package/dist/src/runners/inline-agent-runner.js +17 -1
  37. package/dist/src/runners/inline-agent-runner.js.map +1 -1
  38. package/dist/src/spi/agent-store.d.ts +8 -0
  39. package/dist/src/spi/agent-store.d.ts.map +1 -1
  40. package/dist/src/spi/agent-store.js +8 -1
  41. package/dist/src/spi/agent-store.js.map +1 -1
  42. package/dist/src/spi/attachment-staging.d.ts +30 -12
  43. package/dist/src/spi/attachment-staging.d.ts.map +1 -1
  44. package/dist/src/stores/factory.d.ts +18 -65
  45. package/dist/src/stores/factory.d.ts.map +1 -1
  46. package/dist/src/stores/factory.js +24 -56
  47. package/dist/src/stores/factory.js.map +1 -1
  48. package/dist/src/stores/lucid.d.ts +1 -0
  49. package/dist/src/stores/lucid.d.ts.map +1 -1
  50. package/dist/src/stores/lucid.js +9 -2
  51. package/dist/src/stores/lucid.js.map +1 -1
  52. package/dist/src/testing/in-memory-attachment-staging.d.ts +7 -1
  53. package/dist/src/testing/in-memory-attachment-staging.d.ts.map +1 -1
  54. package/dist/src/testing/in-memory-attachment-staging.js +22 -2
  55. package/dist/src/testing/in-memory-attachment-staging.js.map +1 -1
  56. package/dist/src/testing/in-memory-store.d.ts +1 -0
  57. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  58. package/dist/src/testing/in-memory-store.js +7 -1
  59. package/dist/src/testing/in-memory-store.js.map +1 -1
  60. package/dist/src/types.d.ts +36 -1
  61. package/dist/src/types.d.ts.map +1 -1
  62. package/dist/stubs/config/agent.stub +3 -6
  63. package/package.json +10 -1
  64. package/skills/agent-setup/SKILL.md +27 -60
  65. package/dist/src/stores/ledger-quota.d.ts +0 -23
  66. package/dist/src/stores/ledger-quota.d.ts.map +0 -1
  67. package/dist/src/stores/ledger-quota.js +0 -32
  68. package/dist/src/stores/ledger-quota.js.map +0 -1
@@ -0,0 +1,115 @@
1
+ import type { AttachmentStagingDescription, AttachmentStagingStore, ResolveAttachmentInput, StageAttachmentInput } from '../spi/attachment-staging.js';
2
+ import type { Actor, MessageAttachment } from '../types.js';
3
+ /** A media row — `@adonis-agora/media`'s `MediaRecord`. */
4
+ export interface MediaRecordLike {
5
+ id: string;
6
+ ownerType: string;
7
+ ownerId: string;
8
+ collection: string;
9
+ name: string;
10
+ fileName: string;
11
+ mimeType: string;
12
+ size: number;
13
+ disk: string;
14
+ path: string;
15
+ order: number;
16
+ customProperties: Record<string, unknown>;
17
+ conversions: Record<string, unknown>;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ }
21
+ /** `@adonis-agora/media`'s `MediaStore`, the part used here. */
22
+ export interface MediaStoreLike {
23
+ save(record: MediaRecordLike): Promise<MediaRecordLike>;
24
+ find(id: string): Promise<MediaRecordLike | null>;
25
+ delete(id: string): Promise<void>;
26
+ nextOrder(ownerType: string, ownerId: string, collection: string): Promise<number>;
27
+ }
28
+ /** A Drive disk as `@adonis-agora/media` hands it out, the part used here. */
29
+ export interface MediaDiskLike {
30
+ put(key: string, contents: Uint8Array, options?: {
31
+ contentType?: string;
32
+ }): Promise<void>;
33
+ getBytes(key: string): Promise<Uint8Array>;
34
+ getUrl(key: string): Promise<string>;
35
+ getSignedUrl(key: string, options?: {
36
+ expiresIn?: string | number;
37
+ contentType?: string;
38
+ }): Promise<string>;
39
+ delete(key: string): Promise<void>;
40
+ }
41
+ /** `@adonis-agora/media`'s `StorageManager`, the part used here. */
42
+ export interface MediaStorageLike {
43
+ readonly defaultDisk: string;
44
+ disk(name?: string): MediaDiskLike;
45
+ }
46
+ /** Options for `attachmentStores.media({ … })`. All optional. */
47
+ export interface MediaAttachmentsOptions {
48
+ /** Media collection the uploads go in. Default `agent-attachments`. */
49
+ collection?: string;
50
+ /** Owner type the rows carry (the owner id is the actor id). Default `agent-actor`. */
51
+ ownerType?: string;
52
+ /** Drive disk. Default the media library's default disk. */
53
+ disk?: string;
54
+ /** Per-file size cap. Default 20 MiB. */
55
+ maxBytes?: number;
56
+ /** Content types accepted. Default images (png/jpeg/gif/webp), PDF, plain text, CSV. */
57
+ allowedContentTypes?: readonly string[];
58
+ /**
59
+ * `private` (default): urls are signed and short-lived, re-minted on every read. `public`: the
60
+ * disk's plain url.
61
+ */
62
+ visibility?: 'private' | 'public';
63
+ /** Lifetime of a signed url, in seconds. Default 7 days. */
64
+ urlExpiresInSeconds?: number;
65
+ /** Mint the url yourself (a CDN, a proxy route). Wins over `visibility`. */
66
+ resolveUrl?: (record: MediaRecordLike, context: {
67
+ disk: MediaDiskLike;
68
+ }) => string | Promise<string>;
69
+ /**
70
+ * Who may attach a file: by default only the actor that uploaded it (`allowed`). Widen or narrow
71
+ * it here — e.g. let a support agent attach a customer's upload.
72
+ */
73
+ canAccess?: (input: {
74
+ record: MediaRecordLike;
75
+ actor: Actor;
76
+ allowed: boolean;
77
+ }) => boolean | Promise<boolean>;
78
+ /** Clock and id seams, for tests. */
79
+ clock?: () => Date;
80
+ idGenerator?: () => string;
81
+ }
82
+ export declare const DEFAULT_AGENT_MEDIA_COLLECTION = "agent-attachments";
83
+ export declare const DEFAULT_AGENT_MEDIA_OWNER_TYPE = "agent-actor";
84
+ /**
85
+ * Chat attachments stored as media rows in their own collection, one owner per actor, on any Drive
86
+ * disk — S3, GCS, R2, the local filesystem. Uploads land at
87
+ * `<ownerType>/<actor>/<collection>/<id>/<file>`; a send names them by id and {@link resolve} mints
88
+ * the url the model fetches: the caller's own `resolveUrl`, a public url, a signed url, or — on a
89
+ * disk that cannot sign — the bytes inline as a `data:` url (logged once: fine for dev, not for
90
+ * production).
91
+ */
92
+ export declare class MediaAttachmentStaging implements AttachmentStagingStore {
93
+ private readonly deps;
94
+ private readonly options;
95
+ private readonly collection;
96
+ private readonly ownerType;
97
+ private readonly maxBytes;
98
+ private readonly allowed;
99
+ private readonly now;
100
+ private readonly newId;
101
+ private warnedInline;
102
+ constructor(deps: {
103
+ storage: MediaStorageLike;
104
+ store: MediaStoreLike;
105
+ }, options?: MediaAttachmentsOptions);
106
+ describe(): AttachmentStagingDescription;
107
+ private get diskName();
108
+ stage(input: StageAttachmentInput): Promise<MessageAttachment>;
109
+ resolve(input: ResolveAttachmentInput): Promise<MessageAttachment | null>;
110
+ /** Delete an upload and its row. */
111
+ remove(mediaId: string): Promise<void>;
112
+ private isOurs;
113
+ private toAttachment;
114
+ }
115
+ //# sourceMappingURL=media-attachment-staging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-attachment-staging.d.ts","sourceRoot":"","sources":["../../../src/media/media-attachment-staging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ export const DEFAULT_AGENT_MEDIA_COLLECTION = 'agent-attachments';
3
+ export const DEFAULT_AGENT_MEDIA_OWNER_TYPE = 'agent-actor';
4
+ const DEFAULT_URL_TTL_SECONDS = 7 * 24 * 60 * 60;
5
+ const DEFAULT_MAX_BYTES = 20 * 1024 * 1024;
6
+ const DEFAULT_ALLOWED_CONTENT_TYPES = [
7
+ 'image/png',
8
+ 'image/jpeg',
9
+ 'image/gif',
10
+ 'image/webp',
11
+ 'application/pdf',
12
+ 'text/plain',
13
+ 'text/csv',
14
+ ];
15
+ /**
16
+ * Chat attachments stored as media rows in their own collection, one owner per actor, on any Drive
17
+ * disk — S3, GCS, R2, the local filesystem. Uploads land at
18
+ * `<ownerType>/<actor>/<collection>/<id>/<file>`; a send names them by id and {@link resolve} mints
19
+ * the url the model fetches: the caller's own `resolveUrl`, a public url, a signed url, or — on a
20
+ * disk that cannot sign — the bytes inline as a `data:` url (logged once: fine for dev, not for
21
+ * production).
22
+ */
23
+ export class MediaAttachmentStaging {
24
+ deps;
25
+ options;
26
+ collection;
27
+ ownerType;
28
+ maxBytes;
29
+ allowed;
30
+ now;
31
+ newId;
32
+ warnedInline = false;
33
+ constructor(deps, options = {}) {
34
+ this.deps = deps;
35
+ this.options = options;
36
+ this.collection = options.collection ?? DEFAULT_AGENT_MEDIA_COLLECTION;
37
+ this.ownerType = options.ownerType ?? DEFAULT_AGENT_MEDIA_OWNER_TYPE;
38
+ this.maxBytes = options.maxBytes ?? DEFAULT_MAX_BYTES;
39
+ this.allowed = options.allowedContentTypes ?? DEFAULT_ALLOWED_CONTENT_TYPES;
40
+ this.now = options.clock ?? (() => new Date());
41
+ this.newId = options.idGenerator ?? (() => randomUUID());
42
+ }
43
+ describe() {
44
+ return { maxBytes: this.maxBytes, allowedContentTypes: this.allowed };
45
+ }
46
+ get diskName() {
47
+ return this.options.disk ?? this.deps.storage.defaultDisk;
48
+ }
49
+ async stage(input) {
50
+ const id = this.newId();
51
+ const fileName = safeFileName(input.filename);
52
+ const path = `${this.ownerType}/${encodeURIComponent(input.actor.id)}/${this.collection}/${id}/${fileName}`;
53
+ await this.deps.storage
54
+ .disk(this.diskName)
55
+ .put(path, input.data, { contentType: input.contentType });
56
+ const timestamp = this.now();
57
+ const record = await this.deps.store.save({
58
+ id,
59
+ ownerType: this.ownerType,
60
+ ownerId: input.actor.id,
61
+ collection: this.collection,
62
+ name: stripExtension(fileName),
63
+ fileName,
64
+ mimeType: input.contentType,
65
+ size: input.sizeBytes,
66
+ disk: this.diskName,
67
+ path,
68
+ order: await this.deps.store.nextOrder(this.ownerType, input.actor.id, this.collection),
69
+ customProperties: {},
70
+ conversions: {},
71
+ createdAt: timestamp,
72
+ updatedAt: timestamp,
73
+ });
74
+ return this.toAttachment(record, { forModel: false });
75
+ }
76
+ async resolve(input) {
77
+ const record = await this.deps.store.find(input.mediaId);
78
+ if (record === null || !this.isOurs(record))
79
+ return null;
80
+ const allowed = record.ownerId === input.actor.id;
81
+ const custom = this.options.canAccess;
82
+ const may = custom === undefined
83
+ ? allowed
84
+ : (await custom({ record, actor: input.actor, allowed })) === true;
85
+ if (!may)
86
+ return null;
87
+ return this.toAttachment(record, { forModel: true });
88
+ }
89
+ /** Delete an upload and its row. */
90
+ async remove(mediaId) {
91
+ const record = await this.deps.store.find(mediaId);
92
+ if (record === null || !this.isOurs(record))
93
+ return;
94
+ await this.deps.storage
95
+ .disk(record.disk)
96
+ .delete(record.path)
97
+ .catch(() => undefined);
98
+ await this.deps.store.delete(record.id);
99
+ }
100
+ isOurs(record) {
101
+ return record.ownerType === this.ownerType && record.collection === this.collection;
102
+ }
103
+ async toAttachment(record, { forModel }) {
104
+ const base = { mediaId: record.id, contentType: record.mimeType, name: record.fileName };
105
+ const disk = this.deps.storage.disk(record.disk);
106
+ if (this.options.resolveUrl !== undefined) {
107
+ return { ...base, url: await this.options.resolveUrl(record, { disk }) };
108
+ }
109
+ if (this.options.visibility === 'public') {
110
+ return { ...base, url: await disk.getUrl(record.path) };
111
+ }
112
+ try {
113
+ const url = await disk.getSignedUrl(record.path, {
114
+ expiresIn: this.options.urlExpiresInSeconds ?? DEFAULT_URL_TTL_SECONDS,
115
+ contentType: record.mimeType,
116
+ });
117
+ return { ...base, url };
118
+ }
119
+ catch {
120
+ // A disk that cannot sign (the local filesystem without a signing route).
121
+ }
122
+ if (!forModel)
123
+ return { ...base, url: '' };
124
+ if (!this.warnedInline) {
125
+ this.warnedInline = true;
126
+ console.warn(`[@adonis-agora/agent] disk "${record.disk}" cannot sign urls: attachments reach the model inline (data: urls, persisted with each message). Use a signing disk or resolveUrl in production.`);
127
+ }
128
+ const bytes = await disk.getBytes(record.path);
129
+ return {
130
+ ...base,
131
+ url: `data:${record.mimeType};base64,${Buffer.from(bytes).toString('base64')}`,
132
+ };
133
+ }
134
+ }
135
+ function safeFileName(filename) {
136
+ const last = filename.split(/[\\/]/).pop() ?? '';
137
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: stripping control chars is the point.
138
+ const cleaned = last.replace(/[\u0000-\u001f\u007f]/g, '').trim();
139
+ return cleaned === '' || cleaned === '.' || cleaned === '..' ? 'file' : cleaned;
140
+ }
141
+ function stripExtension(fileName) {
142
+ const dot = fileName.lastIndexOf('.');
143
+ return dot > 0 ? fileName.slice(0, dot) : fileName;
144
+ }
145
+ //# sourceMappingURL=media-attachment-staging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-attachment-staging.js","sourceRoot":"","sources":["../../../src/media/media-attachment-staging.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { AgentDepsFactory } from '../agent-deps-factory.js';
2
2
  import { type HumanReply } from '../elicitation.js';
3
3
  import type { AgentRunner } from '../spi/agent-runner.js';
4
- import type { AgentStore } from '../spi/agent-store.js';
4
+ import { type AgentStore } from '../spi/agent-store.js';
5
5
  import type { AgentRunInput } from '../types.js';
6
6
  /**
7
7
  * Runs the agent turn in-process — the default runner (`durable: false`). A HITL wait resolves a
@@ -20,6 +20,8 @@ export declare class InlineAgentRunner implements AgentRunner {
20
20
  private readonly factory;
21
21
  private readonly store;
22
22
  private readonly pending;
23
+ /** The thread of each run this process started — what a cancel clears the active run of. */
24
+ private readonly threadOfRun;
23
25
  constructor(factory: AgentDepsFactory, store: AgentStore);
24
26
  start(input: AgentRunInput): Promise<{
25
27
  runId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"inline-agent-runner.d.ts","sourceRoot":"","sources":["../../../src/runners/inline-agent-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAEL,KAAK,UAAU,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAS,aAAa,EAAY,MAAM,aAAa,CAAC;AAYlE;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IAIjD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD,YACmB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,UAAU,EAChC;IAEE,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAyC5D;IAED;;;;;;;;;;OAUG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhF;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzC;IAED,OAAO,CAAC,aAAa;IAkCrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAWlB,kGAAkG;IAClG;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,IAAI;IAMZ,qFAAqF;YACvE,SAAS;CAgExB"}
1
+ {"version":3,"file":"inline-agent-runner.d.ts","sourceRoot":"","sources":["../../../src/runners/inline-agent-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAEL,KAAK,UAAU,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,uBAAuB,CAAC;AAExE,OAAO,KAAK,EAAS,aAAa,EAAY,MAAM,aAAa,CAAC;AAYlE;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IAMjD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,YACmB,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,UAAU,EAChC;IAEE,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAkD5D;IAED;;;;;;;;;;OAUG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhF;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAczC;IAED,OAAO,CAAC,aAAa;IAkCrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAWlB,kGAAkG;IAClG;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,IAAI;IAMZ,qFAAqF;YACvE,SAAS;CAgExB"}
@@ -2,6 +2,7 @@ import { utcDay } from '../agent-deps.js';
2
2
  import { runAgentLoop, settleAll, streamErrorFrame } from '../agent-loop.js';
3
3
  import { spannedAgent } from '../diagnostics.js';
4
4
  import { HumanReplyMismatchError, isHumanDecision, } from '../elicitation.js';
5
+ import { clearActiveRun } from '../spi/agent-store.js';
5
6
  import { childSinkWriter } from '../spi/token-stream-sink.js';
6
7
  /**
7
8
  * Runs the agent turn in-process — the default runner (`durable: false`). A HITL wait resolves a
@@ -20,6 +21,8 @@ export class InlineAgentRunner {
20
21
  factory;
21
22
  store;
22
23
  pending = new Map();
24
+ /** The thread of each run this process started — what a cancel clears the active run of. */
25
+ threadOfRun = new Map();
23
26
  constructor(factory, store) {
24
27
  this.factory = factory;
25
28
  this.store = store;
@@ -45,7 +48,16 @@ export class InlineAgentRunner {
45
48
  // Emitted by the runner (not the shared loop) because the inline runner executes the loop exactly
46
49
  // once; the durable runner's body replays, so it roots its trace by traceId instead. Zero-cost
47
50
  // when unobserved.
48
- void spannedAgent('turn', runId, { runId }, () => runAgentLoop({ ...deps, day }, input, hooks), (result) => ({ textLength: result.text.length })).catch(async (error) => {
51
+ // The thread's active run is set BEFORE the loop starts — a fast turn could otherwise end (and
52
+ // clear it) before it was ever set — and cleared when the turn ends, however it ends.
53
+ await this.store.setActiveStream(input.threadId, runId);
54
+ this.threadOfRun.set(runId, input.threadId);
55
+ void spannedAgent('turn', runId, { runId }, () => runAgentLoop({ ...deps, day }, input, hooks), (result) => ({ textLength: result.text.length }))
56
+ .finally(() => {
57
+ this.threadOfRun.delete(runId);
58
+ return clearActiveRun(this.store, input.threadId, runId).catch(() => undefined);
59
+ })
60
+ .catch(async (error) => {
49
61
  const message = error instanceof Error ? error.message : String(error);
50
62
  console.error(`[@adonis-agora/agent] run ${runId} failed: ${message}`);
51
63
  // Settle the run's persisted outcome — the loop only records completions (it can't catch its
@@ -85,6 +97,10 @@ export class InlineAgentRunner {
85
97
  // Best-effort: settle the run `cancelled` (first-terminal, so a completed run stays completed),
86
98
  // then close the live stream so a subscriber isn't left hanging.
87
99
  await this.store.recordRunEnd({ runId, status: 'cancelled' });
100
+ const threadId = this.threadOfRun.get(runId);
101
+ if (threadId !== undefined) {
102
+ await clearActiveRun(this.store, threadId, runId);
103
+ }
88
104
  const deps = this.factory.forAgent();
89
105
  const writer = await deps.sink.open(runId);
90
106
  // The last frame before a normal end: without it a reader cannot tell a truncated answer from
@@ -1 +1 @@
1
- {"version":3,"file":"inline-agent-runner.js","sourceRoot":"","sources":["../../../src/runners/inline-agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline-agent-runner.js","sourceRoot":"","sources":["../../../src/runners/inline-agent-runner.ts"],"names":[],"mappings":"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"}
@@ -167,6 +167,12 @@ export interface AgentStore {
167
167
  */
168
168
  updateThread?(threadId: string, patch: UpdateThreadInput): Promise<void>;
169
169
  setActiveStream(threadId: string, runId: string | null): Promise<void>;
170
+ /**
171
+ * OPTIONAL: clear the thread's active run only if it is still `runId` — so a turn that ends after
172
+ * a newer one started on the same thread does not blank the newer one's pointer. Absent →
173
+ * `setActiveStream(threadId, null)`.
174
+ */
175
+ clearActiveStream?(threadId: string, runId: string): Promise<void>;
170
176
  appendMessage(input: AppendMessageInput): Promise<StoredMessage>;
171
177
  /**
172
178
  * Attach a turn's settled tool RESULTS to a message already appended, replacing whatever it held.
@@ -252,4 +258,6 @@ export interface AgentStore {
252
258
  /** Settle a run's outcome (terminal, first-wins). A no-op when the run is unknown or already settled. */
253
259
  recordRunEnd(input: RecordRunEndInput): Promise<void>;
254
260
  }
261
+ /** Clear `threadId`'s active run if it is still `runId` (see {@link AgentStore.clearActiveStream}). */
262
+ export declare function clearActiveRun(store: AgentStore, threadId: string, runId: string): Promise<void>;
255
263
  //# sourceMappingURL=agent-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../../../src/spi/agent-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../../../src/spi/agent-store.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ /** Clear `threadId`'s active run if it is still `runId` (see {@link AgentStore.clearActiveStream}). */
2
+ export async function clearActiveRun(store, threadId, runId) {
3
+ if (store.clearActiveStream !== undefined) {
4
+ await store.clearActiveStream(threadId, runId);
5
+ return;
6
+ }
7
+ await store.setActiveStream(threadId, null);
8
+ }
2
9
  //# sourceMappingURL=agent-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-store.js","sourceRoot":"","sources":["../../../src/spi/agent-store.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"agent-store.js","sourceRoot":"","sources":["../../../src/spi/agent-store.ts"],"names":[],"mappings":"AAiSA,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAiB,EACjB,QAAgB,EAChB,KAAa;IAEb,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,MAAM,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Actor, MessageAttachment } from '../types.js';
2
- /** Input to {@link AttachmentStagingStore.stage} — the raw bytes plus who uploaded them. */
2
+ /** One uploaded file, as the upload route hands it to {@link AttachmentStagingStore.stage}. */
3
3
  export interface StageAttachmentInput {
4
4
  data: Buffer;
5
5
  filename: string;
@@ -7,21 +7,39 @@ export interface StageAttachmentInput {
7
7
  sizeBytes: number;
8
8
  actor: Actor;
9
9
  }
10
+ /** What a chat send names an upload by — the id alone. */
11
+ export interface AttachmentRef {
12
+ mediaId: string;
13
+ }
14
+ /** A request to turn an uploaded file's id into what the model fetches, for one actor. */
15
+ export interface ResolveAttachmentInput {
16
+ mediaId: string;
17
+ actor: Actor;
18
+ }
19
+ /** What {@link AttachmentStagingStore.describe} declares — the rules the upload route enforces. */
20
+ export interface AttachmentStagingDescription {
21
+ maxBytes?: number;
22
+ allowedContentTypes?: readonly string[];
23
+ }
10
24
  /**
11
- * Optional upload-side seam for message attachments (an image/PDF a user attaches to a chat message
12
- * before the model ever sees it). The lib never fetches bytes itself — {@link MessageAttachment.url}
13
- * must already be reachable by the model provider — so something has to turn an uploaded file into
14
- * that URL first. A store adapter (or a thin wrapper over the host's own media pipeline) implements
15
- * this and is wired via `defineConfig({ attachmentStaging })` — pass an instance, a lazy
16
- * `attachmentStores.*()` factory, or omit it. When omitted the optional `POST /agent/attachments`
17
- * upload route is never mounted, so a client sends already-staged {@link MessageAttachment}s directly.
25
+ * Where uploaded attachments live — the seam that makes storage bring-your-own. The upload route
26
+ * hands it the bytes (`stage`); a chat send names uploads by id only (`{ mediaId }`) and the server
27
+ * asks it for the url the model fetches (`resolve`) — a url in the request is never trusted.
28
+ *
29
+ * Shipped: `attachmentStores.media()` over `@adonis-agora/media` (any Drive disk), and
30
+ * `attachmentStores.memory()` for tests and demos. Anything else — a presigning S3 store, the host's
31
+ * own media pipeline — implements these methods.
18
32
  */
19
33
  export interface AttachmentStagingStore {
34
+ /** Store an uploaded file for `actor`; answer the attachment, `mediaId` first. */
35
+ stage(input: StageAttachmentInput): Promise<MessageAttachment>;
20
36
  /**
21
- * Persist an uploaded file somewhere the model can later fetch (a presigned URL, a proxy, or a
22
- * `data:` URI) and return the {@link MessageAttachment} to send with the next chat message. The lib
23
- * never fetches bytes; the returned url must be reachable by the model provider.
37
+ * The attachment `mediaId` names, with a url the model provider can fetch NOW — or `null` when it
38
+ * is unknown or `actor` may not use it. Called on every send that names it and again when a thread
39
+ * is read back, so a short-lived presigned url is re-minted rather than served dead.
24
40
  */
25
- stage(input: StageAttachmentInput): Promise<MessageAttachment>;
41
+ resolve(input: ResolveAttachmentInput): Promise<MessageAttachment | null>;
42
+ /** The size cap and content types this store accepts. Absent → the defaults. */
43
+ describe?(): AttachmentStagingDescription;
26
44
  }
27
45
  //# sourceMappingURL=attachment-staging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-staging.d.ts","sourceRoot":"","sources":["../../../src/spi/attachment-staging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE5D,4FAA4F;AAC5F,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"attachment-staging.d.ts","sourceRoot":"","sources":["../../../src/spi/attachment-staging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE5D,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0FAA0F;AAC1F,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,mGAAmG;AACnG,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC1E,gFAAgF;IAChF,QAAQ,CAAC,IAAI,4BAA4B,CAAC;CAC3C"}