monday-cli 0.5.0 → 0.6.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +277 -0
  2. package/README.md +96 -35
  3. package/dist/api/column-types.d.ts +48 -19
  4. package/dist/api/column-types.d.ts.map +1 -1
  5. package/dist/api/column-types.js +25 -11
  6. package/dist/api/column-types.js.map +1 -1
  7. package/dist/api/column-values.d.ts +17 -10
  8. package/dist/api/column-values.d.ts.map +1 -1
  9. package/dist/api/column-values.js +33 -19
  10. package/dist/api/column-values.js.map +1 -1
  11. package/dist/api/file-column-set.d.ts +507 -0
  12. package/dist/api/file-column-set.d.ts.map +1 -0
  13. package/dist/api/file-column-set.js +510 -0
  14. package/dist/api/file-column-set.js.map +1 -0
  15. package/dist/api/raw-write.d.ts +27 -17
  16. package/dist/api/raw-write.d.ts.map +1 -1
  17. package/dist/api/raw-write.js +40 -25
  18. package/dist/api/raw-write.js.map +1 -1
  19. package/dist/api/resolver-error-fold.d.ts +25 -0
  20. package/dist/api/resolver-error-fold.d.ts.map +1 -1
  21. package/dist/api/resolver-error-fold.js +56 -0
  22. package/dist/api/resolver-error-fold.js.map +1 -1
  23. package/dist/commands/board/column-create.d.ts +8 -3
  24. package/dist/commands/board/column-create.d.ts.map +1 -1
  25. package/dist/commands/board/column-create.js +16 -8
  26. package/dist/commands/board/column-create.js.map +1 -1
  27. package/dist/commands/item/create.d.ts.map +1 -1
  28. package/dist/commands/item/create.js +131 -33
  29. package/dist/commands/item/create.js.map +1 -1
  30. package/dist/commands/item/set.d.ts +33 -3
  31. package/dist/commands/item/set.d.ts.map +1 -1
  32. package/dist/commands/item/set.js +193 -15
  33. package/dist/commands/item/set.js.map +1 -1
  34. package/dist/commands/item/update.d.ts +34 -3
  35. package/dist/commands/item/update.d.ts.map +1 -1
  36. package/dist/commands/item/update.js +346 -67
  37. package/dist/commands/item/update.js.map +1 -1
  38. package/dist/commands/item/upload.d.ts.map +1 -1
  39. package/dist/commands/item/upload.js +16 -69
  40. package/dist/commands/item/upload.js.map +1 -1
  41. package/dist/commands/update/upload.d.ts.map +1 -1
  42. package/dist/commands/update/upload.js +9 -59
  43. package/dist/commands/update/upload.js.map +1 -1
  44. package/dist/utils/file-source.d.ts +93 -0
  45. package/dist/utils/file-source.d.ts.map +1 -0
  46. package/dist/utils/file-source.js +140 -0
  47. package/dist/utils/file-source.js.map +1 -0
  48. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,283 @@ 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.6.0] - 2026-05-18 — Files-shaped friendly `--set` writes (M38)
