@calmlens/sdk 0.0.0-stage → 0.5.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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,149 @@
1
+ import { A as GetEventsResponse, D as GetAssetChildrenResponse, F as Folder, N as AssetBinaryPayloadInput, O as GetAssetResponse, P as Lens, S as SubmitAssetOptions, T as UploadAssetPartOptions, U as Asset, W as AssetStatus, a as CreateAssetSignedUrlOptions, b as RetrieveAssetOptions, c as EnsureLensOptions, d as ListAssetChildrenOptions, f as ListAssetsOptions, g as MoveFolderOptions, h as MoveAssetOptions, i as CdnServeOptions, j as PostAssetSignedUrlResponse, k as GetAssetsPageResponse, l as EnsureLensesOptions, m as ModerateTextOptions, n as CalmLensClientOptions, o as CreateFolderOptions, p as ListEventsOptions, r as CdnAssetUrlOptions, u as FolderIdOptions, w as UpdateFolderOptions, x as RetryAssetOptions } from "./CalmLensTypes-DG_kHVqY.js";
2
+ import * as zod from "zod";
3
+ //#region ../shared/src/Permissions.d.ts
4
+ declare const GRANT_SCHEMA: zod.ZodObject<{
5
+ actions: zod.ZodArray<zod.ZodEnum<{
6
+ "assets:create": "assets:create";
7
+ "assets:delete": "assets:delete";
8
+ "assets:download": "assets:download";
9
+ "assets:read": "assets:read";
10
+ "assets:share": "assets:share";
11
+ "assets:update": "assets:update";
12
+ "folders:create": "folders:create";
13
+ "folders:delete": "folders:delete";
14
+ "folders:read": "folders:read";
15
+ "folders:update": "folders:update";
16
+ "project:manage": "project:manage";
17
+ }>>;
18
+ folderId: zod.ZodNullable<zod.ZodString>;
19
+ includeSubfolders: zod.ZodBoolean;
20
+ }, zod.core.$strict>;
21
+ type PermissionGrant = zod.infer<typeof GRANT_SCHEMA>;
22
+ //#endregion
23
+ //#region src/testing/MockApiKey.d.ts
24
+ export declare const MOCK_API_KEY_PREFIX = "sk_test_";
25
+ export declare const createMockApiKey: (grants?: PermissionGrant[]) => string;
26
+ //#endregion
27
+ //#region src/testing/MockStorage.d.ts
28
+ interface MockStoredContent {
29
+ assetId: string;
30
+ parts: Map<number, Uint8Array>;
31
+ type?: string;
32
+ }
33
+ interface MockImageStorage {
34
+ putContent(assetId: string, content: AssetBinaryPayloadInput & {
35
+ type: string;
36
+ }): Promise<void>;
37
+ putPart(assetId: string, part: AssetBinaryPayloadInput & {
38
+ type?: string;
39
+ partNumber?: number;
40
+ isFinal?: boolean;
41
+ }): Promise<void>;
42
+ getContent(assetId: string): Promise<MockStoredContent | undefined>;
43
+ deleteContent(assetId: string): Promise<void>;
44
+ }
45
+ export declare class InMemoryMockImageStorage implements MockImageStorage {
46
+ private readonly content;
47
+ putContent(assetId: string, content: AssetBinaryPayloadInput & {
48
+ type: string;
49
+ }): Promise<void>;
50
+ putPart(assetId: string, part: AssetBinaryPayloadInput & {
51
+ type?: string;
52
+ partNumber?: number;
53
+ isFinal?: boolean;
54
+ }): Promise<void>;
55
+ getContent(assetId: string): Promise<MockStoredContent | undefined>;
56
+ deleteContent(assetId: string): Promise<void>;
57
+ }
58
+ interface MockDatabaseStorage {
59
+ createAsset(asset: Asset): Promise<Asset>;
60
+ updateAsset(asset: Asset): Promise<Asset>;
61
+ getAsset(assetId: string): Promise<Asset | undefined>;
62
+ listAssets(projectId: string): Promise<Asset[]>;
63
+ deleteAsset(assetId: string): Promise<void>;
64
+ createFolder?(folder: Folder): Promise<Folder>;
65
+ updateFolder?(folder: Folder): Promise<Folder>;
66
+ getFolder?(folderId: string): Promise<Folder | undefined>;
67
+ listFolders?(projectId: string): Promise<Folder[]>;
68
+ deleteFolder?(folderId: string): Promise<void>;
69
+ }
70
+ export declare class InMemoryMockDatabaseStorage implements MockDatabaseStorage {
71
+ private readonly assets;
72
+ private readonly folders;
73
+ createAsset(asset: Asset): Promise<Asset>;
74
+ updateAsset(asset: Asset): Promise<Asset>;
75
+ getAsset(assetId: string): Promise<Asset | undefined>;
76
+ listAssets(projectId: string): Promise<Asset[]>;
77
+ deleteAsset(assetId: string): Promise<void>;
78
+ createFolder(folder: Folder): Promise<Folder>;
79
+ updateFolder(folder: Folder): Promise<Folder>;
80
+ getFolder(folderId: string): Promise<Folder | undefined>;
81
+ listFolders(projectId: string): Promise<Folder[]>;
82
+ deleteFolder(folderId: string): Promise<void>;
83
+ }
84
+ //#endregion
85
+ //#region src/testing/MockCalmLensClient.d.ts
86
+ interface MockCalmLensClientOptions extends CalmLensClientOptions {
87
+ mockOptions?: {
88
+ databaseStorage?: MockDatabaseStorage;
89
+ imageStorage?: MockImageStorage;
90
+ createId?: () => string;
91
+ now?: () => number;
92
+ queuedStatus?: AssetStatus;
93
+ analyzedStatus?: AssetStatus;
94
+ signedUrlBaseUrl?: string;
95
+ cdnBaseUrl?: string;
96
+ };
97
+ }
98
+ export declare class MockCalmLensClient {
99
+ private readonly options;
100
+ readonly databaseStorage: MockDatabaseStorage;
101
+ readonly imageStorage: MockImageStorage;
102
+ private readonly createId;
103
+ private readonly now;
104
+ private readonly queuedStatus;
105
+ private readonly analyzedStatus;
106
+ private readonly apiKeyGrants;
107
+ private readonly signedUrlBaseUrl;
108
+ private readonly cdnBaseUrl;
109
+ private readonly lenses;
110
+ constructor(options: MockCalmLensClientOptions);
111
+ get cdn(): {
112
+ getAssetUrl: ({ assetIdentifier, ...options }: CdnAssetUrlOptions) => string;
113
+ serve: ({ assetIdentifier, ...options }: CdnServeOptions) => Promise<Response>;
114
+ };
115
+ get events(): {
116
+ /** The mock does not record events; it always returns an empty page at "now". */
117
+ list: (options?: ListEventsOptions) => Promise<GetEventsResponse>;
118
+ };
119
+ get text(): {
120
+ moderate: (options: ModerateTextOptions) => Promise<Asset>;
121
+ };
122
+ get assets(): {
123
+ list: (options: ListAssetsOptions) => Promise<GetAssetsPageResponse>;
124
+ retrieve: ({ assetId }: RetrieveAssetOptions) => Promise<GetAssetResponse>;
125
+ listChildren: ({ assetId, ...options }: ListAssetChildrenOptions) => Promise<GetAssetChildrenResponse>;
126
+ create: (options: SubmitAssetOptions) => Promise<Asset>;
127
+ moderate: (options: SubmitAssetOptions) => Promise<Asset>;
128
+ uploadPart: ({ assetId, part }: UploadAssetPartOptions) => Promise<Asset>;
129
+ createSignedUrl: ({ assetId, ...options }: CreateAssetSignedUrlOptions) => Promise<PostAssetSignedUrlResponse>;
130
+ move: ({ assetId, folderId }: MoveAssetOptions) => Promise<Asset>;
131
+ retry: ({ assetId }: RetryAssetOptions) => Promise<Asset>;
132
+ };
133
+ get folders(): {
134
+ list: () => Promise<Folder[]>;
135
+ retrieve: ({ folderId }: FolderIdOptions) => Promise<Folder>;
136
+ create: (options: CreateFolderOptions) => Promise<Folder>;
137
+ update: ({ folderId, ...body }: UpdateFolderOptions) => Promise<Folder>;
138
+ delete: ({ folderId }: FolderIdOptions) => Promise<void>;
139
+ move: ({ folderId, parentId }: MoveFolderOptions) => Promise<Folder>;
140
+ };
141
+ ensureLens(options: EnsureLensOptions): Promise<Lens>;
142
+ ensureLenses({ lenses }: EnsureLensesOptions): Promise<Lens[]>;
143
+ private createAsset;
144
+ private resolveFolder;
145
+ private assertUniqueFolderName;
146
+ private getSizeInBytes;
147
+ }
148
+ //#endregion
149
+ export type { MockCalmLensClientOptions, MockDatabaseStorage, MockImageStorage, MockStoredContent };