pm-csv 2026.8.7 → 2026.8.10
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/CHANGELOG.md +23 -0
- package/dist/index.d.ts +135 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +301 -24
- package/dist/index.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026.8.10 - 2026-08-10
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Converge changelog generation and verification on replace mode ([pm-csv-mal7](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/issues/pm-csv-mal7.toon))
|
|
8
|
+
- The release merge-wait read branch protection which the workflow token can never read ([pm-csv-7ifl](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/issues/pm-csv-7ifl.toon))
|
|
9
|
+
|
|
10
|
+
### Other
|
|
11
|
+
|
|
12
|
+
- Adopt the canonical docstring gate against a pm-ops release that skips installed extension artifacts ([pm-csv-hi55](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/tasks/pm-csv-hi55.toon))
|
|
13
|
+
|
|
14
|
+
## 2026.8.9 - 2026-08-09
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Release workflow publishes npm before advancing git main, so a protected-branch push rejection permanently desyncs npm from git ([pm-csv-exz4](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/issues/pm-csv-exz4.toon))
|
|
19
|
+
- The overrun guard asserted a recovery outcome it never checked and reported update failures with no item id ([pm-csv-158c](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/issues/pm-csv-158c.toon))
|
|
20
|
+
- pm shell-outs silently degrade to wrong answers when stdout exceeds the spawnSync buffer ([pm-csv-02hc](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/issues/pm-csv-02hc.toon))
|
|
21
|
+
|
|
22
|
+
### Other
|
|
23
|
+
|
|
24
|
+
- Reconcile main to 2026.8.9 so git matches the npm version already published ([pm-csv-usmi](https://github.com/unbraind/pm-csv/blob/main/.agents/pm/tasks/pm-csv-usmi.toon))
|
|
25
|
+
|
|
3
26
|
## 2026.8.7 - 2026-08-07
|
|
4
27
|
|
|
5
28
|
### Other
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExtensionApi } from "@unbrained/pm-cli/sdk/authoring";
|
|
2
|
+
import { type SpawnSyncReturns } from "node:child_process";
|
|
2
3
|
type ItemStatus = "open" | "in_progress" | "blocked" | "closed" | "canceled" | "draft";
|
|
3
4
|
interface PmItem {
|
|
4
5
|
id: string;
|
|
@@ -82,6 +83,33 @@ declare function streamCSVFile(filePath: string, delimiter: string, encoding: Su
|
|
|
82
83
|
* A literal backslash-t is interpreted as a tab.
|
|
83
84
|
*/
|
|
84
85
|
declare function resolveDelimiter(raw: string | undefined): string;
|
|
86
|
+
/**
|
|
87
|
+
* Describe why a `spawnSync` result has `status: null`, wording the message for
|
|
88
|
+
* the REAL cause so the operator is sent down the right path.
|
|
89
|
+
*
|
|
90
|
+
* Node reports `status: null` whenever the child was terminated before it could
|
|
91
|
+
* produce a usable exit code, and three distinct causes produce it (verified
|
|
92
|
+
* against `SpawnSyncReturns` in `@types/node` and confirmed empirically):
|
|
93
|
+
*
|
|
94
|
+
* - A captured-output overrun. Node sets `result.error` with `code ===
|
|
95
|
+
* "ENOBUFS"` and terminates the child with the kill signal. The captured
|
|
96
|
+
* output is truncated and unusable, and the fix IS to narrow the query or
|
|
97
|
+
* raise `PM_LIST_MAX_BUFFER`.
|
|
98
|
+
* - A spawn or system error (the binary could not be launched, a timeout,
|
|
99
|
+
* …). `result.error` is set with a code OTHER than `ENOBUFS`. This is NOT a
|
|
100
|
+
* buffer problem, and telling the operator to raise `PM_LIST_MAX_BUFFER`
|
|
101
|
+
* sends them down the wrong path.
|
|
102
|
+
* - An external signal termination (an OOM reaper, a manual kill, …).
|
|
103
|
+
* `result.error` is unset and `result.signal` carries the signal. Also NOT a
|
|
104
|
+
* buffer problem — note the kill signal from a buffer overrun (`SIGTERM`) is
|
|
105
|
+
* the SAME signal an external `SIGTERM` produces, so the signal alone cannot
|
|
106
|
+
* tell the two apart; only `error.code === "ENOBUFS"` can.
|
|
107
|
+
*
|
|
108
|
+
* Exposed so the write paths ({@link upsertCreate}) can reuse the same wording
|
|
109
|
+
* when they recover an id from an overrun receipt before throwing, and so the
|
|
110
|
+
* three causes can be regression-tested directly with synthetic results.
|
|
111
|
+
*/
|
|
112
|
+
export declare function describePmNullStatus(result: SpawnSyncReturns<string>, label: string): string;
|
|
85
113
|
/**
|
|
86
114
|
* Normalize a dedup key value for stable matching. pm lower-cases tags on
|
|
87
115
|
* storage, so a `csv-key:` tag written from "Fix Bug" comes back as
|
|
@@ -90,6 +118,18 @@ declare function resolveDelimiter(raw: string | undefined): string;
|
|
|
90
118
|
*/
|
|
91
119
|
declare function normalizeKeyValue(value: string): string;
|
|
92
120
|
declare function encodeKeyTagValue(value: string): string;
|
|
121
|
+
/**
|
|
122
|
+
* Percent-decode a value taken from an internal tag, tolerating bad input.
|
|
123
|
+
*
|
|
124
|
+
* Tag payloads are percent-encoded when written, but a hand-edited or
|
|
125
|
+
* externally-created item can carry a malformed escape, which makes
|
|
126
|
+
* `decodeURIComponent` throw. Rather than abort an export over one damaged tag,
|
|
127
|
+
* the raw value is returned unchanged — so the caller may receive a still-encoded
|
|
128
|
+
* string, and the return is not guaranteed to be decoded.
|
|
129
|
+
*
|
|
130
|
+
* @param value - Percent-encoded tag payload.
|
|
131
|
+
* @returns The decoded value, or `value` itself when it cannot be decoded.
|
|
132
|
+
*/
|
|
93
133
|
declare function decodeKeyTagValue(value: string): string;
|
|
94
134
|
/**
|
|
95
135
|
* Parse a `--map csvHeader=field` spec (repeatable / comma-joined) into a
|
|
@@ -213,6 +253,75 @@ export declare function atomicTransactionId(filePath: string, opts?: {
|
|
|
213
253
|
encoding?: SupportedEncoding;
|
|
214
254
|
skipHeaders?: boolean;
|
|
215
255
|
}): string;
|
|
256
|
+
/**
|
|
257
|
+
* Load every item stamped with this transaction's per-row ownership marker
|
|
258
|
+
* (`csv-txrow:<transactionId>#<rowIndex>`) and build a single lookup the step
|
|
259
|
+
* `inspect()` uses to detect rows already applied by a prior (interrupted) run:
|
|
260
|
+
* - byRowIndex: rowIndex -> item id
|
|
261
|
+
*
|
|
262
|
+
* The per-row marker is the source of truth for resume/compensation: it makes
|
|
263
|
+
* matching per-row-precise, so a CSV with duplicate titles or duplicate keys
|
|
264
|
+
* can never trick inspect() into skipping the wrong row. The batch-level
|
|
265
|
+
* `csv-tx:<transactionId>` marker is also stamped (handy for scanning) but is
|
|
266
|
+
* NOT used for matching. Only items carrying a per-row marker for THIS
|
|
267
|
+
* transaction are included, so pre-existing items this transaction never
|
|
268
|
+
* touched are never mistaken for already-applied steps.
|
|
269
|
+
*
|
|
270
|
+
* Presence of the row marker — NOT item status — is the applied signal. A row
|
|
271
|
+
* whose CSV `status` is `closed`/`canceled` is legitimately imported as a
|
|
272
|
+
* closed item (upsertCreate/upsertUpdate apply the row's status, routing
|
|
273
|
+
* terminal transitions through `pm close --reason`), so it must
|
|
274
|
+
* still be recognized on resume and never re-imported. Conversely a rolled-back
|
|
275
|
+
* create must NOT be recognized: `compensateCreate()` therefore STRIPS the
|
|
276
|
+
* `csv-tx`/`csv-txrow` markers before closing the item, so a compensated
|
|
277
|
+
* tombstone carries no marker and a post-rollback retry re-imports its row.
|
|
278
|
+
* (This is why matching by marker-presence is correct for both a
|
|
279
|
+
* legitimately-closed applied row and a rolled-back one; see compensateCreate.)
|
|
280
|
+
*/
|
|
281
|
+
declare function loadAppliedByTransaction(pmRoot: string, transactionId: string): {
|
|
282
|
+
byRowIndex: Map<number, string>;
|
|
283
|
+
};
|
|
284
|
+
/**
|
|
285
|
+
* Return the current status of an item id, or `undefined` when the item no
|
|
286
|
+
* longer exists. Used by the compensation guard so `pm close` is only invoked
|
|
287
|
+
* on items that still exist and are not already closed (closing a closed item
|
|
288
|
+
* is a pm error).
|
|
289
|
+
*
|
|
290
|
+
* Tier-2 read: this single-item lookup stays a `pm get` subprocess (the SDK's
|
|
291
|
+
* status lives on item metadata, not the located document, and converting it
|
|
292
|
+
* would push `async` through the whole sync import graph). It now caps stdout
|
|
293
|
+
* at {@link pmListMaxBuffer} and routes a buffer overrun through
|
|
294
|
+
* {@link assertPmOutputFit} as a hard, named error. Previously an overrun left
|
|
295
|
+
* `status: null`, which `status !== 0` mapped onto `undefined` — i.e. a
|
|
296
|
+
* too-large item was silently reported as "does not exist", and the
|
|
297
|
+
* compensation guard then skipped a close it should have run. A genuine
|
|
298
|
+
* non-zero exit (item truly absent, or a failed lookup such as the
|
|
299
|
+
* `fake-get-fail` regression) still returns `undefined` unchanged.
|
|
300
|
+
*/
|
|
301
|
+
declare function itemStatus(pmRoot: string, id: string): ItemStatus | undefined;
|
|
302
|
+
/**
|
|
303
|
+
* Idempotently undo one row's create. First STRIPS this transaction's ownership
|
|
304
|
+
* markers (`markers`) from the item, then closes it via `pm close` (NOT delete,
|
|
305
|
+
* to avoid the known history-resurrection issue) when it is still open.
|
|
306
|
+
*
|
|
307
|
+
* Stripping the markers is what makes marker-presence a correct "applied"
|
|
308
|
+
* signal: a rolled-back row no longer carries a marker, so a post-rollback
|
|
309
|
+
* retry re-imports it, while a *successfully* imported row (even one whose CSV
|
|
310
|
+
* status is `closed`/`canceled`) keeps its marker and is resumed idempotently.
|
|
311
|
+
* The strip runs whether the item is open or already closed (a closed-status
|
|
312
|
+
* create being rolled back must also lose its marker); the close only runs for
|
|
313
|
+
* a still-open item. Every step tolerates a missing item / absent tag, so a
|
|
314
|
+
* repeated compensation (e.g. after a crash mid-compensation) is a safe no-op.
|
|
315
|
+
*
|
|
316
|
+
* The status lookup itself is also tolerated: if `itemStatus` throws (a stdout
|
|
317
|
+
* overrun or a signal kill on the `pm get`), the throw is caught and this row's
|
|
318
|
+
* compensation becomes a no-op rather than aborting the sweep. The hard error is
|
|
319
|
+
* kept on the import READ path ({@link loadAppliedByTransaction}, and the
|
|
320
|
+
* verification `itemStatus` in {@link upsertCreate}), where a wrong answer is
|
|
321
|
+
* the real danger; here the danger is aborting a best-effort rollback mid-sweep
|
|
322
|
+
* and leaving every later applied create un-compensated.
|
|
323
|
+
*/
|
|
324
|
+
declare function compensateCreate(pmRoot: string, id: string, markers?: readonly string[], reason?: string): void;
|
|
216
325
|
interface CsvValidateReport {
|
|
217
326
|
ok: boolean;
|
|
218
327
|
rowCount: number;
|
|
@@ -234,6 +343,18 @@ interface CsvValidateReport {
|
|
|
234
343
|
* side-effect-free so it can be unit tested directly.
|
|
235
344
|
*/
|
|
236
345
|
declare function validateParsedCSV(rawHeaders: string[], dataRows: string[][], fieldMap: Record<string, string>): CsvValidateReport;
|
|
346
|
+
/**
|
|
347
|
+
* Flatten a validation report into the issues strict mode refuses to import on.
|
|
348
|
+
*
|
|
349
|
+
* Strict mode treats several conditions as blocking that a normal import merely
|
|
350
|
+
* counts: duplicate mapped columns, and rows missing a title or carrying an
|
|
351
|
+
* unknown status or a non-integer / out-of-range priority. Each becomes one
|
|
352
|
+
* human-readable line, with counts rather than row numbers.
|
|
353
|
+
*
|
|
354
|
+
* @param report - Report produced by validating the CSV.
|
|
355
|
+
* @returns One string per blocking condition; empty when strict mode would let
|
|
356
|
+
* the import proceed.
|
|
357
|
+
*/
|
|
237
358
|
declare function strictValidationIssues(report: CsvValidateReport): string[];
|
|
238
359
|
/**
|
|
239
360
|
* A custom (workspace-registered) item field discovered from the runtime
|
|
@@ -262,6 +383,19 @@ interface DiscoveredField {
|
|
|
262
383
|
* works on hosts without a runtime field schema.
|
|
263
384
|
*/
|
|
264
385
|
declare function discoverCustomFields(pmRoot: string): DiscoveredField[];
|
|
386
|
+
/**
|
|
387
|
+
* Resolve a `--columns` spec into the ordered export column list.
|
|
388
|
+
*
|
|
389
|
+
* An absent or blank spec selects the full built-in set; otherwise the caller's
|
|
390
|
+
* order is preserved exactly, since column order is what the spec is for.
|
|
391
|
+
* Unknown names fail loudly rather than being dropped, because silently
|
|
392
|
+
* omitting a requested column produces a CSV that looks complete and is not.
|
|
393
|
+
*
|
|
394
|
+
* @param spec - Comma-separated column names; blank or absent selects the default set.
|
|
395
|
+
* @param extraValid - Additional accepted names, used for discovered custom fields.
|
|
396
|
+
* @returns The requested columns in the order given, or a copy of the default set.
|
|
397
|
+
* @throws CommandError naming every unrecognised column and listing the valid ones.
|
|
398
|
+
*/
|
|
265
399
|
declare function selectExportColumns(spec: string | undefined, extraValid?: ReadonlyArray<string>): string[];
|
|
266
400
|
declare const _default: {
|
|
267
401
|
name: string;
|
|
@@ -270,5 +404,6 @@ declare const _default: {
|
|
|
270
404
|
};
|
|
271
405
|
export default _default;
|
|
272
406
|
export { parseCSV, serializeCSV, serializeField, stripBOM, resolveDelimiter, parseFieldMap, resolveImportFieldMap, applyFieldMap, normalizeStatus, parseTags, stringifyTags, encodeKeyTagValue, decodeKeyTagValue, normalizeKeyValue, selectExportColumns, resolveEncoding, validateParsedCSV, strictValidationIssues, parseImportFilter, rowMatchesFilter, discoverCustomFields, EXPORT_COLUMNS, IMPORT_COLUMNS, StreamingCSVParser, streamCSVFile, levenshtein, suggestClosest, validateFieldMapTargets, checkMapSourcesPresent, };
|
|
407
|
+
export { loadAppliedByTransaction, itemStatus, compensateCreate };
|
|
273
408
|
export type { ParsedRow, ImportRowFilter, DiscoveredField, AutoFieldMapping };
|
|
274
409
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -409,6 +409,66 @@ function pmListMaxBuffer() {
|
|
|
409
409
|
const raw = Number(process.env.PM_LIST_MAX_BUFFER);
|
|
410
410
|
return Number.isSafeInteger(raw) && raw > 0 ? raw : 16 * 1024 * 1024;
|
|
411
411
|
}
|
|
412
|
+
/**
|
|
413
|
+
* Describe why a `spawnSync` result has `status: null`, wording the message for
|
|
414
|
+
* the REAL cause so the operator is sent down the right path.
|
|
415
|
+
*
|
|
416
|
+
* Node reports `status: null` whenever the child was terminated before it could
|
|
417
|
+
* produce a usable exit code, and three distinct causes produce it (verified
|
|
418
|
+
* against `SpawnSyncReturns` in `@types/node` and confirmed empirically):
|
|
419
|
+
*
|
|
420
|
+
* - A captured-output overrun. Node sets `result.error` with `code ===
|
|
421
|
+
* "ENOBUFS"` and terminates the child with the kill signal. The captured
|
|
422
|
+
* output is truncated and unusable, and the fix IS to narrow the query or
|
|
423
|
+
* raise `PM_LIST_MAX_BUFFER`.
|
|
424
|
+
* - A spawn or system error (the binary could not be launched, a timeout,
|
|
425
|
+
* …). `result.error` is set with a code OTHER than `ENOBUFS`. This is NOT a
|
|
426
|
+
* buffer problem, and telling the operator to raise `PM_LIST_MAX_BUFFER`
|
|
427
|
+
* sends them down the wrong path.
|
|
428
|
+
* - An external signal termination (an OOM reaper, a manual kill, …).
|
|
429
|
+
* `result.error` is unset and `result.signal` carries the signal. Also NOT a
|
|
430
|
+
* buffer problem — note the kill signal from a buffer overrun (`SIGTERM`) is
|
|
431
|
+
* the SAME signal an external `SIGTERM` produces, so the signal alone cannot
|
|
432
|
+
* tell the two apart; only `error.code === "ENOBUFS"` can.
|
|
433
|
+
*
|
|
434
|
+
* Exposed so the write paths ({@link upsertCreate}) can reuse the same wording
|
|
435
|
+
* when they recover an id from an overrun receipt before throwing, and so the
|
|
436
|
+
* three causes can be regression-tested directly with synthetic results.
|
|
437
|
+
*/
|
|
438
|
+
export function describePmNullStatus(result, label) {
|
|
439
|
+
const err = result.error;
|
|
440
|
+
const code = err?.code;
|
|
441
|
+
if (err !== undefined && code === "ENOBUFS") {
|
|
442
|
+
return `pm ${label} overran its ${pmListMaxBuffer()}-byte stdout buffer (Node reported error code ENOBUFS${result.signal ? ` and terminated the child with ${result.signal}` : ""}); the captured output is truncated and unusable — narrow the query (--status/--type) or raise the PM_LIST_MAX_BUFFER env var`;
|
|
443
|
+
}
|
|
444
|
+
if (err !== undefined) {
|
|
445
|
+
return `pm ${label} could not run to completion: ${err.message}${code !== undefined ? ` (code ${code})` : ""}; this is a spawn or system error, NOT a stdout buffer overrun, so raising the PM_LIST_MAX_BUFFER env var will not help`;
|
|
446
|
+
}
|
|
447
|
+
return `pm ${label} was terminated by signal ${result.signal ?? "<unknown>"} before producing a usable exit code; this is NOT a stdout buffer overrun (no ENOBUFS error was reported), so raising the PM_LIST_MAX_BUFFER env var will not help — investigate what sent the signal`;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Turn a `status: null` pm subprocess result into a hard, named error instead of
|
|
451
|
+
* the wrong answer `spawnSync` otherwise leaves behind.
|
|
452
|
+
*
|
|
453
|
+
* When a child is terminated before exiting, `spawnSync` reports `status: null`
|
|
454
|
+
* and a guard that only branches on `status !== 0` then reads `null !== 0` as
|
|
455
|
+
* truthy and routes the result onto its failure branch — "the item does not
|
|
456
|
+
* exist", "nothing was applied yet", or a generic "pm failed" — so a too-large
|
|
457
|
+
* project (or a killed child) is silently mis-imported instead of reported.
|
|
458
|
+
* This collapses that case into one explicit error, worded for the real cause by
|
|
459
|
+
* {@link describePmNullStatus}, at every call site that captures pm output and
|
|
460
|
+
* must not degrade.
|
|
461
|
+
*
|
|
462
|
+
* The best-effort rollback sites in {@link compensateCreate} intentionally do
|
|
463
|
+
* NOT call this on their own subprocesses: compensation is contractually
|
|
464
|
+
* tolerant of a failed subprocess, and a named throw there would abort a sweep
|
|
465
|
+
* that exists to leave the tracker consistent despite partial failure.
|
|
466
|
+
*/
|
|
467
|
+
function assertPmOutputFit(result, label) {
|
|
468
|
+
if (result.status !== null)
|
|
469
|
+
return;
|
|
470
|
+
throw new CommandError(`${describePmNullStatus(result, label)}. The result is unusable, so it must never be treated as an empty or absent value.`);
|
|
471
|
+
}
|
|
412
472
|
/**
|
|
413
473
|
* Normalize a dedup key value for stable matching. pm lower-cases tags on
|
|
414
474
|
* storage, so a `csv-key:` tag written from "Fix Bug" comes back as
|
|
@@ -421,6 +481,18 @@ function normalizeKeyValue(value) {
|
|
|
421
481
|
function encodeKeyTagValue(value) {
|
|
422
482
|
return encodeURIComponent(value);
|
|
423
483
|
}
|
|
484
|
+
/**
|
|
485
|
+
* Percent-decode a value taken from an internal tag, tolerating bad input.
|
|
486
|
+
*
|
|
487
|
+
* Tag payloads are percent-encoded when written, but a hand-edited or
|
|
488
|
+
* externally-created item can carry a malformed escape, which makes
|
|
489
|
+
* `decodeURIComponent` throw. Rather than abort an export over one damaged tag,
|
|
490
|
+
* the raw value is returned unchanged — so the caller may receive a still-encoded
|
|
491
|
+
* string, and the return is not guaranteed to be decoded.
|
|
492
|
+
*
|
|
493
|
+
* @param value - Percent-encoded tag payload.
|
|
494
|
+
* @returns The decoded value, or `value` itself when it cannot be decoded.
|
|
495
|
+
*/
|
|
424
496
|
function decodeKeyTagValue(value) {
|
|
425
497
|
try {
|
|
426
498
|
return decodeURIComponent(value);
|
|
@@ -861,6 +933,20 @@ function computeFieldMapWarnings(rawHeaders, fieldMap) {
|
|
|
861
933
|
console.error(`Warning: ${w}`);
|
|
862
934
|
return warnings;
|
|
863
935
|
}
|
|
936
|
+
/**
|
|
937
|
+
* Import CSV rows into a pm tracker as items.
|
|
938
|
+
*
|
|
939
|
+
* Rejects rather than throws when `--atomic` is combined with `--stream`: the
|
|
940
|
+
* two are genuinely incompatible, because an all-or-nothing commit needs the
|
|
941
|
+
* whole row set in hand and a stream is unbounded. Returning a rejected promise
|
|
942
|
+
* keeps the failure on the same channel as the rest of the async path.
|
|
943
|
+
*
|
|
944
|
+
* @param pmRoot - Tracker root passed through to the pm CLI.
|
|
945
|
+
* @param filePath - CSV file to read.
|
|
946
|
+
* @param opts - Import behaviour, including the atomic and stream modes.
|
|
947
|
+
* @returns The import outcome; rejects with a {@link CommandError} on a usage
|
|
948
|
+
* conflict or an unreadable file.
|
|
949
|
+
*/
|
|
864
950
|
function importCSV(pmRoot, filePath, opts) {
|
|
865
951
|
if (opts.atomic && opts.stream) {
|
|
866
952
|
return Promise.reject(new CommandError("--atomic cannot be combined with --stream: an unbounded stream cannot be committed as one all-or-nothing transaction.", EXIT_CODE.USAGE));
|
|
@@ -980,7 +1066,15 @@ function loadAppliedByTransaction(pmRoot, transactionId) {
|
|
|
980
1066
|
encoding: "utf-8",
|
|
981
1067
|
maxBuffer: pmListMaxBuffer(),
|
|
982
1068
|
});
|
|
983
|
-
|
|
1069
|
+
// A stdout overrun kills the child with `status: null` and an empty stderr;
|
|
1070
|
+
// the previous guard (`r.error || r.status !== 0`) then returned an EMPTY map,
|
|
1071
|
+
// so inspect() concluded "nothing was applied" and a resumed atomic import
|
|
1072
|
+
// silently re-imported every already-applied row — wrong data, not a crash.
|
|
1073
|
+
// Route that overrun through {@link assertPmOutputFit} as a hard, named error
|
|
1074
|
+
// instead. A genuine non-zero exit (not a buffer condition) still falls through
|
|
1075
|
+
// to the best-effort empty map, preserving the resume scan's tolerance.
|
|
1076
|
+
assertPmOutputFit(r, "list-all");
|
|
1077
|
+
if (r.status !== 0)
|
|
984
1078
|
return { byRowIndex };
|
|
985
1079
|
let items = [];
|
|
986
1080
|
try {
|
|
@@ -1006,9 +1100,24 @@ function loadAppliedByTransaction(pmRoot, transactionId) {
|
|
|
1006
1100
|
* longer exists. Used by the compensation guard so `pm close` is only invoked
|
|
1007
1101
|
* on items that still exist and are not already closed (closing a closed item
|
|
1008
1102
|
* is a pm error).
|
|
1103
|
+
*
|
|
1104
|
+
* Tier-2 read: this single-item lookup stays a `pm get` subprocess (the SDK's
|
|
1105
|
+
* status lives on item metadata, not the located document, and converting it
|
|
1106
|
+
* would push `async` through the whole sync import graph). It now caps stdout
|
|
1107
|
+
* at {@link pmListMaxBuffer} and routes a buffer overrun through
|
|
1108
|
+
* {@link assertPmOutputFit} as a hard, named error. Previously an overrun left
|
|
1109
|
+
* `status: null`, which `status !== 0` mapped onto `undefined` — i.e. a
|
|
1110
|
+
* too-large item was silently reported as "does not exist", and the
|
|
1111
|
+
* compensation guard then skipped a close it should have run. A genuine
|
|
1112
|
+
* non-zero exit (item truly absent, or a failed lookup such as the
|
|
1113
|
+
* `fake-get-fail` regression) still returns `undefined` unchanged.
|
|
1009
1114
|
*/
|
|
1010
1115
|
function itemStatus(pmRoot, id) {
|
|
1011
|
-
const r = spawnSync("pm", ["--path", pmRoot, "get", id, "--json"], {
|
|
1116
|
+
const r = spawnSync("pm", ["--path", pmRoot, "get", id, "--json"], {
|
|
1117
|
+
encoding: "utf-8",
|
|
1118
|
+
maxBuffer: pmListMaxBuffer(),
|
|
1119
|
+
});
|
|
1120
|
+
assertPmOutputFit(r, "get");
|
|
1012
1121
|
if (r.status !== 0)
|
|
1013
1122
|
return undefined;
|
|
1014
1123
|
try {
|
|
@@ -1032,14 +1141,34 @@ function itemStatus(pmRoot, id) {
|
|
|
1032
1141
|
* create being rolled back must also lose its marker); the close only runs for
|
|
1033
1142
|
* a still-open item. Every step tolerates a missing item / absent tag, so a
|
|
1034
1143
|
* repeated compensation (e.g. after a crash mid-compensation) is a safe no-op.
|
|
1144
|
+
*
|
|
1145
|
+
* The status lookup itself is also tolerated: if `itemStatus` throws (a stdout
|
|
1146
|
+
* overrun or a signal kill on the `pm get`), the throw is caught and this row's
|
|
1147
|
+
* compensation becomes a no-op rather than aborting the sweep. The hard error is
|
|
1148
|
+
* kept on the import READ path ({@link loadAppliedByTransaction}, and the
|
|
1149
|
+
* verification `itemStatus` in {@link upsertCreate}), where a wrong answer is
|
|
1150
|
+
* the real danger; here the danger is aborting a best-effort rollback mid-sweep
|
|
1151
|
+
* and leaving every later applied create un-compensated.
|
|
1035
1152
|
*/
|
|
1036
1153
|
function compensateCreate(pmRoot, id, markers = [], reason = "atomic csv import rolled back") {
|
|
1037
|
-
|
|
1154
|
+
// itemStatus throws on a stdout overrun / signal kill; compensation is a
|
|
1155
|
+
// best-effort sweep, so an overrun in the status lookup itself is a no-op for
|
|
1156
|
+
// THIS row (the operator can reconcile by id) and must never abort the sweep
|
|
1157
|
+
// over the remaining applied creates. (itemStatus's only throw is the
|
|
1158
|
+
// CommandError from assertPmOutputFit; a bare catch is therefore equivalent to
|
|
1159
|
+
// catching CommandError and avoids an unreachable rethrow branch.)
|
|
1160
|
+
let status;
|
|
1161
|
+
try {
|
|
1162
|
+
status = itemStatus(pmRoot, id);
|
|
1163
|
+
}
|
|
1164
|
+
catch {
|
|
1165
|
+
return; // status lookup overran/killed: no-op for this row, sweep continues
|
|
1166
|
+
}
|
|
1038
1167
|
if (status === undefined)
|
|
1039
1168
|
return; // item no longer exists
|
|
1040
1169
|
if (markers.length > 0) {
|
|
1041
1170
|
// Best-effort: remove the tx markers so this row is no longer "applied".
|
|
1042
|
-
spawnSync("pm", ["--path", pmRoot, "update", id, "--remove-tags", markers.join(",")], { encoding: "utf-8" });
|
|
1171
|
+
spawnSync("pm", ["--path", pmRoot, "update", id, "--remove-tags", markers.join(",")], { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1043
1172
|
}
|
|
1044
1173
|
if (status === "closed")
|
|
1045
1174
|
return; // terminal already; markers stripped above
|
|
@@ -1050,7 +1179,7 @@ function compensateCreate(pmRoot, id, markers = [], reason = "atomic csv import
|
|
|
1050
1179
|
// rollback and leave the orphan open — the very leak compensation exists to
|
|
1051
1180
|
// prevent. Used by both the atomic transaction path (rollback) and the
|
|
1052
1181
|
// non-atomic `upsertCreate` close-failure path.
|
|
1053
|
-
const r = spawnSync("pm", ["--path", pmRoot, "close", id, "--reason", reason, "--validate-close", "off"], { encoding: "utf-8" });
|
|
1182
|
+
const r = spawnSync("pm", ["--path", pmRoot, "close", id, "--reason", reason, "--validate-close", "off"], { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1054
1183
|
if (r.status !== 0 && r.status !== 4) {
|
|
1055
1184
|
// Exit 4 is "already closed" / invalid state — treat as already compensated.
|
|
1056
1185
|
console.error(`atomic import: compensation close failed for ${id}: ${r.stderr?.trim() || r.stdout?.trim()}`);
|
|
@@ -1432,24 +1561,68 @@ function upsertCreate(pmRoot, p, keyValue, source, extraTags) {
|
|
|
1432
1561
|
appendRelationalArgs(args, p);
|
|
1433
1562
|
if (tags.length > 0)
|
|
1434
1563
|
args.push("--tags", tags.join(","));
|
|
1435
|
-
const r = spawnSync("pm", args, { encoding: "utf-8" });
|
|
1436
|
-
|
|
1437
|
-
|
|
1564
|
+
const r = spawnSync("pm", args, { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1565
|
+
// Parse the id BEFORE any status check. `pm create` is a WRITE: by the time
|
|
1566
|
+
// spawnSync returns it may have ALREADY persisted the item, even if its
|
|
1567
|
+
// receipt then overran the buffer (status null). Asserting before the parse
|
|
1568
|
+
// would throw with the id still unread, stranding an orphan compensation
|
|
1569
|
+
// cannot identify. Node retains the FULL captured stdout for outputs under
|
|
1570
|
+
// one read chunk, and `pm create --json`'s flat receipt is always far under
|
|
1571
|
+
// that, so the id is recoverable here even when the buffer overran.
|
|
1572
|
+
// `pm create --json` emits a FLAT receipt — {id, status, changed_field_count}
|
|
1573
|
+
// — with no `item` wrapper (mutations return a flat receipt; only queries
|
|
1574
|
+
// such as `pm read`/`pm list` wrap, see upstream pm-cli#888). No `item`
|
|
1575
|
+
// fallback is kept: it would be dead code no real CLI can exercise, and the
|
|
1576
|
+
// sibling pm-github package shipped a silent production bug from trusting
|
|
1577
|
+
// exactly that wrapper — every closed import landed open because the id
|
|
1578
|
+
// never parsed.
|
|
1438
1579
|
let id = "";
|
|
1439
1580
|
try {
|
|
1440
|
-
// `pm create --json` emits a FLAT receipt — {id, status, changed_field_count}
|
|
1441
|
-
// — with no `item` wrapper (mutations return a flat receipt; only queries
|
|
1442
|
-
// such as `pm read`/`pm list` wrap, see upstream pm-cli#888). No `item`
|
|
1443
|
-
// fallback is kept: it would be dead code no real CLI can exercise, and the
|
|
1444
|
-
// sibling pm-github package shipped a silent production bug from trusting
|
|
1445
|
-
// exactly that wrapper — every closed import landed open because the id
|
|
1446
|
-
// never parsed.
|
|
1447
1581
|
const parsed = JSON.parse(r.stdout);
|
|
1448
1582
|
id = typeof parsed?.id === "string" ? parsed.id : "";
|
|
1449
1583
|
}
|
|
1450
1584
|
catch {
|
|
1451
1585
|
id = "";
|
|
1452
1586
|
}
|
|
1587
|
+
if (r.status === null) {
|
|
1588
|
+
// The receipt overran the buffer (or the child was killed). The create may
|
|
1589
|
+
// have persisted an item, so a write that may have taken effect is never
|
|
1590
|
+
// abandoned un-identified: if the id was recovered, attempt to close the
|
|
1591
|
+
// orphan DIRECTLY (compensation's own status lookup would overrun under the
|
|
1592
|
+
// same cap and no-op, so the close is issued here) and INSPECT its result so
|
|
1593
|
+
// the thrown error reports the recovery close's ACTUAL outcome, never an
|
|
1594
|
+
// assumed one. The close is attempted exactly once — under a capped buffer
|
|
1595
|
+
// it fails identically every time, so retrying in a loop would only turn a
|
|
1596
|
+
// fast, actionable error into a slow one. Without the id, throw naming the
|
|
1597
|
+
// title for manual reconcile.
|
|
1598
|
+
//
|
|
1599
|
+
// GUARANTEE: the extension cannot make `pm create` atomic — it is a single
|
|
1600
|
+
// subprocess with no transaction the caller can join, so a window always
|
|
1601
|
+
// exists where the item is persisted and the caller does not yet know it.
|
|
1602
|
+
// What is guaranteed is that the window is always REPORTED WITH THE ID: the
|
|
1603
|
+
// recovery close's outcome is inspected and the thrown error names the id
|
|
1604
|
+
// and the real resulting state (closed, or still-open with the close's
|
|
1605
|
+
// failure cause), so the operator never stops looking for an open orphan.
|
|
1606
|
+
if (id) {
|
|
1607
|
+
const rc = spawnSync("pm", ["--path", pmRoot, "close", id, "--validate-close", "off", "--reason", "csv import create overran its receipt buffer; closing the orphaned created item"], { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1608
|
+
const createCause = describePmNullStatus(r, "create");
|
|
1609
|
+
if (rc.status === 0) {
|
|
1610
|
+
throw new CommandError(`${createCause}. The create for row (title '${p.title}', id ${id}) may have persisted; the orphaned item ${id} was closed — retry the import.`);
|
|
1611
|
+
}
|
|
1612
|
+
// The recovery close failed or returned no usable status: do NOT claim it
|
|
1613
|
+
// succeeded. Report the orphan as still open and carry the close's own
|
|
1614
|
+
// failure cause (an overrun/kill via describePmNullStatus for a null
|
|
1615
|
+
// status; the close's stderr for a non-zero exit) so the operator can
|
|
1616
|
+
// close the item manually by id.
|
|
1617
|
+
const closeCause = rc.status === null
|
|
1618
|
+
? describePmNullStatus(rc, "close")
|
|
1619
|
+
: (rc.stderr?.trim() || "pm close failed");
|
|
1620
|
+
throw new CommandError(`${createCause}. The create for row (title '${p.title}', id ${id}) may have persisted; the recovery close failed (${closeCause}), so the orphaned item ${id} is still open and must be closed manually — retry the import.`);
|
|
1621
|
+
}
|
|
1622
|
+
throw new CommandError(`${describePmNullStatus(r, "create")}. The create for row (title '${p.title}') produced no recoverable id, so any persisted item cannot be identified or rolled back — reconcile manually and retry.`);
|
|
1623
|
+
}
|
|
1624
|
+
if (r.status !== 0)
|
|
1625
|
+
throw new Error(r.stderr?.trim() || "pm create failed");
|
|
1453
1626
|
if (p.status === "closed") {
|
|
1454
1627
|
// (1) No id recovered: the close cannot be applied and the orphan cannot be
|
|
1455
1628
|
// compensated without its id. Hard failure — never a silent success — so
|
|
@@ -1458,7 +1631,12 @@ function upsertCreate(pmRoot, p, keyValue, source, extraTags) {
|
|
|
1458
1631
|
if (!id) {
|
|
1459
1632
|
throw new Error(`pm create succeeded for closed row (title '${p.title}') but returned no id, so the terminal 'closed' status cannot be applied and the created open item cannot be compensated; it is left as an unrecoverable open orphan — reconcile manually`);
|
|
1460
1633
|
}
|
|
1461
|
-
const cr = spawnSync("pm", ["--path", pmRoot, "close", id, "--reason", importCloseReason("closed", source)], { encoding: "utf-8" });
|
|
1634
|
+
const cr = spawnSync("pm", ["--path", pmRoot, "close", id, "--reason", importCloseReason("closed", source)], { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1635
|
+
// Deliberately NO assertPmOutputFit(cr, "close") here: a null close status
|
|
1636
|
+
// (receipt overrun or a signal kill) must route INTO the compensation branch
|
|
1637
|
+
// below rather than bypass it. The close may have persisted before its
|
|
1638
|
+
// receipt overran; the branch compensates and verifies the outcome either
|
|
1639
|
+
// way, and the id is already known so nothing is stranded.
|
|
1462
1640
|
if (cr.status !== 0) {
|
|
1463
1641
|
// (2) The close failed but the item is already persisted as open.
|
|
1464
1642
|
// Compensate (close) the orphan so a failed row is all-or-nothing and a
|
|
@@ -1491,6 +1669,18 @@ function upsertCreate(pmRoot, p, keyValue, source, extraTags) {
|
|
|
1491
1669
|
* through `pm close --reason` with the factual import provenance
|
|
1492
1670
|
* ({@link importCloseReason}) — never an invented outcome — because
|
|
1493
1671
|
* governance.require_close_reason forbids reason-free terminal transitions.
|
|
1672
|
+
*
|
|
1673
|
+
* GUARANTEE (and its limits): `pm update` and the terminal `pm close` are each
|
|
1674
|
+
* a single non-atomic subprocess, so either may have already taken effect when
|
|
1675
|
+
* its receipt then overruns the buffer or the child is killed (status null),
|
|
1676
|
+
* and a non-zero exit is likewise not proof nothing was written. The guarantee
|
|
1677
|
+
* here is that NO MUTATION IS LEFT UN-IDENTIFIED: every update/close failure
|
|
1678
|
+
* carries the item id and states explicitly that the mutation may already have
|
|
1679
|
+
* been applied, so the operator can verify and reconcile by id. The guarantee
|
|
1680
|
+
* is NOT that no mutation is left behind — an update has no inverse without the
|
|
1681
|
+
* prior field values, which this extension does not capture, so a failed update
|
|
1682
|
+
* is reported loudly by id rather than compensated with a second unreviewed
|
|
1683
|
+
* write on top of a failed one (see the deferred capture-prior-values feature).
|
|
1494
1684
|
*/
|
|
1495
1685
|
function upsertUpdate(pmRoot, id, p, source, extraTags) {
|
|
1496
1686
|
const args = ["--path", pmRoot, "update", id, "--title", p.title];
|
|
@@ -1514,14 +1704,35 @@ function upsertUpdate(pmRoot, id, p, source, extraTags) {
|
|
|
1514
1704
|
// `update` cannot set a closed status; only set non-closed statuses here.
|
|
1515
1705
|
if (p.status !== "closed" && p.status !== "canceled")
|
|
1516
1706
|
args.push("--status", p.status);
|
|
1517
|
-
const r = spawnSync("pm", args, { encoding: "utf-8" });
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
//
|
|
1707
|
+
const r = spawnSync("pm", args, { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1708
|
+
// `pm update` is a WRITE: a null status (receipt overrun or a signal kill)
|
|
1709
|
+
// means the mutation may already have been applied to the item, so the
|
|
1710
|
+
// failure must carry the item id and state that explicitly — matching the
|
|
1711
|
+
// create path. The guarantee is that no mutation is left un-IDENTIFIED, NOT
|
|
1712
|
+
// that no mutation is left behind: an update has no inverse without the prior
|
|
1713
|
+
// field values, which this extension does not capture, so a failed update is
|
|
1714
|
+
// reported loudly by id rather than papered over with a second unreviewed
|
|
1715
|
+
// write on top of a failed one.
|
|
1716
|
+
if (r.status === null) {
|
|
1717
|
+
throw new CommandError(`${describePmNullStatus(r, "update")}. The update for item ${id} may already have been applied — verify the item by id before retrying.`);
|
|
1718
|
+
}
|
|
1719
|
+
if (r.status !== 0) {
|
|
1720
|
+
const updateErr = r.stderr?.trim() || "pm update failed";
|
|
1721
|
+
throw new Error(`pm update failed for item ${id} (${updateErr}); the mutation may already have been applied — verify the item by id before retrying.`);
|
|
1722
|
+
}
|
|
1723
|
+
// Apply terminal statuses through the dedicated close command. The preceding
|
|
1724
|
+
// update has already been applied, so a failure here is reported with the id
|
|
1725
|
+
// and the explicit caveat that the terminal transition may already have taken
|
|
1726
|
+
// effect too — the close, like the update, is a single non-atomic subprocess.
|
|
1521
1727
|
if (p.status === "closed" || p.status === "canceled") {
|
|
1522
|
-
const cr = spawnSync("pm", ["--path", pmRoot, "close", id, "--reason", importCloseReason(p.status, source)], { encoding: "utf-8" });
|
|
1523
|
-
if (cr.status
|
|
1524
|
-
throw new
|
|
1728
|
+
const cr = spawnSync("pm", ["--path", pmRoot, "close", id, "--reason", importCloseReason(p.status, source)], { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1729
|
+
if (cr.status === null) {
|
|
1730
|
+
throw new CommandError(`${describePmNullStatus(cr, "close")}. The update for item ${id} was applied, but the terminal ${p.status} close may already have been applied too — verify the item by id before retrying.`);
|
|
1731
|
+
}
|
|
1732
|
+
if (cr.status !== 0) {
|
|
1733
|
+
const closeErr = cr.stderr?.trim() || "pm close failed";
|
|
1734
|
+
throw new Error(`pm close failed for item ${id} (${closeErr}); the update was applied and the terminal ${p.status} close may already have been applied — verify the item by id before retrying.`);
|
|
1735
|
+
}
|
|
1525
1736
|
}
|
|
1526
1737
|
}
|
|
1527
1738
|
/**
|
|
@@ -1624,6 +1835,18 @@ function validateParsedCSV(rawHeaders, dataRows, fieldMap) {
|
|
|
1624
1835
|
issues,
|
|
1625
1836
|
};
|
|
1626
1837
|
}
|
|
1838
|
+
/**
|
|
1839
|
+
* Flatten a validation report into the issues strict mode refuses to import on.
|
|
1840
|
+
*
|
|
1841
|
+
* Strict mode treats several conditions as blocking that a normal import merely
|
|
1842
|
+
* counts: duplicate mapped columns, and rows missing a title or carrying an
|
|
1843
|
+
* unknown status or a non-integer / out-of-range priority. Each becomes one
|
|
1844
|
+
* human-readable line, with counts rather than row numbers.
|
|
1845
|
+
*
|
|
1846
|
+
* @param report - Report produced by validating the CSV.
|
|
1847
|
+
* @returns One string per blocking condition; empty when strict mode would let
|
|
1848
|
+
* the import proceed.
|
|
1849
|
+
*/
|
|
1627
1850
|
function strictValidationIssues(report) {
|
|
1628
1851
|
const issues = [];
|
|
1629
1852
|
if (!report.ok)
|
|
@@ -1640,6 +1863,18 @@ function strictValidationIssues(report) {
|
|
|
1640
1863
|
issues.push(`${report.rowsWithOutOfRangePriority} row(s) with out-of-range priority`);
|
|
1641
1864
|
return [...new Set(issues)];
|
|
1642
1865
|
}
|
|
1866
|
+
/**
|
|
1867
|
+
* Validate a CSV and abort the import before anything is written.
|
|
1868
|
+
*
|
|
1869
|
+
* The ordering is the point: this runs to completion before the first item is
|
|
1870
|
+
* created, so a strict import either creates every row or none. Failing halfway
|
|
1871
|
+
* would leave a tracker holding part of a file the caller believed was rejected.
|
|
1872
|
+
*
|
|
1873
|
+
* @param filePath - CSV file to validate.
|
|
1874
|
+
* @param opts - Validation options, including the column mapping.
|
|
1875
|
+
* @returns The validation report, when strict mode finds nothing blocking.
|
|
1876
|
+
* @throws CommandError listing every blocking issue, exiting with the usage code.
|
|
1877
|
+
*/
|
|
1643
1878
|
function assertStrictImportReady(filePath, opts) {
|
|
1644
1879
|
const report = validateCSV(filePath, opts);
|
|
1645
1880
|
const strictIssues = strictValidationIssues(report);
|
|
@@ -1715,6 +1950,19 @@ function discoverCustomFields(pmRoot) {
|
|
|
1715
1950
|
// the export columns. Unknown column names throw a USAGE error; an empty/absent
|
|
1716
1951
|
// spec falls back to the full default column set. `extraValid` lets discovered
|
|
1717
1952
|
// custom-field keys be selected explicitly via --columns alongside --all-fields.
|
|
1953
|
+
/**
|
|
1954
|
+
* Resolve a `--columns` spec into the ordered export column list.
|
|
1955
|
+
*
|
|
1956
|
+
* An absent or blank spec selects the full built-in set; otherwise the caller's
|
|
1957
|
+
* order is preserved exactly, since column order is what the spec is for.
|
|
1958
|
+
* Unknown names fail loudly rather than being dropped, because silently
|
|
1959
|
+
* omitting a requested column produces a CSV that looks complete and is not.
|
|
1960
|
+
*
|
|
1961
|
+
* @param spec - Comma-separated column names; blank or absent selects the default set.
|
|
1962
|
+
* @param extraValid - Additional accepted names, used for discovered custom fields.
|
|
1963
|
+
* @returns The requested columns in the order given, or a copy of the default set.
|
|
1964
|
+
* @throws CommandError naming every unrecognised column and listing the valid ones.
|
|
1965
|
+
*/
|
|
1718
1966
|
function selectExportColumns(spec, extraValid = []) {
|
|
1719
1967
|
if (!spec || !spec.trim())
|
|
1720
1968
|
return [...EXPORT_COLUMNS];
|
|
@@ -1755,6 +2003,24 @@ function resolveExportColumns(pmRoot, columnsSpec, discover) {
|
|
|
1755
2003
|
}
|
|
1756
2004
|
return { columns, columnSource };
|
|
1757
2005
|
}
|
|
2006
|
+
/**
|
|
2007
|
+
* Read every item from a tracker and render the CSV export body.
|
|
2008
|
+
*
|
|
2009
|
+
* Shells out to `pm list-all --json --include-body` with an explicit
|
|
2010
|
+
* `maxBuffer`, because a stdout overrun kills the child with a null status and
|
|
2011
|
+
* an EMPTY stderr — which would otherwise surface as an unexplained
|
|
2012
|
+
* "pm list-all failed" rather than as the size problem it is.
|
|
2013
|
+
*
|
|
2014
|
+
* Status and type filters are applied after the read, not pushed into the
|
|
2015
|
+
* query. Each item's `csv_source` is then derived from its internal source tag
|
|
2016
|
+
* via {@link decodeKeyTagValue}, so a re-export carries the provenance of the
|
|
2017
|
+
* file the row originally came from.
|
|
2018
|
+
*
|
|
2019
|
+
* @param pmRoot - Tracker root to export.
|
|
2020
|
+
* @param opts - Column selection, per-column property remap, and status/type filters.
|
|
2021
|
+
* @returns The rendered CSV text, the exported row count, and the line ending used.
|
|
2022
|
+
* @throws CommandError when the pm read fails, naming the buffer overrun explicitly.
|
|
2023
|
+
*/
|
|
1758
2024
|
function buildCsvExport(pmRoot, opts) {
|
|
1759
2025
|
const result = spawnSync("pm", ["--path", pmRoot, "list-all", "--json", "--include-body"], { encoding: "utf-8", maxBuffer: pmListMaxBuffer() });
|
|
1760
2026
|
// A stdout overrun kills the child with status null and EMPTY stderr, so name
|
|
@@ -1819,7 +2085,7 @@ function buildCsvExport(pmRoot, opts) {
|
|
|
1819
2085
|
const defineExtension = (module) => module;
|
|
1820
2086
|
export default defineExtension({
|
|
1821
2087
|
name: "pm-csv",
|
|
1822
|
-
version: "2026.8.
|
|
2088
|
+
version: "2026.8.10",
|
|
1823
2089
|
activate(api) {
|
|
1824
2090
|
// -----------------------------------------------------------------------
|
|
1825
2091
|
// Schema: register an optional `csv_source` provenance field so imported
|
|
@@ -2206,4 +2472,15 @@ export default defineExtension({
|
|
|
2206
2472
|
// Named exports — pure helpers exposed for unit testing (no side effects).
|
|
2207
2473
|
// ---------------------------------------------------------------------------
|
|
2208
2474
|
export { parseCSV, serializeCSV, serializeField, stripBOM, resolveDelimiter, parseFieldMap, resolveImportFieldMap, applyFieldMap, normalizeStatus, parseTags, stringifyTags, encodeKeyTagValue, decodeKeyTagValue, normalizeKeyValue, selectExportColumns, resolveEncoding, validateParsedCSV, strictValidationIssues, parseImportFilter, rowMatchesFilter, discoverCustomFields, EXPORT_COLUMNS, IMPORT_COLUMNS, StreamingCSVParser, streamCSVFile, levenshtein, suggestClosest, validateFieldMapTargets, checkMapSourcesPresent, };
|
|
2475
|
+
// ---------------------------------------------------------------------------
|
|
2476
|
+
// Internal store helpers exposed for regression testing against oversized pm
|
|
2477
|
+
// roots. Unlike the pure helpers above, these READ or WRITE the given pm root
|
|
2478
|
+
// (they are not side-effect free) and are exported ONLY so the buffer-overrun
|
|
2479
|
+
// and compensation regressions can drive them directly under a capped
|
|
2480
|
+
// PM_LIST_MAX_BUFFER, independent of the write-bearing `csv import` command
|
|
2481
|
+
// path. `describePmNullStatus` is a pure classifier exposed so the three
|
|
2482
|
+
// null-status causes (buffer / spawn-error / signal) can be asserted directly
|
|
2483
|
+
// with synthetic results.
|
|
2484
|
+
// ---------------------------------------------------------------------------
|
|
2485
|
+
export { loadAppliedByTransaction, itemStatus, compensateCreate };
|
|
2209
2486
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-csv",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.10",
|
|
4
4
|
"description": "CSV importer and exporter for pm-cli",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,20 +28,21 @@
|
|
|
28
28
|
"check": "npm run typecheck",
|
|
29
29
|
"audit:prod": "node --input-type=module -e \"import { spawnSync } from 'node:child_process'; import { devNull } from 'node:os'; const env = { ...process.env, npm_config_userconfig: devNull, NPM_CONFIG_USERCONFIG: devNull }; for (const key of Object.keys(env)) if (key.toLowerCase() === 'npm_config_allow_scripts') delete env[key]; const win = process.platform === 'win32'; const r = spawnSync(win ? 'npm.cmd' : 'npm', ['audit', '--omit=dev', '--ignore-scripts'], { stdio: 'inherit', env, shell: win }); process.exit(r.status ?? 1);\"",
|
|
30
30
|
"pack:dry-run": "npm pack --dry-run",
|
|
31
|
-
"changelog": "pm-changelog --pm-root .agents/pm --mode prepend --output CHANGELOG.md --release-version-from-package --since-previous-tag --until-release-tag --item-url-base https://github.com/unbraind/pm-csv/blob/main/.agents/pm --respect-item-release",
|
|
32
31
|
"changelog:full": "pm-changelog --pm-root .agents/pm --mode replace --output CHANGELOG.md --all-release-tags --release-version-from-package --item-url-base https://github.com/unbraind/pm-csv/blob/main/.agents/pm --respect-item-release",
|
|
33
|
-
"changelog:check": "
|
|
34
|
-
"release:check": "npm run typecheck && npm run build && npm run coverage && npm run audit:prod && npm run pack:dry-run && npm run changelog:check",
|
|
32
|
+
"changelog:check": "npm run changelog:full -- --check",
|
|
33
|
+
"release:check": "npm run typecheck && npm run docstring && npm run build && npm run coverage && npm run audit:prod && npm run pack:dry-run && npm run changelog:check",
|
|
35
34
|
"prepublishOnly": "npm run release:check",
|
|
36
35
|
"release:notes": "pm-changelog --pm-root .agents/pm --stdout --since-previous-tag --until-release-tag --release-version-from-package --item-url-base https://github.com/unbraind/pm-csv/blob/main/.agents/pm --respect-item-release --pm-bin ./node_modules/.bin/pm --github-step-summary",
|
|
37
36
|
"prepare": "node scripts/prepare-merge-driver.mjs",
|
|
38
37
|
"merge:install": "pm merge install",
|
|
39
38
|
"pm:validate": "pm validate --json",
|
|
40
|
-
"coverage": "npm run build && npm run build:test && node scripts/coverage-gate.ts"
|
|
39
|
+
"coverage": "npm run build && npm run build:test && node scripts/coverage-gate.ts",
|
|
40
|
+
"docstring": "node scripts/docstring-gate.ts"
|
|
41
41
|
},
|
|
42
42
|
"coverageGate": {
|
|
43
43
|
"sources": [
|
|
44
|
-
"."
|
|
44
|
+
".",
|
|
45
|
+
"scripts/docstring-gate.ts"
|
|
45
46
|
],
|
|
46
47
|
"tests": [
|
|
47
48
|
"test/*.test.ts"
|
|
@@ -60,6 +61,7 @@
|
|
|
60
61
|
"@types/node": "^26.1.1",
|
|
61
62
|
"@unbrained/pm-cli": "^2026.8.6",
|
|
62
63
|
"pm-changelog": "^2026.8.6",
|
|
64
|
+
"pm-ops": "2026.8.10",
|
|
63
65
|
"typescript": "^7.0.2"
|
|
64
66
|
},
|
|
65
67
|
"keywords": [
|