@maudecode/talaria-web-contracts 0.0.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 (79) hide show
  1. package/dist/index.d.ts +14 -0
  2. package/dist/index.js +15 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/openapi.d.ts +7 -0
  5. package/dist/openapi.js +29 -0
  6. package/dist/openapi.js.map +1 -0
  7. package/dist/router.d.ts +4772 -0
  8. package/dist/router.js +25 -0
  9. package/dist/router.js.map +1 -0
  10. package/dist/routes/automation.d.ts +794 -0
  11. package/dist/routes/automation.js +70 -0
  12. package/dist/routes/automation.js.map +1 -0
  13. package/dist/routes/chat.d.ts +382 -0
  14. package/dist/routes/chat.js +33 -0
  15. package/dist/routes/chat.js.map +1 -0
  16. package/dist/routes/core.d.ts +400 -0
  17. package/dist/routes/core.js +128 -0
  18. package/dist/routes/core.js.map +1 -0
  19. package/dist/routes/git.d.ts +785 -0
  20. package/dist/routes/git.js +62 -0
  21. package/dist/routes/git.js.map +1 -0
  22. package/dist/routes/raw.d.ts +24 -0
  23. package/dist/routes/raw.js +107 -0
  24. package/dist/routes/raw.js.map +1 -0
  25. package/dist/routes/sessions.d.ts +1621 -0
  26. package/dist/routes/sessions.js +75 -0
  27. package/dist/routes/sessions.js.map +1 -0
  28. package/dist/routes/settings.d.ts +590 -0
  29. package/dist/routes/settings.js +57 -0
  30. package/dist/routes/settings.js.map +1 -0
  31. package/dist/routes/tools.d.ts +482 -0
  32. package/dist/routes/tools.js +65 -0
  33. package/dist/routes/tools.js.map +1 -0
  34. package/dist/routes/workspaces.d.ts +161 -0
  35. package/dist/routes/workspaces.js +31 -0
  36. package/dist/routes/workspaces.js.map +1 -0
  37. package/dist/sidecar/index.d.ts +5 -0
  38. package/dist/sidecar/index.js +6 -0
  39. package/dist/sidecar/index.js.map +1 -0
  40. package/dist/sidecar/methods.d.ts +1544 -0
  41. package/dist/sidecar/methods.js +38 -0
  42. package/dist/sidecar/methods.js.map +1 -0
  43. package/dist/sidecar/namespaces.d.ts +1766 -0
  44. package/dist/sidecar/namespaces.js +239 -0
  45. package/dist/sidecar/namespaces.js.map +1 -0
  46. package/dist/sidecar/rpc.d.ts +96 -0
  47. package/dist/sidecar/rpc.js +49 -0
  48. package/dist/sidecar/rpc.js.map +1 -0
  49. package/dist/sidecar/runtime.d.ts +53 -0
  50. package/dist/sidecar/runtime.js +29 -0
  51. package/dist/sidecar/runtime.js.map +1 -0
  52. package/dist/sidecar/version.d.ts +6 -0
  53. package/dist/sidecar/version.js +7 -0
  54. package/dist/sidecar/version.js.map +1 -0
  55. package/dist/sse.d.ts +335 -0
  56. package/dist/sse.js +91 -0
  57. package/dist/sse.js.map +1 -0
  58. package/dist/views.d.ts +2200 -0
  59. package/dist/views.js +249 -0
  60. package/dist/views.js.map +1 -0
  61. package/fixtures/sidecar/aux.json +14 -0
  62. package/fixtures/sidecar/commands.json +1232 -0
  63. package/fixtures/sidecar/config.json +15 -0
  64. package/fixtures/sidecar/cron.json +503 -0
  65. package/fixtures/sidecar/goals.json +164 -0
  66. package/fixtures/sidecar/kanban.json +952 -0
  67. package/fixtures/sidecar/mcp.json +22 -0
  68. package/fixtures/sidecar/models.json +63 -0
  69. package/fixtures/sidecar/plugins.json +1069 -0
  70. package/fixtures/sidecar/process.json +58 -0
  71. package/fixtures/sidecar/profiles.json +82 -0
  72. package/fixtures/sidecar/providers.json +1201 -0
  73. package/fixtures/sidecar/rpc.json +120 -0
  74. package/fixtures/sidecar/runtime.json +75 -0
  75. package/fixtures/sidecar/skills.json +490 -0
  76. package/fixtures/sidecar/state_db.json +61 -0
  77. package/fixtures/sidecar/stt.json +13 -0
  78. package/fixtures/sidecar/text.json +41 -0
  79. package/package.json +49 -0
