@lumibase/sdk 0.19.0 → 0.20.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.
package/dist/index.cjs CHANGED
@@ -27,9 +27,11 @@ __export(index_exports, {
27
27
  checkCdcPipelineHealth: () => checkCdcPipelineHealth,
28
28
  createAgentArtifact: () => createAgentArtifact,
29
29
  createAgentGoal: () => createAgentGoal,
30
+ createBookmark: () => createBookmark,
30
31
  createCdcPipeline: () => createCdcPipeline,
31
32
  createLumiClient: () => createLumiClient,
32
33
  decideAgentApproval: () => decideAgentApproval,
34
+ deleteBookmark: () => deleteBookmark,
33
35
  deleteCdcPipeline: () => deleteCdcPipeline,
34
36
  deployCdc: () => deployCdc,
35
37
  dryRunAccessImport: () => dryRunAccessImport,
@@ -38,6 +40,7 @@ __export(index_exports, {
38
40
  extractSeo: () => extractSeo,
39
41
  generateAgentApp: () => generateAgentApp,
40
42
  generateTypes: () => generateTypes,
43
+ getEffectivePreset: () => getEffectivePreset,
41
44
  graphql: () => graphql,
42
45
  importAccessManifest: () => importAccessManifest,
43
46
  jsonLdScript: () => jsonLdScript,
@@ -47,7 +50,9 @@ __export(index_exports, {
47
50
  listAgentGoals: () => listAgentGoals,
48
51
  listAgentRuns: () => listAgentRuns,
49
52
  listAgentTools: () => listAgentTools,
53
+ listBookmarks: () => listBookmarks,
50
54
  listCdcPipelines: () => listCdcPipelines,
55
+ mediaUrl: () => mediaUrl,
51
56
  publishAgentArtifact: () => publishAgentArtifact,
52
57
  readAgentMemoryContext: () => readAgentMemoryContext,
53
58
  readCdcPipeline: () => readCdcPipeline,
@@ -58,10 +63,12 @@ __export(index_exports, {
58
63
  retryAgentRun: () => retryAgentRun,
59
64
  rollbackAgentArtifact: () => rollbackAgentArtifact,
60
65
  rollbackCdcDeployment: () => rollbackCdcDeployment,
66
+ saveUserView: () => saveUserView,
61
67
  search: () => search,
62
68
  startCdcPipeline: () => startCdcPipeline,
63
69
  stopCdcPipeline: () => stopCdcPipeline,
64
70
  toNextMetadata: () => toNextMetadata,
71
+ updateBookmark: () => updateBookmark,
65
72
  updateCdcPipeline: () => updateCdcPipeline,
66
73
  validateCdcDeploymentEnv: () => validateCdcDeploymentEnv,
67
74
  writeAgentMemory: () => writeAgentMemory
@@ -1118,6 +1125,79 @@ function legacyRest() {
1118
1125
  };
1119
1126
  }
1120
1127
 
1128
+ // src/rest/gaps.ts
1129
+ function getEffectivePreset(collection) {
1130
+ return async (client) => {
1131
+ const res = await client.rawRequest(
1132
+ `/api/v1/presets/effective?collection=${encodeURIComponent(collection)}`
1133
+ );
1134
+ return res.data;
1135
+ };
1136
+ }
1137
+ function listBookmarks(collection) {
1138
+ return async (client) => {
1139
+ const res = await client.rawRequest(
1140
+ `/api/v1/presets/bookmarks?collection=${encodeURIComponent(collection)}`
1141
+ );
1142
+ return res.data;
1143
+ };
1144
+ }
1145
+ function saveUserView(input) {
1146
+ return async (client) => {
1147
+ const res = await client.rawRequest("/api/v1/presets", {
1148
+ method: "POST",
1149
+ body: JSON.stringify({ ...input, bookmark: null })
1150
+ });
1151
+ return res.data;
1152
+ };
1153
+ }
1154
+ function createBookmark(input) {
1155
+ return async (client) => {
1156
+ const res = await client.rawRequest("/api/v1/presets", {
1157
+ method: "POST",
1158
+ body: JSON.stringify(input)
1159
+ });
1160
+ return res.data;
1161
+ };
1162
+ }
1163
+ function updateBookmark(id, input) {
1164
+ return async (client) => {
1165
+ const res = await client.rawRequest(`/api/v1/presets/${encodeURIComponent(id)}`, {
1166
+ method: "PATCH",
1167
+ body: JSON.stringify(input)
1168
+ });
1169
+ return res.data;
1170
+ };
1171
+ }
1172
+ function deleteBookmark(id) {
1173
+ return async (client) => {
1174
+ const res = await client.rawRequest(`/api/v1/presets/${encodeURIComponent(id)}`, {
1175
+ method: "DELETE"
1176
+ });
1177
+ return res.data;
1178
+ };
1179
+ }
1180
+ function mediaUrl(key, transform, opts) {
1181
+ return (client) => {
1182
+ const base = client.url.replace(/\/$/, "");
1183
+ const path = `/api/v1/media/${key.split("/").map(encodeURIComponent).join("/")}`;
1184
+ if (!transform) return `${base}${path}`;
1185
+ const qs = new URLSearchParams();
1186
+ if ("preset" in transform) {
1187
+ qs.set("preset", transform.preset);
1188
+ } else {
1189
+ if (transform.width !== void 0) qs.set("width", String(transform.width));
1190
+ if (transform.height !== void 0) qs.set("height", String(transform.height));
1191
+ if (transform.format) qs.set("format", transform.format);
1192
+ if (transform.quality !== void 0) qs.set("quality", String(transform.quality));
1193
+ if (transform.fit) qs.set("fit", transform.fit);
1194
+ if (opts?.sign) qs.set("sig", opts.sign);
1195
+ }
1196
+ const query = qs.toString();
1197
+ return query ? `${base}${path}?${query}` : `${base}${path}`;
1198
+ };
1199
+ }
1200
+
1121
1201
  // src/rest/index.ts
1122
1202
  function search(query, params) {
1123
1203
  return async (client) => {
@@ -1141,6 +1221,7 @@ function readItems(collection, params) {
1141
1221
  if (params?.limit !== void 0) qs.set("limit", String(params.limit));
1142
1222
  if (params?.offset !== void 0) qs.set("offset", String(params.offset));
1143
1223
  if (params?.status) qs.set("status", params.status);
1224
+ if (params?.meta) qs.set("meta", params.meta);
1144
1225
  const s = qs.toString();
1145
1226
  const query = s ? `?${s}` : "";
1146
1227
  const res = await client.rawRequest(`/api/v1/items/${collection}${query}`);
@@ -1592,9 +1673,11 @@ function jsonLdScript(item) {
1592
1673
  checkCdcPipelineHealth,
1593
1674
  createAgentArtifact,
1594
1675
  createAgentGoal,
1676
+ createBookmark,
1595
1677
  createCdcPipeline,
1596
1678
  createLumiClient,
1597
1679
  decideAgentApproval,
1680
+ deleteBookmark,
1598
1681
  deleteCdcPipeline,
1599
1682
  deployCdc,
1600
1683
  dryRunAccessImport,
@@ -1603,6 +1686,7 @@ function jsonLdScript(item) {
1603
1686
  extractSeo,
1604
1687
  generateAgentApp,
1605
1688
  generateTypes,
1689
+ getEffectivePreset,
1606
1690
  graphql,
1607
1691
  importAccessManifest,
1608
1692
  jsonLdScript,
@@ -1612,7 +1696,9 @@ function jsonLdScript(item) {
1612
1696
  listAgentGoals,
1613
1697
  listAgentRuns,
1614
1698
  listAgentTools,
1699
+ listBookmarks,
1615
1700
  listCdcPipelines,
1701
+ mediaUrl,
1616
1702
  publishAgentArtifact,
1617
1703
  readAgentMemoryContext,
1618
1704
  readCdcPipeline,
@@ -1623,10 +1709,12 @@ function jsonLdScript(item) {
1623
1709
  retryAgentRun,
1624
1710
  rollbackAgentArtifact,
1625
1711
  rollbackCdcDeployment,
1712
+ saveUserView,
1626
1713
  search,
1627
1714
  startCdcPipeline,
1628
1715
  stopCdcPipeline,
1629
1716
  toNextMetadata,
1717
+ updateBookmark,
1630
1718
  updateCdcPipeline,
1631
1719
  validateCdcDeploymentEnv,
1632
1720
  writeAgentMemory
package/dist/index.d.cts CHANGED
@@ -377,6 +377,12 @@ interface ListItemsParams {
377
377
  limit?: number;
378
378
  offset?: number;
379
379
  status?: string | null;
380
+ /**
381
+ * Controls whether the server computes the `count(*)` total. `'total_count'`
382
+ * (default) returns `meta.total`; `'none'` skips the extra aggregate query
383
+ * for a cheaper list (e.g. infinite scroll) and omits `meta.total`.
384
+ */
385
+ meta?: 'total_count' | 'none';
380
386
  }
381
387
  /** Reserved metadata attributes present on every search hit. */
382
388
  interface SearchHitMeta {
@@ -1997,6 +2003,66 @@ declare function legacyRest(): <TSchema extends DefaultSchema>(client: LumiClien
1997
2003
  request: <T>(path: string, init?: RequestInit) => Promise<LumiResponse<T>>;
1998
2004
  };
1999
2005
 
2006
+ /**
2007
+ * SDK commands for view presets (presets-inheritance) and media transform URLs
2008
+ * (image-transform-dsl). Each is a command factory `(client) => Promise<T>`
2009
+ * used with `client.request(...)`, matching the rest of the REST module.
2010
+ *
2011
+ * Content-version and translation-memory helpers live in the core SDK
2012
+ * (`client.items(...).versions` and `client.tm`).
2013
+ */
2014
+
2015
+ type PresetScope = "user" | "role" | "global";
2016
+ interface ViewPreset {
2017
+ id: string;
2018
+ bookmark: string | null;
2019
+ collection: string;
2020
+ userId: string | null;
2021
+ roleId: string | null;
2022
+ layout: string;
2023
+ layoutQuery: Record<string, unknown>;
2024
+ layoutOptions: Record<string, unknown>;
2025
+ search: string | null;
2026
+ filter: Record<string, unknown>;
2027
+ icon: string | null;
2028
+ color: string | null;
2029
+ refreshInterval: number;
2030
+ }
2031
+ interface ScopedViewPreset extends ViewPreset {
2032
+ sourceScope: PresetScope;
2033
+ roleDistance?: number;
2034
+ }
2035
+ declare function getEffectivePreset(collection: string): (client: LumiClient) => Promise<ScopedViewPreset | null>;
2036
+ declare function listBookmarks(collection: string): (client: LumiClient) => Promise<ScopedViewPreset[]>;
2037
+ /** Save (or overwrite) the acting user's default view for a collection. */
2038
+ declare function saveUserView(input: Partial<ViewPreset> & {
2039
+ collection: string;
2040
+ }): (client: LumiClient) => Promise<ViewPreset>;
2041
+ declare function createBookmark(input: Partial<ViewPreset> & {
2042
+ collection: string;
2043
+ bookmark: string;
2044
+ }): (client: LumiClient) => Promise<ViewPreset>;
2045
+ declare function updateBookmark(id: string, input: Partial<ViewPreset>): (client: LumiClient) => Promise<ViewPreset>;
2046
+ declare function deleteBookmark(id: string): (client: LumiClient) => Promise<null>;
2047
+ interface MediaTransform {
2048
+ width?: number;
2049
+ height?: number;
2050
+ format?: "webp" | "avif" | "jpeg" | "png";
2051
+ quality?: number;
2052
+ fit?: "cover" | "contain" | "fill" | "inside" | "outside";
2053
+ }
2054
+ /**
2055
+ * Build a delivery URL for a media asset, optionally with a transform. Pass a
2056
+ * `MediaTransform` for inline params, or `{ preset }` to reference a named
2057
+ * server-side preset. Returns a path relative to the API base — the SDK client
2058
+ * resolves it against its configured URL.
2059
+ */
2060
+ declare function mediaUrl(key: string, transform?: MediaTransform | {
2061
+ preset: string;
2062
+ }, opts?: {
2063
+ sign?: string;
2064
+ }): (client: LumiClient) => string;
2065
+
2000
2066
  /**
2001
2067
  * Full-text search via `GET /api/v1/search`. Omit `params.collection` for a
2002
2068
  * cross-collection (global) search that fans out over every collection of the
@@ -2129,4 +2195,4 @@ declare function toNextMetadata(item: unknown): Record<string, unknown>;
2129
2195
  */
2130
2196
  declare function jsonLdScript(item: unknown): string | undefined;
2131
2197
 
2132
- export { ACCESS_EXPORT_SCHEMA, type AIApproval, type AIApprovalStatus, type AIChatResponse, type AIChatStatus, type AIContentAssistResult, type AIConversation, type AIFieldSuggestion, type AIMessage, type AccessConflict, type AccessConflictCheckInput, type AccessConflictReport, type AccessExportApiKey, type AccessExportBindings, type AccessExportManifest, type AccessExportPermission, type AccessExportPolicy, type AccessExportRole, type AccessImportApplyResult, type AccessImportDiff, type AccessImportDiffEntry, type AccessImportDiffSection, type AccessImportDryRunResult, type AccessImportIssue, type AccessImportMode, type AccessImportOptions, type AccessImportSummary, type ActivityResource, type AgentApprovalResource, type AgentArtifactCreateInput, type AgentArtifactResource, type AgentArtifactType, type AgentEvaluationResource, type AgentGenerateAppInput, type AgentGenerateAppResult, type AgentGoalCreateInput, type AgentGoalResource, type AgentMemoryContext, type AgentMemoryResource, type AgentMemoryWriteInput, type AgentRiskLevel, type AgentRunResource, type AgentToolResource, type ApiKeyCreateInput, type ApiKeyPolicyAttachment, type ApiKeyResource, type ApiKeyRoleAttachment, type ApiKeyRotateInput, type ApiKeySecretResult, AudienceClient, type AudienceClientOptions, type AudienceEvent, type AudienceNotification, type Brand, type CdcConnectorType, type CdcDeployInput, type CdcDeploymentResult, type CdcDeploymentStatus, type CdcDeploymentStep, type CdcDeploymentTarget, type CdcEnvValidationResult, type CdcHealthCheckResult, type CdcHealthMetricEntry, type CdcPipelineCreateInput, type CdcPipelineMetrics, type CdcPipelinePatchInput, type CdcPipelineResource, type CdcPipelineStatus, type CdcRollbackResult, type CdcValidateEnvInput, type ChannelEventCallback, type CollectionInput, type CollectionResource, type CompiledPermission, type ConnectionStatus, type ContentVersion, type CreateSCIMTokenParams, type DefaultSchema, type DeliverySeo, type DeploymentResource, type DeploymentTargetResource, type DomainCreateInput, type DomainResource, type DomainVerificationRecord, type ExtensionResource, type FieldDeleteOptions, type FieldInput, type FieldMutationOptions, type FieldRenameInput, type FieldResource, type FileResource, type FlowGraph, type FlowNode, type FlowResource, type FlowRun, type FlowRunResult, type FlowRunStatus, type FlowStatus, type FlowTriggerType, type FolderResource, type GenerateOptions, type GraphQLExtension, type ID, type ItemFilter, type ItemFilterOp, type ItemRow, type ListItemsParams, type ListItemsResponse, type ListMarketplaceExtensionsParams, type Locale, type LumiClient, type LumiClientOptions, LumiError, type LumiErrorBody, type LumiResponse, type MarketplaceExtension, type MarketplaceListResponse, type MaterializeDataResponse, type MaterializeProjection, type MaterializeRefreshResult, type MaterializeRefreshStrategy, type MaterializedCollection, type NotificationCallback, type PermissionAction, type PermissionBundle, type PermissionCheckResult, type PermissionRow, type PolicyDetail, type PolicyResource, type PresenceCallback, type PresenceEntry, type PresetResource, type PrimaryKeyType, RealtimeClient, type RealtimeEvent, type RealtimeEventCallback, type RelationInput, type RelationResource, type RelationType, type RevisionRow, type RoleDetail, type RoleResource, type SCIMTokenCreated, type SCIMTokenMeta, type SCIMTokenRotated, type SchemaApplyInput, type SchemaApplyResult, type SchemaChangedEvent, type SchemaDiff, type SchemaDiffEntry, type SchemaDiffInput, type SchemaDiffRisk, type SchemaRuntimeImpact, type SearchHit, type SearchHitMeta, type SearchParams, type SearchResponse, type SettingResource, type ShareCreateInput, type ShareResource, type ShareSecretResult, type SiteConfigUpdate, type SiteResource, type StatusCallback, type StorageMode, type TeamMemberResource, type TeamResource, type TmEntry, type TmSource, type TmSuggestion, type TranslationResource, type TypegenCollection, type TypegenField, type TypegenManifest, type TypegenRelation, type TypegenSchemaFilters, type UploadConfigResource, type UploadTypeCatalogueEntry, type UserPreferencesPayload, type UserResource, type VersionCompare, type VersionFieldChange, type WebSocketFactory, type WebSocketLike, type WebhookResource, checkCdcPipelineHealth, createAgentArtifact, createAgentGoal, createCdcPipeline, createLumiClient, decideAgentApproval, deleteCdcPipeline, deployCdc, dryRunAccessImport, evaluateAgentArtifact, exportAccessManifest, extractSeo, generateAgentApp, generateTypes, graphql, importAccessManifest, jsonLdScript, legacyRest, listAgentApprovals, listAgentArtifacts, listAgentGoals, listAgentRuns, listAgentTools, listCdcPipelines, publishAgentArtifact, readAgentMemoryContext, readCdcPipeline, readCdcPipelineMetricHistory, readCdcPipelineMetrics, readItem, readItems, retryAgentRun, rollbackAgentArtifact, rollbackCdcDeployment, search, startCdcPipeline, stopCdcPipeline, toNextMetadata, updateCdcPipeline, validateCdcDeploymentEnv, writeAgentMemory };
2198
+ export { ACCESS_EXPORT_SCHEMA, type AIApproval, type AIApprovalStatus, type AIChatResponse, type AIChatStatus, type AIContentAssistResult, type AIConversation, type AIFieldSuggestion, type AIMessage, type AccessConflict, type AccessConflictCheckInput, type AccessConflictReport, type AccessExportApiKey, type AccessExportBindings, type AccessExportManifest, type AccessExportPermission, type AccessExportPolicy, type AccessExportRole, type AccessImportApplyResult, type AccessImportDiff, type AccessImportDiffEntry, type AccessImportDiffSection, type AccessImportDryRunResult, type AccessImportIssue, type AccessImportMode, type AccessImportOptions, type AccessImportSummary, type ActivityResource, type AgentApprovalResource, type AgentArtifactCreateInput, type AgentArtifactResource, type AgentArtifactType, type AgentEvaluationResource, type AgentGenerateAppInput, type AgentGenerateAppResult, type AgentGoalCreateInput, type AgentGoalResource, type AgentMemoryContext, type AgentMemoryResource, type AgentMemoryWriteInput, type AgentRiskLevel, type AgentRunResource, type AgentToolResource, type ApiKeyCreateInput, type ApiKeyPolicyAttachment, type ApiKeyResource, type ApiKeyRoleAttachment, type ApiKeyRotateInput, type ApiKeySecretResult, AudienceClient, type AudienceClientOptions, type AudienceEvent, type AudienceNotification, type Brand, type CdcConnectorType, type CdcDeployInput, type CdcDeploymentResult, type CdcDeploymentStatus, type CdcDeploymentStep, type CdcDeploymentTarget, type CdcEnvValidationResult, type CdcHealthCheckResult, type CdcHealthMetricEntry, type CdcPipelineCreateInput, type CdcPipelineMetrics, type CdcPipelinePatchInput, type CdcPipelineResource, type CdcPipelineStatus, type CdcRollbackResult, type CdcValidateEnvInput, type ChannelEventCallback, type CollectionInput, type CollectionResource, type CompiledPermission, type ConnectionStatus, type ContentVersion, type CreateSCIMTokenParams, type DefaultSchema, type DeliverySeo, type DeploymentResource, type DeploymentTargetResource, type DomainCreateInput, type DomainResource, type DomainVerificationRecord, type ExtensionResource, type FieldDeleteOptions, type FieldInput, type FieldMutationOptions, type FieldRenameInput, type FieldResource, type FileResource, type FlowGraph, type FlowNode, type FlowResource, type FlowRun, type FlowRunResult, type FlowRunStatus, type FlowStatus, type FlowTriggerType, type FolderResource, type GenerateOptions, type GraphQLExtension, type ID, type ItemFilter, type ItemFilterOp, type ItemRow, type ListItemsParams, type ListItemsResponse, type ListMarketplaceExtensionsParams, type Locale, type LumiClient, type LumiClientOptions, LumiError, type LumiErrorBody, type LumiResponse, type MarketplaceExtension, type MarketplaceListResponse, type MaterializeDataResponse, type MaterializeProjection, type MaterializeRefreshResult, type MaterializeRefreshStrategy, type MaterializedCollection, type MediaTransform, type NotificationCallback, type PermissionAction, type PermissionBundle, type PermissionCheckResult, type PermissionRow, type PolicyDetail, type PolicyResource, type PresenceCallback, type PresenceEntry, type PresetResource, type PresetScope, type PrimaryKeyType, RealtimeClient, type RealtimeEvent, type RealtimeEventCallback, type RelationInput, type RelationResource, type RelationType, type RevisionRow, type RoleDetail, type RoleResource, type SCIMTokenCreated, type SCIMTokenMeta, type SCIMTokenRotated, type SchemaApplyInput, type SchemaApplyResult, type SchemaChangedEvent, type SchemaDiff, type SchemaDiffEntry, type SchemaDiffInput, type SchemaDiffRisk, type SchemaRuntimeImpact, type ScopedViewPreset, type SearchHit, type SearchHitMeta, type SearchParams, type SearchResponse, type SettingResource, type ShareCreateInput, type ShareResource, type ShareSecretResult, type SiteConfigUpdate, type SiteResource, type StatusCallback, type StorageMode, type TeamMemberResource, type TeamResource, type TmEntry, type TmSource, type TmSuggestion, type TranslationResource, type TypegenCollection, type TypegenField, type TypegenManifest, type TypegenRelation, type TypegenSchemaFilters, type UploadConfigResource, type UploadTypeCatalogueEntry, type UserPreferencesPayload, type UserResource, type VersionCompare, type VersionFieldChange, type ViewPreset, type WebSocketFactory, type WebSocketLike, type WebhookResource, checkCdcPipelineHealth, createAgentArtifact, createAgentGoal, createBookmark, createCdcPipeline, createLumiClient, decideAgentApproval, deleteBookmark, deleteCdcPipeline, deployCdc, dryRunAccessImport, evaluateAgentArtifact, exportAccessManifest, extractSeo, generateAgentApp, generateTypes, getEffectivePreset, graphql, importAccessManifest, jsonLdScript, legacyRest, listAgentApprovals, listAgentArtifacts, listAgentGoals, listAgentRuns, listAgentTools, listBookmarks, listCdcPipelines, mediaUrl, publishAgentArtifact, readAgentMemoryContext, readCdcPipeline, readCdcPipelineMetricHistory, readCdcPipelineMetrics, readItem, readItems, retryAgentRun, rollbackAgentArtifact, rollbackCdcDeployment, saveUserView, search, startCdcPipeline, stopCdcPipeline, toNextMetadata, updateBookmark, updateCdcPipeline, validateCdcDeploymentEnv, writeAgentMemory };
package/dist/index.d.ts CHANGED
@@ -377,6 +377,12 @@ interface ListItemsParams {
377
377
  limit?: number;
378
378
  offset?: number;
379
379
  status?: string | null;
380
+ /**
381
+ * Controls whether the server computes the `count(*)` total. `'total_count'`
382
+ * (default) returns `meta.total`; `'none'` skips the extra aggregate query
383
+ * for a cheaper list (e.g. infinite scroll) and omits `meta.total`.
384
+ */
385
+ meta?: 'total_count' | 'none';
380
386
  }
381
387
  /** Reserved metadata attributes present on every search hit. */
382
388
  interface SearchHitMeta {
@@ -1997,6 +2003,66 @@ declare function legacyRest(): <TSchema extends DefaultSchema>(client: LumiClien
1997
2003
  request: <T>(path: string, init?: RequestInit) => Promise<LumiResponse<T>>;
1998
2004
  };
1999
2005
 
2006
+ /**
2007
+ * SDK commands for view presets (presets-inheritance) and media transform URLs
2008
+ * (image-transform-dsl). Each is a command factory `(client) => Promise<T>`
2009
+ * used with `client.request(...)`, matching the rest of the REST module.
2010
+ *
2011
+ * Content-version and translation-memory helpers live in the core SDK
2012
+ * (`client.items(...).versions` and `client.tm`).
2013
+ */
2014
+
2015
+ type PresetScope = "user" | "role" | "global";
2016
+ interface ViewPreset {
2017
+ id: string;
2018
+ bookmark: string | null;
2019
+ collection: string;
2020
+ userId: string | null;
2021
+ roleId: string | null;
2022
+ layout: string;
2023
+ layoutQuery: Record<string, unknown>;
2024
+ layoutOptions: Record<string, unknown>;
2025
+ search: string | null;
2026
+ filter: Record<string, unknown>;
2027
+ icon: string | null;
2028
+ color: string | null;
2029
+ refreshInterval: number;
2030
+ }
2031
+ interface ScopedViewPreset extends ViewPreset {
2032
+ sourceScope: PresetScope;
2033
+ roleDistance?: number;
2034
+ }
2035
+ declare function getEffectivePreset(collection: string): (client: LumiClient) => Promise<ScopedViewPreset | null>;
2036
+ declare function listBookmarks(collection: string): (client: LumiClient) => Promise<ScopedViewPreset[]>;
2037
+ /** Save (or overwrite) the acting user's default view for a collection. */
2038
+ declare function saveUserView(input: Partial<ViewPreset> & {
2039
+ collection: string;
2040
+ }): (client: LumiClient) => Promise<ViewPreset>;
2041
+ declare function createBookmark(input: Partial<ViewPreset> & {
2042
+ collection: string;
2043
+ bookmark: string;
2044
+ }): (client: LumiClient) => Promise<ViewPreset>;
2045
+ declare function updateBookmark(id: string, input: Partial<ViewPreset>): (client: LumiClient) => Promise<ViewPreset>;
2046
+ declare function deleteBookmark(id: string): (client: LumiClient) => Promise<null>;
2047
+ interface MediaTransform {
2048
+ width?: number;
2049
+ height?: number;
2050
+ format?: "webp" | "avif" | "jpeg" | "png";
2051
+ quality?: number;
2052
+ fit?: "cover" | "contain" | "fill" | "inside" | "outside";
2053
+ }
2054
+ /**
2055
+ * Build a delivery URL for a media asset, optionally with a transform. Pass a
2056
+ * `MediaTransform` for inline params, or `{ preset }` to reference a named
2057
+ * server-side preset. Returns a path relative to the API base — the SDK client
2058
+ * resolves it against its configured URL.
2059
+ */
2060
+ declare function mediaUrl(key: string, transform?: MediaTransform | {
2061
+ preset: string;
2062
+ }, opts?: {
2063
+ sign?: string;
2064
+ }): (client: LumiClient) => string;
2065
+
2000
2066
  /**
2001
2067
  * Full-text search via `GET /api/v1/search`. Omit `params.collection` for a
2002
2068
  * cross-collection (global) search that fans out over every collection of the
@@ -2129,4 +2195,4 @@ declare function toNextMetadata(item: unknown): Record<string, unknown>;
2129
2195
  */
2130
2196
  declare function jsonLdScript(item: unknown): string | undefined;
2131
2197
 
2132
- export { ACCESS_EXPORT_SCHEMA, type AIApproval, type AIApprovalStatus, type AIChatResponse, type AIChatStatus, type AIContentAssistResult, type AIConversation, type AIFieldSuggestion, type AIMessage, type AccessConflict, type AccessConflictCheckInput, type AccessConflictReport, type AccessExportApiKey, type AccessExportBindings, type AccessExportManifest, type AccessExportPermission, type AccessExportPolicy, type AccessExportRole, type AccessImportApplyResult, type AccessImportDiff, type AccessImportDiffEntry, type AccessImportDiffSection, type AccessImportDryRunResult, type AccessImportIssue, type AccessImportMode, type AccessImportOptions, type AccessImportSummary, type ActivityResource, type AgentApprovalResource, type AgentArtifactCreateInput, type AgentArtifactResource, type AgentArtifactType, type AgentEvaluationResource, type AgentGenerateAppInput, type AgentGenerateAppResult, type AgentGoalCreateInput, type AgentGoalResource, type AgentMemoryContext, type AgentMemoryResource, type AgentMemoryWriteInput, type AgentRiskLevel, type AgentRunResource, type AgentToolResource, type ApiKeyCreateInput, type ApiKeyPolicyAttachment, type ApiKeyResource, type ApiKeyRoleAttachment, type ApiKeyRotateInput, type ApiKeySecretResult, AudienceClient, type AudienceClientOptions, type AudienceEvent, type AudienceNotification, type Brand, type CdcConnectorType, type CdcDeployInput, type CdcDeploymentResult, type CdcDeploymentStatus, type CdcDeploymentStep, type CdcDeploymentTarget, type CdcEnvValidationResult, type CdcHealthCheckResult, type CdcHealthMetricEntry, type CdcPipelineCreateInput, type CdcPipelineMetrics, type CdcPipelinePatchInput, type CdcPipelineResource, type CdcPipelineStatus, type CdcRollbackResult, type CdcValidateEnvInput, type ChannelEventCallback, type CollectionInput, type CollectionResource, type CompiledPermission, type ConnectionStatus, type ContentVersion, type CreateSCIMTokenParams, type DefaultSchema, type DeliverySeo, type DeploymentResource, type DeploymentTargetResource, type DomainCreateInput, type DomainResource, type DomainVerificationRecord, type ExtensionResource, type FieldDeleteOptions, type FieldInput, type FieldMutationOptions, type FieldRenameInput, type FieldResource, type FileResource, type FlowGraph, type FlowNode, type FlowResource, type FlowRun, type FlowRunResult, type FlowRunStatus, type FlowStatus, type FlowTriggerType, type FolderResource, type GenerateOptions, type GraphQLExtension, type ID, type ItemFilter, type ItemFilterOp, type ItemRow, type ListItemsParams, type ListItemsResponse, type ListMarketplaceExtensionsParams, type Locale, type LumiClient, type LumiClientOptions, LumiError, type LumiErrorBody, type LumiResponse, type MarketplaceExtension, type MarketplaceListResponse, type MaterializeDataResponse, type MaterializeProjection, type MaterializeRefreshResult, type MaterializeRefreshStrategy, type MaterializedCollection, type NotificationCallback, type PermissionAction, type PermissionBundle, type PermissionCheckResult, type PermissionRow, type PolicyDetail, type PolicyResource, type PresenceCallback, type PresenceEntry, type PresetResource, type PrimaryKeyType, RealtimeClient, type RealtimeEvent, type RealtimeEventCallback, type RelationInput, type RelationResource, type RelationType, type RevisionRow, type RoleDetail, type RoleResource, type SCIMTokenCreated, type SCIMTokenMeta, type SCIMTokenRotated, type SchemaApplyInput, type SchemaApplyResult, type SchemaChangedEvent, type SchemaDiff, type SchemaDiffEntry, type SchemaDiffInput, type SchemaDiffRisk, type SchemaRuntimeImpact, type SearchHit, type SearchHitMeta, type SearchParams, type SearchResponse, type SettingResource, type ShareCreateInput, type ShareResource, type ShareSecretResult, type SiteConfigUpdate, type SiteResource, type StatusCallback, type StorageMode, type TeamMemberResource, type TeamResource, type TmEntry, type TmSource, type TmSuggestion, type TranslationResource, type TypegenCollection, type TypegenField, type TypegenManifest, type TypegenRelation, type TypegenSchemaFilters, type UploadConfigResource, type UploadTypeCatalogueEntry, type UserPreferencesPayload, type UserResource, type VersionCompare, type VersionFieldChange, type WebSocketFactory, type WebSocketLike, type WebhookResource, checkCdcPipelineHealth, createAgentArtifact, createAgentGoal, createCdcPipeline, createLumiClient, decideAgentApproval, deleteCdcPipeline, deployCdc, dryRunAccessImport, evaluateAgentArtifact, exportAccessManifest, extractSeo, generateAgentApp, generateTypes, graphql, importAccessManifest, jsonLdScript, legacyRest, listAgentApprovals, listAgentArtifacts, listAgentGoals, listAgentRuns, listAgentTools, listCdcPipelines, publishAgentArtifact, readAgentMemoryContext, readCdcPipeline, readCdcPipelineMetricHistory, readCdcPipelineMetrics, readItem, readItems, retryAgentRun, rollbackAgentArtifact, rollbackCdcDeployment, search, startCdcPipeline, stopCdcPipeline, toNextMetadata, updateCdcPipeline, validateCdcDeploymentEnv, writeAgentMemory };
2198
+ export { ACCESS_EXPORT_SCHEMA, type AIApproval, type AIApprovalStatus, type AIChatResponse, type AIChatStatus, type AIContentAssistResult, type AIConversation, type AIFieldSuggestion, type AIMessage, type AccessConflict, type AccessConflictCheckInput, type AccessConflictReport, type AccessExportApiKey, type AccessExportBindings, type AccessExportManifest, type AccessExportPermission, type AccessExportPolicy, type AccessExportRole, type AccessImportApplyResult, type AccessImportDiff, type AccessImportDiffEntry, type AccessImportDiffSection, type AccessImportDryRunResult, type AccessImportIssue, type AccessImportMode, type AccessImportOptions, type AccessImportSummary, type ActivityResource, type AgentApprovalResource, type AgentArtifactCreateInput, type AgentArtifactResource, type AgentArtifactType, type AgentEvaluationResource, type AgentGenerateAppInput, type AgentGenerateAppResult, type AgentGoalCreateInput, type AgentGoalResource, type AgentMemoryContext, type AgentMemoryResource, type AgentMemoryWriteInput, type AgentRiskLevel, type AgentRunResource, type AgentToolResource, type ApiKeyCreateInput, type ApiKeyPolicyAttachment, type ApiKeyResource, type ApiKeyRoleAttachment, type ApiKeyRotateInput, type ApiKeySecretResult, AudienceClient, type AudienceClientOptions, type AudienceEvent, type AudienceNotification, type Brand, type CdcConnectorType, type CdcDeployInput, type CdcDeploymentResult, type CdcDeploymentStatus, type CdcDeploymentStep, type CdcDeploymentTarget, type CdcEnvValidationResult, type CdcHealthCheckResult, type CdcHealthMetricEntry, type CdcPipelineCreateInput, type CdcPipelineMetrics, type CdcPipelinePatchInput, type CdcPipelineResource, type CdcPipelineStatus, type CdcRollbackResult, type CdcValidateEnvInput, type ChannelEventCallback, type CollectionInput, type CollectionResource, type CompiledPermission, type ConnectionStatus, type ContentVersion, type CreateSCIMTokenParams, type DefaultSchema, type DeliverySeo, type DeploymentResource, type DeploymentTargetResource, type DomainCreateInput, type DomainResource, type DomainVerificationRecord, type ExtensionResource, type FieldDeleteOptions, type FieldInput, type FieldMutationOptions, type FieldRenameInput, type FieldResource, type FileResource, type FlowGraph, type FlowNode, type FlowResource, type FlowRun, type FlowRunResult, type FlowRunStatus, type FlowStatus, type FlowTriggerType, type FolderResource, type GenerateOptions, type GraphQLExtension, type ID, type ItemFilter, type ItemFilterOp, type ItemRow, type ListItemsParams, type ListItemsResponse, type ListMarketplaceExtensionsParams, type Locale, type LumiClient, type LumiClientOptions, LumiError, type LumiErrorBody, type LumiResponse, type MarketplaceExtension, type MarketplaceListResponse, type MaterializeDataResponse, type MaterializeProjection, type MaterializeRefreshResult, type MaterializeRefreshStrategy, type MaterializedCollection, type MediaTransform, type NotificationCallback, type PermissionAction, type PermissionBundle, type PermissionCheckResult, type PermissionRow, type PolicyDetail, type PolicyResource, type PresenceCallback, type PresenceEntry, type PresetResource, type PresetScope, type PrimaryKeyType, RealtimeClient, type RealtimeEvent, type RealtimeEventCallback, type RelationInput, type RelationResource, type RelationType, type RevisionRow, type RoleDetail, type RoleResource, type SCIMTokenCreated, type SCIMTokenMeta, type SCIMTokenRotated, type SchemaApplyInput, type SchemaApplyResult, type SchemaChangedEvent, type SchemaDiff, type SchemaDiffEntry, type SchemaDiffInput, type SchemaDiffRisk, type SchemaRuntimeImpact, type ScopedViewPreset, type SearchHit, type SearchHitMeta, type SearchParams, type SearchResponse, type SettingResource, type ShareCreateInput, type ShareResource, type ShareSecretResult, type SiteConfigUpdate, type SiteResource, type StatusCallback, type StorageMode, type TeamMemberResource, type TeamResource, type TmEntry, type TmSource, type TmSuggestion, type TranslationResource, type TypegenCollection, type TypegenField, type TypegenManifest, type TypegenRelation, type TypegenSchemaFilters, type UploadConfigResource, type UploadTypeCatalogueEntry, type UserPreferencesPayload, type UserResource, type VersionCompare, type VersionFieldChange, type ViewPreset, type WebSocketFactory, type WebSocketLike, type WebhookResource, checkCdcPipelineHealth, createAgentArtifact, createAgentGoal, createBookmark, createCdcPipeline, createLumiClient, decideAgentApproval, deleteBookmark, deleteCdcPipeline, deployCdc, dryRunAccessImport, evaluateAgentArtifact, exportAccessManifest, extractSeo, generateAgentApp, generateTypes, getEffectivePreset, graphql, importAccessManifest, jsonLdScript, legacyRest, listAgentApprovals, listAgentArtifacts, listAgentGoals, listAgentRuns, listAgentTools, listBookmarks, listCdcPipelines, mediaUrl, publishAgentArtifact, readAgentMemoryContext, readCdcPipeline, readCdcPipelineMetricHistory, readCdcPipelineMetrics, readItem, readItems, retryAgentRun, rollbackAgentArtifact, rollbackCdcDeployment, saveUserView, search, startCdcPipeline, stopCdcPipeline, toNextMetadata, updateBookmark, updateCdcPipeline, validateCdcDeploymentEnv, writeAgentMemory };
package/dist/index.js CHANGED
@@ -1048,6 +1048,79 @@ function legacyRest() {
1048
1048
  };
1049
1049
  }
1050
1050
 
1051
+ // src/rest/gaps.ts
1052
+ function getEffectivePreset(collection) {
1053
+ return async (client) => {
1054
+ const res = await client.rawRequest(
1055
+ `/api/v1/presets/effective?collection=${encodeURIComponent(collection)}`
1056
+ );
1057
+ return res.data;
1058
+ };
1059
+ }
1060
+ function listBookmarks(collection) {
1061
+ return async (client) => {
1062
+ const res = await client.rawRequest(
1063
+ `/api/v1/presets/bookmarks?collection=${encodeURIComponent(collection)}`
1064
+ );
1065
+ return res.data;
1066
+ };
1067
+ }
1068
+ function saveUserView(input) {
1069
+ return async (client) => {
1070
+ const res = await client.rawRequest("/api/v1/presets", {
1071
+ method: "POST",
1072
+ body: JSON.stringify({ ...input, bookmark: null })
1073
+ });
1074
+ return res.data;
1075
+ };
1076
+ }
1077
+ function createBookmark(input) {
1078
+ return async (client) => {
1079
+ const res = await client.rawRequest("/api/v1/presets", {
1080
+ method: "POST",
1081
+ body: JSON.stringify(input)
1082
+ });
1083
+ return res.data;
1084
+ };
1085
+ }
1086
+ function updateBookmark(id, input) {
1087
+ return async (client) => {
1088
+ const res = await client.rawRequest(`/api/v1/presets/${encodeURIComponent(id)}`, {
1089
+ method: "PATCH",
1090
+ body: JSON.stringify(input)
1091
+ });
1092
+ return res.data;
1093
+ };
1094
+ }
1095
+ function deleteBookmark(id) {
1096
+ return async (client) => {
1097
+ const res = await client.rawRequest(`/api/v1/presets/${encodeURIComponent(id)}`, {
1098
+ method: "DELETE"
1099
+ });
1100
+ return res.data;
1101
+ };
1102
+ }
1103
+ function mediaUrl(key, transform, opts) {
1104
+ return (client) => {
1105
+ const base = client.url.replace(/\/$/, "");
1106
+ const path = `/api/v1/media/${key.split("/").map(encodeURIComponent).join("/")}`;
1107
+ if (!transform) return `${base}${path}`;
1108
+ const qs = new URLSearchParams();
1109
+ if ("preset" in transform) {
1110
+ qs.set("preset", transform.preset);
1111
+ } else {
1112
+ if (transform.width !== void 0) qs.set("width", String(transform.width));
1113
+ if (transform.height !== void 0) qs.set("height", String(transform.height));
1114
+ if (transform.format) qs.set("format", transform.format);
1115
+ if (transform.quality !== void 0) qs.set("quality", String(transform.quality));
1116
+ if (transform.fit) qs.set("fit", transform.fit);
1117
+ if (opts?.sign) qs.set("sig", opts.sign);
1118
+ }
1119
+ const query = qs.toString();
1120
+ return query ? `${base}${path}?${query}` : `${base}${path}`;
1121
+ };
1122
+ }
1123
+
1051
1124
  // src/rest/index.ts
1052
1125
  function search(query, params) {
1053
1126
  return async (client) => {
@@ -1071,6 +1144,7 @@ function readItems(collection, params) {
1071
1144
  if (params?.limit !== void 0) qs.set("limit", String(params.limit));
1072
1145
  if (params?.offset !== void 0) qs.set("offset", String(params.offset));
1073
1146
  if (params?.status) qs.set("status", params.status);
1147
+ if (params?.meta) qs.set("meta", params.meta);
1074
1148
  const s = qs.toString();
1075
1149
  const query = s ? `?${s}` : "";
1076
1150
  const res = await client.rawRequest(`/api/v1/items/${collection}${query}`);
@@ -1521,9 +1595,11 @@ export {
1521
1595
  checkCdcPipelineHealth,
1522
1596
  createAgentArtifact,
1523
1597
  createAgentGoal,
1598
+ createBookmark,
1524
1599
  createCdcPipeline,
1525
1600
  createLumiClient,
1526
1601
  decideAgentApproval,
1602
+ deleteBookmark,
1527
1603
  deleteCdcPipeline,
1528
1604
  deployCdc,
1529
1605
  dryRunAccessImport,
@@ -1532,6 +1608,7 @@ export {
1532
1608
  extractSeo,
1533
1609
  generateAgentApp,
1534
1610
  generateTypes,
1611
+ getEffectivePreset,
1535
1612
  graphql,
1536
1613
  importAccessManifest,
1537
1614
  jsonLdScript,
@@ -1541,7 +1618,9 @@ export {
1541
1618
  listAgentGoals,
1542
1619
  listAgentRuns,
1543
1620
  listAgentTools,
1621
+ listBookmarks,
1544
1622
  listCdcPipelines,
1623
+ mediaUrl,
1545
1624
  publishAgentArtifact,
1546
1625
  readAgentMemoryContext,
1547
1626
  readCdcPipeline,
@@ -1552,10 +1631,12 @@ export {
1552
1631
  retryAgentRun,
1553
1632
  rollbackAgentArtifact,
1554
1633
  rollbackCdcDeployment,
1634
+ saveUserView,
1555
1635
  search,
1556
1636
  startCdcPipeline,
1557
1637
  stopCdcPipeline,
1558
1638
  toNextMetadata,
1639
+ updateBookmark,
1559
1640
  updateCdcPipeline,
1560
1641
  validateCdcDeploymentEnv,
1561
1642
  writeAgentMemory
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumibase/sdk",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "LumiBase JS SDK (REST + WebSocket) + typegen core. Isomorphic ESM.",
5
5
  "type": "module",
6
6
  "repository": {