@calmlens/sdk 0.5.0 → 0.7.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/esm/testing.d.ts CHANGED
@@ -1,19 +1,31 @@
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";
1
+ import { A as GetEventsResponse, C as UpdateAssetOptions, D as GetAssetChildrenResponse, F as Folder, G as AssetStatus, N as AssetBinaryPayloadInput, O as GetAssetResponse, P as Lens, S as SubmitAssetOptions, T as UploadAssetPartOptions, W as Asset, 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-BpmT60j-.js";
2
2
  import * as zod from "zod";
3
3
  //#region ../shared/src/Permissions.d.ts
4
4
  declare const GRANT_SCHEMA: zod.ZodObject<{
5
5
  actions: zod.ZodArray<zod.ZodEnum<{
6
+ "api-keys:read": "api-keys:read";
7
+ "api-keys:write": "api-keys:write";
6
8
  "assets:create": "assets:create";
7
9
  "assets:delete": "assets:delete";
8
10
  "assets:download": "assets:download";
9
11
  "assets:read": "assets:read";
10
12
  "assets:share": "assets:share";
11
13
  "assets:update": "assets:update";
14
+ "connectors:read": "connectors:read";
15
+ "connectors:write": "connectors:write";
12
16
  "folders:create": "folders:create";
13
17
  "folders:delete": "folders:delete";
14
18
  "folders:read": "folders:read";
15
19
  "folders:update": "folders:update";
20
+ "lenses:read": "lenses:read";
21
+ "lenses:write": "lenses:write";
22
+ "members:read": "members:read";
23
+ "members:write": "members:write";
24
+ "metadata:read": "metadata:read";
25
+ "metadata:write": "metadata:write";
16
26
  "project:manage": "project:manage";
27
+ "settings:read": "settings:read";
28
+ "settings:write": "settings:write";
17
29
  }>>;
18
30
  folderId: zod.ZodNullable<zod.ZodString>;
19
31
  includeSubfolders: zod.ZodBoolean;
@@ -92,9 +104,21 @@ interface MockCalmLensClientOptions extends CalmLensClientOptions {
92
104
  queuedStatus?: AssetStatus;
93
105
  analyzedStatus?: AssetStatus;
94
106
  signedUrlBaseUrl?: string;
95
- cdnBaseUrl?: string;
96
107
  };
97
108
  }
109
+ /** A `MockCalmLensClient` method, named like its path on the client. */
110
+ type MockCalmLensOperation = "assets.list" | "assets.retrieve" | "assets.update" | "assets.listChildren" | "assets.create" | "assets.moderate" | "assets.uploadPart" | "assets.createSignedUrl" | "assets.move" | "assets.retry" | "text.moderate" | "cdn.serve" | "events.list" | "folders.list" | "folders.retrieve" | "folders.create" | "folders.update" | "folders.delete" | "folders.move" | "ensureLens" | "ensureLenses";
111
+ /** One recorded call: the method and the options object it was given, exactly as passed. */
112
+ interface MockCalmLensCall {
113
+ operation: MockCalmLensOperation;
114
+ options: unknown;
115
+ }
116
+ /**
117
+ * What a simulated request failure throws: `"transport-error"` and `"timeout"` throw the same
118
+ * `CalmLensError` the real client throws for a network failure (`sdk/transport-error`) or a
119
+ * deadline (`sdk/timeout`); any `Error` is thrown as given.
120
+ */
121
+ type MockRequestFailure = "transport-error" | "timeout" | Error;
98
122
  export declare class MockCalmLensClient {
99
123
  private readonly options;
100
124
  readonly databaseStorage: MockDatabaseStorage;
@@ -107,10 +131,24 @@ export declare class MockCalmLensClient {
107
131
  private readonly signedUrlBaseUrl;
108
132
  private readonly cdnBaseUrl;
109
133
  private readonly lenses;
134
+ private readonly pendingFailures;
135
+ /** Every call made through this client, oldest first. */
136
+ readonly calls: MockCalmLensCall[];
137
+ /** Accepts the same options as `CalmLensClient` (validated the same way), plus `mockOptions`. */
110
138
  constructor(options: MockCalmLensClientOptions);
139
+ /**
140
+ * Makes the next call (or the next call to `operation`) throw `failure` instead of running,
141
+ * as if the request never completed. Queue several to fail several calls in a row.
142
+ */
143
+ failNextRequest(failure?: MockRequestFailure, { operation }?: {
144
+ operation?: MockCalmLensOperation;
145
+ }): void;
146
+ /** Calls recorded for one operation, oldest first. */
147
+ callsTo(operation: MockCalmLensOperation): MockCalmLensCall[];
148
+ private begin;
111
149
  get cdn(): {
112
150
  getAssetUrl: ({ assetIdentifier, ...options }: CdnAssetUrlOptions) => string;
113
- serve: ({ assetIdentifier, ...options }: CdnServeOptions) => Promise<Response>;
151
+ serve: (serveOptions: CdnServeOptions) => Promise<Response>;
114
152
  };
115
153
  get events(): {
116
154
  /** The mock does not record events; it always returns an empty page at "now". */
@@ -121,29 +159,32 @@ export declare class MockCalmLensClient {
121
159
  };
122
160
  get assets(): {
123
161
  list: (options: ListAssetsOptions) => Promise<GetAssetsPageResponse>;
124
- retrieve: ({ assetId }: RetrieveAssetOptions) => Promise<GetAssetResponse>;
125
- listChildren: ({ assetId, ...options }: ListAssetChildrenOptions) => Promise<GetAssetChildrenResponse>;
162
+ retrieve: (options: RetrieveAssetOptions) => Promise<GetAssetResponse>;
163
+ listChildren: (childrenOptions: ListAssetChildrenOptions) => Promise<GetAssetChildrenResponse>;
164
+ update: (options: UpdateAssetOptions) => Promise<Asset>;
126
165
  create: (options: SubmitAssetOptions) => Promise<Asset>;
127
166
  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>;
167
+ uploadPart: (options: UploadAssetPartOptions) => Promise<Asset>;
168
+ createSignedUrl: (signedUrlOptions: CreateAssetSignedUrlOptions) => Promise<PostAssetSignedUrlResponse>;
169
+ move: (options: MoveAssetOptions) => Promise<Asset>;
170
+ retry: (options: RetryAssetOptions) => Promise<Asset>;
132
171
  };
133
172
  get folders(): {
134
173
  list: () => Promise<Folder[]>;
135
- retrieve: ({ folderId }: FolderIdOptions) => Promise<Folder>;
174
+ retrieve: (options: FolderIdOptions) => Promise<Folder>;
136
175
  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>;
176
+ update: (options: UpdateFolderOptions) => Promise<Folder>;
177
+ delete: (options: FolderIdOptions) => Promise<void>;
178
+ move: (options: MoveFolderOptions) => Promise<Folder>;
140
179
  };
141
180
  ensureLens(options: EnsureLensOptions): Promise<Lens>;
142
- ensureLenses({ lenses }: EnsureLensesOptions): Promise<Lens[]>;
181
+ private ensureLensDefinition;
182
+ ensureLenses(options: EnsureLensesOptions): Promise<Lens[]>;
183
+ private moderateAsset;
143
184
  private createAsset;
144
185
  private resolveFolder;
145
186
  private assertUniqueFolderName;
146
187
  private getSizeInBytes;
147
188
  }
148
189
  //#endregion
149
- export type { MockCalmLensClientOptions, MockDatabaseStorage, MockImageStorage, MockStoredContent };
190
+ export type { MockCalmLensCall, MockCalmLensClientOptions, MockCalmLensOperation, MockDatabaseStorage, MockImageStorage, MockRequestFailure, MockStoredContent };