@classytic/ledger 0.3.0 → 0.4.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.
Files changed (33) hide show
  1. package/dist/constants/index.d.mts +2 -2
  2. package/dist/constants/index.mjs +3 -3
  3. package/dist/{date-lock.plugin-eYAJ9h_u.mjs → date-lock.plugin-C8kqPBjh.mjs} +2 -2
  4. package/dist/{engine-Cn-9yerQ.d.mts → engine-DF-MtsEr.d.mts} +1 -1
  5. package/dist/exports/index.d.mts +1 -1
  6. package/dist/exports/index.mjs +1 -1
  7. package/dist/{exports-I5Xkq-9_.mjs → exports-DoGQQtMQ.mjs} +96 -75
  8. package/dist/{fiscal-close-B6LhQ10f.mjs → fiscal-close-DmPV82e4.mjs} +748 -751
  9. package/dist/{index-BPukb3L8.d.mts → index-J-XIbXH-.d.mts} +7 -7
  10. package/dist/index.d.mts +85 -85
  11. package/dist/index.mjs +9 -9
  12. package/dist/{fiscal-period.schema-BMnlI9H5.d.mts → journal-entry.schema-B1CzLwC3.d.mts} +12 -12
  13. package/dist/{journals-oH-FK3g8.mjs → journals-BcMn71Cq.mjs} +27 -4
  14. package/dist/{currencies-4WAbFRlw.d.mts → journals-DTipb_rz.d.mts} +16 -7
  15. package/dist/money.mjs +2 -2
  16. package/dist/plugins/index.d.mts +1 -1
  17. package/dist/plugins/index.mjs +1 -1
  18. package/dist/{reconciliation.repository-CW4-8q90.d.mts → reconciliation.repository-DEybU_Ok.d.mts} +14 -14
  19. package/dist/{account.repository-BpkSd6q3.mjs → reconciliation.repository-DgJEDVS-.mjs} +255 -255
  20. package/dist/{reconciliation.schema-BuetvZTd.mjs → reconciliation.schema-KScbsXbY.mjs} +174 -173
  21. package/dist/reports/index.d.mts +1 -1
  22. package/dist/reports/index.mjs +1 -1
  23. package/dist/repositories/index.d.mts +1 -1
  24. package/dist/repositories/index.mjs +1 -1
  25. package/dist/schemas/index.d.mts +6 -6
  26. package/dist/schemas/index.mjs +1 -1
  27. package/dist/{tenant-guard-Fm6AID_6.mjs → tenant-guard-CAxXoWuS.mjs} +1 -1
  28. package/dist/{revaluation-D9x0NE8w.d.mts → trial-balance-DcQ0xj_4.d.mts} +124 -124
  29. package/package.json +14 -6
  30. /package/dist/{categories-CclX7Q94.mjs → categories-FJlrvzcl.mjs} +0 -0
  31. /package/dist/{errors-B7yC-Jfw.mjs → errors-BoGUSUYL.mjs} +0 -0
  32. /package/dist/{idempotency.plugin-B_CNsInz.d.mts → idempotency.plugin-zU-GKJ0-.d.mts} +0 -0
  33. /package/dist/{logger-CbHWZl7v.d.mts → logger-UbTdBb1x.d.mts} +0 -0
@@ -1,4 +1,4 @@
1
- import { i as getJournalTypeCodes, t as JOURNAL_CODES } from "./journals-oH-FK3g8.mjs";
1
+ import { o as getJournalTypeCodes, r as _freezeJournalTypes, t as JOURNAL_CODES } from "./journals-BcMn71Cq.mjs";
2
2
  import mongoose from "mongoose";
3
3
  //#region src/schemas/currency-field.ts
