@mulmoclaude/accounting-plugin 1.0.0 → 1.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 (54) hide show
  1. package/dist/server/accountNormalize.d.ts +1 -1
  2. package/dist/server/accountNormalize.d.ts.map +1 -1
  3. package/dist/server/context.d.ts +3 -10
  4. package/dist/server/context.d.ts.map +1 -1
  5. package/dist/server/defaultAccounts.d.ts +1 -1
  6. package/dist/server/defaultAccounts.d.ts.map +1 -1
  7. package/dist/server/http.d.ts.map +1 -1
  8. package/dist/server/index.d.ts +1 -1
  9. package/dist/server/index.d.ts.map +1 -1
  10. package/dist/server/io.d.ts +2 -1
  11. package/dist/server/io.d.ts.map +1 -1
  12. package/dist/server/journal.d.ts +1 -1
  13. package/dist/server/journal.d.ts.map +1 -1
  14. package/dist/server/openingBalances.d.ts +1 -1
  15. package/dist/server/openingBalances.d.ts.map +1 -1
  16. package/dist/server/report.d.ts +6 -64
  17. package/dist/server/report.d.ts.map +1 -1
  18. package/dist/server/service.d.ts +1 -1
  19. package/dist/server/service.d.ts.map +1 -1
  20. package/dist/server/snapshotCache.d.ts +2 -1
  21. package/dist/server/snapshotCache.d.ts.map +1 -1
  22. package/dist/server/timeSeries.d.ts +1 -1
  23. package/dist/server/timeSeries.d.ts.map +1 -1
  24. package/dist/server/types.d.ts +1 -123
  25. package/dist/server/types.d.ts.map +1 -1
  26. package/dist/server.cjs +22 -73
  27. package/dist/server.cjs.map +1 -1
  28. package/dist/server.js +14 -65
  29. package/dist/server.js.map +1 -1
  30. package/dist/shared/errors.d.ts +1 -1
  31. package/dist/shared/errors.d.ts.map +1 -1
  32. package/dist/shared/index.d.ts +1 -0
  33. package/dist/shared/index.d.ts.map +1 -1
  34. package/dist/shared/types.d.ts +188 -0
  35. package/dist/shared/types.d.ts.map +1 -0
  36. package/dist/shared-CcU3_qAa.cjs +749 -0
  37. package/dist/shared-CcU3_qAa.cjs.map +1 -0
  38. package/dist/shared-MOpJ1kUa.js +516 -0
  39. package/dist/shared-MOpJ1kUa.js.map +1 -0
  40. package/dist/shared.cjs +40 -519
  41. package/dist/shared.js +2 -483
  42. package/dist/vue/api.d.ts +2 -121
  43. package/dist/vue/api.d.ts.map +1 -1
  44. package/dist/vue/lang/index.d.ts +204 -215
  45. package/dist/vue/lang/index.d.ts.map +1 -1
  46. package/dist/vue.cjs +1651 -1678
  47. package/dist/vue.cjs.map +1 -1
  48. package/dist/vue.js +1652 -1679
  49. package/dist/vue.js.map +1 -1
  50. package/package.json +11 -6
  51. package/dist/server/atomic.d.ts +0 -15
  52. package/dist/server/atomic.d.ts.map +0 -1
  53. package/dist/shared.cjs.map +0 -1
  54. package/dist/shared.js.map +0 -1
