target-supabase-sdk 0.1.7 → 0.1.9

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 (171) hide show
  1. package/README.md +8 -6
  2. package/dist/auth/auth.api.d.ts.map +1 -1
  3. package/dist/auth/auth.api.js +8 -7
  4. package/dist/auth/auth.api.js.map +1 -1
  5. package/dist/command/command.api.d.ts +43 -0
  6. package/dist/command/command.api.d.ts.map +1 -0
  7. package/dist/command/command.api.js +58 -0
  8. package/dist/command/command.api.js.map +1 -0
  9. package/dist/command/command.interface.d.ts +14 -0
  10. package/dist/command/command.interface.d.ts.map +1 -0
  11. package/dist/command/command.interface.js +9 -0
  12. package/dist/command/command.interface.js.map +1 -0
  13. package/dist/core.api.d.ts +116 -12
  14. package/dist/core.api.d.ts.map +1 -1
  15. package/dist/core.api.js +289 -103
  16. package/dist/core.api.js.map +1 -1
  17. package/dist/core.interface.d.ts +2 -1
  18. package/dist/core.interface.d.ts.map +1 -1
  19. package/dist/core.interface.js +1 -1
  20. package/dist/core.interface.js.map +1 -1
  21. package/dist/core.utils.d.ts +0 -2
  22. package/dist/core.utils.d.ts.map +1 -1
  23. package/dist/core.utils.js +0 -5
  24. package/dist/core.utils.js.map +1 -1
  25. package/dist/file/file-manager.d.ts +1 -1
  26. package/dist/file/file-manager.d.ts.map +1 -1
  27. package/dist/file/file-manager.js +1 -1
  28. package/dist/file/file-manager.js.map +1 -1
  29. package/dist/file-list/file-list.api.js +1 -1
  30. package/dist/file-list/file-list.api.js.map +1 -1
  31. package/dist/index.d.ts +12 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +11 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/list/list.interface.d.ts +2 -2
  36. package/dist/list/list.interface.d.ts.map +1 -1
  37. package/dist/node/node-manager.d.ts +48 -0
  38. package/dist/node/node-manager.d.ts.map +1 -0
  39. package/dist/node/node-manager.js +619 -0
  40. package/dist/node/node-manager.js.map +1 -0
  41. package/dist/node/node-task.preset.d.ts +1 -0
  42. package/dist/node/node-task.preset.d.ts.map +1 -0
  43. package/dist/node/node-task.preset.js +14 -0
  44. package/dist/node/node-task.preset.js.map +1 -0
  45. package/dist/node/node.api.d.ts +68 -0
  46. package/dist/node/node.api.d.ts.map +1 -0
  47. package/dist/node/node.api.js +100 -0
  48. package/dist/node/node.api.js.map +1 -0
  49. package/dist/node/node.interface.d.ts +35 -0
  50. package/dist/node/node.interface.d.ts.map +1 -0
  51. package/dist/node/node.interface.js +19 -0
  52. package/dist/node/node.interface.js.map +1 -0
  53. package/dist/node/node.utils.d.ts +5 -0
  54. package/dist/node/node.utils.d.ts.map +1 -0
  55. package/dist/node/node.utils.js +36 -0
  56. package/dist/node/node.utils.js.map +1 -0
  57. package/dist/parcel/parcel-manager.d.ts +1 -1
  58. package/dist/parcel/parcel-manager.d.ts.map +1 -1
  59. package/dist/parcel/parcel-manager.js +1 -1
  60. package/dist/parcel/parcel-manager.js.map +1 -1
  61. package/dist/question-list/question-list.api.js +1 -1
  62. package/dist/question-list/question-list.api.js.map +1 -1
  63. package/dist/repo/repo-context.utils.d.ts +24 -0
  64. package/dist/repo/repo-context.utils.d.ts.map +1 -0
  65. package/dist/repo/repo-context.utils.js +81 -0
  66. package/dist/repo/repo-context.utils.js.map +1 -0
  67. package/dist/repo/repo-manager.d.ts +31 -0
  68. package/dist/repo/repo-manager.d.ts.map +1 -0
  69. package/dist/repo/repo-manager.js +156 -0
  70. package/dist/repo/repo-manager.js.map +1 -0
  71. package/dist/repo/repo.api.d.ts +16 -0
  72. package/dist/repo/repo.api.d.ts.map +1 -0
  73. package/dist/repo/repo.api.js +40 -0
  74. package/dist/repo/repo.api.js.map +1 -0
  75. package/dist/repo/repo.interface.d.ts +27 -0
  76. package/dist/repo/repo.interface.d.ts.map +1 -0
  77. package/dist/repo/repo.interface.js +8 -0
  78. package/dist/repo/repo.interface.js.map +1 -0
  79. package/dist/repo/repo.script-loader.d.ts +19 -0
  80. package/dist/repo/repo.script-loader.d.ts.map +1 -0
  81. package/dist/repo/repo.script-loader.js +108 -0
  82. package/dist/repo/repo.script-loader.js.map +1 -0
  83. package/dist/review/review.api.js +5 -5
  84. package/dist/review/review.api.js.map +1 -1
  85. package/dist/shared/log/create-api-logger.d.ts +17 -0
  86. package/dist/shared/log/create-api-logger.d.ts.map +1 -0
  87. package/dist/shared/log/create-api-logger.js +15 -0
  88. package/dist/shared/log/create-api-logger.js.map +1 -0
  89. package/dist/shared/log/log-manager.d.ts +114 -0
  90. package/dist/shared/log/log-manager.d.ts.map +1 -0
  91. package/dist/shared/log/log-manager.js +218 -0
  92. package/dist/shared/log/log-manager.js.map +1 -0
  93. package/dist/shared/utils/config-path.utils.d.ts +38 -0
  94. package/dist/shared/utils/config-path.utils.d.ts.map +1 -0
  95. package/dist/shared/utils/config-path.utils.js +85 -0
  96. package/dist/shared/utils/config-path.utils.js.map +1 -0
  97. package/dist/shared/utils/error.utils.d.ts +11 -0
  98. package/dist/shared/utils/error.utils.d.ts.map +1 -0
  99. package/dist/shared/utils/error.utils.js +15 -0
  100. package/dist/shared/utils/error.utils.js.map +1 -0
  101. package/dist/shared/utils/id.utils.d.ts +3 -0
  102. package/dist/shared/utils/id.utils.d.ts.map +1 -0
  103. package/dist/shared/utils/id.utils.js +5 -0
  104. package/dist/shared/utils/id.utils.js.map +1 -0
  105. package/dist/supabase.js +1 -1
  106. package/dist/supabase.js.map +1 -1
  107. package/dist/task/local-task-registry.d.ts +27 -0
  108. package/dist/task/local-task-registry.d.ts.map +1 -0
  109. package/dist/task/local-task-registry.js +153 -0
  110. package/dist/task/local-task-registry.js.map +1 -0
  111. package/dist/task/task-manager.d.ts +52 -0
  112. package/dist/task/task-manager.d.ts.map +1 -0
  113. package/dist/task/task-manager.js +217 -0
  114. package/dist/task/task-manager.js.map +1 -0
  115. package/dist/task/task-repo-context.d.ts +95 -0
  116. package/dist/task/task-repo-context.d.ts.map +1 -0
  117. package/dist/task/task-repo-context.js +12 -0
  118. package/dist/task/task-repo-context.js.map +1 -0
  119. package/dist/task/task.api.d.ts +241 -0
  120. package/dist/task/task.api.d.ts.map +1 -0
  121. package/dist/task/task.api.js +351 -0
  122. package/dist/task/task.api.js.map +1 -0
  123. package/dist/task/task.interface.d.ts +56 -0
  124. package/dist/task/task.interface.d.ts.map +1 -0
  125. package/dist/task/task.interface.js +36 -0
  126. package/dist/task/task.interface.js.map +1 -0
  127. package/dist/task/task.utils.d.ts +1 -0
  128. package/dist/task/task.utils.d.ts.map +1 -0
  129. package/dist/task/task.utils.js +2 -0
  130. package/dist/task/task.utils.js.map +1 -0
  131. package/dist/word/word.api.d.ts +5 -5
  132. package/dist/word/word.api.d.ts.map +1 -1
  133. package/dist/word/word.api.js +1 -1
  134. package/dist/word/word.api.js.map +1 -1
  135. package/package.json +10 -3
  136. package/src/auth/auth.api.ts +9 -7
  137. package/src/command/command.api.ts +88 -0
  138. package/src/command/command.interface.ts +17 -0
  139. package/src/core.api.ts +489 -133
  140. package/src/core.interface.ts +3 -1
  141. package/src/core.utils.ts +0 -6
  142. package/src/file/file-manager.ts +1 -1
  143. package/src/file-list/file-list.api.ts +1 -1
  144. package/src/index.ts +22 -1
  145. package/src/list/list.interface.ts +2 -2
  146. package/src/node/node-manager.ts +673 -0
  147. package/src/node/node-task.preset.ts +13 -0
  148. package/src/node/node.api.ts +139 -0
  149. package/src/node/node.interface.ts +40 -0
  150. package/src/node/node.utils.ts +36 -0
  151. package/src/parcel/parcel-manager.ts +1 -1
  152. package/src/question-list/question-list.api.ts +1 -1
  153. package/src/repo/repo-context.utils.ts +111 -0
  154. package/src/repo/repo-manager.ts +217 -0
  155. package/src/repo/repo.api.ts +50 -0
  156. package/src/repo/repo.interface.ts +31 -0
  157. package/src/repo/repo.script-loader.ts +140 -0
  158. package/src/review/review.api.ts +5 -5
  159. package/src/shared/log/create-api-logger.ts +25 -0
  160. package/src/shared/log/log-manager.ts +340 -0
  161. package/src/shared/utils/config-path.utils.ts +104 -0
  162. package/src/shared/utils/error.utils.ts +15 -0
  163. package/src/shared/utils/id.utils.ts +4 -0
  164. package/src/supabase.ts +1 -1
  165. package/src/task/local-task-registry.ts +195 -0
  166. package/src/task/task-manager.ts +312 -0
  167. package/src/task/task-repo-context.ts +103 -0
  168. package/src/task/task.api.ts +429 -0
  169. package/src/task/task.interface.ts +68 -0
  170. package/src/task/task.utils.ts +0 -0
  171. package/src/word/word.api.ts +6 -6