4
4
  /**
@@ -96,6 +96,175 @@ function createAccountSchema(config, options = {}) {
96
96
  return schema;
97
97
  }
98
98
  //#endregion
99
+ //#region src/schemas/budget.schema.ts
100
+ /**
101
+ * Budget Schema Factory
102
+ *
103
+ * Creates a Mongoose schema for budget records.
104
+ * Each record represents a budgeted amount for an account over a specific period.
105
+ * All monetary amounts are in integer cents.
106
+ */
107
+ function createBudgetSchema(config, options = {}) {
108
+ const { multiTenant } = config;
109
+ const { indexes = true, extraFields = {}, extraIndexes = [] } = options;
110
+ const fields = {
111
+ account: {
112
+ type: mongoose.Schema.Types.ObjectId,
113
+ ref: "Account",
114
+ required: true
115
+ },
116
+ periodStart: {
117
+ type: Date,
118
+ required: true
119
+ },
120
+ periodEnd: {
121
+ type: Date,
122
+ required: true
123
+ },
124
+ amount: {
125
+ type: Number,
126
+ required: true,
127
+ validate: {
128
+ validator: (v) => Number.isInteger(v),
129
+ message: "amount must be an integer (cents)."
130
+ }
131
+ },
132
+ label: {
133
+ type: String,
134
+ default: null
135
+ },
136
+ ...extraFields
137
+ };
138
+ if (multiTenant) fields[multiTenant.orgField] = {
139
+ type: mongoose.Schema.Types.ObjectId,
140
+ ref: multiTenant.orgRef,
141
+ required: true
142
+ };
143
+ const schema = new mongoose.Schema(fields, { timestamps: true });
144
+ schema.pre("validate", function() {
145
+ const doc = this;
146
+ if (doc.periodStart && doc.periodEnd && doc.periodEnd <= doc.periodStart) doc.invalidate("periodEnd", "periodEnd must be after periodStart.", doc.periodEnd, "periodEnd");
147
+ });
148
+ if (indexes) if (multiTenant) {
149
+ const org = multiTenant.orgField;
150
+ schema.index({
151
+ [org]: 1,
152
+ account: 1,
153
+ periodStart: 1,
154
+ periodEnd: 1
155
+ }, { unique: true });
156
+ schema.index({
157
+ [org]: 1,
158
+ periodStart: 1,
159
+ periodEnd: 1
160
+ });
161
+ } else {
162
+ schema.index({
163
+ account: 1,
164
+ periodStart: 1,
165
+ periodEnd: 1
166
+ }, { unique: true });
167
+ schema.index({
168
+ periodStart: 1,
169
+ periodEnd: 1
170
+ });
171
+ }
172
+ for (const idx of extraIndexes) schema.index(idx.fields, idx.options);
173
+ return schema;
174
+ }
175
+ //#endregion
176
+ //#region src/schemas/fiscal-period.schema.ts
177
+ /**
178
+ * Fiscal Period Schema Factory
179
+ *
180
+ * Creates a Mongoose schema for tracking fiscal periods (months, quarters, years).
181
+ * Supports closing periods to lock entries.
182
+ */
183
+ function createFiscalPeriodSchema(config, options = {}) {
184
+ const { multiTenant } = config;
185
+ const { indexes = true, extraFields = {}, extraIndexes = [] } = options;
186
+ const fields = {
187
+ name: {
188
+ type: String,
189
+ required: true
190
+ },
191
+ startDate: {
192
+ type: Date,
193
+ required: true
194
+ },
195
+ endDate: {
196
+ type: Date,
197
+ required: true
198
+ },
199
+ closed: {
200
+ type: Boolean,
201
+ default: false
202
+ },
203
+ closedAt: {
204
+ type: Date,
205
+ default: null
206
+ },
207
+ closedBy: {
208
+ type: String,
209
+ default: null
210
+ },
211
+ closingEntryId: {
212
+ type: mongoose.Schema.Types.ObjectId,
213
+ default: null
214
+ },
215
+ reopenedAt: {
216
+ type: Date,
217
+ default: null
218
+ },
219
+ reopenedBy: {
220
+ type: String,
221
+ default: null
222
+ },
223
+ ...extraFields
224
+ };
225
+ if (multiTenant) fields[multiTenant.orgField] = {
226
+ type: mongoose.Schema.Types.ObjectId,
227
+ ref: multiTenant.orgRef,
228
+ required: true
229
+ };
230
+ const schema = new mongoose.Schema(fields, { timestamps: true });
231
+ if (indexes) if (multiTenant) {
232
+ const org = multiTenant.orgField;
233
+ schema.index({
234
+ [org]: 1,
235
+ startDate: 1,
236
+ endDate: 1
237
+ }, { unique: true });
238
+ schema.index({
239
+ [org]: 1,
240
+ closed: 1
241
+ });
242
+ } else {
243
+ schema.index({
244
+ startDate: 1,
245
+ endDate: 1
246
+ }, { unique: true });
247
+ schema.index({ closed: 1 });
248
+ }
249
+ for (const idx of extraIndexes) schema.index(idx.fields, idx.options);
250
+ schema.pre("validate", async function() {
251
+ const doc = this;
252
+ if (!doc.startDate || !doc.endDate) return;
253
+ const overlapQuery = {
254
+ _id: { $ne: doc._id },
255
+ startDate: { $lt: doc.endDate },
256
+ endDate: { $gt: doc.startDate }
257
+ };
258
+ if (multiTenant) overlapQuery[multiTenant.orgField] = doc[multiTenant.orgField];
259
+ const overlap = await doc.collection.findOne(overlapQuery);
260
+ if (overlap) {
261
+ const msg = `Fiscal period overlaps with existing period "${overlap.name}" (${new Date(overlap.startDate).toISOString().split("T")[0]} – ${new Date(overlap.endDate).toISOString().split("T")[0]}).`;
262
+ doc.invalidate("startDate", msg, doc.startDate, "overlap");
263
+ }
264
+ });
265
+ return schema;
266
+ }
267
+ //#endregion
99
268
  //#region src/schemas/journal-entry.schema.ts
