@ouispec/agent-core 0.7.0 → 0.8.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.
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attachments/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/attachments/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Files the person gives the assistant (ADR-0252 §2.8–§2.13).
3
+ *
4
+ * A file is uploaded to the platform's storage first and travels by
5
+ * reference: a message, a turn and an action carry its id, never its bytes.
6
+ * The platform keeps the file in the conversation's file area, checks it, and
7
+ * hands the worker its bytes or text through a seam when a model call needs
8
+ * them.
9
+ */
10
+ /** What a file is to the assistant: what the model can be given of it. */
11
+ export type AttachmentKind = 'image' | 'text' | 'pdf' | 'other';
12
+ export declare const ATTACHMENT_KINDS: readonly AttachmentKind[];
13
+ /**
14
+ * A file as a message carries it: enough for the model's reference line and
15
+ * the panel's chip, nothing of its content. `removed` is set when the file was
16
+ * removed or is gone: the reference stays, and says so.
17
+ */
18
+ export interface AttachmentRef {
19
+ id: string;
20
+ /** The name the person's file had. Never used as a storage key. */
21
+ name: string;
22
+ /** The checked media type. */
23
+ mediaType: string;
24
+ kind: AttachmentKind;
25
+ bytes: number;
26
+ /** An image's size in pixels. */
27
+ width?: number;
28
+ height?: number;
29
+ /** A PDF's page count. */
30
+ pages?: number;
31
+ removed?: boolean;
32
+ /**
33
+ * Set while the platform is still checking the file (its malware scan): it
34
+ * is in the conversation, and cannot be read, shown or used until it passes.
35
+ */
36
+ pending?: boolean;
37
+ }
38
+ /**
39
+ * The limits a platform sets (ADR-0252 §2.9, §2.11). The composer refuses a
40
+ * file before uploading it; the platform checks again when it reserves and
41
+ * when it commits; the worker caps what the model is given.
42
+ */
43
+ export interface AttachmentLimits {
44
+ /** Files on one message. */
45
+ perMessage: number;
46
+ /** The largest file of each kind, in bytes. */
47
+ maxBytes: Record<AttachmentKind, number>;
48
+ /** Files in one conversation. */
49
+ perConversation: number;
50
+ /** Bytes in one conversation. */
51
+ bytesPerConversation: number;
52
+ /** The media types each kind takes; a file of any other type is `other`, if the platform takes it at all. */
53
+ mediaTypes: Record<Exclude<AttachmentKind, 'other'>, readonly string[]>;
54
+ }
55
+ /** The limits ADR-0252 sets as its defaults (§6.3). */
56
+ export declare const DEFAULT_ATTACHMENT_LIMITS: AttachmentLimits;
57
+ /** The kind a media type is under these limits. */
58
+ export declare function attachmentKindOf(mediaType: string, limits?: Pick<AttachmentLimits, 'mediaTypes'>): AttachmentKind;
59
+ /**
60
+ * Why a file is refused before it is uploaded, or null when it may be. The
61
+ * same check the platform makes again; the composer shows the reason on the
62
+ * file's chip.
63
+ */
64
+ export declare function attachmentRefusal(file: {
65
+ name: string;
66
+ size: number;
67
+ type: string;
68
+ }, context: {
69
+ onMessage: number;
70
+ inConversation: number;
71
+ bytesInConversation: number;
72
+ }, limits?: AttachmentLimits): string | null;
73
+ /** A size as people read it: 412 KB, 3.1 MB. */
74
+ export declare function formatBytes(bytes: number): string;
75
+ /** The most characters of a file's name the model is given. */
76
+ export declare const ATTACHMENT_NAME_MAX_CHARS = 120;
77
+ /**
78
+ * A file's name as the model is given it: a JSON string, so its quotes and
79
+ * backslashes cannot end it; control, line-breaking and direction-changing
80
+ * characters taken out, so it cannot start a line of its own or read
81
+ * backwards; angle brackets escaped, so it cannot open or close a tag; and at
82
+ * most 120 characters. The name is the person's file's, and
83
+ * the person may not have chosen it: it is data, never an instruction.
84
+ */
85
+ export declare function attachmentNameForModel(name: string): string;
86
+ /** A media type as the model is given it: a token of the form `type/subtype`, or `unknown type`. */
87
+ export declare function mediaTypeForModel(mediaType: string): string;
88
+ /**
89
+ * The line a file leaves in the conversation for the model: its id, name,
90
+ * type and size, and an image's size in pixels. A later turn reads this, not
91
+ * the file: the assistant looks again with `attachment_view` or reads with
92
+ * `attachment_read`. The name is quoted and cleaned (`attachmentNameForModel`).
93
+ */
94
+ export declare function attachmentReferenceLine(ref: AttachmentRef): string;
95
+ /**
96
+ * The JSON Schema `format` of an action input that takes a file the person
97
+ * attached, and the shape of an attachment's id (ADR-0252 §2.13): the
98
+ * protocol's (OUI spec §7.3.11).
99
+ */
100
+ export { OUI_ATTACHMENT_FORMAT as ATTACHMENT_FORMAT, isAttachmentId, attachmentInputOf, attachmentIdsIn, acceptsMediaType, misplacedAttachmentInputs, type OUIAttachmentInput, } from 'oui-spec/spec';
101
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/attachments/types.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEhE,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAAsC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACzC,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,6GAA6G;IAC7G,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CACzE;AAED,uDAAuD;AACvD,eAAO,MAAM,yBAAyB,EAAE,gBA0BvC,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAA6B,GAAG,cAAc,CAM5I;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAClD,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,EACnF,MAAM,GAAE,gBAA4C,GACnD,MAAM,GAAG,IAAI,CAUf;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU3D;AAED,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAWlE;AAED;;;;GAIG;AACH,OAAO,EACL,qBAAqB,IAAI,iBAAiB,EAC1C,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { isAttachmentId } from 'oui-spec/spec';
2
+ export const ATTACHMENT_KINDS = ['image', 'text', 'pdf', 'other'];
3
+ /** The limits ADR-0252 sets as its defaults (§6.3). */
4
+ export const DEFAULT_ATTACHMENT_LIMITS = {
5
+ perMessage: 5,
6
+ maxBytes: { image: 20 * 1024 * 1024, text: 2 * 1024 * 1024, pdf: 20 * 1024 * 1024, other: 100 * 1024 * 1024 },
7
+ perConversation: 50,
8
+ bytesPerConversation: 500 * 1024 * 1024,
9
+ mediaTypes: {
10
+ image: ['image/png', 'image/jpeg', 'image/webp', 'image/gif'],
11
+ text: [
12
+ 'text/plain',
13
+ 'text/markdown',
14
+ 'text/csv',
15
+ 'application/json',
16
+ 'application/xml',
17
+ 'text/xml',
18
+ 'image/svg+xml',
19
+ 'text/html',
20
+ 'text/css',
21
+ 'text/javascript',
22
+ 'application/javascript',
23
+ 'application/typescript',
24
+ 'text/x-python',
25
+ 'application/x-yaml',
26
+ 'text/yaml',
27
+ ],
28
+ pdf: ['application/pdf'],
29
+ },
30
+ };
31
+ /** The kind a media type is under these limits. */
32
+ export function attachmentKindOf(mediaType, limits = DEFAULT_ATTACHMENT_LIMITS) {
33
+ const type = mediaType.split(';')[0].trim().toLowerCase();
34
+ if (limits.mediaTypes.image.includes(type))
35
+ return 'image';
36
+ if (limits.mediaTypes.pdf.includes(type))
37
+ return 'pdf';
38
+ if (limits.mediaTypes.text.includes(type) || type.startsWith('text/'))
39
+ return 'text';
40
+ return 'other';
41
+ }
42
+ /**
43
+ * Why a file is refused before it is uploaded, or null when it may be. The
44
+ * same check the platform makes again; the composer shows the reason on the
45
+ * file's chip.
46
+ */
47
+ export function attachmentRefusal(file, context, limits = DEFAULT_ATTACHMENT_LIMITS) {
48
+ if (context.onMessage >= limits.perMessage)
49
+ return `A message takes at most ${limits.perMessage} files.`;
50
+ if (context.inConversation >= limits.perConversation)
51
+ return `A conversation takes at most ${limits.perConversation} files.`;
52
+ const kind = attachmentKindOf(file.type || 'application/octet-stream', limits);
53
+ if (file.size > limits.maxBytes[kind])
54
+ return `Too large: a ${kind === 'other' ? '' : `${kind} `}file may be at most ${formatBytes(limits.maxBytes[kind])}.`;
55
+ if (context.bytesInConversation + file.size > limits.bytesPerConversation) {
56
+ return `The conversation's files may total at most ${formatBytes(limits.bytesPerConversation)}.`;
57
+ }
58
+ if (file.size === 0)
59
+ return 'The file is empty.';
60
+ return null;
61
+ }
62
+ /** A size as people read it: 412 KB, 3.1 MB. */
63
+ export function formatBytes(bytes) {
64
+ if (bytes < 1024)
65
+ return `${bytes} B`;
66
+ if (bytes < 1024 * 1024)
67
+ return `${Math.round(bytes / 1024)} KB`;
68
+ if (bytes < 1024 * 1024 * 1024)
69
+ return `${(bytes / (1024 * 1024)).toFixed(bytes < 10 * 1024 * 1024 ? 1 : 0)} MB`;
70
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
71
+ }
72
+ /** The most characters of a file's name the model is given. */
73
+ export const ATTACHMENT_NAME_MAX_CHARS = 120;
74
+ /**
75
+ * A file's name as the model is given it: a JSON string, so its quotes and
76
+ * backslashes cannot end it; control, line-breaking and direction-changing
77
+ * characters taken out, so it cannot start a line of its own or read
78
+ * backwards; angle brackets escaped, so it cannot open or close a tag; and at
79
+ * most 120 characters. The name is the person's file's, and
80
+ * the person may not have chosen it: it is data, never an instruction.
81
+ */
82
+ export function attachmentNameForModel(name) {
83
+ const plain = String(name ?? '')
84
+ // C0 and C1 controls, line and paragraph separators, bidi controls, zero-width joiners and BOM.
85
+ .replace(/[\p{Cc}\u2028\u2029\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u2069\ufeff]/gu, ' ')
86
+ .replace(/\s+/g, ' ')
87
+ .trim();
88
+ const chars = Array.from(plain);
89
+ const capped = chars.length > ATTACHMENT_NAME_MAX_CHARS ? `${chars.slice(0, ATTACHMENT_NAME_MAX_CHARS - 1).join('')}…` : plain;
90
+ // Angle brackets as JSON escapes: a name cannot open or close a tag the model reads.
91
+ return JSON.stringify(capped || 'unnamed').replace(/</g, '\\u003c').replace(/>/g, '\\u003e');
92
+ }
93
+ /** A media type as the model is given it: a token of the form `type/subtype`, or `unknown type`. */
94
+ export function mediaTypeForModel(mediaType) {
95
+ const type = String(mediaType ?? '').split(';')[0].trim().toLowerCase();
96
+ return /^[a-z0-9][a-z0-9!#$&^_.+-]{0,62}\/[a-z0-9][a-z0-9!#$&^_.+-]{0,62}$/.test(type) ? type : 'unknown type';
97
+ }
98
+ /**
99
+ * The line a file leaves in the conversation for the model: its id, name,
100
+ * type and size, and an image's size in pixels. A later turn reads this, not
101
+ * the file: the assistant looks again with `attachment_view` or reads with
102
+ * `attachment_read`. The name is quoted and cleaned (`attachmentNameForModel`).
103
+ */
104
+ export function attachmentReferenceLine(ref) {
105
+ const name = attachmentNameForModel(ref.name);
106
+ const id = isAttachmentId(ref.id) ? ref.id : 'unknown';
107
+ const facts = [
108
+ mediaTypeForModel(ref.mediaType),
109
+ formatBytes(Number.isFinite(ref.bytes) ? ref.bytes : 0),
110
+ ref.width && ref.height ? `${Math.round(ref.width)}×${Math.round(ref.height)} px` : null,
111
+ ref.pages ? `${Math.round(ref.pages)} page${ref.pages === 1 ? '' : 's'}` : null,
112
+ ].filter(Boolean);
113
+ if (ref.removed)
114
+ return `[Attachment ${id}: ${name} (removed)]`;
115
+ return `[Attachment ${id}: ${name}, ${facts.join(', ')}${ref.pending ? ', still being checked' : ''}]`;
116
+ }
117
+ /**
118
+ * The JSON Schema `format` of an action input that takes a file the person
119
+ * attached, and the shape of an attachment's id (ADR-0252 §2.13): the
120
+ * protocol's (OUI spec §7.3.11).
121
+ */
122
+ export { OUI_ATTACHMENT_FORMAT as ATTACHMENT_FORMAT, isAttachmentId, attachmentInputOf, attachmentIdsIn, acceptsMediaType, misplacedAttachmentInputs, } from 'oui-spec/spec';
123
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/attachments/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,4 +7,5 @@ export * from './entity/index.js';
7
7
  export * from './ui-surface/index.js';
8
8
  export * from './approvals/index.js';
9
9
  export * from './turns/index.js';
10
+ export * from './attachments/index.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -7,4 +7,5 @@ export * from './entity/index.js';
7
7
  export * from './ui-surface/index.js';
8
8
  export * from './approvals/index.js';
9
9
  export * from './turns/index.js';
10
+ export * from './attachments/index.js';
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ApprovalRequiredEvent } from '../approvals/types.js';
2
- import { type TurnStopReason } from '../turns/types.js';
2
+ import { type TurnStoppedReason } from '../turns/types.js';
3
3
  /**
4
4
  * Canonical Socket.IO event names of an agent turn. Declared with their
5
5
  * payloads among the platform's events (`PLATFORM_EVENTS`,
@@ -179,9 +179,10 @@ export interface DoneEvent {
179
179
  maxRoundsReached?: boolean;
180
180
  /**
181
181
  * Set when the turn did not end by itself (ADR-0252): the person stopped it,
182
- * or a newer message superseded it. What it had produced is stored.
182
+ * a newer message superseded it, or it ran out of time. What it had produced
183
+ * is stored.
183
184
  */
