@workjournal/shared 2.9.0 → 2.13.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 {};
2
+ //# sourceMappingURL=theme.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/theme.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { isThemePreference, resolveTheme, THEME_INIT_SCRIPT, THEME_PREFERENCES, THEME_STORAGE_KEY, } from '../theme.js';
3
+ describe('isThemePreference', () => {
4
+ it('accepts the three valid preferences', () => {
5
+ expect(isThemePreference('system')).toBe(true);
6
+ expect(isThemePreference('light')).toBe(true);
7
+ expect(isThemePreference('dark')).toBe(true);
8
+ });
9
+ it('rejects anything else', () => {
10
+ expect(isThemePreference('Dark')).toBe(false);
11
+ expect(isThemePreference('')).toBe(false);
12
+ expect(isThemePreference(null)).toBe(false);
13
+ expect(isThemePreference(undefined)).toBe(false);
14
+ expect(isThemePreference(0)).toBe(false);
15
+ });
16
+ });
17
+ describe('resolveTheme', () => {
18
+ it('returns the explicit preference regardless of the OS signal', () => {
19
+ expect(resolveTheme('light', true)).toBe('light');
20
+ expect(resolveTheme('light', false)).toBe('light');
21
+ expect(resolveTheme('dark', true)).toBe('dark');
22
+ expect(resolveTheme('dark', false)).toBe('dark');
23
+ });
24
+ it('follows the OS signal when preference is system', () => {
25
+ expect(resolveTheme('system', true)).toBe('dark');
26
+ expect(resolveTheme('system', false)).toBe('light');
27
+ });
28
+ });
29
+ describe('theme constants', () => {
30
+ it('cycles system -> light -> dark', () => {
31
+ expect(THEME_PREFERENCES).toEqual(['system', 'light', 'dark']);
32
+ });
33
+ it('hard-codes the storage key inside the bootstrap script (no drift)', () => {
34
+ // The init script can't interpolate the constant at runtime in every
35
+ // build target, so it inlines the literal — guard the two against drift.
36
+ expect(THEME_INIT_SCRIPT).toContain(`'${THEME_STORAGE_KEY}'`);
37
+ });
38
+ it('bootstrap script toggles the dark class and swallows errors', () => {
39
+ expect(THEME_INIT_SCRIPT).toContain("classList.toggle('dark'");
40
+ expect(THEME_INIT_SCRIPT).toContain('catch');
41
+ expect(THEME_INIT_SCRIPT).toContain('prefers-color-scheme: dark');
42
+ });
43
+ it('bootstrap script normalizes untrusted storage values to system', () => {
44
+ // Must mirror the runtime isThemePreference fallback so pre-paint and
45
+ // hydrated results never disagree (CR #694).
46
+ expect(THEME_INIT_SCRIPT).toContain("p!=='light'&&p!=='dark'&&p!=='system'");
47
+ expect(THEME_INIT_SCRIPT).toContain("p='system'");
48
+ });
49
+ });
50
+ //# sourceMappingURL=theme.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.test.js","sourceRoot":"","sources":["../../src/__tests__/theme.test.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,14 @@ export declare const WS_API_PATHS: {
62
62
  /** PUT sets `journals.selected_prompt_id`; DELETE removes from pool. Slug
63
63
  * `default` (the reserved sentinel) targets the global default row. */
64
64
  readonly journalPrompt: (workspaceSlug: string, journalSlug: string, promptSlug: string) => string;
65
+ /** POST (multipart upload) + GET (list) attachments in a journal. #561 */
66
+ readonly attachments: (workspaceSlug: string, journalSlug: string) => string;
67
+ /** Journal-scoped single attachment: `GET` streams the content (contributor),
68
+ * `DELETE` removes it. This is the **private** content URL. #561 */
69
+ readonly attachment: (workspaceSlug: string, journalSlug: string, attachmentId: string) => string;
70
+ /** Anonymous content URL for an attachment in a **public** journal — keyed
71
+ * by `public_slug` (not the real ws/journal slugs). #561 */
72
+ readonly publicAttachmentContent: (publicSlug: string, attachmentId: string) => string;
65
73
  readonly tags: (workspaceSlug: string) => string;
66
74
  readonly tag: (workspaceSlug: string, tagName: string) => string;
67
75
  /** Same path for assign (POST) and unassign (DELETE). */