100
269
  /**
101
270
  * Journal Entry Schema Factory
@@ -171,11 +340,12 @@ function createJournalEntrySchema(config, accountModelName, options = {}) {
171
340
  ...currencyItemFields,
172
341
  ...extraItemFields
173
342
  }, { _id: false });
343
+ _freezeJournalTypes();
174
344
  const fields = {
175
345
  journalType: {
176
346
  type: String,
177
347
  enum: getJournalTypeCodes(),
178
- default: JOURNAL_CODES["MISC"],
348
+ default: JOURNAL_CODES.MISC,
179
349
  required: true
180
350
  },
181
351
  referenceNumber: { type: String },
@@ -318,7 +488,7 @@ function createJournalEntrySchema(config, accountModelName, options = {}) {
318
488
  }
319
489
  });
320
490
  const MAX_REF_RETRIES = 3;
321
- schema.post("save", async function(error, doc, next) {
491
+ schema.post("save", async (error, doc, next) => {
322
492
  const mongoError = error;
323
493
  if (mongoError.code === 11e3 && mongoError.keyPattern?.referenceNumber) {
324
494
  const entry = doc;
@@ -421,175 +591,6 @@ function createJournalEntrySchema(config, accountModelName, options = {}) {
421
591
  return schema;
422
592
  }
423
593
  //#endregion
424
- //#region src/schemas/fiscal-period.schema.ts
425
- /**
426
- * Fiscal Period Schema Factory
427
- *
428
- * Creates a Mongoose schema for tracking fiscal periods (months, quarters, years).
429
- * Supports closing periods to lock entries.
430
- */
431
- function createFiscalPeriodSchema(config, options = {}) {
432
- const { multiTenant } = config;
433
- const { indexes = true, extraFields = {}, extraIndexes = [] } = options;
434
- const fields = {
435
- name: {
436
- type: String,
437
- required: true
438
- },
439
- startDate: {
440
- type: Date,
441
- required: true
442
- },
443
- endDate: {
444
- type: Date,
445
- required: true
446
- },
447
- closed: {
448
- type: Boolean,
449
- default: false
450
- },
451
- closedAt: {
452
- type: Date,
453
- default: null
454
- },
455
- closedBy: {
456
- type: String,
457
- default: null
458
- },
459
- closingEntryId: {
460
- type: mongoose.Schema.Types.ObjectId,
461
- default: null
462
- },
463
- reopenedAt: {
464
- type: Date,
465
- default: null
466
- },
467
- reopenedBy: {
468
- type: String,
469
- default: null
470
- },
471
- ...extraFields
472
- };
473
- if (multiTenant) fields[multiTenant.orgField] = {
474
- type: mongoose.Schema.Types.ObjectId,
475
- ref: multiTenant.orgRef,
476
- required: true
477
- };
478
- const schema = new mongoose.Schema(fields, { timestamps: true });
479
- if (indexes) if (multiTenant) {
480
- const org = multiTenant.orgField;
481
- schema.index({
482
- [org]: 1,
483
- startDate: 1,
484
- endDate: 1
485
- }, { unique: true });
486
- schema.index({
487
- [org]: 1,
488
- closed: 1
489
- });
490
- } else {
491
- schema.index({
492
- startDate: 1,
493
- endDate: 1
494
- }, { unique: true });
495
- schema.index({ closed: 1 });
496
- }
497
- for (const idx of extraIndexes) schema.index(idx.fields, idx.options);
498
- schema.pre("validate", async function() {
499
- const doc = this;
500
- if (!doc.startDate || !doc.endDate) return;
501
- const overlapQuery = {
502
- _id: { $ne: doc._id },
503
- startDate: { $lt: doc.endDate },
504
- endDate: { $gt: doc.startDate }
505
- };
506
- if (multiTenant) overlapQuery[multiTenant.orgField] = doc[multiTenant.orgField];
507
- const overlap = await doc.collection.findOne(overlapQuery);
508
- if (overlap) {
509
- const msg = `Fiscal period overlaps with existing period "${overlap.name}" (${new Date(overlap.startDate).toISOString().split("T")[0]} – ${new Date(overlap.endDate).toISOString().split("T")[0]}).`;
510
- doc.invalidate("startDate", msg, doc.startDate, "overlap");
511
- }
512
- });
513
- return schema;
514
- }
515
- //#endregion
516
- //#region src/schemas/budget.schema.ts
517
- /**
518
- * Budget Schema Factory
519
- *
520
- * Creates a Mongoose schema for budget records.
521
- * Each record represents a budgeted amount for an account over a specific period.
522
- * All monetary amounts are in integer cents.
523
- */
524
- function createBudgetSchema(config, options = {}) {
525
- const { multiTenant } = config;
526
- const { indexes = true, extraFields = {}, extraIndexes = [] } = options;
527
- const fields = {
528
- account: {
529
- type: mongoose.Schema.Types.ObjectId,
530
- ref: "Account",
531
- required: true
532
- },
533
- periodStart: {
534
- type: Date,
535
- required: true
536
- },
537
- periodEnd: {
538
- type: Date,
539
- required: true
540
- },
541
- amount: {
542
- type: Number,
543
- required: true,
544
- validate: {
545
- validator: (v) => Number.isInteger(v),
546
- message: "amount must be an integer (cents)."
547
- }
548
- },
549
- label: {
550
- type: String,
551
- default: null
552
- },
553
- ...extraFields
554
- };
555
- if (multiTenant) fields[multiTenant.orgField] = {
556
- type: mongoose.Schema.Types.ObjectId,
557
- ref: multiTenant.orgRef,
558
- required: true
559
- };
560
- const schema = new mongoose.Schema(fields, { timestamps: true });
561
- schema.pre("validate", function() {
562
- const doc = this;
563
- if (doc.periodStart && doc.periodEnd && doc.periodEnd <= doc.periodStart) doc.invalidate("periodEnd", "periodEnd must be after periodStart.", doc.periodEnd, "periodEnd");
564
- });
565
- if (indexes) if (multiTenant) {
566
- const org = multiTenant.orgField;
567
- schema.index({
568
- [org]: 1,
569
- account: 1,
570
- periodStart: 1,
571
- periodEnd: 1
572
- }, { unique: true });
573
- schema.index({
574
- [org]: 1,
575
- periodStart: 1,
576
- periodEnd: 1
577
- });
578
- } else {
579
- schema.index({
580
- account: 1,
581
- periodStart: 1,
582
- periodEnd: 1
583
- }, { unique: true });
584
- schema.index({
585
- periodStart: 1,
586
- periodEnd: 1
587
- });
588
- }
589
- for (const idx of extraIndexes) schema.index(idx.fields, idx.options);
590
- return schema;
591
- }
592
- //#endregion
593
594
  //#region src/schemas/reconciliation.schema.ts
