@collage-dam/mcp-server 0.1.5 → 0.1.7

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,102 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.7] — 2026-05-22
11
+
12
+ ### Fixed
13
+ - **`search_assets` / `search_collections` pagination contract was
14
+ non-functional.** Three stacked symptoms with one root cause; all
15
+ three shipped fixed in this release:
16
+
17
+ 1. **`per_page` silently overridden.** Caller requests `per_page: 250`
18
+ on a verbose projection; response returns ~20 hits because the
19
+ response-token budget caps mid-page. The caller had no way to know
20
+ the effective page size.
21
+ 2. **`next_cursor` encoded a count, not position.** The cursor the
22
+ response emitted was just the truncation count (e.g. `"29"`).
23
+ Feeding it back did not deterministically continue.
24
+ 3. **`total` vs. retrievable mismatch.** Because (2) was non-functional,
25
+ `total - per_page_effective_cap > 0` meant unreachable assets
26
+ through the documented contract — a correctness bug, not a doc
27
+ bug.
28
+
29
+ Fix shape:
30
+ - The response budget is now applied *up front*: `per_page` is
31
+ clamped to the projection's budget-derived max (compact ~60,
32
+ verbose ~20) and the upstream call uses the clamped value. No more
33
+ surprise truncation mid-page in the common case.
34
+ - `next_cursor` is now an opaque base64url-encoded JSON `{ v, p, n }`
35
+ that round-trips the page and the effective per_page. Pass it back
36
+ as `cursor` on the next call. Cursor takes precedence over `page`
37
+ and `per_page` in the input.
38
+ - New response fields: `effective_per_page` (what the upstream
39
+ actually used) and `truncation_reason` (`per_page_clamped` /
40
+ `token_cap` / `null`).
41
+ - When the budget *does* still trigger mid-page (heavy hits), the
42
+ cursor advances by delivered count — no asset is skipped.
43
+
44
+ Reported by Ross 2026-05-14 (per_page symptom); promoted to HIGH and
45
+ scope widened 2026-05-19 after `start_library_health_audit` proved
46
+ the cursor was a no-op. New live contract test
47
+ (`tests/contract/search.contract.test.ts`: cursor advances through
48
+ pages without duplicates or gaps) locks the fix against BREZ.
49
+
50
+ ### Changed
51
+ - `next_step_hints` now emits `more_results_available` when a cursor
52
+ exists but no truncation occurred, and `response_truncated` when the
53
+ budget did clamp or cap. Previously surfaced `response_truncated`
54
+ unconditionally on `truncated: true`, which conflated the clamp and
55
+ cap cases. The wording for both points the caller at `next_cursor`
56
+ rather than `page+1`.
57
+
58
+ ### Removed
59
+ - `decodePageCursor` (the legacy `"page:N"` base64 cursor) is gone.
60
+ Callers that were decoding the cursor manually should switch to
61
+ treating it as opaque and round-tripping it via the new `cursor`
62
+ input field.
63
+
64
+ ## [0.1.6] — 2026-05-21
65
+
66
+ ### Fixed
67
+ - **Critical**: `update_asset_metadata` silently dropped custom-field
68
+ writes for any field that wasn't already set on the asset. The
69
+ upstream `POST update-custom-fields` interprets the `status` field on
70
+ each row as "is this field active for this asset?" — with `status: 0`
71
+ the upstream returns HTTP 200 "successfully updated" but never
72
+ persists the value, while with `status: 1` the value lands and the
73
+ upstream auto-assigns a new `assets_custom_fields_id`. The previous
74
+ adapter forwarded whatever `status` the read returned, so:
75
+ - **Already-set update** (e.g. `O2 → O1` on a dropdown that already
76
+ had a value): worked. That's the path our 0.1.4 contract test
77
+ verified.
78
+ - **First-time set** (audit → infer missing → write back, which is
79
+ Ross's actual use case): silent drop. The 0.1.4 contract test never
80
+ exercised this path.
81
+ Fixed by flipping `status: 1` when setting a non-null/non-empty value
82
+ and `status: 0` when clearing, mirroring the Admin-Frontend
83
+ `ManageCustomFields` dialog. New live contract test at
84
+ `tests/contract/asset-write.contract.test.ts` exercises the
85
+ first-time-set path against BREZ. Reported by Ross 2026-05-21.
86
+
87
+ ### Added
88
+ - Multi-select Dropdown custom-field patches now accept arrays. When
89
+ the field has `field_settings: {"selection_mode": "multi"}` and the
90
+ patch value is an array (e.g. `["A", "B"]`), the adapter coerces it
91
+ to the comma-separated string the upstream stores in `value`
92
+ (`"A,B"`). Mirrors the Admin-Frontend dialog's
93
+ `array.map(v=>v.value).join(',')` behavior. Single-element and
94
+ empty-array cases handled.
95
+ - `mergeCustomFieldUpdates` exported from `src/tools/client-adapters.ts`
96
+ so unit tests can pin the merge contract independently of any client
97
+ mock.
98
+
99
+ ### Notes
100
+ - Some BREZ workspace dropdowns (`Year`, `Sub-Brand`, `License Model`,
101
+ `Collection Name`, `Collection Id`, `Asset Family`) have
102
+ `field_value: null` upstream — no defined options. Writing to any of
103
+ these fields will fail upstream regardless of this fix. Workspace
104
+ data issue, not a connector bug.
105
+
10
106
  ## [0.1.5] — 2026-05-21
11
107
 
12
108
  ### Added
@@ -1,7 +1,7 @@
1
1
  import type { CollageClient } from '../client.js';
2
2
  import type { AssetEnumerator, AuditAsset } from './audit/audit-tagging-hygiene.js';
3
3
  import type { RenameAssetClient } from './rename-asset.js';
4
- import type { UpdateAssetMetadataClient } from './update-asset-metadata.js';
4
+ import type { CustomFieldValue, UpdateAssetMetadataClient } from './update-asset-metadata.js';
5
5
  import type { BulkTagsClient } from './bulk-tags.js';
6
6
  import type { CreateCollectionClient } from './create-collection.js';
7
7
  import type { UpdateCollectionClient } from './update-collection.js';
@@ -10,6 +10,7 @@ import type { CreateFolderClient } from './create-folder.js';
10
10
  import type { RenameFolderClient } from './rename-folder.js';
11
11
  import type { MoveAssetClient } from './move-asset.js';
12
12
  import type { AssetSearchAdapter } from './asset-selection.js';
13
+ import type { AssetCustomField } from '../types.js';
13
14
  import type { CollageSearchClient } from '../typesense.js';
14
15
  import { type ShareLinkEnumerator } from './insights/analyze-share-links.js';
15
16
  /**
@@ -53,6 +54,7 @@ export declare function buildRenameAssetClient(client: CollageClient): RenameAss
53
54
  * The upstream matches rows by `assets_custom_fields_id` on the write.
54
55
  */
55
56
  export declare function buildUpdateAssetMetadataClient(client: CollageClient): UpdateAssetMetadataClient;
57
+ export declare function mergeCustomFieldUpdates(current: ReadonlyArray<AssetCustomField>, patch: Record<string, CustomFieldValue>): Array<Record<string, unknown>>;
56
58
  /**
57
59
  * Tag read uses `view-detail.tags` (array of `{id, tag_name}`). Write side:
58
60
  * `setTags` is a full-replace — diff against current, add new via
@@ -1 +1 @@
1
- {"version":3,"file":"client-adapters.d.ts","sourceRoot":"","sources":["../../src/tools/client-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-adapters.d.ts","sourceRoot":"","sources":["../../src/tools/client-adapters.ts"],"names":[],"mappings":"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"}
@@ -223,22 +223,64 @@ function coerceToCustomFieldValue(value) {
223
223
  // Fall back to JSON string so the diff renderer has *something* to show.
224
224
  return JSON.stringify(value);
225
225
  }
226
- function mergeCustomFieldUpdates(current, patch) {
227
- // Mirror the Admin-Frontend's ManageCustomFields dialog: send only the
228
- // rows whose `value` actually changes. Unchanged rows would be no-op
229
- // writes and risk surprising upstream side effects.
226
+ export function mergeCustomFieldUpdates(current, patch) {
227
+ // Mirror the Admin-Frontend's ManageCustomFields dialog:
228
+ // 1) Send only rows whose `value` actually changes.
229
+ // 2) Flip `status` based on the new value — `status: 1` when setting
230
+ // a value, `status: 0` when clearing. Confirmed live 2026-05-21:
231
+ // writing a non-null value with `status: 0` returns HTTP 200
232
+ // "successfully updated" but the upstream SILENTLY DROPS the
233
+ // value (verified against BREZ asset 280226 / Stock ID). With
234
+ // `status: 1` the value lands and the upstream auto-assigns
235
+ // `assets_custom_fields_id` for first-time sets.
236
+ // 3) For multi-select Dropdown fields, coerce array patch values to
237
+ // a comma-separated string — the upstream stores multi values as
238
+ // csv in `value` (matches the Admin-Frontend dialog's
239
+ // array.map(v=>v.value).join(',') behavior).
230
240
  const out = [];
231
241
  for (const f of current) {
232
242
  const key = f.field_label;
233
243
  if (key === undefined || !(key in patch))
234
244
  continue;
235
- const next = patch[key];
236
- if (next === f.value)
245
+ const raw = patch[key];
246
+ if (raw === undefined)
237
247
  continue;
238
- out.push({ ...f, value: next });
248
+ const next = coerceWriteValue(f, raw);
249
+ if (sameValue(next, f.value))
250
+ continue;
251
+ const isClear = next === null || next === '';
252
+ out.push({
253
+ ...f,
254
+ value: next,
255
+ status: isClear ? 0 : 1,
256
+ });
239
257
  }
240
258
  return out;
241
259
  }
260
+ /**
261
+ * Coerce an LLM-supplied CF value into the canonical upstream
262
+ * representation for that field. Multi-select dropdowns store values
263
+ * as comma-separated strings in `value`; other field types pass
264
+ * through as the primitive the LLM provided.
265
+ */
266
+ function coerceWriteValue(field, next) {
267
+ if (next === null || next === undefined)
268
+ return null;
269
+ const isMultiSelect = field.field_type === 'Dropdown' &&
270
+ typeof field.field_settings === 'string' &&
271
+ field.field_settings.includes('multi');
272
+ if (isMultiSelect && Array.isArray(next)) {
273
+ return next.map((v) => String(v)).join(',');
274
+ }
275
+ return next;
276
+ }
277
+ function sameValue(a, b) {
278
+ if (a === null && (b === null || b === undefined || b === ''))
279
+ return true;
280
+ if (a === '' && (b === null || b === undefined || b === ''))
281
+ return true;
282
+ return a === b;
283
+ }
242
284
  // ── bulk_*_tags client ───────────────────────────────────────────────
243
285
  /**
244
286
  * Tag read uses `view-detail.tags` (array of `{id, tag_name}`). Write side:
@@ -1 +1 @@
1
- {"version":3,"file":"client-adapters.js","sourceRoot":"","sources":["../../src/tools/client-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-adapters.js","sourceRoot":"","sources":["../../src/tools/client-adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /** Current cursor version. Bump on incompatible shape changes. */
2
+ export declare const CURSOR_VERSION = 1;
3
+ export interface CursorPayload {
4
+ page: number;
5
+ per_page: number;
6
+ }
7
+ /**
8
+ * Encode a `(page, per_page)` continuation handle as an opaque
9
+ * base64url string. The opacity is deliberate — callers MUST round-trip
10
+ * the cursor verbatim; the encoding may change without notice.
11
+ */
12
+ export declare function encodeSearchCursor(payload: CursorPayload): string;
13
+ /**
14
+ * Decode a previously-emitted cursor. Returns `null` if the cursor is
15
+ * malformed, version-mismatched, or otherwise unparseable. Callers
16
+ * should treat a null result as "fall back to page/per_page in the
17
+ * input" rather than as an error.
18
+ */
19
+ export declare function decodeSearchCursor(cursor: string): CursorPayload | null;
20
+ export declare const PER_HIT_TOKEN_ESTIMATE: {
21
+ readonly compact: 200;
22
+ readonly verbose: 600;
23
+ };
24
+ export type Projection = keyof typeof PER_HIT_TOKEN_ESTIMATE;
25
+ /**
26
+ * Maximum `per_page` the response budget will tolerate for a given
27
+ * projection. Below this, the budget safety-net won't trigger; at or
28
+ * above, it might (and the cursor will reflect the budget-clamped
29
+ * size on continuation).
30
+ */
31
+ export declare function budgetMaxPerPage(projection: Projection): number;
32
+ /**
33
+ * Compute the page size that will actually be requested upstream and
34
+ * returned to the caller. Caps the caller's requested `per_page` at
35
+ * the projection-specific budget max.
36
+ */
37
+ export declare function effectivePerPage(requested: number, projection: Projection): number;
38
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/tools/search/cursor.ts"],"names":[],"mappings":"AAuBA,kEAAkE;AAClE,eAAO,MAAM,cAAc,IAAI,CAAC;AAQhC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASvE;AAkBD,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,MAAM,CAER"}
@@ -0,0 +1,95 @@
1
+ // ── Search pagination cursor ─────────────────────────────────────────
2
+ // Encodes the position + page size needed to continue a search through
3
+ // `search_assets` or `search_collections`. Replaces the prior "page:N"
4
+ // string cursor (which encoded position but not page size) and the
5
+ // `String(offset)` shape `applyResponseBudget` was emitting on
6
+ // token-cap truncation (which encoded neither stably).
7
+ //
8
+ // Shape: base64url-encoded JSON `{ v, p, n }`:
9
+ // v — cursor schema version (currently 1; bump on shape changes)
10
+ // p — upstream page number to fetch next
11
+ // n — `per_page` to use on that fetch (the *effective* page size,
12
+ // which is what the budget actually allows for the projection,
13
+ // not the requested page size)
14
+ //
15
+ // Why both `p` and `n`: requesting `per_page: 250` on a verbose
16
+ // projection silently truncates to ~20–29 hits because of the response
17
+ // token budget — and the prior cursor didn't carry forward `n`, so a
18
+ // caller resuming from the cursor would request `per_page: 250` again
19
+ // and re-hit the same cap. By round-tripping the effective `n`, a
20
+ // well-behaved caller stays inside the budget on every page.
21
+ import { z } from 'zod';
22
+ /** Current cursor version. Bump on incompatible shape changes. */
23
+ export const CURSOR_VERSION = 1;
24
+ const CursorPayloadSchema = z.object({
25
+ v: z.literal(1),
26
+ p: z.number().int().min(1),
27
+ n: z.number().int().min(1),
28
+ });
29
+ /**
30
+ * Encode a `(page, per_page)` continuation handle as an opaque
31
+ * base64url string. The opacity is deliberate — callers MUST round-trip
32
+ * the cursor verbatim; the encoding may change without notice.
33
+ */
34
+ export function encodeSearchCursor(payload) {
35
+ const json = JSON.stringify({
36
+ v: CURSOR_VERSION,
37
+ p: payload.page,
38
+ n: payload.per_page,
39
+ });
40
+ return Buffer.from(json, 'utf-8').toString('base64url');
41
+ }
42
+ /**
43
+ * Decode a previously-emitted cursor. Returns `null` if the cursor is
44
+ * malformed, version-mismatched, or otherwise unparseable. Callers
45
+ * should treat a null result as "fall back to page/per_page in the
46
+ * input" rather than as an error.
47
+ */
48
+ export function decodeSearchCursor(cursor) {
49
+ try {
50
+ const decoded = Buffer.from(cursor, 'base64url').toString('utf-8');
51
+ const parsed = CursorPayloadSchema.safeParse(JSON.parse(decoded));
52
+ if (!parsed.success)
53
+ return null;
54
+ return { page: parsed.data.p, per_page: parsed.data.n };
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ // ── Effective per_page (projection-aware budget pre-cap) ─────────────
61
+ //
62
+ // Per-projection token estimates (chars/4 → token estimate, matching
63
+ // `estimateTokens()` in response-budget.ts). These are *generous* — we'd
64
+ // rather under-request from upstream and trust the safety-net budget
65
+ // check than over-request and hit the cap repeatedly.
66
+ //
67
+ // Compact hit: id, display_file_name, thumbnail_file (presigned S3 URLs
68
+ // run ~500 chars), modified_at, plus JSON structural overhead. ~800
69
+ // chars / ~200 tokens per hit budgeted; real hits vary.
70
+ //
71
+ // Verbose hit: full indexed-field set including tags arrays, breadcrumb
72
+ // arrays, multiple URLs. ~2400 chars / ~600 tokens per hit budgeted.
73
+ import { HARD_CAP_TOKENS } from '../../conventions/response-budget.js';
74
+ export const PER_HIT_TOKEN_ESTIMATE = {
75
+ compact: 200,
76
+ verbose: 600,
77
+ };
78
+ /**
79
+ * Maximum `per_page` the response budget will tolerate for a given
80
+ * projection. Below this, the budget safety-net won't trigger; at or
81
+ * above, it might (and the cursor will reflect the budget-clamped
82
+ * size on continuation).
83
+ */
84
+ export function budgetMaxPerPage(projection) {
85
+ return Math.max(1, Math.floor(HARD_CAP_TOKENS / PER_HIT_TOKEN_ESTIMATE[projection]));
86
+ }
87
+ /**
88
+ * Compute the page size that will actually be requested upstream and
89
+ * returned to the caller. Caps the caller's requested `per_page` at
90
+ * the projection-specific budget max.
91
+ */
92
+ export function effectivePerPage(requested, projection) {
93
+ return Math.min(requested, budgetMaxPerPage(projection));
94
+ }
95
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/tools/search/cursor.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,+DAA+D;AAC/D,uDAAuD;AACvD,EAAE;AACF,+CAA+C;AAC/C,oEAAoE;AACpE,4CAA4C;AAC5C,qEAAqE;AACrE,sEAAsE;AACtE,sCAAsC;AACtC,EAAE;AACF,gEAAgE;AAChE,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,kEAAkE;AAClE,6DAA6D;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAOH;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC,EAAE,cAAc;QACjB,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,CAAC,EAAE,OAAO,CAAC,QAAQ;KACpB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,qEAAqE;AACrE,sDAAsD;AACtD,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,wDAAwD;AACxD,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;CACJ,CAAC;AAIX;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAsB;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,UAAsB;IAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -13,6 +13,12 @@ interface HintGeneratorContext {
13
13
  hasTags: boolean;
14
14
  /** Number of hits where `tags` is empty/missing. */
15
15
  untaggedCount: number;
16
+ /**
17
+ * True when the response includes a non-null `next_cursor` (i.e.
18
+ * more results exist beyond this page). Used to emit a continuation
19
+ * hint with concrete `suggested_args` the LLM can pass back verbatim.
20
+ */
21
+ hasNextCursor: boolean;
16
22
  }
17
23
  /**
18
24
  * Generate structured next-step hints for a `search_assets` response.
@@ -1 +1 @@
1
- {"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../../src/tools/search/facets.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,EACvC,IAAI,EAAE,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,EACtD,IAAI,SAAK,GACR,YAAY,CAkCd;AAqCD,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,oBAAoB,GACxB,kBAAkB,EAAE,CA8BtB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GACZ,kBAAkB,EAAE,CAWtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,MAAM,CAWR"}
1
+ {"version":3,"file":"facets.d.ts","sourceRoot":"","sources":["../../../src/tools/search/facets.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EACV,eAAe,EAEf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,EACvC,IAAI,EAAE,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,EACtD,IAAI,SAAK,GACR,YAAY,CAkCd;AAqCD,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,oBAAoB,GACxB,kBAAkB,EAAE,CA+BtB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GACZ,kBAAkB,EAAE,CAWtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,MAAM,CAWR"}
@@ -97,11 +97,13 @@ export function buildAssetSearchNextSteps(ctx) {
97
97
  reason: `${ctx.untaggedCount} hit(s) have no tags — consider running the tagging-hygiene audit.`,
98
98
  });
99
99
  }
100
- if (ctx.truncated) {
100
+ if (ctx.hasNextCursor) {
101
101
  hints.push({
102
102
  tool: 'search_assets',
103
- reason_code: 'response_truncated',
104
- reason: 'Result page was hard-capped to stay under the response budget. Use the returned next_cursor to continue.',
103
+ reason_code: ctx.truncated ? 'response_truncated' : 'more_results_available',
104
+ reason: ctx.truncated
105
+ ? 'Result page was clamped or capped to fit the response budget. Use the returned next_cursor to continue.'
106
+ : 'More results exist beyond this page. Pass next_cursor back as `cursor` to fetch the next page.',
105
107
  });
106
108
  }
107
109
  if (ctx.found > 1000) {
@@ -1 +1 @@
1
- {"version":3,"file":"facets.js","sourceRoot":"","sources":["../../../src/tools/search/facets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facets.js","sourceRoot":"","sources":["../../../src/tools/search/facets.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,6 @@ export declare function runSearchAssets(client: CollageSearchClient, workspaceId
37
37
  };
38
38
  isError?: boolean;
39
39
  }>;
40
- export declare function decodePageCursor(cursor: string): number | null;
41
40
  /**
42
41
  * Parse a comma-separated `query_by` value and return any tokens that
43
42
  * are not in the allowed field set. Empty result = all valid.
@@ -1 +1 @@
1
- {"version":3,"file":"search-assets.d.ts","sourceRoot":"","sources":["../../../src/tools/search/search-assets.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAa9D,OAAO,EASL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,yBAAyB,QAUkC,CAAC;AAEzE,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,IAEL,UAAU,OAAO;aAiBtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;uBAC3B,kBAAkB,GAAG;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;cAClH,OAAO;GAVlB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,kBAAkB,GAAG;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7H,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA8GD;AAmBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU9D;AAqBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,MAAM,EAAE,CAOV"}
1
+ {"version":3,"file":"search-assets.d.ts","sourceRoot":"","sources":["../../../src/tools/search/search-assets.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAa9D,OAAO,EASL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,YAAY,CAAC;AAOpB,eAAO,MAAM,yBAAyB,QAiBxB,CAAC;AAEf,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,IAEL,UAAU,OAAO;aAiBtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;uBAC3B,kBAAkB,GAAG;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;cAClH,OAAO;GAVlB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,kBAAkB,GAAG;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7H,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA4JD;AAkCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,MAAM,EAAE,CAOV"}
@@ -16,6 +16,7 @@ import { searchWorkspaceScoped } from '../../typesense.js';
16
16
  import { buildAssetFilterClauses, joinFilterClauses, } from './filter-builder.js';
17
17
  import { buildAssetSearchNextSteps, buildSearchFacets, countUntagged, } from './facets.js';
18
18
  import { CompactAssetHitSchema, DEFAULT_FACET_BY_ASSETS, DEFAULT_MAX_FACET_VALUES, DEFAULT_QUERY_BY_ASSETS, SearchAssetsInputSchema, VALID_QUERY_BY_ASSETS, VerboseAssetHitSchema, } from './types.js';
19
+ import { decodeSearchCursor, effectivePerPage, encodeSearchCursor, } from './cursor.js';
19
20
  export const SEARCH_ASSETS_DESCRIPTION = 'Full-text + faceted search over the workspace digital-asset library. ' +
20
21
  'Backed by Typesense Cloud; returns hits, facets (tags, file_type, ' +
21
22
  'date histogram), pagination cursor, and structured next_step_hints. ' +
@@ -25,7 +26,14 @@ export const SEARCH_ASSETS_DESCRIPTION = 'Full-text + faceted search over the wo
25
26
  'created_after/before, modified_after/before. ' +
26
27
  'Optional `query_by` (comma-separated, no spaces) overrides the searched ' +
27
28
  `field set; valid values are ${VALID_QUERY_BY_ASSETS.join(', ')} — ` +
28
- 'unknown field names are rejected with a VALIDATION error. Read-only.';
29
+ 'unknown field names are rejected with a VALIDATION error. ' +
30
+ 'Pagination: pass `next_cursor` from the previous response back as ' +
31
+ '`cursor` to fetch the next page. The cursor encodes both page and ' +
32
+ 'effective per_page (auto-clamped to fit the response-token budget for ' +
33
+ 'the projection — compact ~60/page, verbose ~20/page). `effective_per_page` ' +
34
+ 'in the response reflects what was actually used; `truncated` + ' +
35
+ '`truncation_reason` indicate when clamping or budget capping occurred. ' +
36
+ 'Read-only.';
29
37
  export const SEARCH_ASSETS_COLLECTION = 'digital_assets';
30
38
  /**
31
39
  * Build the handler for `search_assets`. Accepts a `CollageSearchClient`
@@ -58,13 +66,25 @@ export async function runSearchAssets(client, workspaceId, input, requestId) {
58
66
  const includeFields = input.projection === 'compact'
59
67
  ? 'id,display_file_name,thumbnail_file,modified_at'
60
68
  : undefined;
69
+ // Resolve pagination from cursor when present; otherwise from
70
+ // input.page / input.per_page. Cursor takes precedence so that
71
+ // continuing from a previous response is the path of least friction —
72
+ // callers don't have to remember which per_page they originally used.
73
+ const cursorDecoded = input.cursor !== undefined ? decodeSearchCursor(input.cursor) : null;
74
+ const requestedPage = cursorDecoded?.page ?? input.page;
75
+ const requestedPerPage = cursorDecoded?.per_page ?? input.per_page;
76
+ // Clamp per_page to what the projection's response-token budget can
77
+ // realistically carry. The HARD_CAP safety net in applyResponseBudget
78
+ // still runs below as belt-and-suspenders for unusually heavy hits.
79
+ const effPerPage = effectivePerPage(requestedPerPage, input.projection);
80
+ const perPageClamped = effPerPage < requestedPerPage;
61
81
  const result = await searchWorkspaceScoped(client, SEARCH_ASSETS_COLLECTION, workspaceId, {
62
82
  q: input.q,
63
83
  query_by: queryBy,
64
84
  ...(filterBy.length > 0 ? { filter_by: filterBy } : {}),
65
85
  sort_by: input.sort_by,
66
- page: input.page,
67
- per_page: input.per_page,
86
+ page: requestedPage,
87
+ per_page: effPerPage,
68
88
  facet_by: DEFAULT_FACET_BY_ASSETS,
69
89
  max_facet_values: DEFAULT_MAX_FACET_VALUES,
70
90
  // `'fallback'` runs Typesense's full search pipeline (exact → typo →
@@ -89,24 +109,51 @@ export async function runSearchAssets(client, workspaceId, input, requestId) {
89
109
  // skipping them so a single bad index entry doesn't fail the whole
90
110
  // response.
91
111
  const hits = projectHits(result.hits, input.projection);
92
- // Apply response-budget truncation. The next_cursor from the budget
93
- // is offset-based; our pagination model uses page+per_page from
94
- // Typesense, so we wrap the budget cursor to preserve the page
95
- // identity by returning the next page number (input.page + 1) when
96
- // truncation does NOT trigger and there are more results, and a
97
- // sentinel `truncated:true` when it does.
112
+ // Safety-net budget check. With per_page already clamped above, the
113
+ // typical case is no truncation here but unusually heavy hits
114
+ // (multiple long presigned URLs in one row, very long descriptions)
115
+ // can still cross the line. When that happens, the cursor advances
116
+ // by the *delivered* count rather than a fixed page, so no asset is
117
+ // skipped.
98
118
  const budget = applyResponseBudget(hits, {
99
119
  serialize: (item) => JSON.stringify(item),
100
- offset: (input.page - 1) * input.per_page,
101
- pageSize: input.per_page,
120
+ offset: (requestedPage - 1) * effPerPage,
121
+ pageSize: effPerPage,
102
122
  });
103
- const totalPages = Math.max(1, Math.ceil(result.found / input.per_page));
104
- const hasMorePages = input.page < totalPages;
105
- const next_cursor = budget.truncated
106
- ? budget.next_cursor ?? null
107
- : hasMorePages
108
- ? encodePageCursor(input.page + 1)
123
+ const tokenCapped = budget.truncated;
124
+ const truncated = perPageClamped || tokenCapped;
125
+ const truncation_reason = tokenCapped
126
+ ? 'token_cap'
127
+ : perPageClamped
128
+ ? 'per_page_clamped'
109
129
  : null;
130
+ // Total assets we'll have surfaced after this response.
131
+ const seenSoFar = (requestedPage - 1) * effPerPage + budget.data.length;
132
+ const moreAvailable = seenSoFar < result.found;
133
+ // Encode the continuation. When the budget caps mid-page we cannot
134
+ // safely advance the page number because we've delivered only a
135
+ // prefix of the upstream page — so we re-fetch the same page with a
136
+ // smaller per_page so the next call covers the gap.
137
+ let next_cursor = null;
138
+ if (moreAvailable) {
139
+ if (tokenCapped) {
140
+ // Shrink per_page to what just fit, advance to the next page.
141
+ const shrunkPerPage = Math.max(1, budget.data.length);
142
+ const itemsBeforeThisPage = (requestedPage - 1) * effPerPage;
143
+ const nextPage = Math.floor((itemsBeforeThisPage + budget.data.length) / shrunkPerPage) +
144
+ 1;
145
+ next_cursor = encodeSearchCursor({
146
+ page: nextPage,
147
+ per_page: shrunkPerPage,
148
+ });
149
+ }
150
+ else {
151
+ next_cursor = encodeSearchCursor({
152
+ page: requestedPage + 1,
153
+ per_page: effPerPage,
154
+ });
155
+ }
156
+ }
110
157
  const facets = buildSearchFacets(result.facet_counts, budget.data);
111
158
  // Count untagged from raw upstream rows (clipped to what survived the
112
159
  // budget) — the projected payload strips `tags` when projection=compact,
@@ -114,17 +161,20 @@ export async function runSearchAssets(client, workspaceId, input, requestId) {
114
161
  const untagged = countUntagged(result.hits.slice(0, budget.data.length));
115
162
  const next_step_hints = buildAssetSearchNextSteps({
116
163
  found: result.found,
117
- truncated: budget.truncated,
164
+ truncated,
118
165
  hasTags: facets.tags.length > 0,
119
166
  untaggedCount: untagged,
167
+ hasNextCursor: next_cursor !== null,
120
168
  });
121
169
  const output = {
122
170
  hits: budget.data,
123
171
  total: result.found,
124
- page: result.page,
125
- per_page: result.per_page,
172
+ page: requestedPage,
173
+ per_page: requestedPerPage,
174
+ effective_per_page: effPerPage,
126
175
  next_cursor,
127
- truncated: budget.truncated,
176
+ truncated,
177
+ truncation_reason,
128
178
  facets,
129
179
  next_step_hints,
130
180
  request_id: requestId,
@@ -144,23 +194,6 @@ function projectHits(rawHits, projection) {
144
194
  }
145
195
  return out;
146
196
  }
147
- function encodePageCursor(page) {
148
- return Buffer.from(`page:${page}`, 'utf-8').toString('base64');
149
- }
150
- export function decodePageCursor(cursor) {
151
- try {
152
- const decoded = Buffer.from(cursor, 'base64').toString('utf-8');
153
- if (!decoded.startsWith('page:'))
154
- return null;
155
- const n = Number(decoded.slice('page:'.length));
156
- if (!Number.isFinite(n) || n < 1 || !Number.isInteger(n))
157
- return null;
158
- return n;
159
- }
160
- catch {
161
- return null;
162
- }
163
- }
164
197
  function errorResult(requestId, code, message) {
165
198
  const retriable = code === 'UPSTREAM' || code === 'RATE_LIMITED' || code === 'INTERNAL';
166
199
  const error = { code, message, retriable };
@@ -1 +1 @@
1
- {"version":3,"file":"search-assets.js","sourceRoot":"","sources":["../../../src/tools/search/search-assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-assets.js","sourceRoot":"","sources":["../../../src/tools/search/search-assets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-collections.d.ts","sourceRoot":"","sources":["../../../src/tools/search/search-collections.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQ9D,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,8BAA8B,QAO6B,CAAC;AAEzE,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,IAEL,UAAU,OAAO;aAiBtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;uBAC3B,uBAAuB,GAAG;QAC3C,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC7D,UAAU,EAAE,MAAM,CAAC;KACpB;cACS,OAAO;GAblB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,uBAAuB,GAAG;QAC3C,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC7D,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA4ED"}
1
+ {"version":3,"file":"search-collections.d.ts","sourceRoot":"","sources":["../../../src/tools/search/search-collections.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQ9D,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAQpB,eAAO,MAAM,8BAA8B,QAWN,CAAC;AAEtC,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,IAEL,UAAU,OAAO;aAiBtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;uBAC3B,uBAAuB,GAAG;QAC3C,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC7D,UAAU,EAAE,MAAM,CAAC;KACpB;cACS,OAAO;GAblB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,uBAAuB,GAAG;QAC3C,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAC;QAC7D,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CA6GD"}
@@ -11,13 +11,18 @@ import { searchWorkspaceScoped } from '../../typesense.js';
11
11
  import { buildCollectionSearchNextSteps, buildSearchFacets, } from './facets.js';
12
12
  import { CollectionHitSchema, DEFAULT_FACET_BY_COLLECTIONS, DEFAULT_MAX_FACET_VALUES, DEFAULT_QUERY_BY_COLLECTIONS, SearchCollectionsInputSchema, VALID_QUERY_BY_COLLECTIONS, } from './types.js';
13
13
  import { invalidQueryByFields } from './search-assets.js';
14
+ import { decodeSearchCursor, effectivePerPage, encodeSearchCursor, } from './cursor.js';
14
15
  export const SEARCH_COLLECTIONS_DESCRIPTION = 'Full-text search over the workspace dam_collections (Collages) Typesense ' +
15
16
  'index. Returns collection hits, a date histogram facet, pagination ' +
16
17
  'cursor, and next_step_hints. Useful for discovering existing collections ' +
17
18
  'before creating a new one or for narrowing a downstream tag/asset workflow ' +
18
19
  'to a specific collection. ' +
19
20
  `Optional \`query_by\` (comma-separated, no spaces) — valid values are ${VALID_QUERY_BY_COLLECTIONS.join(', ')}; ` +
20
- 'unknown field names are rejected with a VALIDATION error. Read-only.';
21
+ 'unknown field names are rejected with a VALIDATION error. ' +
22
+ 'Pagination: pass `next_cursor` from the previous response back as ' +
23
+ '`cursor` to continue. `effective_per_page` reflects the page size ' +
24
+ 'actually used; the upstream `per_page` is auto-clamped to fit the ' +
25
+ 'response-token budget. Read-only.';
21
26
  export const SEARCH_COLLECTIONS_INDEX = 'dam_collections';
22
27
  export function buildSearchCollectionsHandler(client, workspaceId) {
23
28
  return async (rawInput) => {
@@ -38,12 +43,18 @@ export async function runSearchCollections(client, workspaceId, input, requestId
38
43
  }
39
44
  }
40
45
  const queryBy = input.query_by ?? DEFAULT_QUERY_BY_COLLECTIONS;
46
+ // Cursor takes precedence over page/per_page when present.
47
+ const cursorDecoded = input.cursor !== undefined ? decodeSearchCursor(input.cursor) : null;
48
+ const requestedPage = cursorDecoded?.page ?? input.page;
49
+ const requestedPerPage = cursorDecoded?.per_page ?? input.per_page;
50
+ const effPerPage = effectivePerPage(requestedPerPage, input.projection);
51
+ const perPageClamped = effPerPage < requestedPerPage;
41
52
  const result = await searchWorkspaceScoped(client, SEARCH_COLLECTIONS_INDEX, workspaceId, {
42
53
  q: input.q,
43
54
  query_by: queryBy,
44
55
  sort_by: input.sort_by,
45
- page: input.page,
46
- per_page: input.per_page,
56
+ page: requestedPage,
57
+ per_page: effPerPage,
47
58
  facet_by: DEFAULT_FACET_BY_COLLECTIONS,
48
59
  max_facet_values: DEFAULT_MAX_FACET_VALUES,
49
60
  // See `search-assets.ts` for the rationale on `'fallback'`. Same
@@ -59,25 +70,48 @@ export async function runSearchCollections(client, workspaceId, input, requestId
59
70
  const hits = projectCollectionHits(result.hits);
60
71
  const budget = applyResponseBudget(hits, {
61
72
  serialize: (item) => JSON.stringify(item),
62
- offset: (input.page - 1) * input.per_page,
63
- pageSize: input.per_page,
73
+ offset: (requestedPage - 1) * effPerPage,
74
+ pageSize: effPerPage,
64
75
  });
65
- const totalPages = Math.max(1, Math.ceil(result.found / input.per_page));
66
- const hasMorePages = input.page < totalPages;
67
- const next_cursor = budget.truncated
68
- ? budget.next_cursor ?? null
69
- : hasMorePages
70
- ? encodePageCursor(input.page + 1)
76
+ const tokenCapped = budget.truncated;
77
+ const truncated = perPageClamped || tokenCapped;
78
+ const truncation_reason = tokenCapped
79
+ ? 'token_cap'
80
+ : perPageClamped
81
+ ? 'per_page_clamped'
71
82
  : null;
83
+ const seenSoFar = (requestedPage - 1) * effPerPage + budget.data.length;
84
+ const moreAvailable = seenSoFar < result.found;
85
+ let next_cursor = null;
86
+ if (moreAvailable) {
87
+ if (tokenCapped) {
88
+ const shrunkPerPage = Math.max(1, budget.data.length);
89
+ const itemsBeforeThisPage = (requestedPage - 1) * effPerPage;
90
+ const nextPage = Math.floor((itemsBeforeThisPage + budget.data.length) / shrunkPerPage) +
91
+ 1;
92
+ next_cursor = encodeSearchCursor({
93
+ page: nextPage,
94
+ per_page: shrunkPerPage,
95
+ });
96
+ }
97
+ else {
98
+ next_cursor = encodeSearchCursor({
99
+ page: requestedPage + 1,
100
+ per_page: effPerPage,
101
+ });
102
+ }
103
+ }
72
104
  const facets = buildSearchFacets(result.facet_counts, []);
73
105
  const next_step_hints = buildCollectionSearchNextSteps(result.found);
74
106
  const output = {
75
107
  hits: budget.data,
76
108
  total: result.found,
77
- page: result.page,
78
- per_page: result.per_page,
109
+ page: requestedPage,
110
+ per_page: requestedPerPage,
111
+ effective_per_page: effPerPage,
79
112
  next_cursor,
80
- truncated: budget.truncated,
113
+ truncated,
114
+ truncation_reason,
81
115
  facets,
82
116
  next_step_hints,
83
117
  request_id: requestId,
@@ -96,9 +130,6 @@ function projectCollectionHits(rawHits) {
96
130
  }
97
131
  return out;
98
132
  }
99
- function encodePageCursor(page) {
100
- return Buffer.from(`page:${page}`, 'utf-8').toString('base64');
101
- }
102
133
  function errorResult(requestId, code, message) {
103
134
  const retriable = code === 'UPSTREAM' || code === 'RATE_LIMITED' || code === 'INTERNAL';
104
135
  const error = { code, message, retriable };
@@ -1 +1 @@
1
- {"version":3,"file":"search-collections.js","sourceRoot":"","sources":["../../../src/tools/search/search-collections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-collections.js","sourceRoot":"","sources":["../../../src/tools/search/search-collections.ts"],"names":[],"mappings":"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"}
@@ -105,12 +105,19 @@ export declare const SearchAssetsInputSchema: z.ZodObject<{
105
105
  infix: z.ZodOptional<z.ZodEnum<["off", "always", "fallback"]>>;
106
106
  /** Optional Typesense `query_by` override. */
107
107
  query_by: z.ZodOptional<z.ZodString>;
108
+ /**
109
+ * Continuation cursor from a previous response's `next_cursor`. When
110
+ * provided, overrides `page` and `per_page` from this input. Opaque —
111
+ * round-trip the value verbatim from the previous response.
112
+ */
113
+ cursor: z.ZodOptional<z.ZodString>;
108
114
  }, "strip", z.ZodTypeAny, {
109
115
  per_page: number;
110
116
  page: number;
111
117
  sort_by: string;
112
118
  q: string;
113
119
  projection: "compact" | "verbose";
120
+ cursor?: string | undefined;
114
121
  filters?: {
115
122
  file_type?: string[] | undefined;
116
123
  category_id?: string | number | undefined;
@@ -128,6 +135,7 @@ export declare const SearchAssetsInputSchema: z.ZodObject<{
128
135
  per_page?: number | undefined;
129
136
  page?: number | undefined;
130
137
  sort_by?: string | undefined;
138
+ cursor?: string | undefined;
131
139
  q?: string | undefined;
132
140
  filters?: {
133
141
  file_type?: string[] | undefined;
@@ -153,18 +161,26 @@ export declare const SearchCollectionsInputSchema: z.ZodObject<{
153
161
  sort_by: z.ZodDefault<z.ZodString>;
154
162
  projection: z.ZodDefault<z.ZodEnum<["compact", "verbose"]>>;
155
163
  query_by: z.ZodOptional<z.ZodString>;
164
+ /**
165
+ * Continuation cursor from a previous response's `next_cursor`. When
166
+ * provided, overrides `page` and `per_page` from this input. Opaque —
167
+ * round-trip the value verbatim from the previous response.
168
+ */
169
+ cursor: z.ZodOptional<z.ZodString>;
156
170
  }, "strip", z.ZodTypeAny, {
157
171
  per_page: number;
158
172
  page: number;
159
173
  sort_by: string;
160
174
  q: string;
161
175
  projection: "compact" | "verbose";
176
+ cursor?: string | undefined;
162
177
  filters?: {} | undefined;
163
178
  query_by?: string | undefined;
164
179
  }, {
165
180
  per_page?: number | undefined;
166
181
  page?: number | undefined;
167
182
  sort_by?: string | undefined;
183
+ cursor?: string | undefined;
168
184
  q?: string | undefined;
169
185
  filters?: {} | undefined;
170
186
  projection?: "compact" | "verbose" | undefined;
@@ -416,12 +432,33 @@ export declare const SearchNextStepHintSchema: z.ZodObject<{
416
432
  suggested_args?: Record<string, unknown> | undefined;
417
433
  }>;
418
434
  export type SearchNextStepHint = z.infer<typeof SearchNextStepHintSchema>;
435
+ /**
436
+ * Why a response was truncated relative to what the caller asked for.
437
+ * Always paired with `next_cursor` (or `null` when the result set is
438
+ * fully exhausted). Distinguishes the cases the prior contract
439
+ * conflated under a single `truncated: true`.
440
+ */
441
+ export declare const TruncationReasonSchema: z.ZodEnum<["per_page_clamped", "token_cap"]>;
442
+ export type TruncationReason = z.infer<typeof TruncationReasonSchema>;
419
443
  export declare const SearchAssetsOutputSchema: z.ZodObject<{
420
444
  total: z.ZodNumber;
421
445
  page: z.ZodNumber;
422
446
  per_page: z.ZodNumber;
447
+ /**
448
+ * The page size actually used for the upstream call. Less than or
449
+ * equal to the caller's requested `per_page`. Differs from `per_page`
450
+ * when the request was clamped to the projection's token budget.
451
+ */
452
+ effective_per_page: z.ZodNumber;
453
+ /**
454
+ * Opaque continuation handle. Pass back as `cursor` on the next call
455
+ * to fetch the next page. `null` when the result set is fully
456
+ * exhausted (no more pages).
457
+ */
423
458
  next_cursor: z.ZodNullable<z.ZodString>;
424
459
  truncated: z.ZodDefault<z.ZodBoolean>;
460
+ /** Set when `truncated` is true. Distinguishes clamp vs cap. */
461
+ truncation_reason: z.ZodDefault<z.ZodNullable<z.ZodEnum<["per_page_clamped", "token_cap"]>>>;
425
462
  facets: z.ZodObject<{
426
463
  tags: z.ZodDefault<z.ZodArray<z.ZodObject<{
427
464
  value: z.ZodString;
@@ -629,6 +666,8 @@ export declare const SearchAssetsOutputSchema: z.ZodObject<{
629
666
  page: number;
630
667
  truncated: boolean;
631
668
  next_cursor: string | null;
669
+ effective_per_page: number;
670
+ truncation_reason: "per_page_clamped" | "token_cap" | null;
632
671
  facets: {
633
672
  file_type: {
634
673
  value: string;
@@ -694,6 +733,7 @@ export declare const SearchAssetsOutputSchema: z.ZodObject<{
694
733
  per_page: number;
695
734
  page: number;
696
735
  next_cursor: string | null;
736
+ effective_per_page: number;
697
737
  facets: {
698
738
  file_type?: {
699
739
  value: string;
@@ -748,6 +788,7 @@ export declare const SearchAssetsOutputSchema: z.ZodObject<{
748
788
  breadcrumb: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
749
789
  }, z.ZodTypeAny, "passthrough">)[];
750
790
  truncated?: boolean | undefined;
791
+ truncation_reason?: "per_page_clamped" | "token_cap" | null | undefined;
751
792
  next_step_hints?: {
752
793
  tool: string;
753
794
  reason_code: string;
@@ -760,8 +801,21 @@ export declare const SearchCollectionsOutputSchema: z.ZodObject<{
760
801
  total: z.ZodNumber;
761
802
  page: z.ZodNumber;
762
803
  per_page: z.ZodNumber;
804
+ /**
805
+ * The page size actually used for the upstream call. Less than or
806
+ * equal to the caller's requested `per_page`. Differs from `per_page`
807
+ * when the request was clamped to the projection's token budget.
808
+ */
809
+ effective_per_page: z.ZodNumber;
810
+ /**
811
+ * Opaque continuation handle. Pass back as `cursor` on the next call
812
+ * to fetch the next page. `null` when the result set is fully
813
+ * exhausted (no more pages).
814
+ */
763
815
  next_cursor: z.ZodNullable<z.ZodString>;
764
816
  truncated: z.ZodDefault<z.ZodBoolean>;
817
+ /** Set when `truncated` is true. Distinguishes clamp vs cap. */
818
+ truncation_reason: z.ZodDefault<z.ZodNullable<z.ZodEnum<["per_page_clamped", "token_cap"]>>>;
765
819
  facets: z.ZodObject<{
766
820
  tags: z.ZodDefault<z.ZodArray<z.ZodObject<{
767
821
  value: z.ZodString;
@@ -888,6 +942,8 @@ export declare const SearchCollectionsOutputSchema: z.ZodObject<{
888
942
  page: number;
889
943
  truncated: boolean;
890
944
  next_cursor: string | null;
945
+ effective_per_page: number;
946
+ truncation_reason: "per_page_clamped" | "token_cap" | null;
891
947
  facets: {
892
948
  file_type: {
893
949
  value: string;
@@ -926,6 +982,7 @@ export declare const SearchCollectionsOutputSchema: z.ZodObject<{
926
982
  per_page: number;
927
983
  page: number;
928
984
  next_cursor: string | null;
985
+ effective_per_page: number;
929
986
  facets: {
930
987
  file_type?: {
931
988
  value: string;
@@ -953,6 +1010,7 @@ export declare const SearchCollectionsOutputSchema: z.ZodObject<{
953
1010
  created_at: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
954
1011
  }, z.ZodTypeAny, "passthrough">[];
955
1012
  truncated?: boolean | undefined;
1013
+ truncation_reason?: "per_page_clamped" | "token_cap" | null | undefined;
956
1014
  next_step_hints?: {
957
1015
  tool: string;
958
1016
  reason_code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/search/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/search/types.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,iFAAiF;AACjF,eAAO,MAAM,eAAe,sCAAsC,CAAC;AAInE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,mCAAiC,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,iGAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,eAAe,wCAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,6BAA6B,iDAI/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAMF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOlC,4EAA4E;;IAE5E,8CAA8C;;IAE9C;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,4BAA4B;;;;;;;;IAQvC;;;;OAIG;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAIF,oEAAoE;AACpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;gCAOlB,CAAC;AACjB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4ClB,CAAC;AACjB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;gCAShB,CAAC;AACjB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;IAG7B,mEAAmE;;;;;;;;;;;IAEnE,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnE,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;IAInC,yEAAyE;;;;;;;;;;;;EAEzE,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,8CAcjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AA0BtE,eAAO,MAAM,wBAAwB;;;;IApBnC;;;;OAIG;;IAEH;;;;OAIG;;;IAGH,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;QAjEhE,mEAAmE;;;;;;;;;;;QAEnE,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgBnE,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDzE,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,6BAA6B;;;;IAzBxC;;;;OAIG;;IAEH;;;;OAIG;;;IAGH,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;QAjEhE,mEAAmE;;;;;;;;;;;QAEnE,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgBnE,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DzE,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,uBAAuB,iEAC4B,CAAC;AAOjE,eAAO,MAAM,4BAA4B,gBAAgB,CAAC;AAQ1D,eAAO,MAAM,qBAAqB,uFAMxB,CAAC;AACX,eAAO,MAAM,0BAA0B,0BAA2B,CAAC;AACnE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,4BAA4B,gBAAgB,CAAC;AAC1D,eAAO,MAAM,wBAAwB,KAAK,CAAC"}
@@ -77,6 +77,12 @@ export const SearchAssetsInputSchema = z.object({
77
77
  infix: z.enum(['off', 'always', 'fallback']).optional(),
78
78
  /** Optional Typesense `query_by` override. */
79
79
  query_by: z.string().min(1).optional(),
80
+ /**
81
+ * Continuation cursor from a previous response's `next_cursor`. When
82
+ * provided, overrides `page` and `per_page` from this input. Opaque —
83
+ * round-trip the value verbatim from the previous response.
84
+ */
85
+ cursor: z.string().min(1).optional(),
80
86
  });
81
87
  export const SearchCollectionsInputSchema = z.object({
82
88
  q: z.string().default('*'),
@@ -86,6 +92,12 @@ export const SearchCollectionsInputSchema = z.object({
86
92
  sort_by: z.string().min(1).default(DEFAULT_SORT_BY),
87
93
  projection: ProjectionSchema.default('compact'),
88
94
  query_by: z.string().min(1).optional(),
95
+ /**
96
+ * Continuation cursor from a previous response's `next_cursor`. When
97
+ * provided, overrides `page` and `per_page` from this input. Opaque —
98
+ * round-trip the value verbatim from the previous response.
99
+ */
100
+ cursor: z.string().min(1).optional(),
89
101
  });
90
102
  // ── Hits (Typesense projections) ─────────────────────────────────────
91
103
  /** Compact asset projection — the default `search_assets` shape. */
@@ -181,12 +193,46 @@ export const SearchNextStepHintSchema = z.object({
181
193
  suggested_args: z.record(z.unknown()).optional(),
182
194
  });
183
195
  // ── Outputs ──────────────────────────────────────────────────────────
196
+ /**
197
+ * Why a response was truncated relative to what the caller asked for.
198
+ * Always paired with `next_cursor` (or `null` when the result set is
199
+ * fully exhausted). Distinguishes the cases the prior contract
200
+ * conflated under a single `truncated: true`.
201
+ */
202
+ export const TruncationReasonSchema = z.enum([
203
+ /**
204
+ * The caller asked for `per_page` larger than the projection's token
205
+ * budget allows; we clamped the upstream request to the budget-derived
206
+ * max. `effective_per_page` reflects the value actually used.
207
+ */
208
+ 'per_page_clamped',
209
+ /**
210
+ * The response budget triggered mid-response despite the up-front
211
+ * `per_page` clamp — usually because some hits are unusually heavy
212
+ * (e.g. long presigned URLs). The hits returned are a prefix; the
213
+ * cursor resumes from the next unseen hit.
214
+ */
215
+ 'token_cap',
216
+ ]);
184
217
  const SearchResponseBaseSchema = z.object({
185
218
  total: z.number().int().nonnegative(),
186
219
  page: z.number().int().min(1),
187
220
  per_page: z.number().int().min(1),
221
+ /**
222
+ * The page size actually used for the upstream call. Less than or
223
+ * equal to the caller's requested `per_page`. Differs from `per_page`
224
+ * when the request was clamped to the projection's token budget.
225
+ */
226
+ effective_per_page: z.number().int().min(1),
227
+ /**
228
+ * Opaque continuation handle. Pass back as `cursor` on the next call
229
+ * to fetch the next page. `null` when the result set is fully
230
+ * exhausted (no more pages).
231
+ */
188
232
  next_cursor: z.string().nullable(),
189
233
  truncated: z.boolean().default(false),
234
+ /** Set when `truncated` is true. Distinguishes clamp vs cap. */
235
+ truncation_reason: TruncationReasonSchema.nullable().default(null),
190
236
  facets: SearchFacetsSchema,
191
237
  next_step_hints: z.array(SearchNextStepHintSchema).default([]),
192
238
  request_id: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tools/search/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tools/search/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@collage-dam/mcp-server",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Model Context Protocol (MCP) server for the Collage Digital Asset Management platform. Exposes Collage workspaces — assets, folders, collections, share links, audit prompts — to AI clients (Claude Desktop, Cursor, ChatGPT) through a typed tool surface.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",