@@ -121,6 +129,18 @@ export declare const MAX_EMAIL_LENGTH = 320;
121
129
  export declare const DEFAULT_PAGE_LIMIT = 50;
122
130
  export declare const MAX_PAGE_LIMIT = 100;
123
131
  export declare const PUBLIC_SLUG_LENGTH = 12;
132
+ /**
133
+ * Attachment upload limits (issue #561). Per-file cap is 5 MiB; the
134
+ * per-workspace total is the `max_storage_bytes` tier column. The allowed
135
+ * MIME set is mirrored by the `attachments.content_type` CHECK constraint and
136
+ * validated at every upload boundary (API, CLI, MCP, web).
137
+ */
138
+ export declare const ATTACHMENT_MAX_BYTES = 5242880;
139
+ export declare const ATTACHMENT_ALLOWED_TYPES: readonly ["image/png", "image/jpeg", "image/gif", "image/webp", "application/pdf"];
140
+ /** Map of allowed content-type → canonical file extension (for filename fallback). */
141
+ export declare const ATTACHMENT_EXTENSION_BY_TYPE: Record<string, string>;
142
+ /** True when `type` is one of the allowed attachment MIME types. */
143
+ export declare function isAllowedAttachmentType(type: string): boolean;
124
144
  /**
125
145
  * Deterministic UUID of the seeded global default prompt row (migration
126
146
  * `20260513000001_prompts_selectable_pool`). Stable across environments so
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,IAAa,CAAC;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS;;;6BAGL,MAAM;;2BAER,MAAM;kCACC,MAAM;gCACR,MAAM,SAAS,MAAM,GAAG,MAAM;wCAEtB,MAAM;uCACP,MAAM;sCACP,MAAM,UAAU,MAAM;sCAEtB,MAAM;qCACP,MAAM,gBAAgB,MAAM;;wCAGzB,MAAM;mCACX,MAAM;mCACN,MAAM;iCACR,MAAM,SAAS,MAAM,GAAG,MAAM;CAEzC,CAAC;AAeX,eAAO,MAAM,YAAY;;;wCAGG,MAAM;;uCAEP,MAAM;sCACP,MAAM,eAAe,MAAM;+CAClB,MAAM;sCACf,MAAM,eAAe,MAAM;oCAE7B,MAAM,eAAe,MAAM,SAAS,MAAM,GAAG,MAAM;4CAE3C,MAAM,eAAe,MAAM;IAE1D;2EACuE;wCAC5C,MAAM,eAAe,MAAM;2CAExB,MAAM,eAAe,MAAM;0CAE5B,MAAM,eAAe,MAAM,UAAU,MAAM;0CAE3C,MAAM,eAAe,MAAM;yCAE5B,MAAM,eAAe,MAAM,gBAAgB,MAAM;+CAE3C,MAAM,eAAe,MAAM,gBAAgB,MAAM;;wCAGxD,MAAM;4CACF,MAAM,eAAe,MAAM;mCAEpC,MAAM;mCACN,MAAM;IAC5B,gFAAgF;wCACrD,MAAM;iCACb,MAAM,SAAS,MAAM,GAAG,MAAM;;sCAGzB,MAAM;qCACP,MAAM,cAAc,MAAM;IAElD,sFAAsF;6CACtD,MAAM,eAAe,MAAM;IAE3D;2EACuE;4CACxC,MAAM,eAAe,MAAM,cAAc,MAAM;mCAExD,MAAM;kCACP,MAAM,WAAW,MAAM;IAE5C,yDAAyD;wCAC9B,MAAM,eAAe,MAAM,WAAW,MAAM;6CAEvC,MAAM;IACtC,4EAA4E;;IAE5E,6EAA6E;2CAC/C,MAAM;IACpC;mFAC+E;iDAC3C,MAAM;IAC1C;gFAC4E;wDACjC,MAAM;IAEjD,+EAA+E;iDAC3C,MAAM;IAC1C;6EACyE;qDACjC,MAAM;CACrC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAE7D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAkBd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C;mFACmF;AACnF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAG,sCAA+C,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAG,SAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAG,KAAc,CAAC;AAClD,eAAO,MAAM,uBAAuB,EAAG,KAAc,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,IAAa,CAAC;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS;;;6BAGL,MAAM;;2BAER,MAAM;kCACC,MAAM;gCACR,MAAM,SAAS,MAAM,GAAG,MAAM;wCAEtB,MAAM;uCACP,MAAM;sCACP,MAAM,UAAU,MAAM;sCAEtB,MAAM;qCACP,MAAM,gBAAgB,MAAM;;wCAGzB,MAAM;mCACX,MAAM;mCACN,MAAM;iCACR,MAAM,SAAS,MAAM,GAAG,MAAM;CAEzC,CAAC;AAeX,eAAO,MAAM,YAAY;;;wCAGG,MAAM;;uCAEP,MAAM;sCACP,MAAM,eAAe,MAAM;+CAClB,MAAM;sCACf,MAAM,eAAe,MAAM;oCAE7B,MAAM,eAAe,MAAM,SAAS,MAAM,GAAG,MAAM;4CAE3C,MAAM,eAAe,MAAM;IAE1D;2EACuE;wCAC5C,MAAM,eAAe,MAAM;2CAExB,MAAM,eAAe,MAAM;0CAE5B,MAAM,eAAe,MAAM,UAAU,MAAM;0CAE3C,MAAM,eAAe,MAAM;yCAE5B,MAAM,eAAe,MAAM,gBAAgB,MAAM;+CAE3C,MAAM,eAAe,MAAM,gBAAgB,MAAM;;wCAGxD,MAAM;4CACF,MAAM,eAAe,MAAM;mCAEpC,MAAM;mCACN,MAAM;IAC5B,gFAAgF;wCACrD,MAAM;iCACb,MAAM,SAAS,MAAM,GAAG,MAAM;;sCAGzB,MAAM;qCACP,MAAM,cAAc,MAAM;IAElD,sFAAsF;6CACtD,MAAM,eAAe,MAAM;IAE3D;2EACuE;4CACxC,MAAM,eAAe,MAAM,cAAc,MAAM;IAE9E,0EAA0E;0CAC7C,MAAM,eAAe,MAAM;IAExD;wEACoE;yCACxC,MAAM,eAAe,MAAM,gBAAgB,MAAM;IAE7E;gEAC4D;mDACtB,MAAM,gBAAgB,MAAM;mCAE5C,MAAM;kCACP,MAAM,WAAW,MAAM;IAE5C,yDAAyD;wCAC9B,MAAM,eAAe,MAAM,WAAW,MAAM;6CAEvC,MAAM;IACtC,4EAA4E;;IAE5E,6EAA6E;2CAC/C,MAAM;IACpC;mFAC+E;iDAC3C,MAAM;IAC1C;gFAC4E;wDACjC,MAAM;IAEjD,+EAA+E;iDAC3C,MAAM;IAC1C;6EACyE;qDACjC,MAAM;CACrC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAE7D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAkBd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C;mFACmF;AACnF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAY,CAAC;AAC9C,eAAO,MAAM,wBAAwB,oFAM3B,CAAC;AAEX,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM/D,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAG,sCAA+C,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAG,SAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAG,KAAc,CAAC;AAClD,eAAO,MAAM,uBAAuB,EAAG,KAAc,CAAC"}
package/dist/constants.js CHANGED
@@ -72,6 +72,14 @@ export const WS_API_PATHS = {
72
72
  /** PUT sets `journals.selected_prompt_id`; DELETE removes from pool. Slug
73
73
  * `default` (the reserved sentinel) targets the global default row. */
