| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /** Configuration and stable diagnostics for session references. */
- /** Hard maximum references accepted by one message. */
- export const MAX_REFERENCES = 3
- /** Default number of discovery candidates returned to a host. */
- export const DEFAULT_CANDIDATE_LIMIT = 50
- /** Default UTF-8 budget for one rendered reference JSON object. */
- export const DEFAULT_MAX_REFERENCE_BYTES = 65_536
- /** Session-reference service configuration. */
- export interface Config {
- /** Maximum distinct source sessions referenced by one message, from one to three. */
- maxReferences?: number
- /** Default host candidate-list limit. */
- candidateLimit?: number
- /** Maximum rendered UTF-8 bytes for one source snapshot. */
- maxReferenceBytes?: number
- }
- /** Stable failure codes exposed to host adapters. */
- export type SessionReferenceErrorCode =
- | 'SESSION_REFERENCE_INVALID_CONFIG'
- | 'SESSION_REFERENCE_INVALID_REFERENCE'
- | 'SESSION_REFERENCE_SELF_REFERENCE'
- | 'SESSION_REFERENCE_TOO_MANY'
- | 'SESSION_REFERENCE_READ_FAILED'
- | 'SESSION_REFERENCE_BUDGET_EXCEEDED'
- | 'SESSION_REFERENCE_CANCELLED'
- /** Typed session-reference failure suitable for host protocol error mapping. */
- export class SessionReferenceError extends Error {
- /** @param message Human-readable diagnosis. @param code Stable routing code. @param options Optional cause. */
- constructor(
- message: string,
- readonly code: SessionReferenceErrorCode,
- options?: ErrorOptions,
- ) {
- super(message, options)
- this.name = 'SessionReferenceError'
- }
- }
|