@elevasis/ui 2.71.0 → 2.73.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/api/index.js +3 -3
- package/dist/app/index.d.ts +116 -22
- package/dist/app/index.js +8 -8
- package/dist/auth/index.js +4 -4
- package/dist/charts/index.js +4 -4
- package/dist/{chunk-DCMFNSJ6.js → chunk-3TS5U5BL.js} +1 -1
- package/dist/{chunk-VRRIHA3S.js → chunk-4CW2C5BD.js} +1 -1
- package/dist/{chunk-26BTE3Z4.js → chunk-5B2ZFO44.js} +1 -1
- package/dist/{chunk-BM2WKRAQ.js → chunk-AJOVWB47.js} +3 -3
- package/dist/{chunk-DH2MO5DX.js → chunk-CJ2232PQ.js} +1 -1
- package/dist/{chunk-TVFSVTRG.js → chunk-ETN3TTRT.js} +7 -7
- package/dist/{chunk-NM4A63KJ.js → chunk-IBCEAVB2.js} +56 -20
- package/dist/{chunk-3BLYJT5L.js → chunk-IGBPWD6S.js} +3 -3
- package/dist/{chunk-TB2PM2OU.js → chunk-JYBJMVNY.js} +1 -1
- package/dist/{chunk-TCQZ4AJI.js → chunk-LEPYXLJ2.js} +1 -1
- package/dist/{chunk-H3SDGC5F.js → chunk-LZT2H2MA.js} +4 -4
- package/dist/{chunk-VDX6DL7Z.js → chunk-NHNTX6ZL.js} +1 -1
- package/dist/{chunk-VHPHWTX7.js → chunk-NI37YNRP.js} +4 -4
- package/dist/{chunk-UZ7MSORW.js → chunk-OCVSPAKM.js} +540 -29
- package/dist/{chunk-LL5H7J4N.js → chunk-PQ4B62HH.js} +2 -2
- package/dist/{chunk-CPBT6Z2G.js → chunk-SWKAH2YM.js} +52 -20
- package/dist/{chunk-C75XWBYZ.js → chunk-U2H3TIHD.js} +1 -1
- package/dist/{chunk-AIOV5NM7.js → chunk-Z4ICFQXG.js} +1 -1
- package/dist/{chunk-JTSNU6KA.js → chunk-ZDKPHFTH.js} +3 -3
- package/dist/components/index.d.ts +307 -24
- package/dist/components/index.js +316 -26
- package/dist/components/navigation/index.js +5 -5
- package/dist/features/auth/index.d.ts +76 -0
- package/dist/features/auth/index.js +6 -6
- package/dist/features/clients/index.js +5 -5
- package/dist/features/content/index.d.ts +586 -66
- package/dist/features/content/index.js +1213 -312
- package/dist/features/crm/index.d.ts +117 -22
- package/dist/features/crm/index.js +6 -6
- package/dist/features/dashboard/index.d.ts +20 -11
- package/dist/features/dashboard/index.js +6 -6
- package/dist/features/delivery/index.d.ts +76 -0
- package/dist/features/delivery/index.js +5 -5
- package/dist/features/knowledge/index.js +4 -4
- package/dist/features/lead-gen/index.d.ts +41 -22
- package/dist/features/lead-gen/index.js +6 -6
- package/dist/features/monitoring/index.js +7 -7
- package/dist/features/monitoring/requests/index.js +5 -5
- package/dist/features/operations/index.d.ts +40 -22
- package/dist/features/operations/index.js +9 -9
- package/dist/features/settings/index.d.ts +76 -0
- package/dist/features/settings/index.js +6 -6
- package/dist/hooks/access/index.js +4 -4
- package/dist/hooks/delivery/index.d.ts +76 -0
- package/dist/hooks/delivery/index.js +2 -2
- package/dist/hooks/index.d.ts +1259 -32
- package/dist/hooks/index.js +4 -4
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +20 -11
- package/dist/hooks/published.d.ts +1259 -32
- package/dist/hooks/published.js +4 -4
- package/dist/initialization/index.d.ts +76 -0
- package/dist/knowledge/index.d.ts +40 -22
- package/dist/knowledge/index.js +18 -18
- package/dist/{knowledge-search-index-LP2WVSQX.js → knowledge-search-index-RZLIVWPJ.js} +5 -5
- package/dist/layout/index.js +7 -7
- package/dist/profile/index.d.ts +76 -0
- package/dist/provider/index.d.ts +116 -22
- package/dist/provider/index.js +4 -4
- package/dist/provider/published.d.ts +116 -22
- package/dist/provider/published.js +4 -4
- package/dist/supabase/index.d.ts +149 -0
- package/dist/test-utils/index.js +3 -3
- package/dist/types/index.d.ts +126 -14
- package/dist/utils/index.d.ts +20 -11
- package/dist/utils/index.js +1 -1
- package/package.json +5 -5
|
@@ -1832,6 +1832,63 @@ type Database = {
|
|
|
1832
1832
|
}
|
|
1833
1833
|
];
|
|
1834
1834
|
};
|
|
1835
|
+
content_item_source_assets: {
|
|
1836
|
+
Row: {
|
|
1837
|
+
alt_text: string | null;
|
|
1838
|
+
content_item_id: string;
|
|
1839
|
+
created_at: string;
|
|
1840
|
+
crop: Json | null;
|
|
1841
|
+
derivative_crop: Json | null;
|
|
1842
|
+
derivative_path: string | null;
|
|
1843
|
+
derivative_rendered_at: string | null;
|
|
1844
|
+
id: string;
|
|
1845
|
+
organization_id: string;
|
|
1846
|
+
position: number;
|
|
1847
|
+
source_asset_id: string;
|
|
1848
|
+
};
|
|
1849
|
+
Insert: {
|
|
1850
|
+
alt_text?: string | null;
|
|
1851
|
+
content_item_id: string;
|
|
1852
|
+
created_at?: string;
|
|
1853
|
+
crop?: Json | null;
|
|
1854
|
+
derivative_crop?: Json | null;
|
|
1855
|
+
derivative_path?: string | null;
|
|
1856
|
+
derivative_rendered_at?: string | null;
|
|
1857
|
+
id?: string;
|
|
1858
|
+
organization_id: string;
|
|
1859
|
+
position: number;
|
|
1860
|
+
source_asset_id: string;
|
|
1861
|
+
};
|
|
1862
|
+
Update: {
|
|
1863
|
+
alt_text?: string | null;
|
|
1864
|
+
content_item_id?: string;
|
|
1865
|
+
created_at?: string;
|
|
1866
|
+
crop?: Json | null;
|
|
1867
|
+
derivative_crop?: Json | null;
|
|
1868
|
+
derivative_path?: string | null;
|
|
1869
|
+
derivative_rendered_at?: string | null;
|
|
1870
|
+
id?: string;
|
|
1871
|
+
organization_id?: string;
|
|
1872
|
+
position?: number;
|
|
1873
|
+
source_asset_id?: string;
|
|
1874
|
+
};
|
|
1875
|
+
Relationships: [
|
|
1876
|
+
{
|
|
1877
|
+
foreignKeyName: "content_item_source_assets_asset_fkey";
|
|
1878
|
+
columns: ["source_asset_id", "organization_id"];
|
|
1879
|
+
isOneToOne: false;
|
|
1880
|
+
referencedRelation: "content_source_assets";
|
|
1881
|
+
referencedColumns: ["id", "organization_id"];
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
foreignKeyName: "content_item_source_assets_item_fkey";
|
|
1885
|
+
columns: ["content_item_id", "organization_id"];
|
|
1886
|
+
isOneToOne: false;
|
|
1887
|
+
referencedRelation: "content_items";
|
|
1888
|
+
referencedColumns: ["id", "organization_id"];
|
|
1889
|
+
}
|
|
1890
|
+
];
|
|
1891
|
+
};
|
|
1835
1892
|
content_items: {
|
|
1836
1893
|
Row: {
|
|
1837
1894
|
body: string | null;
|
|
@@ -3587,6 +3644,25 @@ type Database = {
|
|
|
3587
3644
|
};
|
|
3588
3645
|
Returns: Json;
|
|
3589
3646
|
};
|
|
3647
|
+
activate_deployment_atomic: {
|
|
3648
|
+
Args: {
|
|
3649
|
+
p_deployment_id: string;
|
|
3650
|
+
p_organization_id: string;
|
|
3651
|
+
};
|
|
3652
|
+
Returns: {
|
|
3653
|
+
created_at: string;
|
|
3654
|
+
deployment_version: string | null;
|
|
3655
|
+
error_message: string | null;
|
|
3656
|
+
id: string;
|
|
3657
|
+
organization_id: string;
|
|
3658
|
+
pid: number | null;
|
|
3659
|
+
port: number | null;
|
|
3660
|
+
sdk_version: string;
|
|
3661
|
+
status: string;
|
|
3662
|
+
tarball_path: string | null;
|
|
3663
|
+
updated_at: string;
|
|
3664
|
+
};
|
|
3665
|
+
};
|
|
3590
3666
|
append_deal_activity: {
|
|
3591
3667
|
Args: {
|
|
3592
3668
|
p_activity: Json;
|
|
@@ -3828,7 +3904,9 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3828
3904
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3829
3905
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3830
3906
|
storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3831
|
-
|
|
3907
|
+
rowSchema: z.ZodOptional<z.ZodString>;
|
|
3908
|
+
stateCatalogId: z.ZodOptional<z.ZodString>;
|
|
3909
|
+
}, z.core.$strict>>>>;
|
|
3832
3910
|
linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3833
3911
|
id: z.ZodString;
|
|
3834
3912
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3839,7 +3917,7 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3839
3917
|
to: z.ZodString;
|
|
3840
3918
|
cardinality: z.ZodOptional<z.ZodString>;
|
|
3841
3919
|
via: z.ZodOptional<z.ZodString>;
|
|
3842
|
-
}, z.core.$
|
|
3920
|
+
}, z.core.$strict>>>>;
|
|
3843
3921
|
actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3844
3922
|
id: z.ZodString;
|
|
3845
3923
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3849,7 +3927,11 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3849
3927
|
actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
3850
3928
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3851
3929
|
effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
3852
|
-
|
|
3930
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
3931
|
+
invocations: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
3932
|
+
lifecycle: z.ZodOptional<z.ZodString>;
|
|
3933
|
+
legacyActionId: z.ZodOptional<z.ZodString>;
|
|
3934
|
+
}, z.core.$strict>>>>;
|
|
3853
3935
|
catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3854
3936
|
id: z.ZodString;
|
|
3855
3937
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3859,7 +3941,10 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3859
3941
|
kind: z.ZodOptional<z.ZodString>;
|
|
3860
3942
|
appliesTo: z.ZodOptional<z.ZodString>;
|
|
3861
3943
|
entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3862
|
-
|
|
3944
|
+
legacyCatalogKey: z.ZodOptional<z.ZodString>;
|
|
3945
|
+
legacyPipelineKey: z.ZodOptional<z.ZodString>;
|
|
3946
|
+
legacyEntityKey: z.ZodOptional<z.ZodString>;
|
|
3947
|
+
}, z.core.$strict>>>>;
|
|
3863
3948
|
eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3864
3949
|
id: z.ZodString;
|
|
3865
3950
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3867,7 +3952,7 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3867
3952
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
3868
3953
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3869
3954
|
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3870
|
-
}, z.core.$
|
|
3955
|
+
}, z.core.$strict>>>>;
|
|
3871
3956
|
interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3872
3957
|
id: z.ZodString;
|
|
3873
3958
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3875,7 +3960,7 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3875
3960
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
3876
3961
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3877
3962
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
3878
|
-
}, z.core.$
|
|
3963
|
+
}, z.core.$strict>>>>;
|
|
3879
3964
|
valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3880
3965
|
id: z.ZodString;
|
|
3881
3966
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3883,7 +3968,7 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3883
3968
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
3884
3969
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3885
3970
|
primitive: z.ZodOptional<z.ZodString>;
|
|
3886
|
-
}, z.core.$
|
|
3971
|
+
}, z.core.$strict>>>>;
|
|
3887
3972
|
sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3888
3973
|
id: z.ZodString;
|
|
3889
3974
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3893,7 +3978,7 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3893
3978
|
valueType: z.ZodOptional<z.ZodString>;
|
|
3894
3979
|
searchable: z.ZodOptional<z.ZodBoolean>;
|
|
3895
3980
|
pii: z.ZodOptional<z.ZodBoolean>;
|
|
3896
|
-
}, z.core.$
|
|
3981
|
+
}, z.core.$strict>>>>;
|
|
3897
3982
|
groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3898
3983
|
id: z.ZodString;
|
|
3899
3984
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3901,7 +3986,7 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3901
3986
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
3902
3987
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3903
3988
|
members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
3904
|
-
}, z.core.$
|
|
3989
|
+
}, z.core.$strict>>>>;
|
|
3905
3990
|
endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
3906
3991
|
id: z.ZodString;
|
|
3907
3992
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -3909,8 +3994,8 @@ declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
|
|
|
3909
3994
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
3910
3995
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3911
3996
|
route: z.ZodOptional<z.ZodString>;
|
|
3912
|
-
}, z.core.$
|
|
3913
|
-
}, z.core.$
|
|
3997
|
+
}, z.core.$strict>>>>;
|
|
3998
|
+
}, z.core.$strict>>;
|
|
3914
3999
|
type OntologyScope = z.infer<typeof OntologyScopeSchema>;
|
|
3915
4000
|
|
|
3916
4001
|
declare const SystemApiInterfaceSchema: z.ZodObject<{
|
|
@@ -5363,6 +5448,126 @@ declare const ContentPipelineIdSchema: z.ZodString;
|
|
|
5363
5448
|
declare const ContentItemStatusSchema: z.ZodString;
|
|
5364
5449
|
/** `content:catalog/pillar` entries. */
|
|
5365
5450
|
declare const ContentPillarSchema: z.ZodString;
|
|
5451
|
+
/** Response-side crop: unknown keys are stripped, not rejected, like every other response schema here. */
|
|
5452
|
+
declare const ContentAssetCropSchema: z.ZodObject<{
|
|
5453
|
+
x: z.ZodNumber;
|
|
5454
|
+
y: z.ZodNumber;
|
|
5455
|
+
width: z.ZodNumber;
|
|
5456
|
+
height: z.ZodNumber;
|
|
5457
|
+
}, z.core.$strip>;
|
|
5458
|
+
/** Request-side crop: `.strict()`, the same mass-assignment guard every request schema in this file uses. */
|
|
5459
|
+
declare const ContentAssetCropInputSchema: z.ZodObject<{
|
|
5460
|
+
x: z.ZodNumber;
|
|
5461
|
+
y: z.ZodNumber;
|
|
5462
|
+
width: z.ZodNumber;
|
|
5463
|
+
height: z.ZodNumber;
|
|
5464
|
+
}, z.core.$strict>;
|
|
5465
|
+
declare const ContentItemSourceAssetResponseSchema: z.ZodObject<{
|
|
5466
|
+
id: z.ZodString;
|
|
5467
|
+
organizationId: z.ZodString;
|
|
5468
|
+
contentItemId: z.ZodString;
|
|
5469
|
+
sourceAssetId: z.ZodString;
|
|
5470
|
+
position: z.ZodNumber;
|
|
5471
|
+
crop: z.ZodNullable<z.ZodObject<{
|
|
5472
|
+
x: z.ZodNumber;
|
|
5473
|
+
y: z.ZodNumber;
|
|
5474
|
+
width: z.ZodNumber;
|
|
5475
|
+
height: z.ZodNumber;
|
|
5476
|
+
}, z.core.$strip>>;
|
|
5477
|
+
altText: z.ZodNullable<z.ZodString>;
|
|
5478
|
+
derivativePath: z.ZodNullable<z.ZodString>;
|
|
5479
|
+
derivativeCrop: z.ZodNullable<z.ZodObject<{
|
|
5480
|
+
x: z.ZodNumber;
|
|
5481
|
+
y: z.ZodNumber;
|
|
5482
|
+
width: z.ZodNumber;
|
|
5483
|
+
height: z.ZodNumber;
|
|
5484
|
+
}, z.core.$strip>>;
|
|
5485
|
+
derivativeRenderedAt: z.ZodNullable<z.ZodString>;
|
|
5486
|
+
createdAt: z.ZodString;
|
|
5487
|
+
}, z.core.$strip>;
|
|
5488
|
+
declare const ContentItemSourceAssetListResponseSchema: z.ZodObject<{
|
|
5489
|
+
data: z.ZodArray<z.ZodObject<{
|
|
5490
|
+
id: z.ZodString;
|
|
5491
|
+
organizationId: z.ZodString;
|
|
5492
|
+
contentItemId: z.ZodString;
|
|
5493
|
+
sourceAssetId: z.ZodString;
|
|
5494
|
+
position: z.ZodNumber;
|
|
5495
|
+
crop: z.ZodNullable<z.ZodObject<{
|
|
5496
|
+
x: z.ZodNumber;
|
|
5497
|
+
y: z.ZodNumber;
|
|
5498
|
+
width: z.ZodNumber;
|
|
5499
|
+
height: z.ZodNumber;
|
|
5500
|
+
}, z.core.$strip>>;
|
|
5501
|
+
altText: z.ZodNullable<z.ZodString>;
|
|
5502
|
+
derivativePath: z.ZodNullable<z.ZodString>;
|
|
5503
|
+
derivativeCrop: z.ZodNullable<z.ZodObject<{
|
|
5504
|
+
x: z.ZodNumber;
|
|
5505
|
+
y: z.ZodNumber;
|
|
5506
|
+
width: z.ZodNumber;
|
|
5507
|
+
height: z.ZodNumber;
|
|
5508
|
+
}, z.core.$strip>>;
|
|
5509
|
+
derivativeRenderedAt: z.ZodNullable<z.ZodString>;
|
|
5510
|
+
createdAt: z.ZodString;
|
|
5511
|
+
}, z.core.$strip>>;
|
|
5512
|
+
}, z.core.$strip>;
|
|
5513
|
+
/**
|
|
5514
|
+
* One membership as a caller supplies it. Two callers share it:
|
|
5515
|
+
* `CreateContentItemRequestSchema.sourceAssets` (the ordered set a carousel is
|
|
5516
|
+
* created with, in one transaction) and the body of the `addItemSourceAsset`
|
|
5517
|
+
* write, whose `itemId` arrives as a path param rather than in the body.
|
|
5518
|
+
*/
|
|
5519
|
+
declare const ContentItemSourceAssetInputSchema: z.ZodObject<{
|
|
5520
|
+
sourceAssetId: z.ZodString;
|
|
5521
|
+
position: z.ZodNumber;
|
|
5522
|
+
crop: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
5523
|
+
x: z.ZodNumber;
|
|
5524
|
+
y: z.ZodNumber;
|
|
5525
|
+
width: z.ZodNumber;
|
|
5526
|
+
height: z.ZodNumber;
|
|
5527
|
+
}, z.core.$strict>>>;
|
|
5528
|
+
altText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5529
|
+
}, z.core.$strict>;
|
|
5530
|
+
/**
|
|
5531
|
+
* Patches one membership's per-slide attributes. `position` is deliberately
|
|
5532
|
+
* absent: moving a slide is a reorder of the whole set (below), because a
|
|
5533
|
+
* single-row position write only makes sense inside the transaction that fixes
|
|
5534
|
+
* up its neighbours. `sourceAssetId` is immutable — swapping the asset is a
|
|
5535
|
+
* remove plus an add.
|
|
5536
|
+
*
|
|
5537
|
+
* `derivativeRenderedAt` is likewise absent, and deliberately: the server stamps
|
|
5538
|
+
* it whenever `derivativePath` is written, because a client clock is not evidence
|
|
5539
|
+
* of when a server-side row changed.
|
|
5540
|
+
*/
|
|
5541
|
+
declare const UpdateContentItemSourceAssetRequestSchema: z.ZodObject<{
|
|
5542
|
+
crop: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
5543
|
+
x: z.ZodNumber;
|
|
5544
|
+
y: z.ZodNumber;
|
|
5545
|
+
width: z.ZodNumber;
|
|
5546
|
+
height: z.ZodNumber;
|
|
5547
|
+
}, z.core.$strict>>>;
|
|
5548
|
+
altText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5549
|
+
derivativePath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5550
|
+
derivativeCrop: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
5551
|
+
x: z.ZodNumber;
|
|
5552
|
+
y: z.ZodNumber;
|
|
5553
|
+
width: z.ZodNumber;
|
|
5554
|
+
height: z.ZodNumber;
|
|
5555
|
+
}, z.core.$strict>>>;
|
|
5556
|
+
}, z.core.$strict>;
|
|
5557
|
+
/**
|
|
5558
|
+
* The item's complete membership set in its new order — index becomes
|
|
5559
|
+
* `position`, so index 0 is the new cover. Wholesale rather than per-row
|
|
5560
|
+
* because `UNIQUE (content_item_id, position)` is DEFERRABLE INITIALLY
|
|
5561
|
+
* DEFERRED: the writer issues plain per-row updates inside one transaction and
|
|
5562
|
+
* the constraint is checked at COMMIT. An implementation that shuffles through
|
|
5563
|
+
* a temporary offset is a sign the deferrable constraint was not used.
|
|
5564
|
+
*
|
|
5565
|
+
* The service rejects a list that does not name exactly the item's current
|
|
5566
|
+
* memberships — this schema can only check shape, not membership.
|
|
5567
|
+
*/
|
|
5568
|
+
declare const ReorderContentItemSourceAssetsRequestSchema: z.ZodObject<{
|
|
5569
|
+
orderedAssetIds: z.ZodArray<z.ZodString>;
|
|
5570
|
+
}, z.core.$strict>;
|
|
5366
5571
|
declare const ListContentItemsQuerySchema: z.ZodObject<{
|
|
5367
5572
|
status: z.ZodOptional<z.ZodString>;
|
|
5368
5573
|
pillar: z.ZodOptional<z.ZodString>;
|
|
@@ -5384,6 +5589,29 @@ declare const ContentItemResponseSchema: z.ZodObject<{
|
|
|
5384
5589
|
pipelineId: z.ZodNullable<z.ZodString>;
|
|
5385
5590
|
clientId: z.ZodNullable<z.ZodString>;
|
|
5386
5591
|
sourceAssetId: z.ZodNullable<z.ZodString>;
|
|
5592
|
+
sourceAssets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5593
|
+
id: z.ZodString;
|
|
5594
|
+
organizationId: z.ZodString;
|
|
5595
|
+
contentItemId: z.ZodString;
|
|
5596
|
+
sourceAssetId: z.ZodString;
|
|
5597
|
+
position: z.ZodNumber;
|
|
5598
|
+
crop: z.ZodNullable<z.ZodObject<{
|
|
5599
|
+
x: z.ZodNumber;
|
|
5600
|
+
y: z.ZodNumber;
|
|
5601
|
+
width: z.ZodNumber;
|
|
5602
|
+
height: z.ZodNumber;
|
|
5603
|
+
}, z.core.$strip>>;
|
|
5604
|
+
altText: z.ZodNullable<z.ZodString>;
|
|
5605
|
+
derivativePath: z.ZodNullable<z.ZodString>;
|
|
5606
|
+
derivativeCrop: z.ZodNullable<z.ZodObject<{
|
|
5607
|
+
x: z.ZodNumber;
|
|
5608
|
+
y: z.ZodNumber;
|
|
5609
|
+
width: z.ZodNumber;
|
|
5610
|
+
height: z.ZodNumber;
|
|
5611
|
+
}, z.core.$strip>>;
|
|
5612
|
+
derivativeRenderedAt: z.ZodNullable<z.ZodString>;
|
|
5613
|
+
createdAt: z.ZodString;
|
|
5614
|
+
}, z.core.$strip>>>;
|
|
5387
5615
|
processingState: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5388
5616
|
status: z.ZodEnum<{
|
|
5389
5617
|
error: "error";
|
|
@@ -5418,6 +5646,29 @@ declare const ContentItemListResponseSchema: z.ZodObject<{
|
|
|
5418
5646
|
pipelineId: z.ZodNullable<z.ZodString>;
|
|
5419
5647
|
clientId: z.ZodNullable<z.ZodString>;
|
|
5420
5648
|
sourceAssetId: z.ZodNullable<z.ZodString>;
|
|
5649
|
+
sourceAssets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5650
|
+
id: z.ZodString;
|
|
5651
|
+
organizationId: z.ZodString;
|
|
5652
|
+
contentItemId: z.ZodString;
|
|
5653
|
+
sourceAssetId: z.ZodString;
|
|
5654
|
+
position: z.ZodNumber;
|
|
5655
|
+
crop: z.ZodNullable<z.ZodObject<{
|
|
5656
|
+
x: z.ZodNumber;
|
|
5657
|
+
y: z.ZodNumber;
|
|
5658
|
+
width: z.ZodNumber;
|
|
5659
|
+
height: z.ZodNumber;
|
|
5660
|
+
}, z.core.$strip>>;
|
|
5661
|
+
altText: z.ZodNullable<z.ZodString>;
|
|
5662
|
+
derivativePath: z.ZodNullable<z.ZodString>;
|
|
5663
|
+
derivativeCrop: z.ZodNullable<z.ZodObject<{
|
|
5664
|
+
x: z.ZodNumber;
|
|
5665
|
+
y: z.ZodNumber;
|
|
5666
|
+
width: z.ZodNumber;
|
|
5667
|
+
height: z.ZodNumber;
|
|
5668
|
+
}, z.core.$strip>>;
|
|
5669
|
+
derivativeRenderedAt: z.ZodNullable<z.ZodString>;
|
|
5670
|
+
createdAt: z.ZodString;
|
|
5671
|
+
}, z.core.$strip>>>;
|
|
5421
5672
|
processingState: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5422
5673
|
status: z.ZodEnum<{
|
|
5423
5674
|
error: "error";
|
|
@@ -5444,6 +5695,14 @@ declare const ContentItemListResponseSchema: z.ZodObject<{
|
|
|
5444
5695
|
limit: z.ZodNumber;
|
|
5445
5696
|
offset: z.ZodNumber;
|
|
5446
5697
|
}, z.core.$strip>;
|
|
5698
|
+
/**
|
|
5699
|
+
* Membership is deliberately absent here (Open Decision 11, 2026-08-17). A
|
|
5700
|
+
* wholesale-replace `sourceAssets` array would force every partial item update
|
|
5701
|
+
* to say something about the asset list, and once omission means "leave alone"
|
|
5702
|
+
* there is no longer any way to clear membership at all. Use
|
|
5703
|
+
* `addItemSourceAsset` / `removeItemSourceAsset` / `reorderItemSourceAssets` /
|
|
5704
|
+
* `updateItemSourceAsset` instead. Do not "complete" this schema by adding it.
|
|
5705
|
+
*/
|
|
5447
5706
|
declare const UpdateContentItemRequestSchema: z.ZodObject<{
|
|
5448
5707
|
title: z.ZodOptional<z.ZodString>;
|
|
5449
5708
|
body: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -5506,8 +5765,15 @@ declare const ContentItemAttemptListResponseSchema: z.ZodObject<{
|
|
|
5506
5765
|
}, z.core.$strip>;
|
|
5507
5766
|
/**
|
|
5508
5767
|
* `content_source_assets.kind` -- free text, validated against the OM's
|
|
5509
|
-
* per-kind source-asset catalog (
|
|
5510
|
-
*
|
|
5768
|
+
* per-kind source-asset catalog (schema in
|
|
5769
|
+
* `packages/core/src/organization-model/catalogs/content.ts`; entries in the
|
|
5770
|
+
* organization's own model), the same split as `ContentItemStatusSchema` /
|
|
5771
|
+
* `ContentPillarSchema` above.
|
|
5772
|
+
*
|
|
5773
|
+
* An unlisted kind is legal and writes unvalidated -- kinds whose content is a
|
|
5774
|
+
* reference rather than inline text (`externalUrl` + `durationSeconds`) carry
|
|
5775
|
+
* no payload fields, so they get no catalog entry at all and are validated by
|
|
5776
|
+
* `UrlSchema` on the request body instead.
|
|
5511
5777
|
*/
|
|
5512
5778
|
declare const ContentSourceAssetKindSchema: z.ZodString;
|
|
5513
5779
|
declare const ContentSourceAssetResponseSchema: z.ZodObject<{
|
|
@@ -5578,7 +5844,14 @@ declare const ContentDistributionResponseSchema: z.ZodObject<{
|
|
|
5578
5844
|
adaptedBody: z.ZodNullable<z.ZodString>;
|
|
5579
5845
|
platformContent: z.ZodNullable<z.ZodUnknown>;
|
|
5580
5846
|
checklist: z.ZodNullable<z.ZodUnknown>;
|
|
5581
|
-
mediaUrls: z.ZodArray<z.
|
|
5847
|
+
mediaUrls: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5848
|
+
kind: z.ZodLiteral<"storage">;
|
|
5849
|
+
bucket: z.ZodString;
|
|
5850
|
+
path: z.ZodString;
|
|
5851
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
5852
|
+
kind: z.ZodLiteral<"url">;
|
|
5853
|
+
url: z.ZodString;
|
|
5854
|
+
}, z.core.$strict>], "kind">>;
|
|
5582
5855
|
processingState: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5583
5856
|
status: z.ZodEnum<{
|
|
5584
5857
|
error: "error";
|
|
@@ -5612,7 +5885,14 @@ declare const ContentDistributionListResponseSchema: z.ZodObject<{
|
|
|
5612
5885
|
adaptedBody: z.ZodNullable<z.ZodString>;
|
|
5613
5886
|
platformContent: z.ZodNullable<z.ZodUnknown>;
|
|
5614
5887
|
checklist: z.ZodNullable<z.ZodUnknown>;
|
|
5615
|
-
mediaUrls: z.ZodArray<z.
|
|
5888
|
+
mediaUrls: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5889
|
+
kind: z.ZodLiteral<"storage">;
|
|
5890
|
+
bucket: z.ZodString;
|
|
5891
|
+
path: z.ZodString;
|
|
5892
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
5893
|
+
kind: z.ZodLiteral<"url">;
|
|
5894
|
+
url: z.ZodString;
|
|
5895
|
+
}, z.core.$strict>], "kind">>;
|
|
5616
5896
|
processingState: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5617
5897
|
status: z.ZodEnum<{
|
|
5618
5898
|
error: "error";
|
|
@@ -5636,6 +5916,23 @@ declare const ContentDistributionListResponseSchema: z.ZodObject<{
|
|
|
5636
5916
|
updatedAt: z.ZodString;
|
|
5637
5917
|
}, z.core.$strip>>;
|
|
5638
5918
|
}, z.core.$strip>;
|
|
5919
|
+
declare const CreateContentDistributionRequestSchema: z.ZodObject<{
|
|
5920
|
+
contentItemId: z.ZodString;
|
|
5921
|
+
platform: z.ZodString;
|
|
5922
|
+
format: z.ZodString;
|
|
5923
|
+
status: z.ZodOptional<z.ZodString>;
|
|
5924
|
+
adaptedBody: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5925
|
+
platformContent: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
5926
|
+
checklist: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
5927
|
+
mediaUrls: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5928
|
+
kind: z.ZodLiteral<"storage">;
|
|
5929
|
+
bucket: z.ZodString;
|
|
5930
|
+
path: z.ZodString;
|
|
5931
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
5932
|
+
kind: z.ZodLiteral<"url">;
|
|
5933
|
+
url: z.ZodString;
|
|
5934
|
+
}, z.core.$strict>], "kind">>>;
|
|
5935
|
+
}, z.core.$strict>;
|
|
5639
5936
|
/**
|
|
5640
5937
|
* `publishMethod` is where D7's manual-publish state becomes visible: a row
|
|
5641
5938
|
* with `publishedAt` set and no `platformPostId`.
|
|
@@ -5645,7 +5942,14 @@ declare const UpdateContentDistributionRequestSchema: z.ZodObject<{
|
|
|
5645
5942
|
adaptedBody: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5646
5943
|
platformContent: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
5647
5944
|
checklist: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
5648
|
-
mediaUrls: z.ZodOptional<z.ZodArray<z.
|
|
5945
|
+
mediaUrls: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5946
|
+
kind: z.ZodLiteral<"storage">;
|
|
5947
|
+
bucket: z.ZodString;
|
|
5948
|
+
path: z.ZodString;
|
|
5949
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
5950
|
+
kind: z.ZodLiteral<"url">;
|
|
5951
|
+
url: z.ZodString;
|
|
5952
|
+
}, z.core.$strict>], "kind">>>;
|
|
5649
5953
|
publishMethod: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5650
5954
|
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5651
5955
|
platformPostId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -5656,6 +5960,13 @@ declare const UpdateContentDistributionRequestSchema: z.ZodObject<{
|
|
|
5656
5960
|
type ContentPipelineId = z.infer<typeof ContentPipelineIdSchema>;
|
|
5657
5961
|
type ContentItemStatus = z.infer<typeof ContentItemStatusSchema>;
|
|
5658
5962
|
type ContentPillar = z.infer<typeof ContentPillarSchema>;
|
|
5963
|
+
type ContentAssetCrop = z.infer<typeof ContentAssetCropSchema>;
|
|
5964
|
+
type ContentAssetCropInput = z.infer<typeof ContentAssetCropInputSchema>;
|
|
5965
|
+
type ContentItemSourceAssetResponse = z.infer<typeof ContentItemSourceAssetResponseSchema>;
|
|
5966
|
+
type ContentItemSourceAssetListResponse = z.infer<typeof ContentItemSourceAssetListResponseSchema>;
|
|
5967
|
+
type ContentItemSourceAssetInput = z.infer<typeof ContentItemSourceAssetInputSchema>;
|
|
5968
|
+
type UpdateContentItemSourceAssetRequest = z.infer<typeof UpdateContentItemSourceAssetRequestSchema>;
|
|
5969
|
+
type ReorderContentItemSourceAssetsRequest = z.infer<typeof ReorderContentItemSourceAssetsRequestSchema>;
|
|
5659
5970
|
type ListContentItemsQuery = z.infer<typeof ListContentItemsQuerySchema>;
|
|
5660
5971
|
type ContentItemResponse = z.infer<typeof ContentItemResponseSchema>;
|
|
5661
5972
|
type ContentItemListResponse = z.infer<typeof ContentItemListResponseSchema>;
|
|
@@ -5671,6 +5982,7 @@ type UpdateContentSourceAssetRequest = z.infer<typeof UpdateContentSourceAssetRe
|
|
|
5671
5982
|
type ListContentDistributionsQuery = z.infer<typeof ListContentDistributionsQuerySchema>;
|
|
5672
5983
|
type ContentDistributionResponse = z.infer<typeof ContentDistributionResponseSchema>;
|
|
5673
5984
|
type ContentDistributionListResponse = z.infer<typeof ContentDistributionListResponseSchema>;
|
|
5985
|
+
type CreateContentDistributionRequest = z.infer<typeof CreateContentDistributionRequestSchema>;
|
|
5674
5986
|
type UpdateContentDistributionRequest = z.infer<typeof UpdateContentDistributionRequestSchema>;
|
|
5675
5987
|
|
|
5676
5988
|
/**
|
|
@@ -6881,7 +7193,9 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6881
7193
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6882
7194
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6883
7195
|
storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6884
|
-
|
|
7196
|
+
rowSchema: z.ZodOptional<z.ZodString>;
|
|
7197
|
+
stateCatalogId: z.ZodOptional<z.ZodString>;
|
|
7198
|
+
}, z.core.$strict>>>>;
|
|
6885
7199
|
linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6886
7200
|
id: z.ZodString;
|
|
6887
7201
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6892,7 +7206,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6892
7206
|
to: z.ZodString;
|
|
6893
7207
|
cardinality: z.ZodOptional<z.ZodString>;
|
|
6894
7208
|
via: z.ZodOptional<z.ZodString>;
|
|
6895
|
-
}, z.core.$
|
|
7209
|
+
}, z.core.$strict>>>>;
|
|
6896
7210
|
actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6897
7211
|
id: z.ZodString;
|
|
6898
7212
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6902,7 +7216,11 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6902
7216
|
actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
6903
7217
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6904
7218
|
effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6905
|
-
|
|
7219
|
+
resourceId: z.ZodOptional<z.ZodString>;
|
|
7220
|
+
invocations: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
|
|
7221
|
+
lifecycle: z.ZodOptional<z.ZodString>;
|
|
7222
|
+
legacyActionId: z.ZodOptional<z.ZodString>;
|
|
7223
|
+
}, z.core.$strict>>>>;
|
|
6906
7224
|
catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6907
7225
|
id: z.ZodString;
|
|
6908
7226
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6912,7 +7230,10 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6912
7230
|
kind: z.ZodOptional<z.ZodString>;
|
|
6913
7231
|
appliesTo: z.ZodOptional<z.ZodString>;
|
|
6914
7232
|
entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6915
|
-
|
|
7233
|
+
legacyCatalogKey: z.ZodOptional<z.ZodString>;
|
|
7234
|
+
legacyPipelineKey: z.ZodOptional<z.ZodString>;
|
|
7235
|
+
legacyEntityKey: z.ZodOptional<z.ZodString>;
|
|
7236
|
+
}, z.core.$strict>>>>;
|
|
6916
7237
|
eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6917
7238
|
id: z.ZodString;
|
|
6918
7239
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6920,7 +7241,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6920
7241
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6921
7242
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6922
7243
|
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6923
|
-
}, z.core.$
|
|
7244
|
+
}, z.core.$strict>>>>;
|
|
6924
7245
|
interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6925
7246
|
id: z.ZodString;
|
|
6926
7247
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6928,7 +7249,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6928
7249
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6929
7250
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6930
7251
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6931
|
-
}, z.core.$
|
|
7252
|
+
}, z.core.$strict>>>>;
|
|
6932
7253
|
valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6933
7254
|
id: z.ZodString;
|
|
6934
7255
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6936,7 +7257,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6936
7257
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6937
7258
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6938
7259
|
primitive: z.ZodOptional<z.ZodString>;
|
|
6939
|
-
}, z.core.$
|
|
7260
|
+
}, z.core.$strict>>>>;
|
|
6940
7261
|
sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6941
7262
|
id: z.ZodString;
|
|
6942
7263
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6946,7 +7267,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6946
7267
|
valueType: z.ZodOptional<z.ZodString>;
|
|
6947
7268
|
searchable: z.ZodOptional<z.ZodBoolean>;
|
|
6948
7269
|
pii: z.ZodOptional<z.ZodBoolean>;
|
|
6949
|
-
}, z.core.$
|
|
7270
|
+
}, z.core.$strict>>>>;
|
|
6950
7271
|
groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6951
7272
|
id: z.ZodString;
|
|
6952
7273
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6954,7 +7275,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6954
7275
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6955
7276
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6956
7277
|
members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
6957
|
-
}, z.core.$
|
|
7278
|
+
}, z.core.$strict>>>>;
|
|
6958
7279
|
endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6959
7280
|
id: z.ZodString;
|
|
6960
7281
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6962,8 +7283,8 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6962
7283
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6963
7284
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6964
7285
|
route: z.ZodOptional<z.ZodString>;
|
|
6965
|
-
}, z.core.$
|
|
6966
|
-
}, z.core.$
|
|
7286
|
+
}, z.core.$strict>>>>;
|
|
7287
|
+
}, z.core.$strict>>>;
|
|
6967
7288
|
resources: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
6968
7289
|
id: z.ZodString;
|
|
6969
7290
|
order: z.ZodDefault<z.ZodNumber>;
|
|
@@ -7915,6 +8236,50 @@ declare const ListCredentialsResponseSchema: z.ZodObject<{
|
|
|
7915
8236
|
/** API response type for a single credential list item */
|
|
7916
8237
|
type CredentialListItem = z.infer<typeof ListCredentialsResponseSchema>['credentials'][number];
|
|
7917
8238
|
|
|
8239
|
+
/**
|
|
8240
|
+
* Storage-neutral file descriptor.
|
|
8241
|
+
*
|
|
8242
|
+
* Dropbox and Google Drive (the foreseeable second provider) both ship
|
|
8243
|
+
* their own file/metadata shapes. Consumers on both sides of the wire —
|
|
8244
|
+
* a UI file browser and the API route that talks to the provider — need
|
|
8245
|
+
* to agree on one normalized shape, which is why it lives here instead
|
|
8246
|
+
* of being duplicated in each consumer.
|
|
8247
|
+
*
|
|
8248
|
+
* Adapters (`createDropboxAdapter`, a future Drive adapter) stay concrete
|
|
8249
|
+
* and keep their own provider-shaped responses. Normalization into this
|
|
8250
|
+
* type happens at the route/hook boundary — a few lines per provider,
|
|
8251
|
+
* not behind a shared `CloudStorageAdapter` interface.
|
|
8252
|
+
*/
|
|
8253
|
+
interface CloudStorageFile {
|
|
8254
|
+
id: string;
|
|
8255
|
+
name: string;
|
|
8256
|
+
kind: 'file' | 'folder';
|
|
8257
|
+
path?: string;
|
|
8258
|
+
mimeType?: string;
|
|
8259
|
+
sizeBytes?: number;
|
|
8260
|
+
width?: number;
|
|
8261
|
+
height?: number;
|
|
8262
|
+
/** ISO 8601 timestamp the asset was captured (e.g. photo EXIF date), when the provider exposes one. */
|
|
8263
|
+
capturedAt?: string;
|
|
8264
|
+
/**
|
|
8265
|
+
* Optional on purpose. Dropbox does not produce a thumbnail for HEIC or
|
|
8266
|
+
* for anything over 20 MB — "no thumbnail" is a normal state a consumer
|
|
8267
|
+
* renders a fallback for, not an error.
|
|
8268
|
+
*/
|
|
8269
|
+
thumbnailUrl?: string;
|
|
8270
|
+
}
|
|
8271
|
+
/**
|
|
8272
|
+
* Paginated list of storage-neutral file descriptors.
|
|
8273
|
+
*
|
|
8274
|
+
* `nextCursor` deliberately covers both Dropbox's cursor and Google
|
|
8275
|
+
* Drive's `pageToken` — one field, not a provider-specific pagination
|
|
8276
|
+
* field per provider.
|
|
8277
|
+
*/
|
|
8278
|
+
interface CloudStorageListResult {
|
|
8279
|
+
files: CloudStorageFile[];
|
|
8280
|
+
nextCursor?: string;
|
|
8281
|
+
}
|
|
8282
|
+
|
|
7918
8283
|
/**
|
|
7919
8284
|
* Query key factory for executions TanStack Query hooks.
|
|
7920
8285
|
* Uses organization UUID (not name) for cache isolation.
|
|
@@ -9568,6 +9933,21 @@ declare const contentKeys: {
|
|
|
9568
9933
|
}, "limit" | "offset" | "search" | "status" | "pillar" | "clientId" | "pipelineId" | "reviewedBy">>];
|
|
9569
9934
|
itemDetail: (organizationId: WorkOsOrgId | null | undefined, itemId: string | undefined) => readonly ["content", "items", "detail", WorkOsOrgId | null | undefined, string | undefined];
|
|
9570
9935
|
itemAttempts: (organizationId: WorkOsOrgId | null | undefined, itemId: string | undefined) => readonly ["content", "items", "attempts", WorkOsOrgId | null | undefined, string | undefined];
|
|
9936
|
+
/**
|
|
9937
|
+
* One item's ordered source-asset membership (`content_item_source_assets`).
|
|
9938
|
+
*
|
|
9939
|
+
* Nested under `items()` on purpose, matching `itemAttempts`: membership is a
|
|
9940
|
+
* property of the item, and every item read that expands `sourceAssets` goes
|
|
9941
|
+
* stale for exactly the same writes. That makes `contentKeys.items()` a
|
|
9942
|
+
* prefix that reaches this key, the item list, and the item detail in one
|
|
9943
|
+
* invalidation -- which is why the membership mutations invalidate both this
|
|
9944
|
+
* key (the direct read) and `items()` (every reader carrying the expansion).
|
|
9945
|
+
*
|
|
9946
|
+
* Distinct from `sourceAssets()` below, which keys the assets themselves.
|
|
9947
|
+
* A membership row carries `sourceAssetId` and no display fields, so the two
|
|
9948
|
+
* caches are never interchangeable.
|
|
9949
|
+
*/
|
|
9950
|
+
itemSourceAssets: (organizationId: WorkOsOrgId | null | undefined, itemId: string | undefined) => readonly ["content", "items", "source-assets", WorkOsOrgId | null | undefined, string | undefined];
|
|
9571
9951
|
distributions: () => readonly ["content", "distributions"];
|
|
9572
9952
|
distributionsList: (organizationId: WorkOsOrgId | null | undefined, filters: ContentDistributionsListFilters) => readonly ["content", "distributions", "list", WorkOsOrgId | null | undefined, Partial<Pick<{
|
|
9573
9953
|
limit: number;
|
|
@@ -9614,6 +9994,29 @@ declare function useContentItems(filters?: ContentItemsListFilters): _tanstack_r
|
|
|
9614
9994
|
updatedBy: string | null;
|
|
9615
9995
|
createdAt: string;
|
|
9616
9996
|
updatedAt: string;
|
|
9997
|
+
sourceAssets?: {
|
|
9998
|
+
id: string;
|
|
9999
|
+
organizationId: string;
|
|
10000
|
+
contentItemId: string;
|
|
10001
|
+
sourceAssetId: string;
|
|
10002
|
+
position: number;
|
|
10003
|
+
crop: {
|
|
10004
|
+
x: number;
|
|
10005
|
+
y: number;
|
|
10006
|
+
width: number;
|
|
10007
|
+
height: number;
|
|
10008
|
+
} | null;
|
|
10009
|
+
altText: string | null;
|
|
10010
|
+
derivativePath: string | null;
|
|
10011
|
+
derivativeCrop: {
|
|
10012
|
+
x: number;
|
|
10013
|
+
y: number;
|
|
10014
|
+
width: number;
|
|
10015
|
+
height: number;
|
|
10016
|
+
} | null;
|
|
10017
|
+
derivativeRenderedAt: string | null;
|
|
10018
|
+
createdAt: string;
|
|
10019
|
+
}[] | undefined;
|
|
9617
10020
|
}[];
|
|
9618
10021
|
total: number;
|
|
9619
10022
|
limit: number;
|
|
@@ -9647,6 +10050,29 @@ declare function useContentItem(itemId: string | undefined): _tanstack_react_que
|
|
|
9647
10050
|
updatedBy: string | null;
|
|
9648
10051
|
createdAt: string;
|
|
9649
10052
|
updatedAt: string;
|
|
10053
|
+
sourceAssets?: {
|
|
10054
|
+
id: string;
|
|
10055
|
+
organizationId: string;
|
|
10056
|
+
contentItemId: string;
|
|
10057
|
+
sourceAssetId: string;
|
|
10058
|
+
position: number;
|
|
10059
|
+
crop: {
|
|
10060
|
+
x: number;
|
|
10061
|
+
y: number;
|
|
10062
|
+
width: number;
|
|
10063
|
+
height: number;
|
|
10064
|
+
} | null;
|
|
10065
|
+
altText: string | null;
|
|
10066
|
+
derivativePath: string | null;
|
|
10067
|
+
derivativeCrop: {
|
|
10068
|
+
x: number;
|
|
10069
|
+
y: number;
|
|
10070
|
+
width: number;
|
|
10071
|
+
height: number;
|
|
10072
|
+
} | null;
|
|
10073
|
+
derivativeRenderedAt: string | null;
|
|
10074
|
+
createdAt: string;
|
|
10075
|
+
}[] | undefined;
|
|
9650
10076
|
}, Error>;
|
|
9651
10077
|
|
|
9652
10078
|
/**
|
|
@@ -9688,7 +10114,14 @@ declare function useContentDistributions(filters?: ContentDistributionsListFilte
|
|
|
9688
10114
|
adaptedBody: string | null;
|
|
9689
10115
|
platformContent: unknown;
|
|
9690
10116
|
checklist: unknown;
|
|
9691
|
-
mediaUrls:
|
|
10117
|
+
mediaUrls: ({
|
|
10118
|
+
kind: "storage";
|
|
10119
|
+
bucket: string;
|
|
10120
|
+
path: string;
|
|
10121
|
+
} | {
|
|
10122
|
+
kind: "url";
|
|
10123
|
+
url: string;
|
|
10124
|
+
})[];
|
|
9692
10125
|
processingState: Record<string, {
|
|
9693
10126
|
[x: string]: unknown;
|
|
9694
10127
|
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
@@ -9723,7 +10156,14 @@ declare function useContentDistribution(distributionId: string | undefined): _ta
|
|
|
9723
10156
|
adaptedBody: string | null;
|
|
9724
10157
|
platformContent: unknown;
|
|
9725
10158
|
checklist: unknown;
|
|
9726
|
-
mediaUrls:
|
|
10159
|
+
mediaUrls: ({
|
|
10160
|
+
kind: "storage";
|
|
10161
|
+
bucket: string;
|
|
10162
|
+
path: string;
|
|
10163
|
+
} | {
|
|
10164
|
+
kind: "url";
|
|
10165
|
+
url: string;
|
|
10166
|
+
})[];
|
|
9727
10167
|
processingState: Record<string, {
|
|
9728
10168
|
[x: string]: unknown;
|
|
9729
10169
|
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
@@ -9774,8 +10214,101 @@ declare function useUpdateContentItem(): _tanstack_react_query.UseMutationResult
|
|
|
9774
10214
|
updatedBy: string | null;
|
|
9775
10215
|
createdAt: string;
|
|
9776
10216
|
updatedAt: string;
|
|
10217
|
+
sourceAssets?: {
|
|
10218
|
+
id: string;
|
|
10219
|
+
organizationId: string;
|
|
10220
|
+
contentItemId: string;
|
|
10221
|
+
sourceAssetId: string;
|
|
10222
|
+
position: number;
|
|
10223
|
+
crop: {
|
|
10224
|
+
x: number;
|
|
10225
|
+
y: number;
|
|
10226
|
+
width: number;
|
|
10227
|
+
height: number;
|
|
10228
|
+
} | null;
|
|
10229
|
+
altText: string | null;
|
|
10230
|
+
derivativePath: string | null;
|
|
10231
|
+
derivativeCrop: {
|
|
10232
|
+
x: number;
|
|
10233
|
+
y: number;
|
|
10234
|
+
width: number;
|
|
10235
|
+
height: number;
|
|
10236
|
+
} | null;
|
|
10237
|
+
derivativeRenderedAt: string | null;
|
|
10238
|
+
createdAt: string;
|
|
10239
|
+
}[] | undefined;
|
|
9777
10240
|
}, Error, UpdateContentItemParams, unknown>;
|
|
9778
10241
|
|
|
10242
|
+
/**
|
|
10243
|
+
* POST `/content/distributions` -- open the record of one item going out on one
|
|
10244
|
+
* platform. `organizationId` is never sent; the route takes it from authenticated
|
|
10245
|
+
* context.
|
|
10246
|
+
*
|
|
10247
|
+
* **A `mediaUrls` entry names its own kind** (`ContentMediaEntrySchema`): either a
|
|
10248
|
+
* `storage` object carrying its bucket and path, or an already-fetchable `url`.
|
|
10249
|
+
* Derivatives are the first kind, because they live in a private, RLS-gated bucket --
|
|
10250
|
+
* the only URL that would fetch one is a signed URL that expires, and a stored URL
|
|
10251
|
+
* that expires is a row that is correct when written and silently wrong later. The
|
|
10252
|
+
* path is the durable fact; `useStorageSignedUrls` turns it into a URL at the moment
|
|
10253
|
+
* something renders it. Storing paths is also what makes the distribution an honest
|
|
10254
|
+
* record of which files went out: re-cropping a slide afterwards replaces that
|
|
10255
|
+
* object, but the row still names exactly the slides that were posted.
|
|
10256
|
+
*
|
|
10257
|
+
* The manual-publish path is already designed into the update schema: a row with
|
|
10258
|
+
* `publishedAt` set and no `platformPostId` is a post someone made by hand.
|
|
10259
|
+
*/
|
|
10260
|
+
declare function useCreateContentDistribution(): _tanstack_react_query.UseMutationResult<{
|
|
10261
|
+
id: string;
|
|
10262
|
+
organizationId: string;
|
|
10263
|
+
contentItemId: string;
|
|
10264
|
+
platform: string;
|
|
10265
|
+
format: string;
|
|
10266
|
+
status: string;
|
|
10267
|
+
adaptedBody: string | null;
|
|
10268
|
+
platformContent: unknown;
|
|
10269
|
+
checklist: unknown;
|
|
10270
|
+
mediaUrls: ({
|
|
10271
|
+
kind: "storage";
|
|
10272
|
+
bucket: string;
|
|
10273
|
+
path: string;
|
|
10274
|
+
} | {
|
|
10275
|
+
kind: "url";
|
|
10276
|
+
url: string;
|
|
10277
|
+
})[];
|
|
10278
|
+
processingState: Record<string, {
|
|
10279
|
+
[x: string]: unknown;
|
|
10280
|
+
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
10281
|
+
attemptId: string;
|
|
10282
|
+
executionId: string | null;
|
|
10283
|
+
attemptedAt: string;
|
|
10284
|
+
data?: unknown;
|
|
10285
|
+
}>;
|
|
10286
|
+
publishMethod: string | null;
|
|
10287
|
+
publishedAt: string | null;
|
|
10288
|
+
platformPostId: string | null;
|
|
10289
|
+
platformUrl: string | null;
|
|
10290
|
+
metrics: unknown;
|
|
10291
|
+
metricsUpdatedAt: string | null;
|
|
10292
|
+
createdAt: string;
|
|
10293
|
+
updatedAt: string;
|
|
10294
|
+
}, Error, {
|
|
10295
|
+
contentItemId: string;
|
|
10296
|
+
platform: string;
|
|
10297
|
+
format: string;
|
|
10298
|
+
status?: string | undefined;
|
|
10299
|
+
adaptedBody?: string | null | undefined;
|
|
10300
|
+
platformContent?: unknown;
|
|
10301
|
+
checklist?: unknown;
|
|
10302
|
+
mediaUrls?: ({
|
|
10303
|
+
kind: "storage";
|
|
10304
|
+
bucket: string;
|
|
10305
|
+
path: string;
|
|
10306
|
+
} | {
|
|
10307
|
+
kind: "url";
|
|
10308
|
+
url: string;
|
|
10309
|
+
})[] | undefined;
|
|
10310
|
+
}, unknown>;
|
|
10311
|
+
|
|
9779
10312
|
interface UpdateContentDistributionParams {
|
|
9780
10313
|
distributionId: string;
|
|
9781
10314
|
updates: UpdateContentDistributionRequest;
|
|
@@ -9798,7 +10331,14 @@ declare function useUpdateContentDistribution(): _tanstack_react_query.UseMutati
|
|
|
9798
10331
|
adaptedBody: string | null;
|
|
9799
10332
|
platformContent: unknown;
|
|
9800
10333
|
checklist: unknown;
|
|
9801
|
-
mediaUrls:
|
|
10334
|
+
mediaUrls: ({
|
|
10335
|
+
kind: "storage";
|
|
10336
|
+
bucket: string;
|
|
10337
|
+
path: string;
|
|
10338
|
+
} | {
|
|
10339
|
+
kind: "url";
|
|
10340
|
+
url: string;
|
|
10341
|
+
})[];
|
|
9802
10342
|
processingState: Record<string, {
|
|
9803
10343
|
[x: string]: unknown;
|
|
9804
10344
|
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
@@ -9852,6 +10392,29 @@ declare function useReviewContentItem(): _tanstack_react_query.UseMutationResult
|
|
|
9852
10392
|
updatedBy: string | null;
|
|
9853
10393
|
createdAt: string;
|
|
9854
10394
|
updatedAt: string;
|
|
10395
|
+
sourceAssets?: {
|
|
10396
|
+
id: string;
|
|
10397
|
+
organizationId: string;
|
|
10398
|
+
contentItemId: string;
|
|
10399
|
+
sourceAssetId: string;
|
|
10400
|
+
position: number;
|
|
10401
|
+
crop: {
|
|
10402
|
+
x: number;
|
|
10403
|
+
y: number;
|
|
10404
|
+
width: number;
|
|
10405
|
+
height: number;
|
|
10406
|
+
} | null;
|
|
10407
|
+
altText: string | null;
|
|
10408
|
+
derivativePath: string | null;
|
|
10409
|
+
derivativeCrop: {
|
|
10410
|
+
x: number;
|
|
10411
|
+
y: number;
|
|
10412
|
+
width: number;
|
|
10413
|
+
height: number;
|
|
10414
|
+
} | null;
|
|
10415
|
+
derivativeRenderedAt: string | null;
|
|
10416
|
+
createdAt: string;
|
|
10417
|
+
}[] | undefined;
|
|
9855
10418
|
}, Error, ReviewContentItemParams, unknown>;
|
|
9856
10419
|
|
|
9857
10420
|
/**
|
|
@@ -9892,6 +10455,89 @@ declare function useContentSourceAsset(sourceAssetId: string | undefined): _tans
|
|
|
9892
10455
|
updatedAt: string;
|
|
9893
10456
|
}, Error>;
|
|
9894
10457
|
|
|
10458
|
+
/**
|
|
10459
|
+
* POST `/content/items` -- creates one content item. `organizationId` is never
|
|
10460
|
+
* sent; it is injected server-side from the authenticated context.
|
|
10461
|
+
*
|
|
10462
|
+
* `sourceAssets` carries the ordered membership a carousel is created with, in
|
|
10463
|
+
* the same request (Open Decision 11). That write is NOT atomic -- `apps/api`
|
|
10464
|
+
* does a bulk insert plus a compensating delete, because `@supabase/supabase-js`
|
|
10465
|
+
* has no transaction primitive -- so a mid-write failure yields an item with no
|
|
10466
|
+
* memberships rather than a half-built carousel. Callers that must know either
|
|
10467
|
+
* way should re-read the item, not assume the array they sent.
|
|
10468
|
+
*/
|
|
10469
|
+
declare function useCreateContentItem(): _tanstack_react_query.UseMutationResult<{
|
|
10470
|
+
id: string;
|
|
10471
|
+
organizationId: string;
|
|
10472
|
+
title: string;
|
|
10473
|
+
body: string | null;
|
|
10474
|
+
payload: unknown;
|
|
10475
|
+
status: string;
|
|
10476
|
+
pillar: string | null;
|
|
10477
|
+
pipelineId: string | null;
|
|
10478
|
+
clientId: string | null;
|
|
10479
|
+
sourceAssetId: string | null;
|
|
10480
|
+
processingState: Record<string, {
|
|
10481
|
+
[x: string]: unknown;
|
|
10482
|
+
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
10483
|
+
attemptId: string;
|
|
10484
|
+
executionId: string | null;
|
|
10485
|
+
attemptedAt: string;
|
|
10486
|
+
data?: unknown;
|
|
10487
|
+
}>;
|
|
10488
|
+
reviewedAt: string | null;
|
|
10489
|
+
reviewedBy: string | null;
|
|
10490
|
+
reviewerFeedback: string | null;
|
|
10491
|
+
rejectReason: string | null;
|
|
10492
|
+
createdBy: string | null;
|
|
10493
|
+
updatedBy: string | null;
|
|
10494
|
+
createdAt: string;
|
|
10495
|
+
updatedAt: string;
|
|
10496
|
+
sourceAssets?: {
|
|
10497
|
+
id: string;
|
|
10498
|
+
organizationId: string;
|
|
10499
|
+
contentItemId: string;
|
|
10500
|
+
sourceAssetId: string;
|
|
10501
|
+
position: number;
|
|
10502
|
+
crop: {
|
|
10503
|
+
x: number;
|
|
10504
|
+
y: number;
|
|
10505
|
+
width: number;
|
|
10506
|
+
height: number;
|
|
10507
|
+
} | null;
|
|
10508
|
+
altText: string | null;
|
|
10509
|
+
derivativePath: string | null;
|
|
10510
|
+
derivativeCrop: {
|
|
10511
|
+
x: number;
|
|
10512
|
+
y: number;
|
|
10513
|
+
width: number;
|
|
10514
|
+
height: number;
|
|
10515
|
+
} | null;
|
|
10516
|
+
derivativeRenderedAt: string | null;
|
|
10517
|
+
createdAt: string;
|
|
10518
|
+
}[] | undefined;
|
|
10519
|
+
}, Error, {
|
|
10520
|
+
title: string;
|
|
10521
|
+
body?: string | null | undefined;
|
|
10522
|
+
payload?: Record<string, unknown> | undefined;
|
|
10523
|
+
status?: string | undefined;
|
|
10524
|
+
pillar?: string | null | undefined;
|
|
10525
|
+
pipelineId?: string | null | undefined;
|
|
10526
|
+
clientId?: string | null | undefined;
|
|
10527
|
+
sourceAssetId?: string | null | undefined;
|
|
10528
|
+
sourceAssets?: {
|
|
10529
|
+
sourceAssetId: string;
|
|
10530
|
+
position: number;
|
|
10531
|
+
crop?: {
|
|
10532
|
+
x: number;
|
|
10533
|
+
y: number;
|
|
10534
|
+
width: number;
|
|
10535
|
+
height: number;
|
|
10536
|
+
} | null | undefined;
|
|
10537
|
+
altText?: string | null | undefined;
|
|
10538
|
+
}[] | undefined;
|
|
10539
|
+
}, unknown>;
|
|
10540
|
+
|
|
9895
10541
|
/**
|
|
9896
10542
|
* POST `/content/source-assets` -- `kind` and `title` are the only required fields;
|
|
9897
10543
|
* `organizationId` is never sent, it is injected server-side from the authenticated
|
|
@@ -9954,6 +10600,302 @@ declare function useUpdateContentSourceAsset(): _tanstack_react_query.UseMutatio
|
|
|
9954
10600
|
updatedAt: string;
|
|
9955
10601
|
}, Error, UpdateContentSourceAssetParams, unknown>;
|
|
9956
10602
|
|
|
10603
|
+
/**
|
|
10604
|
+
* GET `/content/items/:itemId/source-assets` -- one item's ordered source-asset
|
|
10605
|
+
* membership, ascending by `position`. `position` 0 is the cover.
|
|
10606
|
+
*
|
|
10607
|
+
* The membership row does NOT embed the `content_source_assets` row it points at:
|
|
10608
|
+
* it carries `sourceAssetId` and no title, URL, or dimensions. A caller that needs
|
|
10609
|
+
* display fields resolves them through `useContentSourceAsset` /
|
|
10610
|
+
* `useContentSourceAssets`, or uses `useContentItemSourceAssetDetails`, which does
|
|
10611
|
+
* that join and shares the same per-asset cache entries.
|
|
10612
|
+
*
|
|
10613
|
+
* Read-open, like every other content GET -- only the writes sit behind
|
|
10614
|
+
* `content.manage`.
|
|
10615
|
+
*/
|
|
10616
|
+
declare function useContentItemSourceAssets(itemId: string | undefined): _tanstack_react_query.UseQueryResult<{
|
|
10617
|
+
data: {
|
|
10618
|
+
id: string;
|
|
10619
|
+
organizationId: string;
|
|
10620
|
+
contentItemId: string;
|
|
10621
|
+
sourceAssetId: string;
|
|
10622
|
+
position: number;
|
|
10623
|
+
crop: {
|
|
10624
|
+
x: number;
|
|
10625
|
+
y: number;
|
|
10626
|
+
width: number;
|
|
10627
|
+
height: number;
|
|
10628
|
+
} | null;
|
|
10629
|
+
altText: string | null;
|
|
10630
|
+
derivativePath: string | null;
|
|
10631
|
+
derivativeCrop: {
|
|
10632
|
+
x: number;
|
|
10633
|
+
y: number;
|
|
10634
|
+
width: number;
|
|
10635
|
+
height: number;
|
|
10636
|
+
} | null;
|
|
10637
|
+
derivativeRenderedAt: string | null;
|
|
10638
|
+
createdAt: string;
|
|
10639
|
+
}[];
|
|
10640
|
+
}, Error>;
|
|
10641
|
+
/**
|
|
10642
|
+
* The two states `ContentItemResponse.sourceAssets` can be in, made explicit so a
|
|
10643
|
+
* renderer cannot lose the difference.
|
|
10644
|
+
*
|
|
10645
|
+
* `expanded: false` means the reader did not expand membership -- say nothing about
|
|
10646
|
+
* the asset list and fetch it with `useContentItemSourceAssets` if it is needed.
|
|
10647
|
+
* `expanded: true` with an empty array means the item genuinely has no source assets.
|
|
10648
|
+
*
|
|
10649
|
+
* Defaulting the absent case to `[]` erases that distinction and renders "no photos"
|
|
10650
|
+
* over an item that may well have twenty.
|
|
10651
|
+
*/
|
|
10652
|
+
type ContentItemSourceAssetExpansion = {
|
|
10653
|
+
expanded: false;
|
|
10654
|
+
sourceAssets: undefined;
|
|
10655
|
+
} | {
|
|
10656
|
+
expanded: true;
|
|
10657
|
+
sourceAssets: ContentItemSourceAssetResponse[];
|
|
10658
|
+
};
|
|
10659
|
+
/**
|
|
10660
|
+
* Narrows `ContentItemResponse.sourceAssets` into `ContentItemSourceAssetExpansion`.
|
|
10661
|
+
*
|
|
10662
|
+
* Which reads expand, as of the routes landed 2026-08-17: single-item reads
|
|
10663
|
+
* (`getItem`, `updateItem`, `reviewItem`) always expand, and the session
|
|
10664
|
+
* `GET /content/items` list route expands too. Only the unbounded analytics readers
|
|
10665
|
+
* leave it absent, so `expanded: false` is a real state a shared component can be
|
|
10666
|
+
* handed -- it is not dead code.
|
|
10667
|
+
*
|
|
10668
|
+
* A `null` or `undefined` item is `expanded: false`: nothing has been read yet, which
|
|
10669
|
+
* is the same "say nothing" case.
|
|
10670
|
+
*/
|
|
10671
|
+
declare function readItemSourceAssets(item: Pick<ContentItemResponse, 'sourceAssets'> | null | undefined): ContentItemSourceAssetExpansion;
|
|
10672
|
+
/**
|
|
10673
|
+
* The cover membership -- the lowest `position` in the set, or `undefined` for an
|
|
10674
|
+
* empty set.
|
|
10675
|
+
*
|
|
10676
|
+
* `position` 0 is the cover by contract, and a reorder always writes contiguous
|
|
10677
|
+
* indices from 0. But the column only requires uniqueness within an item, not
|
|
10678
|
+
* contiguity and not a zero, so an item assembled by individual `addItemSourceAsset`
|
|
10679
|
+
* calls can legally have no `position` 0 at all. Taking the minimum agrees with the
|
|
10680
|
+
* contract whenever 0 is present and still yields a cover when it is not; a literal
|
|
10681
|
+
* `position === 0` lookup would silently return nothing.
|
|
10682
|
+
*
|
|
10683
|
+
* This adds no contiguity rule -- it never renumbers, and gaps stay legal.
|
|
10684
|
+
*/
|
|
10685
|
+
declare function pickCoverSourceAsset(memberships: readonly ContentItemSourceAssetResponse[] | undefined): ContentItemSourceAssetResponse | undefined;
|
|
10686
|
+
|
|
10687
|
+
/**
|
|
10688
|
+
* One membership paired with the source-asset row it points at.
|
|
10689
|
+
*
|
|
10690
|
+
* `asset` is `undefined` while its own query is still in flight or has failed --
|
|
10691
|
+
* never a fabricated placeholder. A renderer shows the membership (position, crop,
|
|
10692
|
+
* alt text) immediately and fills in the title/URL when it lands.
|
|
10693
|
+
*/
|
|
10694
|
+
interface ContentItemSourceAssetDetail {
|
|
10695
|
+
membership: ContentItemSourceAssetResponse;
|
|
10696
|
+
asset: ContentSourceAssetResponse | undefined;
|
|
10697
|
+
}
|
|
10698
|
+
interface ContentItemSourceAssetDetailsResult {
|
|
10699
|
+
/** Ascending by `position`, exactly the order the membership route returned. */
|
|
10700
|
+
memberships: ContentItemSourceAssetDetail[];
|
|
10701
|
+
/** True while the membership list or any asset lookup is still loading. */
|
|
10702
|
+
isLoading: boolean;
|
|
10703
|
+
/** True once the membership list has loaded, whatever the asset lookups did. */
|
|
10704
|
+
isMembershipLoaded: boolean;
|
|
10705
|
+
}
|
|
10706
|
+
/**
|
|
10707
|
+
* Pairs memberships with resolved assets, positionally by `sourceAssetId`.
|
|
10708
|
+
* Exported standalone so the join is testable without a QueryClient.
|
|
10709
|
+
*/
|
|
10710
|
+
declare function joinSourceAssetDetails(memberships: readonly ContentItemSourceAssetResponse[], assets: readonly (ContentSourceAssetResponse | undefined)[]): ContentItemSourceAssetDetail[];
|
|
10711
|
+
/**
|
|
10712
|
+
* The membership list plus the display fields it deliberately does not carry.
|
|
10713
|
+
*
|
|
10714
|
+
* `content_item_source_assets` rows hold `sourceAssetId`, `position`, `crop`, and
|
|
10715
|
+
* `altText` and nothing else -- no title, no URL, no dimensions -- because embedding
|
|
10716
|
+
* the asset would double the payload of every item list read. Resolving those fields
|
|
10717
|
+
* is therefore a second query, and this hook is that second query so each carousel
|
|
10718
|
+
* surface does not rebuild it.
|
|
10719
|
+
*
|
|
10720
|
+
* One `GET /content/source-assets/:id` per membership, each on the SAME
|
|
10721
|
+
* `contentKeys.sourceAssetDetail` key `useContentSourceAsset` uses. Two consequences
|
|
10722
|
+
* worth relying on: an asset shared by several items is fetched once, and
|
|
10723
|
+
* `useUpdateContentSourceAsset`'s existing invalidation already refreshes what this
|
|
10724
|
+
* hook renders. Per-asset rather than one list read because the list route filters
|
|
10725
|
+
* only by `kind`/`limit`/`offset` -- it has no id filter, so a list call would
|
|
10726
|
+
* over-fetch and still risk missing an asset past the page boundary.
|
|
10727
|
+
*
|
|
10728
|
+
* The transport caps membership at 50 per item, so this is a bounded fan-out.
|
|
10729
|
+
*/
|
|
10730
|
+
declare function useContentItemSourceAssetDetails(itemId: string | undefined): ContentItemSourceAssetDetailsResult;
|
|
10731
|
+
|
|
10732
|
+
interface AddContentItemSourceAssetParams {
|
|
10733
|
+
itemId: string;
|
|
10734
|
+
membership: ContentItemSourceAssetInput;
|
|
10735
|
+
}
|
|
10736
|
+
/**
|
|
10737
|
+
* POST `/content/items/:itemId/source-assets` (201) -- links one source asset into an
|
|
10738
|
+
* item at a `position`.
|
|
10739
|
+
*
|
|
10740
|
+
* `position` 0 is the cover. Positions must be unique within the item but need not be
|
|
10741
|
+
* contiguous, so there is deliberately no client-side renumbering here: use
|
|
10742
|
+
* `useReorderContentItemSourceAssets` when the whole order changes.
|
|
10743
|
+
*
|
|
10744
|
+
* `crop` is normalized fractions of the source (`x`, `y`, `width`, `height`, each
|
|
10745
|
+
* 0-1, with `x + width <= 1` and `y + height <= 1`), never pixels -- one crop then
|
|
10746
|
+
* survives a resized derivative. `organizationId` is never sent; it comes from the
|
|
10747
|
+
* authenticated context server-side, and composite foreign keys make a cross-org link
|
|
10748
|
+
* impossible at the database level.
|
|
10749
|
+
*
|
|
10750
|
+
* Behind `content.manage`.
|
|
10751
|
+
*/
|
|
10752
|
+
declare function useAddContentItemSourceAsset(): _tanstack_react_query.UseMutationResult<{
|
|
10753
|
+
id: string;
|
|
10754
|
+
organizationId: string;
|
|
10755
|
+
contentItemId: string;
|
|
10756
|
+
sourceAssetId: string;
|
|
10757
|
+
position: number;
|
|
10758
|
+
crop: {
|
|
10759
|
+
x: number;
|
|
10760
|
+
y: number;
|
|
10761
|
+
width: number;
|
|
10762
|
+
height: number;
|
|
10763
|
+
} | null;
|
|
10764
|
+
altText: string | null;
|
|
10765
|
+
derivativePath: string | null;
|
|
10766
|
+
derivativeCrop: {
|
|
10767
|
+
x: number;
|
|
10768
|
+
y: number;
|
|
10769
|
+
width: number;
|
|
10770
|
+
height: number;
|
|
10771
|
+
} | null;
|
|
10772
|
+
derivativeRenderedAt: string | null;
|
|
10773
|
+
createdAt: string;
|
|
10774
|
+
}, Error, AddContentItemSourceAssetParams, unknown>;
|
|
10775
|
+
|
|
10776
|
+
interface RemoveContentItemSourceAssetParams {
|
|
10777
|
+
itemId: string;
|
|
10778
|
+
sourceAssetId: string;
|
|
10779
|
+
}
|
|
10780
|
+
/**
|
|
10781
|
+
* DELETE `/content/items/:itemId/source-assets/:sourceAssetId` (204, no body) --
|
|
10782
|
+
* unlinks one source asset from one item.
|
|
10783
|
+
*
|
|
10784
|
+
* Unlinks the membership only: the `content_source_assets` row survives and stays
|
|
10785
|
+
* usable by other items, so the source-asset caches are untouched.
|
|
10786
|
+
*
|
|
10787
|
+
* The remaining memberships keep their positions -- removing the middle of a set
|
|
10788
|
+
* leaves a gap, which is legal (`position` is unique per item, not contiguous).
|
|
10789
|
+
* Follow with `useReorderContentItemSourceAssets` only if the caller actually wants
|
|
10790
|
+
* renumbering.
|
|
10791
|
+
*
|
|
10792
|
+
* Behind `content.manage`.
|
|
10793
|
+
*/
|
|
10794
|
+
declare function useRemoveContentItemSourceAsset(): _tanstack_react_query.UseMutationResult<void, Error, RemoveContentItemSourceAssetParams, unknown>;
|
|
10795
|
+
|
|
10796
|
+
interface ReorderContentItemSourceAssetsParams {
|
|
10797
|
+
itemId: string;
|
|
10798
|
+
/**
|
|
10799
|
+
* The item's COMPLETE membership set in its new order -- index becomes `position`,
|
|
10800
|
+
* so index 0 is the new cover.
|
|
10801
|
+
*/
|
|
10802
|
+
orderedAssetIds: string[];
|
|
10803
|
+
}
|
|
10804
|
+
/**
|
|
10805
|
+
* POST `/content/items/:itemId/source-assets/reorder` -- rewrites the whole slide
|
|
10806
|
+
* order in one transaction.
|
|
10807
|
+
*
|
|
10808
|
+
* Wholesale rather than per-row: `UNIQUE (content_item_id, position)` is DEFERRABLE
|
|
10809
|
+
* INITIALLY DEFERRED, so the server issues plain per-row updates inside one
|
|
10810
|
+
* transaction and the constraint is checked at COMMIT. There is no per-membership
|
|
10811
|
+
* position write, and none is wanted -- moving one slide is a reorder of the set.
|
|
10812
|
+
*
|
|
10813
|
+
* The server rejects a list that does not name EXACTLY the item's current membership,
|
|
10814
|
+
* and its message names both directions (`missing:` for memberships the list omits,
|
|
10815
|
+
* `not linked to this item:` for ids that are not members). That message is surfaced
|
|
10816
|
+
* through `showApiErrorNotification` rather than replaced with a generic one -- it is
|
|
10817
|
+
* the only thing that tells an operator which side of the mismatch to fix. A caller
|
|
10818
|
+
* that wants it inline reads `mutation.error` too.
|
|
10819
|
+
*
|
|
10820
|
+
* Deliberately no client-side pre-check of the id set against a cached membership
|
|
10821
|
+
* list: the cache can be stale, and a stale-cache false negative would block a
|
|
10822
|
+
* legitimate reorder the server would have accepted.
|
|
10823
|
+
*
|
|
10824
|
+
* Behind `content.manage`. Returns the reordered set, ascending by `position`.
|
|
10825
|
+
*/
|
|
10826
|
+
declare function useReorderContentItemSourceAssets(): _tanstack_react_query.UseMutationResult<{
|
|
10827
|
+
data: {
|
|
10828
|
+
id: string;
|
|
10829
|
+
organizationId: string;
|
|
10830
|
+
contentItemId: string;
|
|
10831
|
+
sourceAssetId: string;
|
|
10832
|
+
position: number;
|
|
10833
|
+
crop: {
|
|
10834
|
+
x: number;
|
|
10835
|
+
y: number;
|
|
10836
|
+
width: number;
|
|
10837
|
+
height: number;
|
|
10838
|
+
} | null;
|
|
10839
|
+
altText: string | null;
|
|
10840
|
+
derivativePath: string | null;
|
|
10841
|
+
derivativeCrop: {
|
|
10842
|
+
x: number;
|
|
10843
|
+
y: number;
|
|
10844
|
+
width: number;
|
|
10845
|
+
height: number;
|
|
10846
|
+
} | null;
|
|
10847
|
+
derivativeRenderedAt: string | null;
|
|
10848
|
+
createdAt: string;
|
|
10849
|
+
}[];
|
|
10850
|
+
}, Error, ReorderContentItemSourceAssetsParams, unknown>;
|
|
10851
|
+
|
|
10852
|
+
interface UpdateContentItemSourceAssetParams {
|
|
10853
|
+
itemId: string;
|
|
10854
|
+
sourceAssetId: string;
|
|
10855
|
+
updates: UpdateContentItemSourceAssetRequest;
|
|
10856
|
+
}
|
|
10857
|
+
/**
|
|
10858
|
+
* PATCH `/content/items/:itemId/source-assets/:sourceAssetId` -- patches ONE
|
|
10859
|
+
* membership's per-slide attributes: `crop` and `altText`. At least one must be
|
|
10860
|
+
* present.
|
|
10861
|
+
*
|
|
10862
|
+
* Both are per-membership, not per-asset: the same photo is cropped 4:5 in one
|
|
10863
|
+
* carousel and square in another, so this never touches the
|
|
10864
|
+
* `content_source_assets` row and never invalidates the source-asset caches.
|
|
10865
|
+
*
|
|
10866
|
+
* `position` is deliberately not patchable here -- use
|
|
10867
|
+
* `useReorderContentItemSourceAssets`. `sourceAssetId` is immutable; swapping the
|
|
10868
|
+
* asset is a remove plus an add.
|
|
10869
|
+
*
|
|
10870
|
+
* `crop` is normalized fractions of the source (0-1), not pixels, and `null` clears
|
|
10871
|
+
* it. `altText` is likewise nullable to clear.
|
|
10872
|
+
*
|
|
10873
|
+
* Behind `content.manage`.
|
|
10874
|
+
*/
|
|
10875
|
+
declare function useUpdateContentItemSourceAsset(): _tanstack_react_query.UseMutationResult<{
|
|
10876
|
+
id: string;
|
|
10877
|
+
organizationId: string;
|
|
10878
|
+
contentItemId: string;
|
|
10879
|
+
sourceAssetId: string;
|
|
10880
|
+
position: number;
|
|
10881
|
+
crop: {
|
|
10882
|
+
x: number;
|
|
10883
|
+
y: number;
|
|
10884
|
+
width: number;
|
|
10885
|
+
height: number;
|
|
10886
|
+
} | null;
|
|
10887
|
+
altText: string | null;
|
|
10888
|
+
derivativePath: string | null;
|
|
10889
|
+
derivativeCrop: {
|
|
10890
|
+
x: number;
|
|
10891
|
+
y: number;
|
|
10892
|
+
width: number;
|
|
10893
|
+
height: number;
|
|
10894
|
+
} | null;
|
|
10895
|
+
derivativeRenderedAt: string | null;
|
|
10896
|
+
createdAt: string;
|
|
10897
|
+
}, Error, UpdateContentItemSourceAssetParams, unknown>;
|
|
10898
|
+
|
|
9957
10899
|
interface ContentPipelineSummary {
|
|
9958
10900
|
/** Item count per declared status key. */
|
|
9959
10901
|
countsByStatus: Record<string, number>;
|
|
@@ -9988,6 +10930,291 @@ declare function pickLatestRunAt(latestExecutions: (APIExecutionSummary | undefi
|
|
|
9988
10930
|
*/
|
|
9989
10931
|
declare function useContentPipelineSummary(pipelineId: string | undefined, statusKeys: string[], stepResourceIds: string[]): ContentPipelineSummary;
|
|
9990
10932
|
|
|
10933
|
+
/**
|
|
10934
|
+
* Filters that identify one folder listing. `credentialName` selects which connected
|
|
10935
|
+
* cloud-storage credential to read from (resolved org-scoped server-side); `cursor`
|
|
10936
|
+
* threads a previous page's `CloudStorageListResult.nextCursor` back in for the next
|
|
10937
|
+
* page, so it is part of the key -- a different cursor is a different page, not a
|
|
10938
|
+
* refetch of the same one.
|
|
10939
|
+
*/
|
|
10940
|
+
interface CloudStorageFolderFilters {
|
|
10941
|
+
credentialName: string;
|
|
10942
|
+
folderPath?: string;
|
|
10943
|
+
cursor?: string;
|
|
10944
|
+
}
|
|
10945
|
+
declare const cloudStorageKeys: {
|
|
10946
|
+
all: readonly ["cloud-storage"];
|
|
10947
|
+
folders: () => readonly ["cloud-storage", "folders"];
|
|
10948
|
+
folder: (organizationId: WorkOsOrgId | null | undefined, filters: CloudStorageFolderFilters) => readonly ["cloud-storage", "folders", WorkOsOrgId | null | undefined, CloudStorageFolderFilters];
|
|
10949
|
+
thumbnails: () => readonly ["cloud-storage", "thumbnails"];
|
|
10950
|
+
/**
|
|
10951
|
+
* One key per resolved batch (at most `THUMBNAIL_BATCH_SIZE` ids) -- `useQueries`
|
|
10952
|
+
* issues one query per batch, so the batch's own id list is part of its key.
|
|
10953
|
+
*/
|
|
10954
|
+
thumbnailBatch: (organizationId: WorkOsOrgId | null | undefined, credentialName: string, batchFileIds: string[]) => readonly ["cloud-storage", "thumbnails", WorkOsOrgId | null | undefined, string, string[]];
|
|
10955
|
+
temporaryLinks: () => readonly ["cloud-storage", "temporary-links"];
|
|
10956
|
+
/**
|
|
10957
|
+
* Keyed per file. Shared by every consumer that needs the original's bytes --
|
|
10958
|
+
* measuring, cropping, and previewing all read this one key, so a selected
|
|
10959
|
+
* image resolves one link and downloads once rather than three times.
|
|
10960
|
+
*/
|
|
10961
|
+
temporaryLinkFor: (organizationId: WorkOsOrgId | null | undefined, credentialName: string, fileId: string) => readonly ["cloud-storage", "temporary-links", WorkOsOrgId | null | undefined, string, string];
|
|
10962
|
+
imageDimensions: () => readonly ["cloud-storage", "image-dimensions"];
|
|
10963
|
+
/**
|
|
10964
|
+
* Keyed per file rather than per set -- dimensions are measured one file at a time
|
|
10965
|
+
* and a measured file stays measured no matter what else is selected alongside it.
|
|
10966
|
+
*/
|
|
10967
|
+
imageDimensionsFor: (organizationId: WorkOsOrgId | null | undefined, credentialName: string, fileId: string) => readonly ["cloud-storage", "image-dimensions", WorkOsOrgId | null | undefined, string, string];
|
|
10968
|
+
};
|
|
10969
|
+
|
|
10970
|
+
type CloudStorageFolderParams = CloudStorageFolderFilters;
|
|
10971
|
+
/**
|
|
10972
|
+
* `CloudStorageListResult` plus the `connected` flag the route surfaces when the named
|
|
10973
|
+
* credential does not exist for this org yet. Matches the google-calendar
|
|
10974
|
+
* `{ connected: false, events: [] }`-with-HTTP-200 convention
|
|
10975
|
+
* (`apps/api/src/integrations/google-calendar/handlers.ts`) -- "not connected" is a
|
|
10976
|
+
* normal query result the caller renders a connect-prompt for, never a thrown error.
|
|
10977
|
+
*/
|
|
10978
|
+
interface CloudStorageFolderResponse extends CloudStorageListResult {
|
|
10979
|
+
connected: boolean;
|
|
10980
|
+
}
|
|
10981
|
+
/**
|
|
10982
|
+
* GET `/integrations/dropbox/files` -- lists one folder's contents, normalized to
|
|
10983
|
+
* `CloudStorageFile` at the route boundary (never a Dropbox-shaped payload here).
|
|
10984
|
+
*
|
|
10985
|
+
* `cursor` threads a previous page's `nextCursor` back in; pass the response's
|
|
10986
|
+
* `nextCursor` on the next call to page forward. `nextCursor` is `undefined` on the
|
|
10987
|
+
* last page.
|
|
10988
|
+
*/
|
|
10989
|
+
declare function useCloudStorageFolder(params: CloudStorageFolderParams): _tanstack_react_query.UseQueryResult<CloudStorageFolderResponse, Error>;
|
|
10990
|
+
|
|
10991
|
+
/**
|
|
10992
|
+
* Dropbox's thumbnail batch endpoint caps a single request at 25 files, and the core
|
|
10993
|
+
* adapter enforces that cap with a thrown error rather than paging internally --
|
|
10994
|
+
* paging lives here instead.
|
|
10995
|
+
*/
|
|
10996
|
+
declare const THUMBNAIL_BATCH_SIZE = 25;
|
|
10997
|
+
/**
|
|
10998
|
+
* Splits `items` into fixed-size batches of at most `size`, preserving order.
|
|
10999
|
+
* Exported standalone so the 25-file cap is testable without a QueryClient.
|
|
11000
|
+
*/
|
|
11001
|
+
declare function chunkIntoBatches<T>(items: T[], size: number): T[][];
|
|
11002
|
+
/**
|
|
11003
|
+
* One entry per requested file id. `null` means the file exists but Dropbox produced
|
|
11004
|
+
* no thumbnail for it -- HEIC/unsupported formats, or an original over 20MB -- which
|
|
11005
|
+
* is a normal value the card renders a fallback from, never an error. A key absent
|
|
11006
|
+
* from the map means its batch has not resolved yet.
|
|
11007
|
+
*/
|
|
11008
|
+
type CloudStorageThumbnailMap = Record<string, string | null>;
|
|
11009
|
+
interface CloudStorageThumbnailBatchResponse {
|
|
11010
|
+
connected: boolean;
|
|
11011
|
+
thumbnails: CloudStorageThumbnailMap;
|
|
11012
|
+
}
|
|
11013
|
+
/**
|
|
11014
|
+
* Merges one `{connected, thumbnails}` response per resolved batch into a single map.
|
|
11015
|
+
* `connected` is true as soon as any batch reports connected -- one credential backs
|
|
11016
|
+
* every batch, so a mixed result should not occur, but this stays conservative rather
|
|
11017
|
+
* than assuming `true` before any batch has resolved.
|
|
11018
|
+
* Exported standalone so batch-merge behavior is testable without a QueryClient.
|
|
11019
|
+
*/
|
|
11020
|
+
declare function mergeThumbnailBatches(batches: (CloudStorageThumbnailBatchResponse | undefined)[]): {
|
|
11021
|
+
thumbnails: CloudStorageThumbnailMap;
|
|
11022
|
+
connected: boolean;
|
|
11023
|
+
};
|
|
11024
|
+
interface CloudStorageThumbnailsResult {
|
|
11025
|
+
/** fileId -> thumbnail URL, or `null` when Dropbox produced no thumbnail for that file. */
|
|
11026
|
+
thumbnails: CloudStorageThumbnailMap;
|
|
11027
|
+
connected: boolean;
|
|
11028
|
+
isLoading: boolean;
|
|
11029
|
+
}
|
|
11030
|
+
/**
|
|
11031
|
+
* GET `/integrations/dropbox/thumbnails` -- resolves thumbnail URLs for a set of
|
|
11032
|
+
* `CloudStorageFile` ids, chunked into batches of at most `THUMBNAIL_BATCH_SIZE`
|
|
11033
|
+
* (Dropbox's server-side cap). Each batch is its own TanStack Query so batches
|
|
11034
|
+
* resolve and cache independently -- a slow batch does not block the rest.
|
|
11035
|
+
*/
|
|
11036
|
+
declare function useCloudStorageThumbnails(credentialName: string, fileIds: string[]): CloudStorageThumbnailsResult;
|
|
11037
|
+
|
|
11038
|
+
/**
|
|
11039
|
+
* Pixel dimensions of one original, or `null` when they could not be read.
|
|
11040
|
+
*
|
|
11041
|
+
* `null` is a normal value, not an error: the file may not be an image, the
|
|
11042
|
+
* temporary link may have failed, or the browser may have declined to decode it.
|
|
11043
|
+
* Callers should treat an absent measurement as "unknown", never as "too small".
|
|
11044
|
+
*/
|
|
11045
|
+
type CloudStorageDimensions = {
|
|
11046
|
+
width: number;
|
|
11047
|
+
height: number;
|
|
11048
|
+
} | null;
|
|
11049
|
+
/** One entry per requested file id. A key absent from the map has not resolved yet. */
|
|
11050
|
+
type CloudStorageDimensionMap = Record<string, CloudStorageDimensions>;
|
|
11051
|
+
/**
|
|
11052
|
+
* Decode an image far enough to read its intrinsic size, then discard it.
|
|
11053
|
+
*
|
|
11054
|
+
* The browser is the only source that answers for **every** format. Dropbox's
|
|
11055
|
+
* `include_media_info` populates `dimensions` for JPEG and returns no `media_info`
|
|
11056
|
+
* at all for PNG and GIF, so asking the provider would silently cover some images
|
|
11057
|
+
* and skip others -- confirmed against a real account on 2026-08-18, where a JPEG
|
|
11058
|
+
* reported 352x400 and a PNG reported nothing.
|
|
11059
|
+
*
|
|
11060
|
+
* Resolves `null` rather than rejecting: a failed measurement means the caller
|
|
11061
|
+
* knows nothing about the size, which is exactly what an unmeasured file means.
|
|
11062
|
+
* Exported standalone so the decode path is testable without a QueryClient.
|
|
11063
|
+
*/
|
|
11064
|
+
declare function measureImageDimensions(url: string): Promise<CloudStorageDimensions>;
|
|
11065
|
+
interface CloudStorageImageDimensionsResult {
|
|
11066
|
+
/** fileId -> measured dimensions, or `null` when they could not be read. */
|
|
11067
|
+
dimensions: CloudStorageDimensionMap;
|
|
11068
|
+
isLoading: boolean;
|
|
11069
|
+
}
|
|
11070
|
+
/**
|
|
11071
|
+
* Resolve a temporary link per file and measure the original's dimensions from it.
|
|
11072
|
+
*
|
|
11073
|
+
* **Call this with the files a person actually chose, not a whole folder listing.**
|
|
11074
|
+
* Each id costs one `/temporary-link` round trip plus a full-size image download, so
|
|
11075
|
+
* running it over a browse grid would fetch every original to render a label. Doing
|
|
11076
|
+
* it on selection puts the cost where the value is, and it is the same load a crop
|
|
11077
|
+
* step performs anyway.
|
|
11078
|
+
*
|
|
11079
|
+
* One TanStack Query per file, so each resolves and caches on its own -- a slow or
|
|
11080
|
+
* failing file does not hold up the rest.
|
|
11081
|
+
*/
|
|
11082
|
+
declare function useCloudStorageImageDimensions(credentialName: string, fileIds: string[]): CloudStorageImageDimensionsResult;
|
|
11083
|
+
|
|
11084
|
+
/** One file's full-resolution URL, or `null` when the provider would not issue one. */
|
|
11085
|
+
type CloudStorageTemporaryLink = string | null;
|
|
11086
|
+
/** One entry per requested file id. A key absent from the map has not resolved yet. */
|
|
11087
|
+
type CloudStorageTemporaryLinkMap = Record<string, CloudStorageTemporaryLink>;
|
|
11088
|
+
/**
|
|
11089
|
+
* How long a resolved link is treated as fresh. Dropbox's own links last four
|
|
11090
|
+
* hours and return 410 Gone after that, so this is deliberately shorter -- a
|
|
11091
|
+
* link that expires while a crop editor still holds it produces a broken image
|
|
11092
|
+
* with no way to tell it apart from a bad file.
|
|
11093
|
+
*/
|
|
11094
|
+
declare const TEMPORARY_LINK_STALE_MS: number;
|
|
11095
|
+
interface CloudStorageTemporaryLinksResult {
|
|
11096
|
+
/** fileId -> full-resolution URL, or `null` when none could be issued. */
|
|
11097
|
+
links: CloudStorageTemporaryLinkMap;
|
|
11098
|
+
isLoading: boolean;
|
|
11099
|
+
}
|
|
11100
|
+
/**
|
|
11101
|
+
* Resolve a short-lived, publicly-fetchable URL for each requested file.
|
|
11102
|
+
*
|
|
11103
|
+
* This is the full original, not a thumbnail -- it is what a crop editor and a
|
|
11104
|
+
* post preview have to render, because a crop expressed as fractions of the
|
|
11105
|
+
* source is meaningless against a downsampled copy.
|
|
11106
|
+
*
|
|
11107
|
+
* **Call it with the files a person actually chose.** Every id is one round
|
|
11108
|
+
* trip, and every URL a consumer renders is a full-size download. Running it
|
|
11109
|
+
* over a browse grid would fetch every original in the folder.
|
|
11110
|
+
*
|
|
11111
|
+
* One TanStack Query per file, so each resolves and caches on its own and a
|
|
11112
|
+
* failing file does not hold up the rest. The key is shared with
|
|
11113
|
+
* `useCloudStorageImageDimensions`, which measures from this same link rather
|
|
11114
|
+
* than resolving a second one -- that is what keeps a selected image to a
|
|
11115
|
+
* single download across measuring, cropping, and previewing.
|
|
11116
|
+
*/
|
|
11117
|
+
declare function useCloudStorageTemporaryLinks(credentialName: string, fileIds: string[]): CloudStorageTemporaryLinksResult;
|
|
11118
|
+
|
|
11119
|
+
declare const storageKeys: {
|
|
11120
|
+
all: readonly ["storage"];
|
|
11121
|
+
signedUrls: () => readonly ["storage", "signed-urls"];
|
|
11122
|
+
/**
|
|
11123
|
+
* Keyed per object rather than per set, so a path already signed stays signed no
|
|
11124
|
+
* matter what else is requested alongside it -- the same reason
|
|
11125
|
+
* `cloudStorageKeys.temporaryLinkFor` is per file.
|
|
11126
|
+
*/
|
|
11127
|
+
signedUrlFor: (organizationId: WorkOsOrgId | null | undefined, bucket: string, path: string) => readonly ["storage", "signed-urls", WorkOsOrgId | null | undefined, string, string];
|
|
11128
|
+
};
|
|
11129
|
+
|
|
11130
|
+
/** What the caller supplies. `organizationId` is never sent -- the route reads it from authenticated context. */
|
|
11131
|
+
interface UploadStorageFileParams {
|
|
11132
|
+
/** Bucket id, e.g. `content-derivatives`. */
|
|
11133
|
+
bucket: string;
|
|
11134
|
+
/**
|
|
11135
|
+
* Object key WITHOUT the `{organizationId}/` prefix. `StorageService.buildPath`
|
|
11136
|
+
* prepends it server-side, and the `storage.objects` policies read the org back
|
|
11137
|
+
* out of that prefix -- so a caller that adds one itself writes to a path no
|
|
11138
|
+
* policy will match.
|
|
11139
|
+
*/
|
|
11140
|
+
path: string;
|
|
11141
|
+
/** The bytes to store. */
|
|
11142
|
+
file: Blob;
|
|
11143
|
+
/** Content type recorded on the object. Defaults to the blob's own `type`. */
|
|
11144
|
+
contentType?: string;
|
|
11145
|
+
/** Replace an object already at `path`. Default false, which makes a re-upload fail. */
|
|
11146
|
+
upsert?: boolean;
|
|
11147
|
+
}
|
|
11148
|
+
interface UploadStorageFileResult {
|
|
11149
|
+
success: boolean;
|
|
11150
|
+
/** The key as supplied, without the org prefix. This is what a row stores. */
|
|
11151
|
+
path: string;
|
|
11152
|
+
/** The key the object actually lives at, org prefix included. Diagnostic -- do not store it. */
|
|
11153
|
+
fullPath: string;
|
|
11154
|
+
size?: number;
|
|
11155
|
+
}
|
|
11156
|
+
/**
|
|
11157
|
+
* POST `/storage/upload` -- store a file in a Supabase bucket through the API.
|
|
11158
|
+
*
|
|
11159
|
+
* The transport is base64 in a JSON body, which inflates the payload by about a
|
|
11160
|
+
* third. That is acceptable for what this is used for -- a cropped, downsized
|
|
11161
|
+
* derivative of roughly 100 KB -- and it is not a free choice: `@fastify/multipart`
|
|
11162
|
+
* is registered only inside the deployments plugin scope, so the storage routes
|
|
11163
|
+
* cannot take a multipart body without widening that registration.
|
|
11164
|
+
*
|
|
11165
|
+
* Nothing is invalidated on success. Storage objects are not a query cache in this
|
|
11166
|
+
* package; what a caller usually needs to invalidate afterwards is the ROW that
|
|
11167
|
+
* now points at the object, which belongs to that row's own hook.
|
|
11168
|
+
*
|
|
11169
|
+
* The route runs on `request.userClient`, so `storage.objects` RLS applies -- an
|
|
11170
|
+
* upload into a bucket the member lacks the permission for fails at the database,
|
|
11171
|
+
* not at a check in this hook.
|
|
11172
|
+
*/
|
|
11173
|
+
declare function useUploadStorageFile(): _tanstack_react_query.UseMutationResult<UploadStorageFileResult, Error, UploadStorageFileParams, unknown>;
|
|
11174
|
+
|
|
11175
|
+
/** One object in a bucket. Callers hold these; they do not hold URLs. */
|
|
11176
|
+
interface StorageObjectRef {
|
|
11177
|
+
bucket: string;
|
|
11178
|
+
path: string;
|
|
11179
|
+
}
|
|
11180
|
+
/**
|
|
11181
|
+
* How a ref indexes into the returned map. Bucket and path together, because the
|
|
11182
|
+
* same path can exist in two buckets and a path-only key would collide.
|
|
11183
|
+
*/
|
|
11184
|
+
declare function storageObjectRefKey(ref: StorageObjectRef): string;
|
|
11185
|
+
/** One entry per requested ref, keyed by `storageObjectRefKey`. Absent = not resolved yet. */
|
|
11186
|
+
type StorageSignedUrlMap = Record<string, string>;
|
|
11187
|
+
interface StorageSignedUrlsResult {
|
|
11188
|
+
/** ref key -> a URL that fetches the object, valid for `SIGNED_URL_EXPIRES_IN_SECONDS`. */
|
|
11189
|
+
urls: StorageSignedUrlMap;
|
|
11190
|
+
isLoading: boolean;
|
|
11191
|
+
}
|
|
11192
|
+
/** How long a minted URL is valid for. */
|
|
11193
|
+
declare const SIGNED_URL_EXPIRES_IN_SECONDS: number;
|
|
11194
|
+
/**
|
|
11195
|
+
* POST `/storage/signed-url` per path -- resolve private storage objects into URLs
|
|
11196
|
+
* a browser can actually fetch.
|
|
11197
|
+
*
|
|
11198
|
+
* **Sign at read; never store the result.** A signed URL expires, so persisting one
|
|
11199
|
+
* produces a row that is correct when written and silently wrong later. What gets
|
|
11200
|
+
* stored is the path (`content_item_source_assets.derivative_path`,
|
|
11201
|
+
* `content_distributions.media_urls`), and this hook turns it into a URL at the
|
|
11202
|
+
* moment something renders it. Same rule as
|
|
11203
|
+
* `acq_deals.proposal_data.proposalPdfPath`.
|
|
11204
|
+
*
|
|
11205
|
+
* One query per ref, so each resolves and caches on its own and one unreadable
|
|
11206
|
+
* object does not hold up the rest.
|
|
11207
|
+
*
|
|
11208
|
+
* Each ref carries its own bucket rather than the caller passing one for the whole
|
|
11209
|
+
* batch: a stored entry names where it lives, so nothing here has to know which
|
|
11210
|
+
* bucket a given record's objects happen to be in.
|
|
11211
|
+
*
|
|
11212
|
+
* The route runs on `request.userClient`, so `storage.objects` RLS decides whether
|
|
11213
|
+
* a URL can be minted at all -- a member of another organization gets an error
|
|
11214
|
+
* here, not a URL that fails later.
|
|
11215
|
+
*/
|
|
11216
|
+
declare function useStorageSignedUrls(refs: StorageObjectRef[]): StorageSignedUrlsResult;
|
|
11217
|
+
|
|
9991
11218
|
/**
|
|
9992
11219
|
* Query key factories for Operations TanStack Query hooks.
|
|
9993
11220
|
*
|
|
@@ -12842,5 +14069,5 @@ declare function useCreateNote(): _tanstack_react_query.UseMutationResult<{
|
|
|
12842
14069
|
type?: string;
|
|
12843
14070
|
}, "organization_id">, unknown>;
|
|
12844
14071
|
|
|
12845
|
-
export { AccessKeys, ApiKeyService, CredentialService, DeploymentService, OperationsService, OrganizationMembershipService, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, WebhookEndpointService, acquisitionListKeys, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, contentKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, getResourceFilterFacetIds, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, mergeSessionMessages, milestoneKeys, noteKeys, observabilityKeys, operationsKeys, pickLatestRunAt, projectActivityKeys, projectKeys, requestsKeys, scheduleKeys, sessionsKeys, sortData, sumStatusCounts, taskKeys, useAccess, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTask, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useContentDistribution, useContentDistributions, useContentItem, useContentItemAttempts, useContentItems, useContentPipelineSummary, useContentSourceAsset, useContentSourceAssets, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateContentSourceAsset, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateProject as useCreateDeliveryProject, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteMilestone, useDeleteOrgRole, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask$1 as useDeleteTask, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useEndSession, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useInFlightExecutions, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMergedExecution, useMilestones, useNotificationCount as useNotificationCountSSE, useNotifications, useOrgRoles, useOrganizationMembers, useOrganizationModelDrift, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useReviewContentItem, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSubmitRequest, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateContentDistribution, useUpdateContentItem, useUpdateContentSourceAsset, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };
|
|
12846
|
-
export type { AccessKeyInput, AcqCompanyWithCount, AcqContactWithCompany, AcqDealNote, AcqDealTask, AcqDealTaskKind, ActivityFilters, ActivityTrendResponse, AddCompaniesToListResult, AddContactsToListResult, AssignRoleInput, BulkDeleteExecutionsParams, BulkDeleteExecutionsResult, BusinessImpactMetrics, CancelExecutionParams, CancelExecutionResult, ChatMessage, ClientDetailResponse, ClientResponse, ClientStatus, ClientStatusResponse, ClientsListFilters, ContentDistributionListResponse, ContentDistributionResponse, ContentDistributionsListFilters, ContentItemAttemptListResponse, ContentItemAttemptResponse, ContentItemListResponse, ContentItemResponse, ContentItemReviewDecision, ContentItemStatus, ContentItemsListFilters, ContentPillar, ContentPipelineId, ContentPipelineSummary, ContentSourceAssetKind, ContentSourceAssetListResponse, ContentSourceAssetResponse, ContentSourceAssetsListFilters, CreateApiKeyRequest, CreateApiKeyResponse, CreateClientRequest, CreateContentSourceAssetRequest, CreateCredentialRequest, CreateCredentialResponse, CreateOrgRoleInput, CreateScheduleInput, CreateSessionResponse, CredentialListItem, DealDetail, DealLookupFilters, DealLookupItem, DealSummaryStageItem, DealsSummaryResponse, DeleteExecutionParams, Deployment, ErrorDistributionItem, ErrorDistributionParams, ErrorFilters, ErrorTrendsParams, ExecuteActionInput, ExecuteAsyncParams, ExecuteAsyncResult, ExecutionErrorDetails, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLogsFilters, ExecutionLogsPageResponse, FailingResource, GetMessagesResponse, ListActivitiesResponse, ListApiKeysResponse, ListCredentialsResponse, ListExecutionsFilters, ListRecordsFilters, ListSchedulesFilters, ListSchedulesResponse, ListWebhookEndpointsResponse, MessageEvent, MessageType, OrgRole, OrganizationModelDriftState, RemoveCompaniesFromListResult, RequestRow, RequestSeverity, RequestType, RequestsListFilters, ResourceFilterFacet, ResourcesResponse, RetryExecutionParams, ReviewContentItemRequest, RevokeRoleInput, SessionDTO, SessionExecution, SessionExecutionsResponse, SessionListItem, SessionTokenUsage, SortDirection, SortState, StaleDealSummaryItem, StatefulItem, StatusFilter, SubmitActionRequest, SubmitActionResponse, SubmitRequestInput, SystemHealthExecutionSummary, SystemHealthResponse, TaskSchedule, TopFailingResourcesParams, TransitionItemInput, TransitionListCompanyInput, TransitionListMemberInput, TransitionStateInput, UpdateClientRequest, UpdateContentItemRequest, UpdateContentSourceAssetRequest, UpdateListStatusInput, UpdateOrgRoleInput, UpdateScheduleInput, UseAccessResult, UseActivitiesParams, UseActivityTrendParams, UseArtifactsParams, UseBatchedResourcesHealthParams, UseExecuteResourceOptions, UseExecutionHealthParams, UseExecutionLogsParams, UseExecutionPanelStateOptions, UseExecutionPanelStateReturn, UseExecutionSSEOptions, UseExecutionSSEResult, UseInFlightExecutionsOptions, UseListProgressOptions, UseNotificationCountArgs, UseResourcesHealthParams, UseSSEConnectionOptions, UseScheduledTasksOptions, UseSystemHealthParams, UseWorkflowExecutionOptions, UseWorkflowExecutionResult, VerifyCredentialResponse, WebSocketState, WorkflowExecutionTriggerParams };
|
|
14072
|
+
export { AccessKeys, ApiKeyService, CredentialService, DeploymentService, OperationsService, OrganizationMembershipService, REFETCH_INTERVAL_RUNNING, SIGNED_URL_EXPIRES_IN_SECONDS, TEMPORARY_LINK_STALE_MS, THUMBNAIL_BATCH_SIZE, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, WebhookEndpointService, acquisitionListKeys, chunkIntoBatches, clientsKeys, cloudStorageKeys, collectResourceFilterFacets, companyKeys, contactKeys, contentKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, getResourceFilterFacetIds, isSessionCapable, joinSourceAssetDetails, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, measureImageDimensions, mergeSessionMessages, mergeThumbnailBatches, milestoneKeys, noteKeys, observabilityKeys, operationsKeys, pickCoverSourceAsset, pickLatestRunAt, projectActivityKeys, projectKeys, readItemSourceAssets, requestsKeys, scheduleKeys, sessionsKeys, sortData, storageKeys, storageObjectRefKey, sumStatusCounts, taskKeys, useAccess, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useAddContentItemSourceAsset, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCloudStorageFolder, useCloudStorageImageDimensions, useCloudStorageTemporaryLinks, useCloudStorageThumbnails, useCommandQueue, useCommandQueueTask, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useContentDistribution, useContentDistributions, useContentItem, useContentItemAttempts, useContentItemSourceAssetDetails, useContentItemSourceAssets, useContentItems, useContentPipelineSummary, useContentSourceAsset, useContentSourceAssets, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateContentDistribution, useCreateContentItem, useCreateContentSourceAsset, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateProject as useCreateDeliveryProject, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteMilestone, useDeleteOrgRole, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask$1 as useDeleteTask, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useEndSession, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useInFlightExecutions, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMergedExecution, useMilestones, useNotificationCount as useNotificationCountSSE, useNotifications, useOrgRoles, useOrganizationMembers, useOrganizationModelDrift, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRemoveContentItemSourceAsset, useReorderContentItemSourceAssets, useRequest, useRequestsList, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useReviewContentItem, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useStorageSignedUrls, useSubmitAction, useSubmitRequest, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateContentDistribution, useUpdateContentItem, useUpdateContentItemSourceAsset, useUpdateContentSourceAsset, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUploadStorageFile, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };
|
|
14073
|
+
export type { AccessKeyInput, AcqCompanyWithCount, AcqContactWithCompany, AcqDealNote, AcqDealTask, AcqDealTaskKind, ActivityFilters, ActivityTrendResponse, AddCompaniesToListResult, AddContactsToListResult, AssignRoleInput, BulkDeleteExecutionsParams, BulkDeleteExecutionsResult, BusinessImpactMetrics, CancelExecutionParams, CancelExecutionResult, ChatMessage, ClientDetailResponse, ClientResponse, ClientStatus, ClientStatusResponse, ClientsListFilters, CloudStorageDimensionMap, CloudStorageDimensions, CloudStorageFolderFilters, CloudStorageFolderParams, CloudStorageFolderResponse, CloudStorageImageDimensionsResult, CloudStorageTemporaryLink, CloudStorageTemporaryLinkMap, CloudStorageTemporaryLinksResult, CloudStorageThumbnailMap, CloudStorageThumbnailsResult, ContentAssetCrop, ContentAssetCropInput, ContentDistributionListResponse, ContentDistributionResponse, ContentDistributionsListFilters, ContentItemAttemptListResponse, ContentItemAttemptResponse, ContentItemListResponse, ContentItemResponse, ContentItemReviewDecision, ContentItemSourceAssetDetail, ContentItemSourceAssetDetailsResult, ContentItemSourceAssetExpansion, ContentItemSourceAssetInput, ContentItemSourceAssetListResponse, ContentItemSourceAssetResponse, ContentItemStatus, ContentItemsListFilters, ContentPillar, ContentPipelineId, ContentPipelineSummary, ContentSourceAssetKind, ContentSourceAssetListResponse, ContentSourceAssetResponse, ContentSourceAssetsListFilters, CreateApiKeyRequest, CreateApiKeyResponse, CreateClientRequest, CreateContentDistributionRequest, CreateContentSourceAssetRequest, CreateCredentialRequest, CreateCredentialResponse, CreateOrgRoleInput, CreateScheduleInput, CreateSessionResponse, CredentialListItem, DealDetail, DealLookupFilters, DealLookupItem, DealSummaryStageItem, DealsSummaryResponse, DeleteExecutionParams, Deployment, ErrorDistributionItem, ErrorDistributionParams, ErrorFilters, ErrorTrendsParams, ExecuteActionInput, ExecuteAsyncParams, ExecuteAsyncResult, ExecutionErrorDetails, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLogsFilters, ExecutionLogsPageResponse, FailingResource, GetMessagesResponse, ListActivitiesResponse, ListApiKeysResponse, ListCredentialsResponse, ListExecutionsFilters, ListRecordsFilters, ListSchedulesFilters, ListSchedulesResponse, ListWebhookEndpointsResponse, MessageEvent, MessageType, OrgRole, OrganizationModelDriftState, RemoveCompaniesFromListResult, ReorderContentItemSourceAssetsRequest, RequestRow, RequestSeverity, RequestType, RequestsListFilters, ResourceFilterFacet, ResourcesResponse, RetryExecutionParams, ReviewContentItemRequest, RevokeRoleInput, SessionDTO, SessionExecution, SessionExecutionsResponse, SessionListItem, SessionTokenUsage, SortDirection, SortState, StaleDealSummaryItem, StatefulItem, StatusFilter, StorageObjectRef, StorageSignedUrlMap, StorageSignedUrlsResult, SubmitActionRequest, SubmitActionResponse, SubmitRequestInput, SystemHealthExecutionSummary, SystemHealthResponse, TaskSchedule, TopFailingResourcesParams, TransitionItemInput, TransitionListCompanyInput, TransitionListMemberInput, TransitionStateInput, UpdateClientRequest, UpdateContentDistributionRequest, UpdateContentItemRequest, UpdateContentItemSourceAssetRequest, UpdateContentSourceAssetRequest, UpdateListStatusInput, UpdateOrgRoleInput, UpdateScheduleInput, UploadStorageFileParams, UploadStorageFileResult, UseAccessResult, UseActivitiesParams, UseActivityTrendParams, UseArtifactsParams, UseBatchedResourcesHealthParams, UseExecuteResourceOptions, UseExecutionHealthParams, UseExecutionLogsParams, UseExecutionPanelStateOptions, UseExecutionPanelStateReturn, UseExecutionSSEOptions, UseExecutionSSEResult, UseInFlightExecutionsOptions, UseListProgressOptions, UseNotificationCountArgs, UseResourcesHealthParams, UseSSEConnectionOptions, UseScheduledTasksOptions, UseSystemHealthParams, UseWorkflowExecutionOptions, UseWorkflowExecutionResult, VerifyCredentialResponse, WebSocketState, WorkflowExecutionTriggerParams };
|