@filoz/repair-cli 0.0.1

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 (127) hide show
  1. package/dist/src/cli.d.ts +3 -0
  2. package/dist/src/cli.d.ts.map +1 -0
  3. package/dist/src/cli.js +19 -0
  4. package/dist/src/cli.js.map +1 -0
  5. package/dist/src/commands/datasets.d.ts +9 -0
  6. package/dist/src/commands/datasets.d.ts.map +1 -0
  7. package/dist/src/commands/datasets.js +59 -0
  8. package/dist/src/commands/datasets.js.map +1 -0
  9. package/dist/src/commands/providers.d.ts +9 -0
  10. package/dist/src/commands/providers.d.ts.map +1 -0
  11. package/dist/src/commands/providers.js +84 -0
  12. package/dist/src/commands/providers.js.map +1 -0
  13. package/dist/src/commands/repair.d.ts +9 -0
  14. package/dist/src/commands/repair.d.ts.map +1 -0
  15. package/dist/src/commands/repair.js +170 -0
  16. package/dist/src/commands/repair.js.map +1 -0
  17. package/dist/src/commands/setup.d.ts +11 -0
  18. package/dist/src/commands/setup.d.ts.map +1 -0
  19. package/dist/src/commands/setup.js +127 -0
  20. package/dist/src/commands/setup.js.map +1 -0
  21. package/dist/src/commands/wallet.d.ts +9 -0
  22. package/dist/src/commands/wallet.d.ts.map +1 -0
  23. package/dist/src/commands/wallet.js +150 -0
  24. package/dist/src/commands/wallet.js.map +1 -0
  25. package/dist/src/db/get-pieces.d.ts +23 -0
  26. package/dist/src/db/get-pieces.d.ts.map +1 -0
  27. package/dist/src/db/get-pieces.js +84 -0
  28. package/dist/src/db/get-pieces.js.map +1 -0
  29. package/dist/src/db/get-providers-by-cid.d.ts +10 -0
  30. package/dist/src/db/get-providers-by-cid.d.ts.map +1 -0
  31. package/dist/src/db/get-providers-by-cid.js +45 -0
  32. package/dist/src/db/get-providers-by-cid.js.map +1 -0
  33. package/dist/src/db/get-repair-dataset.d.ts +9 -0
  34. package/dist/src/db/get-repair-dataset.d.ts.map +1 -0
  35. package/dist/src/db/get-repair-dataset.js +15 -0
  36. package/dist/src/db/get-repair-dataset.js.map +1 -0
  37. package/dist/src/db/get-repair-provider.d.ts +6 -0
  38. package/dist/src/db/get-repair-provider.d.ts.map +1 -0
  39. package/dist/src/db/get-repair-provider.js +28 -0
  40. package/dist/src/db/get-repair-provider.js.map +1 -0
  41. package/dist/src/db/get-target-dataset.d.ts +7 -0
  42. package/dist/src/db/get-target-dataset.d.ts.map +1 -0
  43. package/dist/src/db/get-target-dataset.js +27 -0
  44. package/dist/src/db/get-target-dataset.js.map +1 -0
  45. package/dist/src/db/repair-create.d.ts +7 -0
  46. package/dist/src/db/repair-create.d.ts.map +1 -0
  47. package/dist/src/db/repair-create.js +69 -0
  48. package/dist/src/db/repair-create.js.map +1 -0
  49. package/dist/src/db/repair-delete.d.ts +11 -0
  50. package/dist/src/db/repair-delete.d.ts.map +1 -0
  51. package/dist/src/db/repair-delete.js +22 -0
  52. package/dist/src/db/repair-delete.js.map +1 -0
  53. package/dist/src/db/repair-update.d.ts +10 -0
  54. package/dist/src/db/repair-update.d.ts.map +1 -0
  55. package/dist/src/db/repair-update.js +13 -0
  56. package/dist/src/db/repair-update.js.map +1 -0
  57. package/dist/src/db/sync-pieces-onchain.d.ts +10 -0
  58. package/dist/src/db/sync-pieces-onchain.d.ts.map +1 -0
  59. package/dist/src/db/sync-pieces-onchain.js +35 -0
  60. package/dist/src/db/sync-pieces-onchain.js.map +1 -0
  61. package/dist/src/db/update-operation.d.ts +11 -0
  62. package/dist/src/db/update-operation.d.ts.map +1 -0
  63. package/dist/src/db/update-operation.js +14 -0
  64. package/dist/src/db/update-operation.js.map +1 -0
  65. package/dist/src/db/upsert-operations.d.ts +8 -0
  66. package/dist/src/db/upsert-operations.d.ts.map +1 -0
  67. package/dist/src/db/upsert-operations.js +13 -0
  68. package/dist/src/db/upsert-operations.js.map +1 -0
  69. package/dist/src/error.d.ts +14 -0
  70. package/dist/src/error.d.ts.map +1 -0
  71. package/dist/src/error.js +27 -0
  72. package/dist/src/error.js.map +1 -0
  73. package/dist/src/indexer-schema.d.ts +549 -0
  74. package/dist/src/indexer-schema.d.ts.map +1 -0
  75. package/dist/src/indexer-schema.js +56 -0
  76. package/dist/src/indexer-schema.js.map +1 -0
  77. package/dist/src/local-schema.d.ts +456 -0
  78. package/dist/src/local-schema.d.ts.map +1 -0
  79. package/dist/src/local-schema.js +63 -0
  80. package/dist/src/local-schema.js.map +1 -0
  81. package/dist/src/middleware.d.ts +19 -0
  82. package/dist/src/middleware.d.ts.map +1 -0
  83. package/dist/src/middleware.js +28 -0
  84. package/dist/src/middleware.js.map +1 -0
  85. package/dist/src/pipeline/create-datasets.d.ts +10 -0
  86. package/dist/src/pipeline/create-datasets.d.ts.map +1 -0
  87. package/dist/src/pipeline/create-datasets.js +48 -0
  88. package/dist/src/pipeline/create-datasets.js.map +1 -0
  89. package/dist/src/pipeline/pull.d.ts +30 -0
  90. package/dist/src/pipeline/pull.d.ts.map +1 -0
  91. package/dist/src/pipeline/pull.js +169 -0
  92. package/dist/src/pipeline/pull.js.map +1 -0
  93. package/dist/src/types.d.ts +34 -0
  94. package/dist/src/types.d.ts.map +1 -0
  95. package/dist/src/types.js +1 -0
  96. package/dist/src/types.js.map +1 -0
  97. package/dist/src/utils.d.ts +11945 -0
  98. package/dist/src/utils.d.ts.map +1 -0
  99. package/dist/src/utils.js +121 -0
  100. package/dist/src/utils.js.map +1 -0
  101. package/package.json +135 -0
  102. package/readme.md +250 -0
  103. package/src/cli.ts +20 -0
  104. package/src/commands/datasets.ts +62 -0
  105. package/src/commands/providers.ts +99 -0
  106. package/src/commands/repair.ts +177 -0
  107. package/src/commands/setup.ts +142 -0
  108. package/src/commands/wallet.ts +159 -0
  109. package/src/db/get-pieces.ts +189 -0
  110. package/src/db/get-providers-by-cid.ts +75 -0
  111. package/src/db/get-repair-dataset.ts +44 -0
  112. package/src/db/get-repair-provider.ts +47 -0
  113. package/src/db/get-target-dataset.ts +47 -0
  114. package/src/db/repair-create.ts +101 -0
  115. package/src/db/repair-delete.ts +39 -0
  116. package/src/db/repair-update.ts +20 -0
  117. package/src/db/sync-pieces-onchain.ts +53 -0
  118. package/src/db/update-operation.ts +26 -0
  119. package/src/db/upsert-operations.ts +23 -0
  120. package/src/error.ts +33 -0
  121. package/src/indexer-schema.ts +77 -0
  122. package/src/local-schema.ts +91 -0
  123. package/src/middleware.ts +34 -0
  124. package/src/pipeline/create-datasets.ts +70 -0
  125. package/src/pipeline/pull.ts +255 -0
  126. package/src/types.ts +41 -0
  127. package/src/utils.ts +190 -0
