@inneropen/marvin-sdk 4.1.0 → 4.3.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/{HttpClient-B_rEmJuO.d.cts → HttpClient-DXMNOPqu.d.cts} +17 -1
- package/dist/{HttpClient-B_rEmJuO.d.ts → HttpClient-DXMNOPqu.d.ts} +17 -1
- package/dist/{chunk-VS6R3V3K.js → chunk-KXI2FQSO.js} +50 -17
- package/dist/{chunk-DSVYCVQD.js → chunk-LTX3MAUE.js} +25 -0
- package/dist/{index-CX4jvPAA.d.cts → index-BEEbnrXV.d.cts} +481 -43
- package/dist/{index-CX4jvPAA.d.ts → index-BEEbnrXV.d.ts} +481 -43
- package/dist/index.cjs +75 -16
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +4 -2
- package/dist/{marvin-6keK-yvS.d.cts → marvin-CdsjwIyH.d.ts} +64 -35
- package/dist/{marvin-Cndwz82G.d.ts → marvin-gZtGa576.d.cts} +64 -35
- package/dist/platform.cjs +187 -3
- package/dist/platform.d.cts +190 -7
- package/dist/platform.d.ts +190 -7
- package/dist/platform.js +162 -4
- package/dist/publish.cjs +74 -16
- package/dist/publish.d.cts +4 -4
- package/dist/publish.d.ts +4 -4
- package/dist/publish.js +5 -3
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/platform.cjs
CHANGED
|
@@ -39,6 +39,7 @@ __export(platform_exports, {
|
|
|
39
39
|
AssetsModule: () => AssetsModule,
|
|
40
40
|
AuthModule: () => AuthModule,
|
|
41
41
|
AutomationsModule: () => AutomationsModule,
|
|
42
|
+
BlueprintsModule: () => BlueprintsModule,
|
|
42
43
|
CollectionsModule: () => CollectionsModule,
|
|
43
44
|
EmailEventSubscriptionsModule: () => EmailEventSubscriptionsModule,
|
|
44
45
|
EmailTemplatesClient: () => EmailTemplatesClient,
|
|
@@ -403,6 +404,9 @@ var HttpClient = class _HttpClient {
|
|
|
403
404
|
errorText
|
|
404
405
|
);
|
|
405
406
|
}
|
|
407
|
+
if (options?.responseType === "binary") {
|
|
408
|
+
return await this.readBinary(response, method, endpoint);
|
|
409
|
+
}
|
|
406
410
|
const data = await this.readBody(response, method, endpoint);
|
|
407
411
|
if (this.debug && data !== void 0) {
|
|
408
412
|
const sanitized = this.sanitizeForLogging(data);
|
|
@@ -448,12 +452,34 @@ var HttpClient = class _HttpClient {
|
|
|
448
452
|
);
|
|
449
453
|
}
|
|
450
454
|
}
|
|
455
|
+
/** A successful response's bytes; a 204/205 is an empty array. A failed read is a network error. */
|
|
456
|
+
async readBinary(response, method, endpoint) {
|
|
457
|
+
const contentType = response.headers.get("content-type");
|
|
458
|
+
if (response.status === 204 || response.status === 205) {
|
|
459
|
+
return { data: new Uint8Array(0), contentType };
|
|
460
|
+
}
|
|
461
|
+
try {
|
|
462
|
+
return { data: new Uint8Array(await response.arrayBuffer()), contentType };
|
|
463
|
+
} catch (error) {
|
|
464
|
+
const cause = error instanceof Error ? error : void 0;
|
|
465
|
+
throw new MarvinNetworkError(
|
|
466
|
+
`Reading the ${response.status} response to ${method} ${endpoint} failed: ${cause?.message ?? String(error)}`,
|
|
467
|
+
cause
|
|
468
|
+
);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
451
471
|
/**
|
|
452
472
|
* GET request
|
|
453
473
|
*/
|
|
454
474
|
async get(endpoint, params) {
|
|
455
475
|
return this.request("GET", endpoint, { params });
|
|
456
476
|
}
|
|
477
|
+
/**
|
|
478
|
+
* GET a binary body (a file download). Follows redirects; retried like any GET.
|
|
479
|
+
*/
|
|
480
|
+
async getBinary(endpoint, params) {
|
|
481
|
+
return this.request("GET", endpoint, { params, responseType: "binary" });
|
|
482
|
+
}
|
|
457
483
|
/**
|
|
458
484
|
* POST request
|
|
459
485
|
*/
|
|
@@ -534,6 +560,12 @@ var EntriesModule = class {
|
|
|
534
560
|
async list() {
|
|
535
561
|
return this.http.get("/api/platform/entries");
|
|
536
562
|
}
|
|
563
|
+
/**
|
|
564
|
+
* Entry counts by status, zero-filled, plus `total` (what the sidebar's inbox badge reads).
|
|
565
|
+
*/
|
|
566
|
+
async counts() {
|
|
567
|
+
return this.http.get("/api/platform/entries/counts");
|
|
568
|
+
}
|
|
537
569
|
/**
|
|
538
570
|
* Get a single entry by ID
|
|
539
571
|
*/
|
|
@@ -587,6 +619,38 @@ var EntriesModule = class {
|
|
|
587
619
|
const validCollectionId = this.http.validatePathParam(collectionId, "collection ID");
|
|
588
620
|
return this.http.delete(`/api/platform/entries/${validEntryId}/collections/${validCollectionId}`);
|
|
589
621
|
}
|
|
622
|
+
/**
|
|
623
|
+
* Apply the entry's staged AI suggestion (`suggestionJson`) and clear it — the approval half of
|
|
624
|
+
* AI write-back. Returns the updated entry.
|
|
625
|
+
*/
|
|
626
|
+
async applySuggestion(id) {
|
|
627
|
+
const validId = this.http.validatePathParam(id, "entry ID");
|
|
628
|
+
return this.http.post(`/api/platform/entries/${validId}/apply-suggestion`, {});
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Discard the entry's staged AI suggestion without applying it.
|
|
632
|
+
*/
|
|
633
|
+
async rejectSuggestion(id) {
|
|
634
|
+
const validId = this.http.validatePathParam(id, "entry ID");
|
|
635
|
+
return this.http.post(`/api/platform/entries/${validId}/reject-suggestion`, {});
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Approve an AI-suggested asset on an entry: it becomes a normal attached asset (and reaches
|
|
639
|
+
* published output).
|
|
640
|
+
*/
|
|
641
|
+
async approveSuggestedAsset(entryId, assetId) {
|
|
642
|
+
const e = this.http.validatePathParam(entryId, "entry ID");
|
|
643
|
+
const a = this.http.validatePathParam(assetId, "asset ID");
|
|
644
|
+
return this.http.post(`/api/platform/entries/${e}/suggested-assets/${a}/approve`, {});
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* Reject an AI-suggested asset: unlink it, and delete the asset if nothing else uses it.
|
|
648
|
+
*/
|
|
649
|
+
async rejectSuggestedAsset(entryId, assetId) {
|
|
650
|
+
const e = this.http.validatePathParam(entryId, "entry ID");
|
|
651
|
+
const a = this.http.validatePathParam(assetId, "asset ID");
|
|
652
|
+
return this.http.post(`/api/platform/entries/${e}/suggested-assets/${a}/reject`, {});
|
|
653
|
+
}
|
|
590
654
|
};
|
|
591
655
|
|
|
592
656
|
// src/platform/collections.ts
|
|
@@ -627,6 +691,22 @@ var CollectionsModule = class {
|
|
|
627
691
|
smartRules: rules
|
|
628
692
|
});
|
|
629
693
|
}
|
|
694
|
+
/**
|
|
695
|
+
* Preview unsaved smart-collection rules: how many items they match (`total`) and the first
|
|
696
|
+
* `limit` of them (default 10, at most 50), evaluated by the same code that materializes
|
|
697
|
+
* membership on save. Saves nothing. Needs EDITOR.
|
|
698
|
+
*/
|
|
699
|
+
async preview(request) {
|
|
700
|
+
return this.http.post("/api/platform/collections/preview", request);
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* A collection's members, whatever it groups — entries, assets or resources — as
|
|
704
|
+
* `{id, label, slug, type}`, ordered by label.
|
|
705
|
+
*/
|
|
706
|
+
async members(id) {
|
|
707
|
+
const validId = this.http.validatePathParam(id, "collection ID");
|
|
708
|
+
return this.http.get(`/api/platform/collections/${validId}/members`);
|
|
709
|
+
}
|
|
630
710
|
/**
|
|
631
711
|
* Update a collection
|
|
632
712
|
*/
|
|
@@ -800,6 +880,20 @@ var ResourcesModule = class {
|
|
|
800
880
|
async getEntries(id) {
|
|
801
881
|
return this.http.get(`/api/platform/resources/${id}/entries`);
|
|
802
882
|
}
|
|
883
|
+
/**
|
|
884
|
+
* Apply the resource's staged AI suggestion (`suggestionJson`) and clear it. Needs EDITOR.
|
|
885
|
+
*/
|
|
886
|
+
async applySuggestion(id) {
|
|
887
|
+
const validId = this.http.validatePathParam(id, "resource ID");
|
|
888
|
+
return this.http.post(`/api/platform/resources/${validId}/apply-suggestion`, {});
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Discard the resource's staged AI suggestion without applying it. Needs EDITOR.
|
|
892
|
+
*/
|
|
893
|
+
async rejectSuggestion(id) {
|
|
894
|
+
const validId = this.http.validatePathParam(id, "resource ID");
|
|
895
|
+
return this.http.post(`/api/platform/resources/${validId}/reject-suggestion`, {});
|
|
896
|
+
}
|
|
803
897
|
};
|
|
804
898
|
|
|
805
899
|
// src/platform/assets.ts
|
|
@@ -914,11 +1008,19 @@ var AssetsModule = class {
|
|
|
914
1008
|
return this.http.delete(`/api/platform/assets/${validId}`);
|
|
915
1009
|
}
|
|
916
1010
|
/**
|
|
917
|
-
*
|
|
1011
|
+
* Download an asset's file: its bytes and content type. A redirect to storage is followed.
|
|
918
1012
|
*/
|
|
919
|
-
async
|
|
1013
|
+
async download(id) {
|
|
920
1014
|
const validId = this.http.validatePathParam(id, "asset ID");
|
|
921
|
-
return this.http.
|
|
1015
|
+
return this.http.getBinary(`/api/platform/assets/${validId}/file`);
|
|
1016
|
+
}
|
|
1017
|
+
/**
|
|
1018
|
+
* Fetch the raw file for an asset.
|
|
1019
|
+
* @deprecated Use {@link download}, which is typed. (Before 4.3 this resolved to `undefined` for
|
|
1020
|
+
* any file that wasn't JSON; it now returns the same `BinaryResponse` as `download`.)
|
|
1021
|
+
*/
|
|
1022
|
+
async getFile(id) {
|
|
1023
|
+
return this.download(id);
|
|
922
1024
|
}
|
|
923
1025
|
/**
|
|
924
1026
|
* Get download URL for an asset file
|
|
@@ -929,6 +1031,20 @@ var AssetsModule = class {
|
|
|
929
1031
|
const base = baseUrl || (typeof window !== "undefined" && window.location ? window.location.origin : "");
|
|
930
1032
|
return `${base}/api/platform/assets/${validId}/file`;
|
|
931
1033
|
}
|
|
1034
|
+
/**
|
|
1035
|
+
* Apply the asset's staged AI suggestion (`suggestionJson`) and clear it. Needs EDITOR.
|
|
1036
|
+
*/
|
|
1037
|
+
async applySuggestion(id) {
|
|
1038
|
+
const validId = this.http.validatePathParam(id, "asset ID");
|
|
1039
|
+
return this.http.post(`/api/platform/assets/${validId}/apply-suggestion`, {});
|
|
1040
|
+
}
|
|
1041
|
+
/**
|
|
1042
|
+
* Discard the asset's staged AI suggestion without applying it. Needs EDITOR.
|
|
1043
|
+
*/
|
|
1044
|
+
async rejectSuggestion(id) {
|
|
1045
|
+
const validId = this.http.validatePathParam(id, "asset ID");
|
|
1046
|
+
return this.http.post(`/api/platform/assets/${validId}/reject-suggestion`, {});
|
|
1047
|
+
}
|
|
932
1048
|
};
|
|
933
1049
|
|
|
934
1050
|
// src/platform/apiClients.ts
|
|
@@ -1179,6 +1295,13 @@ var WorkspacesModule = class {
|
|
|
1179
1295
|
async getStats() {
|
|
1180
1296
|
return this.http.get("/api/platform/stats");
|
|
1181
1297
|
}
|
|
1298
|
+
/**
|
|
1299
|
+
* The current workspace's dashboard: recent activity and the "needs attention" counts (inbox,
|
|
1300
|
+
* drafts, entries needing review, pending AI suggestions, failures in the last 7 days).
|
|
1301
|
+
*/
|
|
1302
|
+
async getDashboard() {
|
|
1303
|
+
return this.http.get("/api/platform/stats/dashboard");
|
|
1304
|
+
}
|
|
1182
1305
|
/**
|
|
1183
1306
|
* List available workspace backups
|
|
1184
1307
|
*/
|
|
@@ -2875,6 +2998,10 @@ var IncomingWebhooksModule = class {
|
|
|
2875
2998
|
async list() {
|
|
2876
2999
|
return this.http.get("/api/incoming-webhooks");
|
|
2877
3000
|
}
|
|
3001
|
+
/** The signature schemes a webhook can pick (`signatureScheme`). */
|
|
3002
|
+
async signatureSchemes() {
|
|
3003
|
+
return this.http.get("/api/incoming-webhooks/signature-schemes");
|
|
3004
|
+
}
|
|
2878
3005
|
async get(id) {
|
|
2879
3006
|
const validId = this.http.validatePathParam(id, "incoming webhook id");
|
|
2880
3007
|
return this.http.get(`/api/incoming-webhooks/${validId}`);
|
|
@@ -2903,6 +3030,59 @@ var IncomingWebhooksModule = class {
|
|
|
2903
3030
|
}
|
|
2904
3031
|
};
|
|
2905
3032
|
|
|
3033
|
+
// src/platform/blueprints.ts
|
|
3034
|
+
var BASE2 = "/api/groups/blueprints";
|
|
3035
|
+
var BlueprintsModule = class {
|
|
3036
|
+
constructor(http) {
|
|
3037
|
+
this.http = http;
|
|
3038
|
+
}
|
|
3039
|
+
http;
|
|
3040
|
+
query(options = {}) {
|
|
3041
|
+
return this.http.buildQueryString({ source: options.source, integration_id: options.integrationId });
|
|
3042
|
+
}
|
|
3043
|
+
/** The catalog, annotated with what this workspace can do about each blueprint. */
|
|
3044
|
+
async list(options = {}) {
|
|
3045
|
+
return this.http.get(BASE2, {
|
|
3046
|
+
kind: options.kind,
|
|
3047
|
+
category: options.category,
|
|
3048
|
+
source: options.source,
|
|
3049
|
+
integration_id: options.integrationId
|
|
3050
|
+
});
|
|
3051
|
+
}
|
|
3052
|
+
/** Category names in catalog order: core's first, then each provider's. */
|
|
3053
|
+
async categories() {
|
|
3054
|
+
return this.http.get(`${BASE2}/categories`);
|
|
3055
|
+
}
|
|
3056
|
+
/** One blueprint, including its payload. */
|
|
3057
|
+
async get(slug, options = {}) {
|
|
3058
|
+
const validSlug = this.http.validatePathParam(slug, "blueprint slug");
|
|
3059
|
+
return this.http.get(`${BASE2}/${validSlug}`, { source: options.source });
|
|
3060
|
+
}
|
|
3061
|
+
/**
|
|
3062
|
+
* Create this blueprint's object in the workspace if it isn't there yet. `params` fills the
|
|
3063
|
+
* parameters the blueprint declares, e.g. `{ entry_type: 'post' }`. Needs ADMIN.
|
|
3064
|
+
*/
|
|
3065
|
+
async apply(slug, params, options = {}) {
|
|
3066
|
+
const validSlug = this.http.validatePathParam(slug, "blueprint slug");
|
|
3067
|
+
return this.http.post(`${BASE2}/${validSlug}/apply${this.query(options)}`, params);
|
|
3068
|
+
}
|
|
3069
|
+
/**
|
|
3070
|
+
* Apply several blueprints at once; entry types are created before the collections and tasks that
|
|
3071
|
+
* use them, whatever the order here. `params` is keyed by blueprint slug. Needs ADMIN.
|
|
3072
|
+
*/
|
|
3073
|
+
async applyMany(slugs, params, options = {}) {
|
|
3074
|
+
return this.http.post(`${BASE2}/apply${this.query(options)}`, {
|
|
3075
|
+
slugs,
|
|
3076
|
+
...params ? { params } : {}
|
|
3077
|
+
});
|
|
3078
|
+
}
|
|
3079
|
+
/** Replace an applied workflow's steps with what its integration declares now. Needs ADMIN. */
|
|
3080
|
+
async update(slug, params, options = {}) {
|
|
3081
|
+
const validSlug = this.http.validatePathParam(slug, "blueprint slug");
|
|
3082
|
+
return this.http.post(`${BASE2}/${validSlug}/update${this.query(options)}`, params);
|
|
3083
|
+
}
|
|
3084
|
+
};
|
|
3085
|
+
|
|
2906
3086
|
// src/platform/site.ts
|
|
2907
3087
|
var REBUILD = "/api/platform/site/rebuild";
|
|
2908
3088
|
var SiteModule = class {
|
|
@@ -2969,6 +3149,8 @@ var PlatformClient = class extends HttpClient {
|
|
|
2969
3149
|
automations;
|
|
2970
3150
|
// Incoming (ingress) webhooks — tokened endpoints that drop events on the bus.
|
|
2971
3151
|
incomingWebhooks;
|
|
3152
|
+
/** Blueprint catalog: browse and apply collections, entry types, tasks and workflows */
|
|
3153
|
+
blueprints;
|
|
2972
3154
|
// Site — request a rebuild of the workspace's static site and read its status.
|
|
2973
3155
|
site;
|
|
2974
3156
|
// Admin modules
|
|
@@ -3013,6 +3195,7 @@ var PlatformClient = class extends HttpClient {
|
|
|
3013
3195
|
this.ai = new AIModule(this);
|
|
3014
3196
|
this.automations = new AutomationsModule(this);
|
|
3015
3197
|
this.incomingWebhooks = new IncomingWebhooksModule(this);
|
|
3198
|
+
this.blueprints = new BlueprintsModule(this);
|
|
3016
3199
|
this.site = new SiteModule(this);
|
|
3017
3200
|
this.adminUsers = new AdminUsersModule(this);
|
|
3018
3201
|
this.adminSystem = new AdminSystemModule(this);
|
|
@@ -3048,6 +3231,7 @@ function createPlatformClient(config) {
|
|
|
3048
3231
|
AssetsModule,
|
|
3049
3232
|
AuthModule,
|
|
3050
3233
|
AutomationsModule,
|
|
3234
|
+
BlueprintsModule,
|
|
3051
3235
|
CollectionsModule,
|
|
3052
3236
|
EmailEventSubscriptionsModule,
|
|
3053
3237
|
EmailTemplatesClient,
|
package/dist/platform.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { H as HttpClient } from './HttpClient-
|
|
2
|
-
import {
|
|
1
|
+
import { H as HttpClient, a as BinaryResponse } from './HttpClient-DXMNOPqu.cjs';
|
|
2
|
+
import { t as components, A as AuthToken } from './index-BEEbnrXV.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Platform API Types
|
|
@@ -14,6 +14,18 @@ import { r as components, A as AuthToken } from './index-CX4jvPAA.cjs';
|
|
|
14
14
|
type PlatformEntry = components['schemas']['EntryRead'];
|
|
15
15
|
type PlatformEntryCreate = components['schemas']['EntryCreate'];
|
|
16
16
|
type PlatformEntryUpdate = components['schemas']['EntryUpdate'];
|
|
17
|
+
/**
|
|
18
|
+
* Entry counts by status (`GET /api/platform/entries/counts`): every known status, zero-filled,
|
|
19
|
+
* plus `total` — e.g. `{ inbox: 2, draft: 5, needs_review: 1, published: 40, …, total: 48 }`.
|
|
20
|
+
*/
|
|
21
|
+
type PlatformEntryCounts = Record<string, number>;
|
|
22
|
+
/**
|
|
23
|
+
* The dashboard (`GET /api/platform/stats/dashboard`): recent activity and the "needs attention"
|
|
24
|
+
* counts — inbox, drafts, entries needing review, pending AI suggestions, failures in the last 7 days.
|
|
25
|
+
*/
|
|
26
|
+
type PlatformDashboard = components['schemas']['DashboardData'];
|
|
27
|
+
type PlatformAttentionCounts = components['schemas']['AttentionCounts'];
|
|
28
|
+
type PlatformRecentEvent = components['schemas']['RecentEvent'];
|
|
17
29
|
/**
|
|
18
30
|
* Tag (Platform API) — the shared, group-scoped label vocabulary.
|
|
19
31
|
*/
|
|
@@ -51,6 +63,28 @@ interface SmartCollectionRules {
|
|
|
51
63
|
/** how to combine the dimensions above (default "all") */
|
|
52
64
|
match?: 'all' | 'any';
|
|
53
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Smart-collection rule preview: what unsaved rules would select, without saving anything.
|
|
68
|
+
*/
|
|
69
|
+
interface SmartRulesPreviewRequest {
|
|
70
|
+
/** Which kind of item the rules select (default 'entry'). */
|
|
71
|
+
targetType?: 'entry' | 'asset' | 'resource';
|
|
72
|
+
/** The rules, in the same shape as a collection's `smartRules`. */
|
|
73
|
+
smartRules?: SmartCollectionRules | Record<string, unknown> | null;
|
|
74
|
+
/** How many matches to list (default 10, at most 50); `total` counts them all. */
|
|
75
|
+
limit?: number;
|
|
76
|
+
}
|
|
77
|
+
type SmartRulesPreview = components['schemas']['SmartRulesPreview'];
|
|
78
|
+
/**
|
|
79
|
+
* One member of a collection of any target type (`GET /api/platform/collections/{id}/members`).
|
|
80
|
+
*/
|
|
81
|
+
interface CollectionMember {
|
|
82
|
+
id: string;
|
|
83
|
+
/** The entry's title, or the asset's / resource's name. */
|
|
84
|
+
label: string;
|
|
85
|
+
slug: string | null;
|
|
86
|
+
type: 'entry' | 'asset' | 'resource';
|
|
87
|
+
}
|
|
54
88
|
/**
|
|
55
89
|
* Resource (Platform API - full CRUD)
|
|
56
90
|
*/
|
|
@@ -111,6 +145,10 @@ declare class EntriesModule {
|
|
|
111
145
|
* List all entries
|
|
112
146
|
*/
|
|
113
147
|
list(): Promise<PlatformEntry[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Entry counts by status, zero-filled, plus `total` (what the sidebar's inbox badge reads).
|
|
150
|
+
*/
|
|
151
|
+
counts(): Promise<PlatformEntryCounts>;
|
|
114
152
|
/**
|
|
115
153
|
* Get a single entry by ID
|
|
116
154
|
*/
|
|
@@ -141,6 +179,24 @@ declare class EntriesModule {
|
|
|
141
179
|
* Remove entry from a collection
|
|
142
180
|
*/
|
|
143
181
|
removeFromCollection(entryId: string, collectionId: string): Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* Apply the entry's staged AI suggestion (`suggestionJson`) and clear it — the approval half of
|
|
184
|
+
* AI write-back. Returns the updated entry.
|
|
185
|
+
*/
|
|
186
|
+
applySuggestion(id: string): Promise<PlatformEntry>;
|
|
187
|
+
/**
|
|
188
|
+
* Discard the entry's staged AI suggestion without applying it.
|
|
189
|
+
*/
|
|
190
|
+
rejectSuggestion(id: string): Promise<PlatformEntry>;
|
|
191
|
+
/**
|
|
192
|
+
* Approve an AI-suggested asset on an entry: it becomes a normal attached asset (and reaches
|
|
193
|
+
* published output).
|
|
194
|
+
*/
|
|
195
|
+
approveSuggestedAsset(entryId: string, assetId: string): Promise<PlatformEntry>;
|
|
196
|
+
/**
|
|
197
|
+
* Reject an AI-suggested asset: unlink it, and delete the asset if nothing else uses it.
|
|
198
|
+
*/
|
|
199
|
+
rejectSuggestedAsset(entryId: string, assetId: string): Promise<PlatformEntry>;
|
|
144
200
|
}
|
|
145
201
|
|
|
146
202
|
/**
|
|
@@ -170,6 +226,17 @@ declare class CollectionsModule {
|
|
|
170
226
|
* server keeps membership in sync. Pass extra fields (description, icon, …) via `extra`.
|
|
171
227
|
*/
|
|
172
228
|
createSmart(name: string, rules: SmartCollectionRules, extra?: Partial<PlatformCollectionCreate>): Promise<PlatformCollection>;
|
|
229
|
+
/**
|
|
230
|
+
* Preview unsaved smart-collection rules: how many items they match (`total`) and the first
|
|
231
|
+
* `limit` of them (default 10, at most 50), evaluated by the same code that materializes
|
|
232
|
+
* membership on save. Saves nothing. Needs EDITOR.
|
|
233
|
+
*/
|
|
234
|
+
preview(request: SmartRulesPreviewRequest): Promise<SmartRulesPreview>;
|
|
235
|
+
/**
|
|
236
|
+
* A collection's members, whatever it groups — entries, assets or resources — as
|
|
237
|
+
* `{id, label, slug, type}`, ordered by label.
|
|
238
|
+
*/
|
|
239
|
+
members(id: string): Promise<CollectionMember[]>;
|
|
173
240
|
/**
|
|
174
241
|
* Update a collection
|
|
175
242
|
*/
|
|
@@ -284,6 +351,14 @@ declare class ResourcesModule {
|
|
|
284
351
|
* Get entries that reference this resource
|
|
285
352
|
*/
|
|
286
353
|
getEntries(id: string): Promise<PlatformEntry[]>;
|
|
354
|
+
/**
|
|
355
|
+
* Apply the resource's staged AI suggestion (`suggestionJson`) and clear it. Needs EDITOR.
|
|
356
|
+
*/
|
|
357
|
+
applySuggestion(id: string): Promise<PlatformResource>;
|
|
358
|
+
/**
|
|
359
|
+
* Discard the resource's staged AI suggestion without applying it. Needs EDITOR.
|
|
360
|
+
*/
|
|
361
|
+
rejectSuggestion(id: string): Promise<PlatformResource>;
|
|
287
362
|
}
|
|
288
363
|
|
|
289
364
|
/**
|
|
@@ -343,7 +418,13 @@ declare class AssetsModule {
|
|
|
343
418
|
*/
|
|
344
419
|
delete(id: string): Promise<void>;
|
|
345
420
|
/**
|
|
346
|
-
*
|
|
421
|
+
* Download an asset's file: its bytes and content type. A redirect to storage is followed.
|
|
422
|
+
*/
|
|
423
|
+
download(id: string): Promise<BinaryResponse>;
|
|
424
|
+
/**
|
|
425
|
+
* Fetch the raw file for an asset.
|
|
426
|
+
* @deprecated Use {@link download}, which is typed. (Before 4.3 this resolved to `undefined` for
|
|
427
|
+
* any file that wasn't JSON; it now returns the same `BinaryResponse` as `download`.)
|
|
347
428
|
*/
|
|
348
429
|
getFile(id: string): Promise<unknown>;
|
|
349
430
|
/**
|
|
@@ -351,6 +432,14 @@ declare class AssetsModule {
|
|
|
351
432
|
* Use this to create download links or fetch the file directly
|
|
352
433
|
*/
|
|
353
434
|
getDownloadUrl(id: string, baseUrl?: string): string;
|
|
435
|
+
/**
|
|
436
|
+
* Apply the asset's staged AI suggestion (`suggestionJson`) and clear it. Needs EDITOR.
|
|
437
|
+
*/
|
|
438
|
+
applySuggestion(id: string): Promise<PlatformAsset>;
|
|
439
|
+
/**
|
|
440
|
+
* Discard the asset's staged AI suggestion without applying it. Needs EDITOR.
|
|
441
|
+
*/
|
|
442
|
+
rejectSuggestion(id: string): Promise<PlatformAsset>;
|
|
354
443
|
}
|
|
355
444
|
|
|
356
445
|
/**
|
|
@@ -542,6 +631,11 @@ declare class WorkspacesModule {
|
|
|
542
631
|
* Get platform-level stats for the current workspace
|
|
543
632
|
*/
|
|
544
633
|
getStats(): Promise<unknown>;
|
|
634
|
+
/**
|
|
635
|
+
* The current workspace's dashboard: recent activity and the "needs attention" counts (inbox,
|
|
636
|
+
* drafts, entries needing review, pending AI suggestions, failures in the last 7 days).
|
|
637
|
+
*/
|
|
638
|
+
getDashboard(): Promise<PlatformDashboard>;
|
|
545
639
|
/**
|
|
546
640
|
* List available workspace backups
|
|
547
641
|
*/
|
|
@@ -2912,7 +3006,32 @@ declare class AutomationsModule {
|
|
|
2912
3006
|
* Routes: /api/incoming-webhooks (CRUD) + /api/incoming-webhooks/{id}/token (mint/revoke).
|
|
2913
3007
|
*/
|
|
2914
3008
|
|
|
2915
|
-
|
|
3009
|
+
/**
|
|
3010
|
+
* How a webhook verifies its sender. Unset = no verification, or the default HMAC check
|
|
3011
|
+
* (`sha256=<hex>` in `X-Signature-256`) once `signingSecretRef` names the workspace secret
|
|
3012
|
+
* holding the sender's key. `signatureScheme` picks a preset (see
|
|
3013
|
+
* {@link IncomingWebhooksModule.signatureSchemes}) or `custom`, described by `signatureConfig`.
|
|
3014
|
+
*/
|
|
3015
|
+
interface IncomingWebhookSignature {
|
|
3016
|
+
/** Slug of the workspace secret holding the sender's signing key. */
|
|
3017
|
+
signingSecretRef?: string | null;
|
|
3018
|
+
/** The header carrying the signature (defaults to X-Signature-256). */
|
|
3019
|
+
signatureHeader?: string | null;
|
|
3020
|
+
/** A core preset, an integration's preset, or `custom`. */
|
|
3021
|
+
signatureScheme?: string | null;
|
|
3022
|
+
/** The URL the sender signs, for schemes that sign the URL (when it differs from the receiver's). */
|
|
3023
|
+
signatureUrl?: string | null;
|
|
3024
|
+
/** The construction for `custom`. */
|
|
3025
|
+
signatureConfig?: Record<string, unknown> | null;
|
|
3026
|
+
}
|
|
3027
|
+
/** A scheme a webhook can verify with: core presets, then integration presets, then `custom`. */
|
|
3028
|
+
interface IncomingWebhookSignatureScheme {
|
|
3029
|
+
name: string;
|
|
3030
|
+
notes: string;
|
|
3031
|
+
/** `core`, or the slug of the integration that contributes it. */
|
|
3032
|
+
source: string;
|
|
3033
|
+
}
|
|
3034
|
+
interface IncomingWebhook extends IncomingWebhookSignature {
|
|
2916
3035
|
id: string;
|
|
2917
3036
|
groupId: string;
|
|
2918
3037
|
name: string;
|
|
@@ -2924,13 +3043,13 @@ interface IncomingWebhook {
|
|
|
2924
3043
|
receivedCount: number;
|
|
2925
3044
|
lastReceivedAt: string | null;
|
|
2926
3045
|
}
|
|
2927
|
-
interface IncomingWebhookCreate {
|
|
3046
|
+
interface IncomingWebhookCreate extends IncomingWebhookSignature {
|
|
2928
3047
|
name: string;
|
|
2929
3048
|
slug?: string;
|
|
2930
3049
|
description?: string;
|
|
2931
3050
|
enabled?: boolean;
|
|
2932
3051
|
}
|
|
2933
|
-
interface IncomingWebhookUpdate {
|
|
3052
|
+
interface IncomingWebhookUpdate extends IncomingWebhookSignature {
|
|
2934
3053
|
name?: string;
|
|
2935
3054
|
description?: string;
|
|
2936
3055
|
enabled?: boolean;
|
|
@@ -2940,6 +3059,8 @@ declare class IncomingWebhooksModule {
|
|
|
2940
3059
|
constructor(http: HttpClient);
|
|
2941
3060
|
/** List the workspace's incoming webhooks. */
|
|
2942
3061
|
list(): Promise<IncomingWebhook[]>;
|
|
3062
|
+
/** The signature schemes a webhook can pick (`signatureScheme`). */
|
|
3063
|
+
signatureSchemes(): Promise<IncomingWebhookSignatureScheme[]>;
|
|
2943
3064
|
get(id: string): Promise<IncomingWebhook>;
|
|
2944
3065
|
/** Create an incoming webhook (no token yet — mint one with {@link mintToken}). */
|
|
2945
3066
|
create(body: IncomingWebhookCreate): Promise<IncomingWebhook>;
|
|
@@ -2951,6 +3072,66 @@ declare class IncomingWebhooksModule {
|
|
|
2951
3072
|
revokeToken(id: string): Promise<IncomingWebhook>;
|
|
2952
3073
|
}
|
|
2953
3074
|
|
|
3075
|
+
/**
|
|
3076
|
+
* Blueprints Module — Platform API
|
|
3077
|
+
*
|
|
3078
|
+
* The catalog of structure a workspace could have — collections, entry types, scheduled tasks and
|
|
3079
|
+
* workflows that core ships and installed integrations contribute — and applying them to the active
|
|
3080
|
+
* workspace. Each catalog entry says whether this workspace can use it (`available`,
|
|
3081
|
+
* `missingRequirements`), already has it (`applied`), or has an older version of it (`outdated`).
|
|
3082
|
+
*
|
|
3083
|
+
* Applying creates what is missing and never overwrites what exists, so a repeat call is a no-op;
|
|
3084
|
+
* the result says what happened. Reads: any member. Apply and update: workspace ADMIN.
|
|
3085
|
+
*
|
|
3086
|
+
* Routes: /api/groups/blueprints (+ /categories, /{slug}, /{slug}/apply, /{slug}/update, /apply).
|
|
3087
|
+
*/
|
|
3088
|
+
|
|
3089
|
+
type Blueprint = components['schemas']['BlueprintRead'];
|
|
3090
|
+
type BlueprintApplyResult = components['schemas']['BlueprintApplyResult'];
|
|
3091
|
+
type BlueprintParameter = components['schemas']['BlueprintParameter'];
|
|
3092
|
+
interface BlueprintListOptions {
|
|
3093
|
+
/** `collection`, `entry_type`, `scheduled_task`, … */
|
|
3094
|
+
kind?: string;
|
|
3095
|
+
category?: string;
|
|
3096
|
+
/** `core`, or a provider slug. */
|
|
3097
|
+
source?: string;
|
|
3098
|
+
/** The connection to check per-integration blueprints against (`applied`). */
|
|
3099
|
+
integrationId?: string;
|
|
3100
|
+
}
|
|
3101
|
+
interface BlueprintApplyOptions {
|
|
3102
|
+
/** Pick the blueprint from this source when several share a slug. */
|
|
3103
|
+
source?: string;
|
|
3104
|
+
/** The connection a per-integration blueprint is applied for. */
|
|
3105
|
+
integrationId?: string;
|
|
3106
|
+
}
|
|
3107
|
+
declare class BlueprintsModule {
|
|
3108
|
+
private http;
|
|
3109
|
+
constructor(http: HttpClient);
|
|
3110
|
+
private query;
|
|
3111
|
+
/** The catalog, annotated with what this workspace can do about each blueprint. */
|
|
3112
|
+
list(options?: BlueprintListOptions): Promise<Blueprint[]>;
|
|
3113
|
+
/** Category names in catalog order: core's first, then each provider's. */
|
|
3114
|
+
categories(): Promise<string[]>;
|
|
3115
|
+
/** One blueprint, including its payload. */
|
|
3116
|
+
get(slug: string, options?: {
|
|
3117
|
+
source?: string;
|
|
3118
|
+
}): Promise<Blueprint>;
|
|
3119
|
+
/**
|
|
3120
|
+
* Create this blueprint's object in the workspace if it isn't there yet. `params` fills the
|
|
3121
|
+
* parameters the blueprint declares, e.g. `{ entry_type: 'post' }`. Needs ADMIN.
|
|
3122
|
+
*/
|
|
3123
|
+
apply(slug: string, params?: Record<string, unknown>, options?: BlueprintApplyOptions): Promise<BlueprintApplyResult>;
|
|
3124
|
+
/**
|
|
3125
|
+
* Apply several blueprints at once; entry types are created before the collections and tasks that
|
|
3126
|
+
* use them, whatever the order here. `params` is keyed by blueprint slug. Needs ADMIN.
|
|
3127
|
+
*/
|
|
3128
|
+
applyMany(slugs: string[], params?: Record<string, Record<string, unknown>>, options?: BlueprintApplyOptions): Promise<BlueprintApplyResult[]>;
|
|
3129
|
+
/** Replace an applied workflow's steps with what its integration declares now. Needs ADMIN. */
|
|
3130
|
+
update(slug: string, params?: Record<string, unknown>, options?: {
|
|
3131
|
+
source?: string;
|
|
3132
|
+
}): Promise<BlueprintApplyResult>;
|
|
3133
|
+
}
|
|
3134
|
+
|
|
2954
3135
|
/**
|
|
2955
3136
|
* Site Module - Platform API
|
|
2956
3137
|
*
|
|
@@ -3024,6 +3205,8 @@ declare class PlatformClient extends HttpClient {
|
|
|
3024
3205
|
ai: AIModule;
|
|
3025
3206
|
automations: AutomationsModule;
|
|
3026
3207
|
incomingWebhooks: IncomingWebhooksModule;
|
|
3208
|
+
/** Blueprint catalog: browse and apply collections, entry types, tasks and workflows */
|
|
3209
|
+
blueprints: BlueprintsModule;
|
|
3027
3210
|
site: SiteModule;
|
|
3028
3211
|
adminUsers: AdminUsersModule;
|
|
3029
3212
|
adminSystem: AdminSystemModule;
|
|
@@ -3055,4 +3238,4 @@ declare class PlatformClient extends HttpClient {
|
|
|
3055
3238
|
*/
|
|
3056
3239
|
declare function createPlatformClient(config?: Partial<PlatformClientConfig>): PlatformClient;
|
|
3057
3240
|
|
|
3058
|
-
export { type AIApprovalMode, type AIChatRequest, type AIChatResult, type AICredentialMode, type AIExecution, type AIExecutionListParams, type AIExecutionStatus, AIExecutionsModule, AIMcpServersModule, type AIModel, type AIModelCreate, type AIModelUpdate, AIModelsModule, AIModule, type AIOperationExecuteRequest, type AIOperationInfo, AIOperationsModule, type AIProvider, type AIProviderCreate, type AIProviderTestResult, type AIProviderType, type AIProviderUpdate, AIProvidersModule, type AIReindexRequest, type AISettings, AISettingsModule, type AISettingsUpdate, type AIToolInfo, type AIToolInvokeRequest, AIToolsModule, APIClientsModule, type AdminAboutInfo, AdminBackupsModule, AdminMaintenanceModule, type AdminPlugin, type AdminPluginProvider, AdminScheduledTasksModule, AdminSystemModule, AdminUsersModule, type AdminWorkspaceMemberCreate, type AdminWorkspaceMemberUpdate, type AdminWorkspaceMembership, AdminWorkspacesModule, type AgentToolInfo, type AlertRouting, type AlertRoutingTarget, type AlertRoutingUpdate, type ApiToken, type ApiTokenCreate, type ApiTokenUpdate, type ApiTokenWithToken, type AppAboutInfo, AppModule, type AppTheme, AssetsModule, AuthModule, type Automation, type AutomationAction, type AutomationActionExecution, type AutomationActionOption, type AutomationCondition, type AutomationConditionField, type AutomationCreate, type AutomationDefinition, type AutomationDryRunOptions, type AutomationDryRunResult, type AutomationDryRunSample, type AutomationExecution, type AutomationExecutionDetail, type AutomationIncomingWebhookOption, type AutomationOptions, type AutomationPlanStep, type AutomationPreviewMatch, type AutomationPreviewResult, type AutomationRunResult, type AutomationSamples, type AutomationTarget, type AutomationTargetOption, type AutomationTrigger, type AutomationUpdate, type AutomationValidateResult, type AutomationValidationIssue, type AutomationWebhookOption, AutomationsModule, CollectionsModule, type EmailEventSubscription, type EmailEventSubscriptionCreate, EmailEventSubscriptionsModule, type EmailInvitationRequest, type EmailSettings, type EmailSettingsUpdate, type EmailSuccess, type EmailTemplateCreate$1 as EmailTemplateCreate, type EmailTemplateRead, type EmailTemplateSummary, type EmailTemplateUpdate, EmailTemplatesClient, type EmailTest, EntriesModule, EntryTypesModule, type EventLogEntry, EventLogModule, type EventLogQueryParams, type EventLogSummary, type EventOption, type EventVariable, EventsModule, FormsModule, type IncomingWebhook, type IncomingWebhookCreate, type IncomingWebhookUpdate, IncomingWebhooksModule, type Integration, type IntegrationActionResult, type IntegrationAttention, type IntegrationCheckResult, type IntegrationCreate, type IntegrationErrorOverrides, type IntegrationEventSubscription, type IntegrationEventSubscriptionCreate, type IntegrationEventSubscriptionUpdate, type IntegrationOption, type IntegrationPluginInfo, type IntegrationProviderAction, type IntegrationProviderCredential, type IntegrationProviderEvent, type IntegrationProviderInfo, type IntegrationResolveResult, type IntegrationUpdate, IntegrationsModule, type InviteTokenCreate, type InviteTokenPagination, type InviteTokenSummary, InvitesModule, type LoginInfo, type MaintenanceStorageDetails, type MaintenanceSummary, type McpServer, type McpServerCreate, type McpServerTestResult, type McpServerToolInfo, type McpServerUpdate, type McpTransport, type PasswordChange, type PasswordResetTokenRequest, type PasswordResetTokenResponse, type PlatformAPIClient, type PlatformAPIClientCreate, type PlatformAPIClientUpdate, type PlatformAPIClientWithToken, type PlatformAsset, type PlatformAssetUpdate, PlatformClient, type PlatformClientConfig, type PlatformCollection, type PlatformCollectionCreate, type PlatformCollectionUpdate, type PlatformEntry, type PlatformEntryCreate, type PlatformEntryType, type PlatformEntryUpdate, type PlatformForm, type PlatformFormCreate, type PlatformFormSubmission, type PlatformFormUpdate, type PlatformResource, type PlatformResourceCreate, type PlatformResourceUpdate, type PlatformTag, type PlatformTagCreate, type PlatformTagUpdate, type PlatformWorkspaceMember, type PlatformWorkspaceMemberCreate, type PlatformWorkspaceMemberUpdate, type RecipientType, ResourcesModule, type ScheduledTask, type ScheduledTaskCreate, type ScheduledTaskExecutionLog, type ScheduledTaskUpdate, ScheduledTasksModule, type SiteBuildStatus, SiteModule, type SiteRebuildPending, type SiteRebuildRequested, type SiteRebuildSent, type SiteRebuildStatus, type SiteRebuildTarget, type SmartCollectionRules, type StartupInfo, type SystemStatistics, TagsModule, type TaskTypeInfo, type TestEmailRequest, ThemeModule, type UnlockUserRequest, type User, type UserCreate, UserModule, type UserPagination, type UserProfile, type UserProfileUpdate, type UserSummary, type UserUpdate, type Webhook, type WebhookCreate, type WebhookMethod, type WebhookPagination, type WebhookUpdate, WebhooksModule, type Workspace, type WorkspaceActivationRequest, type WorkspaceCreate, WorkspaceMembersModule, type WorkspacePagination, type WorkspacePreferences, type WorkspacePreferencesUpdate, type WorkspaceUpdate, type WorkspaceWithMembership, WorkspacesModule, createPlatformClient, createPlatformConfigFromEnv };
|
|
3241
|
+
export { type AIApprovalMode, type AIChatRequest, type AIChatResult, type AICredentialMode, type AIExecution, type AIExecutionListParams, type AIExecutionStatus, AIExecutionsModule, AIMcpServersModule, type AIModel, type AIModelCreate, type AIModelUpdate, AIModelsModule, AIModule, type AIOperationExecuteRequest, type AIOperationInfo, AIOperationsModule, type AIProvider, type AIProviderCreate, type AIProviderTestResult, type AIProviderType, type AIProviderUpdate, AIProvidersModule, type AIReindexRequest, type AISettings, AISettingsModule, type AISettingsUpdate, type AIToolInfo, type AIToolInvokeRequest, AIToolsModule, APIClientsModule, type AdminAboutInfo, AdminBackupsModule, AdminMaintenanceModule, type AdminPlugin, type AdminPluginProvider, AdminScheduledTasksModule, AdminSystemModule, AdminUsersModule, type AdminWorkspaceMemberCreate, type AdminWorkspaceMemberUpdate, type AdminWorkspaceMembership, AdminWorkspacesModule, type AgentToolInfo, type AlertRouting, type AlertRoutingTarget, type AlertRoutingUpdate, type ApiToken, type ApiTokenCreate, type ApiTokenUpdate, type ApiTokenWithToken, type AppAboutInfo, AppModule, type AppTheme, AssetsModule, AuthModule, type Automation, type AutomationAction, type AutomationActionExecution, type AutomationActionOption, type AutomationCondition, type AutomationConditionField, type AutomationCreate, type AutomationDefinition, type AutomationDryRunOptions, type AutomationDryRunResult, type AutomationDryRunSample, type AutomationExecution, type AutomationExecutionDetail, type AutomationIncomingWebhookOption, type AutomationOptions, type AutomationPlanStep, type AutomationPreviewMatch, type AutomationPreviewResult, type AutomationRunResult, type AutomationSamples, type AutomationTarget, type AutomationTargetOption, type AutomationTrigger, type AutomationUpdate, type AutomationValidateResult, type AutomationValidationIssue, type AutomationWebhookOption, AutomationsModule, type Blueprint, type BlueprintApplyOptions, type BlueprintApplyResult, type BlueprintListOptions, type BlueprintParameter, BlueprintsModule, type CollectionMember, CollectionsModule, type EmailEventSubscription, type EmailEventSubscriptionCreate, EmailEventSubscriptionsModule, type EmailInvitationRequest, type EmailSettings, type EmailSettingsUpdate, type EmailSuccess, type EmailTemplateCreate$1 as EmailTemplateCreate, type EmailTemplateRead, type EmailTemplateSummary, type EmailTemplateUpdate, EmailTemplatesClient, type EmailTest, EntriesModule, EntryTypesModule, type EventLogEntry, EventLogModule, type EventLogQueryParams, type EventLogSummary, type EventOption, type EventVariable, EventsModule, FormsModule, type IncomingWebhook, type IncomingWebhookCreate, type IncomingWebhookSignature, type IncomingWebhookSignatureScheme, type IncomingWebhookUpdate, IncomingWebhooksModule, type Integration, type IntegrationActionResult, type IntegrationAttention, type IntegrationCheckResult, type IntegrationCreate, type IntegrationErrorOverrides, type IntegrationEventSubscription, type IntegrationEventSubscriptionCreate, type IntegrationEventSubscriptionUpdate, type IntegrationOption, type IntegrationPluginInfo, type IntegrationProviderAction, type IntegrationProviderCredential, type IntegrationProviderEvent, type IntegrationProviderInfo, type IntegrationResolveResult, type IntegrationUpdate, IntegrationsModule, type InviteTokenCreate, type InviteTokenPagination, type InviteTokenSummary, InvitesModule, type LoginInfo, type MaintenanceStorageDetails, type MaintenanceSummary, type McpServer, type McpServerCreate, type McpServerTestResult, type McpServerToolInfo, type McpServerUpdate, type McpTransport, type PasswordChange, type PasswordResetTokenRequest, type PasswordResetTokenResponse, type PlatformAPIClient, type PlatformAPIClientCreate, type PlatformAPIClientUpdate, type PlatformAPIClientWithToken, type PlatformAsset, type PlatformAssetUpdate, type PlatformAttentionCounts, PlatformClient, type PlatformClientConfig, type PlatformCollection, type PlatformCollectionCreate, type PlatformCollectionUpdate, type PlatformDashboard, type PlatformEntry, type PlatformEntryCounts, type PlatformEntryCreate, type PlatformEntryType, type PlatformEntryUpdate, type PlatformForm, type PlatformFormCreate, type PlatformFormSubmission, type PlatformFormUpdate, type PlatformRecentEvent, type PlatformResource, type PlatformResourceCreate, type PlatformResourceUpdate, type PlatformTag, type PlatformTagCreate, type PlatformTagUpdate, type PlatformWorkspaceMember, type PlatformWorkspaceMemberCreate, type PlatformWorkspaceMemberUpdate, type RecipientType, ResourcesModule, type ScheduledTask, type ScheduledTaskCreate, type ScheduledTaskExecutionLog, type ScheduledTaskUpdate, ScheduledTasksModule, type SiteBuildStatus, SiteModule, type SiteRebuildPending, type SiteRebuildRequested, type SiteRebuildSent, type SiteRebuildStatus, type SiteRebuildTarget, type SmartCollectionRules, type SmartRulesPreview, type SmartRulesPreviewRequest, type StartupInfo, type SystemStatistics, TagsModule, type TaskTypeInfo, type TestEmailRequest, ThemeModule, type UnlockUserRequest, type User, type UserCreate, UserModule, type UserPagination, type UserProfile, type UserProfileUpdate, type UserSummary, type UserUpdate, type Webhook, type WebhookCreate, type WebhookMethod, type WebhookPagination, type WebhookUpdate, WebhooksModule, type Workspace, type WorkspaceActivationRequest, type WorkspaceCreate, WorkspaceMembersModule, type WorkspacePagination, type WorkspacePreferences, type WorkspacePreferencesUpdate, type WorkspaceUpdate, type WorkspaceWithMembership, WorkspacesModule, createPlatformClient, createPlatformConfigFromEnv };
|