@rippling/rippling-sdk 0.2.0-alpha.85 → 0.2.0-alpha.86

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.
Files changed (140) hide show
  1. package/core/platform/custom-objects/category.d.mts +125 -0
  2. package/core/platform/custom-objects/category.d.mts.map +1 -0
  3. package/core/platform/custom-objects/category.d.ts +125 -0
  4. package/core/platform/custom-objects/category.d.ts.map +1 -0
  5. package/core/platform/custom-objects/category.js +188 -0
  6. package/core/platform/custom-objects/category.js.map +1 -0
  7. package/core/platform/custom-objects/category.mjs +178 -0
  8. package/core/platform/custom-objects/category.mjs.map +1 -0
  9. package/core/platform/custom-objects/definition.d.mts +147 -0
  10. package/core/platform/custom-objects/definition.d.mts.map +1 -0
  11. package/core/platform/custom-objects/definition.d.ts +147 -0
  12. package/core/platform/custom-objects/definition.d.ts.map +1 -0
  13. package/core/platform/custom-objects/definition.js +200 -0
  14. package/core/platform/custom-objects/definition.js.map +1 -0
  15. package/core/platform/custom-objects/definition.mjs +190 -0
  16. package/core/platform/custom-objects/definition.mjs.map +1 -0
  17. package/core/platform/custom-objects/fields.d.mts +302 -0
  18. package/core/platform/custom-objects/fields.d.mts.map +1 -0
  19. package/core/platform/custom-objects/fields.d.ts +302 -0
  20. package/core/platform/custom-objects/fields.d.ts.map +1 -0
  21. package/core/platform/custom-objects/fields.js +369 -0
  22. package/core/platform/custom-objects/fields.js.map +1 -0
  23. package/core/platform/custom-objects/fields.mjs +347 -0
  24. package/core/platform/custom-objects/fields.mjs.map +1 -0
  25. package/core/platform/custom-objects/function-runtime.d.mts +42 -0
  26. package/core/platform/custom-objects/function-runtime.d.mts.map +1 -0
  27. package/core/platform/custom-objects/function-runtime.d.ts +42 -0
  28. package/core/platform/custom-objects/function-runtime.d.ts.map +1 -0
  29. package/core/platform/custom-objects/function-runtime.js +38 -0
  30. package/core/platform/custom-objects/function-runtime.js.map +1 -0
  31. package/core/platform/custom-objects/function-runtime.mjs +35 -0
  32. package/core/platform/custom-objects/function-runtime.mjs.map +1 -0
  33. package/core/platform/custom-objects/lifecycle.d.mts +83 -0
  34. package/core/platform/custom-objects/lifecycle.d.mts.map +1 -0
  35. package/core/platform/custom-objects/lifecycle.d.ts +83 -0
  36. package/core/platform/custom-objects/lifecycle.d.ts.map +1 -0
  37. package/core/platform/custom-objects/lifecycle.js +372 -0
  38. package/core/platform/custom-objects/lifecycle.js.map +1 -0
  39. package/core/platform/custom-objects/lifecycle.mjs +367 -0
  40. package/core/platform/custom-objects/lifecycle.mjs.map +1 -0
  41. package/core/platform/custom-objects/manager.d.mts +354 -0
  42. package/core/platform/custom-objects/manager.d.mts.map +1 -0
  43. package/core/platform/custom-objects/manager.d.ts +354 -0
  44. package/core/platform/custom-objects/manager.d.ts.map +1 -0
  45. package/core/platform/custom-objects/manager.js +646 -0
  46. package/core/platform/custom-objects/manager.js.map +1 -0
  47. package/core/platform/custom-objects/manager.mjs +637 -0
  48. package/core/platform/custom-objects/manager.mjs.map +1 -0
  49. package/core/platform/custom-objects/provisioning.d.mts +138 -0
  50. package/core/platform/custom-objects/provisioning.d.mts.map +1 -0
  51. package/core/platform/custom-objects/provisioning.d.ts +138 -0
  52. package/core/platform/custom-objects/provisioning.d.ts.map +1 -0
  53. package/core/platform/custom-objects/provisioning.js +455 -0
  54. package/core/platform/custom-objects/provisioning.js.map +1 -0
  55. package/core/platform/custom-objects/provisioning.mjs +447 -0
  56. package/core/platform/custom-objects/provisioning.mjs.map +1 -0
  57. package/core/platform/custom-objects/rql.d.mts +122 -0
  58. package/core/platform/custom-objects/rql.d.mts.map +1 -0
  59. package/core/platform/custom-objects/rql.d.ts +122 -0
  60. package/core/platform/custom-objects/rql.d.ts.map +1 -0
  61. package/core/platform/custom-objects/rql.js +225 -0
  62. package/core/platform/custom-objects/rql.js.map +1 -0
  63. package/core/platform/custom-objects/rql.mjs +222 -0
  64. package/core/platform/custom-objects/rql.mjs.map +1 -0
  65. package/core/platform/custom-objects/schema-manager.d.mts +203 -0
  66. package/core/platform/custom-objects/schema-manager.d.mts.map +1 -0
  67. package/core/platform/custom-objects/schema-manager.d.ts +203 -0
  68. package/core/platform/custom-objects/schema-manager.d.ts.map +1 -0
  69. package/core/platform/custom-objects/schema-manager.js +256 -0
  70. package/core/platform/custom-objects/schema-manager.js.map +1 -0
  71. package/core/platform/custom-objects/schema-manager.mjs +249 -0
  72. package/core/platform/custom-objects/schema-manager.mjs.map +1 -0
  73. package/core/platform/custom-objects/typed-rql.d.mts +157 -0
  74. package/core/platform/custom-objects/typed-rql.d.mts.map +1 -0
  75. package/core/platform/custom-objects/typed-rql.d.ts +157 -0
  76. package/core/platform/custom-objects/typed-rql.d.ts.map +1 -0
  77. package/core/platform/custom-objects/typed-rql.js +583 -0
  78. package/core/platform/custom-objects/typed-rql.js.map +1 -0
  79. package/core/platform/custom-objects/typed-rql.mjs +580 -0
  80. package/core/platform/custom-objects/typed-rql.mjs.map +1 -0
  81. package/core/platform/custom-objects/types.d.mts +549 -0
  82. package/core/platform/custom-objects/types.d.mts.map +1 -0
  83. package/core/platform/custom-objects/types.d.ts +549 -0
  84. package/core/platform/custom-objects/types.d.ts.map +1 -0
  85. package/core/platform/custom-objects/types.js +20 -0
  86. package/core/platform/custom-objects/types.js.map +1 -0
  87. package/core/platform/custom-objects/types.mjs +17 -0
  88. package/core/platform/custom-objects/types.mjs.map +1 -0
  89. package/core/platform/custom-objects/validation.d.mts +97 -0
  90. package/core/platform/custom-objects/validation.d.mts.map +1 -0
  91. package/core/platform/custom-objects/validation.d.ts +97 -0
  92. package/core/platform/custom-objects/validation.d.ts.map +1 -0
  93. package/core/platform/custom-objects/validation.js +477 -0
  94. package/core/platform/custom-objects/validation.js.map +1 -0
  95. package/core/platform/custom-objects/validation.mjs +465 -0
  96. package/core/platform/custom-objects/validation.mjs.map +1 -0
  97. package/core/platform/custom-objects.d.mts +67 -0
  98. package/core/platform/custom-objects.d.mts.map +1 -0
  99. package/core/platform/custom-objects.d.ts +67 -0
  100. package/core/platform/custom-objects.d.ts.map +1 -0
  101. package/core/platform/custom-objects.js +118 -0
  102. package/core/platform/custom-objects.js.map +1 -0
  103. package/core/platform/custom-objects.mjs +45 -0
  104. package/core/platform/custom-objects.mjs.map +1 -0
  105. package/package.json +1 -1
  106. package/resources/custom-objects/custom-objects.d.mts +7 -0
  107. package/resources/custom-objects/custom-objects.d.mts.map +1 -1
  108. package/resources/custom-objects/custom-objects.d.ts +7 -0
  109. package/resources/custom-objects/custom-objects.d.ts.map +1 -1
  110. package/resources/custom-objects/custom-objects.js.map +1 -1
  111. package/resources/custom-objects/custom-objects.mjs.map +1 -1
  112. package/resources/custom-objects/fields.d.mts +129 -54
  113. package/resources/custom-objects/fields.d.mts.map +1 -1
  114. package/resources/custom-objects/fields.d.ts +129 -54
  115. package/resources/custom-objects/fields.d.ts.map +1 -1
  116. package/resources/levels.d.mts +25 -4
  117. package/resources/levels.d.mts.map +1 -1
  118. package/resources/levels.d.ts +25 -4
  119. package/resources/levels.d.ts.map +1 -1
  120. package/src/core/platform/custom-objects/category.ts +294 -0
  121. package/src/core/platform/custom-objects/definition.ts +373 -0
  122. package/src/core/platform/custom-objects/fields.ts +653 -0
  123. package/src/core/platform/custom-objects/function-runtime.ts +76 -0
  124. package/src/core/platform/custom-objects/lifecycle.ts +557 -0
  125. package/src/core/platform/custom-objects/manager.ts +959 -0
  126. package/src/core/platform/custom-objects/provisioning.ts +672 -0
  127. package/src/core/platform/custom-objects/rql.ts +375 -0
  128. package/src/core/platform/custom-objects/schema-manager.ts +351 -0
  129. package/src/core/platform/custom-objects/typed-rql.ts +1273 -0
  130. package/src/core/platform/custom-objects/types.ts +753 -0
  131. package/src/core/platform/custom-objects/validation.ts +573 -0
  132. package/src/core/platform/custom-objects.ts +269 -0
  133. package/src/resources/custom-objects/custom-objects.ts +8 -0
  134. package/src/resources/custom-objects/fields.ts +192 -59
  135. package/src/resources/levels.ts +28 -4
  136. package/src/version.ts +1 -1
  137. package/version.d.mts +1 -1
  138. package/version.d.ts +1 -1
  139. package/version.js +1 -1
  140. package/version.mjs +1 -1
