@inneropen/marvin-sdk 2.0.0-next.21 → 2.0.0-next.23

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.
@@ -111,15 +111,21 @@ Change to: ${config.apiUrl.replace(url.protocol, "https:")}`
111
111
  }
112
112
  }
113
113
  }
114
+ function getEnv(key) {
115
+ if (typeof process !== "undefined" && process.env) {
116
+ return process.env[key];
117
+ }
118
+ return void 0;
119
+ }
114
120
  function createConfigFromEnv(overrides) {
115
121
  return {
116
- apiUrl: overrides?.apiUrl || process.env.MARVIN_API_URL || "",
117
- siteClientToken: overrides?.siteClientToken || process.env.MARVIN_SITE_CLIENT_TOKEN || "",
118
- workspaceSlug: overrides?.workspaceSlug || process.env.MARVIN_WORKSPACE_SLUG || "",
122
+ apiUrl: overrides?.apiUrl || getEnv("MARVIN_API_URL") || "",
123
+ siteClientToken: overrides?.siteClientToken || getEnv("MARVIN_SITE_CLIENT_TOKEN") || "",
124
+ workspaceSlug: overrides?.workspaceSlug || getEnv("MARVIN_WORKSPACE_SLUG") || "",
119
125
  autoInitialize: overrides?.autoInitialize ?? false,
120
126
  cacheDuration: overrides?.cacheDuration ?? 5 * 60 * 1e3,
121
127
  // 5 minutes
122
- debug: overrides?.debug ?? process.env.MARVIN_DEBUG === "true",
128
+ debug: overrides?.debug ?? getEnv("MARVIN_DEBUG") === "true",
123
129
  logger: overrides?.logger ?? console
124
130
  };
125
131
  }
@@ -135,113 +141,61 @@ var init_entry = __esm({
135
141
  "src/entries/entry.ts"() {
136
142
  "use strict";
137
143
  Entry = class {
138
- constructor(data, http, workspaceSlug) {
139
- this.data = data;
144
+ constructor(raw, http, workspaceSlug) {
145
+ this.raw = raw;
140
146
  this.http = http;
141
147
  this.workspaceSlug = workspaceSlug;
142
148
  }
143
- data;
149
+ raw;
144
150
  http;
145
151
  workspaceSlug;
146
- // Expose all entry data as properties
147
- get id() {
148
- return this.data.id;
149
- }
150
152
  get title() {
151
- return this.data.title;
153
+ return this.raw.title;
152
154
  }
153
155
  get slug() {
154
- return this.data.slug;
156
+ return this.raw.slug;
155
157
  }
156
158
  get summary() {
157
- return this.data.summary;
158
- }
159
- get description() {
160
- return this.data.description;
159
+ return this.raw.summary;
161
160
  }
162
- /**
163
- * @deprecated Use field('body') or dataJson instead. Will be removed in v3.0.0
164
- */
165
- get contentMarkdown() {
166
- return this.data.contentMarkdown;
161
+ get entryType() {
162
+ return this.raw.entryType;
167
163
  }
168
- /**
169
- * Schema-driven content data (replaces contentMarkdown in v2.0.0).
170
- * Access specific fields using the field() helper method.
171
- * @since 2.0.0
172
- */
173
- get dataJson() {
174
- return this.data.dataJson;
164
+ get entryTypeInfo() {
165
+ return this.raw.entryTypeInfo;
175
166
  }
176
- get metadata() {
177
- return this.data.metadata;
167
+ get data() {
168
+ return this.raw.data;
178
169
  }
179
- get status() {
180
- return this.data.status;
170
+ get metadataJson() {
171
+ return this.raw.metadataJson;
181
172
  }
182
173
  get publishedAt() {
183
- return this.data.publishedAt;
184
- }
185
- get createdAt() {
186
- return this.data.createdAt;
187
- }
188
- get updatedAt() {
189
- return this.data.updatedAt;
190
- }
191
- get entryTypeId() {
192
- return this.data.entryTypeId;
174
+ return this.raw.publishedAt;
193
175
  }
194
- get entryType() {
195
- return this.data.entryType;
176
+ get order() {
177
+ return this.raw.order;
196
178
  }
197
- /**
198
- * Get entry assets
199
- */
200
179
  get assets() {
201
- return this.data.assets || [];
180
+ return this.raw.assets;
202
181
  }
203
- /**
204
- * Get entry collections
205
- */
206
182
  get collections() {
207
- return this.data.collections || [];
183
+ return this.raw.collections;
184
+ }
185
+ get resources() {
186
+ return this.raw.resources;
208
187
  }
209
- /**
210
- * Get a specific field value from the entry's schema-driven content (dataJson).
211
- *
212
- * @param key - Field key as defined in the entry type's schema
213
- * @returns The field value, or undefined if not present
214
- * @since 2.0.0
215
- *
216
- * @example
217
- * ```typescript
218
- * const entry = await client.entries.get('my-entry');
219
- * const body = entry.field('body'); // Get markdown body
220
- * const difficulty = entry.field('difficulty'); // Get difficulty level
221
- * const heroImage = entry.field('heroImage'); // Get hero image UUID
222
- * ```
223
- */
224
188
  field(key) {
225
- return this.data.dataJson?.[key];
189
+ return this.raw.data[key];
226
190
  }
227
- /**
228
- * Get all fields from the entry's schema-driven content.
229
- * @since 2.0.0
230
- */
231
191
  get fields() {
232
- return this.data.dataJson || {};
192
+ return this.raw.data;
233
193
  }
234
- /**
235
- * Get related entries (future)
236
- */
237
194
  async relatedEntries() {
238
195
  throw new Error("Related entries not yet implemented");
239
196
  }
240
- /**
241
- * Get raw entry data
242
- */
243
197
  toJSON() {
244
- return this.data;
198
+ return this.raw;
245
199
  }
246
200
  };
247
201
  }
package/dist/index.cjs CHANGED
@@ -122,15 +122,21 @@ Change to: ${config.apiUrl.replace(url.protocol, "https:")}`
122
122
  }