@@ -0,0 +1,13 @@
1
+ import { eq } from 'drizzle-orm';
2
+ import * as localSchema from "../local-schema.js";
3
+ export async function repairUpdate({ localDb, repairId, status, targetDataSetId }) {
4
+ const update = {
5
+ updatedAt: Date.now(),
6
+ };
7
+ if (status)
8
+ update.status = status;
9
+ if (targetDataSetId !== undefined)
10
+ update.targetDataSetId = targetDataSetId;
11
+ await localDb.update(localSchema.repairs).set(update).where(eq(localSchema.repairs.id, repairId));
12
+ }
13
+ //# sourceMappingURL=repair-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-update.js","sourceRoot":"","sources":["../../../src/db/repair-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAUjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAuB;IACpG,MAAM,MAAM,GAAiB;QAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;IACD,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAClC,IAAI,eAAe,KAAK,SAAS;QAAE,MAAM,CAAC,eAAe,GAAG,eAAe,CAAA;IAC3E,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;AACnG,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { OperationSelect } from '../local-schema.ts';
2
+ import type { IndexerDatabase, LocalDatabase } from '../types.ts';
3
+ export type SyncPiecesOnchainOptions = {
4
+ indexerDb: IndexerDatabase;
5
+ localDb: LocalDatabase;
6
+ dataSetId: bigint;
7
+ cidToOperation: Map<string, OperationSelect>;
8
+ };
9
+ export declare function syncPiecesOnchain({ indexerDb, localDb, dataSetId, cidToOperation }: SyncPiecesOnchainOptions): Promise<number>;
10
+ //# sourceMappingURL=sync-pieces-onchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-pieces-onchain.d.ts","sourceRoot":"","sources":["../../../src/db/sync-pieces-onchain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAC7C,CAAA;AAKD,wBAAsB,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,wBAAwB,mBAqClH"}
@@ -0,0 +1,35 @@
1
+ import { and, eq, inArray } from 'drizzle-orm';
2
+ import { upsertOperations } from "./upsert-operations.js";
3
+ export async function syncPiecesOnchain({ indexerDb, localDb, dataSetId, cidToOperation }) {
4
+ const cids = Array.from(cidToOperation.keys());
5
+ const schema = indexerDb._.fullSchema;
6
+ let completedOperations = 0;
7
+ const rows = await indexerDb
8
+ .select({ cid: schema.pieces.cid })
9
+ .from(schema.pieces)
10
+ .where(and(eq(schema.pieces.dataSetId, dataSetId), eq(schema.pieces.removed, false), inArray(schema.pieces.cid, cids)));
11
+ const existingCids = new Set();
12
+ const completedOperation = [];
13
+ for (const row of rows) {
14
+ const operation = cidToOperation.get(row.cid);
15
+ if (!operation) {
16
+ continue;
17
+ }
18
+ completedOperation.push({
19
+ ...operation,
20
+ status: 'completed',
21
+ error: null,
22
+ });
23
+ existingCids.add(row.cid);
24
+ cidToOperation.delete(row.cid);
25
+ completedOperations++;
26
+ }
27
+ if (completedOperation.length > 0) {
28
+ await upsertOperations({
29
+ localDb,
30
+ operations: completedOperation,
31
+ });
32
+ }
33
+ return completedOperations;
34
+ }
35
+ //# sourceMappingURL=sync-pieces-onchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-pieces-onchain.js","sourceRoot":"","sources":["../../../src/db/sync-pieces-onchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAYzD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAA4B;IACjH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IACrC,IAAI,mBAAmB,GAAG,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,SAAS;SACzB,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;SAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SACnB,KAAK,CACJ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAChH,CAAA;IAEH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,MAAM,kBAAkB,GAAsB,EAAE,CAAA;IAEhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAQ;QACV,CAAC;QACD,kBAAkB,CAAC,IAAI,CAAC;YACtB,GAAG,SAAS;YACZ,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QACF,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,mBAAmB,EAAE,CAAA;IACvB,CAAC;IAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,gBAAgB,CAAC;YACrB,OAAO;YACP,UAAU,EAAE,kBAAkB;SAC/B,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,mBAAmB,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as localSchema from '../local-schema.ts';
2
+ import type { LocalDatabase } from '../types.ts';
3
+ export type UpdateOperationOptions = {
4
+ localDb: LocalDatabase;
5
+ operationId: number;
6
+ status: localSchema.OperationStatus;
7
+ result?: localSchema.OperationResult | null;
8
+ error?: string | null;
9
+ };
10
+ export declare function updateOperation({ localDb, operationId, status, result, error }: UpdateOperationOptions): Promise<void>;
11
+ //# sourceMappingURL=update-operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-operation.d.ts","sourceRoot":"","sources":["../../../src/db/update-operation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,aAAa,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,WAAW,CAAC,eAAe,CAAA;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC,eAAe,GAAG,IAAI,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAKD,wBAAsB,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,sBAAsB,iBAU5G"}
@@ -0,0 +1,14 @@
1
+ import { eq } from 'drizzle-orm';
2
+ import * as localSchema from "../local-schema.js";
3
+ export async function updateOperation({ localDb, operationId, status, result, error }) {
4
+ await localDb
5
+ .update(localSchema.operations)
6
+ .set({
7
+ status,
8
+ result,
9
+ error: error ?? null,
10
+ updatedAt: Date.now(),
11
+ })
12
+ .where(eq(localSchema.operations.id, operationId));
13
+ }
14
+ //# sourceMappingURL=update-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-operation.js","sourceRoot":"","sources":["../../../src/db/update-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAcjD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAA0B;IAC3G,MAAM,OAAO;SACV,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;SAC9B,GAAG,CAAC;QACH,MAAM;QACN,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,IAAI;QACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;SACD,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;AACtD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { OperationInsert } from '../local-schema.ts';
2
+ import type { LocalDatabase } from '../types.ts';
3
+ export type UpsertOperationsOptions = {
4
+ localDb: LocalDatabase;
5
+ operations: OperationInsert[];
6
+ };
7
+ export declare function upsertOperations({ localDb, operations }: UpsertOperationsOptions): Promise<void>;
8
+ //# sourceMappingURL=upsert-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsert-operations.d.ts","sourceRoot":"","sources":["../../../src/db/upsert-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,aAAa,CAAA;IACtB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B,CAAA;AAKD,wBAAsB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,uBAAuB,iBAStF"}
@@ -0,0 +1,13 @@
1
+ import * as localSchema from "../local-schema.js";
2
+ import { buildConflictUpdateColumns } from "../utils.js";
3
+ export async function upsertOperations({ localDb, operations }) {
4
+ const now = Date.now();
5
+ await localDb
6
+ .insert(localDb._.fullSchema.operations)
7
+ .values(operations.map((operation) => ({ ...operation, updatedAt: now })))
8
+ .onConflictDoUpdate({
9
+ target: localDb._.fullSchema.operations.id,
10
+ set: buildConflictUpdateColumns(localSchema.operations, ['status', 'error', 'updatedAt']),
11
+ });
12
+ }
13
+ //# sourceMappingURL=upsert-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsert-operations.js","sourceRoot":"","sources":["../../../src/db/upsert-operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAUxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAA2B;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,OAAO;SACV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;SACvC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SACzE,kBAAkB,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC1C,GAAG,EAAE,0BAA0B,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;KAC1F,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare class NoAlternateProviderError extends Error {
2
+ readonly providerId?: bigint;
3
+ constructor(providerId?: bigint);
4
+ }
5
+ export declare class RepairCreationError extends Error {
6
+ constructor(message?: string);
7
+ }
8
+ export declare class RepairNotFoundError extends Error {
9
+ constructor(repairId: number);
10
+ }
11
+ export declare class MissingRepairDataSetError extends Error {
12
+ constructor();
13
+ }
14
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;gBAKhB,UAAU,CAAC,EAAE,MAAM;CAKhC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,SAAgC;CAIpD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,QAAQ,EAAE,MAAM;CAI7B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;;CAKnD"}
@@ -0,0 +1,27 @@
1
+ export class NoAlternateProviderError extends Error {
2
+ providerId;
3
+ constructor(providerId) {
4
+ super(providerId == null ? 'No alternate provider found' : `Target provider ${providerId} not found or inactive`);
5
+ this.name = 'NoAlternateProviderError';
6
+ this.providerId = providerId;
7
+ }
8
+ }
9
+ export class RepairCreationError extends Error {
10
+ constructor(message = 'Failed to create repair row') {
11
+ super(message);
12
+ this.name = 'RepairCreationError';
13
+ }
14
+ }
15
+ export class RepairNotFoundError extends Error {
16
+ constructor(repairId) {
17
+ super(`Repair ${repairId} not found`);
18
+ this.name = 'RepairNotFoundError';
19
+ }
20
+ }
21
+ export class MissingRepairDataSetError extends Error {
22
+ constructor() {
23
+ super('Missing repair dataset ID');
24
+ this.name = 'MissingRepairDataSetError';
25
+ }
26
+ }
27
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,UAAU,CAAS;IAK5B,YAAY,UAAmB;QAC7B,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,mBAAmB,UAAU,wBAAwB,CAAC,CAAA;QACjH,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAO,GAAG,6BAA6B;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,QAAgB;QAC1B,KAAK,CAAC,UAAU,QAAQ,YAAY,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF"}