@critical-path/core 0.29.0 → 0.31.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/CHANGELOG.md +41 -0
- package/README.md +11 -1
- package/dist/engine/authorization.test.js +8 -4
- package/dist/engine/authorization.test.js.map +1 -1
- package/dist/engine/index.d.ts +26 -4
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +68 -13
- package/dist/engine/index.js.map +1 -1
- package/dist/schemas/index.d.ts +84 -33
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +29 -3
- package/dist/schemas/index.js.map +1 -1
- package/dist/storage/file-storage.d.ts +10 -0
- package/dist/storage/file-storage.d.ts.map +1 -1
- package/dist/storage/file-storage.js +40 -4
- package/dist/storage/file-storage.js.map +1 -1
- package/dist/storage/firebase-storage.d.ts.map +1 -1
- package/dist/storage/firebase-storage.js +10 -13
- package/dist/storage/firebase-storage.js.map +1 -1
- package/dist/storage/s3.d.ts +46 -18
- package/dist/storage/s3.d.ts.map +1 -1
- package/dist/storage/s3.js +59 -89
- package/dist/storage/s3.js.map +1 -1
- package/dist/storage/storage.test.js +88 -27
- package/dist/storage/storage.test.js.map +1 -1
- package/dist/store/firebase.d.ts +4 -0
- package/dist/store/firebase.d.ts.map +1 -1
- package/dist/store/firebase.js +10 -0
- package/dist/store/firebase.js.map +1 -1
- package/dist/store/index.d.ts +8 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +10 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/query.d.ts +50 -0
- package/dist/store/query.d.ts.map +1 -0
- package/dist/store/query.js +79 -0
- package/dist/store/query.js.map +1 -0
- package/dist/store/query.test.d.ts +2 -0
- package/dist/store/query.test.d.ts.map +1 -0
- package/dist/store/query.test.js +89 -0
- package/dist/store/query.test.js.map +1 -0
- package/dist/store/sqlite.d.ts +3 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +90 -0
- package/dist/store/sqlite.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/authorization.test.ts +13 -5
- package/src/engine/index.ts +73 -16
- package/src/schemas/index.ts +34 -3
- package/src/storage/file-storage.ts +44 -4
- package/src/storage/firebase-storage.ts +10 -13
- package/src/storage/s3.ts +98 -101
- package/src/storage/storage.test.ts +86 -28
- package/src/store/firebase.ts +14 -0
- package/src/store/index.ts +24 -0
- package/src/store/query.test.ts +110 -0
- package/src/store/query.ts +113 -0
- package/src/store/sqlite.ts +93 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/schemas/index.d.ts
CHANGED
|
@@ -22,11 +22,11 @@ export declare const StatusDefinitionSchema: z.ZodObject<{
|
|
|
22
22
|
category: z.ZodEnum<["not_started", "in_progress", "completed", "canceled"]>;
|
|
23
23
|
}, "strict", z.ZodTypeAny, {
|
|
24
24
|
key: string;
|
|
25
|
-
category: "
|
|
25
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
26
26
|
label: string;
|
|
27
27
|
}, {
|
|
28
28
|
key: string;
|
|
29
|
-
category: "
|
|
29
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
30
30
|
label: string;
|
|
31
31
|
}>;
|
|
32
32
|
export declare const WorkScheduleSchema: z.ZodObject<{
|
|
@@ -169,11 +169,11 @@ export declare const CreateWorkflowSchema: z.ZodObject<{
|
|
|
169
169
|
category: z.ZodEnum<["not_started", "in_progress", "completed", "canceled"]>;
|
|
170
170
|
}, "strict", z.ZodTypeAny, {
|
|
171
171
|
key: string;
|
|
172
|
-
category: "
|
|
172
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
173
173
|
label: string;
|
|
174
174
|
}, {
|
|
175
175
|
key: string;
|
|
176
|
-
category: "
|
|
176
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
177
177
|
label: string;
|
|
178
178
|
}>, "many">;
|
|
179
179
|
transitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -220,7 +220,7 @@ export declare const CreateWorkflowSchema: z.ZodObject<{
|
|
|
220
220
|
name: string;
|
|
221
221
|
statuses: {
|
|
222
222
|
key: string;
|
|
223
|
-
category: "
|
|
223
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
224
224
|
label: string;
|
|
225
225
|
}[];
|
|
226
226
|
transitions: {
|
|
@@ -244,7 +244,7 @@ export declare const CreateWorkflowSchema: z.ZodObject<{
|
|
|
244
244
|
name: string;
|
|
245
245
|
statuses: {
|
|
246
246
|
key: string;
|
|
247
|
-
category: "
|
|
247
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
248
248
|
label: string;
|
|
249
249
|
}[];
|
|
250
250
|
description?: string | undefined;
|
|
@@ -274,11 +274,11 @@ export declare const UpdateWorkflowSchema: z.ZodObject<{
|
|
|
274
274
|
category: z.ZodEnum<["not_started", "in_progress", "completed", "canceled"]>;
|
|
275
275
|
}, "strict", z.ZodTypeAny, {
|
|
276
276
|
key: string;
|
|
277
|
-
category: "
|
|
277
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
278
278
|
label: string;
|
|
279
279
|
}, {
|
|
280
280
|
key: string;
|
|
281
|
-
category: "
|
|
281
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
282
282
|
label: string;
|
|
283
283
|
}>, "many">>;
|
|
284
284
|
transitions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -334,7 +334,7 @@ export declare const UpdateWorkflowSchema: z.ZodObject<{
|
|
|
334
334
|
}[] | undefined;
|
|
335
335
|
statuses?: {
|
|
336
336
|
key: string;
|
|
337
|
-
category: "
|
|
337
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
338
338
|
label: string;
|
|
339
339
|
}[] | undefined;
|
|
340
340
|
transitions?: {
|
|
@@ -358,7 +358,7 @@ export declare const UpdateWorkflowSchema: z.ZodObject<{
|
|
|
358
358
|
}[] | undefined;
|
|
359
359
|
statuses?: {
|
|
360
360
|
key: string;
|
|
361
|
-
category: "
|
|
361
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
362
362
|
label: string;
|
|
363
363
|
}[] | undefined;
|
|
364
364
|
transitions?: {
|
|
@@ -415,11 +415,11 @@ export declare const CreateProjectSchema: z.ZodObject<{
|
|
|
415
415
|
category: z.ZodEnum<["not_started", "in_progress", "completed", "canceled"]>;
|
|
416
416
|
}, "strict", z.ZodTypeAny, {
|
|
417
417
|
key: string;
|
|
418
|
-
category: "
|
|
418
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
419
419
|
label: string;
|
|
420
420
|
}, {
|
|
421
421
|
key: string;
|
|
422
|
-
category: "
|
|
422
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
423
423
|
label: string;
|
|
424
424
|
}>, "many">>;
|
|
425
425
|
priorityDefinitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -567,7 +567,7 @@ export declare const CreateProjectSchema: z.ZodObject<{
|
|
|
567
567
|
}[] | undefined;
|
|
568
568
|
statusDefinitions?: {
|
|
569
569
|
key: string;
|
|
570
|
-
category: "
|
|
570
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
571
571
|
label: string;
|
|
572
572
|
}[] | undefined;
|
|
573
573
|
priorityDefinitions?: {
|
|
@@ -626,7 +626,7 @@ export declare const CreateProjectSchema: z.ZodObject<{
|
|
|
626
626
|
}[] | undefined;
|
|
627
627
|
statusDefinitions?: {
|
|
628
628
|
key: string;
|
|
629
|
-
category: "
|
|
629
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
630
630
|
label: string;
|
|
631
631
|
}[] | undefined;
|
|
632
632
|
priorityDefinitions?: {
|
|
@@ -710,11 +710,11 @@ export declare const UpdateProjectSchema: z.ZodObject<{
|
|
|
710
710
|
category: z.ZodEnum<["not_started", "in_progress", "completed", "canceled"]>;
|
|
711
711
|
}, "strict", z.ZodTypeAny, {
|
|
712
712
|
key: string;
|
|
713
|
-
category: "
|
|
713
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
714
714
|
label: string;
|
|
715
715
|
}, {
|
|
716
716
|
key: string;
|
|
717
|
-
category: "
|
|
717
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
718
718
|
label: string;
|
|
719
719
|
}>, "many">>>;
|
|
720
720
|
priorityDefinitions: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -862,7 +862,7 @@ export declare const UpdateProjectSchema: z.ZodObject<{
|
|
|
862
862
|
}[] | undefined;
|
|
863
863
|
statusDefinitions?: {
|
|
864
864
|
key: string;
|
|
865
|
-
category: "
|
|
865
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
866
866
|
label: string;
|
|
867
867
|
}[] | undefined;
|
|
868
868
|
priorityDefinitions?: {
|
|
@@ -921,7 +921,7 @@ export declare const UpdateProjectSchema: z.ZodObject<{
|
|
|
921
921
|
}[] | undefined;
|
|
922
922
|
statusDefinitions?: {
|
|
923
923
|
key: string;
|
|
924
|
-
category: "
|
|
924
|
+
category: "in_progress" | "canceled" | "not_started" | "completed";
|
|
925
925
|
label: string;
|
|
926
926
|
}[] | undefined;
|
|
927
927
|
priorityDefinitions?: {
|
|
@@ -1040,7 +1040,7 @@ export declare const CreateTaskSchema: z.ZodObject<{
|
|
|
1040
1040
|
title: string;
|
|
1041
1041
|
description?: string | undefined;
|
|
1042
1042
|
status?: string | undefined;
|
|
1043
|
-
semanticStatus?: "
|
|
1043
|
+
semanticStatus?: "in_progress" | "canceled" | "not_started" | "completed" | undefined;
|
|
1044
1044
|
priority?: string | undefined;
|
|
1045
1045
|
taskType?: string | undefined;
|
|
1046
1046
|
assigneeId?: string | undefined;
|
|
@@ -1091,7 +1091,7 @@ export declare const CreateTaskSchema: z.ZodObject<{
|
|
|
1091
1091
|
title: string;
|
|
1092
1092
|
description?: string | undefined;
|
|
1093
1093
|
status?: string | undefined;
|
|
1094
|
-
semanticStatus?: "
|
|
1094
|
+
semanticStatus?: "in_progress" | "canceled" | "not_started" | "completed" | undefined;
|
|
1095
1095
|
priority?: string | undefined;
|
|
1096
1096
|
taskType?: string | undefined;
|
|
1097
1097
|
assigneeId?: string | undefined;
|
|
@@ -1216,7 +1216,7 @@ export declare const UpdateTaskSchema: z.ZodObject<{
|
|
|
1216
1216
|
description?: string | undefined;
|
|
1217
1217
|
title?: string | undefined;
|
|
1218
1218
|
status?: string | undefined;
|
|
1219
|
-
semanticStatus?: "
|
|
1219
|
+
semanticStatus?: "in_progress" | "canceled" | "not_started" | "completed" | undefined;
|
|
1220
1220
|
priority?: string | undefined;
|
|
1221
1221
|
taskType?: string | undefined;
|
|
1222
1222
|
assigneeId?: string | undefined;
|
|
@@ -1266,7 +1266,7 @@ export declare const UpdateTaskSchema: z.ZodObject<{
|
|
|
1266
1266
|
description?: string | undefined;
|
|
1267
1267
|
title?: string | undefined;
|
|
1268
1268
|
status?: string | undefined;
|
|
1269
|
-
semanticStatus?: "
|
|
1269
|
+
semanticStatus?: "in_progress" | "canceled" | "not_started" | "completed" | undefined;
|
|
1270
1270
|
priority?: string | undefined;
|
|
1271
1271
|
taskType?: string | undefined;
|
|
1272
1272
|
assigneeId?: string | undefined;
|
|
@@ -1845,7 +1845,6 @@ export declare const UploadAttachmentSchema: z.ZodObject<{
|
|
|
1845
1845
|
filename: z.ZodString;
|
|
1846
1846
|
data: z.ZodString;
|
|
1847
1847
|
mimeType: z.ZodOptional<z.ZodString>;
|
|
1848
|
-
pathPrefix: z.ZodOptional<z.ZodString>;
|
|
1849
1848
|
encoding: z.ZodOptional<z.ZodEnum<["base64", "utf-8", "binary"]>>;
|
|
1850
1849
|
taskId: z.ZodOptional<z.ZodString>;
|
|
1851
1850
|
projectId: z.ZodOptional<z.ZodString>;
|
|
@@ -1861,8 +1860,7 @@ export declare const UploadAttachmentSchema: z.ZodObject<{
|
|
|
1861
1860
|
commentId?: string | undefined;
|
|
1862
1861
|
mimeType?: string | undefined;
|
|
1863
1862
|
artifactType?: "plan" | "spec" | "deliverable" | "review" | "general" | undefined;
|
|
1864
|
-
|
|
1865
|
-
encoding?: "utf-8" | "base64" | "binary" | undefined;
|
|
1863
|
+
encoding?: "base64" | "utf-8" | "binary" | undefined;
|
|
1866
1864
|
}, {
|
|
1867
1865
|
filename: string;
|
|
1868
1866
|
data: string;
|
|
@@ -1872,25 +1870,25 @@ export declare const UploadAttachmentSchema: z.ZodObject<{
|
|
|
1872
1870
|
commentId?: string | undefined;
|
|
1873
1871
|
mimeType?: string | undefined;
|
|
1874
1872
|
artifactType?: "plan" | "spec" | "deliverable" | "review" | "general" | undefined;
|
|
1875
|
-
|
|
1876
|
-
encoding?: "utf-8" | "base64" | "binary" | undefined;
|
|
1873
|
+
encoding?: "base64" | "utf-8" | "binary" | undefined;
|
|
1877
1874
|
}>;
|
|
1878
1875
|
export declare const PresignAttachmentSchema: z.ZodObject<{
|
|
1879
|
-
/** Project the upload belongs to;
|
|
1876
|
+
/** Project the upload belongs to; the file is stored under `projects/<projectId>/`. */
|
|
1880
1877
|
projectId: z.ZodString;
|
|
1881
|
-
|
|
1878
|
+
/** Original file name; the engine generates the storage key from it. */
|
|
1879
|
+
filename: z.ZodString;
|
|
1882
1880
|
expiresInSeconds: z.ZodOptional<z.ZodNumber>;
|
|
1883
1881
|
contentType: z.ZodOptional<z.ZodString>;
|
|
1884
1882
|
}, "strict", z.ZodTypeAny, {
|
|
1885
1883
|
projectId: string;
|
|
1886
|
-
|
|
1887
|
-
expiresInSeconds?: number | undefined;
|
|
1884
|
+
filename: string;
|
|
1888
1885
|
contentType?: string | undefined;
|
|
1886
|
+
expiresInSeconds?: number | undefined;
|
|
1889
1887
|
}, {
|
|
1890
1888
|
projectId: string;
|
|
1891
|
-
|
|
1892
|
-
expiresInSeconds?: number | undefined;
|
|
1889
|
+
filename: string;
|
|
1893
1890
|
contentType?: string | undefined;
|
|
1891
|
+
expiresInSeconds?: number | undefined;
|
|
1894
1892
|
}>;
|
|
1895
1893
|
export declare const LogTimeSchema: z.ZodObject<{
|
|
1896
1894
|
taskId: z.ZodString;
|
|
@@ -1911,6 +1909,58 @@ export declare const LogTimeSchema: z.ZodObject<{
|
|
|
1911
1909
|
loggedAt?: string | undefined;
|
|
1912
1910
|
isBillable?: boolean | undefined;
|
|
1913
1911
|
}>;
|
|
1912
|
+
/** `GET /tasks` query parameters. `status` and `priority` are comma-separated; `parentId=none` means top-level. */
|
|
1913
|
+
export declare const TaskListQuerySchema: z.ZodObject<{
|
|
1914
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
1915
|
+
status: z.ZodOptional<z.ZodEffects<z.ZodString, string[], string>>;
|
|
1916
|
+
priority: z.ZodOptional<z.ZodEffects<z.ZodString, string[], string>>;
|
|
1917
|
+
assigneeId: z.ZodOptional<z.ZodString>;
|
|
1918
|
+
iterationId: z.ZodOptional<z.ZodString>;
|
|
1919
|
+
deliverableId: z.ZodOptional<z.ZodString>;
|
|
1920
|
+
containerId: z.ZodOptional<z.ZodString>;
|
|
1921
|
+
parentId: z.ZodOptional<z.ZodEffects<z.ZodString, string | null, string>>;
|
|
1922
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
1923
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
1924
|
+
}, "strict", z.ZodTypeAny, {
|
|
1925
|
+
projectId?: string | undefined;
|
|
1926
|
+
status?: string[] | undefined;
|
|
1927
|
+
priority?: string[] | undefined;
|
|
1928
|
+
assigneeId?: string | undefined;
|
|
1929
|
+
iterationId?: string | undefined;
|
|
1930
|
+
containerId?: string | undefined;
|
|
1931
|
+
deliverableId?: string | undefined;
|
|
1932
|
+
parentId?: string | null | undefined;
|
|
1933
|
+
limit?: number | undefined;
|
|
1934
|
+
cursor?: string | undefined;
|
|
1935
|
+
}, {
|
|
1936
|
+
projectId?: string | undefined;
|
|
1937
|
+
status?: string | undefined;
|
|
1938
|
+
priority?: string | undefined;
|
|
1939
|
+
assigneeId?: string | undefined;
|
|
1940
|
+
iterationId?: string | undefined;
|
|
1941
|
+
containerId?: string | undefined;
|
|
1942
|
+
deliverableId?: string | undefined;
|
|
1943
|
+
parentId?: string | undefined;
|
|
1944
|
+
limit?: number | undefined;
|
|
1945
|
+
cursor?: string | undefined;
|
|
1946
|
+
}>;
|
|
1947
|
+
/** `GET /activities` query parameters. */
|
|
1948
|
+
export declare const ActivityListQuerySchema: z.ZodObject<{
|
|
1949
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
1950
|
+
taskId: z.ZodOptional<z.ZodString>;
|
|
1951
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
1952
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
1953
|
+
}, "strict", z.ZodTypeAny, {
|
|
1954
|
+
projectId?: string | undefined;
|
|
1955
|
+
taskId?: string | undefined;
|
|
1956
|
+
limit?: number | undefined;
|
|
1957
|
+
cursor?: string | undefined;
|
|
1958
|
+
}, {
|
|
1959
|
+
projectId?: string | undefined;
|
|
1960
|
+
taskId?: string | undefined;
|
|
1961
|
+
limit?: number | undefined;
|
|
1962
|
+
cursor?: string | undefined;
|
|
1963
|
+
}>;
|
|
1914
1964
|
export declare const CreateWebhookSchema: z.ZodObject<{
|
|
1915
1965
|
name: z.ZodString;
|
|
1916
1966
|
/** http(s) URL; private and local addresses are rejected unless the engine allows them. */
|
|
@@ -1980,5 +2030,6 @@ export type UploadAttachmentBody = z.input<typeof UploadAttachmentSchema>;
|
|
|
1980
2030
|
export type PresignAttachmentBody = z.input<typeof PresignAttachmentSchema>;
|
|
1981
2031
|
export type LogTimeBody = z.input<typeof LogTimeSchema>;
|
|
1982
2032
|
export type CreateWebhookBody = z.input<typeof CreateWebhookSchema>;
|
|
2033
|
+
export type TaskListQueryParams = z.input<typeof TaskListQuerySchema>;
|
|
1983
2034
|
export type UpdateWebhookBody = z.input<typeof UpdateWebhookSchema>;
|
|
1984
2035
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAS1F;AAUD,eAAO,MAAM,oBAAoB,oEAAkE,CAAC;AACpG,eAAO,MAAM,gBAAgB,wCAAsC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;IAItC,2EAA2E;;;;;;;;;;;;;;;;;;;;;EAK3E,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAC;AAOH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB/B,CAAC;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAiC,CAAC;AAInE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA3C9B,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8D3E,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA/D9B,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Db,CAAC;AAgEjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuD,CAAC;AAErF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAInE,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAiBH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8D,CAAC;AACnG,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AAIjF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAC;AAW3D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAA4D,CAAC;AAC/F,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAA0C,CAAC;AAY7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAA4D,CAAC;AAC/F,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAEtB,CAAC;AAIb,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAEpB,CAAC;AAEb,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAYH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;IAClC,uFAAuF;;IAEvF,wEAAwE;;;;;;;;;;;;;;EAIxE,CAAC;AAIH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AASH,mHAAmH;AACnH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEH,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AAIH,eAAO,MAAM,mBAAmB;;IAE9B,2FAA2F;;IAE3F,wEAAwE;;IAExE,yFAAyF;;;;;;;;;;;;;;;EAGzF,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC5E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import { z } from 'zod';
|
|
12
12
|
import { ValidationError } from '../domain/errors.js';
|
|
13
13
|
import { DOMAIN_EVENT_NAMES } from '../domain/events.js';
|
|
14
|
+
import { MAX_PAGE_SIZE } from '../store/query.js';
|
|
14
15
|
/**
|
|
15
16
|
* Parses `data` with `schema`, returning the cleaned value (unknown keys stripped, defaults
|
|
16
17
|
* applied) or throwing a `ValidationError` whose `issues` list every problem.
|
|
@@ -261,13 +262,13 @@ export const UploadAttachmentSchema = strictObject({
|
|
|
261
262
|
filename: nonEmpty,
|
|
262
263
|
data: z.string(),
|
|
263
264
|
mimeType: z.string().optional(),
|
|
264
|
-
pathPrefix: z.string().optional(),
|
|
265
265
|
encoding: z.enum(['base64', 'utf-8', 'binary']).optional()
|
|
266
266
|
});
|
|
267
267
|
export const PresignAttachmentSchema = strictObject({
|
|
268
|
-
/** Project the upload belongs to;
|
|
268
|
+
/** Project the upload belongs to; the file is stored under `projects/<projectId>/`. */
|
|
269
269
|
projectId: nonEmpty,
|
|
270
|
-
|
|
270
|
+
/** Original file name; the engine generates the storage key from it. */
|
|
271
|
+
filename: nonEmpty,
|
|
271
272
|
expiresInSeconds: z.number().int().positive().optional(),
|
|
272
273
|
contentType: z.string().optional()
|
|
273
274
|
});
|
|
@@ -279,6 +280,31 @@ export const LogTimeSchema = strictObject({
|
|
|
279
280
|
description: z.string().optional(),
|
|
280
281
|
loggedAt: isoString.optional()
|
|
281
282
|
});
|
|
283
|
+
// --- List queries (URL search parameters) ---
|
|
284
|
+
const csv = z
|
|
285
|
+
.string()
|
|
286
|
+
.transform((value) => value.split(',').map((part) => part.trim()).filter(Boolean));
|
|
287
|
+
const pageLimit = z.coerce.number().int().min(1).max(MAX_PAGE_SIZE);
|
|
288
|
+
/** `GET /tasks` query parameters. `status` and `priority` are comma-separated; `parentId=none` means top-level. */
|
|
289
|
+
export const TaskListQuerySchema = strictObject({
|
|
290
|
+
projectId: nonEmpty.optional(),
|
|
291
|
+
status: csv.optional(),
|
|
292
|
+
priority: csv.optional(),
|
|
293
|
+
assigneeId: nonEmpty.optional(),
|
|
294
|
+
iterationId: nonEmpty.optional(),
|
|
295
|
+
deliverableId: nonEmpty.optional(),
|
|
296
|
+
containerId: nonEmpty.optional(),
|
|
297
|
+
parentId: nonEmpty.transform((value) => (value === 'none' ? null : value)).optional(),
|
|
298
|
+
limit: pageLimit.optional(),
|
|
299
|
+
cursor: nonEmpty.optional()
|
|
300
|
+
});
|
|
301
|
+
/** `GET /activities` query parameters. */
|
|
302
|
+
export const ActivityListQuerySchema = strictObject({
|
|
303
|
+
projectId: nonEmpty.optional(),
|
|
304
|
+
taskId: nonEmpty.optional(),
|
|
305
|
+
limit: pageLimit.optional(),
|
|
306
|
+
cursor: nonEmpty.optional()
|
|
307
|
+
});
|
|
282
308
|
// --- Webhooks ---
|
|
283
309
|
export const CreateWebhookSchema = strictObject({
|
|
284
310
|
name: nonEmpty,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,16 @@ export interface StoredFile {
|
|
|
7
7
|
url: string;
|
|
8
8
|
createdAt: string;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Builds a storage key `<prefix>/<timestamp>_<random>_<filename>`. The prefix is validated (no
|
|
12
|
+
* `.`/`..` segments, no leading slash, safe characters only) so callers cannot write outside it.
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildStorageKey(pathPrefix: string | undefined, filename: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* `Content-Disposition` for stored files: active content (HTML, SVG, scripts) is forced to
|
|
17
|
+
* download so a stored file cannot run script on the storage origin.
|
|
18
|
+
*/
|
|
19
|
+
export declare function contentDispositionFor(mimeType: string, filename: string): string | undefined;
|
|
10
20
|
export declare function normalizeUploadData(data: Uint8Array | ArrayBuffer | Buffer | Blob | string | unknown, encoding?: 'base64' | 'utf-8' | 'binary', mimeType?: string): Uint8Array;
|
|
11
21
|
export declare class InMemoryFileStore implements FileStorageAdapter {
|
|
12
22
|
private files;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../src/storage/file-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,EACjE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,EACxC,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CA8DZ;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO;IAItE,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../src/storage/file-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBxF;AAaD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI5F;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,EACjE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,EACxC,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CA8DZ;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO;IAItE,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBzD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;IAQ1D,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnD,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAWzF,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAInD,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -1,3 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a storage key `<prefix>/<timestamp>_<random>_<filename>`. The prefix is validated (no
|
|
3
|
+
* `.`/`..` segments, no leading slash, safe characters only) so callers cannot write outside it.
|
|
4
|
+
*/
|
|
5
|
+
export function buildStorageKey(pathPrefix, filename) {
|
|
6
|
+
let prefix = '';
|
|
7
|
+
if (pathPrefix) {
|
|
8
|
+
const trimmed = pathPrefix.replace(/\/+$/, '');
|
|
9
|
+
const segments = trimmed.split('/');
|
|
10
|
+
if (trimmed.startsWith('/') ||
|
|
11
|
+
segments.some((segment) => segment === '' || segment === '.' || segment === '..' || !/^[A-Za-z0-9._-]+$/.test(segment))) {
|
|
12
|
+
throw new Error(`Invalid storage path prefix "${pathPrefix}".`);
|
|
13
|
+
}
|
|
14
|
+
prefix = `${trimmed}/`;
|
|
15
|
+
}
|
|
16
|
+
const random = Array.from(crypto.getRandomValues(new Uint8Array(6)), (b) => b.toString(16).padStart(2, '0')).join('');
|
|
17
|
+
const safeName = filename.replace(/[^a-zA-Z0-9._-]/g, '_').replace(/^\.+/, '_') || 'file';
|
|
18
|
+
return `${prefix}${Date.now()}_${random}_${safeName}`;
|
|
19
|
+
}
|
|
20
|
+
/** Content types a browser would execute or render as a page if opened from the storage host. */
|
|
21
|
+
const ACTIVE_CONTENT_TYPES = new Set([
|
|
22
|
+
'text/html',
|
|
23
|
+
'application/xhtml+xml',
|
|
24
|
+
'image/svg+xml',
|
|
25
|
+
'text/javascript',
|
|
26
|
+
'application/javascript',
|
|
27
|
+
'text/xml',
|
|
28
|
+
'application/xml'
|
|
29
|
+
]);
|
|
30
|
+
/**
|
|
31
|
+
* `Content-Disposition` for stored files: active content (HTML, SVG, scripts) is forced to
|
|
32
|
+
* download so a stored file cannot run script on the storage origin.
|
|
33
|
+
*/
|
|
34
|
+
export function contentDispositionFor(mimeType, filename) {
|
|
35
|
+
const base = mimeType.split(';')[0].trim().toLowerCase();
|
|
36
|
+
if (!ACTIVE_CONTENT_TYPES.has(base))
|
|
37
|
+
return undefined;
|
|
38
|
+
return `attachment; filename="${filename.replace(/["\\\r\n]/g, '_')}"`;
|
|
39
|
+
}
|
|
1
40
|
export function normalizeUploadData(data, encoding, mimeType) {
|
|
2
41
|
if (data instanceof Uint8Array) {
|
|
3
42
|
return data;
|
|
@@ -65,10 +104,7 @@ export class InMemoryFileStore {
|
|
|
65
104
|
this.publicBaseUrl = options.publicUrlBase || options.publicBaseUrl || 'memory://attachments';
|
|
66
105
|
}
|
|
67
106
|
async upload(input) {
|
|
68
|
-
const
|
|
69
|
-
const randomId = Math.random().toString(36).substring(2, 9);
|
|
70
|
-
const sanitizedFilename = input.filename.replace(/[^a-zA-Z0-9._-]/g, '_');
|
|
71
|
-
const storageKey = `${prefix}${Date.now()}_${randomId}_${sanitizedFilename}`;
|
|
107
|
+
const storageKey = buildStorageKey(input.pathPrefix, input.filename);
|
|
72
108
|
const buffer = normalizeUploadData(input.data, input.encoding, input.mimeType);
|
|
73
109
|
const mimeType = input.mimeType || 'application/octet-stream';
|
|
74
110
|
const sizeBytes = buffer.byteLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../src/storage/file-storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../src/storage/file-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-storage.d.ts","sourceRoot":"","sources":["../../src/storage/firebase-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,8BAA8B;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;QAClB,IAAI,CACF,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAClC,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE;gBAAE,WAAW,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;aAAE,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,GACzF,OAAO,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,YAAY,CAAC,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9H,SAAS,CAAC,IAAI,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,2BAA4B,YAAW,8BAA8B;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,KAAK,CAAgF;gBAEjF,IAAI,GAAE,MAA+B;IAIjD,IAAI,CAAC,IAAI,EAAE,MAAM;mBAII,UAAU,GAAG,MAAM,GAAG,MAAM,YAAY,GAAG;;oBAoB1C,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;uBAKlB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;6BASR,GAAG,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;CAUvD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,8BAA8B,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAS;gBAEnB,MAAM,GAAE,qBAA0B;
|
|
1
|
+
{"version":3,"file":"firebase-storage.d.ts","sourceRoot":"","sources":["../../src/storage/firebase-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,8BAA8B;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;QAClB,IAAI,CACF,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAClC,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE;gBAAE,WAAW,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;aAAE,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,GACzF,OAAO,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,YAAY,CAAC,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9H,SAAS,CAAC,IAAI,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,2BAA4B,YAAW,8BAA8B;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,KAAK,CAAgF;gBAEjF,IAAI,GAAE,MAA+B;IAIjD,IAAI,CAAC,IAAI,EAAE,MAAM;mBAII,UAAU,GAAG,MAAM,GAAG,MAAM,YAAY,GAAG;;oBAoB1C,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;uBAKlB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;6BASR,GAAG,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;CAUvD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,8BAA8B,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAS;gBAEnB,MAAM,GAAE,qBAA0B;IAa9C,OAAO,CAAC,YAAY;IAQd,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCzD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;IAe1D,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcnD,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAwB1F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeUploadData } from './file-storage.js';
|
|
1
|
+
import { buildStorageKey, contentDispositionFor, normalizeUploadData } from './file-storage.js';
|
|
2
2
|
export class InMemoryFirebaseStorageMock {
|
|
3
3
|
name;
|
|
4
4
|
files = new Map();
|
|
@@ -63,7 +63,11 @@ export class FirebaseStorageAdapter {
|
|
|
63
63
|
bucketName;
|
|
64
64
|
publicUrlBase;
|
|
65
65
|
constructor(config = {}) {
|
|
66
|
-
|
|
66
|
+
if (!config.bucket) {
|
|
67
|
+
// Never fall back to an in-memory mock silently: files would vanish on restart.
|
|
68
|
+
throw new Error('FirebaseStorageAdapter requires a "bucket" (e.g. getStorage().bucket()). Use InMemoryFirebaseStorageMock in tests.');
|
|
69
|
+
}
|
|
70
|
+
this.bucket = config.bucket;
|
|
67
71
|
this.bucketName = config.bucketName || this.bucket.name || 'default-bucket';
|
|
68
72
|
if (this.bucket && config.bucketName && this.bucket.name !== config.bucketName) {
|
|
69
73
|
this.bucket.name = config.bucketName;
|
|
@@ -78,10 +82,7 @@ export class FirebaseStorageAdapter {
|
|
|
78
82
|
return `https://firebasestorage.googleapis.com/v0/b/${encodeURIComponent(this.bucketName)}/o/${encodeURIComponent(storageKey)}?alt=media${tokenParam}`;
|
|
79
83
|
}
|
|
80
84
|
async upload(input) {
|
|
81
|
-
const
|
|
82
|
-
const randomId = Math.random().toString(36).substring(2, 9);
|
|
83
|
-
const sanitizedFilename = input.filename.replace(/[^a-zA-Z0-9._-]/g, '_');
|
|
84
|
-
const storageKey = `${prefix}${Date.now()}_${randomId}_${sanitizedFilename}`;
|
|
85
|
+
const storageKey = buildStorageKey(input.pathPrefix, input.filename);
|
|
85
86
|
const bodyData = normalizeUploadData(input.data, input.encoding, input.mimeType);
|
|
86
87
|
const mimeType = input.mimeType || 'application/octet-stream';
|
|
87
88
|
const sizeBytes = bodyData.byteLength;
|
|
@@ -92,6 +93,7 @@ export class FirebaseStorageAdapter {
|
|
|
92
93
|
await fileRef.save(bodyData, {
|
|
93
94
|
metadata: {
|
|
94
95
|
contentType: mimeType,
|
|
96
|
+
...(contentDispositionFor(mimeType, input.filename) ? { contentDisposition: contentDispositionFor(mimeType, input.filename) } : {}),
|
|
95
97
|
metadata: {
|
|
96
98
|
firebaseStorageDownloadTokens: downloadToken
|
|
97
99
|
}
|
|
@@ -162,13 +164,8 @@ export class FirebaseStorageAdapter {
|
|
|
162
164
|
headers: options.contentType ? { 'Content-Type': options.contentType } : {}
|
|
163
165
|
};
|
|
164
166
|
}
|
|
165
|
-
//
|
|
166
|
-
|
|
167
|
-
uploadUrl: this.getPublicUrl(storageKey),
|
|
168
|
-
storageKey,
|
|
169
|
-
method: 'PUT',
|
|
170
|
-
headers: options.contentType ? { 'Content-Type': options.contentType } : {}
|
|
171
|
-
};
|
|
167
|
+
// A public URL is not an upload credential; refuse rather than hand out a URL that cannot work.
|
|
168
|
+
throw new Error('FirebaseStorageAdapter cannot presign uploads: the bucket does not support getSignedUrl.');
|
|
172
169
|
}
|
|
173
170
|
}
|
|
174
171
|
//# sourceMappingURL=firebase-storage.js.map
|