octwin-cli 0.7.0 → 0.7.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.
- package/CHANGELOG.md +13 -0
- package/dist/index.js +11 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ Format: [Keep a Changelog](https://keepachangelog.com/) — newest first, bucket
|
|
|
5
5
|
**Added · Changed · Deprecated · Removed · Fixed · Security**. The platform-wide view lives in the
|
|
6
6
|
repo root [`CHANGELOG.md`](../../CHANGELOG.md); this file is the CLI-only cut that ships with the package.
|
|
7
7
|
|
|
8
|
+
## [0.7.1] - 2026-08-19
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **`work decide` now says when an action moves nothing.** `to_stage` is optional — an action may
|
|
12
|
+
record a decision without a transition — but both outputs communicated that by omission: `--dry-run`
|
|
13
|
+
left `to_stage: null` sitting among twenty other keys, and a real apply printed a bare
|
|
14
|
+
`✓ Applied '<action>'`. An author read both, shipped `request_more_info` with no `to_stage`, and
|
|
15
|
+
lost the `awaiting_customer` their whole customer-reply capture branched on — their words: *"Nothing
|
|
16
|
+
about this failed loudly; it just quietly never did the one thing the whole feature depends on."*
|
|
17
|
+
The preview now states `→ does NOT change the status (this action only records a decision)` and the
|
|
18
|
+
apply says `status unchanged (the action declares no to_stage)`. The console's decision panel got the
|
|
19
|
+
same sentence in the same change.
|
|
20
|
+
|
|
8
21
|
## [0.7.0] - 2026-08-18
|
|
9
22
|
|
|
10
23
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -1959,11 +1959,11 @@ async function cmdRecordsWrite(flags) {
|
|
|
1959
1959
|
if (json?.has_xrm === false)
|
|
1960
1960
|
die('this pack declares no XRM entities');
|
|
1961
1961
|
const rec = json?.record ?? {};
|
|
1962
|
-
// 200 = the
|
|
1963
|
-
// "created" for a match would misreport what the
|
|
1962
|
+
// 200 = the entity's identity matched an existing row; 201 = genuinely new.
|
|
1963
|
+
// Saying "created" for a match would misreport what the save actually did.
|
|
1964
1964
|
console.log(status === 201
|
|
1965
1965
|
? `✓ Created #${rec.record_number ?? '?'} ${rec.id ?? ''}`
|
|
1966
|
-
: `✓ Matched an EXISTING record (
|
|
1966
|
+
: `✓ Matched an EXISTING record (its unique constraint identified it) — #${rec.record_number ?? '?'} ${rec.id ?? ''}`);
|
|
1967
1967
|
if (rec.id)
|
|
1968
1968
|
readBack(rec.id);
|
|
1969
1969
|
return;
|
|
@@ -2747,10 +2747,17 @@ async function cmdWorkWrite(flags) {
|
|
|
2747
2747
|
}
|
|
2748
2748
|
if (dryRun) {
|
|
2749
2749
|
console.log('Preview (nothing was committed):');
|
|
2750
|
+
// Stated in words BEFORE the dump. `to_stage: null` is already in the JSON below, but a null
|
|
2751
|
+
// among twenty keys is not an answer anyone reads — a pack author previewed exactly this,
|
|
2752
|
+
// shipped an action with no `to_stage`, and lost the `awaiting_customer` their whole
|
|
2753
|
+
// reply-capture branched on. Same reason the console preview now says it too.
|
|
2754
|
+
console.log(json?.to_stage
|
|
2755
|
+
? ` → moves the record to '${json.to_stage}'.`
|
|
2756
|
+
: ' → does NOT change the status (this action only records a decision).');
|
|
2750
2757
|
console.log(JSON.stringify(json, null, 2));
|
|
2751
2758
|
return;
|
|
2752
2759
|
}
|
|
2753
|
-
console.log(`✓ Applied '${action}'${json?.to_stage ? ` — record is now '${json.to_stage}'` : ''}.`);
|
|
2760
|
+
console.log(`✓ Applied '${action}'${json?.to_stage ? ` — record is now '${json.to_stage}'` : ' — status unchanged (the action declares no to_stage)'}.`);
|
|
2754
2761
|
// `relayed`/`notified` are the customer-facing half; silence here usually means
|
|
2755
2762
|
// the action had no message template, which is easy to mistake for a failure.
|
|
2756
2763
|
const reached = json?.relayed || json?.notified;
|
package/package.json
CHANGED