123
123
  }
124
124
  }
125
+ function getEnv(key) {
126
+ if (typeof process !== "undefined" && process.env) {
127
+ return process.env[key];
128
+ }
129
+ return void 0;
130
+ }
125
131
  function createConfigFromEnv(overrides) {
126
132
  return {
127
- apiUrl: overrides?.apiUrl || process.env.MARVIN_API_URL || "",
128
- siteClientToken: overrides?.siteClientToken || process.env.MARVIN_SITE_CLIENT_TOKEN || "",
129
- workspaceSlug: overrides?.workspaceSlug || process.env.MARVIN_WORKSPACE_SLUG || "",
133
+ apiUrl: overrides?.apiUrl || getEnv("MARVIN_API_URL") || "",
134
+ siteClientToken: overrides?.siteClientToken || getEnv("MARVIN_SITE_CLIENT_TOKEN") || "",
135
+ workspaceSlug: overrides?.workspaceSlug || getEnv("MARVIN_WORKSPACE_SLUG") || "",
130
136
  autoInitialize: overrides?.autoInitialize ?? false,
131
137
  cacheDuration: overrides?.cacheDuration ?? 5 * 60 * 1e3,
132
138
  // 5 minutes
133
- debug: overrides?.debug ?? process.env.MARVIN_DEBUG === "true",
139
+ debug: overrides?.debug ?? getEnv("MARVIN_DEBUG") === "true",
134
140
  logger: overrides?.logger ?? console
135
141
  };
136
142
  }