package/dist/core.api.js CHANGED
@@ -1,87 +1,224 @@
1
- import { pick } from "lodash-es";
2
- import { createResponse } from "./core.interface";
3
- import { supabase } from ".";
1
+ import { generateResponse } from "./core.interface";
2
+ import { SupabaseInitializer } from "./supabase";
3
+ const supabase = SupabaseInitializer.getInstance();
4
4
  import { BaseValidator, handleSupabaseError } from "./core.utils";
5
+ export const MAX_TARGET_LIST_PAGE_SIZE = 100;
6
+ /** Alias for {@link pollTargetList} batch size cap. */
7
+ export const MAX_POLL_TARGET_LIST_SIZE = MAX_TARGET_LIST_PAGE_SIZE;
8
+ const TARGET_LIST_ORDER_FIELDS = new Set(["created_at", "name", "value", "category"]);
9
+ function validateTargetListPagination(pageNum, pageSize) {
10
+ if (!Number.isInteger(pageNum) || pageNum < 0) {
11
+ throw new Error(`[getTargetList] pageNum must be a non-negative integer, got ${pageNum}`);
12
+ }
13
+ if (!Number.isInteger(pageSize) || pageSize < 1 || pageSize > MAX_TARGET_LIST_PAGE_SIZE) {
14
+ throw new Error(`[getTargetList] pageSize must be an integer between 1 and ${MAX_TARGET_LIST_PAGE_SIZE}, got ${pageSize}`);
15
+ }
16
+ }
17
+ function resolveTargetListPagination(params) {
18
+ if (params.limit != null) {
19
+ validateTargetListPagination(0, params.limit);
20
+ return { pageNum: 0, pageSize: params.limit };
21
+ }
22
+ if (params.pageNum === undefined || params.pageSize === undefined) {
23
+ throw new Error("[getTargetList] Provide pageNum and pageSize, or limit.");
24
+ }
25
+ validateTargetListPagination(params.pageNum, params.pageSize);
26
+ return { pageNum: params.pageNum, pageSize: params.pageSize };
27
+ }
28
+ function validateTargetListOrderBy(orderBy) {
29
+ if (!TARGET_LIST_ORDER_FIELDS.has(orderBy.field)) {
30
+ throw new Error(`[getTargetList] Unsupported orderBy.field "${orderBy.field}"; allowed: ${[...TARGET_LIST_ORDER_FIELDS].join(", ")}`);
31
+ }
32
+ }
33
+ /**
34
+ * 构建带 category 作用域的 target 查询(供 getTargetList / getTargetTotalCount / pollTargetList 共用)。
35
+ *
36
+ * 必要性:
37
+ * 1. category 是 target 表的分区维度,所有列表/计数/出队都必须限定 category,避免跨类型扫表。
38
+ * 2. 传入 filterBuilder 时仍强制 `.eq("category", category)`,防止自定义 builder 漏加 category 导致误查或安全问题。
39
+ * 3. 统一 select 普通列表与 count head 两种查询形态,再叠加 filterList,避免三处复制分支逻辑。
40
+ */
41
+ function buildCategoryScopedQuery({ category, filterList, filterBuilder, select, selectOptions, }) {
42
+ const base = filterBuilder != null
43
+ ? filterBuilder.eq("category", category)
44
+ : selectOptions != null
45
+ ? supabase.client.from("target").select(select, selectOptions).eq("category", category)
46
+ : supabase.client.from("target").select(select).eq("category", category);
47
+ return applyQueryFilters(base, filterList);
48
+ }
49
+ // biome-ignore lint/suspicious/noExplicitAny: PostgrestFilterBuilder is generic over schema
50
+ function applyQueryFilter(query, filter) {
51
+ switch (filter.operator) {
52
+ case "eq":
53
+ return query.eq(filter.field, filter.value);
54
+ case "neq":
55
+ return query.neq(filter.field, filter.value);
56
+ case "in":
57
+ return query.in(filter.field, filter.value);
58
+ default: {
59
+ const unsupportedOperator = filter.operator;
60
+ throw new Error(`[applyQueryFilter] Unsupported operator: ${unsupportedOperator}`);
61
+ }
62
+ }
63
+ }
64
+ // biome-ignore lint/suspicious/noExplicitAny: PostgrestFilterBuilder is generic over schema
65
+ function applyQueryFilters(query, filterList) {
66
+ return filterList.reduce((q, filter) => applyQueryFilter(q, filter), query);
67
+ }
5
68
  export const getTarget = async ({ id, filterList }) => {
6
69
  const query = filterList != null && filterList.length > 0
7
- ? filterList.reduce((query, filter) => {
8
- switch (filter.operator) {
9
- case "eq":
10
- return query.eq(filter.field, filter.value);
11
- default:
12
- return query;
13
- }
14
- }, supabase.client.from("target").select().eq("id", id))
70
+ ? applyQueryFilters(supabase.client.from("target").select().eq("id", id), filterList)
15
71
  : supabase.client.from("target").select().eq("id", id);
16
72
  const { data, error } = await query.single();
17
73
  if (error) {
18
74
  handleSupabaseError("getTarget", error, "Failed to fetch target.");
19
75
  }
20
- return createResponse.success(data);
76
+ return generateResponse.success(data);
21
77
  };