184
- stopReason?: TurnStopReason;
185
+ stopReason?: TurnStoppedReason;
185
186
  }
186
187
  /**
187
188
  * Maps a raw Socket.IO event (name + payload) to an AgentProtocolEvent.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Richer than MCP; designed for deeply integrated hosts.
4
4
  */
5
5
  import { AGENT_TURN_EVENTS } from '@ouispec/agent-events';
6
- import { isTurnStopReason } from '../turns/types.js';
6
+ import { isTurnStoppedReason } from '../turns/types.js';
7
7
  /**
8
8
  * Canonical Socket.IO event names of an agent turn. Declared with their
9
9
  * payloads among the platform's events (`PLATFORM_EVENTS`,
@@ -80,7 +80,7 @@ export function parseSocketEvent(event, data, fallbackTurnId) {
80
80
  turnId,
81
81
  messageId: payload.messageId,
82
82
  usage: payload.usage,
83
- ...(isTurnStopReason(payload.stopReason) ? { stopReason: payload.stopReason } : {}),
83
+ ...(isTurnStoppedReason(payload.stopReason) ? { stopReason: payload.stopReason } : {}),
84
84
  };
85
85
  case AGENT_SOCKET_EVENTS.TURN_ERROR: {
86
86
  const errObj = (payload.error ?? payload);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,15 @@ export declare const TURN_STOP_EVENT = "agent:turn_stop";
16
16
  export type TurnStopReason = 'user_stop' | 'superseded';
17
17
  export declare const TURN_STOP_REASONS: readonly TurnStopReason[];
18
18
  export declare function isTurnStopReason(value: unknown): value is TurnStopReason;
19
+ /**
20
+ * Why a turn ended on the stop path, keeping what it had produced: a stop that
21
+ * was asked for (`TurnStopReason`), or its own deadline (`deadline`: it ran
22
+ * out of time, ADR-0252 §6.4). Nobody asks for `deadline`: it is never a
23
+ * stop request, only a stopped turn's reason.
24
+ */
25
+ export type TurnStoppedReason = TurnStopReason | 'deadline';
26
+ export declare const TURN_STOPPED_REASONS: readonly TurnStoppedReason[];
27
+ export declare function isTurnStoppedReason(value: unknown): value is TurnStoppedReason;
19
28
  /**
20
29
  * What the tab sends with `TURN_STOP_EVENT`. A stop from a socket is always
21
30
  * the person's own (`user_stop`). `room` is the turn's room, which the tab
@@ -57,7 +66,7 @@ export declare const TURN_STOP_RECORD_TTL_MS: number;
57
66
  * history says, after that message's text, that the turn was stopped there.
58
67
  */