74
74
  journalPrompt: (workspaceSlug, journalSlug, promptSlug) => `${jr(workspaceSlug, journalSlug)}/prompts/${encodeURIComponent(promptSlug)}`,
75
+ /** POST (multipart upload) + GET (list) attachments in a journal. #561 */
76
+ attachments: (workspaceSlug, journalSlug) => `${jr(workspaceSlug, journalSlug)}/attachments`,
77
+ /** Journal-scoped single attachment: `GET` streams the content (contributor),
78
+ * `DELETE` removes it. This is the **private** content URL. #561 */
79
+ attachment: (workspaceSlug, journalSlug, attachmentId) => `${jr(workspaceSlug, journalSlug)}/attachments/${encodeURIComponent(attachmentId)}`,
80
+ /** Anonymous content URL for an attachment in a **public** journal — keyed
81
+ * by `public_slug` (not the real ws/journal slugs). #561 */
82
+ publicAttachmentContent: (publicSlug, attachmentId) => `/${API_VERSION}/public/${encodeURIComponent(publicSlug)}/attachments/${encodeURIComponent(attachmentId)}`,
75
83
  tags: (workspaceSlug) => `${ws(workspaceSlug)}/tags`,
76
84
  tag: (workspaceSlug, tagName) => `${ws(workspaceSlug)}/tags/${encodeURIComponent(tagName)}`,