22
78
  export const getPossibleTarget = async ({ filterList }) => {
23
- const query = filterList.reduce((query, filter) => {
24
- switch (filter.operator) {
25
- case "eq":
26
- return query.eq(filter.field, filter.value);
27
- default:
28
- return query;
29
- }
30
- }, supabase.client.from("target").select());
79
+ const query = applyQueryFilters(supabase.client.from("target").select(), filterList);
31
80
  const { data, error } = await query.maybeSingle();
32
81
  if (error) {
33
82
  handleSupabaseError("getPossibleTarget", error, "Failed to fetch target.");
34
83
  }
35
- return createResponse.success(data);
84
+ return generateResponse.success(data);
36
85
  };
37
- export const getTargetList = async ({ pageNum, pageSize, category, filterList = [], orderBy = { field: "created_at", ascending: false }, filterBuilder, }) => {
38
- const query = filterBuilder ??
39
- filterList.reduce((query, filter) => {
40
- switch (filter.operator) {
41
- case "eq":
42
- return query.eq(filter.field, filter.value);
43
- default:
44
- return query;
45
- }
46
- }, supabase.client.from("target").select("*").eq("category", category));
86
+ /**
87
+ * Paginated target list by category. Failures throw via `handleSupabaseError` (no `{ error }` envelope).
88
+ */
89
+ export const getTargetList = async ({ pageNum, pageSize, limit, category, filterList = [], orderBy = { field: "created_at", ascending: false }, selectFields = "*", filterBuilder, }) => {
90
+ const { pageNum: resolvedPageNum, pageSize: resolvedPageSize } = resolveTargetListPagination({
91
+ pageNum,
92
+ pageSize,
93
+ limit,
94
+ });
95
+ validateTargetListOrderBy(orderBy);
96
+ const query = buildCategoryScopedQuery({
97
+ category,
98
+ filterList,
99
+ filterBuilder,
100
+ select: selectFields,
101
+ });
47
102
  const { data, error } = await query
48
103
  .order(orderBy.field, { ascending: orderBy.ascending })
49
- .range(pageNum * pageSize, (pageNum + 1) * pageSize - 1);
104
+ .range(resolvedPageNum * resolvedPageSize, (resolvedPageNum + 1) * resolvedPageSize - 1);
50
105
  if (error) {
51
106
  handleSupabaseError("getTargetList", error, "Failed to fetch target list.");
52
107
  }
53
- return createResponse.success(data);
108
+ return generateResponse.success((data ?? []));
109
+ };
110
+ /**
111
+ * Scan all rows matching `category` + `filterList` by paging until exhausted.
112
+ *
113
+ * Use for worker bootstrap / sync jobs that need the full matching set.
114
+ * For UI pagination, use {@link getTargetList} (single page, explicit pageNum).
115
+ *
116
+ * Internal batch size is fixed at {@link MAX_TARGET_LIST_PAGE_SIZE} (PostgREST max-rows).
117
+ * Callers receive the full merged result; they do not pass a per-request page size.
118
+ *
119
+ * Uses offset pagination (`.range`). Stable enough for small catalogs (e.g. Repo registry);
120
+ * for large tables under concurrent writes, consider a DB RPC or keyset pagination later.
121
+ */
122
+ export const scanTargetList = async ({ category, filterList = [], orderBy = { field: "created_at", ascending: false }, selectFields = "*", filterBuilder, maxRows, }) => {
123
+ const batchSize = MAX_TARGET_LIST_PAGE_SIZE;
124
+ validateTargetListOrderBy(orderBy);
125
+ if (maxRows != null && (!Number.isInteger(maxRows) || maxRows < 1)) {
126
+ throw new Error(`[scanTargetList] maxRows must be a positive integer, got ${maxRows}`);
127
+ }
128
+ const rows = [];
129
+ let pageNum = 0;
130
+ while (true) {
131
+ const query = buildCategoryScopedQuery({
132
+ category,
133
+ filterList,
134
+ filterBuilder,
135
+ select: selectFields,
136
+ });
137
+ const { data, error } = await query
138
+ .order(orderBy.field, { ascending: orderBy.ascending })
139
+ .range(pageNum * batchSize, (pageNum + 1) * batchSize - 1);
140
+ if (error) {
141
+ handleSupabaseError("scanTargetList", error, "Failed to scan target list.");
142
+ }
143
+ const page = (data ?? []);
144
+ if (page.length === 0) {
145
+ break;
146
+ }
147
+ rows.push(...page);
148
+ if (maxRows != null && rows.length >= maxRows) {
149
+ rows.length = maxRows;
150
+ break;
151
+ }
152
+ if (page.length < batchSize) {
153
+ break;
154
+ }
155
+ pageNum += 1;
156
+ }
157
+ return generateResponse.success(rows);
54
158
  };
55
159
  export const getTargetTotalCount = async ({ category, filterList = [], filterBuilder, }) => {
56
- const query = filterBuilder ??
57
- filterList.reduce((query, filter) => {
58
- switch (filter.operator) {
59
- case "eq":
60
- return query.eq(filter.field, filter.value);
61
- default:
62
- return query;
63
- }
64
- }, supabase.client
65
- .from("target")
66
- .select("id", { count: "exact", head: true }) // head: true means no row payload
67
- .eq("category", category));
160
+ const query = buildCategoryScopedQuery({
161
+ category,
162
+ filterList,
163
+ filterBuilder,
164
+ select: "id",
165
+ selectOptions: { count: "exact", head: true },
166
+ });
68
167
  const { count, error } = await query;
69
168
  if (error) {
70
169
  handleSupabaseError("getTargetTotalCount", error, "Failed to fetch target count.");
71
170
  }
72
- return createResponse.success(count ?? 0);
171
+ return generateResponse.success(count ?? 0);
172
+ };
173
+ function validatePollTargetListSize(size) {
174
+ if (!Number.isInteger(size) || size < 1 || size > MAX_POLL_TARGET_LIST_SIZE) {
175
+ throw new Error(`[pollTargetList] size must be an integer between 1 and ${MAX_POLL_TARGET_LIST_SIZE}, got ${size}`);
176
+ }
177
+ }
178
+ /**
179
+ * Queue poll: SELECT up to `size` rows matching `category` + `filterList`, ordered by
180
+ * `created_at`, then DELETE each by `id`. Returns only dequeued rows (at-most-once).
181
+ *
182
+ * Delete failures (concurrent consumer) are skipped silently.
183
+ * Failures on the initial SELECT throw via `handleSupabaseError`.
184
+ *
185
+ * TODO(concurrency): 当前为 SELECT → 逐条 DELETE,非 DB 原子出队,多 consumer 并发时可能:
186
+ * - 重叠读取:两个 worker 同一批 SELECT 命中相同行,靠 DELETE 竞速,后者 skip(多数 at-most-once)
187
+ * - TOCTOU:SELECT 与 DELETE 之间无锁,极端情况下 DELETE 0 行仍不报错 → 可能重复计入 polled
188
+ * - 非 exactly-once:行已删但 worker 崩溃未处理 → 消息丢失
189
+ * 若同一 filter 多实例 poll(或多 worker 同 nodeId),需改为 DB 侧原子方案,例如:
190
+ * - RPC:`DELETE … WHERE id IN (SELECT … FOR UPDATE SKIP LOCKED) RETURNING *`
191
+ * - 或 claim 状态机:UPDATE … WHERE pending → DELETE/标记已消费(类似 patchClaimTask 乐观锁)
192
+ * - 短期加固:DELETE 后校验影响行数,0 行则不 push 到 polled
193
+ */
194
+ export const pollTargetList = async ({ category, size, filterList = [], ascending = true, selectFields = "*", }) => {
195
+ validatePollTargetListSize(size);
196
+ const query = buildCategoryScopedQuery({
197
+ category,
198
+ filterList,
199
+ select: selectFields,
200
+ });
201
+ const { data, error } = await query.order("created_at", { ascending }).limit(size);
202
+ if (error) {
203
+ handleSupabaseError("pollTargetList", error, "Failed to fetch targets for poll.");
204
+ }
205
+ const candidates = (data ?? []);
206
+ const polled = [];
207
+ for (const row of candidates) {
208
+ try {
209
+ await deleteTarget({ id: row.id });
210
+ polled.push(row);
211
+ }
212
+ catch {
213
+ // Concurrent dequeue — row already removed
214
+ }
215
+ }
216
+ return generateResponse.success(polled);
73
217
  };
74
218
  export const deleteTarget = async ({ id, filterList }) => {
75
219
  // Check whether the target exists given filterList
76
220
  if (filterList != null && filterList.length > 0) {
77
- const query = filterList.reduce((query, filter) => {
78
- switch (filter.operator) {
79
- case "eq":
80
- return query.eq(filter.field, filter.value);
81
- default:
82
- return query;
83
- }
84
- }, supabase.client.from("target").select().eq("id", id));
221
+ const query = applyQueryFilters(supabase.client.from("target").select().eq("id", id), filterList);
85
222
  const { data: existingTarget, error: existingError } = await query.single();
86
223
  if (existingError || existingTarget == null) {
87
224
  const msg = `[deleteTarget] Cannot find the target ${id}`;
@@ -93,7 +230,7 @@ export const deleteTarget = async ({ id, filterList }) => {
93
230
  if (error) {
94
231
  handleSupabaseError("deleteTarget", error, `Failed to delete target ${id}.`);
95
232
  }
96
- return createResponse.success();
233
+ return generateResponse.success();
97
234
  };
98
235
  class PostTargetPayloadValidator extends BaseValidator {
99
236
  requiredFields = ["category", "name", "value", "tagList"];
@@ -101,7 +238,7 @@ class PostTargetPayloadValidator extends BaseValidator {
101
238
  constructor() {
102
239
  super();
103
240
  // Add custom
104
- this.addValidator((val) => {
241
+ this.addCustomValidator((val) => {
105
242
  return true;
106
243
  });
107
244
  }
@@ -116,7 +253,7 @@ export const postTarget = async (payload) => {
116
253
  if (error) {
117
254
  handleSupabaseError("postTarget", error, "Failed to create target.");
118
255
  }
119
- return createResponse.success(data);
256
+ return generateResponse.success(data);
120
257
  };
121
258
  export const patchTarget = async ({ id, ...restPayload }) => {
122
259
  const { data: currentData, error: fetchError } = await supabase.client.from("target").select().eq("id", id).single();
@@ -137,25 +274,23 @@ export const patchTarget = async ({ id, ...restPayload }) => {
137
274
  if (error) {
138
275
  handleSupabaseError("patchTarget", error, "Failed to update target.");
139
276
  }
140
- return createResponse.success(data);
277
+ return generateResponse.success(data);
141
278
  };
142
- export const updateTargetDetails = async ({ id, updateFn, beforeUpdateValidator = () => true, updateExtraFn, }) => {
279
+ export const updateTargetDetails = async ({ id, updateFn, updateExtraFn, optimisticLockFilterList = [], }) => {
143
280
  const { data: currentData, error: fetchError } = await supabase.client
144
281
  .from("target")
145
282
  .select("details")
146
283
  .eq("id", id)
147
284
  .single();
285
+ if (fetchError) {
286
+ handleSupabaseError("updateTargetDetails", fetchError, "Failed to fetch target.");
287
+ }
148
288
  if (!currentData) {
149
289
  const msg = "[updateTargetDetails] Target NOT exists: " + id;
150
290
  console.error(msg);
151
291
  throw new Error(msg);
152
292
  }
153
293
  const currentDetails = currentData.details;
154
- // Check before update
155
- const validatorResult = beforeUpdateValidator(currentDetails);
156
- if (validatorResult !== true) {
157
- throw new Error("[updateTargetDetails] validation failed. " + validatorResult);
158
- }
159
294
  const updatedDetails = updateFn(currentDetails);
160
295
  const updated = updateExtraFn == null
161
296
  ? {
@@ -165,55 +300,84 @@ export const updateTargetDetails = async ({ id, updateFn, beforeUpdateValidator
165
300
  details: updatedDetails,
166
301
  extra: updateExtraFn(currentDetails),
167
302
  };
168
- const { data, error } = await supabase.client.from("target").update(updated).eq("id", id).select().single();
169
- if (error)
303
+ const updateQuery = applyQueryFilters(supabase.client.from("target").update(updated).eq("id", id), optimisticLockFilterList);
304
+ const { data, error } = await updateQuery.select().maybeSingle();
305
+ if (error) {
170
306
  handleSupabaseError("updateTargetDetails", error, "Failed to update target details.");
307
+ }
308
+ if (!data) {
309
+ const msg = optimisticLockFilterList.length > 0
310
+ ? OPTIMISTIC_LOCK_FAILED_MESSAGE
311
+ : "[updateTargetDetails] Target not found or was deleted.";
312
+ throw new Error(msg);
313
+ }
171
314
  return data;
172
315
  };
316
+ export const OPTIMISTIC_LOCK_FAILED_MESSAGE = "[updateTargetDetails] Optimistic lock failed: target no longer matches expected state.";
317
+ export const CREATE_TARGET_ALREADY_EXISTS_MESSAGE = "[createTarget] Target already exists";
318
+ const CREATE_TARGET_REDUNDANCY_MISMATCH_MESSAGE = "[createTarget] Inserted row does not match checkRedundancyFilterList; verify createFn aligns with filters.";
319
+ /** Max rows to fetch during post-verify — only need to detect one other match. */
320
+ const REDUNDANCY_VERIFY_ROW_LIMIT = 2;
321
+ export function isOptimisticLockError(error) {
322
+ return error instanceof Error && error.message === OPTIMISTIC_LOCK_FAILED_MESSAGE;
323
+ }
324
+ export function isCreateTargetAlreadyExistsError(error) {
325
+ return error instanceof Error && error.message === CREATE_TARGET_ALREADY_EXISTS_MESSAGE;
326
+ }
327
+ /** Roll back an optimistic insert when redundancy filters match other rows. */
328
+ async function rollbackCreateTargetInsert(id) {
329
+ const { error } = await supabase.client.from("target").delete().eq("id", id);
330
+ if (error) {
331
+ handleSupabaseError("createTarget", error, "Failed to rollback conflicting insert.");
332
+ }
333
+ }
334
+ /** Roll back the new row and signal a redundancy conflict to the caller. */
335
+ function throwCreateTargetAlreadyExists(checkRedundancyFilterList) {
336
+ console.error(CREATE_TARGET_ALREADY_EXISTS_MESSAGE, checkRedundancyFilterList);
337
+ throw new Error(CREATE_TARGET_ALREADY_EXISTS_MESSAGE);
338
+ }
339
+ async function failCreateTargetRedundancy(selfId, checkRedundancyFilterList) {
340
+ await rollbackCreateTargetInsert(selfId);
341
+ return throwCreateTargetAlreadyExists(checkRedundancyFilterList);
342
+ }
343
+ /**
344
+ * Create a `target` row with optional payload validation and optimistic redundancy checks.
345
+ *
346
+ * When `checkRedundancyFilterList` is set, uses insert-first + post-verify (not SELECT-before-INSERT).
347
+ * See `.cursor/skills/create-target-redundancy/SKILL.md`.
348
+ */
173
349
  export const createTarget = async ({ payload, validator, createFn, checkRedundancyFilterList, upsert = false, }) => {
174
- // (Optional)Step 1: validate payload
175
- const validPayload = validator != null ? new validator().validate(payload) : payload;
176
- // (Optional)Step 2: check redundancy
177
- if (checkRedundancyFilterList != null && checkRedundancyFilterList.length > 0) {
178
- const query = checkRedundancyFilterList.reduce((query, filter) => {
179
- switch (filter.operator) {
180
- case "eq":
181
- return query.eq(filter.field, filter.value);
182
- default:
183
- return query;
184
- }
185
- }, supabase.client.from("target").select("id"));
186
- const { data: existingTarget, error: existingError } = await query.maybeSingle();
187
- if (existingError) {
188
- handleSupabaseError("createTarget", existingError, "Failed to check target existence.");
189
- }
190
- if (existingTarget) {
191
- if (upsert) {
192
- const newTarget = createFn(validPayload);
193
- const updated = pick(newTarget, ["category", "name", "value", "tagList", "extra", "details"]);
194
- const { data, error } = await supabase.client
195
- .from("target")
196
- .update(updated)
197
- .eq("id", existingTarget.id)
198
- .select()
199
- .single();
200
- if (error) {
201
- handleSupabaseError("createTarget", error, "Failed to update existing target.");
202
- }
203
- return createResponse.success(data);
204
- }
205
- const msg = "[createTarget] Target already exists";
206
- console.error(msg, checkRedundancyFilterList);
207
- throw new Error(msg);
208
- }
350
+ if (upsert) {
351
+ console.warn("[createTarget] `upsert` is deprecated and has no effect.");
209
352
  }
210
- // Step 3: create target
353
+ const validPayload = validator != null ? new validator().validate(payload) : payload;
211
354
  const newTarget = createFn(validPayload);
355
+ const hasRedundancyCheck = checkRedundancyFilterList != null && checkRedundancyFilterList.length > 0;
356
+ // 1. Optimistic insert (see create-target-redundancy skill)
212
357
  const { data, error } = await supabase.client.from("target").insert([newTarget]).select().single();
213
358
  if (error) {
214
359
  handleSupabaseError("createTarget", error, "Failed to create target.");
215
360
  }
216
- return createResponse.success(data);
361
+ if (!hasRedundancyCheck) {
362
+ return generateResponse.success(data);
363
+ }
364
+ // 2. Post-verify: limit(2) — enough to detect one other row matching the business-key filters
365
+ const { data: matches, error: matchError } = await applyQueryFilters(supabase.client.from("target").select("id"), checkRedundancyFilterList).limit(REDUNDANCY_VERIFY_ROW_LIMIT);
366
+ if (matchError) {
367
+ handleSupabaseError("createTarget", matchError, "Failed to verify target redundancy.");
368
+ }
369
+ const selfId = data.id;
370
+ const rows = matches ?? [];
371
+ const selfMatchesFilters = rows.some((row) => row.id === selfId);
372
+ if (!selfMatchesFilters) {
373
+ console.warn(CREATE_TARGET_REDUNDANCY_MISMATCH_MESSAGE, checkRedundancyFilterList);
374
+ }
375
+ const hasOtherRow = rows.some((row) => row.id !== selfId);
376
+ // 3. No conflict — keep the inserted row; otherwise rollback and reject
377
+ if (!hasOtherRow) {
378
+ return generateResponse.success(data);
379
+ }
380
+ return failCreateTargetRedundancy(selfId, checkRedundancyFilterList);
217
381
  };
218
382
  export function validateWith(ValidatorClass) {
219
383
  return (fn) => {
@@ -223,4 +387,26 @@ export function validateWith(ValidatorClass) {
223
387
  };
224
388
  };
225
389
  }
390
+ function formatZodValidationError(schemaName, error) {
391
+ const errorList = error.issues
392
+ .map((issue, index) => {
393
+ const path = issue.path.length > 0 ? issue.path.join(".") : "(root)";
394
+ return ` ${index + 1}. ${path}: ${issue.message}`;
395
+ })
396
+ .join("\n");
397
+ const errorCount = error.issues.length;
398
+ return new Error(`[${schemaName}] Validation failed (${errorCount} error${errorCount > 1 ? "s" : ""}):\n${errorList}`);
399
+ }
400
+ /** Zod-based counterpart to {@link validateWith} — requires `zod` as a peer dependency. */
401
+ export function validateWithSchema(schema, schemaName = "Schema") {
402
+ return (fn) => {
403
+ return (payload) => {
404
+ const result = schema.safeParse(payload);
405
+ if (!result.success) {
406
+ throw formatZodValidationError(schemaName, result.error);
407
+ }
408
+ return fn(result.data);
409
+ };
410
+ };
411
+ }
226
412
  //# sourceMappingURL=core.api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.api.js","sourceRoot":"","sources":["../src/core.api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.api.js","sourceRoot":"","sources":["../src/core.api.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface Target {
9
9
  details?: unknown;
10
10
  created_at: string;
11
11
  }
12
+ export type TargetPayload<T extends Target> = Omit<T, "id" | "created_at">;
12
13
  export declare enum StatusCode {
13
14
  SUCCESS = 200,
14
15
  ERROR = 400
@@ -23,7 +24,7 @@ export interface SupabaseResponse<T = unknown> {
23
24
  code?: string;
24
25
  };
25
26
  }
26
- export declare const createResponse: {
27
+ export declare const generateResponse: {
27
28
  success<T>(data?: T, message?: string): SupabaseResponse<T>;
28
29
  error(message: string | {
29
30
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"core.interface.d.ts","sourceRoot":"","sources":["../src/core.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,UAAU;IACpB,OAAO,MAAM;IACb,KAAK,MAAM;CACZ;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,cAAc;YACjB,CAAC,SAAS,CAAC,YAAY,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;mBAUhD,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,eAC5E,UAAU,SAChB,MAAM,GACZ,gBAAgB;CA8BpB,CAAC"}
1
+ {"version":3,"file":"core.interface.d.ts","sourceRoot":"","sources":["../src/core.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC;AAE3E,oBAAY,UAAU;IACpB,OAAO,MAAM;IACb,KAAK,MAAM;CACZ;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB;YACnB,CAAC,SAAS,CAAC,YAAY,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;mBAUhD,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,eAC5E,UAAU,SAChB,MAAM,GACZ,gBAAgB;CA8BpB,CAAC"}
@@ -3,7 +3,7 @@ export var StatusCode;
3
3
  StatusCode[StatusCode["SUCCESS"] = 200] = "SUCCESS";
4
4
  StatusCode[StatusCode["ERROR"] = 400] = "ERROR";
5
5
  })(StatusCode || (StatusCode = {}));
6
- export const createResponse = {
6
+ export const generateResponse = {
7
7
  success(data, message) {
8
8
  return {
9
9
  status_code: StatusCode.SUCCESS,
@@ -1 +1 @@
1
- {"version":3,"file":"core.interface.js","sourceRoot":"","sources":["../src/core.interface.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mDAAa,CAAA;IACb,+CAAW,CAAA;AACb,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAaD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,CAAI,IAAQ,EAAE,OAAgB;QACnC,OAAO;YACL,WAAW,EAAE,UAAU,CAAC,OAAO;YAC/B,OAAO,EAAE,IAAI;YACb,OAAO;YACP,IAAI;SACL,CAAC;IACJ,CAAC;IAED,KAAK,CACH,OAAyF,EACzF,UAAuB,EACvB,IAAa;QAEb,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK;gBAC3C,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,OAAO;oBACP,IAAI;iBACL;aACF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO;gBACL,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK;gBAC3C,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,OAAO,EAAE,cAAc,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,KAAK,EAAE;oBACtD,IAAI;iBACL;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK;YAC3C,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc,OAAO,CAAC,GAAG,KAAK,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBAChE,IAAI;aACL;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"core.interface.js","sourceRoot":"","sources":["../src/core.interface.ts"],"names":[],"mappings":"AAeA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mDAAa,CAAA;IACb,+CAAW,CAAA;AACb,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAaD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,CAAI,IAAQ,EAAE,OAAgB;QACnC,OAAO;YACL,WAAW,EAAE,UAAU,CAAC,OAAO;YAC/B,OAAO,EAAE,IAAI;YACb,OAAO;YACP,IAAI;SACL,CAAC;IACJ,CAAC;IAED,KAAK,CACH,OAAyF,EACzF,UAAuB,EACvB,IAAa;QAEb,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK;gBAC3C,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,OAAO;oBACP,IAAI;iBACL;aACF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO;gBACL,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK;gBAC3C,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,OAAO,EAAE,cAAc,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,KAAK,EAAE;oBACtD,IAAI;iBACL;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,UAAU,IAAI,UAAU,CAAC,KAAK;YAC3C,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc,OAAO,CAAC,GAAG,KAAK,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBAChE,IAAI;aACL;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -10,8 +10,6 @@ export declare abstract class BaseValidator<T extends object> {
10
10
  protected optionalFields: (keyof T)[];
11
11
  protected ignoredFields: (keyof T)[];
12
12
  protected customValidators: ((val: T) => true | string)[];
13
- /** @deprecated -> addCustomValidator */
14
- addValidator(validator: (val: T) => true | string): this;
15
13
  addCustomValidator(validator: (val: T) => true | string): this;
16
14
  protected validateField(field: keyof T, value: unknown): boolean;
17
15
  validate: (val: T) => T;
@@ -1 +1 @@
1
- {"version":3,"file":"core.utils.d.ts","sourceRoot":"","sources":["../src/core.utils.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,wBAAgB,gBAAgB,IAAI,OAAO,CAU1C;AAED,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI/C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAQ/D;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAGlG;AAED,oCAAoC;AACpC,8BAAsB,aAAa,CAAC,CAAC,SAAS,MAAM;IAClD,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAC3C,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAC3C,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAC1C,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,EAAE,CAAM;IAE/D,wCAAwC;IACxC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM;IAKjD,kBAAkB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM;IAKvD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAKhE,QAAQ,QAAS,CAAC,KAAG,CAAC,CAoCpB;CACH"}
1
+ {"version":3,"file":"core.utils.d.ts","sourceRoot":"","sources":["../src/core.utils.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,wBAAgB,gBAAgB,IAAI,OAAO,CAU1C;AAED,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI/C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAQ/D;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAGlG;AAED,oCAAoC;AACpC,8BAAsB,aAAa,CAAC,CAAC,SAAS,MAAM;IAClD,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAC3C,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAC3C,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAC1C,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,EAAE,CAAM;IAE/D,kBAAkB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM;IAKvD,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAKhE,QAAQ,QAAS,CAAC,KAAG,CAAC,CAoCpB;CACH"}
@@ -40,11 +40,6 @@ export class BaseValidator {
40
40
  optionalFields = [];
41
41
  ignoredFields = [];
42
42
  customValidators = [];
43
- /** @deprecated -> addCustomValidator */
44
- addValidator(validator) {
45
- this.customValidators.push(validator);
46
- return this;
47
- }
48
43
  addCustomValidator(validator) {
49
44
  this.customValidators.push(validator);
50
45
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"core.utils.js","sourceRoot":"","sources":["../src/core.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEzC,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAI,MAAM,CAAC,IAAgE,CAAC,GAAG,CAAC;QACzF,IAAI,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QAClE,IAAI,GAAG,EAAE,GAAG,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAG,IAAe;IACvC,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,EAAc;IACvD,IAAI,CAAC,gBAAgB,EAAE;QAAE,OAAO;IAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,KAAc,EAAE,aAAsB;IACzF,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,OAAO,oBAAoB,CAAC,CAAC;AACpE,CAAC;AAED,oCAAoC;AACpC,MAAM,OAAgB,aAAa;IACvB,cAAc,GAAgB,EAAE,CAAC;IACjC,cAAc,GAAgB,EAAE,CAAC;IACjC,aAAa,GAAgB,EAAE,CAAC;IAChC,gBAAgB,GAAkC,EAAE,CAAC;IAE/D,wCAAwC;IACxC,YAAY,CAAC,SAAoC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,SAAoC;QACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,aAAa,CAAC,KAAc,EAAE,KAAc;QACpD,0DAA0D;QAC1D,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,QAAQ,GAAG,CAAC,GAAM,EAAK,EAAE;QACvB,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,gCAAgC;QAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtF,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,wBAAwB,UAAU,SAAS,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,SAAS,EAAE,CAChH,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,GAAc,CAAC;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC;QACjE,CAAC,CAAe,CAAC;QACjB,qBAAqB;QAErB,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAO,CAAC;IAC3C,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"core.utils.js","sourceRoot":"","sources":["../src/core.utils.ts"],"names":[],"mappings":"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"}
@@ -20,5 +20,5 @@ declare const FileManager: {
20
20
  createPreview: typeof createPreviewV0;
21
21
  verifyFileHash: typeof verifyFileHash;
22
22
  };
23
- export default FileManager;
23
+ export { FileManager };
24
24
  //# sourceMappingURL=file-manager.d.ts.map