59
68
  export interface TurnStoppedMarker {
60
- reason: TurnStopReason;
69
+ reason: TurnStoppedReason;
61
70
  /** Epoch ms. */
62
71
  at: number;
63
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/turns/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,CAAC;AAExD,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAAgC,CAAC;AAExF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAA;CAAE,CAAC;AAE1E,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAc,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG,MAAM,CAIjF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/turns/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,CAAC;AAExD,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAAgC,CAAC;AAExF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,UAAU,CAAC;AAE5D,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAAuC,CAAC;AAErG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAA;CAAE,CAAC;AAE1E,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAc,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG,MAAM,CASjF"}
@@ -12,6 +12,10 @@ export const TURN_STOP_REASONS = ['user_stop', 'superseded'];
12
12
  export function isTurnStopReason(value) {
13
13
  return typeof value === 'string' && TURN_STOP_REASONS.includes(value);
14
14
  }
15
+ export const TURN_STOPPED_REASONS = [...TURN_STOP_REASONS, 'deadline'];
16
+ export function isTurnStoppedReason(value) {
17
+ return typeof value === 'string' && TURN_STOPPED_REASONS.includes(value);
18
+ }
15
19
  /**
16
20
  * How long the server keeps a stop: far longer than any turn runs, so a worker
17
21
  * that was slow to start, or whose watch failed and retried, still hears it.
@@ -24,8 +28,13 @@ export const TURN_STOP_RECORD_TTL_MS = 30 * 60_000;
24
28
  * block, so a stopped turn that produced nothing still says this).
25
29
  */
26
30
  export function turnStoppedNote(marker) {
27
- return marker.reason === 'superseded'
28
- ? '[This turn was stopped here because the person sent a new message. Calls marked "not run" did not run.]'
29
- : '[The person stopped this turn here. Calls marked "not run" did not run.]';
31
+ switch (marker.reason) {
32
+ case 'superseded':
33
+ return '[This turn was stopped here because the person sent a new message. Calls marked "not run" did not run.]';
34
+ case 'deadline':
35
+ return '[This turn ran out of time and was stopped here. Calls marked "not run" did not run.]';
36
+ default:
37
+ return '[The person stopped this turn here. Calls marked "not run" did not run.]';
38
+ }
30
39
  }
31
40
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/turns/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AASjD,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAExF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAgCD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,MAAM,CAAC;AAYnD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyC;IACvE,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY;QACnC,CAAC,CAAC,yGAAyG;QAC3G,CAAC,CAAC,0EAA0E,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/turns/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AASjD,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAExF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAUD,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAAC,GAAG,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAErG,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC;AAgCD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,MAAM,CAAC;AAYnD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyC;IACvE,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,yGAAyG,CAAC;QACnH,KAAK,UAAU;YACb,OAAO,uFAAuF,CAAC;QACjG;YACE,OAAO,0EAA0E,CAAC;IACtF,CAAC;AACH,CAAC"}
@@ -14,6 +14,7 @@ import type { AgentProtocolEvent } from '../protocol/index.js';
14
14
  import type { ViewAnnotationState } from './api-surface.js';
15
15
  import type { ApprovalContinuation, ApprovalGrant } from '../approvals/types.js';
16
16
  import type { TurnStoppedMarker } from '../turns/types.js';
17
+ import type { AttachmentLimits, AttachmentRef } from '../attachments/types.js';
17
18
  /**
18
19
  * Context sent alongside each message. The SDK collects visible annotations
19
20
  * and current route automatically; platforms can add custom metadata.
@@ -137,6 +138,8 @@ export interface AgentStoredMessage {
137
138
  * The panel labels the message; a later turn's history says so after its text.
138
139
  */
139
140
  stopped?: TurnStoppedMarker | null;
141
+ /** The files the person attached to this message (ADR-0252 §2.8), by reference. */
142
+ attachments?: AttachmentRef[] | null;
140
143
  }