11
+
12
+ The "agents can write to files-shaped columns inline" milestone —
13
+ v0.4-M31's `monday item upload` verb-shaped multipart wire surface
14
+ gains the friendly translator-boundary inline form
15
+ (`monday item set <iid> <file-col>=<path>` + `monday item update
16
+ <iid> --set <file-col>=<path>`), closing the v0.4 → v0.5 → v0.6
17
+ carry-over of the inline form across two prior release-preps.
18
+ Single-item paths only at M38; bulk + create + multi-file +
19
+ stdin paths reject with `details.reason` discriminators (defer
20
+ to v0.6.x carve-outs). **No breaking changes vs `0.5.0` — every
21
+ v0.6 surface is additive.** Built as a single feature milestone
22
+ (M38).
23
+
24
+ ### Breaking changes vs `0.5.0`
25
+
26
+ **None.** Every command, error code, envelope key, and warning
27
+ shape shipped in v0.5.0 is preserved byte-for-byte. v0.6 only adds.
28
+
29
+ ### Surface
30
+
31
+ **117 commands shipped (unchanged from v0.5).** M38 extends two
32
+ existing verbs (`monday item set` + `monday item update`) with a
33
+ new dispatch leg rather than introducing new noun namespaces or
34
+ verbs. The friendly translator stays JSON-output-shaped for the 13
35
+ existing writable types; file-column dispatch routes through a
36
+ new sibling module (`src/api/file-column-set.ts`) that handles the
37
+ multipart leg.
38
+
39
+ **Files-shaped friendly `--set` (M38) — `monday item set <iid>
40
+ <file-col>=<path>` + `monday item update <iid> --set <file-col>=
41
+ <path>`.** Sibling-branch dispatch at the column-resolution
42
+ boundary (per D1 closure): after column metadata loads, if
43
+ `column.type === 'file'` AND single-`--set` AND no other writes,
44
+ route to `executeFileColumnSet` (the new multipart-wire fetcher);
45
+ otherwise route to the standard translator + `executeItemMutation`
46
+ path. The translator (`translateColumnValueAsync`) stays
47
+ JSON-output-shaped for the 13 existing writable types — no
48
+ breaking shape change on any existing dispatch path. Routes
49
+ into v0.4-M31's `add_file_to_column` multipart wire verbatim
50
+ (no new transport surface; `dispatchMultipart` consumer count
51
+ goes 1 → 2; `ResolvedClient.multipart` consumer count goes
52
+ 1 → 2).
53
+
54
+ **Mutex rules at M38 (per D2 closure).** Exactly ONE file
55
+ `--set <file-col>=<path>` per call, no other `--set` /
56
+ `--set-raw` / `--name` flags allowed:
57
+
58
+ - File `--set` + ANY value `--set` / `--set-raw` / `--name` →
59
+ `usage_error` carrying `details.reason:
60
+ 'mixed_file_and_value_sets'` + a hint pointing agents at
61
+ running the file `--set` alone and applying value writes /
62
+ rename in a separate call.
63
+ - 2+ file `--set` entries → `usage_error` carrying
64
+ `details.reason: 'multi_file_set_unsupported'` (defers to
65
+ v0.6.x; the bulk-file-set milestone will address multi-file
66
+ dispatch).
67
+
68
+ Enforcement fires at the column-resolution boundary (parse-time
69
+ can't know — the column type only resolves after board metadata
70
+ loads); rejection happens BEFORE any multipart bytes get
71
+ constructed.
72
+
73
+ **Bulk + create paths REJECT at M38 (per D5 / D6 closures).**
74
+ The two paths that don't ship friendly file-set dispatch at M38
75
+ surface dedicated rejection reasons:
76
+
77
+ - `monday item update --board <bid> (--where <c>=<v>... |
78
+ --filter-json <json>) --set <file-col>=<path>` →
79
+ `usage_error.details.reason:
80
+ 'file_set_on_bulk_unsupported'`. Per-item file dispatch +
81
+ `--continue-on-error` partial-success envelope + `--concurrency`
82
+ shared-transport semantics each carry additional design
83
+ dimensions worth their own milestone; defers to v0.6.x.
84
+ - `monday item create --board <bid> --name <n> --set <file-col>=
85
+ <path>` → `usage_error.details.reason:
86
+ 'file_set_on_create_unsupported'`. File upload at create time
87
+ would require non-atomic post-create `add_file_to_column`
88
+ (breaks §5.8 state safety) or a Monday wire mutation accepting
89
+ multipart parts inside `create_item.column_values` (no such
90
+ mutation at API `2026-01`); defers to v0.6.x.
91
+
92
+ **`--set-raw <file-col>=<json>` STAYS REJECTED at M38 (per D3
93
+ closure — PERMANENT, not deferred).** Monday's wire has no JSON
94
+ shape for `change_column_value` on file columns — `add_file_to_
95
+ column` is the only file-write wire surface and it's multipart-
96
+ only. The `--set-raw` escape-hatch contract ("user supplies the
97
+ JSON `change_column_value` accepts") doesn't compose with
98
+ multipart. The existing rejection at `src/api/raw-write.ts:
99
+ translateRawColumnValue` stays unchanged. The rejection now
100
+ carries `details.hint` pointing at BOTH the M38 friendly
101
+ `--set` form AND the M31 verb-shaped `monday item upload` —
102
+ agents have two write paths reaching the same multipart wire
103
+ and key off the hint rather than the (absent) `deferred_to`
104
+ slot.
105
+
106
+ **Dry-run envelope shape (per D4 closure).** Mirrors M31 `item
107
+ upload --dry-run` envelope verbatim:
108
+ `planned_changes: [{operation: 'add_file_to_column', item_id,
109
+ column_id, file_path, filename, file_size_bytes}]` (size from
110
+ `fs.stat()`; no file bytes loaded into memory). `meta.source:
111
+ 'none'`. The `file_path` slot echoes the argv-derived path; the
112
+ `column_id` slot echoes the RESOLVED column ID (not the argv
113
+ token).
114
+
115
+ ### Output contract additions
116
+
117
+ **No new stable error codes — registry stays at 29.** Per D8
118
+ closure, M38 routes every rejection through existing codes
119
+ (`usage_error` / `unsupported_column_type` / `not_found` /
120
+ `validation_failed`) with `details.reason` literal-string
121
+ discriminators. The four M38-specific reasons
122
+ (`mixed_file_and_value_sets` / `multi_file_set_unsupported` /
123
+ `file_set_on_bulk_unsupported` / `file_set_on_create_unsupported`)
124
+ join the existing R-NEW-31 discriminated-union per-status-detail
125
+ pattern.
126
+
127
+ **No new envelope keys, no new warning shapes.** M38 reuses the
128
+ M31 multipart wire's success envelope shape (single `item` slot
129
+ projecting the post-mutation board snapshot) and the same
130
+ post-success eager-invalidation contract (`invalidateBoard(boardId)`
131
+ fires single-leg on multipart success).
132
+
133
+ ### Upgrade notes
134
+
135
+ - **`unsupported_column_type` `deferred_to: "v0.6"` is DROPPED
136
+ for the files-shaped category at the friendly `--set` form.**
137
+ v0.6-M38 picks the inline write path up. The rejection row at
138
+ `src/api/column-values.ts` (the files-shaped row of the
139
+ friendly translator) now fires ONLY on the `item create` +
140
+ `item update --where` bulk paths per D5 / D6 closures — with
141
+ `details.reason: 'file_set_on_create_unsupported'` /
142
+ `'file_set_on_bulk_unsupported'`. The single-item `item set` +
143
+ `item update` paths dispatch to the new sibling module BEFORE
144
+ the translator's files-shaped row fires. No more
145
+ `deferred_to: "v0.6"` slot on the friendly-form path —
146
+ agents see successful single-item uploads end-to-end.
147
+ - **`unsupported_column_type` for `--set-raw <file-col>=<json>`
148
+ STAYS REJECTED.** Permanent rejection per D3 — Monday's
149
+ wire has no JSON shape for files-shaped `change_column_value`.
150
+ The rejection hint at `src/api/raw-write.ts` now names BOTH
151
+ the M38 friendly form AND the M31 verb-shaped `monday item
152
+ upload` as alternative write paths; agents construct retries
153
+ from either entry point.
154
+ - **Multi-level subitem creation slips from `"v0.6"` →
155
+ `"v0.7"`.** Originally slipped from v0.3 → v0.4 → v0.5 → v0.6
156
+ across three prior release-preps. v0.6 didn't pick it up —
157
+ Monday's `sub_items_board` still carries no `subtasks` column
158
+ at API `2026-01`, so depth-2 subitems still have no data-model
159
+ home. Single-level subitems (`item create --parent <iid>`
160
+ against classic boards) continue to work byte-identically.
161
+ The `error.code: "usage_error"` + `details.hierarchy_type:
162
+ "multi_level"` keys are unchanged; only the `deferred_to`
163
+ literal flipped.
164
+ - **Cross-board `item move` value-overrides slip from `"v0.6"`
165
+ → `"v0.7"`.** Slipped across v0.3-M11 → v0.4 → v0.5 → v0.6
166
+ → v0.7 release-preps. Monday's `ColumnMappingInput` still
167
+ carries no value slot; the cross-leg partial-failure envelope
168
+ question stays open. Agents needing overrides continue to fire
169
+ `monday item set <iid> <target>=<value>` post-move.
170
+ - **Cross-board resumable cursor slips from `"v0.6"` →
171
+ `"v0.7"`.** The `cross_board_truncated` warning's
172
+ `details.hint` continues to recommend narrowing via
173
+ `--workspace` / `--favorites` / `--max-boards`; v0.7 may pick
174
+ the resumable surface up if per-board cursor-lifetime under
175
+ aggregation gets a clean design.
176
+ - **Stable error-code registry stays at 29.** Existing codes'
177
+ shapes are unchanged across v0.5 → v0.6.
178
+ - **`monday auth login` placeholder-guard unchanged.** The verb
179
+ is still registered and still surfaces `usage_error.details.
180
+ reason: oauth_unregistered` pointing at `MONDAY_API_TOKEN`
181
+ (unchanged from v0.5.0). The OAuth deferral revisits in
182
+ v0.6.x / v0.7 contingent on user demand.
183
+
184
+ ### Internals worth highlighting
185
+
186
+ - **R-class refactor shipped during v0.6.** R-v0.6-NEW-1
187
+ (`file-source.ts` two-export module: `precheckLocalFile`
188
+ fs.stat + fs.access(R_OK) + non-empty + size capture +
189
+ `usage_error.details.reason: 'file_not_readable' |
190
+ 'file_empty'`; `buildBlobFromPath` readFile + sniffContent
191
+ Type + Blob construction) shipped ahead-of-feat at v0.6-M38
192
+ IMPL kickoff (`3c2a9b0`) — 3 consumers post-lift (M31
193
+ `monday item upload` action body + M31 `monday update upload`
194
+ action body + M38's `executeFileColumnSet` runtime body).
195
+ 10 direct unit tests pin the helper's branch matrix. Mirrors
196
+ R-NEW-29's M25 ahead-of-feat cadence + R-NEW-70's M34
197
+ cadence.
198
+ - **R-NEW-82 4th consecutive consumer ratified at v0.6
199
+ release-prep.** The release-prep cross-doc grep for stale
200
+ `deferred_to: "v0.6"` slots fired and caught one stale site
201
+ (multi-level subitem `--parent` rejection — slipped to
202
+ `"v0.7"`) plus one ToC drift (v0.6-M38 friendly file `--set`
203
+ annotation missing from `docs/output-shapes.md`'s `item
204
+ (mutations)` row). Mirrors v0.3-M28 (1st) / v0.4 (2nd) /
205
+ v0.5 (3rd) / v0.6 (4th) release-prep ratifications.
206
+ - **R-NEW-84 graduated discipline applied.** The v0.6
207
+ release-prep cluster ships zero production `src/**/*.ts`
208
+ semantic changes (only the literal `'v0.6'` → `'v0.7'` flip
209
+ in the multi-level subitem rejection slot); gates carry
210
+ verification per the R-NEW-84 carve-out (skip Codex review
211
+ on mechanical / process-only clusters).
212
+ - **`details.reason` discriminator pattern (R-v0.6-NEW-2) at
213
+ 4 supporting instances post-M38** (`mixed_file_and_value_sets`
214
+ / `multi_file_set_unsupported` / `file_set_on_create_
215
+ unsupported` / `file_set_on_bulk_unsupported`). Below the 5th-
216
+ consumer graduation threshold; tracked as a watch-item for the
217
+ first v0.6.x lift that adds a 5th `details.reason` literal-
218
+ string discriminator on the file-set surface (bulk file-set
219
+ carve-out is the natural site).
220
+ - **Two-AI review** (cli-design pre-flight + implementation
221
+ review) ran for M38 pre-flight + IMPL. **M38 IMPL converged
222
+ in 4 fix-up rounds** (0 P1 / 3 P2 / 11 P3 cumulative across
223
+ rounds 1–4 — at the median 3-4 IMPL round count per the
224
+ v0.5 IMPL precedent). The v0.6 release-prep cluster skipped
225
+ Codex per R-NEW-84. Cumulative finding count + per-round
226
+ Codex breakdown lives in the per-milestone post-mortem in
227
+ [`docs/v0.6-plan.md`](./docs/v0.6-plan.md) §11.
228
+
229
+ ### Tests + quality gates
230
+
231
+ - **4100 unit/integration + E2E tests** at v0.6.0 (+1 skipped;
232
+ was 4054+1 at v0.5.0; ~46 new tests for M38 — `file-source`
233
+ helper unit branch matrix, `file-column-set` action-body
234
+ branches, integration cassette pins on single-item friendly
235
+ paths + the four `details.reason`-discriminated rejection
236
+ paths, envelope-snapshot pins on the M38 surfaces). All green
237
+ on Node 22 + 24.
238
+ - **Coverage at 99.26 / 96.46 / 99.31 / 99.52** (statements /
239
+ branches / functions / lines) against the floor 95 / 95.45 /
240
+ 95 / 95. Branches margin **1.01pp** at v0.6.0 (was 1.00pp at
241
+ v0.5.0; +0.01pp). Floor unchanged across v0.5.0 → v0.6.0.
242
+ - **Envelope-snapshot suite** — refresh probe ran clean at
243
+ v0.6 release-prep (zero diff vs M38 IMPL close); per-
244
+ milestone close-docs sweep refreshed snapshots in lockstep at
245
+ M38 IMPL close.
246
+ - **Five test layers held**: unit, integration (in-process
247
+ `FixtureTransport` + `MultipartFixtureTransport`), E2E
248
+ (subprocess against fixture server), envelope-shape snapshot
249
+ suite, published-tarball E2E.
250
+ - **Audit-fix folded into release-prep.** `npm audit` flagged a
251
+ transitive `fast-uri@3.1.0` (high severity); `npm audit fix`
252
+ cleanly resolved to `3.1.2` (non-breaking — `ajv@8.20.0`'s
253
+ `^3.0.1` constraint satisfies 3.1.x). `npm audit` reports
254
+ `0 vulnerabilities` post-fix.
255
+
256
+ ### Documentation
257
+
258
+ - **[`docs/v0.6-plan.md`](./docs/v0.6-plan.md)** new — the v0.6
259
+ active plan with M38 milestone, decisions log (D1-D8),
260
+ R-class register (R-v0.6-NEW-1 through R-v0.6-NEW-11),
261
+ per-milestone post-mortem (§11 + §22).
262
+ - **[`docs/cli-design.md`](./docs/cli-design.md)** §4.3
263
+ `monday item set` + `monday item update` rows annotated with
264
+ the M38 file-column dispatch shape + mutex rules; §5.3
265
+ "File-column dispatch leg" subsection added explaining the
266
+ sibling-branch routing + the four `details.reason`
267
+ discriminators; §13 v0.5 entry's v0.6 deferral list closed
268
+ out + the v0.7 frame pinned (multi-level subitems + cross-
269
+ board move value-overrides + cross-board resumable cursor +
270
+ profile-scoped argument defaults).
271
+ - **[`docs/output-shapes.md`](./docs/output-shapes.md)** —
272
+ `item set` + `item update` sections gained M38 file-column
273
+ dispatch subsections at lines 2100, 2151, 2243; ToC row
274
+ for `item (mutations)` updated to enumerate the friendly
275
+ file `--set v0.6-M38` annotation on `set` + `update`
276
+ (caught at v0.6 release-prep ToC audit as a v0.6-M38
277
+ close-docs gap — 4th consecutive R-NEW-82 graduated-
278
+ discipline ratification).
279
+ - **README.md** quickstart expanded with v0.6 example (step 13
280
+ demonstrating M38 friendly file `--set` on item set + item
281
+ update + dry-run). Scope section reshaped around v0.6.0 /
282
+ v0.5.0 / v0.4.0 / v0.3.0 / v0.2.0 / v0.1.0 per-version
283
+ layout.
284
+
285
+ [0.6.0]: https://github.com/Firer/monday-cli/releases/tag/v0.6.0
286
+
10
287
  ## [0.5.0] - 2026-05-17 — Team writers + full Monday workdocs CRUD mutation surface
11
288
 
12
289
  The "agents can write to teams + drive the full workdocs surface"
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.5.0 — the verb surfaces a clear `usage_error.details.reason:
52
+ # v0.6.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,23 +117,35 @@ 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. Find-or-create with idempotent matching (v0.2)
120
+ # 13. Files-shaped friendly `--set` writes (v0.6-M38 — closes the v0.4
121
+ # → v0.5 → v0.6 carry-over of the inline form). Single-call file
122
+ # upload via `--set <file-col>=<path>`; sibling-branch dispatch at
123
+ # the column-resolution boundary routes to the v0.4-M31 multipart
124
+ # `add_file_to_column` wire. `--dry-run` emits a `planned_changes`
125
+ # envelope without the multipart round-trip. The v0.4-M31 verb-
126
+ # shaped `monday item upload` path remains; this is the friendly
127
+ # inline alternative.
128
+ monday item set 67890 'Attachments'=./screenshot.png --json
129
+ monday item update 67890 --set 'Attachments'=./diagram.png --json
130
+ monday item update 67890 --set 'Attachments'=./report.pdf --dry-run --json
131
+
132
+ # 14. Find-or-create with idempotent matching (v0.2)
121
133
  # Re-running with the same args is safe — 0/1/2+ matches route to
122
134
  # create / update / `ambiguous_match` (one of the 29 stable error codes).
123
135
  monday item upsert --board 12345 --name "Refactor login" \
124
136
  --match-by name --set status='Working on it' --json
125
137
 
126
- # 14. Move a ticket forward, then comment on it
138
+ # 15. Move a ticket forward, then comment on it
127
139
  monday item set 67890 status=Done --json
128
140
  monday update create 67890 --body "Shipped in PR #1234" --json
129
141
 
130
- # 15. Monday Dev convention layer (v0.3 — sprint/epic/release/task)
142
+ # 16. Monday Dev convention layer (v0.3 — sprint/epic/release/task)
131
143
  # First-time setup auto-detects boards by Monday's stock template names.
132
144
  monday dev discover --apply --json # writes ~/.monday-cli/config.toml
133
145
  monday dev sprint current --json # the active sprint
134
146
  monday dev task list --mine --json # my open tasks
135
147
 
136
- # 16. Outbound writes (v0.3 — webhooks + notifications)
148
+ # 17. Outbound writes (v0.3 — webhooks + notifications)
137
149
  monday webhook list 12345 --json
138
150
  monday notification send --user 7 --target 67890 \
139
151
  --target-type item --text "PTAL" --json
@@ -202,7 +214,7 @@ Every JSON response uses the same universal envelope:
202
214
  "meta": {
203
215
  "schema_version": "1",
204
216
  "api_version": "2026-01",
205
- "cli_version": "0.5.0",
217
+ "cli_version": "0.6.0",
206
218
  "request_id": "0e6f1a7b-...",
207
219
  "source": "live",
208
220
  "cache_age_seconds": null,
@@ -302,7 +314,27 @@ See [`.env.example`](./.env.example) for all supported variables
302
314
 
303
315
  ## Scope
304
316
 
305
- **v0.5.0 (current — `monday-cli@0.5.0` on npm):**
317
+ **v0.6.0 (current — `monday-cli@0.6.0` on npm):**
318
+ the v0.5 surface PLUS files-shaped friendly `--set <file-col>=<path>`
319
+ writes on `monday item set` + `monday item update` (single-item
320
+ paths), closing the v0.4 → v0.5 → v0.6 carry-over of the inline
321
+ form. Sibling-branch dispatch at the column-resolution boundary
322
+ routes file `--set` to the v0.4-M31 `add_file_to_column` multipart
323
+ wire; the friendly translator stays JSON-output-shaped for the 13
324
+ existing writable types. **No breaking changes vs v0.5.0** — the
325
+ v0.6 surface is additive (M38 only). Built as a single milestone
326
+ (M38). See [CHANGELOG.md](./CHANGELOG.md) for the full
327
+ per-milestone release notes.
328
+
329
+ **OAuth deferral (unchanged from v0.5.0).** `monday auth login` is
330
+ registered but the canonical Monday OAuth app is not registered in
331
+ v0.6.0; the verb surfaces a clear `usage_error.details.reason:
332
+ oauth_unregistered` pointing at `MONDAY_API_TOKEN`. Multi-profile
333
+ config + per-profile credentials cache work fully against API
334
+ tokens; OAuth registration revisits in v0.6.x / v0.7 contingent on
335
+ user demand.
336
+
337
+ **v0.5.0 (the previous release):**
306
338
  the v0.4 surface PLUS the full team-writer surface
307
339
  (`monday user team-list/get/create/delete/add-members/remove-members`),
308
340
  the full Monday workdocs CRUD mutation surface — doc-level
@@ -310,20 +342,9 @@ the full Monday workdocs CRUD mutation surface — doc-level
310
342
  doc-block (`monday doc block-create/block-update/block-delete`),
311
343
  and doc-content import (`monday doc import-html/append-markdown`) —
312
344
  closing the v0.4-M32 workdocs-mutation deferral. **16 new CLI
313
- verbs across 9 wire mutations.** **No breaking changes vs v0.4.0**
314
- — every v0.5 surface is additive. Built incrementally across
315
- M34–M37. See [CHANGELOG.md](./CHANGELOG.md) for the full
316
- per-milestone release notes.
345
+ verbs across 9 wire mutations.** Built incrementally across M34–M37.
317
346
 
318
- **OAuth deferral (unchanged from v0.4.0).** `monday auth login` is
319
- registered but the canonical Monday OAuth app is not registered in
320
- v0.5.0; the verb surfaces a clear `usage_error.details.reason:
321
- oauth_unregistered` pointing at `MONDAY_API_TOKEN`. Multi-profile
322
- config + per-profile credentials cache work fully against API
323
- tokens; OAuth registration revisits in v0.5.x / v0.6 contingent on
324
- user demand.
325
-
326
- **v0.4.0 (the previous release):**
347
+ **v0.4.0 (the prior release):**
327
348
  the v0.3 surface PLUS long-poll item activity streaming
328
349
  (`monday item watch <iid>` — NDJSON), parallel bulk dispatch
329
350
  (`monday item update --where ... --concurrency <N>`), asset uploads
@@ -333,7 +354,7 @@ workdocs CRUD mutation surface deferred to v0.5; shipped at v0.5),
333
354
  and shell completion (`monday completion bash|zsh|fish`). Built
334
355
  incrementally across M29–M33.
335
356
 
336
- **v0.3.0 (the prior release):**
357
+ **v0.3.0 (the earlier release):**
337
358
  the v0.2 mutating core PLUS the Monday Dev convention layer
338
359
  (`monday dev` namespace — sprint / epic / release / task workflow
339
360
  shortcuts on top of standard board CRUD), multi-profile auth
@@ -623,22 +644,62 @@ row `tags`, `board_relation`, `dependency`.
623
644
  D13 empirical-probe pinning (rejected at 500KB, OK at 250KB on
624
645
  both surfaces).
625
646
 
626
- **v0.6 (next):** multi-level subitems remain conditional on
627
- Monday's data model surfacing them (slipped from v0.4 → v0.5 →
628
- v0.6 across two consecutive release-preps — Monday's
629
- `sub_items_board` still carries no `subtasks` column at API
630
- `2026-01`); cross-board `item move` value-overrides (Monday's
631
- `ColumnMappingInput` still carries no value slot slipped twice
632
- for the same reason); resumable cross-board cursor pagination
633
- (per-board cursor-lifetime under aggregation needs design work);
634
- files-shaped friendly column writes (`--set <file-col>=<path>` and
635
- `--set-raw <file-col>=<json>` `monday item upload` from v0.4-M31
636
- is the verb-shaped alternative path agents should use today).
647
+ **What v0.6 added (M38; full per-milestone narrative in
648
+ [CHANGELOG.md](./CHANGELOG.md)):**
649
+
650
+ - **M38** `monday item set <iid> <file-col>=<path>` +
651
+ `monday item update <iid> --set <file-col>=<path>` ship the
652
+ files-shaped friendly `--set` writer path, closing the v0.4
653
+ v0.5 v0.6 carry-over of the inline form. Sibling-branch
654
+ dispatch at the column-resolution boundary routes file `--set`
655
+ to the v0.4-M31 `add_file_to_column` multipart wire; the
656
+ friendly translator stays JSON-output-shaped for the 13
657
+ existing writable types (per D1 closure). Mutex rules at M38:
658
+ exactly one file `--set` per call; mixing a file `--set` with
659
+ any value `--set` / `--set-raw` / `--name` surfaces `usage_
660
+ error.details.reason: "mixed_file_and_value_sets"`; 2+ file
661
+ `--set` entries surface `usage_error.details.reason: "multi_
662
+ file_set_unsupported"` (both deferred to v0.6.x per D2). The
663
+ bulk `item update --where ... --set <file-col>=<path>` and
664
+ `item create --set <file-col>=<path>` paths reject at the
665
+ resolution boundary with `details.reason: "file_set_on_bulk_
666
+ unsupported"` / `"file_set_on_create_unsupported"` (D5 / D6 —
667
+ defer to v0.6.x). `--set-raw <file-col>=<json>` STAYS REJECTED
668
+ per D3 — Monday's wire has no JSON-shape for
669
+ `change_column_value` on file columns; `monday item upload`
670
+ from v0.4-M31 remains the verb-shaped alternative path. **No
671
+ new ERROR_CODES** at M38 (registry stays at 29 — all
672
+ rejections route through existing `usage_error` /
673
+ `unsupported_column_type` / `not_found` / `validation_failed`
674
+ codes with `details.reason` discrimination).
675
+
676
+ **v0.7 (next):** **Carry-forward backlog** (unpicked
677
+ candidates remain in cli-design.md §13 slipped-candidates list
678
+ pending future candidate-selection sessions): multi-level
679
+ subitems remain conditional on Monday's data model surfacing
680
+ them (slipped from v0.4 → v0.5 → v0.6 → v0.7 across three
681
+ consecutive release-preps — Monday's `sub_items_board` still
682
+ carries no `subtasks` column at API `2026-01`); cross-board
683
+ `item move` value-overrides (Monday's `ColumnMappingInput`
684
+ still carries no value slot — slipped three times for the same
685
+ reason); resumable cross-board cursor pagination (per-board
686
+ cursor-lifetime under aggregation needs design work);
687
+ profile-scoped argument defaults (filed at the v0.6 kickoff
688
+ candidate-selection session — extends `~/.monday-cli/config.toml`
689
+ with a `[profiles.<name>.defaults]` table carrying scoping args;
690
+ requires a prerequisite §13 carve-out Decision at pre-flight
691
+ distinguishing aliases-as-stored-command-strings (still
692
+ non-goal) from defaults-as-stored-flag-values (carve-out)).
693
+ **v0.6.x carve-outs** ride on top: bulk + create file `--set`
694
+ paths (D5 / D6 deferrals); multi-file `--set` per call (D2);
695
+ file-`--set` stdin support (D7); these defer to v0.6.x within
696
+ the v0.6 series.
637
697
 
638
698
  See [`docs/cli-design.md`](./docs/cli-design.md) §13 for the
639
- full roadmap, [`docs/v0.5-plan.md`](./docs/v0.5-plan.md) for the
640
- v0.5 milestone history, [`docs/v0.4-plan.md`](./docs/v0.4-plan.md)
641
- for v0.4, [`docs/v0.3-plan.md`](./docs/v0.3-plan.md) for v0.3, and
699
+ full roadmap, [`docs/v0.6-plan.md`](./docs/v0.6-plan.md) for the
700
+ v0.6 milestone history, [`docs/v0.5-plan.md`](./docs/v0.5-plan.md)
701
+ for v0.5, [`docs/v0.4-plan.md`](./docs/v0.4-plan.md) for v0.4,
702
+ [`docs/v0.3-plan.md`](./docs/v0.3-plan.md) for v0.3, and
642
703
  [`docs/v0.2-plan.md`](./docs/v0.2-plan.md) for v0.2.
643
704
 
644
705
  See [CHANGELOG.md](./CHANGELOG.md) for the per-release contract.
@@ -124,16 +124,30 @@ export declare const isReadOnlyForeverType: (type: string) => type is ReadOnlyFo
124
124
  * column_values` (`cli-design.md` §5.3 writer-expansion roadmap "files"
125
125
  * row + the escape-hatch contract).
126
126
  *
127
- * The friendly translator and `--set-raw` both go through
128
- * `change_column_value` / `change_multiple_column_values`, so a
129
- * `--set-raw` raw payload cannot reach the right wire surface for
130
- * these types — `--set-raw` rejects them with `unsupported_column_
131
- * type` carrying `deferred_to: "v0.6"`. v0.4-M31 shipped the verb-
132
- * shaped path (`monday item upload`); the `--set-raw <file-col>=
133
- * <json>` form remains deferred because it would need a separate
134
- * dispatch from the escape-hatch boundary into the multipart wire.
135
- * Slot slipped from v0.5 to v0.6 at v0.5 release-prep — v0.5 didn't
136
- * pick up the dispatch either.
127
+ * **Two write paths reach the multipart wire** post-v0.6-M38:
128
+ *
129
+ * - **v0.4-M31 verb-shaped**: `monday item upload <iid> --column
130
+ * <col> <file>` + `monday update upload <uid> <file>`. Direct
131
+ * multipart dispatch via `addFileToColumn` /
132
+ * `addFileToUpdate` (`src/api/assets.ts`).
133
+ * - **v0.6-M38 friendly translator**: `monday item set <iid>
134
+ * <file-col>=<path>` + `monday item update <iid> --set
135
+ * <file-col>=<path>`. Sibling dispatch leg at the command
136
+ * action body that detects `column.type === 'file'` AFTER
137
+ * resolution + routes through `executeFileColumnSet`
138
+ * (`src/api/file-column-set.ts`), which itself wraps M31's
139
+ * `addFileToColumn` verbatim. Single-item only at M38; mutex
140
+ * rules at the resolution boundary (D2/D5/D6 closures —
141
+ * bulk + create paths reject; mixed-set rejects; multi-file-
142
+ * set rejects).
143
+ *
144
+ * The `--set-raw <file-col>=<json>` form STAYS REJECTED at v0.6-M38
145
+ * per D3 closure — Monday's wire has no JSON-shape for
146
+ * `change_column_value` on file columns, and the escape-hatch
147
+ * contract "user supplies the JSON `change_column_value` accepts"
148
+ * doesn't compose with multipart. The rejection now points at
149
+ * BOTH write paths (M31 verb + M38 friendly `--set`) as
150
+ * alternatives.
137
151
  *
138
152
  * Currently one entry (`file`); the slot is plural because Monday may
139
153
  * surface other multipart-upload-shaped types in future API versions
@@ -211,10 +225,14 @@ export declare const getColumnRoadmapCategory: (type: string) => ColumnRoadmapCa
211
225
  * path` is `null` (agents can't write at all; the column
212
226
  * exists for read-side display / mirror sources only).
213
227
  * - `'files_shaped'`: Monday writes the type via `add_file_to_
214
- * column` (multipart upload). `monday item upload <iid> --column
215
- * <col> <file>` shipped at v0.4-M31 as the agent-facing verb;
216
- * `suggested_write_path` carries that pointer. Currently
217
- * `file` only.
228
+ * column` (multipart upload). Two write paths post-v0.6-M38:
229
+ * `monday item upload <iid> --column <col> <file>` (M31; verb-
230
+ * shaped) + `monday item set <iid> <file-col>=<path>` /
231
+ * `monday item update <iid> --set <file-col>=<path>` (M38;
232
+ * friendly translator dispatch). `suggested_write_path` is a
233
+ * single human-readable string joining BOTH paths with ` OR `
234
+ * (R-v0.6-NEW-3 watch-item: lift to `readonly string[]` at the
235
+ * 2nd N>1 consumer). Currently `file` only.
218
236
  *
219
237
  * Returns `null` for canonical types (membership in `WRITABLE_COLUMN_
220
238
  * TYPES`) — `column-create` skips emitting the warning when the type
@@ -228,11 +246,22 @@ export type NoncanonicalColumnTypeCategory = 'raw_writable' | 'read_only_forever
228
246
  export interface NoncanonicalColumnTypeDetails {
229
247
  readonly category: NoncanonicalColumnTypeCategory;
230
248
  /**
231
- * The path agents should use to write to the column post-creation,
232
- * matching cli-design §5.3 escape-hatch contract — `--set-raw
233
- * <col>=<json>` for raw-writable types, `monday item upload`
234
- * (v0.4-M31, multipart) for files-shaped types, `null` for
235
- * read-only-forever types (no write path exists).
249
+ * The path(s) agents should use to write to the column post-
250
+ * creation, matching cli-design §5.3 escape-hatch + dispatch
251
+ * contracts:
252
+ *
253
+ * - `raw_writable` types: `--set-raw <col>=<json>`.
254
+ * - `read_only_forever` types: `null` (no write path exists —
255
+ * the column exists for read-side display / mirror sources
256
+ * only).
257
+ * - `files_shaped` types post-v0.6-M38: a single human-readable
258
+ * string joining BOTH write paths with ` OR ` — the v0.6-M38
259
+ * friendly `monday item set <iid> <file-col>=<path>` /
260
+ * `monday item update <iid> --set <file-col>=<path>` dispatch
261
+ * AND the v0.4-M31 verb-shaped `monday item upload <iid>
262
+ * --column <col> <file>`. R-v0.6-NEW-3 watch-item: lift to
263
+ * `readonly string[]` at the 2nd N>1 consumer for structured
264
+ * enumeration.
236
265
  */
237
266
  readonly suggestedWritePath: string | null;
238
267
  }
@@ -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;;;;;;;;;;;;;;;;;;;;;GAqBG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,8BAA8B,GACtC,cAAc,GACd,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IAClD;;;;;;OAMG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gCAAgC,GAC3C,MAAM,MAAM,KACX,6BAA6B,GAAG,IAelC,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,MAAM,8BAA8B,GACtC,cAAc,GACd,mBAAmB,GACnB,cAAc,CAAC;AAEnB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IAClD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gCAAgC,GAC3C,MAAM,MAAM,KACX,6BAA6B,GAAG,IAgBlC,CAAC"}
@@ -186,16 +186,30 @@ export const isReadOnlyForeverType = (type) => READ_ONLY_FOREVER_SET.has(type);
186
186
  * column_values` (`cli-design.md` §5.3 writer-expansion roadmap "files"
187
187
  * row + the escape-hatch contract).
188
188
  *
189
- * The friendly translator and `--set-raw` both go through
190
- * `change_column_value` / `change_multiple_column_values`, so a
191
- * `--set-raw` raw payload cannot reach the right wire surface for
192
- * these types — `--set-raw` rejects them with `unsupported_column_
193
- * type` carrying `deferred_to: "v0.6"`. v0.4-M31 shipped the verb-
194
- * shaped path (`monday item upload`); the `--set-raw <file-col>=
195
- * <json>` form remains deferred because it would need a separate
196
- * dispatch from the escape-hatch boundary into the multipart wire.
197
- * Slot slipped from v0.5 to v0.6 at v0.5 release-prep — v0.5 didn't
198
- * pick up the dispatch either.
189
+ * **Two write paths reach the multipart wire** post-v0.6-M38:
190
+ *
191
+ * - **v0.4-M31 verb-shaped**: `monday item upload <iid> --column
192
+ * <col> <file>` + `monday update upload <uid> <file>`. Direct
193
+ * multipart dispatch via `addFileToColumn` /
194
+ * `addFileToUpdate` (`src/api/assets.ts`).
195
+ * - **v0.6-M38 friendly translator**: `monday item set <iid>
196
+ * <file-col>=<path>` + `monday item update <iid> --set
197
+ * <file-col>=<path>`. Sibling dispatch leg at the command
198
+ * action body that detects `column.type === 'file'` AFTER
199
+ * resolution + routes through `executeFileColumnSet`
200
+ * (`src/api/file-column-set.ts`), which itself wraps M31's
201
+ * `addFileToColumn` verbatim. Single-item only at M38; mutex
202
+ * rules at the resolution boundary (D2/D5/D6 closures —
203
+ * bulk + create paths reject; mixed-set rejects; multi-file-
204
+ * set rejects).
205
+ *
206
+ * The `--set-raw <file-col>=<json>` form STAYS REJECTED at v0.6-M38
207
+ * per D3 closure — Monday's wire has no JSON-shape for
208
+ * `change_column_value` on file columns, and the escape-hatch
209
+ * contract "user supplies the JSON `change_column_value` accepts"
210
+ * doesn't compose with multipart. The rejection now points at
211
+ * BOTH write paths (M31 verb + M38 friendly `--set`) as
212
+ * alternatives.
199
213
  *
200
214
  * Currently one entry (`file`); the slot is plural because Monday may
201
215
  * surface other multipart-upload-shaped types in future API versions
@@ -227,7 +241,7 @@ export const categorizeNoncanonicalColumnType = (type) => {
227
241
  if (isFilesShapedType(type)) {
228
242
  return {
229
243
  category: 'files_shaped',
230
- suggestedWritePath: 'monday item upload (v0.4-M31, multipart)',
244
+ suggestedWritePath: 'monday item set <iid> <file-col>=<path> (v0.6-M38; friendly) OR monday item upload <iid> --column <col> <file> (v0.4-M31; verb-shaped)',
231
245
  };
232
246
  }
233
247
  return {
@@ -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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAU,CAAC;AAIpD,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CACnD,kBAAkB,CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAA2B,EAAE,CACzE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AA0C7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAY,EACW,EAAE;IACzB,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACxE,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAyDF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,IAAY,EAC0B,EAAE;IACxC,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,kBAAkB,EAAE,0CAA0C;SAC/D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,kBAAkB,EAAE,wBAAwB;KAC7C,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"column-types.js","sourceRoot":"","sources":["../../src/api/column-types.ts"],"names":[],"mappings":"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"}