@@ -0,0 +1,62 @@
1
+ import { oc } from '@orpc/contract';
2
+ import { z } from 'zod';
3
+ import { GitInfoSchema } from '../views.js';
4
+ /** Workspace git panel, rollback checkpoints, worktrees, and upload receipts. */
5
+ const Json = z.unknown();
6
+ const Loose = z.record(z.string(), z.unknown());
7
+ const tags = ['git'];
8
+ export const GitTotalsSchema = z.object({ changed: z.number().int(), staged: z.number().int(), unstaged: z.number().int(), untracked: z.number().int(), conflicts: z.number().int() });
9
+ export const GitFileSchema = z.object({
10
+ path: z.string(), old_path: z.string().nullable(), workspace_path: z.string(), status: z.string(), staged: z.boolean(), unstaged: z.boolean(), untracked: z.boolean(),
11
+ ignored: z.boolean(), conflict: z.boolean(), additions: z.number().int(), deletions: z.number().int(), binary: z.boolean(),
12
+ });
13
+ export const GitStatusSchema = z.object({
14
+ is_git: z.boolean(), branch: z.string().optional(), upstream: z.string().optional(), ahead: z.number().int().optional(), behind: z.number().int().optional(),
15
+ totals: GitTotalsSchema.optional(), files: z.array(GitFileSchema).optional(), truncated: z.boolean().optional(),
16
+ noise_filtering: z.object({ filemode_only: z.number().int(), crlf_only: z.number().int(), active: z.boolean() }).optional(),
17
+ });
18
+ export const GitRefSchema = z.object({ name: z.string(), sha: z.string(), updated: z.number().int(), updated_relative: z.string(), author: z.string(), subject: z.string(), upstream: z.string(), ahead: z.number().int(), behind: z.number().int() });
19
+ export const GitBranchesSchema = z.object({ is_git: z.literal(true), current: z.string(), detached: z.boolean(), head: z.string(), local: z.array(GitRefSchema), remote: z.array(GitRefSchema), upstream: z.string(), ahead: z.number().int(), behind: z.number().int() });
20
+ export const GitDiffSchema = z.object({ path: z.string(), kind: z.string(), binary: z.boolean(), too_large: z.boolean(), additions: z.number().int(), deletions: z.number().int(), diff: z.string() });
21
+ /** Every git failure answers `{error, code}`; `code` is the classified reason (`not_a_repo`, `dirty_worktree`, ...). */
22
+ export const GitErrorSchema = z.object({ error: z.string(), code: z.string() });
23
+ const SessionQuery = z.object({ session_id: z.string() });
24
+ const SessionBody = z.object({ session_id: z.string() });
25
+ const PathsBody = SessionBody.extend({ paths: z.union([z.array(Json), z.string()]).optional(), path: z.string().optional() });
26
+ const GitOk = z.object({ ok: z.literal(true), git: GitStatusSchema });
27
+ const RemoteResult = z.object({ ok: z.literal(true), message: z.string(), status: GitStatusSchema });
28
+ const CheckoutBody = SessionBody.extend({ ref: z.string(), mode: z.string(), new_branch: z.string().nullable().optional(), track: Json.optional(), dirty_mode: z.string().optional() });
29
+ const CheckoutResult = z.object({ ok: z.literal(true), git: GitStatusSchema, branches: GitBranchesSchema, current_branch: z.string(), message: z.string() });
30
+ export const gitContract = {
31
+ gitInfo: oc.route({ method: 'GET', path: '/api/git-info', tags, summary: 'Lightweight branch badge for a session workspace.' }).input(SessionQuery).output(GitInfoSchema),
32
+ git: {
33
+ status: oc.route({ method: 'GET', path: '/api/git/status', tags }).input(SessionQuery).output(z.object({ git: GitStatusSchema })),
34
+ branches: oc.route({ method: 'GET', path: '/api/git/branches', tags }).input(SessionQuery).output(z.object({ branches: GitBranchesSchema })),
35
+ diff: oc.route({ method: 'GET', path: '/api/git/diff', tags }).input(SessionQuery.extend({ path: z.string().optional(), kind: z.string().optional(), staged: z.string().optional() })).output(z.object({ diff: GitDiffSchema })),
36
+ stage: oc.route({ method: 'POST', path: '/api/git/stage', tags }).input(PathsBody).output(GitOk),
37
+ unstage: oc.route({ method: 'POST', path: '/api/git/unstage', tags }).input(PathsBody).output(GitOk),
38
+ discard: oc.route({ method: 'POST', path: '/api/git/discard', tags }).input(PathsBody.extend({ delete_untracked: Json.optional() })).output(GitOk),
39
+ commit: oc.route({ method: 'POST', path: '/api/git/commit', tags }).input(SessionBody.extend({ message: z.string() })).output(z.object({ ok: z.literal(true), commit: z.string(), status: GitStatusSchema })),
40
+ commitSelected: oc.route({ method: 'POST', path: '/api/git/commit-selected', tags }).input(PathsBody.extend({ message: z.string() })).output(z.object({ ok: z.literal(true), commit: z.string(), paths: z.array(z.string()), status: GitStatusSchema })),
41
+ commitMessage: oc.route({ method: 'POST', path: '/api/git/commit-message', tags, summary: 'Generate a commit message for the staged diff through the auxiliary model.' }).input(SessionBody).output(z.object({ ok: z.literal(true), message: z.string(), truncated: z.boolean() })),
42
+ commitMessageSelected: oc.route({ method: 'POST', path: '/api/git/commit-message-selected', tags }).input(PathsBody).output(z.object({ ok: z.literal(true), message: z.string(), truncated: z.boolean() })),
43
+ fetch: oc.route({ method: 'POST', path: '/api/git/fetch', tags }).input(SessionBody).output(RemoteResult),
44
+ pull: oc.route({ method: 'POST', path: '/api/git/pull', tags }).input(SessionBody).output(RemoteResult),
45
+ push: oc.route({ method: 'POST', path: '/api/git/push', tags }).input(SessionBody).output(RemoteResult),
46
+ checkout: oc.route({ method: 'POST', path: '/api/git/checkout', tags }).input(CheckoutBody).output(CheckoutResult),
47
+ stashCheckout: oc.route({ method: 'POST', path: '/api/git/stash-checkout', tags }).input(CheckoutBody.omit({ dirty_mode: true })).output(CheckoutResult.extend({ stash_name: z.string(), stashed: z.boolean(), restored_stash: Loose.nullable(), restore_failed: z.boolean(), restore_error: z.string(), restore_stash: Loose.nullable() })),
48
+ },
49
+ rollback: {
50
+ list: oc.route({ method: 'GET', path: '/api/rollback/list', tags: ['rollback'] }).input(z.object({ workspace: z.string().optional() })).output(z.object({ checkpoints: z.array(Loose), workspace: z.string(), checkpoint_dir: z.string() })),
51
+ diff: oc.route({ method: 'GET', path: '/api/rollback/diff', tags: ['rollback'] }).input(z.object({ workspace: z.string().optional(), checkpoint: z.string().optional(), id: z.string().optional() })).output(z.object({ checkpoint: z.string(), workspace: z.string(), diff: z.string(), files_changed: z.array(z.object({ file: z.string(), status: z.string() })), total_changes: z.number().int() })),
52
+ restore: oc.route({ method: 'POST', path: '/api/rollback/restore', tags: ['rollback'] }).input(z.object({ workspace: z.string().optional(), checkpoint: z.string().optional(), id: z.string().optional() }).catchall(Json)).output(z.object({ ok: z.literal(true), checkpoint: z.string(), workspace: z.string(), files_restored: z.array(z.string()), files_restored_count: z.number().int(), errors: z.array(z.object({ file: z.string(), error: z.string() })) })),
53
+ },
54
+ worktree: {
55
+ status: oc.route({ method: 'GET', path: '/api/session/worktree/status', tags: ['sessions'] }).input(SessionQuery).output(z.object({ status: Loose })),
56
+ remove: oc.route({ method: 'POST', path: '/api/session/worktree/remove', tags: ['sessions'] }).input(z.object({ session_id: Json.optional(), force: Json.optional() })).output(z.object({ ok: z.literal(true), removed_path: z.string(), warnings: z.array(z.string()).nullable() })),
57
+ },
58
+ upload: {
59
+ rollback: oc.route({ method: 'POST', path: '/api/upload/rollback', tags: ['files'], summary: 'Remove the successful prefix of one failed multi-file chat upload.' }).input(z.object({ session_id: Json.optional(), rollback_tokens: Json.optional() })).output(z.object({ ok: z.boolean(), rolled_back: z.number().int(), failed: z.number().int() })),
60
+ },
61
+ };
62
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Byte-stream routes the server implements outside oRPC (file bodies, ZIP
3
+ * streams, multipart uploads, downloads). They are documented here so the
4
+ * generated OpenAPI document covers every HTTP path a consumer may call.
5
+ */
6
+ export interface RawRoute {
7
+ method: 'GET' | 'POST';
8
+ path: string;
9
+ summary: string;
10
+ tags: string[];
11
+ query?: Record<string, {
12
+ description: string;
13
+ required?: boolean;
14
+ }>;
15
+ requestBody?: {
16
+ contentType: string;
17
+ description: string;
18
+ };
19
+ responses: Record<number, {
20
+ description: string;
21
+ contentType?: string;
22
+ }>;
23
+ }
24
+ export declare const RAW_ROUTES: readonly RawRoute[];
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Byte-stream routes the server implements outside oRPC (file bodies, ZIP
3
+ * streams, multipart uploads, downloads). They are documented here so the
4
+ * generated OpenAPI document covers every HTTP path a consumer may call.
5
+ */
6
+ export const RAW_ROUTES = [
7
+ {
8
+ method: 'GET', path: '/api/auth/oidc/start', summary: 'Redirect the browser to the configured OIDC provider (302, `Cache-Control: no-store`).', tags: ['auth'],
9
+ query: { next: { description: 'Safe path-absolute return target after login.' }, native_flow: { description: 'Pending native handoff id from `/api/auth/oidc/native/start`.' } },
10
+ responses: { 302: { description: 'Provider authorization URL in `Location`.' }, 404: { description: 'OIDC is not configured.', contentType: 'application/json' }, 502: { description: 'Provider discovery failed.', contentType: 'application/json' } },
11
+ },
12
+ {
13
+ method: 'GET', path: '/api/auth/oidc/callback', summary: 'Authorization-code callback: verifies the id_token, sets the session cookie, and redirects to `next` (or the native app).', tags: ['auth'],
14
+ query: { state: { description: 'Opaque state issued by `/api/auth/oidc/start`.', required: true }, code: { description: 'Provider authorization code.' }, error: { description: 'Provider error code (yields 401 or a native failure redirect).' }, error_description: { description: 'Provider error detail.' } },
15
+ responses: { 302: { description: 'Session established; `Set-Cookie` plus `Location`.' }, 400: { description: 'Missing state or code.', contentType: 'application/json' }, 401: { description: 'Provider error or claim policy rejection.', contentType: 'application/json' }, 404: { description: 'OIDC is not configured.', contentType: 'application/json' } },
16
+ },
17
+ {
18
+ method: 'GET', path: '/api/chat/stream', summary: 'Live agent-turn relay (SSE). Journal-backed frames carry `id: <stream_id>:<seq>`; resume with `after_event_id`, `after_seq`, or `Last-Event-ID`.', tags: ['chat'],
19
+ query: { stream_id: { description: 'Stream returned by `/api/chat/start`.', required: true }, after_event_id: { description: 'Resume cursor (`<stream_id>:<seq>`).' }, after_seq: { description: 'Numeric resume cursor.' }, replay: { description: '`1` replays the journal from the start.' } },
20
+ responses: { 200: { description: 'Event stream; ends after `stream_end`, `cancel`, `apperror`, or `error`.', contentType: 'text/event-stream' }, 404: { description: 'No live stream and no journal.', contentType: 'application/json' }, 503: { description: 'Client stream limit reached (`condition: client_stream_limit`).', contentType: 'application/json' } },
21
+ },
22
+ {
23
+ method: 'GET', path: '/api/session/stream', summary: 'Persistent per-session channel (`initial`, `server_turn_started`, `session-updated`, `bg_task_complete`).', tags: ['chat'],
24
+ query: { session_id: { description: 'Session to follow.', required: true }, known_count: { description: 'Last message count the tab rendered; a higher persisted count triggers `session-updated`.' } },
25
+ responses: { 200: { description: 'Event stream with 5 s keepalives.', contentType: 'text/event-stream' } },
26
+ },
27
+ {
28
+ method: 'GET', path: '/api/sessions/events', summary: 'Global session-list invalidation stream (`sessions_changed`).', tags: ['sessions'],
29
+ query: { gateway: { description: '`1` merges the gateway feed with a `stream` discriminator and an initial `gateway_status` frame.' } },
30
+ responses: { 200: { description: 'Event stream.', contentType: 'text/event-stream' } },
31
+ },
32
+ {
33
+ method: 'GET', path: '/api/sessions/{session_id}/events', summary: 'Per-session run-journal relay with `Last-Event-ID` resume and `session_snapshot` fallback.', tags: ['sessions'],
34
+ query: { after_event_id: { description: 'Resume cursor when the header is unavailable.' } },
35
+ responses: { 200: { description: 'Event stream.', contentType: 'text/event-stream' }, 404: { description: 'Session not found.', contentType: 'application/json' } },
36
+ },
37
+ {
38
+ method: 'GET', path: '/api/approval/stream', summary: 'Approval prompt stream (`initial` then `approval`).', tags: ['approval'],
39
+ query: { session_id: { description: 'Session to follow.', required: true } },
40
+ responses: { 200: { description: 'Event stream.', contentType: 'text/event-stream' } },
41
+ },
42
+ {
43
+ method: 'GET', path: '/api/clarify/stream', summary: 'Clarify prompt stream (`initial` then `clarify`).', tags: ['approval'],
44
+ query: { session_id: { description: 'Session to follow.', required: true } },
45
+ responses: { 200: { description: 'Event stream.', contentType: 'text/event-stream' } },
46
+ },
47
+ {
48
+ method: 'GET', path: '/api/file/raw', summary: 'Raw bytes of a workspace file or a session upload.', tags: ['files'],
49
+ query: { session_id: { description: 'Session whose workspace anchors the path.', required: true }, path: { description: 'Workspace-relative path.', required: true }, download: { description: '`1` forces an attachment disposition.' }, inline: { description: '`1` serves HTML inline under a CSP sandbox.' } },
50
+ responses: { 200: { description: 'File bytes with ETag and byte-range support.', contentType: 'application/octet-stream' }, 206: { description: 'Partial content for a satisfiable Range header.' }, 304: { description: 'ETag matched If-None-Match.' }, 404: { description: 'Path outside the workspace or missing.', contentType: 'application/json' }, 416: { description: 'Range not satisfiable.' } },
51
+ },
52
+ {
53
+ method: 'GET', path: '/api/media', summary: 'Local media referenced by the chat (allow-listed roots, MEDIA: tokens, or an immutable snapshot).', tags: ['files'],
54
+ query: { path: { description: 'Absolute local path.', required: true }, session_id: { description: 'Session whose assistant messages may grant the path.' }, inline: { description: '`1` allows inline audio, video, PDF, and sandboxed HTML.' }, snap: { description: 'SHA-256 digest of a message-level snapshot bound to the path.' } },
55
+ responses: { 200: { description: 'Media bytes.', contentType: 'application/octet-stream' }, 206: { description: 'Partial content.' }, 304: { description: 'ETag matched.' }, 403: { description: 'Path not in an allowed location.', contentType: 'application/json' }, 404: { description: 'Not found.', contentType: 'application/json' }, 410: { description: 'Snapshot unavailable.', contentType: 'application/json' } },
56
+ },
57
+ {
58
+ method: 'GET', path: '/api/folder/download', summary: 'ZIP of a workspace folder (symlinks escaping the workspace are skipped).', tags: ['files'],
59
+ query: { session_id: { description: 'Session whose workspace anchors the path.', required: true }, path: { description: 'Workspace-relative folder.' } },
60
+ responses: { 200: { description: 'ZIP stream.', contentType: 'application/zip' }, 404: { description: 'Folder missing.', contentType: 'application/json' }, 413: { description: 'Folder exceeds the configured size or file-count cap.', contentType: 'application/json' } },
61
+ },
62
+ {
63
+ method: 'GET', path: '/api/session/export', summary: 'Transcript download as JSON or a self-contained HTML page.', tags: ['sessions'],
64
+ query: { session_id: { description: 'Session to export.', required: true }, format: { description: '`json` (default) or `html`.' }, theme: { description: 'HTML only: `dark` (default) or `light`.' }, palette: { description: 'HTML only: base64 JSON map of CSS variables captured from the live UI.' } },
65
+ responses: { 200: { description: 'Attachment named `hermes-<session_id>.<ext>`.' }, 404: { description: 'Session not found.', contentType: 'application/json' } },
66
+ },
67
+ {
68
+ method: 'GET', path: '/api/kanban/events/stream', summary: 'Kanban task-event feed (SSE): `hello` then `events` batches with `id: <cursor>`; 15 s keepalive.', tags: ['automation'],
69
+ query: { since: { description: 'Resume after this event id (else `Last-Event-ID`, else 0).' }, board: { description: 'Pin the stream to one board slug; omit to follow the active board.' } },
70
+ responses: { 200: { description: 'Event stream.', contentType: 'text/event-stream' }, 400: { description: 'Invalid board slug.', contentType: 'application/json' }, 503: { description: 'Client stream limit reached.', contentType: 'application/json' } },
71
+ },
72
+ {
73
+ method: 'GET', path: '/api/terminal/output', summary: 'Embedded terminal output (SSE): `output`, `terminal_closed`, `terminal_error` with integer ids and backlog replay from `Last-Event-ID`.', tags: ['automation'],
74
+ query: { session_id: { description: 'Session whose terminal to attach.', required: true } },
75
+ responses: { 200: { description: 'Event stream.', contentType: 'text/event-stream' }, 403: { description: 'Local-origin gate refused.', contentType: 'application/json' }, 404: { description: 'Terminal not running.', contentType: 'application/json' } },
76
+ },
77
+ {
78
+ method: 'GET', path: '/extensions/{path}', summary: 'Static assets from the extension root (HTML answers with the panel sandbox CSP).', tags: ['automation'],
79
+ responses: { 200: { description: 'Asset bytes.', contentType: 'application/octet-stream' }, 404: { description: 'Not found (never explains why).', contentType: 'application/json' } },
80
+ },
81
+ {
82
+ method: 'POST', path: '/api/extensions/{id}/sidecar/{path}', summary: 'Consented loopback sidecar proxy (any method); headers stripped, 10 s, 512 KiB.', tags: ['automation'],
83
+ responses: { 403: { description: 'Consent required or cross-origin request.', contentType: 'application/json' }, 409: { description: 'Sidecar unavailable.', contentType: 'application/json' }, 502: { description: 'Upstream failed or too large.', contentType: 'application/json' } },
84
+ },
85
+ {
86
+ method: 'POST', path: '/api/transcribe', summary: 'Speech-to-text through the Agent (multipart `file`).', tags: ['tools'],
87
+ requestBody: { contentType: 'multipart/form-data', description: 'Field `file` (audio).' },
88
+ responses: { 200: { description: '`{ok, transcript}`.', contentType: 'application/json' }, 400: { description: 'No file or transcription failed.', contentType: 'application/json' }, 503: { description: 'Speech-to-text unavailable.', contentType: 'application/json' } },
89
+ },
90
+ {
91
+ method: 'POST', path: '/api/tts', summary: 'Text-to-speech proxy (`engine`: openai or elevenlabs); answers `audio/mpeg`.', tags: ['tools'],
92
+ requestBody: { contentType: 'application/json', description: '`{text, engine, voice?, rate?, pitch?}`.' },
93
+ responses: { 200: { description: 'MP3 audio.', contentType: 'audio/mpeg' }, 400: { description: 'Invalid text, voice, or engine.', contentType: 'application/json' }, 429: { description: 'Rate limited (one request per 2 s per client).', contentType: 'application/json' }, 503: { description: 'Engine not configured.', contentType: 'application/json' } },
94
+ },
95
+ {
96
+ method: 'POST', path: '/api/csp-report', summary: 'Browser CSP report sink (public, rate limited, always 204).', tags: ['tools'],
97
+ requestBody: { contentType: 'application/json', description: 'CSP report payload.' },
98
+ responses: { 204: { description: 'Accepted or dropped.', contentType: 'application/json' } },
99
+ },
100
+ {
101
+ method: 'POST', path: '/api/upload', summary: 'Store one chat attachment in the session inbox and return a rollback receipt.', tags: ['files'],
102
+ query: { session_id: { description: 'Target session (the multipart `session_id` field wins when present).' } },
103
+ requestBody: { contentType: 'multipart/form-data', description: 'Fields `session_id` and `file`.' },
104
+ responses: { 200: { description: 'Upload metadata.', contentType: 'application/json' }, 400: { description: 'No file or invalid name.', contentType: 'application/json' }, 409: { description: 'Destination already exists.', contentType: 'application/json' }, 413: { description: 'Body exceeds the upload cap.', contentType: 'application/json' } },
105
+ },
106
+ ];
107
+ //# sourceMappingURL=raw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.js","sourceRoot":"","sources":["../../src/routes/raw.ts"],"names":[],"mappings":"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"}