594
595
  /**
595
596
  * Reconciliation Schema Factory
@@ -662,4 +663,4 @@ function createReconciliationSchema(config, accountModelName, journalEntryModelN
662
663
  return schema;
663
664
  }
664
665
  //#endregion
665
- export { createAccountSchema as a, createJournalEntrySchema as i, createBudgetSchema as n, createFiscalPeriodSchema as r, createReconciliationSchema as t };
666
+ export { createAccountSchema as a, createBudgetSchema as i, createJournalEntrySchema as n, createFiscalPeriodSchema as r, createReconciliationSchema as t };
@@ -1,2 +1,2 @@
1
- import { $ as BudgetVsActualReport, A as generateGeneralLedger, C as FiscalCloseResult, D as CashFlowOptions, E as reopenFiscalPeriod, F as TrialBalanceOptions, I as generateTrialBalance, M as generateIncomeStatement, N as BalanceSheetOptions, O as generateCashFlow, P as generateBalanceSheet, Q as BudgetVsActualParams, S as FiscalCloseOptions, T as closeFiscalPeriod, Z as BudgetVsActualOptions, _ as DimensionBreakdownOptions, b as DimensionBreakdownRow, d as AgedBalanceParams, et as BudgetVsActualRow, f as AgedBalanceReport, g as generateAgedBalance, h as DEFAULT_BUCKETS, i as generateRevaluation, j as IncomeStatementOptions, k as GeneralLedgerOptions, m as AgedBucketConfig, n as RevaluationParams, p as AgedBalanceRow, r as RevaluationReport, t as RevaluationOptions, tt as generateBudgetVsActual, u as AgedBalanceOptions, v as DimensionBreakdownParams, w as FiscalReopenResult, x as generateDimensionBreakdown, y as DimensionBreakdownReport } from "../revaluation-D9x0NE8w.mjs";
1
+ import { $ as AgedBucketConfig, A as BudgetVsActualReport, C as DimensionBreakdownReport, D as generateCashFlow, E as CashFlowOptions, M as generateBudgetVsActual, N as BalanceSheetOptions, O as BudgetVsActualOptions, P as generateBalanceSheet, Q as AgedBalanceRow, S as DimensionBreakdownParams, T as generateDimensionBreakdown, X as AgedBalanceParams, Y as AgedBalanceOptions, Z as AgedBalanceReport, _ as FiscalCloseResult, a as RevaluationReport, b as reopenFiscalPeriod, et as DEFAULT_BUCKETS, f as IncomeStatementOptions, g as FiscalCloseOptions, h as generateGeneralLedger, i as RevaluationParams, j as BudgetVsActualRow, k as BudgetVsActualParams, m as GeneralLedgerOptions, n as generateTrialBalance, o as generateRevaluation, p as generateIncomeStatement, r as RevaluationOptions, t as TrialBalanceOptions, tt as generateAgedBalance, v as FiscalReopenResult, w as DimensionBreakdownRow, x as DimensionBreakdownOptions, y as closeFiscalPeriod } from "../trial-balance-DcQ0xj_4.mjs";
2
2
  export { type AgedBalanceOptions, type AgedBalanceParams, type AgedBalanceReport, type AgedBalanceRow, type AgedBucketConfig, type BalanceSheetOptions, type BudgetVsActualOptions, type BudgetVsActualParams, type BudgetVsActualReport, type BudgetVsActualRow, type CashFlowOptions, DEFAULT_BUCKETS, type DimensionBreakdownOptions, type DimensionBreakdownParams, type DimensionBreakdownReport, type DimensionBreakdownRow, type FiscalCloseOptions, type FiscalCloseResult, type FiscalReopenResult, type GeneralLedgerOptions, type IncomeStatementOptions, type RevaluationOptions, type RevaluationParams, type RevaluationReport, type TrialBalanceOptions, closeFiscalPeriod, generateAgedBalance, generateBalanceSheet, generateBudgetVsActual, generateCashFlow, generateDimensionBreakdown, generateGeneralLedger, generateIncomeStatement, generateRevaluation, generateTrialBalance, reopenFiscalPeriod };
@@ -1,2 +1,2 @@
1
- import { d as DEFAULT_BUCKETS, f as generateAgedBalance, g as generateBalanceSheet, h as generateIncomeStatement, l as generateBudgetVsActual, m as generateGeneralLedger, n as reopenFiscalPeriod, o as generateRevaluation, p as generateCashFlow, t as closeFiscalPeriod, u as generateDimensionBreakdown, x as generateTrialBalance } from "../fiscal-close-B6LhQ10f.mjs";
1
+ import { C as DEFAULT_BUCKETS, d as generateGeneralLedger, f as generateDimensionBreakdown, h as generateBalanceSheet, m as generateBudgetVsActual, n as reopenFiscalPeriod, o as generateTrialBalance, p as generateCashFlow, s as generateRevaluation, t as closeFiscalPeriod, u as generateIncomeStatement, w as generateAgedBalance } from "../fiscal-close-DmPV82e4.mjs";
2
2
  export { DEFAULT_BUCKETS, closeFiscalPeriod, generateAgedBalance, generateBalanceSheet, generateBudgetVsActual, generateCashFlow, generateDimensionBreakdown, generateGeneralLedger, generateIncomeStatement, generateRevaluation, generateTrialBalance, reopenFiscalPeriod };
@@ -1,2 +1,2 @@
1
- import { n as wireAccountMethods, r as wireJournalEntryMethods, t as wireReconciliationMethods } from "../reconciliation.repository-CW4-8q90.mjs";
1
+ import { n as wireJournalEntryMethods, r as wireAccountMethods, t as wireReconciliationMethods } from "../reconciliation.repository-DEybU_Ok.mjs";
2
2
  export { wireAccountMethods, wireJournalEntryMethods, wireReconciliationMethods };
@@ -1,2 +1,2 @@
1
- import { n as wireJournalEntryMethods, r as wireReconciliationMethods, t as wireAccountMethods } from "../account.repository-BpkSd6q3.mjs";
1
+ import { n as wireJournalEntryMethods, r as wireAccountMethods, t as wireReconciliationMethods } from "../reconciliation.repository-DgJEDVS-.mjs";
2
2
  export { wireAccountMethods, wireJournalEntryMethods, wireReconciliationMethods };
@@ -1,5 +1,5 @@
1
- import { o as SchemaOptions, t as AccountingEngineConfig } from "../engine-Cn-9yerQ.mjs";
2
- import { n as createJournalEntrySchema, r as createAccountSchema, t as createFiscalPeriodSchema } from "../fiscal-period.schema-BMnlI9H5.mjs";
1
+ import { o as SchemaOptions, t as AccountingEngineConfig } from "../engine-DF-MtsEr.mjs";
2
+ import { n as createFiscalPeriodSchema, r as createAccountSchema, t as createJournalEntrySchema } from "../journal-entry.schema-B1CzLwC3.mjs";
3
3
  import mongoose from "mongoose";
4
4
 
5
5
  //#region src/schemas/budget.schema.d.ts
@@ -13,9 +13,9 @@ declare function createBudgetSchema(config: AccountingEngineConfig, options?: Sc
13
13
  [x: string]: any;
14
14
  } & mongoose.DefaultTimestampProps, {
15
15
  id: string;
16
- }, mongoose.MergeType<mongoose.DefaultSchemaOptions, {
16
+ }, Omit<mongoose.DefaultSchemaOptions, "timestamps"> & {
17
17
  timestamps: true;
18
- }>> & Omit<{
18
+ }> & Omit<{
19
19
  [x: number]: any;
20
20
  [x: string]: any;
21
21
  } & mongoose.DefaultTimestampProps & {
@@ -46,9 +46,9 @@ declare function createReconciliationSchema(config: AccountingEngineConfig, acco
46
46
  [x: string]: any;
47
47
  } & mongoose.DefaultTimestampProps, {
48
48
  id: string;
49
- }, mongoose.MergeType<mongoose.DefaultSchemaOptions, {
49
+ }, Omit<mongoose.DefaultSchemaOptions, "timestamps"> & {
50
50
  timestamps: true;
51
- }>> & Omit<{
51
+ }> & Omit<{
52
52
  [x: number]: any;
53
53
  [x: string]: any;
54
54
  } & mongoose.DefaultTimestampProps & {
@@ -1,2 +1,2 @@
1
- import { a as createAccountSchema, i as createJournalEntrySchema, n as createBudgetSchema, r as createFiscalPeriodSchema, t as createReconciliationSchema } from "../reconciliation.schema-BuetvZTd.mjs";
1
+ import { a as createAccountSchema, i as createBudgetSchema, n as createJournalEntrySchema, r as createFiscalPeriodSchema, t as createReconciliationSchema } from "../reconciliation.schema-KScbsXbY.mjs";
2
2
  export { createAccountSchema, createBudgetSchema, createFiscalPeriodSchema, createJournalEntrySchema, createReconciliationSchema };
@@ -1,4 +1,4 @@
1
- import { n as Errors } from "./errors-B7yC-Jfw.mjs";
1
+ import { n as Errors } from "./errors-BoGUSUYL.mjs";
2
2
  //#region src/utils/tenant-guard.ts
3
3
  /**
4
4
  * Multi-tenant scope guard.