monday-cli 0.7.1 → 0.8.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/CHANGELOG.md +249 -49
- package/README.md +87 -45
- package/dist/api/assets.d.ts +3 -3
- package/dist/api/column-types.d.ts +14 -7
- package/dist/api/column-types.d.ts.map +1 -1
- package/dist/api/column-types.js +14 -7
- package/dist/api/column-types.js.map +1 -1
- package/dist/api/error-decoration.d.ts +124 -0
- package/dist/api/error-decoration.d.ts.map +1 -0
- package/dist/api/error-decoration.js +161 -0
- package/dist/api/error-decoration.js.map +1 -0
- package/dist/api/fetch-transport-helpers.d.ts +97 -0
- package/dist/api/fetch-transport-helpers.d.ts.map +1 -0
- package/dist/api/fetch-transport-helpers.js +175 -0
- package/dist/api/fetch-transport-helpers.js.map +1 -0
- package/dist/api/file-column-set.d.ts +388 -82
- package/dist/api/file-column-set.d.ts.map +1 -1
- package/dist/api/file-column-set.js +466 -88
- package/dist/api/file-column-set.js.map +1 -1
- package/dist/api/multipart-transport.d.ts +95 -60
- package/dist/api/multipart-transport.d.ts.map +1 -1
- package/dist/api/multipart-transport.js +102 -120
- package/dist/api/multipart-transport.js.map +1 -1
- package/dist/api/transport.d.ts.map +1 -1
- package/dist/api/transport.js +2 -99
- package/dist/api/transport.js.map +1 -1
- package/dist/cli/program.js +1 -1
- package/dist/cli/program.js.map +1 -1
- package/dist/commands/auth/login.js +1 -1
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.js +1 -1
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/board/column-create.d.ts +20 -2
- package/dist/commands/board/column-create.d.ts.map +1 -1
- package/dist/commands/board/column-create.js +191 -20
- package/dist/commands/board/column-create.js.map +1 -1
- package/dist/commands/completion.js +1 -1
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/dev/configure.js +1 -1
- package/dist/commands/dev/configure.js.map +1 -1
- package/dist/commands/dev/discover.js +1 -1
- package/dist/commands/dev/discover.js.map +1 -1
- package/dist/commands/dev/doctor.js +1 -1
- package/dist/commands/dev/doctor.js.map +1 -1
- package/dist/commands/dev/epic/items.js +2 -2
- package/dist/commands/dev/epic/items.js.map +1 -1
- package/dist/commands/dev/epic/list.js +2 -2
- package/dist/commands/dev/epic/list.js.map +1 -1
- package/dist/commands/dev/release/list.js +2 -2
- package/dist/commands/dev/release/list.js.map +1 -1
- package/dist/commands/dev/sprint/current.js +2 -2
- package/dist/commands/dev/sprint/current.js.map +1 -1
- package/dist/commands/dev/sprint/items.js +2 -2
- package/dist/commands/dev/sprint/items.js.map +1 -1
- package/dist/commands/dev/sprint/list.js +2 -2
- package/dist/commands/dev/sprint/list.js.map +1 -1
- package/dist/commands/dev/task/block.js +2 -2
- package/dist/commands/dev/task/block.js.map +1 -1
- package/dist/commands/dev/task/done.js +2 -2
- package/dist/commands/dev/task/done.js.map +1 -1
- package/dist/commands/dev/task/list.js +2 -2
- package/dist/commands/dev/task/list.js.map +1 -1
- package/dist/commands/dev/task/start.js +2 -2
- package/dist/commands/dev/task/start.js.map +1 -1
- package/dist/commands/doc/get.js +1 -1
- package/dist/commands/doc/get.js.map +1 -1
- package/dist/commands/doc/list.js +1 -1
- package/dist/commands/doc/list.js.map +1 -1
- package/dist/commands/item/clear.d.ts.map +1 -1
- package/dist/commands/item/clear.js +15 -41
- package/dist/commands/item/clear.js.map +1 -1
- package/dist/commands/item/create.d.ts +93 -1
- package/dist/commands/item/create.d.ts.map +1 -1
- package/dist/commands/item/create.js +474 -53
- package/dist/commands/item/create.js.map +1 -1
- package/dist/commands/item/search.js +7 -7
- package/dist/commands/item/search.js.map +1 -1
- package/dist/commands/item/set.d.ts +1 -0
- package/dist/commands/item/set.d.ts.map +1 -1
- package/dist/commands/item/set.js +94 -1
- package/dist/commands/item/set.js.map +1 -1
- package/dist/commands/item/time-track/start.js +2 -2
- package/dist/commands/item/time-track/start.js.map +1 -1
- package/dist/commands/item/time-track/stop.js +2 -2
- package/dist/commands/item/time-track/stop.js.map +1 -1
- package/dist/commands/item/update.d.ts +128 -11
- package/dist/commands/item/update.d.ts.map +1 -1
- package/dist/commands/item/update.js +784 -82
- package/dist/commands/item/update.js.map +1 -1
- package/dist/commands/item/upload.js +5 -5
- package/dist/commands/item/upload.js.map +1 -1
- package/dist/commands/item/watch.js +2 -2
- package/dist/commands/item/watch.js.map +1 -1
- package/dist/commands/notification/send.js +1 -1
- package/dist/commands/notification/send.js.map +1 -1
- package/dist/commands/update/body-source.d.ts +38 -0
- package/dist/commands/update/body-source.d.ts.map +1 -0
- package/dist/commands/update/body-source.js +80 -0
- package/dist/commands/update/body-source.js.map +1 -0
- package/dist/commands/update/upload.js +3 -3
- package/dist/commands/update/upload.js.map +1 -1
- package/dist/commands/user/team-add-members.js +1 -1
- package/dist/commands/user/team-add-members.js.map +1 -1
- package/dist/commands/user/team-create.js +1 -1
- package/dist/commands/user/team-create.js.map +1 -1
- package/dist/commands/user/team-remove-members.js +1 -1
- package/dist/commands/user/team-remove-members.js.map +1 -1
- package/dist/commands/webhook/create.js +1 -1
- package/dist/commands/webhook/create.js.map +1 -1
- package/dist/commands/webhook/delete.js +1 -1
- package/dist/commands/webhook/delete.js.map +1 -1
- package/dist/commands/webhook/list.js +1 -1
- package/dist/commands/webhook/list.js.map +1 -1
- package/dist/utils/file-source.d.ts +109 -0
- package/dist/utils/file-source.d.ts.map +1 -1
- package/dist/utils/file-source.js +123 -0
- package/dist/utils/file-source.js.map +1 -1
- package/dist/utils/output/table.d.ts +7 -6
- package/dist/utils/output/table.d.ts.map +1 -1
- package/dist/utils/output/table.js +32 -5
- package/dist/utils/output/table.js.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,55 +7,255 @@ output envelope (`{ ok, data, meta, ... }`) and 29 stable error
|
|
|
7
7
|
codes are part of the public contract — the SemVer rules in
|
|
8
8
|
[`docs/cli-design.md`](./docs/cli-design.md) §6 govern bumps.
|
|
9
9
|
|
|
10
|
-
## [0.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
10
|
+
## [0.8.0] - 2026-05-22 — File-upload P1 fix + multi-file / stdin file `--set` + writable board_relation/dependency settings (M49 + M46 + M47 + M48)
|
|
11
|
+
|
|
12
|
+
The release whose headline is a **fix**, not a feature: **M49 repairs
|
|
13
|
+
the file-upload wire format**. Published `0.7.0` (and every release
|
|
14
|
+
back to v0.4-M31) shipped the Apollo GraphQL multipart-request spec
|
|
15
|
+
(`operations` / `map` / numbered parts), which **live Monday rejects**
|
|
16
|
+
— so `monday item upload`, `monday update upload`, and every friendly
|
|
17
|
+
file `--set` was broken against the real API for five milestones
|
|
18
|
+
(M31 / M38 / M42 / M43 / M46) while the test suite stayed green
|
|
19
|
+
against a fixture that asserted the *wrong* wire shape. `0.8.0` emits
|
|
20
|
+
Monday's native multipart shape (`query` + a sibling `variables`
|
|
21
|
+
field + a string-encoded `map` + a named file part, POSTed to
|
|
22
|
+
`/v2/file`) and is **the first release where file uploads actually
|
|
23
|
+
work against live Monday** — live-verified via a `RUN_LIVE_TESTS`-
|
|
24
|
+
gated upload smoke test that drives the real transport. **If you use
|
|
25
|
+
any file upload, upgrade from `0.7.0`.**
|
|
26
|
+
|
|
27
|
+
On top of the fix, three feature folds close long-standing deferrals:
|
|
28
|
+
multi-file `--set` per call (M46, closes v0.6-M38 D2), stdin file
|
|
29
|
+
`--set <file-col>=-` (M47, closes v0.6-M38 D7), and writable create-
|
|
30
|
+
time `board_relation` / `dependency` column settings (M48). Plus an
|
|
31
|
+
internal `src/api/` error-decoration refactor cluster. **No breaking
|
|
32
|
+
changes vs `0.7.0` — every v0.8 surface is additive; the output
|
|
33
|
+
envelope and 29 stable error codes are unchanged.** Built
|
|
34
|
+
incrementally as M49 + the refactor cluster + M46 + M47 + M48.
|
|
35
|
+
|
|
36
|
+
**Re-scope note 2026-05-21.** v0.8 re-scoped from its original
|
|
37
|
+
SKELETON (Monday API `2026-07` pin + user-entity migration M44 +
|
|
38
|
+
`user activity` M45) to **stay on API `2026-01`** and ship the
|
|
39
|
+
v0.6 / v0.7 carve-out folds above — mirroring the v0.7 pivot verbatim.
|
|
40
|
+
`@mondaydotcomorg/api` is still pinned at 14.0.0 (baking `2026-01`);
|
|
41
|
+
no SDK 15.x (`2026-04`) or 16.x (`2026-07`) had published at the
|
|
42
|
+
candidate-selection commit, so M44 / M45 + the v0.7-deferred M39 /
|
|
43
|
+
M40 / M41 cluster stay deferred to a future release (re-open when the
|
|
44
|
+
SDK publishes natively AND a paid-tier sandbox is available for the
|
|
45
|
+
M40 wire probe).
|
|
46
|
+
|
|
47
|
+
### Breaking changes vs `0.7.0`
|
|
48
|
+
|
|
49
|
+
**None.** Every command, error code, envelope key, and warning shape
|
|
50
|
+
shipped in `0.7.0` is preserved. v0.8 only adds (and fixes the
|
|
51
|
+
upload wire shape — a fix that makes previously-broken uploads work,
|
|
52
|
+
not a contract change: the dry-run echo + read-side `settings_str`
|
|
53
|
+
shapes are byte-stable).
|
|
54
|
+
|
|
55
|
+
### Surface
|
|
56
|
+
|
|
57
|
+
**117 commands shipped (unchanged from v0.7).** M46 / M47 / M48
|
|
58
|
+
extend existing verbs rather than adding noun namespaces — M46 + M47
|
|
59
|
+
add file-source dispatch shapes to `item set` / `item update` /
|
|
60
|
+
`item create`; M48 adds the `--settings` flag's reach to
|
|
61
|
+
`board column-create` for two more column types. The friendly
|
|
62
|
+
translator stays JSON-output-shaped for the existing writable types.
|
|
63
|
+
|
|
64
|
+
**🚨 File-upload wire-format fix (M49) — `src/api/multipart-transport.ts`.**
|
|
65
|
+
The transport now POSTs Monday's native multipart shape to `/v2/file`:
|
|
66
|
+
a `query` field carrying the mutation, a sibling `variables` field, a
|
|
67
|
+
string-encoded `map` (not the Apollo nested-object form), and the file
|
|
68
|
+
under a named part matching the map. The bug never surfaced in tests
|
|
69
|
+
because the mocked multipart fixture validated `operationName` +
|
|
70
|
+
`match_filename` + `match_variables` but **never the form structure**
|
|
71
|
+
— so it accepted a request the live wire would 4xx. The fix backs the
|
|
72
|
+
corrected fixture assertion with a `RUN_LIVE_TESTS`-gated live smoke
|
|
73
|
+
test (one of the three skipped tests by default). No command surface,
|
|
74
|
+
flag, or envelope changes — the same `item upload` / `update upload` /
|
|
75
|
+
file `--set` calls now succeed live instead of failing.
|
|
76
|
+
|
|
77
|
+
**Multi-file `--set` per call (M46) — `monday item update` (single +
|
|
78
|
+
bulk) + `monday item create`.** Lifts v0.6-M38's single-file gate:
|
|
79
|
+
multiple `--set <file-col>=<path>` entries per call fire N sequential
|
|
80
|
+
`add_file_to_column` legs per item, with a per-leg partial-failure
|
|
81
|
+
accumulator. Three reachable callShapes (single-item update / bulk
|
|
82
|
+
update / create) each emit an `operation`-discriminated envelope
|
|
83
|
+
(`add_files_to_columns` / `item_update_bulk_file_set_multi` /
|
|
84
|
+
`item_create_with_files`). The inner sequential N-leg loop +
|
|
85
|
+
accumulator lifted to `dispatchFileLegsSequentially`
|
|
86
|
+
(`src/api/file-column-set.ts`, 3 consumers — R-v0.8-NEW-1 LIFT).
|
|
87
|
+
|
|
88
|
+
**Stdin file `--set <file-col>=-` (M47) — `monday item set` /
|
|
89
|
+
`item update <iid>` / `item create`.** A bare `-` file `--set` value
|
|
90
|
+
sources the upload from stdin. **Single-file, single-target only**
|
|
91
|
+
(stdin is one non-replayable stream — not available on bulk
|
|
92
|
+
`--where`). `--filename <name>` names the multipart part (default
|
|
93
|
+
`blob`, with the MIME type sniffed from the filename). An empty pipe
|
|
94
|
+
rejects `usage_error` with `details.reason: "stdin_file_empty"`
|
|
95
|
+
before any wire call. `monday item create` reads stdin **before**
|
|
96
|
+
leg-1 `create_item`, so an empty pipe never orphans a created item.
|
|
97
|
+
|
|
98
|
+
**Writable `board_relation` / `dependency` create-time settings
|
|
99
|
+
(M48) — `monday board column-create --type <t> --settings <json>`.**
|
|
100
|
+
The existing `--settings <json>` flag now accepts per-type settings
|
|
101
|
+
for two more column types: `board_relation` takes
|
|
102
|
+
`{"boardIds":[123,456]}` (ints, coerced from JSON ints or numeric
|
|
103
|
+
strings with a `Number.isSafeInteger` guard); `dependency` is
|
|
104
|
+
same-board only and takes `{"allowMultipleItems"?:bool}` (a
|
|
105
|
+
`boardIds` / `boardId` key on `dependency` rejects with
|
|
106
|
+
`usage_error.details.rejected_keys`). On the wire these two types
|
|
107
|
+
wrap their settings under `defaults: {settings: {…}}` (the M48
|
|
108
|
+
single dispatch-site ternary); the other settings-accepting types
|
|
109
|
+
(`status` / `dropdown` / `numbers`) pass `defaults: settings`
|
|
110
|
+
unwrapped. The wrap is **wire-only** — the dry-run echo and the
|
|
111
|
+
read-side `Column.settings_str` stay unwrapped (agent shape). Monday
|
|
112
|
+
validates board existence (a non-existent `boardIds` target →
|
|
113
|
+
`not_found`).
|
|
114
|
+
|
|
115
|
+
### Output contract additions
|
|
116
|
+
|
|
117
|
+
**No new stable error codes — registry stays at 29.** Every v0.8
|
|
118
|
+
rejection routes through existing codes with `details.reason` /
|
|
119
|
+
`details.rejected_keys` discriminators: M47's `"stdin_file_empty"`
|
|
120
|
+
(`usage_error`) joins the existing file-dispatch discriminator family
|
|
121
|
+
under the R-v0.6-NEW-2 per-status-detail pattern (graduated at v0.7);
|
|
122
|
+
M48's `dependency` board-target rejection is an existing `usage_error`
|
|
123
|
+
with `details.rejected_keys`.
|
|
124
|
+
|
|
125
|
+
**New `operation`-discriminated emit shapes (M46).** Three new
|
|
126
|
+
multi-file envelopes — `add_files_to_columns` (single-item update),
|
|
127
|
+
`item_update_bulk_file_set_multi` (bulk), `item_create_with_files`
|
|
128
|
+
(create) — each pinned by its own schema and emitted via
|
|
129
|
+
`emitMutation`. Per the R-v0.8-NEW-8 audit-point + the M42 union-
|
|
130
|
+
exclusion precedent, single-resource shapes advertise in the command
|
|
131
|
+
registry's `outputSchema`; bulk per-item-results shapes document
|
|
132
|
+
their exclusion.
|
|
133
|
+
|
|
134
|
+
**Stdin source echo (M47).** On a `<file-col>=-` dispatch the envelope
|
|
135
|
+
carries `file_size_bytes` = the buffered stdin byte length (not an
|
|
136
|
+
`fs.stat`), and the dry-run `planned_changes` file descriptor reads
|
|
137
|
+
`(stdin)` rather than a path. The field is additive per §6.4.
|
|
138
|
+
|
|
139
|
+
**No new envelope keys, no new warning shapes** beyond the M46
|
|
140
|
+
multi-file `operation` discriminators + the M47 stdin echo above.
|
|
141
|
+
M46 / M47 reuse the M31 multipart wire's success-envelope shape; M48
|
|
142
|
+
reuses the M16 `create_column` JSON envelope (its wire change is
|
|
143
|
+
input-side only — `defaults` wrap — so the returned `Column`
|
|
144
|
+
projection is unchanged).
|
|
145
|
+
|
|
146
|
+
### Upgrade notes
|
|
147
|
+
|
|
148
|
+
- **File uploads now work live.** No code or flag change is needed —
|
|
149
|
+
`monday item upload` / `monday update upload` / file `--set` calls
|
|
150
|
+
that silently failed (or 4xx'd) against `0.7.0` succeed on `0.8.0`.
|
|
151
|
+
This is the single most important reason to upgrade.
|
|
152
|
+
- **`multi_file_set_unsupported` (v0.6-M38 D2) is DROPPED.** v0.8-M46
|
|
153
|
+
picks up multiple file `--set` entries per call on update (single +
|
|
154
|
+
bulk) + create. The rejection no longer fires on those paths.
|
|
155
|
+
- **The v0.6-M38 D7 stdin file-`--set` deferral is CLOSED.** v0.8-M47
|
|
156
|
+
picks up stdin file `--set <file-col>=-` on set / update-single /
|
|
157
|
+
create. Bulk `--where` still rejects stdin with
|
|
158
|
+
`usage_error.details.reason: "stdin_file_set_on_bulk_unsupported"`
|
|
159
|
+
(one non-replayable stream can't fan out across N matched items).
|
|
160
|
+
- **`board column-create --type board_relation|dependency --settings`
|
|
161
|
+
now succeeds** where it previously had no documented shape (M19's
|
|
162
|
+
"no documented shape" was REFUTED by the M48 probe). `dependency`
|
|
163
|
+
is same-board only — an explicit board target coerces to the host
|
|
164
|
+
board.
|
|
165
|
+
- **Multi-level subitem `--parent` rejection slipped `v0.8` → `v0.9`.**
|
|
166
|
+
Monday's `sub_items_board` still carries no `subtasks` column at API
|
|
167
|
+
`2026-01`; the `details.deferred_to` value moves forward one release
|
|
168
|
+
(5th consecutive slip).
|
|
169
|
+
|
|
170
|
+
### Internals worth highlighting
|
|
171
|
+
|
|
172
|
+
- **R-v0.8-NEW-9 (mocked transport must mirror the real wire)
|
|
173
|
+
RESOLVED at M49 — and graduated into `.claude/rules/testing.md`.**
|
|
174
|
+
The five-milestone P1 was caused by a mock that validated a
|
|
175
|
+
multipart shape the live wire would reject. The fix corrected the
|
|
176
|
+
fixture assertion to the native form AND added a `RUN_LIVE_TESTS`-
|
|
177
|
+
gated live smoke test for the seam; the "mock at the boundary, but
|
|
178
|
+
the mock must reject what the wire would reject" rule now lives in
|
|
179
|
+
testing.md with this incident as the worked example.
|
|
180
|
+
- **v0.8 refactor cluster SHIPPED** (`refactor(api): lift
|
|
181
|
+
reThrowDecorated + projectCauseForEnvelope`). R-v0.7-NEW-5
|
|
182
|
+
(`reThrowDecorated` fail-fast scaffold, 4 consumers) + R-v0.8-NEW-6
|
|
183
|
+
(`projectCauseForEnvelope` builder, 3 consumers) lifted to
|
|
184
|
+
`src/api/error-decoration.ts`; 7 sites delegate. Branch coverage
|
|
185
|
+
95.47% → 95.88%; `item/update.ts` 79.42% → 87.27%. Codex IMPL
|
|
186
|
+
CONVERGED R4.
|
|
187
|
+
- **R-v0.6-NEW-1 reached its 6th consumer** at M46 (multi-file
|
|
188
|
+
dispatch) — already graduated at 5 post-v0.7, scaled cleanly with
|
|
189
|
+
no internal-shape change. **R-v0.8-NEW-1** (`dispatchFileLegs
|
|
190
|
+
Sequentially`) lifted at M46 with 3 consumers.
|
|
191
|
+
- **R-NEW-82 graduated discipline applied at its 6th-consecutive
|
|
192
|
+
consumer.** The release-prep cross-doc grep caught one stale
|
|
193
|
+
`deferred_to: "v0.8"` slot (multi-level subitem, slipped to
|
|
194
|
+
`"v0.9"`) + one ToC drift (M46 / M47 / M48 annotations missing from
|
|
195
|
+
`docs/output-shapes.md`'s `item (mutations)` + `board` rows).
|
|
196
|
+
- **R-NEW-84 graduated discipline applied.** The v0.8 release-prep
|
|
197
|
+
cluster ships zero production semantic changes modulo the
|
|
198
|
+
`'v0.8'` → `'v0.9'` literal flip in the multi-level subitem
|
|
199
|
+
rejection slot; gates carry verification (Codex review skipped).
|
|
200
|
+
- **R-v0.8-NEW-4 (M42/M43 schema parse-test backfill) stays
|
|
201
|
+
deferred.** Its trigger was "act if the release-prep envelope-
|
|
202
|
+
snapshot probe surfaces a schema-shape inconsistency"; the probe
|
|
203
|
+
ran clean (zero diff), so the backfill remains a low-priority
|
|
204
|
+
belt-and-suspenders candidate.
|
|
205
|
+
- **R-v0.8-NEW-7 (commit-subject-line refs over bare SHAs) adopted**
|
|
206
|
+
at the v0.8 close-docs — NEW plan-doc / CHANGELOG prose prefers
|
|
207
|
+
milestone-relative commit references, with rebase-volatile SHA
|
|
208
|
+
ranges riding alongside as a convenience.
|
|
209
|
+
- **Two-AI review** ran for each v0.8 feature milestone's pre-flight
|
|
210
|
+
+ IMPL (M49 CONVERGED R1; refactor cluster R4; M46 R3; M47 R1;
|
|
211
|
+
M48 R2). The release-prep cluster skipped Codex per R-NEW-84.
|
|
212
|
+
Per-milestone Codex breakdowns live in the post-mortems in
|
|
213
|
+
[`docs/v0.8-plan.md`](./docs/v0.8-plan.md) §3.
|
|
214
|
+
|
|
215
|
+
### Tests + quality gates
|
|
216
|
+
|
|
217
|
+
- **4254 tests pass + 3 skipped** (was 4124 + 1 at `0.7.0`). The 3
|
|
218
|
+
skips: the 2 pre-existing + the new `RUN_LIVE_TESTS`-gated
|
|
219
|
+
multipart-upload live smoke test (M49). All green on Node 22 + 24.
|
|
220
|
+
- **Coverage at branches 95.91% / functions 98.97%** against the
|
|
221
|
+
floor 95 / 95.45 / 95 / 95 — comfortably above the branch floor
|
|
222
|
+
(the refactor cluster lifted it 95.47% → 95.88%, and the M46/M48
|
|
223
|
+
dispatch arms are fully covered). Floor unchanged across
|
|
224
|
+
`0.7.0` → `0.8.0`.
|
|
225
|
+
- **Envelope-snapshot suite** — refresh probe ran clean at v0.8
|
|
226
|
+
release-prep (zero diff vs M48 IMPL close, 162 snapshots); folded
|
|
227
|
+
into close-docs prose per the v0.5 / v0.6 / v0.7 precedent (a
|
|
228
|
+
zero-diff probe doesn't warrant its own commit).
|
|
229
|
+
- **Five test layers held**: unit, integration (`FixtureTransport` +
|
|
230
|
+
`MultipartFixtureTransport`), E2E (subprocess against fixture
|
|
231
|
+
server), envelope-shape snapshot suite, published-tarball E2E —
|
|
232
|
+
plus the new `RUN_LIVE_TESTS`-gated live-wire smoke tests.
|
|
233
|
+
- **`npm audit` reports `0 vulnerabilities`** — no audit-fix folded
|
|
234
|
+
in this cycle (unlike the v0.7 release-prep bump).
|
|
235
|
+
|
|
236
|
+
### Documentation
|
|
237
|
+
|
|
238
|
+
- **[`docs/v0.8-plan.md`](./docs/v0.8-plan.md)** — the v0.8 plan
|
|
239
|
+
carries the M49 + refactor-cluster + M46 + M47 + M48 milestone
|
|
240
|
+
closes (§3), per-milestone decision logs, the R-class register
|
|
241
|
+
(§22, incl. R-v0.8-NEW-9's RESOLVED narrative), and the §7 release
|
|
242
|
+
exit checklist.
|
|
243
|
+
- **[`.claude/rules/testing.md`](./.claude/rules/testing.md)** — new
|
|
244
|
+
"the mock must reject what the real wire rejects" rule, with the
|
|
245
|
+
M49 five-milestone P1 as the worked example + the
|
|
246
|
+
`RUN_LIVE_TESTS`-gated live-smoke pattern.
|
|
247
|
+
- **[`docs/output-shapes.md`](./docs/output-shapes.md)** — M46
|
|
248
|
+
multi-file, M47 stdin, and M48 board_relation/dependency settings
|
|
249
|
+
body sections; ToC rows for `item (mutations)` + `board` updated to
|
|
250
|
+
enumerate the v0.8 milestone annotations (caught at the v0.8
|
|
251
|
+
release-prep ToC audit — 6th consecutive R-NEW-82 ratification).
|
|
252
|
+
- **README.md** — quickstart step 13 extended to the full v0.6 → v0.8
|
|
253
|
+
file-`--set` family (M46 multi-file + M47 stdin) with the M49 P1-fix
|
|
254
|
+
warning; Scope section gains a "v0.8.0 (current)" entry + re-scope
|
|
255
|
+
note; prior-release labels cascade; the "next" block reframes to
|
|
256
|
+
v0.9.
|
|
257
|
+
|
|
258
|
+
[0.8.0]: https://github.com/Firer/monday-cli/releases/tag/v0.8.0
|
|
59
259
|
|
|
60
260
|
## [0.7.0] - 2026-05-20 — Bulk + create-time file `--set` carve-out folds (M42 + M43)
|
|
61
261
|
|
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ Requires **Node.js ≥ 22**.
|
|
|
49
49
|
# Get one at https://<your-org>.monday.com/admin/integrations/api
|
|
50
50
|
#
|
|
51
51
|
# OAuth login (`monday auth login`) is registered but deferred in
|
|
52
|
-
# v0.
|
|
52
|
+
# v0.8.0 — the verb surfaces a clear `usage_error.details.reason:
|
|
53
53
|
# oauth_unregistered` pointing here. Authenticate via the env var.
|
|
54
54
|
export MONDAY_API_TOKEN="<your-token>"
|
|
55
55
|
|
|
@@ -117,8 +117,8 @@ monday user team-list --json
|
|
|
117
117
|
monday user team-create --name "Platform" --users 7,9 --json
|
|
118
118
|
monday user team-add-members <tid> --users 11,13 --json
|
|
119
119
|
|
|
120
|
-
# 13. Files-shaped friendly `--set` writes — the v0.6 → v0.
|
|
121
|
-
# set,
|
|
120
|
+
# 13. Files-shaped friendly `--set` writes — the v0.6 → v0.8 carve-out
|
|
121
|
+
# set, every CLI shape reaching Monday's `add_file_to_column`
|
|
122
122
|
# multipart wire:
|
|
123
123
|
# - v0.6-M38 ships single-item friendly `--set <file-col>=<path>`
|
|
124
124
|
# on `monday item set` + `monday item update <iid>` (sibling-
|
|
@@ -130,9 +130,21 @@ monday user team-add-members <tid> --users 11,13 --json
|
|
|
130
130
|
# --set <file-col>=<path>` as a two-leg `create_item` +
|
|
131
131
|
# `add_file_to_column` dispatch under the §5.8 orphan-warn
|
|
132
132
|
# atomicity envelope.
|
|
133
|
-
#
|
|
134
|
-
#
|
|
135
|
-
#
|
|
133
|
+
# - v0.8-M46 lifts the single-file gate: multiple `--set
|
|
134
|
+
# <file-col>=<path>` entries per call across update (single +
|
|
135
|
+
# bulk) + create, each firing a sequential `add_file_to_column`
|
|
136
|
+
# leg with a per-leg partial-failure accumulator.
|
|
137
|
+
# - v0.8-M47 sources an upload from stdin with a bare `-`
|
|
138
|
+
# (`<file-col>=-`, single-file / single-target; `--filename`
|
|
139
|
+
# names the part, default `blob`; empty pipe rejects
|
|
140
|
+
# `usage_error.details.reason: stdin_file_empty`).
|
|
141
|
+
# ⚠ v0.8-M49 P1 FIX: published v0.7.0 shipped the Apollo multipart
|
|
142
|
+
# spec, which live Monday REJECTS — so every real upload was broken
|
|
143
|
+
# in 0.7.0. v0.8.0 emits Monday's native multipart shape and is the
|
|
144
|
+
# first release where these uploads actually work against live
|
|
145
|
+
# Monday (live-verified). The v0.4-M31 verb-shaped `monday item
|
|
146
|
+
# upload` path remains as the alternative. `--dry-run` emits
|
|
147
|
+
# `planned_changes` on every shape without the multipart round-trip.
|
|
136
148
|
monday item set 67890 'Attachments'=./screenshot.png --json
|
|
137
149
|
monday item update 67890 --set 'Attachments'=./diagram.png --json
|
|
138
150
|
monday item update 67890 --set 'Attachments'=./report.pdf --dry-run --json
|
|
@@ -140,8 +152,10 @@ monday item update --board 12345 --where status=Backlog \
|
|
|
140
152
|
--set 'Attachments'=./report.pdf --yes --continue-on-error \
|
|
141
153
|
--concurrency 4 --json # v0.7-M42 bulk file dispatch
|
|
142
154
|
monday item create --board 12345 --name "Field report" \
|
|
143
|
-
--set 'Attachments'=./report.pdf --set
|
|
144
|
-
--json
|
|
155
|
+
--set 'Attachments'=./report.pdf --set 'Spec'=./spec.pdf \
|
|
156
|
+
--set status='Working on it' --json # v0.8-M46 multi-file create-time
|
|
157
|
+
cat report.pdf | monday item set 67890 'Attachments'=- \
|
|
158
|
+
--filename report.pdf --json # v0.8-M47 stdin file --set
|
|
145
159
|
|
|
146
160
|
# 14. Find-or-create with idempotent matching (v0.2)
|
|
147
161
|
# Re-running with the same args is safe — 0/1/2+ matches route to
|
|
@@ -228,7 +242,7 @@ Every JSON response uses the same universal envelope:
|
|
|
228
242
|
"meta": {
|
|
229
243
|
"schema_version": "1",
|
|
230
244
|
"api_version": "2026-01",
|
|
231
|
-
"cli_version": "0.
|
|
245
|
+
"cli_version": "0.8.0",
|
|
232
246
|
"request_id": "0e6f1a7b-...",
|
|
233
247
|
"source": "live",
|
|
234
248
|
"cache_age_seconds": null,
|
|
@@ -328,7 +342,38 @@ See [`.env.example`](./.env.example) for all supported variables
|
|
|
328
342
|
|
|
329
343
|
## Scope
|
|
330
344
|
|
|
331
|
-
**v0.
|
|
345
|
+
**v0.8.0 (current — `monday-cli@0.8.0` on npm):**
|
|
346
|
+
the v0.7 surface PLUS — most importantly — the 🚨 P1 file-upload
|
|
347
|
+
wire-format **FIX** (M49). Published v0.7.0 shipped the Apollo
|
|
348
|
+
multipart spec, which live Monday rejects, so `monday item upload` /
|
|
349
|
+
`monday update upload` / every friendly file `--set` was broken
|
|
350
|
+
against live Monday for five milestones (M31/M38/M42/M43/M46).
|
|
351
|
+
v0.8.0 emits Monday's native multipart shape (`query` + sibling
|
|
352
|
+
`variables` + string-`map` + named part, POSTed to `/v2/file`) and
|
|
353
|
+
is the **first release where file uploads actually work live**
|
|
354
|
+
(live-verified via a `RUN_LIVE_TESTS`-gated smoke test). On top of
|
|
355
|
+
the fix, three feature folds: multi-file `--set` per call across
|
|
356
|
+
update (single + bulk) + create (M46, lifting the single-file gate);
|
|
357
|
+
stdin file `--set <file-col>=-` with `--filename` (M47); and writable
|
|
358
|
+
create-time `board_relation` / `dependency` column settings via
|
|
359
|
+
`monday board column-create --type board_relation --settings
|
|
360
|
+
'{"boardIds":[…]}'` (M48). Plus an internal `src/api/` error-
|
|
361
|
+
decoration refactor cluster. **No breaking changes vs v0.7.0** — the
|
|
362
|
+
v0.8 surface is additive (the output envelope + 29 stable error codes
|
|
363
|
+
are unchanged); M49 is a fix that ships in the same minor. Built
|
|
364
|
+
incrementally as M49 + the refactor cluster + M46 + M47 + M48.
|
|
365
|
+
|
|
366
|
+
**Re-scope note 2026-05-21.** v0.8 re-scoped from its original
|
|
367
|
+
SKELETON (Monday API `2026-07` pin + user-entity migration M44 +
|
|
368
|
+
`user activity` M45) to **stay on API `2026-01`** and ship the
|
|
369
|
+
v0.6/v0.7 carve-out folds above — mirroring the v0.7 pivot verbatim.
|
|
370
|
+
`@mondaydotcomorg/api` is still pinned at 14.0.0 (baking `2026-01`);
|
|
371
|
+
no SDK 15.x (`2026-04`) or 16.x (`2026-07`) has published, so M44 /
|
|
372
|
+
M45 + the v0.7-deferred M39 / M40 / M41 cluster stay deferred to a
|
|
373
|
+
future release. See [CHANGELOG.md](./CHANGELOG.md) for the full
|
|
374
|
+
per-milestone release notes.
|
|
375
|
+
|
|
376
|
+
**v0.7.0 (the previous release):**
|
|
332
377
|
the v0.6 surface PLUS the two file-`--set` carve-outs deferred at
|
|
333
378
|
v0.6-M38 — bulk `monday item update --where ... --set <file-col>=
|
|
334
379
|
<path>` (M42, per-item multipart fan-out under `--concurrency` /
|
|
@@ -336,26 +381,23 @@ v0.6-M38 — bulk `monday item update --where ... --set <file-col>=
|
|
|
336
381
|
<file-col>=<path>` (M43, two-leg `create_item` + `add_file_to_
|
|
337
382
|
column` dispatch under the §5.8 orphan-warn atomicity envelope).
|
|
338
383
|
**No breaking changes vs v0.6.0** — the v0.7 surface is additive
|
|
339
|
-
(M42 + M43 only).
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
`@mondaydotcomorg/api` SDK 15.x
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
per-milestone release notes.
|
|
349
|
-
|
|
350
|
-
**OAuth deferral (unchanged from v0.6.0).** `monday auth login` is
|
|
384
|
+
(M42 + M43 only). Both close v0.6-M38 D5 / D6 deferrals so the
|
|
385
|
+
friendly file-`--set` form reaches every callShape (single-item /
|
|
386
|
+
bulk / create-time). **NOTE:** file uploads in published v0.7.0 are
|
|
387
|
+
live-broken (the M49 P1 above) — upgrade to v0.8.0 for working
|
|
388
|
+
uploads. The originally-planned Monday API `2026-04` pin bump (M39)
|
|
389
|
+
+ `monday item set-description` (M40) + `monday doc block-create-bulk`
|
|
390
|
+
(M41) DEFERRED at 2026-05-20 pending `@mondaydotcomorg/api` SDK 15.x.
|
|
391
|
+
|
|
392
|
+
**OAuth deferral (unchanged from v0.7.0).** `monday auth login` is
|
|
351
393
|
registered but the canonical Monday OAuth app is not registered in
|
|
352
|
-
v0.
|
|
394
|
+
v0.8.0; the verb surfaces a clear `usage_error.details.reason:
|
|
353
395
|
oauth_unregistered` pointing at `MONDAY_API_TOKEN`. Multi-profile
|
|
354
396
|
config + per-profile credentials cache work fully against API
|
|
355
|
-
tokens; OAuth registration revisits in v0.
|
|
397
|
+
tokens; OAuth registration revisits in v0.8.x / v0.9 contingent on
|
|
356
398
|
user demand.
|
|
357
399
|
|
|
358
|
-
**v0.6.0 (the
|
|
400
|
+
**v0.6.0 (the prior release):**
|
|
359
401
|
the v0.5 surface PLUS files-shaped friendly `--set <file-col>=<path>`
|
|
360
402
|
writes on `monday item set` + `monday item update` (single-item
|
|
361
403
|
paths), closing the v0.4 → v0.5 → v0.6 carry-over of the inline
|
|
@@ -367,7 +409,7 @@ v0.6 surface is additive (M38 only). Built as a single milestone
|
|
|
367
409
|
(M38). The bulk + create-time carve-outs deferred at v0.6-M38
|
|
368
410
|
(D5 / D6) carry forward to v0.7 (above).
|
|
369
411
|
|
|
370
|
-
**v0.5.0 (the
|
|
412
|
+
**v0.5.0 (the earlier release):**
|
|
371
413
|
the v0.4 surface PLUS the full team-writer surface
|
|
372
414
|
(`monday user team-list/get/create/delete/add-members/remove-members`),
|
|
373
415
|
the full Monday workdocs CRUD mutation surface — doc-level
|
|
@@ -377,7 +419,7 @@ and doc-content import (`monday doc import-html/append-markdown`) —
|
|
|
377
419
|
closing the v0.4-M32 workdocs-mutation deferral. **16 new CLI
|
|
378
420
|
verbs across 9 wire mutations.** Built incrementally across M34–M37.
|
|
379
421
|
|
|
380
|
-
**v0.4.0 (
|
|
422
|
+
**v0.4.0 (an even-earlier release):**
|
|
381
423
|
the v0.3 surface PLUS long-poll item activity streaming
|
|
382
424
|
(`monday item watch <iid>` — NDJSON), parallel bulk dispatch
|
|
383
425
|
(`monday item update --where ... --concurrency <N>`), asset uploads
|
|
@@ -387,7 +429,7 @@ workdocs CRUD mutation surface deferred to v0.5; shipped at v0.5),
|
|
|
387
429
|
and shell completion (`monday completion bash|zsh|fish`). Built
|
|
388
430
|
incrementally across M29–M33.
|
|
389
431
|
|
|
390
|
-
**v0.3.0 (
|
|
432
|
+
**v0.3.0 (a yet-earlier release):**
|
|
391
433
|
the v0.2 mutating core PLUS the Monday Dev convention layer
|
|
392
434
|
(`monday dev` namespace — sprint / epic / release / task workflow
|
|
393
435
|
shortcuts on top of standard board CRUD), multi-profile auth
|
|
@@ -780,16 +822,23 @@ row `tags`, `board_relation`, `dependency`.
|
|
|
780
822
|
`unsupported_column_type` / `not_found` / `validation_failed`
|
|
781
823
|
codes with `details.reason` discrimination).
|
|
782
824
|
|
|
783
|
-
**v0.
|
|
825
|
+
**v0.9 (next):** **Carry-forward backlog** (unpicked
|
|
784
826
|
candidates remain in cli-design.md §13 slipped-candidates list
|
|
785
|
-
pending future candidate-selection sessions)
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
827
|
+
pending future candidate-selection sessions). The v0.6-M38 D2
|
|
828
|
+
multi-file `--set` + D7 stdin file-`--set` deferrals **SHIPPED**
|
|
829
|
+
at v0.8-M46 / v0.8-M47, so they leave the backlog. Still
|
|
830
|
+
deferred: the original v0.8 SKELETON's user-entity migration
|
|
831
|
+
(M44) + `user activity` (M45) + the Monday API `2026-07` pin
|
|
832
|
+
defer pending `@mondaydotcomorg/api` SDK 16.x; the v0.7-deferred
|
|
833
|
+
M39 (API `2026-04` pin) + M40 (`item set-description`) + M41
|
|
834
|
+
(`doc block-create-bulk`) re-open when SDK 15.x ships `2026-04`
|
|
835
|
+
natively AND a paid-tier sandbox is available for the M40 wire
|
|
836
|
+
probe (v0.8 stayed on `2026-01` — SDK still 14.0.0, no 15.x/16.x
|
|
837
|
+
published). Multi-level subitems remain conditional on Monday's
|
|
838
|
+
data model surfacing them (slipped from v0.4 → v0.5 → v0.6 →
|
|
839
|
+
v0.7 → v0.8 → v0.9 across five consecutive release-preps —
|
|
840
|
+
Monday's `sub_items_board` still carries no `subtasks` column at
|
|
841
|
+
API `2026-01`); cross-board `item move` value-overrides (Monday's
|
|
793
842
|
`ColumnMappingInput` still carries no value slot — slipped four
|
|
794
843
|
times for the same reason); resumable cross-board cursor
|
|
795
844
|
pagination (per-board cursor-lifetime under aggregation needs
|
|
@@ -799,14 +848,7 @@ cli/config.toml` with a `[profiles.<name>.defaults]` table
|
|
|
799
848
|
carrying scoping args; requires a prerequisite §13 carve-out
|
|
800
849
|
Decision at pre-flight distinguishing aliases-as-stored-
|
|
801
850
|
command-strings (still non-goal) from defaults-as-stored-flag-
|
|
802
|
-
values (carve-out)).
|
|
803
|
-
deferral) and file-`--set` stdin support (v0.6-M38 D7 deferral)
|
|
804
|
-
remain v0.7.x / future candidates. **v0.7-deferred milestones**:
|
|
805
|
-
M39 (API pin `2026-04`) + M40 (`item set-description`) + M41
|
|
806
|
-
(`doc block-create-bulk`) re-open when `@mondaydotcomorg/api`
|
|
807
|
-
SDK 15.x ships natively — earliest target is v0.8 if Monday's
|
|
808
|
-
SDK cadence holds (≈2 months between major SDK bumps per the
|
|
809
|
-
13.0.0 / 14.0.0 / 15.0.0 trajectory).
|
|
851
|
+
values (carve-out)).
|
|
810
852
|
|
|
811
853
|
See [`docs/cli-design.md`](./docs/cli-design.md) §13 for the
|
|
812
854
|
full roadmap, [`docs/v0.6-plan.md`](./docs/v0.6-plan.md) for the
|
package/dist/api/assets.d.ts
CHANGED
|
@@ -239,9 +239,9 @@ export interface AddFileToColumnInputs {
|
|
|
239
239
|
* explicitly — `MondayClient.signal` is private + multipart
|
|
240
240
|
* dispatch bypasses `MondayClient.raw`, so no implicit fallback
|
|
241
241
|
* exists. Abort propagation follows the standard
|
|
242
|
-
* `--timeout` / SIGINT plumbing (`
|
|
243
|
-
* `
|
|
244
|
-
*
|
|
242
|
+
* `--timeout` / SIGINT plumbing (the shared `combineSignals` in
|
|
243
|
+
* `src/api/fetch-transport-helpers.ts`, used by both the JSON +
|
|
244
|
+
* multipart transports — R-v0.8-NEW-11 lift).
|
|
245
245
|
*
|
|
246
246
|
* **Retry semantics pinned (cli-design §2.5).** Asset upload
|
|
247
247
|
* honors the global `--retry <n>` contract: the IMPL session
|
|
@@ -151,13 +151,20 @@ export declare const isReadOnlyForeverType: (type: string) => type is ReadOnlyFo
|
|
|
151
151
|
* under the §5.8 orphan-warn atomicity envelope (D1 closure).
|
|
152
152
|
*
|
|
153
153
|
* Mutex rules at the resolution boundary (D2 closures + folded
|
|
154
|
-
* D5/D6): multi-file `--set`
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
154
|
+
* D5/D6/D2-multi): multi-file `--set` carved out at v0.8-M46 for
|
|
155
|
+
* the 3 reachable callShapes — routes through new `'file_multi'`
|
|
156
|
+
* / `'file_bulk_multi'` / `'file_create_multi'` enforcement kinds
|
|
157
|
+
* for per-item multi-leg fan-out (sequential within an item ×
|
|
158
|
+
* parallel across items for bulk per M42's `dispatchParallel`).
|
|
159
|
+
* The `'multi_file_set_unsupported'` literal stays RESERVED post-
|
|
160
|
+
* fold; the throw remains for the `'item_set'` callShape as a
|
|
161
|
+
* defensive type-system ceiling (argv-unreachable on the single-
|
|
162
|
+
* positional verb). Mixed file + value `--set` / `--set-raw` /
|
|
163
|
+
* `--name` rejects on `'item_set'` / `'item_update_single'` /
|
|
164
|
+
* `'item_update_bulk'` callShapes (`mixed_file_and_value_sets`),
|
|
165
|
+
* SUPPRESSED on `'item_create'` per v0.7-M43 asymmetry
|
|
166
|
+
* (`create_item` natively bundles non-file `column_values`
|
|
167
|
+
* atomically into leg-1).
|
|
161
168
|
*
|
|
162
169
|
* The `--set-raw <file-col>=<json>` form STAYS REJECTED per D3
|
|
163
170
|
* closure — Monday's wire has no JSON-shape for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-types.d.ts","sourceRoot":"","sources":["../../src/api/column-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,qJA4BxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,kBAC/B,CAAC;AAE9B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,GAAG,IAAI,KAAG,OAOxD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B,aAU9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAM/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,KACX,IAAI,IAAI,uBAA8D,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,4GAe1B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAM3E;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,mBAC5B,CAAC;AAElC
|
|
1
|
+
{"version":3,"file":"column-types.d.ts","sourceRoot":"","sources":["../../src/api/column-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,qJA4BxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,kBAC/B,CAAC;AAE9B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,GAAG,IAAI,KAAG,OAOxD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B,aAU9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAM/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,KACX,IAAI,IAAI,uBAA8D,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,4GAe1B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAM3E;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,mBAC5B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,eAAO,MAAM,kBAAkB,mBAAoB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMlE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,IAAI,IAAI,eAC7B,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,qBAAqB,GAC7B,uBAAuB,GACvB,mBAAmB,GACnB,QAAQ,CAAC;AAEb,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,KACX,qBAIF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,MAAM,8BAA8B,GACtC,cAAc,GACd,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IAClD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gCAAgC,GAC3C,MAAM,MAAM,KACX,6BAA6B,GAAG,IAgBlC,CAAC"}
|
package/dist/api/column-types.js
CHANGED
|
@@ -213,13 +213,20 @@ export const isReadOnlyForeverType = (type) => READ_ONLY_FOREVER_SET.has(type);
|
|
|
213
213
|
* under the §5.8 orphan-warn atomicity envelope (D1 closure).
|
|
214
214
|
*
|
|
215
215
|
* Mutex rules at the resolution boundary (D2 closures + folded
|
|
216
|
-
* D5/D6): multi-file `--set`
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
216
|
+
* D5/D6/D2-multi): multi-file `--set` carved out at v0.8-M46 for
|
|
217
|
+
* the 3 reachable callShapes — routes through new `'file_multi'`
|
|
218
|
+
* / `'file_bulk_multi'` / `'file_create_multi'` enforcement kinds
|
|
219
|
+
* for per-item multi-leg fan-out (sequential within an item ×
|
|
220
|
+
* parallel across items for bulk per M42's `dispatchParallel`).
|
|
221
|
+
* The `'multi_file_set_unsupported'` literal stays RESERVED post-
|
|
222
|
+
* fold; the throw remains for the `'item_set'` callShape as a
|
|
223
|
+
* defensive type-system ceiling (argv-unreachable on the single-
|
|
224
|
+
* positional verb). Mixed file + value `--set` / `--set-raw` /
|
|
225
|
+
* `--name` rejects on `'item_set'` / `'item_update_single'` /
|
|
226
|
+
* `'item_update_bulk'` callShapes (`mixed_file_and_value_sets`),
|
|
227
|
+
* SUPPRESSED on `'item_create'` per v0.7-M43 asymmetry
|
|
228
|
+
* (`create_item` natively bundles non-file `column_values`
|
|
229
|
+
* atomically into leg-1).
|
|
223
230
|
*
|
|
224
231
|
* The `--set-raw <file-col>=<json>` form STAYS REJECTED per D3
|
|
225
232
|
* closure — Monday's wire has no JSON-shape for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-types.js","sourceRoot":"","sources":["../../src/api/column-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,WAAW;IACX,SAAS;IACT,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,gEAAgE;IAChE,gEAAgE;IAChE,mEAAmE;IACnE,wBAAwB;IACxB,MAAM;IACN,iDAAiD;IACjD,4DAA4D;IAC5D,mDAAmD;IACnD,4BAA4B;IAC5B,gBAAgB;IAChB,qDAAqD;IACrD,8DAA8D;IAC9D,qDAAqD;IACrD,8DAA8D;IAC9D,4DAA4D;IAC5D,wCAAwC;IACxC,YAAY;CACJ,CAAC;AAIX,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAS,qBAAqB,CAAC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAA8B,EAAE,CAC/E,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAE9B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAkB,EAAW,EAAE;IACjE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;AACzC,0DAA0D;AAC1D,iEAAiE;AACjE,8DAA8D;AAC9D,yDAAyD;AACzD,0DAA0D;AAC1D,+DAA+D;AAC/D,2DAA2D;AAC3D,6DAA6D;AAC7D,wDAAwD;CAChD,CAAC;AAKX,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAC5D,2BAA2B,CAC5B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,IAAY,EACqB,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,QAAQ;IACR,SAAS;IACT,aAAa;IACb,cAAc;IACd,cAAc;IACd,SAAS;IACT,qEAAqE;IACrE,kEAAkE;IAClE,oEAAoE;IACpE,+DAA+D;IAC/D,kEAAkE;IAClE,gEAAgE;IAChE,qDAAqD;IACrD,gBAAgB;CACR,CAAC;AAIX,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CACxD,uBAAuB,CACxB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAA+B,EAAE,CACjF,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAElC
|
|
1
|
+
{"version":3,"file":"column-types.js","sourceRoot":"","sources":["../../src/api/column-types.ts"],"names":[],"mappings":"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"}
|