@elevasis/ui 2.72.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 +114 -20
- package/dist/app/index.js +8 -8
- package/dist/auth/index.js +4 -4
- package/dist/charts/index.js +4 -4
- package/dist/{chunk-A3JHFZDP.js → chunk-3TS5U5BL.js} +1 -1
- package/dist/{chunk-IXBRUIYI.js → chunk-4CW2C5BD.js} +1 -1
- package/dist/{chunk-753MKWFV.js → chunk-5B2ZFO44.js} +1 -1
- package/dist/{chunk-DJWIIPKW.js → chunk-AJOVWB47.js} +3 -3
- package/dist/{chunk-RRS2QR3W.js → chunk-CJ2232PQ.js} +1 -1
- package/dist/{chunk-2454MK7P.js → chunk-ETN3TTRT.js} +7 -7
- package/dist/{chunk-Q3O3WY7Q.js → chunk-IBCEAVB2.js} +33 -13
- package/dist/{chunk-7ESZKTQG.js → chunk-IGBPWD6S.js} +3 -3
- package/dist/{chunk-UZ5JO5TK.js → chunk-JYBJMVNY.js} +1 -1
- package/dist/{chunk-LCHL5SM2.js → chunk-LEPYXLJ2.js} +1 -1
- package/dist/{chunk-LEQGGX2U.js → chunk-LZT2H2MA.js} +4 -4
- package/dist/{chunk-Z2W5VNN3.js → chunk-NHNTX6ZL.js} +1 -1
- package/dist/{chunk-AFBFSXP3.js → chunk-NI37YNRP.js} +4 -4
- package/dist/{chunk-KIDZXZM5.js → chunk-OCVSPAKM.js} +501 -25
- package/dist/{chunk-IMZTRDY2.js → chunk-PQ4B62HH.js} +2 -2
- package/dist/{chunk-SV4M2BUI.js → chunk-SWKAH2YM.js} +52 -20
- package/dist/{chunk-XZIOCB5D.js → chunk-U2H3TIHD.js} +1 -1
- package/dist/{chunk-DKVGO6RJ.js → chunk-Z4ICFQXG.js} +1 -1
- package/dist/{chunk-ZBXCEWKF.js → chunk-ZDKPHFTH.js} +3 -3
- package/dist/components/index.d.ts +305 -22
- 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 +494 -31
- package/dist/features/content/index.js +1090 -44
- package/dist/features/crm/index.d.ts +114 -20
- package/dist/features/crm/index.js +6 -6
- package/dist/features/dashboard/index.d.ts +19 -10
- 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 +38 -20
- 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 +38 -20
- 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 +1248 -28
- package/dist/hooks/index.js +4 -4
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +19 -10
- package/dist/hooks/published.d.ts +1248 -28
- package/dist/hooks/published.js +4 -4
- package/dist/initialization/index.d.ts +76 -0
- package/dist/knowledge/index.d.ts +38 -20
- package/dist/knowledge/index.js +8 -8
- package/dist/layout/index.js +7 -7
- package/dist/profile/index.d.ts +76 -0
- package/dist/provider/index.d.ts +114 -20
- package/dist/provider/index.js +4 -4
- package/dist/provider/published.d.ts +114 -20
- 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 +125 -13
- package/dist/utils/index.d.ts +19 -10
- 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,7 +3994,7 @@ 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.$
|
|
3997
|
+
}, z.core.$strict>>>>;
|
|
3913
3998
|
}, z.core.$strict>>;
|
|
3914
3999
|
type OntologyScope = z.infer<typeof OntologyScopeSchema>;
|
|
3915
4000
|
|
|
@@ -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>>;
|
|
@@ -5585,7 +5844,14 @@ declare const ContentDistributionResponseSchema: z.ZodObject<{
|
|
|
5585
5844
|
adaptedBody: z.ZodNullable<z.ZodString>;
|
|
5586
5845
|
platformContent: z.ZodNullable<z.ZodUnknown>;
|
|
5587
5846
|
checklist: z.ZodNullable<z.ZodUnknown>;
|
|
5588
|
-
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">>;
|
|
5589
5855
|
processingState: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5590
5856
|
status: z.ZodEnum<{
|
|
5591
5857
|
error: "error";
|
|
@@ -5619,7 +5885,14 @@ declare const ContentDistributionListResponseSchema: z.ZodObject<{
|
|
|
5619
5885
|
adaptedBody: z.ZodNullable<z.ZodString>;
|
|
5620
5886
|
platformContent: z.ZodNullable<z.ZodUnknown>;
|
|
5621
5887
|
checklist: z.ZodNullable<z.ZodUnknown>;
|
|
5622
|
-
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">>;
|
|
5623
5896
|
processingState: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5624
5897
|
status: z.ZodEnum<{
|
|
5625
5898
|
error: "error";
|
|
@@ -5643,6 +5916,23 @@ declare const ContentDistributionListResponseSchema: z.ZodObject<{
|
|
|
5643
5916
|
updatedAt: z.ZodString;
|
|
5644
5917
|
}, z.core.$strip>>;
|
|
5645
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>;
|
|
5646
5936
|
/**
|
|
5647
5937
|
* `publishMethod` is where D7's manual-publish state becomes visible: a row
|
|
5648
5938
|
* with `publishedAt` set and no `platformPostId`.
|
|
@@ -5652,7 +5942,14 @@ declare const UpdateContentDistributionRequestSchema: z.ZodObject<{
|
|
|
5652
5942
|
adaptedBody: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5653
5943
|
platformContent: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
5654
5944
|
checklist: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
5655
|
-
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">>>;
|
|
5656
5953
|
publishMethod: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5657
5954
|
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5658
5955
|
platformPostId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -5663,6 +5960,13 @@ declare const UpdateContentDistributionRequestSchema: z.ZodObject<{
|
|
|
5663
5960
|
type ContentPipelineId = z.infer<typeof ContentPipelineIdSchema>;
|
|
5664
5961
|
type ContentItemStatus = z.infer<typeof ContentItemStatusSchema>;
|
|
5665
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>;
|
|
5666
5970
|
type ListContentItemsQuery = z.infer<typeof ListContentItemsQuerySchema>;
|
|
5667
5971
|
type ContentItemResponse = z.infer<typeof ContentItemResponseSchema>;
|
|
5668
5972
|
type ContentItemListResponse = z.infer<typeof ContentItemListResponseSchema>;
|
|
@@ -5678,6 +5982,7 @@ type UpdateContentSourceAssetRequest = z.infer<typeof UpdateContentSourceAssetRe
|
|
|
5678
5982
|
type ListContentDistributionsQuery = z.infer<typeof ListContentDistributionsQuerySchema>;
|
|
5679
5983
|
type ContentDistributionResponse = z.infer<typeof ContentDistributionResponseSchema>;
|
|
5680
5984
|
type ContentDistributionListResponse = z.infer<typeof ContentDistributionListResponseSchema>;
|
|
5985
|
+
type CreateContentDistributionRequest = z.infer<typeof CreateContentDistributionRequestSchema>;
|
|
5681
5986
|
type UpdateContentDistributionRequest = z.infer<typeof UpdateContentDistributionRequestSchema>;
|
|
5682
5987
|
|
|
5683
5988
|
/**
|
|
@@ -6888,7 +7193,9 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6888
7193
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6889
7194
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6890
7195
|
storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6891
|
-
|
|
7196
|
+
rowSchema: z.ZodOptional<z.ZodString>;
|
|
7197
|
+
stateCatalogId: z.ZodOptional<z.ZodString>;
|
|
7198
|
+
}, z.core.$strict>>>>;
|
|
6892
7199
|
linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6893
7200
|
id: z.ZodString;
|
|
6894
7201
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6899,7 +7206,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6899
7206
|
to: z.ZodString;
|
|
6900
7207
|
cardinality: z.ZodOptional<z.ZodString>;
|
|
6901
7208
|
via: z.ZodOptional<z.ZodString>;
|
|
6902
|
-
}, z.core.$
|
|
7209
|
+
}, z.core.$strict>>>>;
|
|
6903
7210
|
actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6904
7211
|
id: z.ZodString;
|
|
6905
7212
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6909,7 +7216,11 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6909
7216
|
actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
6910
7217
|
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6911
7218
|
effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6912
|
-
|
|
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>>>>;
|
|
6913
7224
|
catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6914
7225
|
id: z.ZodString;
|
|
6915
7226
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6919,7 +7230,10 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6919
7230
|
kind: z.ZodOptional<z.ZodString>;
|
|
6920
7231
|
appliesTo: z.ZodOptional<z.ZodString>;
|
|
6921
7232
|
entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6922
|
-
|
|
7233
|
+
legacyCatalogKey: z.ZodOptional<z.ZodString>;
|
|
7234
|
+
legacyPipelineKey: z.ZodOptional<z.ZodString>;
|
|
7235
|
+
legacyEntityKey: z.ZodOptional<z.ZodString>;
|
|
7236
|
+
}, z.core.$strict>>>>;
|
|
6923
7237
|
eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6924
7238
|
id: z.ZodString;
|
|
6925
7239
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6927,7 +7241,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6927
7241
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6928
7242
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6929
7243
|
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6930
|
-
}, z.core.$
|
|
7244
|
+
}, z.core.$strict>>>>;
|
|
6931
7245
|
interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6932
7246
|
id: z.ZodString;
|
|
6933
7247
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6935,7 +7249,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6935
7249
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6936
7250
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6937
7251
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6938
|
-
}, z.core.$
|
|
7252
|
+
}, z.core.$strict>>>>;
|
|
6939
7253
|
valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6940
7254
|
id: z.ZodString;
|
|
6941
7255
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6943,7 +7257,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6943
7257
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6944
7258
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6945
7259
|
primitive: z.ZodOptional<z.ZodString>;
|
|
6946
|
-
}, z.core.$
|
|
7260
|
+
}, z.core.$strict>>>>;
|
|
6947
7261
|
sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6948
7262
|
id: z.ZodString;
|
|
6949
7263
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6953,7 +7267,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6953
7267
|
valueType: z.ZodOptional<z.ZodString>;
|
|
6954
7268
|
searchable: z.ZodOptional<z.ZodBoolean>;
|
|
6955
7269
|
pii: z.ZodOptional<z.ZodBoolean>;
|
|
6956
|
-
}, z.core.$
|
|
7270
|
+
}, z.core.$strict>>>>;
|
|
6957
7271
|
groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6958
7272
|
id: z.ZodString;
|
|
6959
7273
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6961,7 +7275,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6961
7275
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6962
7276
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6963
7277
|
members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
6964
|
-
}, z.core.$
|
|
7278
|
+
}, z.core.$strict>>>>;
|
|
6965
7279
|
endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6966
7280
|
id: z.ZodString;
|
|
6967
7281
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -6969,7 +7283,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
6969
7283
|
ownerSystemId: z.ZodOptional<z.ZodString>;
|
|
6970
7284
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6971
7285
|
route: z.ZodOptional<z.ZodString>;
|
|
6972
|
-
}, z.core.$
|
|
7286
|
+
}, z.core.$strict>>>>;
|
|
6973
7287
|
}, z.core.$strict>>>;
|
|
6974
7288
|
resources: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
6975
7289
|
id: z.ZodString;
|
|
@@ -7922,6 +8236,50 @@ declare const ListCredentialsResponseSchema: z.ZodObject<{
|
|
|
7922
8236
|
/** API response type for a single credential list item */
|
|
7923
8237
|
type CredentialListItem = z.infer<typeof ListCredentialsResponseSchema>['credentials'][number];
|
|
7924
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
|
+
|
|
7925
8283
|
/**
|
|
7926
8284
|
* Query key factory for executions TanStack Query hooks.
|
|
7927
8285
|
* Uses organization UUID (not name) for cache isolation.
|
|
@@ -9575,6 +9933,21 @@ declare const contentKeys: {
|
|
|
9575
9933
|
}, "limit" | "offset" | "search" | "status" | "pillar" | "clientId" | "pipelineId" | "reviewedBy">>];
|
|
9576
9934
|
itemDetail: (organizationId: WorkOsOrgId | null | undefined, itemId: string | undefined) => readonly ["content", "items", "detail", WorkOsOrgId | null | undefined, string | undefined];
|
|
9577
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];
|
|
9578
9951
|
distributions: () => readonly ["content", "distributions"];
|
|
9579
9952
|
distributionsList: (organizationId: WorkOsOrgId | null | undefined, filters: ContentDistributionsListFilters) => readonly ["content", "distributions", "list", WorkOsOrgId | null | undefined, Partial<Pick<{
|
|
9580
9953
|
limit: number;
|
|
@@ -9621,6 +9994,29 @@ declare function useContentItems(filters?: ContentItemsListFilters): _tanstack_r
|
|
|
9621
9994
|
updatedBy: string | null;
|
|
9622
9995
|
createdAt: string;
|
|
9623
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;
|
|
9624
10020
|
}[];
|
|
9625
10021
|
total: number;
|
|
9626
10022
|
limit: number;
|
|
@@ -9654,6 +10050,29 @@ declare function useContentItem(itemId: string | undefined): _tanstack_react_que
|
|
|
9654
10050
|
updatedBy: string | null;
|
|
9655
10051
|
createdAt: string;
|
|
9656
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;
|
|
9657
10076
|
}, Error>;
|
|
9658
10077
|
|
|
9659
10078
|
/**
|
|
@@ -9695,7 +10114,14 @@ declare function useContentDistributions(filters?: ContentDistributionsListFilte
|
|
|
9695
10114
|
adaptedBody: string | null;
|
|
9696
10115
|
platformContent: unknown;
|
|
9697
10116
|
checklist: unknown;
|
|
9698
|
-
mediaUrls:
|
|
10117
|
+
mediaUrls: ({
|
|
10118
|
+
kind: "storage";
|
|
10119
|
+
bucket: string;
|
|
10120
|
+
path: string;
|
|
10121
|
+
} | {
|
|
10122
|
+
kind: "url";
|
|
10123
|
+
url: string;
|
|
10124
|
+
})[];
|
|
9699
10125
|
processingState: Record<string, {
|
|
9700
10126
|
[x: string]: unknown;
|
|
9701
10127
|
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
@@ -9730,7 +10156,14 @@ declare function useContentDistribution(distributionId: string | undefined): _ta
|
|
|
9730
10156
|
adaptedBody: string | null;
|
|
9731
10157
|
platformContent: unknown;
|
|
9732
10158
|
checklist: unknown;
|
|
9733
|
-
mediaUrls:
|
|
10159
|
+
mediaUrls: ({
|
|
10160
|
+
kind: "storage";
|
|
10161
|
+
bucket: string;
|
|
10162
|
+
path: string;
|
|
10163
|
+
} | {
|
|
10164
|
+
kind: "url";
|
|
10165
|
+
url: string;
|
|
10166
|
+
})[];
|
|
9734
10167
|
processingState: Record<string, {
|
|
9735
10168
|
[x: string]: unknown;
|
|
9736
10169
|
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
@@ -9781,8 +10214,101 @@ declare function useUpdateContentItem(): _tanstack_react_query.UseMutationResult
|
|
|
9781
10214
|
updatedBy: string | null;
|
|
9782
10215
|
createdAt: string;
|
|
9783
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;
|
|
9784
10240
|
}, Error, UpdateContentItemParams, unknown>;
|
|
9785
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
|
+
|
|
9786
10312
|
interface UpdateContentDistributionParams {
|
|
9787
10313
|
distributionId: string;
|
|
9788
10314
|
updates: UpdateContentDistributionRequest;
|
|
@@ -9805,7 +10331,14 @@ declare function useUpdateContentDistribution(): _tanstack_react_query.UseMutati
|
|
|
9805
10331
|
adaptedBody: string | null;
|
|
9806
10332
|
platformContent: unknown;
|
|
9807
10333
|
checklist: unknown;
|
|
9808
|
-
mediaUrls:
|
|
10334
|
+
mediaUrls: ({
|
|
10335
|
+
kind: "storage";
|
|
10336
|
+
bucket: string;
|
|
10337
|
+
path: string;
|
|
10338
|
+
} | {
|
|
10339
|
+
kind: "url";
|
|
10340
|
+
url: string;
|
|
10341
|
+
})[];
|
|
9809
10342
|
processingState: Record<string, {
|
|
9810
10343
|
[x: string]: unknown;
|
|
9811
10344
|
status: "error" | "success" | "running" | "no_result" | "skipped";
|
|
@@ -9859,6 +10392,29 @@ declare function useReviewContentItem(): _tanstack_react_query.UseMutationResult
|
|
|
9859
10392
|
updatedBy: string | null;
|
|
9860
10393
|
createdAt: string;
|
|
9861
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;
|
|
9862
10418
|
}, Error, ReviewContentItemParams, unknown>;
|
|
9863
10419
|
|
|
9864
10420
|
/**
|
|
@@ -9899,6 +10455,89 @@ declare function useContentSourceAsset(sourceAssetId: string | undefined): _tans
|
|
|
9899
10455
|
updatedAt: string;
|
|
9900
10456
|
}, Error>;
|
|
9901
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
|
+
|
|
9902
10541
|
/**
|
|
9903
10542
|
* POST `/content/source-assets` -- `kind` and `title` are the only required fields;
|
|
9904
10543
|
* `organizationId` is never sent, it is injected server-side from the authenticated
|
|
@@ -9961,6 +10600,302 @@ declare function useUpdateContentSourceAsset(): _tanstack_react_query.UseMutatio
|
|
|
9961
10600
|
updatedAt: string;
|
|
9962
10601
|
}, Error, UpdateContentSourceAssetParams, unknown>;
|
|
9963
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
|
+
|
|
9964
10899
|
interface ContentPipelineSummary {
|
|
9965
10900
|
/** Item count per declared status key. */
|
|
9966
10901
|
countsByStatus: Record<string, number>;
|
|
@@ -9995,6 +10930,291 @@ declare function pickLatestRunAt(latestExecutions: (APIExecutionSummary | undefi
|
|
|
9995
10930
|
*/
|
|
9996
10931
|
declare function useContentPipelineSummary(pipelineId: string | undefined, statusKeys: string[], stepResourceIds: string[]): ContentPipelineSummary;
|
|
9997
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
|
+
|
|
9998
11218
|
/**
|
|
9999
11219
|
* Query key factories for Operations TanStack Query hooks.
|
|
10000
11220
|
*
|
|
@@ -12849,5 +14069,5 @@ declare function useCreateNote(): _tanstack_react_query.UseMutationResult<{
|
|
|
12849
14069
|
type?: string;
|
|
12850
14070
|
}, "organization_id">, unknown>;
|
|
12851
14071
|
|
|
12852
|
-
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 };
|
|
12853
|
-
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 };
|