package/dist/shared.cjs CHANGED
@@ -1,520 +1,41 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/shared/actions.ts
3
- var ACCOUNTING_ACTIONS = {
4
- openBook: "openBook",
5
- getBooks: "getBooks",
6
- createBook: "createBook",
7
- updateBook: "updateBook",
8
- deleteBook: "deleteBook",
9
- getAccounts: "getAccounts",
10
- upsertAccount: "upsertAccount",
11
- addEntries: "addEntries",
12
- voidEntry: "voidEntry",
13
- getJournalEntries: "getJournalEntries",
14
- getOpeningBalances: "getOpeningBalances",
15
- setOpeningBalances: "setOpeningBalances",
16
- getReport: "getReport",
17
- getTimeSeries: "getTimeSeries",
18
- rebuildSnapshots: "rebuildSnapshots"
19
- };
20
- //#endregion
21
- //#region src/shared/api.ts
22
- var ACCOUNTING_API = { dispatch: {
23
- path: "/api/accounting",
24
- method: "POST"
25
- } };
26
- //#endregion
27
- //#region src/shared/channels.ts
28
- /** Channel factory for per-book event streams. Subscribers:
29
- * `useAccountingChannel(bookId)`. Publisher: the package's server
30
- * surface `eventPublisher`. */
31
- function bookChannel(bookId) {
32
- return `accounting:${bookId}`;
33
- }
34
- /** Book-list-level channel — a book was created / deleted. Subscribers
35
- * refetch the BookSwitcher dropdown. Mirrors the host META's
36
- * `staticChannels.accountingBooks` literal (kept in sync by value;
37
- * the host META stays the codegen-discoverable source for the
38
- * aggregator merge). */
39
- var ACCOUNTING_BOOKS_CHANNEL = "accounting:books";
40
- /** Event kinds that ride `bookChannel(bookId)`. Single source of
41
- * truth for both publishers (server/accounting) and subscribers
42
- * (the View) — anyone branching on event kind imports from here
43
- * and the type system catches drift on either side.
44
- *
45
- * - `journal` — addEntry / voidEntry hit the books at `period`.
46
- * Refetch the journal list and (if the View is
47
- * showing balances at or after `period`) the
48
- * relevant report.
49
- * - `opening` — setOpeningBalances. Affects every period from
50
- * the opening date forward; refetch everything.
51
- * - `accounts` — chart-of-accounts mutation that may affect
52
- * aggregation (account type changed). Refetch
53
- * accounts and the active report.
54
- * - `snapshotsRebuilding` / `snapshotsReady` — purely informational;
55
- * the View can show a "calculating" spinner
56
- * during rebuild, but the lazy-rebuild safety
57
- * net means a refetch always returns the right
58
- * answer regardless. */
59
- var BOOK_EVENT_KINDS = {
60
- journal: "journal",
61
- opening: "opening",
62
- accounts: "accounts",
63
- snapshotsRebuilding: "snapshots-rebuilding",
64
- snapshotsReady: "snapshots-ready"
65
- };
66
- //#endregion
67
- //#region src/shared/errors.ts
68
- function errorMessage(err, fallback) {
69
- if (err instanceof Error) return err.message;
70
- if (err !== null && typeof err === "object") {
71
- const obj = err;
72
- if (typeof obj.details === "string" && obj.details) return obj.details;
73
- if (typeof obj.message === "string" && obj.message) return obj.message;
74
- }
75
- if (fallback !== void 0) return fallback;
76
- return String(err);
77
- }
78
- //#endregion
79
- //#region src/shared/paths.ts
80
- var ACCOUNTING_DIRS = {
81
- /** `data/accounting/config.json` + the books tree below. */
82
- accounting: "data/accounting",
83
- /** `data/accounting/books/<bookId>/{accounts.json, journal/, snapshots/}`. */
84
- accountingBooks: "data/accounting/books"
85
- };
86
- //#endregion
87
- //#region src/shared/fiscalYear.ts
88
- var FISCAL_YEAR_END_MONTHS = [
89
- 1,
90
- 2,
91
- 3,
92
- 4,
93
- 5,
94
- 6,
95
- 7,
96
- 8,
97
- 9,
98
- 10,
99
- 11,
100
- 12
101
- ];
102
- var DEFAULT_FISCAL_YEAR_END = 12;
103
- /** Legacy calendar-quarter tokens → closing month, for books written
104
- * before the field became a month number. */
105
- var LEGACY_QUARTER_MONTHS = {
106
- Q1: 3,
107
- Q2: 6,
108
- Q3: 9,
109
- Q4: 12
110
- };
111
- function isFiscalYearEnd(value) {
112
- return typeof value === "number" && Number.isInteger(value) && value >= 1 && value <= 12;
113
- }
114
- /** Normalise any stored / inbound value to a concrete closing month.
115
- * Absent or unrecognised → the default (December); a legacy "Q1".."Q4"
116
- * token → its closing month; a valid 1-12 number → itself. Kept
117
- * tolerant (unknown input) so a legacy book read from disk — or shared
118
- * with an older MulmoTerminal — never breaks the UI or a report. */
119
- function resolveFiscalYearEnd(value) {
120
- if (isFiscalYearEnd(value)) return value;
121
- if (typeof value === "string" && Object.hasOwn(LEGACY_QUARTER_MONTHS, value)) return LEGACY_QUARTER_MONTHS[value];
122
- return 12;
123
- }
124
- /** Last calendar month (1-12) of the fiscal year. The stored token IS
125
- * the closing month now, so this reads as `resolveFiscalYearEnd` under
126
- * a name that states intent at the call sites (and still absorbs a
127
- * stray legacy token defensively). */
128
- function fiscalYearEndMonth(end) {
129
- return resolveFiscalYearEnd(end);
130
- }
131
- /** Localised label for a fiscal-year-end month, showing that month's
132
- * last day — e.g. 8 → "August 31" / "8月31日" / "31 de agosto". Uses a
133
- * fixed non-leap reference year, so February reads as the 28th; this
134
- * is display only — the engine still computes the real last day
135
- * (Feb 29 in a leap year) at runtime. */
136
- function fiscalYearEndMonthLabel(month, locale) {
137
- const lastDay = new Date(Date.UTC(2001, month, 0));
138
- try {
139
- return new Intl.DateTimeFormat(locale, {
140
- month: "long",
141
- day: "numeric",
142
- timeZone: "UTC"
143
- }).format(lastDay);
144
- } catch {
145
- return String(month);
146
- }
147
- }
148
- function pad2$1(num) {
149
- return String(num).padStart(2, "0");
150
- }
151
- function lastDayOfMonth(year, monthZeroBased) {
152
- return new Date(year, monthZeroBased + 1, 0).getDate();
153
- }
154
- function ymd(year, monthOneBased, day) {
155
- return `${year}-${pad2$1(monthOneBased)}-${pad2$1(day)}`;
156
- }
157
- /** Fiscal quarter index (0..3) of the given local date under `end`,
158
- * where 0 is the first quarter of the fiscal year (right after the
159
- * prior year's close) and 3 is the closing quarter. */
160
- function fiscalQuarterIndex(end, today) {
161
- const closingMonth = fiscalYearEndMonth(end);
162
- const offset = (today.getMonth() + 1 - closingMonth - 1 + 12) % 12;
163
- return Math.floor(offset / 3);
164
- }
165
- /** Calendar (year, monthOneBased) of the *first* month of the fiscal
166
- * quarter at index `index` in the fiscal year that *contains*
167
- * `today`. Returned both as the first day of that month and as the
168
- * count of months covered (always 3 — exposed as a constant). */
169
- function fiscalQuarterStart(end, today, index) {
170
- const closingMonth = fiscalYearEndMonth(end);
171
- const todayMonth = today.getMonth() + 1;
172
- const todayYear = today.getFullYear();
173
- const startMonth = closingMonth % 12 + 1;
174
- const fyStartYear = todayMonth >= startMonth ? todayYear : todayYear - 1;
175
- const flatMonth = startMonth + index * 3;
176
- return {
177
- year: fyStartYear + Math.floor((flatMonth - 1) / 12),
178
- month: (flatMonth - 1) % 12 + 1
179
- };
180
- }
181
- function quarterRangeAt(end, today, index) {
182
- const start = fiscalQuarterStart(end, today, index);
183
- const lastMonthFlat = start.month - 1 + 2;
184
- const lastMonthYear = start.year + Math.floor(lastMonthFlat / 12);
185
- const lastMonth = lastMonthFlat % 12 + 1;
186
- const lastDay = lastDayOfMonth(lastMonthYear, lastMonth - 1);
187
- return {
188
- from: ymd(start.year, start.month, 1),
189
- to: ymd(lastMonthYear, lastMonth, lastDay)
190
- };
191
- }
192
- function currentQuarterRange(end, today = /* @__PURE__ */ new Date()) {
193
- return quarterRangeAt(end, today, fiscalQuarterIndex(end, today));
194
- }
195
- function previousQuarterRange(end, today = /* @__PURE__ */ new Date()) {
196
- const idx = fiscalQuarterIndex(end, today);
197
- if (idx > 0) return quarterRangeAt(end, today, idx - 1);
198
- return quarterRangeAt(end, new Date(today.getFullYear(), today.getMonth() - 3, 1), 3);
199
- }
200
- /** Current fiscal year — Q0 start through Q3 close. */
201
- function currentFiscalYearRange(end, today = /* @__PURE__ */ new Date()) {
202
- const first = quarterRangeAt(end, today, 0);
203
- const last = quarterRangeAt(end, today, 3);
204
- return {
205
- from: first.from,
206
- to: last.to
207
- };
208
- }
209
- function previousFiscalYearRange(end, today = /* @__PURE__ */ new Date()) {
210
- return currentFiscalYearRange(end, new Date(today.getFullYear() - 1, today.getMonth(), today.getDate()));
211
- }
212
- //#endregion
213
- //#region src/shared/countries.ts
214
- /** ISO 3166-1 alpha-2 country codes shown in the book country
215
- * dropdown. Curated to cover every jurisdiction the Accounting role
216
- * has explicit tax-registration advice for, plus the major economies
217
- * represented in `SUPPORTED_CURRENCY_CODES`. */
218
- var SUPPORTED_COUNTRY_CODES = [
219
- "US",
220
- "JP",
221
- "GB",
222
- "CA",
223
- "AU",
224
- "NZ",
225
- "DE",
226
- "FR",
227
- "IT",
228
- "ES",
229
- "NL",
230
- "BE",
231
- "AT",
232
- "IE",
233
- "PT",
234
- "FI",
235
- "SE",
236
- "DK",
237
- "PL",
238
- "CH",
239
- "NO",
240
- "CN",
241
- "KR",
242
- "TW",
243
- "HK",
244
- "SG",
245
- "IN",
246
- "BR",
247
- "MX"
248
- ];
249
- /** EU member states as of 2026. Used by the role-prompt advice path
250
- * to recommend a VAT identification number when the book country is
251
- * in the EU. */
252
- var EU_COUNTRY_CODES = /* @__PURE__ */ new Set([
253
- "AT",
254
- "BE",
255
- "BG",
256
- "CY",
257
- "CZ",
258
- "DE",
259
- "DK",
260
- "EE",
261
- "ES",
262
- "FI",
263
- "FR",
264
- "GR",
265
- "HR",
266
- "HU",
267
- "IE",
268
- "IT",
269
- "LT",
270
- "LU",
271
- "LV",
272
- "MT",
273
- "NL",
274
- "PL",
275
- "PT",
276
- "RO",
277
- "SE",
278
- "SI",
279
- "SK"
280
- ]);
281
- /** Localized human name for a country code. Falls back to the code
282
- * itself if the runtime can't resolve the name. */
283
- function localizedCountryName(code, locale) {
284
- try {
285
- return new Intl.DisplayNames([locale], { type: "region" }).of(code) ?? code;
286
- } catch {
287
- return code;
288
- }
289
- }
290
- /** Runtime guard for `BookSummary.country`. The type is the union
291
- * `SupportedCountryCode`, but every entry point that takes user /
292
- * LLM input arrives as raw `string` (form submit, JSON-RPC body),
293
- * so the service layer narrows here before persisting. */
294
- function isSupportedCountryCode(value) {
295
- return typeof value === "string" && SUPPORTED_COUNTRY_CODES.includes(value);
296
- }
297
- /** Country-gated UI features. Each key is a feature name; the value
298
- * is the set of country codes for which the feature is enabled.
299
- * Components ask `countryHasFeature("...", country)` instead of
300
- * hard-coding country lists at the call site.
301
- *
302
- * Add a new country-specific feature by adding a new key here and
303
- * reading it via `countryHasFeature`. An unknown / undefined
304
- * country never has any feature — components fall back to neutral
305
- * default UI rather than guessing.
306
- *
307
- * Mirrors the "Country-aware tax behaviour" prose in the
308
- * Accounting role prompt (`src/config/roles.ts`). The two MUST
309
- * stay in sync — drift means the LLM and the form give the user
310
- * contradictory advice. The prompt is the source of truth for
311
- * agent behaviour; this table is structured-data sibling for the
312
- * form. */
313
- var COUNTRY_FEATURES = {
314
- /** Show an amber "missing tax ID" warning + helper text on a
315
- * postable 14xx (input-tax) line whose taxRegistrationId is
316
- * blank. Limited to jurisdictions where the role prompt
317
- * explicitly requires the counterparty registration number
318
- * (JP T-number, EU VAT ID, GB VAT, GSTIN, ABN, NZ GST, CA BN).
319
- * The "other countries" bucket and US (no federal sales-tax
320
- * registration) intentionally stay quiet. 24xx output-tax
321
- * lines don't trigger the warning — see `isTaxAccountCode`. */
322
- warnMissingTaxRegistrationId: /* @__PURE__ */ new Set([
323
- "JP",
324
- "GB",
325
- "DE",
326
- "FR",
327
- "IT",
328
- "ES",
329
- "NL",
330
- "BE",
331
- "AT",
332
- "IE",
333
- "PT",
334
- "FI",
335
- "SE",
336
- "DK",
337
- "PL",
338
- "IN",
339
- "AU",
340
- "NZ",
341
- "CA"
342
- ]) };
343
- /** Resolve a country-gated feature flag. Returns `false` when the
344
- * country is undefined / unsupported — components default to the
345
- * neutral path (no warning, no extra UI) rather than guessing. */
346
- function countryHasFeature(feature, country) {
347
- if (!country) return false;
348
- return COUNTRY_FEATURES[feature].has(country);
349
- }
350
- //#endregion
351
- //#region src/shared/currencies.ts
352
- /** ISO 4217 codes shown in the New Book dropdown. Curated for
353
- * recognisability — Intl.DisplayNames provides the localised
354
- * human name at render time, so this stays a flat list of codes. */
355
- var SUPPORTED_CURRENCY_CODES = [
356
- "USD",
357
- "EUR",
358
- "JPY",
359
- "GBP",
360
- "CNY",
361
- "KRW",
362
- "TWD",
363
- "HKD",
364
- "SGD",
365
- "AUD",
366
- "CAD",
367
- "CHF",
368
- "INR",
369
- "BRL",
370
- "MXN"
371
- ];
372
- var DEFAULT_FALLBACK_DIGITS = 2;
373
- /** Localised human name for a currency code. Falls back to the
374
- * code itself if the runtime can't resolve the name. */
375
- function localizedCurrencyName(code, locale) {
376
- try {
377
- return new Intl.DisplayNames([locale], { type: "currency" }).of(code) ?? code;
378
- } catch {
379
- return code;
380
- }
381
- }
382
- /** Number of fraction digits ISO 4217 specifies for a currency.
383
- * JPY = 0, USD = 2, KWD = 3. Used both for amount formatting and
384
- * for the HTML input step on debit/credit fields. */
385
- function fractionDigitsFor(currency) {
386
- try {
387
- return new Intl.NumberFormat("en", {
388
- style: "currency",
389
- currency
390
- }).resolvedOptions().maximumFractionDigits ?? DEFAULT_FALLBACK_DIGITS;
391
- } catch {
392
- return DEFAULT_FALLBACK_DIGITS;
393
- }
394
- }
395
- /** "1" for JPY, "0.01" for USD, "0.001" for KWD. Used as the HTML
396
- * input step on debit/credit fields so a JPY book doesn't let the
397
- * user type cents that would just round-trip back through the
398
- * decimal validator. */
399
- function inputStepFor(currency) {
400
- const digits = fractionDigitsFor(currency);
401
- if (digits === 0) return "1";
402
- return (1 / 10 ** digits).toFixed(digits);
403
- }
404
- /** Locale-aware currency formatter — returns "¥1,130" / "$1,130.00"
405
- * etc. Falls back to fixed-point formatting if the runtime can't
406
- * resolve the currency code; the fallback still respects the
407
- * currency's natural fraction-digit count so JPY shows whole
408
- * numbers even on the slow path. */
409
- function formatAmount(value, currency, locale) {
410
- try {
411
- return new Intl.NumberFormat(locale, {
412
- style: "currency",
413
- currency
414
- }).format(value);
415
- } catch {
416
- return value.toFixed(fractionDigitsFor(currency));
417
- }
418
- }
419
- /** Currency-agnostic amount formatter — "1,130.00" — for places that
420
- * don't carry the currency code on the data path (compact preview
421
- * envelopes etc.). Use `formatAmount(value, currency)` whenever the
422
- * currency IS available — the currency-aware path picks the right
423
- * fraction-digit count automatically (JPY = 0, USD = 2).
424
- *
425
- * `locale` mirrors `formatAmount`'s signature: pass an explicit BCP-47
426
- * locale (`"en-US"`, `"ja-JP"`, …) when the caller knows the desired
427
- * grouping / digit-shape; omit to fall back to the runtime default. */
428
- function formatAmountNumeric(value, decimals = 2, locale) {
429
- return value.toLocaleString(locale, {
430
- minimumFractionDigits: decimals,
431
- maximumFractionDigits: decimals
432
- });
433
- }
434
- //#endregion
435
- //#region src/shared/dates.ts
436
- function pad2(num) {
437
- return String(num).padStart(2, "0");
438
- }
439
- /** Today as `YYYY-MM-DD` in the user's local timezone. */
440
- function localDateString(now = /* @__PURE__ */ new Date()) {
441
- return `${now.getFullYear()}-${pad2(now.getMonth() + 1)}-${pad2(now.getDate())}`;
442
- }
443
- /** Current month as `YYYY-MM` in the user's local timezone. */
444
- function localMonthString(now = /* @__PURE__ */ new Date()) {
445
- return `${now.getFullYear()}-${pad2(now.getMonth() + 1)}`;
446
- }
447
- /** First day of the current calendar year as `YYYY-MM-DD`. */
448
- function localStartOfYearString(now = /* @__PURE__ */ new Date()) {
449
- return `${now.getFullYear()}-01-01`;
450
- }
451
- /** Previous calendar month as `YYYY-MM` in the user's local timezone. */
452
- function previousMonthString(now = /* @__PURE__ */ new Date()) {
453
- const target = new Date(now.getFullYear(), now.getMonth() - 1, 1);
454
- return `${target.getFullYear()}-${pad2(target.getMonth() + 1)}`;
455
- }
456
- /** Last month of the previous calendar quarter as `YYYY-MM`. Calendar
457
- * quarters: Q1=Jan–Mar, Q2=Apr–Jun, Q3=Jul–Sep, Q4=Oct–Dec. When the
458
- * current month is in Q1, this rolls back to December of last year. */
459
- function lastMonthOfPreviousQuarterString(now = /* @__PURE__ */ new Date()) {
460
- const firstMonthOfCurrentQuarter = Math.floor(now.getMonth() / 3) * 3;
461
- const target = new Date(now.getFullYear(), firstMonthOfCurrentQuarter - 1, 1);
462
- return `${target.getFullYear()}-${pad2(target.getMonth() + 1)}`;
463
- }
464
- /** December of the previous calendar year as `YYYY-MM`. */
465
- function decemberOfPreviousYearString(now = /* @__PURE__ */ new Date()) {
466
- return `${now.getFullYear() - 1}-12`;
467
- }
468
- //#endregion
469
- //#region src/shared/timeSeriesEnums.ts
470
- var TIME_SERIES_METRICS = [
471
- "revenue",
472
- "expense",
473
- "netIncome",
474
- "accountBalance"
475
- ];
476
- var TIME_SERIES_GRANULARITIES = [
477
- "month",
478
- "quarter",
479
- "year"
480
- ];
481
- //#endregion
482
- exports.ACCOUNTING_ACTIONS = ACCOUNTING_ACTIONS;
483
- exports.ACCOUNTING_API = ACCOUNTING_API;
484
- exports.ACCOUNTING_BOOKS_CHANNEL = ACCOUNTING_BOOKS_CHANNEL;
485
- exports.ACCOUNTING_DIRS = ACCOUNTING_DIRS;
486
- exports.BOOK_EVENT_KINDS = BOOK_EVENT_KINDS;
487
- exports.COUNTRY_FEATURES = COUNTRY_FEATURES;
488
- exports.DEFAULT_FISCAL_YEAR_END = DEFAULT_FISCAL_YEAR_END;
489
- exports.EU_COUNTRY_CODES = EU_COUNTRY_CODES;
490
- exports.FISCAL_YEAR_END_MONTHS = FISCAL_YEAR_END_MONTHS;
491
- exports.SUPPORTED_COUNTRY_CODES = SUPPORTED_COUNTRY_CODES;
492
- exports.SUPPORTED_CURRENCY_CODES = SUPPORTED_CURRENCY_CODES;
493
- exports.TIME_SERIES_GRANULARITIES = TIME_SERIES_GRANULARITIES;
494
- exports.TIME_SERIES_METRICS = TIME_SERIES_METRICS;
495
- exports.bookChannel = bookChannel;
496
- exports.countryHasFeature = countryHasFeature;
497
- exports.currentFiscalYearRange = currentFiscalYearRange;
498
- exports.currentQuarterRange = currentQuarterRange;
499
- exports.decemberOfPreviousYearString = decemberOfPreviousYearString;
500
- exports.errorMessage = errorMessage;
501
- exports.fiscalYearEndMonth = fiscalYearEndMonth;
502
- exports.fiscalYearEndMonthLabel = fiscalYearEndMonthLabel;
503
- exports.formatAmount = formatAmount;
504
- exports.formatAmountNumeric = formatAmountNumeric;
505
- exports.fractionDigitsFor = fractionDigitsFor;
506
- exports.inputStepFor = inputStepFor;
507
- exports.isFiscalYearEnd = isFiscalYearEnd;
508
- exports.isSupportedCountryCode = isSupportedCountryCode;
509
- exports.lastMonthOfPreviousQuarterString = lastMonthOfPreviousQuarterString;
510
- exports.localDateString = localDateString;
511
- exports.localMonthString = localMonthString;
512
- exports.localStartOfYearString = localStartOfYearString;
513
- exports.localizedCountryName = localizedCountryName;
514
- exports.localizedCurrencyName = localizedCurrencyName;
515
- exports.previousFiscalYearRange = previousFiscalYearRange;
516
- exports.previousMonthString = previousMonthString;
517
- exports.previousQuarterRange = previousQuarterRange;
518
- exports.resolveFiscalYearEnd = resolveFiscalYearEnd;
519
-
520
- //# sourceMappingURL=shared.cjs.map
2
+ const require_shared = require("./shared-CcU3_qAa.cjs");
3
+ exports.ACCOUNTING_ACTIONS = require_shared.ACCOUNTING_ACTIONS;
4
+ exports.ACCOUNTING_API = require_shared.ACCOUNTING_API;
5
+ exports.ACCOUNTING_BOOKS_CHANNEL = require_shared.ACCOUNTING_BOOKS_CHANNEL;
6
+ exports.ACCOUNTING_DIRS = require_shared.ACCOUNTING_DIRS;
7
+ exports.ACCOUNT_TYPES = require_shared.ACCOUNT_TYPES;
8
+ exports.BALANCE_SHEET_ACCOUNT_TYPES = require_shared.BALANCE_SHEET_ACCOUNT_TYPES;
9
+ exports.BOOK_EVENT_KINDS = require_shared.BOOK_EVENT_KINDS;
10
+ exports.COUNTRY_FEATURES = require_shared.COUNTRY_FEATURES;
11
+ exports.DEFAULT_FISCAL_YEAR_END = require_shared.DEFAULT_FISCAL_YEAR_END;
12
+ exports.EU_COUNTRY_CODES = require_shared.EU_COUNTRY_CODES;
13
+ exports.FISCAL_YEAR_END_MONTHS = require_shared.FISCAL_YEAR_END_MONTHS;
14
+ exports.SUPPORTED_COUNTRY_CODES = require_shared.SUPPORTED_COUNTRY_CODES;
15
+ exports.SUPPORTED_CURRENCY_CODES = require_shared.SUPPORTED_CURRENCY_CODES;
16
+ exports.TIME_SERIES_GRANULARITIES = require_shared.TIME_SERIES_GRANULARITIES;
17
+ exports.TIME_SERIES_METRICS = require_shared.TIME_SERIES_METRICS;
18
+ exports.bookChannel = require_shared.bookChannel;
19
+ exports.countryHasFeature = require_shared.countryHasFeature;
20
+ exports.currentFiscalYearRange = require_shared.currentFiscalYearRange;
21
+ exports.currentQuarterRange = require_shared.currentQuarterRange;
22
+ exports.decemberOfPreviousYearString = require_shared.decemberOfPreviousYearString;
23
+ exports.errorMessage = require_shared.errorMessage;
24
+ exports.fiscalYearEndMonth = require_shared.fiscalYearEndMonth;
25
+ exports.fiscalYearEndMonthLabel = require_shared.fiscalYearEndMonthLabel;
26
+ exports.formatAmount = require_shared.formatAmount;
27
+ exports.formatAmountNumeric = require_shared.formatAmountNumeric;
28
+ exports.fractionDigitsFor = require_shared.fractionDigitsFor;
29
+ exports.inputStepFor = require_shared.inputStepFor;
30
+ exports.isFiscalYearEnd = require_shared.isFiscalYearEnd;
31
+ exports.isSupportedCountryCode = require_shared.isSupportedCountryCode;
32
+ exports.lastMonthOfPreviousQuarterString = require_shared.lastMonthOfPreviousQuarterString;
33
+ exports.localDateString = require_shared.localDateString;
34
+ exports.localMonthString = require_shared.localMonthString;
35
+ exports.localStartOfYearString = require_shared.localStartOfYearString;
36
+ exports.localizedCountryName = require_shared.localizedCountryName;
37
+ exports.localizedCurrencyName = require_shared.localizedCurrencyName;
38
+ exports.previousFiscalYearRange = require_shared.previousFiscalYearRange;
39
+ exports.previousMonthString = require_shared.previousMonthString;
40
+ exports.previousQuarterRange = require_shared.previousQuarterRange;
41
+ exports.resolveFiscalYearEnd = require_shared.resolveFiscalYearEnd;