@@ -0,0 +1,354 @@
1
+ import type { CustomObjectDataRow, RecordBulkCreateResponse, RecordBulkUpdateResponse, RecordCreateResponse, RecordQueryParams, RecordQueryResponse, RecordUpdateResponse } from "../../../resources/custom-objects/records.mjs";
2
+ import { type ValidationIssue } from "./validation.mjs";
3
+ import type { AnyCustomObjectDefinition, CreateInput, RecordShape, UpdateInput } from "./types.mjs";
4
+ /**
5
+ * Minimal records-resource surface consumed by {@link CustomObjectManager}.
6
+ *
7
+ * This is intentionally narrower than the full SDK client. Callers can pass the
8
+ * real `client.customObjects.records` resource or a lightweight test double
9
+ * exposing the same methods.
10
+ */
11
+ export interface CustomObjectRecordsClient {
12
+ create(customObjectApiName: string, body: Record<string, unknown>): Promise<RecordCreateResponse>;
13
+ retrieve(customObjectApiName: string, recordId: string): Promise<CustomObjectDataRow>;
14
+ retrieveByExternalID(customObjectApiName: string, externalID: string): Promise<CustomObjectDataRow>;
15
+ update(customObjectApiName: string, recordId: string, body: Record<string, unknown>): Promise<RecordUpdateResponse>;
16
+ delete(customObjectApiName: string, recordId: string): Promise<void>;
17
+ query(customObjectApiName: string, params: RecordQueryParams): Promise<RecordQueryResponse>;
18
+ bulkCreate(customObjectApiName: string, body: {
19
+ all_or_nothing?: boolean;
20
+ rows_to_write: Array<{
21
+ [key: string]: unknown;
22
+ }>;
23
+ }): Promise<RecordBulkCreateResponse>;
24
+ bulkUpdate(customObjectApiName: string, body: {
25
+ all_or_nothing?: boolean;
26
+ rows_to_update: Array<{
27
+ [key: string]: unknown;
28
+ }>;
29
+ }): Promise<RecordBulkUpdateResponse>;
30
+ bulkDelete(customObjectApiName: string, body: {
31
+ all_or_nothing?: boolean;
32
+ rows_to_delete: string[];
33
+ }): Promise<void>;
34
+ }
35
+ /** Minimal SDK-shaped wrapper accepted by {@link CustomObjectManager.fromSDK}. */
36
+ interface CustomObjectManagerSDKLike {
37
+ readonly customObjects: {
38
+ readonly records: CustomObjectRecordsClient;
39
+ };
40
+ }
41
+ /** Response shape returned by low-level record queries. */
42
+ export interface CustomObjectRecordQueryResponse {
43
+ /** Opaque pagination cursor returned by the backend, if any. */
44
+ readonly cursor: string | null;
45
+ /** Raw backend rows returned for the query. */
46
+ readonly results: readonly CustomObjectDataRow[];
47
+ }
48
+ /** Adapter request for batch creates. */
49
+ export interface CustomObjectRecordBulkCreateRequest {
50
+ /** Whether the backend should reject the entire batch if any row fails. */
51
+ readonly allOrNothing?: boolean;
52
+ /** Wire-level rows to create. */
53
+ readonly rowsToWrite: readonly Record<string, unknown>[];
54
+ }
55
+ /** Adapter request for batch updates. */
56
+ export interface CustomObjectRecordBulkUpdateRequest {
57
+ /** Whether the backend should reject the entire batch if any row fails. */
58
+ readonly allOrNothing?: boolean;
59
+ /** Wire-level rows to update, including each record id. */
60
+ readonly rowsToUpdate: readonly Record<string, unknown>[];
61
+ }
62
+ /** Adapter request for batch deletes. */
63
+ export interface CustomObjectRecordBulkDeleteRequest {
64
+ /** Whether the backend should reject the entire batch if any row fails. */
65
+ readonly allOrNothing?: boolean;
66
+ /** Record ids to delete. */
67
+ readonly rowsToDelete: readonly string[];
68
+ }
69
+ /**
70
+ * Small transport boundary used by the typed manager.
71
+ *
72
+ * Production code can use {@link createCustomObjectRecordAdapter}. Unit tests
73
+ * can provide an in-memory or hand-rolled adapter without depending on a real
74
+ * backend client.
75
+ */
76
+ export interface CustomObjectRecordAdapter {
77
+ /** Creates one wire-level record. */
78
+ create(customObjectApiName: string, body: Record<string, unknown>): Promise<CustomObjectDataRow>;
79
+ /** Retrieves one wire-level record by id. */
80
+ retrieve(customObjectApiName: string, recordId: string): Promise<CustomObjectDataRow>;
81
+ /** Retrieves one wire-level record by external id. */
82
+ retrieveByExternalID(customObjectApiName: string, externalID: string): Promise<CustomObjectDataRow>;
83
+ /** Updates one wire-level record. */
84
+ update(customObjectApiName: string, recordId: string, body: Record<string, unknown>): Promise<CustomObjectDataRow>;
85
+ /** Deletes one wire-level record. */
86
+ delete(customObjectApiName: string, recordId: string): Promise<void>;
87
+ /** Runs a backend query and returns raw rows. */
88
+ query(customObjectApiName: string, params: RecordQueryParams): Promise<CustomObjectRecordQueryResponse>;
89
+ /** Creates many wire-level rows. */
90
+ bulkCreate(customObjectApiName: string, request: CustomObjectRecordBulkCreateRequest): Promise<readonly CustomObjectDataRow[]>;
91
+ /** Updates many wire-level rows. */
92
+ bulkUpdate(customObjectApiName: string, request: CustomObjectRecordBulkUpdateRequest): Promise<readonly CustomObjectDataRow[]>;
93
+ /** Deletes many wire-level rows. */
94
+ bulkDelete(customObjectApiName: string, request: CustomObjectRecordBulkDeleteRequest): Promise<void>;
95
+ }
96
+ /** Constructor options for {@link CustomObjectManager}. */
97
+ export interface CustomObjectManagerOptions {
98
+ /** Records resource to use for transport. */
99
+ readonly records?: CustomObjectRecordsClient;
100
+ /** Custom adapter implementation for tests or non-SDK backends. */
101
+ readonly adapter?: CustomObjectRecordAdapter;
102
+ }
103
+ /** Lightweight pagination options shared by list and query helpers. */
104
+ export interface TypedRecordPageOptions {
105
+ /** Opaque pagination cursor returned by a prior call. */
106
+ readonly cursor?: string;
107
+ /** Maximum number of records to return. */
108
+ readonly limit?: number;
109
+ }
110
+ /** Raw-query options for typed record queries. */
111
+ export interface TypedRecordQueryOptions extends TypedRecordPageOptions {
112
+ /** RQL string to execute against the underlying backend. */
113
+ readonly query?: string;
114
+ }
115
+ /** Pagination result returned by typed list/query helpers. */
116
+ export interface TypedRecordPage<TDefinition extends AnyCustomObjectDefinition> {
117
+ /** Opaque backend cursor, if another page is available. */
118
+ readonly cursor: string | null;
119
+ /** Strongly typed logical-key records. */
120
+ readonly results: readonly RecordShape<TDefinition>[];
121
+ }
122
+ /** Batch-write flags shared by bulk create/update/delete helpers. */
123
+ export interface TypedBatchWriteOptions {
124
+ /** Whether the backend should reject the entire batch if any row fails. */
125
+ readonly allOrNothing?: boolean;
126
+ }
127
+ /**
128
+ * One logical update item for {@link TypedCustomObjectRecordManager.updateMany}.
129
+ *
130
+ * @typeParam TDefinition - Object definition whose update payload should be enforced.
131
+ */
132
+ export type TypedBulkUpdateInput<TDefinition extends AnyCustomObjectDefinition> = {
133
+ readonly id: string;
134
+ } & UpdateInput<TDefinition>;
135
+ /**
136
+ * Structured validation failure thrown by typed record managers.
137
+ *
138
+ * @typeParam TDefinition - Object definition whose payload validation failed.
139
+ */
140
+ export declare class CustomObjectRecordValidationError<TDefinition extends AnyCustomObjectDefinition = AnyCustomObjectDefinition> extends Error {
141
+ /** Definition whose payload validation failed. */
142
+ readonly definition: TDefinition;
143
+ /** Operation that was being attempted. */
144
+ readonly operation: 'create' | 'update' | 'bulk-create' | 'bulk-update';
145
+ /** Field-level validation issues returned by the schema validators. */
146
+ readonly issues: readonly ValidationIssue[];
147
+ /**
148
+ * Builds a validation error for a typed record operation.
149
+ *
150
+ * @typeParam TDefinition - Object definition whose payload validation failed.
151
+ */
152
+ constructor(definition: TDefinition, operation: 'create' | 'update' | 'bulk-create' | 'bulk-update', issues: readonly ValidationIssue[]);
153
+ }
154
+ /** Options for creating an in-memory adapter. */
155
+ export interface InMemoryCustomObjectRecordAdapterOptions {
156
+ /** Optional starting rows keyed by custom-object api name. */
157
+ readonly seedRowsByObjectApiName?: Readonly<Record<string, readonly CustomObjectDataRow[]>>;
158
+ /** Optional deterministic clock used for tests. */
159
+ readonly now?: () => string;
160
+ /** Optional deterministic id generator used for tests. */
161
+ readonly nextID?: (customObjectApiName: string) => string;
162
+ /**
163
+ * Optional raw-query evaluator.
164
+ *
165
+ * If omitted, the in-memory adapter supports pagination-only list/query calls
166
+ * and rejects query strings that would require actual RQL evaluation.
167
+ */
168
+ readonly queryEvaluator?: (args: {
169
+ customObjectApiName: string;
170
+ query: string;
171
+ row: CustomObjectDataRow;
172
+ }) => boolean;
173
+ }
174
+ /**
175
+ * Records-resource adapter implementation for typed record managers.
176
+ *
177
+ * @param records - Low-level records resource to adapt into the manager-friendly transport boundary.
178
+ * @returns Adapter implementation backed by the supplied records resource.
179
+ */
180
+ export declare function createCustomObjectRecordAdapter(records: CustomObjectRecordsClient): CustomObjectRecordAdapter;
181
+ /**
182
+ * In-memory adapter useful for unit tests and local flows that should not depend
183
+ * on a real SDK transport.
184
+ */
185
+ export declare class InMemoryCustomObjectRecordAdapter implements CustomObjectRecordAdapter {
186
+ private readonly rowsByObjectApiName;
187
+ private readonly now;
188
+ private readonly nextID;
189
+ private readonly queryEvaluator?;
190
+ private sequence;
191
+ /** Builds a new in-memory adapter. */
192
+ constructor(options?: InMemoryCustomObjectRecordAdapterOptions);
193
+ private rowMap;
194
+ private requiredRow;
195
+ private paginate;
196
+ create(customObjectApiName: string, body: Record<string, unknown>): Promise<CustomObjectDataRow>;
197
+ retrieve(customObjectApiName: string, recordId: string): Promise<CustomObjectDataRow>;
198
+ retrieveByExternalID(customObjectApiName: string, externalID: string): Promise<CustomObjectDataRow>;
199
+ update(customObjectApiName: string, recordId: string, body: Record<string, unknown>): Promise<CustomObjectDataRow>;
200
+ delete(customObjectApiName: string, recordId: string): Promise<void>;
201
+ query(customObjectApiName: string, params: RecordQueryParams): Promise<CustomObjectRecordQueryResponse>;
202
+ bulkCreate(customObjectApiName: string, request: CustomObjectRecordBulkCreateRequest): Promise<readonly CustomObjectDataRow[]>;
203
+ bulkUpdate(customObjectApiName: string, request: CustomObjectRecordBulkUpdateRequest): Promise<readonly CustomObjectDataRow[]>;
204
+ bulkDelete(customObjectApiName: string, request: CustomObjectRecordBulkDeleteRequest): Promise<void>;
205
+ }
206
+ /**
207
+ * Definition-bound CRUD manager returned by {@link CustomObjectManager.forObject}.
208
+ *
209
+ * @typeParam TDefinition - Object definition whose logical field names and value
210
+ * types should be enforced.
211
+ */
212
+ export declare class TypedCustomObjectRecordManager<TDefinition extends AnyCustomObjectDefinition> {
213
+ private readonly definition;
214
+ private readonly adapter;
215
+ /**
216
+ * Creates a bound typed manager for one object definition.
217
+ *
218
+ * @param definition - Typed object definition to bind to the manager.
219
+ * @param adapter - Transport adapter used for all record operations.
220
+ */
221
+ constructor(definition: TDefinition, adapter: CustomObjectRecordAdapter);
222
+ /**
223
+ * Creates one typed record after local schema validation.
224
+ *
225
+ * @param input - Typed logical create payload.
226
+ * @returns Created typed record.
227
+ */
228
+ create(input: CreateInput<TDefinition>): Promise<RecordShape<TDefinition>>;
229
+ /**
230
+ * Creates many typed records after validating the full batch locally.
231
+ *
232
+ * @param rows - Typed logical create payloads.
233
+ * @param options - Batch-write options forwarded to the adapter.
234
+ * @returns Created typed records in backend response order.
235
+ */
236
+ createMany(rows: readonly CreateInput<TDefinition>[], options?: TypedBatchWriteOptions): Promise<readonly RecordShape<TDefinition>[]>;
237
+ /**
238
+ * Retrieves one typed record by id.
239
+ *
240
+ * @param recordId - Backend record id to fetch.
241
+ * @returns Typed record for the requested id.
242
+ */
243
+ get(recordId: string): Promise<RecordShape<TDefinition>>;
244
+ /**
245
+ * Retrieves one typed record by external id.
246
+ *
247
+ * @param externalID - External id to look up.
248
+ * @returns Typed record for the requested external id.
249
+ */
250
+ getByExternalID(externalID: string): Promise<RecordShape<TDefinition>>;
251
+ /**
252
+ * Updates one typed record after local schema validation.
253
+ *
254
+ * @param recordId - Backend record id to update.
255
+ * @param patch - Typed logical update payload.
256
+ * @returns Updated typed record.
257
+ */
258
+ update(recordId: string, patch: UpdateInput<TDefinition>): Promise<RecordShape<TDefinition>>;
259
+ /**
260
+ * Updates many typed records after validating the full batch locally.
261
+ *
262
+ * @param rows - Typed update payloads, each including a backend record id.
263
+ * @param options - Batch-write options forwarded to the adapter.
264
+ * @returns Updated typed records in backend response order.
265
+ */
266
+ updateMany(rows: readonly TypedBulkUpdateInput<TDefinition>[], options?: TypedBatchWriteOptions): Promise<readonly RecordShape<TDefinition>[]>;
267
+ /**
268
+ * Deletes one record by id.
269
+ *
270
+ * @param recordId - Backend record id to delete.
271
+ */
272
+ delete(recordId: string): Promise<void>;
273
+ /**
274
+ * Deletes many records by id.
275
+ *
276
+ * @param recordIDs - Backend record ids to delete.
277
+ * @param options - Batch-write options forwarded to the adapter.
278
+ */
279
+ deleteMany(recordIDs: readonly string[], options?: TypedBatchWriteOptions): Promise<void>;
280
+ /**
281
+ * Lists records using backend pagination without applying any query filter.
282
+ *
283
+ * @param options - Pagination options for the backend list operation.
284
+ * @returns Typed record page.
285
+ */
286
+ list(options?: TypedRecordPageOptions): Promise<TypedRecordPage<TDefinition>>;
287
+ /**
288
+ * Queries records with an optional raw RQL filter string.
289
+ *
290
+ * @param options - Query and pagination options for the backend query operation.
291
+ * @returns Typed record page.
292
+ */
293
+ query(options?: TypedRecordQueryOptions): Promise<TypedRecordPage<TDefinition>>;
294
+ }
295
+ /**
296
+ * Root manager that binds typed custom-object definitions to a transport adapter.
297
+ *
298
+ * Callers can pass either a records resource or a test adapter. If neither is
299
+ * provided, the manager defaults to an in-memory adapter so unit tests can use
300
+ * the same high-level API without bootstrapping a backend client.
301
+ */
302
+ export declare class CustomObjectManager {
303
+ private readonly adapter;
304
+ /**
305
+ * Creates a new custom-object manager.
306
+ *
307
+ * @param options - Optional records resource or adapter implementation.
308
+ */
309
+ constructor(options?: CustomObjectManagerOptions);
310
+ /**
311
+ * Builds a manager from a records resource.
312
+ *
313
+ * @param records - Low-level records resource to wrap.
314
+ * @returns Custom-object manager backed by that records resource.
315
+ */
316
+ static fromRecords(records: CustomObjectRecordsClient): CustomObjectManager;
317
+ /**
318
+ * Builds a manager from a real SDK client.
319
+ *
320
+ * @param sdk - SDK-shaped client exposing `customObjects.records`.
321
+ * @returns Custom-object manager backed by the SDK records resource.
322
+ */
323
+ static fromSDK(sdk: CustomObjectManagerSDKLike): CustomObjectManager;
324
+ /**
325
+ * Builds a manager backed by an in-memory adapter.
326
+ *
327
+ * @param options - In-memory adapter options for seed data and deterministic behavior.
328
+ * @returns Custom-object manager backed by an in-memory adapter.
329
+ */
330
+ static inMemory(options?: InMemoryCustomObjectRecordAdapterOptions): CustomObjectManager;
331
+ /** Returns the low-level adapter used by this manager. */
332
+ getAdapter(): CustomObjectRecordAdapter;
333
+ /**
334
+ * Returns a typed record manager bound to one object definition.
335
+ *
336
+ * @param definition - Typed object definition to bind.
337
+ * @returns Definition-bound typed record manager.
338
+ * @typeParam TDefinition - Object definition bound to the manager.
339
+ */
340
+ forObject<TDefinition extends AnyCustomObjectDefinition>(definition: TDefinition): TypedCustomObjectRecordManager<TDefinition>;
341
+ /**
342
+ * Short ergonomic alias for {@link forObject}.
343
+ *
344
+ * @param definition - Typed object definition to bind.
345
+ * @returns Definition-bound typed record manager.
346
+ * @typeParam TDefinition - Object definition bound to the manager.
347
+ */
348
+ for<TDefinition extends AnyCustomObjectDefinition>(definition: TDefinition): TypedCustomObjectRecordManager<TDefinition>;
349
+ }
350
+ /** Short alias for teams that prefer concise manager names. */
351
+ export declare class COManager extends CustomObjectManager {
352
+ }
353
+ export {};
354
+ //# sourceMappingURL=manager.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.mts","sourceRoot":"","sources":["../../../src/core/platform/custom-objects/manager.ts"],"names":[],"mappings":"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"}