@@ -863,113 +869,61 @@ var init_entry = __esm({
863
869
  "src/entries/entry.ts"() {
864
870
  "use strict";
865
871
  Entry = class {
866
- constructor(data, http, workspaceSlug) {
867
- this.data = data;
872
+ constructor(raw, http, workspaceSlug) {
873
+ this.raw = raw;
868
874
  this.http = http;
869
875
  this.workspaceSlug = workspaceSlug;
870
876
  }
871
- data;
877
+ raw;
872
878
  http;
873
879
  workspaceSlug;
874
- // Expose all entry data as properties
875
- get id() {
876
- return this.data.id;
877
- }
878
880
  get title() {
879
- return this.data.title;
881
+ return this.raw.title;
880
882
  }
881
883
  get slug() {
882
- return this.data.slug;
884
+ return this.raw.slug;
883
885
  }
884
886
  get summary() {
885
- return this.data.summary;
886
- }
887
- get description() {
888
- return this.data.description;
887
+ return this.raw.summary;
889
888
  }
890
- /**
891
- * @deprecated Use field('body') or dataJson instead. Will be removed in v3.0.0
892
- */
893
- get contentMarkdown() {
894
- return this.data.contentMarkdown;
889
+ get entryType() {
890
+ return this.raw.entryType;
895
891
  }
896
- /**
897
- * Schema-driven content data (replaces contentMarkdown in v2.0.0).
898
- * Access specific fields using the field() helper method.
899
- * @since 2.0.0
900
- */
901
- get dataJson() {
902
- return this.data.dataJson;
892
+ get entryTypeInfo() {
893
+ return this.raw.entryTypeInfo;
903
894
  }
904
- get metadata() {
905
- return this.data.metadata;
895
+ get data() {
896
+ return this.raw.data;
906
897
  }
907
- get status() {
908
- return this.data.status;
898
+ get metadataJson() {
899
+ return this.raw.metadataJson;
909
900
  }
910
901
  get publishedAt() {
911
- return this.data.publishedAt;
912
- }
913
- get createdAt() {
914
- return this.data.createdAt;
902
+ return this.raw.publishedAt;
915
903
  }
916
- get updatedAt() {
917
- return this.data.updatedAt;
904
+ get order() {
905
+ return this.raw.order;
918
906
  }
919
- get entryTypeId() {
920
- return this.data.entryTypeId;
921
- }
922
- get entryType() {
923
- return this.data.entryType;
924
- }
925
- /**
926
- * Get entry assets
927
- */
928
907
  get assets() {
929
- return this.data.assets || [];
908
+ return this.raw.assets;
930
909
  }
931
- /**
932
- * Get entry collections
933
- */
934
910
  get collections() {
935
- return this.data.collections || [];
911
+ return this.raw.collections;
912
+ }
913
+ get resources() {
914
+ return this.raw.resources;
936
915
  }
937
- /**
938
- * Get a specific field value from the entry's schema-driven content (dataJson).
939
- *
940
- * @param key - Field key as defined in the entry type's schema
941
- * @returns The field value, or undefined if not present
942
- * @since 2.0.0
943
- *
944
- * @example
945
- * ```typescript
946
- * const entry = await client.entries.get('my-entry');
947
- * const body = entry.field('body'); // Get markdown body
948
- * const difficulty = entry.field('difficulty'); // Get difficulty level
949
- * const heroImage = entry.field('heroImage'); // Get hero image UUID
950
- * ```
951
- */
952
916
  field(key) {
953
- return this.data.dataJson?.[key];
917
+ return this.raw.data[key];
954
918
  }
955
- /**
956
- * Get all fields from the entry's schema-driven content.
957
- * @since 2.0.0
958
- */
959
919
  get fields() {
960
- return this.data.dataJson || {};
920
+ return this.raw.data;
961
921
  }
962
- /**
963
- * Get related entries (future)
964
- */
965
922
  async relatedEntries() {
966
923
  throw new Error("Related entries not yet implemented");
967
924
  }
968
- /**
969
- * Get raw entry data
970
- */
971
925
  toJSON() {
972
- return this.data;
926
+ return this.raw;
973
927
  }
974
928
  };
975
929
  }
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { M as MarvinConfig, a as MarvinClient } from './marvin-BAslemIz.cjs';
2
- export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-BAslemIz.cjs';
1
+ import { M as MarvinConfig, a as MarvinClient } from './marvin-ixVRMtIS.cjs';
2
+ export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-ixVRMtIS.cjs';
3
3
  import { H as HttpClient } from './HttpClient-CdF3IHM1.cjs';
4
4
  export { A as AuthStrategy, B as BearerTokenAuth, a as HttpClientConfig, N as NoAuth, S as SessionAuth } from './HttpClient-CdF3IHM1.cjs';
5
5
  import { AuthToken as AuthToken$1 } from './types/index.cjs';
6
- export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedEntryType } from './types/index.cjs';
6
+ export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAssetRead, PublishedCollectionSummary, PublishedEntryType, PublishedResourceRead } from './types/index.cjs';
7
7
 
8
8
  /**
9
9
  * Authentication & User Registration
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { M as MarvinConfig, a as MarvinClient } from './marvin-BmbMUJXh.js';
2
- export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-BmbMUJXh.js';
1
+ import { M as MarvinConfig, a as MarvinClient } from './marvin-B6kWCfmU.js';
2
+ export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-B6kWCfmU.js';
3
3
  import { H as HttpClient } from './HttpClient-CdF3IHM1.js';
4
4
  export { A as AuthStrategy, B as BearerTokenAuth, a as HttpClientConfig, N as NoAuth, S as SessionAuth } from './HttpClient-CdF3IHM1.js';
5
5
  import { AuthToken as AuthToken$1 } from './types/index.js';
6
- export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedEntryType } from './types/index.js';
6
+ export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAssetRead, PublishedCollectionSummary, PublishedEntryType, PublishedResourceRead } from './types/index.js';
7
7
 
8
8
  /**
9
9
  * Authentication & User Registration
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  init_resource,
14
14
  init_workspace,
15
15
  marvin_exports
16
- } from "./chunk-TZ2TZFWP.js";
16
+ } from "./chunk-CIFRKLJS.js";
17
17
  import {
18
18
  BearerTokenAuth,
19
19
  HttpClient,
@@ -1,4 +1,4 @@
1
- import { PublishedEntryType, MarvinResource, MarvinEntry, MarvinAsset, MarvinCollection, MarvinEntryType, MarvinSite, GetResourcesOptions as GetResourcesOptions$1 } from './types/index.js';
1
+ import { PublishedEntryType, MarvinResource, MarvinEntry, MarvinAsset, MarvinCollection, PublishedAssetRead, PublishedCollectionSummary, PublishedResourceRead, MarvinSite, GetResourcesOptions as GetResourcesOptions$1 } from './types/index.js';
2
2
  import { H as HttpClient } from './HttpClient-CdF3IHM1.js';
3
3
 
4
4
  /**
@@ -380,69 +380,39 @@ declare class CollectionsModule {
380
380
  }): Promise<MarvinEntry[]>;
381
381
  }
382
382
 
383
+ /**
384
+ * Entry - Rich object representing a single entry
385
+ */
386
+
383
387
  declare class Entry {
384
- private data;
388
+ private raw;
385
389
  private http;
386
390
  private workspaceSlug;
387
- constructor(data: MarvinEntry, http: MarvinHttpClient, workspaceSlug: string);
388
- get id(): string;
391
+ constructor(raw: MarvinEntry, http: MarvinHttpClient, workspaceSlug: string);
389
392
  get title(): string;
390
393
  get slug(): string;
391
- get summary(): string | undefined;
392
- get description(): string | undefined;
393
- /**
394
- * @deprecated Use field('body') or dataJson instead. Will be removed in v3.0.0
395
- */
396
- get contentMarkdown(): string | undefined;
397
- /**
398
- * Schema-driven content data (replaces contentMarkdown in v2.0.0).
399
- * Access specific fields using the field() helper method.
400
- * @since 2.0.0
401
- */
402
- get dataJson(): Record<string, unknown> | undefined;
403
- get metadata(): Record<string, unknown> | undefined;
404
- get status(): string;
405
- get publishedAt(): string | undefined;
406
- get createdAt(): string;
407
- get updatedAt(): string;
408
- get entryTypeId(): string;
409
- get entryType(): MarvinEntryType | undefined;
410
- /**
411
- * Get entry assets
412
- */
413
- get assets(): MarvinAsset[];
414
- /**
415
- * Get entry collections
416
- */
417
- get collections(): MarvinCollection[];
418
- /**
419
- * Get a specific field value from the entry's schema-driven content (dataJson).
420
- *
421
- * @param key - Field key as defined in the entry type's schema
422
- * @returns The field value, or undefined if not present
423
- * @since 2.0.0
424
- *
425
- * @example
426
- * ```typescript
427
- * const entry = await client.entries.get('my-entry');
428
- * const body = entry.field('body'); // Get markdown body
429
- * const difficulty = entry.field('difficulty'); // Get difficulty level
430
- * const heroImage = entry.field('heroImage'); // Get hero image UUID
431
- * ```
432
- */
394
+ get summary(): string | null | undefined;
395
+ get entryType(): string;
396
+ get entryTypeInfo(): {
397
+ slug: string;
398
+ renderer?: string | null;
399
+ package?: string | null;
400
+ version?: string | null;
401
+ config?: Record<string, unknown> | null;
402
+ publishable: boolean;
403
+ submittable: boolean;
404
+ routable: boolean;
405
+ } | null | undefined;
406
+ get data(): Record<string, unknown>;
407
+ get metadataJson(): Record<string, unknown> | null | undefined;
408
+ get publishedAt(): string | null | undefined;
409
+ get order(): number | null | undefined;
410
+ get assets(): PublishedAssetRead[];
411
+ get collections(): PublishedCollectionSummary[];
412
+ get resources(): PublishedResourceRead[];
433
413
  field<T = unknown>(key: string): T | undefined;
434
- /**
435
- * Get all fields from the entry's schema-driven content.
436
- * @since 2.0.0
437
- */
438
414
  get fields(): Record<string, unknown>;
439
- /**
440
- * Get related entries (future)
441
- */
442
415
  relatedEntries(): Promise<MarvinEntry[]>;
443
- /**
444
- * Get raw entry data
445
- */
446
416
  toJSON(): MarvinEntry;
447
417
  }
448
418
 
@@ -1,4 +1,4 @@
1
- import { PublishedEntryType, MarvinResource, MarvinEntry, MarvinAsset, MarvinCollection, MarvinEntryType, MarvinSite, GetResourcesOptions as GetResourcesOptions$1 } from './types/index.cjs';
1
+ import { PublishedEntryType, MarvinResource, MarvinEntry, MarvinAsset, MarvinCollection, PublishedAssetRead, PublishedCollectionSummary, PublishedResourceRead, MarvinSite, GetResourcesOptions as GetResourcesOptions$1 } from './types/index.cjs';
2
2
  import { H as HttpClient } from './HttpClient-CdF3IHM1.cjs';
3
3
 
4
4
  /**
@@ -380,69 +380,39 @@ declare class CollectionsModule {
380
380
  }): Promise<MarvinEntry[]>;
381
381
  }
382
382
 
383
+ /**
384
+ * Entry - Rich object representing a single entry
385
+ */
386
+
383
387
  declare class Entry {
384
- private data;
388
+ private raw;
385
389
  private http;
386
390
  private workspaceSlug;
387
- constructor(data: MarvinEntry, http: MarvinHttpClient, workspaceSlug: string);
388
- get id(): string;
391
+ constructor(raw: MarvinEntry, http: MarvinHttpClient, workspaceSlug: string);
389
392
  get title(): string;
390
393
  get slug(): string;
391
- get summary(): string | undefined;
392
- get description(): string | undefined;
393
- /**
394
- * @deprecated Use field('body') or dataJson instead. Will be removed in v3.0.0
395
- */
396
- get contentMarkdown(): string | undefined;
397
- /**
398
- * Schema-driven content data (replaces contentMarkdown in v2.0.0).
399
- * Access specific fields using the field() helper method.
400
- * @since 2.0.0
401
- */
402
- get dataJson(): Record<string, unknown> | undefined;
403
- get metadata(): Record<string, unknown> | undefined;
404
- get status(): string;
405
- get publishedAt(): string | undefined;
406
- get createdAt(): string;
407
- get updatedAt(): string;
408
- get entryTypeId(): string;
409
- get entryType(): MarvinEntryType | undefined;
410
- /**
411
- * Get entry assets
412
- */
413
- get assets(): MarvinAsset[];
414
- /**
415
- * Get entry collections
416
- */
417
- get collections(): MarvinCollection[];
418
- /**
419
- * Get a specific field value from the entry's schema-driven content (dataJson).
420
- *
421
- * @param key - Field key as defined in the entry type's schema
422
- * @returns The field value, or undefined if not present
423
- * @since 2.0.0
424
- *
425
- * @example
426
- * ```typescript
427
- * const entry = await client.entries.get('my-entry');
428
- * const body = entry.field('body'); // Get markdown body
429
- * const difficulty = entry.field('difficulty'); // Get difficulty level
430
- * const heroImage = entry.field('heroImage'); // Get hero image UUID
431
- * ```
432
- */
394
+ get summary(): string | null | undefined;
395
+ get entryType(): string;
396
+ get entryTypeInfo(): {
397
+ slug: string;
398
+ renderer?: string | null;
399
+ package?: string | null;
400
+ version?: string | null;
401
+ config?: Record<string, unknown> | null;
402
+ publishable: boolean;
403
+ submittable: boolean;
404
+ routable: boolean;
405
+ } | null | undefined;
406
+ get data(): Record<string, unknown>;
407
+ get metadataJson(): Record<string, unknown> | null | undefined;
408
+ get publishedAt(): string | null | undefined;
409
+ get order(): number | null | undefined;
410
+ get assets(): PublishedAssetRead[];
411
+ get collections(): PublishedCollectionSummary[];
412
+ get resources(): PublishedResourceRead[];
433
413
  field<T = unknown>(key: string): T | undefined;
434
- /**
435
- * Get all fields from the entry's schema-driven content.
436
- * @since 2.0.0
437
- */
438
414
  get fields(): Record<string, unknown>;
439
- /**
440
- * Get related entries (future)
441
- */
442
415
  relatedEntries(): Promise<MarvinEntry[]>;
443
- /**
444
- * Get raw entry data
445
- */
446
416
  toJSON(): MarvinEntry;
447
417
  }
448
418
 
package/dist/platform.cjs CHANGED
@@ -1781,10 +1781,16 @@ var FormsModule = class {
1781
1781
  };
1782
1782
 
1783
1783
  // src/platform/client.ts
1784
+ function getEnv2(key) {
1785
+ if (typeof process !== "undefined" && process.env) {
1786
+ return process.env[key];
1787
+ }
1788
+ return void 0;
1789
+ }
1784
1790
  function createPlatformConfigFromEnv(overrides) {
1785
1791
  return {
1786
- apiUrl: overrides?.apiUrl || process.env.MARVIN_API_URL || "http://localhost:8080",
1787
- userToken: overrides?.userToken || process.env.MARVIN_USER_TOKEN,
1792
+ apiUrl: overrides?.apiUrl || getEnv2("MARVIN_API_URL") || "http://localhost:8080",
1793
+ userToken: overrides?.userToken || getEnv2("MARVIN_USER_TOKEN"),
1788
1794
  credentials: overrides?.credentials || "include"
1789
1795
  };
1790
1796
  }
@@ -3637,6 +3637,7 @@ interface EntryTypeCreate {
3637
3637
  icon?: string;
3638
3638
  color?: string;
3639
3639
  sortOrder?: number;
3640
+ isSystem?: boolean;
3640
3641
  isRendered?: boolean;
3641
3642
  schemaJson?: Record<string, unknown>;
3642
3643
  renderingJson?: Record<string, unknown>;
@@ -4646,9 +4647,6 @@ interface PlatformClientConfig {
4646
4647
  userToken?: string;
4647
4648
  credentials?: RequestCredentials;
4648
4649
  }
4649
- /**
4650
- * Create Platform API config from environment
4651
- */
4652
4650
  declare function createPlatformConfigFromEnv(overrides?: Partial<PlatformClientConfig>): PlatformClientConfig;
4653
4651
  declare class PlatformClient extends HttpClient {
4654
4652
  entries: EntriesModule;
@@ -3637,6 +3637,7 @@ interface EntryTypeCreate {
3637
3637
  icon?: string;
3638
3638
  color?: string;
3639
3639
  sortOrder?: number;
3640
+ isSystem?: boolean;
3640
3641
  isRendered?: boolean;
3641
3642
  schemaJson?: Record<string, unknown>;
3642
3643
  renderingJson?: Record<string, unknown>;
@@ -4646,9 +4647,6 @@ interface PlatformClientConfig {
4646
4647
  userToken?: string;
4647
4648
  credentials?: RequestCredentials;
4648
4649
  }
4649
- /**
4650
- * Create Platform API config from environment
4651
- */
4652
4650
  declare function createPlatformConfigFromEnv(overrides?: Partial<PlatformClientConfig>): PlatformClientConfig;
4653
4651
  declare class PlatformClient extends HttpClient {
4654
4652
  entries: EntriesModule;
package/dist/platform.js CHANGED
@@ -1338,10 +1338,16 @@ var FormsModule = class {
1338
1338
  };
1339
1339
 
1340
1340
  // src/platform/client.ts
1341
+ function getEnv2(key) {
1342
+ if (typeof process !== "undefined" && process.env) {
1343
+ return process.env[key];
1344
+ }
1345
+ return void 0;
1346
+ }
1341
1347
  function createPlatformConfigFromEnv(overrides) {
1342
1348
  return {
1343
- apiUrl: overrides?.apiUrl || process.env.MARVIN_API_URL || "http://localhost:8080",
1344
- userToken: overrides?.userToken || process.env.MARVIN_USER_TOKEN,
1349
+ apiUrl: overrides?.apiUrl || getEnv2("MARVIN_API_URL") || "http://localhost:8080",
1350
+ userToken: overrides?.userToken || getEnv2("MARVIN_USER_TOKEN"),
1345
1351
  credentials: overrides?.credentials || "include"
1346
1352
  };
1347
1353
  }
package/dist/publish.cjs CHANGED
@@ -122,15 +122,21 @@ Change to: ${config.apiUrl.replace(url.protocol, "https:")}`
122
122
  }
123
123
  }
124
124
  }
125
+ function getEnv(key) {
126
+ if (typeof process !== "undefined" && process.env) {
127
+ return process.env[key];
128
+ }
129
+ return void 0;
130
+ }
125
131
  function createConfigFromEnv(overrides) {
126
132
  return {
127
- apiUrl: overrides?.apiUrl || process.env.MARVIN_API_URL || "",
128
- siteClientToken: overrides?.siteClientToken || process.env.MARVIN_SITE_CLIENT_TOKEN || "",
129
- workspaceSlug: overrides?.workspaceSlug || process.env.MARVIN_WORKSPACE_SLUG || "",
133
+ apiUrl: overrides?.apiUrl || getEnv("MARVIN_API_URL") || "",
134
+ siteClientToken: overrides?.siteClientToken || getEnv("MARVIN_SITE_CLIENT_TOKEN") || "",
135
+ workspaceSlug: overrides?.workspaceSlug || getEnv("MARVIN_WORKSPACE_SLUG") || "",
130
136
  autoInitialize: overrides?.autoInitialize ?? false,
131
137
  cacheDuration: overrides?.cacheDuration ?? 5 * 60 * 1e3,
132
138
  // 5 minutes
133
- debug: overrides?.debug ?? process.env.MARVIN_DEBUG === "true",
139
+ debug: overrides?.debug ?? getEnv("MARVIN_DEBUG") === "true",
134
140
  logger: overrides?.logger ?? console
135
141
  };
136
142
  }
@@ -718,113 +724,61 @@ var MarvinHttpClient = class extends HttpClient {
718
724
 
719
725
  // src/entries/entry.ts
720
726
  var Entry = class {
721
- constructor(data, http, workspaceSlug) {
722
- this.data = data;
727
+ constructor(raw, http, workspaceSlug) {
728
+ this.raw = raw;
723
729
  this.http = http;
724
730
  this.workspaceSlug = workspaceSlug;
725
731
  }
726
- data;
732
+ raw;
727
733
  http;
728
734
  workspaceSlug;
729
- // Expose all entry data as properties
730
- get id() {
731
- return this.data.id;
732
- }
733
735
  get title() {
734
- return this.data.title;
736
+ return this.raw.title;
735
737
  }
736
738
  get slug() {
737
- return this.data.slug;
739
+ return this.raw.slug;
738
740
  }
739
741
  get summary() {
740
- return this.data.summary;
741
- }
742
- get description() {
743
- return this.data.description;
742
+ return this.raw.summary;
744
743
  }
745
- /**
746
- * @deprecated Use field('body') or dataJson instead. Will be removed in v3.0.0
747
- */
748
- get contentMarkdown() {
749
- return this.data.contentMarkdown;
744
+ get entryType() {
745
+ return this.raw.entryType;
750
746
  }
751
- /**
752
- * Schema-driven content data (replaces contentMarkdown in v2.0.0).
753
- * Access specific fields using the field() helper method.
754
- * @since 2.0.0
755
- */
756
- get dataJson() {
757
- return this.data.dataJson;
747
+ get entryTypeInfo() {
748
+ return this.raw.entryTypeInfo;
758
749
  }
759
- get metadata() {
760
- return this.data.metadata;
750
+ get data() {
751
+ return this.raw.data;
761
752
  }
762
- get status() {
763
- return this.data.status;
753
+ get metadataJson() {
754
+ return this.raw.metadataJson;
764
755
  }
765
756
  get publishedAt() {
766
- return this.data.publishedAt;
767
- }
768
- get createdAt() {
769
- return this.data.createdAt;
757
+ return this.raw.publishedAt;
770
758
  }
771
- get updatedAt() {
772
- return this.data.updatedAt;
759
+ get order() {
760
+ return this.raw.order;
773
761
  }
774
- get entryTypeId() {
775
- return this.data.entryTypeId;
776
- }
777
- get entryType() {
778
- return this.data.entryType;
779
- }
780
- /**
781
- * Get entry assets
782
- */
783
762
  get assets() {
784
- return this.data.assets || [];
763
+ return this.raw.assets;
785
764
  }
786
- /**
787
- * Get entry collections
788
- */
789
765
  get collections() {
790
- return this.data.collections || [];
766
+ return this.raw.collections;
767
+ }
768
+ get resources() {
769
+ return this.raw.resources;
791
770
  }
792
- /**
793
- * Get a specific field value from the entry's schema-driven content (dataJson).
794
- *
795
- * @param key - Field key as defined in the entry type's schema
796
- * @returns The field value, or undefined if not present
797
- * @since 2.0.0
798
- *
799
- * @example
800
- * ```typescript
801
- * const entry = await client.entries.get('my-entry');
802
- * const body = entry.field('body'); // Get markdown body
803
- * const difficulty = entry.field('difficulty'); // Get difficulty level
804
- * const heroImage = entry.field('heroImage'); // Get hero image UUID
805
- * ```
806
- */
807
771
  field(key) {
808
- return this.data.dataJson?.[key];
772
+ return this.raw.data[key];
809
773
  }
810
- /**
811
- * Get all fields from the entry's schema-driven content.
812
- * @since 2.0.0
813
- */
814
774
  get fields() {
815
- return this.data.dataJson || {};
775
+ return this.raw.data;
816
776
  }
817
- /**
818
- * Get related entries (future)
819
- */
820
777
  async relatedEntries() {
821
778
  throw new Error("Related entries not yet implemented");
822
779
  }
823
- /**
824
- * Get raw entry data
825
- */
826
780
  toJSON() {
827
- return this.data;
781
+ return this.raw;
828
782
  }
829
783
  };
830
784
 
@@ -1,6 +1,6 @@
1
- import { M as MarvinConfig, a as MarvinClient } from './marvin-BAslemIz.cjs';
2
- export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-BAslemIz.cjs';
3
- export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite } from './types/index.cjs';
1
+ import { M as MarvinConfig, a as MarvinClient } from './marvin-ixVRMtIS.cjs';
2
+ export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-ixVRMtIS.cjs';
3
+ export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAssetRead, PublishedCollectionSummary, PublishedResourceRead } from './types/index.cjs';
4
4
  export { A as AuthStrategy, B as BearerTokenAuth, H as HttpClient, a as HttpClientConfig } from './HttpClient-CdF3IHM1.cjs';
5
5
 
6
6
  /**
package/dist/publish.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { M as MarvinConfig, a as MarvinClient } from './marvin-BmbMUJXh.js';
2
- export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-BmbMUJXh.js';
3
- export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite } from './types/index.js';
1
+ import { M as MarvinConfig, a as MarvinClient } from './marvin-B6kWCfmU.js';
2
+ export { C as Collection, E as Entry, b as MarvinApiError, c as MarvinAuthError, d as MarvinCache, e as MarvinConfigError, f as MarvinError, g as MarvinNetworkError, h as MarvinNotFoundError, i as MarvinServerError, j as MarvinValidationError, P as PaginatedResponse, k as PaginationMeta, l as PaginationParams, R as Resource, W as Workspace, m as createConfigFromEnv, n as createPaginatedResponse, o as extractData, p as isPaginatedResponse, q as offsetToPage, r as pageToOffset } from './marvin-B6kWCfmU.js';
3
+ export { GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAssetRead, PublishedCollectionSummary, PublishedResourceRead } from './types/index.js';
4
4
  export { A as AuthStrategy, B as BearerTokenAuth, H as HttpClient, a as HttpClientConfig } from './HttpClient-CdF3IHM1.js';
5
5
 
6
6
  /**
package/dist/publish.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  init_marvin,
13
13
  init_resource,
14
14
  init_workspace
15
- } from "./chunk-TZ2TZFWP.js";
15
+ } from "./chunk-CIFRKLJS.js";
16
16
  import {
17
17
  BearerTokenAuth,
18
18
  HttpClient,
@@ -19,30 +19,21 @@ interface MarvinSite {
19
19
  }
20
20
  interface MarvinEntryType {
21
21
  id: string;
22
+ groupId: string | null;
22
23
  name: string;
23
24
  slug: string;
24
- icon?: string;
25
- color?: string;
26
- description?: string;
25
+ icon?: string | null;
26
+ color?: string | null;
27
+ description?: string | null;
27
28
  sortOrder: number;
28
29
  isSystem: boolean;
29
- /**
30
- * Schema definition for this entry type (schema-driven content model).
31
- * Defines what fields exist, their types, and validation rules.
32
- * @since 2.0.0
33
- */
34
- schemaJson?: Record<string, unknown>;
35
- rendering?: {
36
- renderer?: string;
37
- package?: string;
38
- version?: string;
39
- config?: Record<string, unknown>;
40
- };
41
- capabilities?: {
42
- publishable?: boolean;
43
- submittable?: boolean;
44
- routable?: boolean;
45
- };
30
+ isRendered: boolean;
31
+ schemaJson?: Record<string, unknown> | null;
32
+ renderingJson?: Record<string, unknown> | null;
33
+ capabilitiesJson?: Record<string, unknown> | null;
34
+ createdAt?: string | null;
35
+ updateAt?: string | null;
36
+ warnings?: string[] | null;
46
37
  }
47
38
  interface MarvinAsset {
48
39
  id: string;
@@ -114,46 +105,60 @@ interface MarvinResource {
114
105
  createdAt: string;
115
106
  updatedAt: string;
116
107
  }
108
+ interface PublishedCollectionSummary {
109
+ slug: string;
110
+ name: string;
111
+ metadataJson?: Record<string, unknown> | null;
112
+ sortOrder: number;
113
+ }
114
+ interface PublishedResourceRead {
115
+ slug: string;
116
+ name: string;
117
+ resourceType: string;
118
+ description?: string | null;
119
+ url?: string | null;
120
+ externalId?: string | null;
121
+ metadataJson?: Record<string, unknown> | null;
122
+ role?: string | null;
123
+ quantity?: string | null;
124
+ unit?: string | null;
125
+ position: number;
126
+ }
127
+ interface PublishedAssetRead {
128
+ slug: string;
129
+ name: string;
130
+ mimeType: string;
131
+ assetType: string;
132
+ fileSize: number;
133
+ width?: number | null;
134
+ height?: number | null;
135
+ altText?: string | null;
136
+ description?: string | null;
137
+ publicUrl: string;
138
+ metadataJson?: Record<string, unknown> | null;
139
+ }
117
140
  interface MarvinEntry {
118
- id: string;
119
- title: string;
120
141
  slug: string;
121
- summary?: string;
122
- description?: string;
123
- /**
124
- * Schema-driven content data structured according to entry type's schemaJson.
125
- * @since 2.0.0
126
- */
127
- dataJson?: Record<string, unknown>;
128
- /**
129
- * @deprecated Use dataJson instead. Will be removed in v3.0.0
130
- * @since 1.x
131
- */
132
- contentMarkdown?: string;
133
- /**
134
- * Custom non-schema metadata (API keys, external IDs, CMS-specific config).
135
- * For content fields, use dataJson instead.
136
- */
137
- metadata?: Record<string, unknown>;
138
- status: string;
139
- publishedAt?: string;
140
- createdAt: string;
141
- updatedAt: string;
142
+ title: string;
143
+ entryType: string;
142
144
  entryTypeInfo?: {
143
145
  slug: string;
144
- renderer?: string;
145
- package?: string;
146
- version?: string;
147
- config?: Record<string, unknown>;
148
- publishable?: boolean;
149
- submittable?: boolean;
150
- routable?: boolean;
151
- };
152
- entryTypeId: string;
153
- entryType?: MarvinEntryType;
154
- collections?: MarvinCollection[];
155
- assets?: MarvinAsset[];
156
- resources?: MarvinResource[];
146
+ renderer?: string | null;
147
+ package?: string | null;
148
+ version?: string | null;
149
+ config?: Record<string, unknown> | null;
150
+ publishable: boolean;
151
+ submittable: boolean;
152
+ routable: boolean;
153
+ } | null;
154
+ summary?: string | null;
155
+ data: Record<string, unknown>;
156
+ publishedAt?: string | null;
157
+ metadataJson?: Record<string, unknown> | null;
158
+ collections: PublishedCollectionSummary[];
159
+ resources: PublishedResourceRead[];
160
+ assets: PublishedAssetRead[];
161
+ order?: number | null;
157
162
  }
158
163
  interface MarvinPublishResponse<T> {
159
164
  data: T;
@@ -191,10 +196,10 @@ interface PublishedEntryType {
191
196
  config?: Record<string, unknown>;
192
197
  };
193
198
  capabilities?: {
194
- publishable?: boolean;
195
- submittable?: boolean;
196
- routable?: boolean;
197
- };
199
+ publishable: boolean;
200
+ submittable: boolean;
201
+ routable: boolean;
202
+ } | null;
198
203
  }
199
204
  interface GetResourcesOptions {
200
205
  resourceType?: string;
@@ -210,4 +215,4 @@ interface AuthToken {
210
215
  tokenType: string;
211
216
  }
212
217
 
213
- export type { AssetUploadRequest, AuthToken, GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinClientConfig, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAsset, PublishedEntryType };
218
+ export type { AssetUploadRequest, AuthToken, GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinClientConfig, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAsset, PublishedAssetRead, PublishedCollectionSummary, PublishedEntryType, PublishedResourceRead };
@@ -19,30 +19,21 @@ interface MarvinSite {
19
19
  }
20
20
  interface MarvinEntryType {
21
21
  id: string;
22
+ groupId: string | null;
22
23
  name: string;
23
24
  slug: string;
24
- icon?: string;
25
- color?: string;
26
- description?: string;
25
+ icon?: string | null;
26
+ color?: string | null;
27
+ description?: string | null;
27
28
  sortOrder: number;
28
29
  isSystem: boolean;
29
- /**
30
- * Schema definition for this entry type (schema-driven content model).
31
- * Defines what fields exist, their types, and validation rules.
32
- * @since 2.0.0
33
- */
34
- schemaJson?: Record<string, unknown>;
35
- rendering?: {
36
- renderer?: string;
37
- package?: string;
38
- version?: string;
39
- config?: Record<string, unknown>;
40
- };
41
- capabilities?: {
42
- publishable?: boolean;
43
- submittable?: boolean;
44
- routable?: boolean;
45
- };
30
+ isRendered: boolean;
31
+ schemaJson?: Record<string, unknown> | null;
32
+ renderingJson?: Record<string, unknown> | null;
33
+ capabilitiesJson?: Record<string, unknown> | null;
34
+ createdAt?: string | null;
35
+ updateAt?: string | null;
36
+ warnings?: string[] | null;
46
37
  }
47
38
  interface MarvinAsset {
48
39
  id: string;
@@ -114,46 +105,60 @@ interface MarvinResource {
114
105
  createdAt: string;
115
106
  updatedAt: string;
116
107
  }
108
+ interface PublishedCollectionSummary {
109
+ slug: string;
110
+ name: string;
111
+ metadataJson?: Record<string, unknown> | null;
112
+ sortOrder: number;
113
+ }
114
+ interface PublishedResourceRead {
115
+ slug: string;
116
+ name: string;
117
+ resourceType: string;
118
+ description?: string | null;
119
+ url?: string | null;
120
+ externalId?: string | null;
121
+ metadataJson?: Record<string, unknown> | null;
122
+ role?: string | null;
123
+ quantity?: string | null;
124
+ unit?: string | null;
125
+ position: number;
126
+ }
127
+ interface PublishedAssetRead {
128
+ slug: string;
129
+ name: string;
130
+ mimeType: string;
131
+ assetType: string;
132
+ fileSize: number;
133
+ width?: number | null;
134
+ height?: number | null;
135
+ altText?: string | null;
136
+ description?: string | null;
137
+ publicUrl: string;
138
+ metadataJson?: Record<string, unknown> | null;
139
+ }
117
140
  interface MarvinEntry {
118
- id: string;
119
- title: string;
120
141
  slug: string;
121
- summary?: string;
122
- description?: string;
123
- /**
124
- * Schema-driven content data structured according to entry type's schemaJson.
125
- * @since 2.0.0
126
- */
127
- dataJson?: Record<string, unknown>;
128
- /**
129
- * @deprecated Use dataJson instead. Will be removed in v3.0.0
130
- * @since 1.x
131
- */
132
- contentMarkdown?: string;
133
- /**
134
- * Custom non-schema metadata (API keys, external IDs, CMS-specific config).
135
- * For content fields, use dataJson instead.
136
- */
137
- metadata?: Record<string, unknown>;
138
- status: string;
139
- publishedAt?: string;
140
- createdAt: string;
141
- updatedAt: string;
142
+ title: string;
143
+ entryType: string;
142
144
  entryTypeInfo?: {
143
145
  slug: string;
144
- renderer?: string;
145
- package?: string;
146
- version?: string;
147
- config?: Record<string, unknown>;
148
- publishable?: boolean;
149
- submittable?: boolean;
150
- routable?: boolean;
151
- };
152
- entryTypeId: string;
153
- entryType?: MarvinEntryType;
154
- collections?: MarvinCollection[];
155
- assets?: MarvinAsset[];
156
- resources?: MarvinResource[];
146
+ renderer?: string | null;
147
+ package?: string | null;
148
+ version?: string | null;
149
+ config?: Record<string, unknown> | null;
150
+ publishable: boolean;
151
+ submittable: boolean;
152
+ routable: boolean;
153
+ } | null;
154
+ summary?: string | null;
155
+ data: Record<string, unknown>;
156
+ publishedAt?: string | null;
157
+ metadataJson?: Record<string, unknown> | null;
158
+ collections: PublishedCollectionSummary[];
159
+ resources: PublishedResourceRead[];
160
+ assets: PublishedAssetRead[];
161
+ order?: number | null;
157
162
  }
158
163
  interface MarvinPublishResponse<T> {
159
164
  data: T;
@@ -191,10 +196,10 @@ interface PublishedEntryType {
191
196
  config?: Record<string, unknown>;
192
197
  };
193
198
  capabilities?: {
194
- publishable?: boolean;
195
- submittable?: boolean;
196
- routable?: boolean;
197
- };
199
+ publishable: boolean;
200
+ submittable: boolean;
201
+ routable: boolean;
202
+ } | null;
198
203
  }
199
204
  interface GetResourcesOptions {
200
205
  resourceType?: string;
@@ -210,4 +215,4 @@ interface AuthToken {
210
215
  tokenType: string;
211
216
  }
212
217
 
213
- export type { AssetUploadRequest, AuthToken, GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinClientConfig, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAsset, PublishedEntryType };
218
+ export type { AssetUploadRequest, AuthToken, GetAssetsOptions, GetEntriesOptions, GetResourcesOptions, MarvinAsset, MarvinClientConfig, MarvinCollection, MarvinEntry, MarvinEntryType, MarvinPublishResponse, MarvinResource, MarvinSite, PublishedAsset, PublishedAssetRead, PublishedCollectionSummary, PublishedEntryType, PublishedResourceRead };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inneropen/marvin-sdk",
3
- "version": "2.0.0-next.21",
3
+ "version": "2.0.0-next.23",
4
4
  "description": "Official TypeScript SDK for Marvin CMS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",