@mulmoclaude/accounting-plugin 0.2.0 → 0.3.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.
- package/dist/server/io.d.ts.map +1 -1
- package/dist/server/router.d.ts.map +1 -1
- package/dist/server/service.d.ts +2 -2
- package/dist/server/service.d.ts.map +1 -1
- package/dist/server/types.d.ts +7 -6
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server.cjs +38 -10
- package/dist/server.cjs.map +1 -1
- package/dist/server.js +39 -11
- package/dist/server.js.map +1 -1
- package/dist/shared/fiscalYear.d.ts +19 -8
- package/dist/shared/fiscalYear.d.ts.map +1 -1
- package/dist/shared.cjs +55 -17
- package/dist/shared.cjs.map +1 -1
- package/dist/shared.js +54 -17
- package/dist/shared.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/vue/api.d.ts +10 -10
- package/dist/vue/api.d.ts.map +1 -1
- package/dist/vue/components/BookSettings.vue.d.ts.map +1 -1
- package/dist/vue/components/NewBookForm.vue.d.ts.map +1 -1
- package/dist/vue/lang/de.d.ts.map +1 -1
- package/dist/vue/lang/en.d.ts +0 -4
- package/dist/vue/lang/en.d.ts.map +1 -1
- package/dist/vue/lang/es.d.ts.map +1 -1
- package/dist/vue/lang/fr.d.ts.map +1 -1
- package/dist/vue/lang/index.d.ts +0 -4
- package/dist/vue/lang/index.d.ts.map +1 -1
- package/dist/vue/lang/ja.d.ts.map +1 -1
- package/dist/vue/lang/ko.d.ts.map +1 -1
- package/dist/vue/lang/ptBR.d.ts.map +1 -1
- package/dist/vue/lang/zh.d.ts.map +1 -1
- package/dist/vue.cjs +16 -48
- package/dist/vue.cjs.map +1 -1
- package/dist/vue.js +17 -49
- package/dist/vue.js.map +1 -1
- package/package.json +3 -3
package/dist/server/io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/server/io.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/server/io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAiVpD;;;2BAG2B;AAC3B,wBAAgB,sBAAsB,IAAI,MAAM,CAsC/C"}
|
package/dist/server/service.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare function createBook(input: {
|
|
|
15
15
|
name: string;
|
|
16
16
|
currency?: string;
|
|
17
17
|
country?: string;
|
|
18
|
-
fiscalYearEnd?:
|
|
18
|
+
fiscalYearEnd?: number;
|
|
19
19
|
}, workspaceRoot?: string): Promise<{
|
|
20
20
|
book: BookSummary;
|
|
21
21
|
}>;
|
|
@@ -23,7 +23,7 @@ export declare function updateBook(input: {
|
|
|
23
23
|
bookId: string;
|
|
24
24
|
name?: string;
|
|
25
25
|
country?: string;
|
|
26
|
-
fiscalYearEnd?:
|
|
26
|
+
fiscalYearEnd?: number;
|
|
27
27
|
}, workspaceRoot?: string): Promise<{
|
|
28
28
|
book: BookSummary;
|
|
29
29
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAoB,eAAe,EAA2E,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":"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"}
|
package/dist/server/types.d.ts
CHANGED
|
@@ -40,14 +40,15 @@ export interface BookSummary {
|
|
|
40
40
|
* before the field was introduced; the UI prompts existing books
|
|
41
41
|
* to set it. */
|
|
42
42
|
country?: SupportedCountryCode;
|
|
43
|
-
/**
|
|
44
|
-
*
|
|
43
|
+
/** Calendar month (1-12) on whose LAST DAY the book's fiscal year
|
|
44
|
+
* closes — e.g. 8 = August 31, 12 = December 31 (calendar year).
|
|
45
45
|
* Drives the UI's "current quarter / current year" date-range
|
|
46
46
|
* shortcuts. Optional in the persisted shape for backward
|
|
47
|
-
* compatibility with books written before this field existed
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
47
|
+
* compatibility with books written before this field existed (and
|
|
48
|
+
* with the earlier "Q1".."Q4" token form) — read-side code
|
|
49
|
+
* normalises both via `resolveFiscalYearEnd`, treating an absent
|
|
50
|
+
* value as December. New books require it at the create boundary;
|
|
51
|
+
* the default is 12 (December). */
|
|
51
52
|
fiscalYearEnd?: FiscalYearEnd;
|
|
52
53
|
createdAt: string;
|
|
53
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAErE,eAAO,MAAM,aAAa,gEAAiE,CAAC;AAC5F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;qBAEqB;AACrB,eAAO,MAAM,2BAA2B,EAAE,SAAS,WAAW,EAAqC,CAAC;AAEpG,MAAM,WAAW,OAAO;IACtB;;0DAEsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB;+DAC2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;uDAKmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;kCAC8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;qBASiB;IACjB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAErE,eAAO,MAAM,aAAa,gEAAiE,CAAC;AAC5F,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;qBAEqB;AACrB,eAAO,MAAM,2BAA2B,EAAE,SAAS,WAAW,EAAqC,CAAC;AAEpG,MAAM,WAAW,OAAO;IACtB;;0DAEsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB;+DAC2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;uDAKmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;kCAC8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;qBASiB;IACjB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B;;;;;;;;wCAQoC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;AAE7E,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB;;;4BAGwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;iEAM6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B;qCACiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX;;yDAEqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;kDAE8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;uEAImE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;+DAE2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;wBAGwB;AACxB,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;iCAC6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;iDACiD;AACjD,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
package/dist/server.cjs
CHANGED
|
@@ -166,8 +166,27 @@ async function readJsonStrict(filePath) {
|
|
|
166
166
|
throw err;
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
|
+
/** Migrate a legacy calendar-quarter `fiscalYearEnd` token ("Q1".."Q4")
|
|
170
|
+
* to its closing-month number in memory so every downstream consumer
|
|
171
|
+
* (reports, time-series, the UI selects) sees one shape. Absent stays
|
|
172
|
+
* absent — the field is optional and resolves to the default on read;
|
|
173
|
+
* we don't stamp an explicit December onto a book that never chose one.
|
|
174
|
+
* Nothing is written back here (no auto-migrate on disk). */
|
|
175
|
+
function normalizeBookFiscalYearEnd(book) {
|
|
176
|
+
if (book.fiscalYearEnd === void 0) return book;
|
|
177
|
+
const resolved = require_shared.resolveFiscalYearEnd(book.fiscalYearEnd);
|
|
178
|
+
return book.fiscalYearEnd === resolved ? book : {
|
|
179
|
+
...book,
|
|
180
|
+
fiscalYearEnd: resolved
|
|
181
|
+
};
|
|
182
|
+
}
|
|
169
183
|
async function readConfig(workspaceRoot) {
|
|
170
|
-
|
|
184
|
+
const config = await readJsonStrict(configPath(workspaceRoot));
|
|
185
|
+
if (!config) return null;
|
|
186
|
+
return {
|
|
187
|
+
...config,
|
|
188
|
+
books: config.books.map(normalizeBookFiscalYearEnd)
|
|
189
|
+
};
|
|
171
190
|
}
|
|
172
191
|
async function writeConfig(config, workspaceRoot) {
|
|
173
192
|
await writeJsonAtomic(configPath(workspaceRoot), config);
|
|
@@ -1488,13 +1507,13 @@ function unsupportedCountryError(received) {
|
|
|
1488
1507
|
return new AccountingError(400, `unsupported country code ${JSON.stringify(received)} — must be one of: ${require_shared.SUPPORTED_COUNTRY_CODES.join(", ")}`);
|
|
1489
1508
|
}
|
|
1490
1509
|
function unsupportedFiscalYearEndError(received) {
|
|
1491
|
-
return new AccountingError(400, `unsupported fiscalYearEnd ${JSON.stringify(received)} — must be
|
|
1510
|
+
return new AccountingError(400, `unsupported fiscalYearEnd ${JSON.stringify(received)} — must be a closing-month number ${require_shared.FISCAL_YEAR_END_MONTHS.join(", ")} (1 = January … 12 = December)`);
|
|
1492
1511
|
}
|
|
1493
|
-
/** Narrow a free-form `fiscalYearEnd` input.
|
|
1512
|
+
/** Narrow a free-form `fiscalYearEnd` input. Absent → default
|
|
1494
1513
|
* (back-compat with old callers and pre-field on-disk books); any
|
|
1495
|
-
* other value must
|
|
1514
|
+
* other value must be a month number 1-12 or 400. */
|
|
1496
1515
|
function narrowFiscalYearEnd(raw) {
|
|
1497
|
-
if (raw === void 0
|
|
1516
|
+
if (raw === void 0) return 12;
|
|
1498
1517
|
if (!require_shared.isFiscalYearEnd(raw)) throw unsupportedFiscalYearEndError(raw);
|
|
1499
1518
|
return raw;
|
|
1500
1519
|
}
|
|
@@ -1505,7 +1524,7 @@ function narrowFiscalYearEnd(raw) {
|
|
|
1505
1524
|
function validateUpdateBookInput(input) {
|
|
1506
1525
|
if (input.name !== void 0 && (typeof input.name !== "string" || input.name.trim() === "")) throw new AccountingError(400, "name must be a non-empty string when supplied");
|
|
1507
1526
|
if (input.country !== void 0 && input.country !== "" && !require_shared.isSupportedCountryCode(input.country)) throw unsupportedCountryError(input.country);
|
|
1508
|
-
if (input.fiscalYearEnd !== void 0 &&
|
|
1527
|
+
if (input.fiscalYearEnd !== void 0 && !require_shared.isFiscalYearEnd(input.fiscalYearEnd)) throw unsupportedFiscalYearEndError(input.fiscalYearEnd);
|
|
1509
1528
|
}
|
|
1510
1529
|
async function createBook(input, workspaceRoot) {
|
|
1511
1530
|
if (typeof input.name !== "string" || input.name.trim() === "") throw new AccountingError(400, "name is required");
|
|
@@ -1539,7 +1558,7 @@ async function updateBook(input, workspaceRoot) {
|
|
|
1539
1558
|
...target,
|
|
1540
1559
|
...input.name !== void 0 ? { name: input.name } : {},
|
|
1541
1560
|
...input.country !== void 0 && input.country !== "" ? { country: input.country } : {},
|
|
1542
|
-
...input.fiscalYearEnd !== void 0
|
|
1561
|
+
...input.fiscalYearEnd !== void 0 ? { fiscalYearEnd: input.fiscalYearEnd } : {}
|
|
1543
1562
|
};
|
|
1544
1563
|
if (input.country === "") delete next.country;
|
|
1545
1564
|
await writeConfig({ books: config.books.map((book) => book.id === input.bookId ? next : book) }, workspaceRoot);
|
|
@@ -1824,7 +1843,7 @@ async function loadTimeSeriesBookContext(requestedBookId, workspaceRoot) {
|
|
|
1824
1843
|
const bookId = resolveBookId(config, requestedBookId);
|
|
1825
1844
|
return {
|
|
1826
1845
|
bookId,
|
|
1827
|
-
fiscalYearEnd: findBook(config, bookId)?.fiscalYearEnd
|
|
1846
|
+
fiscalYearEnd: require_shared.resolveFiscalYearEnd(findBook(config, bookId)?.fiscalYearEnd),
|
|
1828
1847
|
accounts: await readAccounts(bookId, workspaceRoot)
|
|
1829
1848
|
};
|
|
1830
1849
|
}
|
|
@@ -1887,6 +1906,15 @@ function asyncHandler(namespace, fallbackMessage, handler) {
|
|
|
1887
1906
|
}
|
|
1888
1907
|
//#endregion
|
|
1889
1908
|
//#region src/server/router.ts
|
|
1909
|
+
/** Coerce an inbound `fiscalYearEnd` to a number. The UI select and
|
|
1910
|
+
* the LLM tool (JSON-schema `number` enum) both send a number, but a
|
|
1911
|
+
* numeric string ("8") from a hand-rolled client is accepted too so
|
|
1912
|
+
* it isn't silently dropped to `undefined` (→ the December default).
|
|
1913
|
+
* Range validation stays authoritative in the service layer. */
|
|
1914
|
+
function coerceFiscalYearEnd(raw) {
|
|
1915
|
+
if (typeof raw === "number") return raw;
|
|
1916
|
+
if (typeof raw === "string" && raw.trim() !== "" && Number.isInteger(Number(raw))) return Number(raw);
|
|
1917
|
+
}
|
|
1890
1918
|
async function handleOpenBook(rest) {
|
|
1891
1919
|
if (typeof rest.bookId !== "string" || rest.bookId === "") throw new AccountingError(400, "openBook: bookId is required. Call 'getBooks' to enumerate, or 'createBook' first on a fresh workspace.");
|
|
1892
1920
|
const list = await listBooks();
|
|
@@ -1935,7 +1963,7 @@ var ACTION_HANDLERS = {
|
|
|
1935
1963
|
name: String(rest.name ?? ""),
|
|
1936
1964
|
currency: typeof rest.currency === "string" ? rest.currency : void 0,
|
|
1937
1965
|
country: typeof rest.country === "string" ? rest.country : void 0,
|
|
1938
|
-
fiscalYearEnd:
|
|
1966
|
+
fiscalYearEnd: coerceFiscalYearEnd(rest.fiscalYearEnd)
|
|
1939
1967
|
});
|
|
1940
1968
|
return {
|
|
1941
1969
|
bookId: result.book.id,
|
|
@@ -1947,7 +1975,7 @@ var ACTION_HANDLERS = {
|
|
|
1947
1975
|
bookId: String(rest.bookId ?? ""),
|
|
1948
1976
|
name: typeof rest.name === "string" ? rest.name : void 0,
|
|
1949
1977
|
country: typeof rest.country === "string" ? rest.country : void 0,
|
|
1950
|
-
fiscalYearEnd:
|
|
1978
|
+
fiscalYearEnd: coerceFiscalYearEnd(rest.fiscalYearEnd)
|
|
1951
1979
|
});
|
|
1952
1980
|
return {
|
|
1953
1981
|
bookId: result.book.id,
|