77
85
  /** Same path for assign (POST) and unassign (DELETE). */
@@ -130,6 +138,32 @@ export const MAX_EMAIL_LENGTH = 320;
130
138
  export const DEFAULT_PAGE_LIMIT = 50;
131
139
  export const MAX_PAGE_LIMIT = 100;
132
140
  export const PUBLIC_SLUG_LENGTH = 12;
141
+ /**
142
+ * Attachment upload limits (issue #561). Per-file cap is 5 MiB; the
143
+ * per-workspace total is the `max_storage_bytes` tier column. The allowed
144
+ * MIME set is mirrored by the `attachments.content_type` CHECK constraint and
145
+ * validated at every upload boundary (API, CLI, MCP, web).
146
+ */
147
+ export const ATTACHMENT_MAX_BYTES = 5_242_880; // 5 MiB
148
+ export const ATTACHMENT_ALLOWED_TYPES = [
149
+ 'image/png',
150
+ 'image/jpeg',
151
+ 'image/gif',
152
+ 'image/webp',
153
+ 'application/pdf',
154
+ ];
155
+ /** Map of allowed content-type → canonical file extension (for filename fallback). */
156
+ export const ATTACHMENT_EXTENSION_BY_TYPE = {
157
+ 'image/png': 'png',
158
+ 'image/jpeg': 'jpg',
159
+ 'image/gif': 'gif',
160
+ 'image/webp': 'webp',
161
+ 'application/pdf': 'pdf',
162
+ };
163
+ /** True when `type` is one of the allowed attachment MIME types. */
164
+ export function isAllowedAttachmentType(type) {
165
+ return ATTACHMENT_ALLOWED_TYPES.includes(type);
166
+ }
133
167
  /**
134
168
  * Deterministic UUID of the seeded global default prompt row (migration
135
169
  * `20260513000001_prompts_selectable_pool`). Stable across environments so
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { ErrorCode } from './constants.js';
2
- export { API_PATHS, API_VERSION, CURRENT_PRIVACY_VERSION, CURRENT_TOS_VERSION, DEFAULT_PAGE_LIMIT, DEFAULT_PROMPT_ID, DEFAULT_PROMPT_SLUG, ERROR_CODES, MAX_EMAIL_LENGTH, MAX_JOURNAL_NAME_LENGTH, MAX_PAGE_LIMIT, MAX_PROMPT_BODY_LENGTH, MAX_PROMPT_NAME_LENGTH, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, SHARED_WITH_ME_SLUG, WS_API_PATHS, } from './constants.js';
2
+ export { API_PATHS, API_VERSION, ATTACHMENT_ALLOWED_TYPES, ATTACHMENT_EXTENSION_BY_TYPE, ATTACHMENT_MAX_BYTES, CURRENT_PRIVACY_VERSION, CURRENT_TOS_VERSION, DEFAULT_PAGE_LIMIT, DEFAULT_PROMPT_ID, DEFAULT_PROMPT_SLUG, ERROR_CODES, isAllowedAttachmentType, MAX_EMAIL_LENGTH, MAX_JOURNAL_NAME_LENGTH, MAX_PAGE_LIMIT, MAX_PROMPT_BODY_LENGTH, MAX_PROMPT_NAME_LENGTH, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, SHARED_WITH_ME_SLUG, WS_API_PATHS, } from './constants.js';
3
3
  export { DEFAULT_JOURNAL_PROMPT } from './default-prompt.js';
4
4
  export type { BearerResolution, WrappedPayload } from './opaque-token.js';
5
5
  export { AAD_STRING, isOpaqueToken, KEY_LEN, NONCE_LEN, resolveBearer, TAG_LEN, unwrapToken, WJTK_PREFIX, wrapToken, } from './opaque-token.js';
@@ -7,7 +7,9 @@ export { proposeWorkspaceNameFromEmail } from './propose-workspace-name.js';
7
7
  export { isReservedSlug, MAX_NAME_LENGTH, MAX_SLUG_LENGTH, RESERVED_SLUGS, slugify, } from './slug.js';
8
8
  export type { ClientOption, InterfaceOption } from './support-labels.js';
9
9
  export { CLIENT_OPTIONS, INTERFACE_OPTIONS, isClientOption, isInterfaceOption, } from './support-labels.js';
10
+ export type { ResolvedTheme, ThemePreference } from './theme.js';
11
+ export { isThemePreference, resolveTheme, THEME_INIT_SCRIPT, THEME_PREFERENCES, THEME_STORAGE_KEY, } from './theme.js';
10
12
  export type { FeatureFlag } from './tiers.js';
11
13
  export { canUseFeature, canUseFeatureForCode } from './tiers.js';
12
- export type { AcceptInvitationRequest, AcceptLegalRequest, ApiError, CreateEntryRequest, CreateInvitationRequest, CreateJournalRequest, CreatePromptRequest, CreateTagRequest, CreateWorkspaceRequest, Entry, EntrySummary, EntryWithNeighbors, Invitation, Journal, JournalContributor, JournalContributorRow, JournalContributorWithEmail, JournalPromptInfo, JournalTagAssignment, PaginatedResponse, Prompt, RagSearchRequest, RagSearchResponse, RagSearchResult, SharedJournal, Tag, TagWithAssignment, Tier, TierCode, UpdateEntryRequest, UpdateJournalRequest, UpdatePromptRequest, UpdateTagRequest, UserProfile, Workspace, } from './types.js';
14
+ export type { AcceptInvitationRequest, AcceptLegalRequest, ApiError, Attachment, AttachmentContentType, AttachmentWithEntries, CreateEntryRequest, CreateInvitationRequest, CreateJournalRequest, CreatePromptRequest, CreateTagRequest, CreateWorkspaceRequest, Entry, EntryAttachmentRef, EntrySummary, EntryWithNeighbors, Invitation, Journal, JournalContributor, JournalContributorRow, JournalContributorWithEmail, JournalPromptInfo, JournalTagAssignment, PaginatedResponse, Prompt, RagSearchRequest, RagSearchResponse, RagSearchResult, SharedJournal, Tag, TagWithAssignment, Tier, TierCode, UpdateEntryRequest, UpdateJournalRequest, UpdatePromptRequest, UpdateTagRequest, UploadAttachmentResponse, UserProfile, Workspace, } from './types.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACN,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EACN,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,WAAW,EACX,SAAS,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACN,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,GACP,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACjE,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,GAAG,EACH,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,SAAS,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACN,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EACN,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,WAAW,EACX,SAAS,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACN,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,GACP,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACjE,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,EACL,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,GAAG,EACH,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,SAAS,GACT,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
- export { API_PATHS, API_VERSION, CURRENT_PRIVACY_VERSION, CURRENT_TOS_VERSION, DEFAULT_PAGE_LIMIT, DEFAULT_PROMPT_ID, DEFAULT_PROMPT_SLUG, ERROR_CODES, MAX_EMAIL_LENGTH, MAX_JOURNAL_NAME_LENGTH, MAX_PAGE_LIMIT, MAX_PROMPT_BODY_LENGTH, MAX_PROMPT_NAME_LENGTH, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, SHARED_WITH_ME_SLUG, WS_API_PATHS, } from './constants.js';
1
+ export { API_PATHS, API_VERSION, ATTACHMENT_ALLOWED_TYPES, ATTACHMENT_EXTENSION_BY_TYPE, ATTACHMENT_MAX_BYTES, CURRENT_PRIVACY_VERSION, CURRENT_TOS_VERSION, DEFAULT_PAGE_LIMIT, DEFAULT_PROMPT_ID, DEFAULT_PROMPT_SLUG, ERROR_CODES, isAllowedAttachmentType, MAX_EMAIL_LENGTH, MAX_JOURNAL_NAME_LENGTH, MAX_PAGE_LIMIT, MAX_PROMPT_BODY_LENGTH, MAX_PROMPT_NAME_LENGTH, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, SHARED_WITH_ME_SLUG, WS_API_PATHS, } from './constants.js';
2
2
  export { DEFAULT_JOURNAL_PROMPT } from './default-prompt.js';
3
3
  export { AAD_STRING, isOpaqueToken, KEY_LEN, NONCE_LEN, resolveBearer, TAG_LEN, unwrapToken, WJTK_PREFIX, wrapToken, } from './opaque-token.js';
4
4
  export { proposeWorkspaceNameFromEmail } from './propose-workspace-name.js';
5
5
  export { isReservedSlug, MAX_NAME_LENGTH, MAX_SLUG_LENGTH, RESERVED_SLUGS, slugify, } from './slug.js';
6
6
  export { CLIENT_OPTIONS, INTERFACE_OPTIONS, isClientOption, isInterfaceOption, } from './support-labels.js';
7
+ export { isThemePreference, resolveTheme, THEME_INIT_SCRIPT, THEME_PREFERENCES, THEME_STORAGE_KEY, } from './theme.js';
7
8
  export { canUseFeature, canUseFeatureForCode } from './tiers.js';
8
9
  //# 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":"AAEA,OAAO,EACN,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACN,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,WAAW,EACX,SAAS,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACN,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,GACP,MAAM,WAAW,CAAC;AAEnB,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACN,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,WAAW,EACX,SAAS,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACN,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,GACP,MAAM,WAAW,CAAC;AAEnB,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Theme (light / dark) contract shared by every browser surface.
3
+ *
4
+ * `apps/web` (React / Tailwind v4) and `apps/landing` (Astro / plain CSS) both
5
+ * activate dark mode by toggling the `.dark` class on `<html>` — the design
6
+ * system's `tokens.css` carries the full `.dark` palette. The two surfaces must
7
+ * agree on the localStorage key and the system/light/dark resolution semantics
8
+ * or a user who sets dark on the app and opens the marketing site sees the
9
+ * wrong theme. Single-sourcing those primitives here makes that drift
10
+ * impossible — same rationale as `connections.ts`.
11
+ */
12
+ /** What the user picked. `system` defers to the OS `prefers-color-scheme`. */
13
+ export type ThemePreference = 'system' | 'light' | 'dark';
14
+ /** The concrete theme actually applied to the DOM. */
15
+ export type ResolvedTheme = 'light' | 'dark';
16
+ /** localStorage key holding the persisted {@link ThemePreference}. */
17
+ export declare const THEME_STORAGE_KEY = "wj-theme";
18
+ /** The three selectable preferences, in cycle order (toggle steps through these). */
19
+ export declare const THEME_PREFERENCES: readonly ThemePreference[];
20
+ /** Narrow an untrusted value (e.g. a localStorage read) to a {@link ThemePreference}. */
21
+ export declare function isThemePreference(value: unknown): value is ThemePreference;
22
+ /**
23
+ * Collapse a preference + the current OS dark-mode signal into the concrete
24
+ * theme to apply. `prefersDark` is the value of
25
+ * `matchMedia('(prefers-color-scheme: dark)').matches`.
26
+ */
27
+ export declare function resolveTheme(preference: ThemePreference, prefersDark: boolean): ResolvedTheme;
28
+ /**
29
+ * Blocking bootstrap script, inlined in the document `<head>` of every surface
30
+ * BEFORE first paint to prevent a flash of the wrong theme (FOUC). It reads the
31
+ * persisted preference and applies `.dark` synchronously; the runtime provider
32
+ * / toggle takes over once hydrated. Kept dependency-free and self-contained so
33
+ * it can run as a plain inline `<script>`.
34
+ *
35
+ * The literal key here mirrors {@link THEME_STORAGE_KEY}; both must stay in
36
+ * sync (the constant can't be interpolated into a surface's static HTML head in
37
+ * every build target, so this string hard-codes it — tested in theme.test.ts).
38
+ *
39
+ * Untrusted storage values are normalized to a valid preference (fallback
40
+ * `system`) before resolving, so the pre-paint result matches the runtime
41
+ * provider's {@link isThemePreference}-guarded logic exactly — otherwise a junk
42
+ * value + OS-dark would paint light then flip, reintroducing the FOUC.
43
+ */
44
+ export declare const THEME_INIT_SCRIPT = "(function(){try{var p=localStorage.getItem('wj-theme');if(p!=='light'&&p!=='dark'&&p!=='system')p='system';var d=p==='dark'||(p==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);document.documentElement.classList.toggle('dark',d);}catch(e){}})();";
45
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1D,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAAgC,CAAC;AAEzF,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,GAAG,aAAa,CAG7F;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,gRAA4R,CAAC"}
package/dist/theme.js ADDED
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Theme (light / dark) contract shared by every browser surface.
3
+ *
4
+ * `apps/web` (React / Tailwind v4) and `apps/landing` (Astro / plain CSS) both
5
+ * activate dark mode by toggling the `.dark` class on `<html>` — the design
6
+ * system's `tokens.css` carries the full `.dark` palette. The two surfaces must
7
+ * agree on the localStorage key and the system/light/dark resolution semantics
8
+ * or a user who sets dark on the app and opens the marketing site sees the
9
+ * wrong theme. Single-sourcing those primitives here makes that drift
10
+ * impossible — same rationale as `connections.ts`.
11
+ */
12
+ /** localStorage key holding the persisted {@link ThemePreference}. */
13
+ export const THEME_STORAGE_KEY = 'wj-theme';
14
+ /** The three selectable preferences, in cycle order (toggle steps through these). */
15
+ export const THEME_PREFERENCES = ['system', 'light', 'dark'];
16
+ /** Narrow an untrusted value (e.g. a localStorage read) to a {@link ThemePreference}. */
17
+ export function isThemePreference(value) {
18
+ return value === 'system' || value === 'light' || value === 'dark';
19
+ }
20
+ /**
21
+ * Collapse a preference + the current OS dark-mode signal into the concrete
22
+ * theme to apply. `prefersDark` is the value of
23
+ * `matchMedia('(prefers-color-scheme: dark)').matches`.
24
+ */
25
+ export function resolveTheme(preference, prefersDark) {
26
+ if (preference === 'system')
27
+ return prefersDark ? 'dark' : 'light';
28
+ return preference;
29
+ }
30
+ /**
31
+ * Blocking bootstrap script, inlined in the document `<head>` of every surface
32
+ * BEFORE first paint to prevent a flash of the wrong theme (FOUC). It reads the
33
+ * persisted preference and applies `.dark` synchronously; the runtime provider
34
+ * / toggle takes over once hydrated. Kept dependency-free and self-contained so
35
+ * it can run as a plain inline `<script>`.
36
+ *
37
+ * The literal key here mirrors {@link THEME_STORAGE_KEY}; both must stay in
38
+ * sync (the constant can't be interpolated into a surface's static HTML head in
39
+ * every build target, so this string hard-codes it — tested in theme.test.ts).
40
+ *
41
+ * Untrusted storage values are normalized to a valid preference (fallback
42
+ * `system`) before resolving, so the pre-paint result matches the runtime
43
+ * provider's {@link isThemePreference}-guarded logic exactly — otherwise a junk
44
+ * value + OS-dark would paint light then flip, reintroducing the FOUC.
45
+ */
46
+ export const THEME_INIT_SCRIPT = `(function(){try{var p=localStorage.getItem('${THEME_STORAGE_KEY}');if(p!=='light'&&p!=='dark'&&p!=='system')p='system';var d=p==='dark'||(p==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);document.documentElement.classList.toggle('dark',d);}catch(e){}})();`;
47
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEzF,yFAAyF;AACzF,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,UAA2B,EAAE,WAAoB;IAC7E,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,+CAA+C,iBAAiB,yNAAyN,CAAC"}
package/dist/types.d.ts CHANGED
@@ -52,6 +52,8 @@ export interface Tier {
52
52
  max_journals: number;
53
53
  max_entries_per_journal: number;
54
54
  max_contributors_per_journal: number;
55
+ /** Total attachment bytes allowed per workspace (summed across journals). */
56
+ max_storage_bytes: number;
55
57
  can_export: boolean;
56
58
  can_public_share: boolean;
57
59
  can_per_share_permissions: boolean;
@@ -118,6 +120,25 @@ export interface Entry {
118
120
  * without tags or on FREE workspaces. Pattern D — issue #239.
119
121
  */
120
122
  tags: string[];
123
+ /**
124
+ * Attachment ids linked to this entry (n-n). This is the **write** contract:
125
+ * `create_entry` / `update_entry` accept it. Always a (possibly empty) array;
126
+ * the API validates each id exists and shares the entry's journal on write.
127
+ * Deleting an attachment strips its id here. Issue #561.
128
+ */
129
+ attachment_ids: string[];
130
+ /**
131
+ * Resolved attachments for this entry — `{ id, filename }` per linked file,
132
+ * in `attachment_ids` order. A **read** convenience populated by the get-one
133
+ * and `last` endpoints so callers don't have to cross-reference
134
+ * `list_attachments`. Empty array when the entry has no attachments. Issue #561.
135
+ */
136
+ attachments: EntryAttachmentRef[];
137
+ }
138
+ /** Resolved attachment reference embedded on an entry read. Issue #561. */
139
+ export interface EntryAttachmentRef {
140
+ id: string;
141
+ filename: string;
121
142
  }
122
143
  /**
123
144
  * Get-one-entry response shape (issue #633): the entry plus nullable neighbor
@@ -130,6 +151,41 @@ export interface EntryWithNeighbors extends Entry {
130
151
  prev_index: number | null;
131
152
  next_index: number | null;
132
153
  }
154
+ /** Allowed attachment MIME types (images + PDF). Issue #561. */
155
+ export type AttachmentContentType = 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp' | 'application/pdf';
156
+ /**
157
+ * Journal-scoped file attachment backed by Cloudflare R2 (issue #561). The
158
+ * bytes live in R2; this is the DB record. `url` is the canonical content
159
+ * route (`/v1/attachments/:id`) — auth-aware, also serves anon for public
160
+ * journals. Populated by the upload + list endpoints.
161
+ */
162
+ export interface Attachment {
163
+ id: string;
164
+ journal_id: string;
165
+ filename: string;
166
+ content_type: AttachmentContentType;
167
+ size_bytes: number;
168
+ created_by: string | null;
169
+ created_at: string;
170
+ /** Canonical download/content URL: `/v1/attachments/:id`. */
171
+ url: string;
172
+ }
173
+ /**
174
+ * Listing row from `GET …/attachments`: the attachment plus the indices of
175
+ * entries in the journal that reference it (back-reference of
176
+ * `entries.attachment_ids`), for the Attachments tab's "linked entries" column.
177
+ */
178
+ export interface AttachmentWithEntries extends Attachment {
179
+ entry_indices: number[];
180
+ }
181
+ /** Response from `POST …/attachments` (multipart upload). */
182
+ export interface UploadAttachmentResponse {
183
+ id: string;
184
+ filename: string;
185
+ content_type: AttachmentContentType;
186
+ size_bytes: number;
187
+ url: string;
188
+ }
133
189
  /**
134
190
  * Tag row from the workspace-level tag registry (Pattern D — M5, issue #441).
135
191
  * Plus+ tier feature; FREE workspaces hold zero tag rows.
@@ -252,6 +308,12 @@ export interface CreateEntryRequest {
252
308
  * Non-empty arrays require the `tags` feature (Plus+).
253
309
  */
254
310
  tags?: string[];
311
+ /**
312
+ * Optional attachment ids to link to the new entry. Each must already
313
+ * exist in the same journal (uploaded via the attachments endpoint) — the
314
+ * API rejects unknown or cross-journal ids with VALIDATION_ERROR.
315
+ */
316
+ attachment_ids?: string[];
255
317
  }
256
318
  export interface UpdateEntryRequest {
257
319
  title?: string | undefined;
@@ -263,6 +325,12 @@ export interface UpdateEntryRequest {
263
325
  * unchanged; pass `[]` to clear.
264
326
  */
265
327
  tags?: string[] | undefined;
328
+ /**
329
+ * Replaces the entry's attachment links entirely when present. Same
330
+ * same-journal validation as on `CreateEntryRequest`. Omit to leave
331
+ * unchanged; pass `[]` to unlink all.
332
+ */
333
+ attachment_ids?: string[] | undefined;
266
334
  }
267
335
  /**
268
336
  * RAG search request body. Sent to
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC3B;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,QAAQ,CAAC;IACpB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,4BAA4B,EAAE,MAAM,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,sFAAsF;AACtF,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACtE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC;AAEpF,4EAA4E;AAC5E,MAAM,WAAW,KAAK;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAChD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,GAAG;IAC7C,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,kDAAkD;AAClD,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workjournal/shared",
3
- "version": "2.9.0",
3
+ "version": "2.13.0",
4
4
  "description": "Shared types, constants, and credential helpers for the Workjournal CLI and MCP server.",
5
5
  "license": "MIT",
6
6
  "type": "module",