@ai-matrx/media 0.8.0 → 0.9.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 +15 -0
- package/dist/files/engine/api/assets.d.ts +223 -0
- package/dist/files/engine/api/assets.js +124 -0
- package/dist/files/engine/api/assets.js.map +1 -0
- package/dist/files/engine/api/direct.d.ts +43 -0
- package/dist/files/engine/api/direct.js +73 -0
- package/dist/files/engine/api/direct.js.map +1 -0
- package/dist/files/engine/api/fileOrganization.d.ts +34 -0
- package/dist/files/engine/api/fileOrganization.js +38 -0
- package/dist/files/engine/api/fileOrganization.js.map +1 -0
- package/dist/files/engine/api/files.d.ts +249 -0
- package/dist/files/engine/api/files.js +231 -0
- package/dist/files/engine/api/files.js.map +1 -0
- package/dist/files/engine/api/folders.d.ts +63 -0
- package/dist/files/engine/api/folders.js +56 -0
- package/dist/files/engine/api/folders.js.map +1 -0
- package/dist/files/engine/api/office.d.ts +27 -0
- package/dist/files/engine/api/office.js +19 -0
- package/dist/files/engine/api/office.js.map +1 -0
- package/dist/files/engine/api/permissions.d.ts +37 -0
- package/dist/files/engine/api/permissions.js +109 -0
- package/dist/files/engine/api/permissions.js.map +1 -0
- package/dist/files/engine/api/versions.d.ts +26 -0
- package/dist/files/engine/api/versions.js +37 -0
- package/dist/files/engine/api/versions.js.map +1 -0
- package/dist/files/engine/cache/idb-store.d.ts +95 -0
- package/dist/files/engine/cache/idb-store.js +172 -0
- package/dist/files/engine/cache/idb-store.js.map +1 -0
- package/dist/files/engine/cache/policy.d.ts +14 -0
- package/dist/files/engine/cache/policy.js +40 -0
- package/dist/files/engine/cache/policy.js.map +1 -0
- package/dist/files/engine/cache/register-service-worker.d.ts +57 -0
- package/dist/files/engine/cache/register-service-worker.js +80 -0
- package/dist/files/engine/cache/register-service-worker.js.map +1 -0
- package/dist/files/engine/db-types.d.ts +48865 -0
- package/dist/files/engine/db-types.js +1 -0
- package/dist/files/engine/db-types.js.map +1 -0
- package/dist/files/engine/filesDb.d.ts +1913 -0
- package/dist/files/engine/filesDb.js +28 -0
- package/dist/files/engine/filesDb.js.map +1 -0
- package/dist/files/engine/handler/handler.d.ts +82 -0
- package/dist/files/engine/handler/handler.js +124 -0
- package/dist/files/engine/handler/handler.js.map +1 -0
- package/dist/files/engine/handler/hooks/useFile.d.ts +17 -0
- package/dist/files/engine/handler/hooks/useFile.js +75 -0
- package/dist/files/engine/handler/hooks/useFile.js.map +1 -0
- package/dist/files/engine/handler/hooks/useFileUpload.d.ts +76 -0
- package/dist/files/engine/handler/hooks/useFileUpload.js +67 -0
- package/dist/files/engine/handler/hooks/useFileUpload.js.map +1 -0
- package/dist/files/engine/handler/input/normalize.d.ts +14 -0
- package/dist/files/engine/handler/input/normalize.js +365 -0
- package/dist/files/engine/handler/input/normalize.js.map +1 -0
- package/dist/files/engine/handler/intelligence/access.d.ts +35 -0
- package/dist/files/engine/handler/intelligence/access.js +85 -0
- package/dist/files/engine/handler/intelligence/access.js.map +1 -0
- package/dist/files/engine/handler/intelligence/magic-bytes.d.ts +21 -0
- package/dist/files/engine/handler/intelligence/magic-bytes.js +67 -0
- package/dist/files/engine/handler/intelligence/magic-bytes.js.map +1 -0
- package/dist/files/engine/handler/output/target.d.ts +19 -0
- package/dist/files/engine/handler/output/target.js +222 -0
- package/dist/files/engine/handler/output/target.js.map +1 -0
- package/dist/files/engine/handler/resolver.d.ts +34 -0
- package/dist/files/engine/handler/resolver.js +133 -0
- package/dist/files/engine/handler/resolver.js.map +1 -0
- package/dist/files/engine/handler/types.d.ts +367 -0
- package/dist/files/engine/handler/types.js +1 -0
- package/dist/files/engine/handler/types.js.map +1 -0
- package/dist/files/engine/handler/upload.d.ts +32 -0
- package/dist/files/engine/handler/upload.js +295 -0
- package/dist/files/engine/handler/upload.js.map +1 -0
- package/dist/files/engine/handler/utils/classify.d.ts +14 -0
- package/dist/files/engine/handler/utils/classify.js +27 -0
- package/dist/files/engine/handler/utils/classify.js.map +1 -0
- package/dist/files/engine/handler/utils/prefer-locator.d.ts +32 -0
- package/dist/files/engine/handler/utils/prefer-locator.js +34 -0
- package/dist/files/engine/handler/utils/prefer-locator.js.map +1 -0
- package/dist/files/engine/handler/utils/python-base.d.ts +129 -0
- package/dist/files/engine/handler/utils/python-base.js +60 -0
- package/dist/files/engine/handler/utils/python-base.js.map +1 -0
- package/dist/files/engine/hooks/blob-cache.d.ts +130 -0
- package/dist/files/engine/hooks/blob-cache.js +162 -0
- package/dist/files/engine/hooks/blob-cache.js.map +1 -0
- package/dist/files/engine/hooks/office-extraction-cache.d.ts +28 -0
- package/dist/files/engine/hooks/office-extraction-cache.js +67 -0
- package/dist/files/engine/hooks/office-extraction-cache.js.map +1 -0
- package/dist/files/engine/host/configure.d.ts +166 -0
- package/dist/files/engine/host/configure.js +30 -0
- package/dist/files/engine/host/configure.js.map +1 -0
- package/dist/files/engine/host/org.d.ts +8 -0
- package/dist/files/engine/host/org.js +16 -0
- package/dist/files/engine/host/org.js.map +1 -0
- package/dist/files/engine/host/python-client.d.ts +60 -0
- package/dist/files/engine/host/python-client.js +46 -0
- package/dist/files/engine/host/python-client.js.map +1 -0
- package/dist/files/engine/host/share-links.d.ts +20 -0
- package/dist/files/engine/host/share-links.js +32 -0
- package/dist/files/engine/host/share-links.js.map +1 -0
- package/dist/files/engine/host/store.d.ts +24 -0
- package/dist/files/engine/host/store.js +23 -0
- package/dist/files/engine/host/store.js.map +1 -0
- package/dist/files/engine/host/supabase.d.ts +3808 -0
- package/dist/files/engine/host/supabase.js +33 -0
- package/dist/files/engine/host/supabase.js.map +1 -0
- package/dist/files/engine/host/toast.d.ts +14 -0
- package/dist/files/engine/host/toast.js +20 -0
- package/dist/files/engine/host/toast.js.map +1 -0
- package/dist/files/engine/host/typed-client.d.ts +136 -0
- package/dist/files/engine/host/typed-client.js +66 -0
- package/dist/files/engine/host/typed-client.js.map +1 -0
- package/dist/files/engine/index.d.ts +22 -0
- package/dist/files/engine/index.js +49 -0
- package/dist/files/engine/index.js.map +1 -0
- package/dist/files/engine/media/our-file-sources.d.ts +39 -0
- package/dist/files/engine/media/our-file-sources.js +83 -0
- package/dist/files/engine/media/our-file-sources.js.map +1 -0
- package/dist/files/engine/media/signed-url.d.ts +1 -0
- package/dist/files/engine/media/signed-url.js +6 -0
- package/dist/files/engine/media/signed-url.js.map +1 -0
- package/dist/files/engine/redux/converters.d.ts +73 -0
- package/dist/files/engine/redux/converters.js +286 -0
- package/dist/files/engine/redux/converters.js.map +1 -0
- package/dist/files/engine/redux/file-hydration.d.ts +15 -0
- package/dist/files/engine/redux/file-hydration.js +46 -0
- package/dist/files/engine/redux/file-hydration.js.map +1 -0
- package/dist/files/engine/redux/file-tree-auth-boundary.d.ts +5 -0
- package/dist/files/engine/redux/file-tree-auth-boundary.js +28 -0
- package/dist/files/engine/redux/file-tree-auth-boundary.js.map +1 -0
- package/dist/files/engine/redux/file-tree-timeout.d.ts +32 -0
- package/dist/files/engine/redux/file-tree-timeout.js +73 -0
- package/dist/files/engine/redux/file-tree-timeout.js.map +1 -0
- package/dist/files/engine/redux/mutation-toast-middleware.d.ts +27 -0
- package/dist/files/engine/redux/mutation-toast-middleware.js +103 -0
- package/dist/files/engine/redux/mutation-toast-middleware.js.map +1 -0
- package/dist/files/engine/redux/realtime-middleware.d.ts +61 -0
- package/dist/files/engine/redux/realtime-middleware.js +431 -0
- package/dist/files/engine/redux/realtime-middleware.js.map +1 -0
- package/dist/files/engine/redux/request-ledger.d.ts +68 -0
- package/dist/files/engine/redux/request-ledger.js +66 -0
- package/dist/files/engine/redux/request-ledger.js.map +1 -0
- package/dist/files/engine/redux/selectors.d.ts +3254 -0
- package/dist/files/engine/redux/selectors.js +428 -0
- package/dist/files/engine/redux/selectors.js.map +1 -0
- package/dist/files/engine/redux/slice.d.ts +157 -0
- package/dist/files/engine/redux/slice.js +836 -0
- package/dist/files/engine/redux/slice.js.map +1 -0
- package/dist/files/engine/redux/thunks.d.ts +449 -0
- package/dist/files/engine/redux/thunks.js +1684 -0
- package/dist/files/engine/redux/thunks.js.map +1 -0
- package/dist/files/engine/redux/tree-utils.d.ts +90 -0
- package/dist/files/engine/redux/tree-utils.js +200 -0
- package/dist/files/engine/redux/tree-utils.js.map +1 -0
- package/dist/files/engine/support/claimsUser.d.ts +77 -0
- package/dist/files/engine/support/claimsUser.js +48 -0
- package/dist/files/engine/support/claimsUser.js.map +1 -0
- package/dist/files/engine/support/datetime.d.ts +6 -0
- package/dist/files/engine/support/datetime.js +15 -0
- package/dist/files/engine/support/datetime.js.map +1 -0
- package/dist/files/engine/support/document-visibility.d.ts +14 -0
- package/dist/files/engine/support/document-visibility.js +28 -0
- package/dist/files/engine/support/document-visibility.js.map +1 -0
- package/dist/files/engine/support/logger.d.ts +28 -0
- package/dist/files/engine/support/logger.js +36 -0
- package/dist/files/engine/support/logger.js.map +1 -0
- package/dist/files/engine/types.d.ts +1081 -0
- package/dist/files/engine/types.js +30 -0
- package/dist/files/engine/types.js.map +1 -0
- package/dist/files/engine/upload/cloudUpload.d.ts +182 -0
- package/dist/files/engine/upload/cloudUpload.js +418 -0
- package/dist/files/engine/upload/cloudUpload.js.map +1 -0
- package/dist/files/engine/upload/tusUpload.d.ts +100 -0
- package/dist/files/engine/upload/tusUpload.js +258 -0
- package/dist/files/engine/upload/tusUpload.js.map +1 -0
- package/dist/files/engine/upload/uploadDedupGuard.d.ts +58 -0
- package/dist/files/engine/upload/uploadDedupGuard.js +41 -0
- package/dist/files/engine/upload/uploadDedupGuard.js.map +1 -0
- package/dist/files/engine/upload/uploadGuardOpeners.d.ts +70 -0
- package/dist/files/engine/upload/uploadGuardOpeners.js +54 -0
- package/dist/files/engine/upload/uploadGuardOpeners.js.map +1 -0
- package/dist/files/engine/utils/file-types.d.ts +243 -0
- package/dist/files/engine/utils/file-types.js +1722 -0
- package/dist/files/engine/utils/file-types.js.map +1 -0
- package/dist/files/engine/utils/user-visible.d.ts +133 -0
- package/dist/files/engine/utils/user-visible.js +115 -0
- package/dist/files/engine/utils/user-visible.js.map +1 -0
- package/package.json +393 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/files/engine/host/python-client.ts"],"sourcesContent":["/**\n * Server seam — the AI Matrx server client the engine calls (same names the\n * call sites imported from matrx-frontend's `lib/python-client`). Each export\n * forwards at CALL time to the configured host's `server` (`./configure.ts`).\n */\n\nimport {\n getFilesHost,\n type FilesDownloadProgressEvent,\n type FilesRequestOptions,\n type FilesResponseMeta,\n type FilesServerClient,\n type FilesUploadProgressEvent,\n} from \"./configure\";\n\nexport type RequestOptions = FilesRequestOptions;\nexport type ResponseMeta = FilesResponseMeta;\nexport type UploadProgressEvent = FilesUploadProgressEvent;\nexport type DownloadProgressEvent = FilesDownloadProgressEvent;\n\nfunction forward<K extends keyof FilesServerClient>(member: K): FilesServerClient[K] {\n const forwarded = (...args: unknown[]): unknown => {\n const target = getFilesHost(`server.${member}`).server[member] as unknown as (\n ...a: unknown[]\n ) => unknown;\n return target(...args);\n };\n // A rest-args forwarder IS the member's call signature (generics included).\n return forwarded as unknown as FilesServerClient[K];\n}\n\nexport const resolveFilesBaseUrl = forward(\"resolveFilesBaseUrl\");\nexport const resolveBaseUrlForPath = forward(\"resolveBaseUrlForPath\");\nexport const buildHeaders = forward(\"buildHeaders\");\nexport const getJson = forward(\"getJson\");\nexport const postJson = forward(\"postJson\");\nexport const patchJson = forward(\"patchJson\");\nexport const putJson = forward(\"putJson\");\nexport const del = forward(\"del\");\nexport const delJson = forward(\"delJson\");\nexport const postMultipart = forward(\"postMultipart\");\nexport const uploadWithProgress = forward(\"uploadWithProgress\");\nexport const downloadBlob = forward(\"downloadBlob\");\nexport const downloadBlobWithProgress = forward(\"downloadBlobWithProgress\");\n\n/** Client-generated request id (sent as `X-Request-Id`). */\nexport function newRequestId(): string {\n if (typeof crypto !== \"undefined\" && \"randomUUID\" in crypto) {\n return crypto.randomUUID();\n }\n return `req_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;\n}\n"],"mappings":"AAMA;AAAA,EACE;AAAA,OAMK;AAOP,SAAS,QAA2C,QAAiC;AACnF,QAAM,YAAY,IAAI,SAA6B;AACjD,UAAM,SAAS,aAAa,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM;AAG7D,WAAO,OAAO,GAAG,IAAI;AAAA,EACvB;AAEA,SAAO;AACT;AAEO,MAAM,sBAAsB,QAAQ,qBAAqB;AACzD,MAAM,wBAAwB,QAAQ,uBAAuB;AAC7D,MAAM,eAAe,QAAQ,cAAc;AAC3C,MAAM,UAAU,QAAQ,SAAS;AACjC,MAAM,WAAW,QAAQ,UAAU;AACnC,MAAM,YAAY,QAAQ,WAAW;AACrC,MAAM,UAAU,QAAQ,SAAS;AACjC,MAAM,MAAM,QAAQ,KAAK;AACzB,MAAM,UAAU,QAAQ,SAAS;AACjC,MAAM,gBAAgB,QAAQ,eAAe;AAC7C,MAAM,qBAAqB,QAAQ,oBAAoB;AACvD,MAAM,eAAe,QAAQ,cAAc;AAC3C,MAAM,2BAA2B,QAAQ,0BAA0B;AAGnE,SAAS,eAAuB;AACrC,MAAI,OAAO,WAAW,eAAe,gBAAgB,QAAQ;AAC3D,WAAO,OAAO,WAAW;AAAA,EAC3B;AACA,SAAO,OAAO,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC;AAClF;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Share-link seam — the host's share-link store (matrx-frontend:
|
|
3
|
+
* `utils/permissions/shareLinks`). `shareLinkUrl` has a package default: the
|
|
4
|
+
* `/s/<token>` landing page on this origin.
|
|
5
|
+
*/
|
|
6
|
+
import { type FilesCreateShareLinkOptions, type FilesShareLink } from "./configure.js";
|
|
7
|
+
export type ShareLink = FilesShareLink;
|
|
8
|
+
export declare function shareLinkUrl(token: string): string;
|
|
9
|
+
export declare function createShareLink(options: FilesCreateShareLinkOptions): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
token?: string;
|
|
12
|
+
shortToken?: string | null;
|
|
13
|
+
url?: string;
|
|
14
|
+
error?: string;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function listShareLinks(resourceType: string, resourceId: string): Promise<FilesShareLink[]>;
|
|
17
|
+
export declare function revokeShareLink(linkId: string): Promise<{
|
|
18
|
+
success: boolean;
|
|
19
|
+
error?: string;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { getFilesHost } from "./configure.js";
|
|
2
|
+
function shareLinks(member) {
|
|
3
|
+
const links = getFilesHost(`shareLinks.${member}`).shareLinks;
|
|
4
|
+
if (!links) {
|
|
5
|
+
throw new Error(
|
|
6
|
+
`@ai-matrx/media/files-engine: "${member}" needs the host's share links \u2014 pass shareLinks to configureFilesHost(...).`
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
return links;
|
|
10
|
+
}
|
|
11
|
+
function shareLinkUrl(token) {
|
|
12
|
+
const links = getFilesHost("shareLinks.shareLinkUrl").shareLinks;
|
|
13
|
+
if (links) return links.shareLinkUrl(token);
|
|
14
|
+
const base = typeof window !== "undefined" ? window.location.origin : "";
|
|
15
|
+
return `${base}/s/${token}`;
|
|
16
|
+
}
|
|
17
|
+
function createShareLink(options) {
|
|
18
|
+
return shareLinks("createShareLink").createShareLink(options);
|
|
19
|
+
}
|
|
20
|
+
function listShareLinks(resourceType, resourceId) {
|
|
21
|
+
return shareLinks("listShareLinks").listShareLinks(resourceType, resourceId);
|
|
22
|
+
}
|
|
23
|
+
function revokeShareLink(linkId) {
|
|
24
|
+
return shareLinks("revokeShareLink").revokeShareLink(linkId);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
createShareLink,
|
|
28
|
+
listShareLinks,
|
|
29
|
+
revokeShareLink,
|
|
30
|
+
shareLinkUrl
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=share-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/files/engine/host/share-links.ts"],"sourcesContent":["/**\n * Share-link seam — the host's share-link store (matrx-frontend:\n * `utils/permissions/shareLinks`). `shareLinkUrl` has a package default: the\n * `/s/<token>` landing page on this origin.\n */\n\nimport { getFilesHost, type FilesCreateShareLinkOptions, type FilesShareLink } from \"./configure\";\n\nexport type ShareLink = FilesShareLink;\n\nfunction shareLinks(member: string) {\n const links = getFilesHost(`shareLinks.${member}`).shareLinks;\n if (!links) {\n throw new Error(\n `@ai-matrx/media/files-engine: \"${member}\" needs the host's share links — pass shareLinks to configureFilesHost(...).`,\n );\n }\n return links;\n}\n\nexport function shareLinkUrl(token: string): string {\n const links = getFilesHost(\"shareLinks.shareLinkUrl\").shareLinks;\n if (links) return links.shareLinkUrl(token);\n const base = typeof window !== \"undefined\" ? window.location.origin : \"\";\n return `${base}/s/${token}`;\n}\n\nexport function createShareLink(options: FilesCreateShareLinkOptions) {\n return shareLinks(\"createShareLink\").createShareLink(options);\n}\n\nexport function listShareLinks(resourceType: string, resourceId: string) {\n return shareLinks(\"listShareLinks\").listShareLinks(resourceType, resourceId);\n}\n\nexport function revokeShareLink(linkId: string) {\n return shareLinks(\"revokeShareLink\").revokeShareLink(linkId);\n}\n"],"mappings":"AAMA,SAAS,oBAA2E;AAIpF,SAAS,WAAW,QAAgB;AAClC,QAAM,QAAQ,aAAa,cAAc,MAAM,EAAE,EAAE;AACnD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR,kCAAkC,MAAM;AAAA,IAC1C;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,aAAa,OAAuB;AAClD,QAAM,QAAQ,aAAa,yBAAyB,EAAE;AACtD,MAAI,MAAO,QAAO,MAAM,aAAa,KAAK;AAC1C,QAAM,OAAO,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS;AACtE,SAAO,GAAG,IAAI,MAAM,KAAK;AAC3B;AAEO,SAAS,gBAAgB,SAAsC;AACpE,SAAO,WAAW,iBAAiB,EAAE,gBAAgB,OAAO;AAC9D;AAEO,SAAS,eAAe,cAAsB,YAAoB;AACvE,SAAO,WAAW,gBAAgB,EAAE,eAAe,cAAc,UAAU;AAC7E;AAEO,SAAS,gBAAgB,QAAgB;AAC9C,SAAO,WAAW,iBAAiB,EAAE,gBAAgB,MAAM;AAC7D;","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store seam — the store the `cloudFiles` reducer is mounted in, and the
|
|
3
|
+
* person's current organization / project / task read from it. Same names the
|
|
4
|
+
* call sites imported from matrx-frontend's `lib/redux/store-singleton`,
|
|
5
|
+
* `lib/redux/store` and `appContextSlice`.
|
|
6
|
+
*/
|
|
7
|
+
import type { ThunkDispatch, UnknownAction } from "@reduxjs/toolkit";
|
|
8
|
+
import type { CloudFilesState } from "../types.js";
|
|
9
|
+
import { type FilesStore } from "./configure.js";
|
|
10
|
+
/** The slice of the host's root state the engine reads. */
|
|
11
|
+
export interface RootState {
|
|
12
|
+
cloudFiles: CloudFilesState;
|
|
13
|
+
[slice: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
export type AppDispatch = ThunkDispatch<RootState, unknown, UnknownAction>;
|
|
16
|
+
/** The configured host's store; null before it exists (or before configuration). */
|
|
17
|
+
export declare function getStoreSingleton(): (FilesStore & {
|
|
18
|
+
dispatch: AppDispatch;
|
|
19
|
+
}) | null;
|
|
20
|
+
export declare const getStore: typeof getStoreSingleton;
|
|
21
|
+
export declare const selectOrganizationId: (state: unknown) => string | null;
|
|
22
|
+
export declare const selectProjectId: (state: unknown) => string | null;
|
|
23
|
+
export declare const selectTaskId: (state: unknown) => string | null;
|
|
24
|
+
export declare const selectUserId: (state: unknown) => string | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getFilesHost, isFilesHostConfigured } from "./configure.js";
|
|
2
|
+
function getStoreSingleton() {
|
|
3
|
+
if (!isFilesHostConfigured()) return null;
|
|
4
|
+
return getFilesHost("store").store();
|
|
5
|
+
}
|
|
6
|
+
const getStore = getStoreSingleton;
|
|
7
|
+
function scope(state) {
|
|
8
|
+
const read = getFilesHost("scope").scope;
|
|
9
|
+
return read ? read(state) : { userId: null, organizationId: null, projectId: null, taskId: null };
|
|
10
|
+
}
|
|
11
|
+
const selectOrganizationId = (state) => scope(state).organizationId;
|
|
12
|
+
const selectProjectId = (state) => scope(state).projectId;
|
|
13
|
+
const selectTaskId = (state) => scope(state).taskId;
|
|
14
|
+
const selectUserId = (state) => scope(state).userId ?? null;
|
|
15
|
+
export {
|
|
16
|
+
getStore,
|
|
17
|
+
getStoreSingleton,
|
|
18
|
+
selectOrganizationId,
|
|
19
|
+
selectProjectId,
|
|
20
|
+
selectTaskId,
|
|
21
|
+
selectUserId
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/files/engine/host/store.ts"],"sourcesContent":["/**\n * Store seam — the store the `cloudFiles` reducer is mounted in, and the\n * person's current organization / project / task read from it. Same names the\n * call sites imported from matrx-frontend's `lib/redux/store-singleton`,\n * `lib/redux/store` and `appContextSlice`.\n */\n\nimport type { ThunkDispatch, UnknownAction } from \"@reduxjs/toolkit\";\nimport type { CloudFilesState } from \"../types\";\nimport { getFilesHost, isFilesHostConfigured, type FilesStore } from \"./configure\";\n\n/** The slice of the host's root state the engine reads. */\nexport interface RootState {\n cloudFiles: CloudFilesState;\n [slice: string]: unknown;\n}\n\nexport type AppDispatch = ThunkDispatch<RootState, unknown, UnknownAction>;\n\n/** The configured host's store; null before it exists (or before configuration). */\nexport function getStoreSingleton(): (FilesStore & { dispatch: AppDispatch }) | null {\n if (!isFilesHostConfigured()) return null;\n return getFilesHost(\"store\").store() as (FilesStore & { dispatch: AppDispatch }) | null;\n}\n\nexport const getStore = getStoreSingleton;\n\nfunction scope(state: unknown) {\n const read = getFilesHost(\"scope\").scope;\n return read ? read(state) : { userId: null, organizationId: null, projectId: null, taskId: null };\n}\n\nexport const selectOrganizationId = (state: unknown): string | null => scope(state).organizationId;\nexport const selectProjectId = (state: unknown): string | null => scope(state).projectId;\nexport const selectTaskId = (state: unknown): string | null => scope(state).taskId;\nexport const selectUserId = (state: unknown): string | null => scope(state).userId ?? null;\n"],"mappings":"AASA,SAAS,cAAc,6BAA8C;AAW9D,SAAS,oBAAqE;AACnF,MAAI,CAAC,sBAAsB,EAAG,QAAO;AACrC,SAAO,aAAa,OAAO,EAAE,MAAM;AACrC;AAEO,MAAM,WAAW;AAExB,SAAS,MAAM,OAAgB;AAC7B,QAAM,OAAO,aAAa,OAAO,EAAE;AACnC,SAAO,OAAO,KAAK,KAAK,IAAI,EAAE,QAAQ,MAAM,gBAAgB,MAAM,WAAW,MAAM,QAAQ,KAAK;AAClG;AAEO,MAAM,uBAAuB,CAAC,UAAkC,MAAM,KAAK,EAAE;AAC7E,MAAM,kBAAkB,CAAC,UAAkC,MAAM,KAAK,EAAE;AACxE,MAAM,eAAe,CAAC,UAAkC,MAAM,KAAK,EAAE;AACrE,MAAM,eAAe,CAAC,UAAkC,MAAM,KAAK,EAAE,UAAU;","names":[]}
|