141
144
  /** One stored conversation, with its most recent messages in chronological order. */
142
145
  export interface AgentStoredConversation {
@@ -176,7 +179,12 @@ export interface AgentClientConfig {
176
179
  conversationId: string;
177
180
  content: string;
178
181
  context?: AgentMessageContext;
179
- attachments?: File[];
182
+ /**
183
+ * The files attached to this message, already uploaded through
184
+ * `attachments.upload` (ADR-0252 §2.8): the platform sends their ids.
185
+ * No file's bytes go with a message.
186
+ */
187
+ attachments?: AttachmentRef[];
180
188
  /**
181
189
  * Set on the turn the approval card starts after the user's decision
182
190
  * (ADR-0228 §2.2.5): the token to redeem, or that they declined. The
@@ -201,6 +209,12 @@ export interface AgentClientConfig {
201
209
  turnId: string;
202
210
  conversationId: string | null;
203
211
  }) => Promise<void>;
212
+ /**
213
+ * The platform's file area (ADR-0252 §2.8, §3). With it, the person can
214
+ * attach files to a message: each is uploaded when it is attached, and the
215
+ * message carries references. Without it, nothing can be attached.
216
+ */
217
+ attachments?: AttachmentClientSeam;
204
218
  /**
205
219
  * Hands the user's approval to this tab's OUI runtime (`runtime.grantApproval`
206
220
  * in oui-spec), so the approved UI action runs when the worker dispatches it.
@@ -264,4 +278,27 @@ export interface AgentClientConfig {
264
278
  */
265
279
  onEvent?: (event: AgentProtocolEvent) => void;
266
280
  }
281
+ /**
282
+ * How a tab puts files in the platform's file area and takes them out
283
+ * (ADR-0252 §3). The SDK holds the composer's state; the platform owns the
284
+ * requests, the storage and every check.
285
+ */
286
+ export interface AttachmentClientSeam {
287
+ /** The platform's limits, so a file is refused before it is uploaded. Defaults to `DEFAULT_ATTACHMENT_LIMITS`. */
288
+ limits?: AttachmentLimits | (() => Promise<AttachmentLimits>);
289
+ /**
290
+ * Upload one file to the conversation's file area and resolve its reference
291
+ * once the platform has checked it and it can be used. Rejects with an
292
+ * `Error` whose message says why it was refused, which the composer shows.
293
+ */
294
+ upload(file: File, options: {
295
+ conversationId: string;
296
+ signal: AbortSignal;
297
+ onProgress?: (fraction: number) => void;
298
+ }): Promise<AttachmentRef>;
299
+ /** Remove a file from the conversation's file area. */
300
+ remove?(ref: AttachmentRef, options: {
301
+ conversationId: string;
302
+ }): Promise<void>;
303
+ }
267
304
  //# sourceMappingURL=client-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/types/client-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/types/client-config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ouispec/agent-core",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Schema types, entity graph, intent resolution, and protocol definitions for the agent SDK",
5
5
  "homepage": "https://github.com/wesreid/oui/tree/main/packages/agent-core#readme",
6
6
  "bugs": {
@@ -30,9 +30,9 @@
30
30
  "dependencies": {
31
31
  "ajv": "^8.17.0",
32
32
  "yaml": "^2.7.0",
33
- "@ouispec/agent-events": "^0.7.0",
34
- "@ouispec/contract": "^0.3.2",
35
- "oui-spec": "^0.10.0"
33
+ "@ouispec/agent-events": "^0.8.0",
34
+ "@ouispec/contract": "^0.4.0",
35
+ "oui-spec": "^0.11.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.0.0",