monday-cli 0.7.0 → 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 +250 -0
- package/README.md +87 -45
- package/dist/api/assets.d.ts +3 -3
- package/dist/api/board-metadata.d.ts +7 -4
- package/dist/api/board-metadata.d.ts.map +1 -1
- package/dist/api/board-metadata.js +21 -6
- package/dist/api/board-metadata.js.map +1 -1
- 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/board/describe.d.ts +5 -3
- package/dist/commands/board/describe.d.ts.map +1 -1
- package/dist/commands/board/describe.js +12 -4
- package/dist/commands/board/describe.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/emit.d.ts.map +1 -1
- package/dist/commands/emit.js +19 -16
- package/dist/commands/emit.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/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/select.d.ts +22 -0
- package/dist/utils/output/select.d.ts.map +1 -1
- package/dist/utils/output/select.js +30 -0
- package/dist/utils/output/select.js.map +1 -1
- package/dist/utils/output/table.d.ts +10 -0
- package/dist/utils/output/table.d.ts.map +1 -1
- package/dist/utils/output/table.js +40 -3
- package/dist/utils/output/table.js.map +1 -1
- package/package.json +2 -1
|
@@ -36,12 +36,25 @@
|
|
|
36
36
|
* 2. The atomicity contract differs — the 13 existing types
|
|
37
37
|
* bundle atomically via `change_multiple_column_values` when
|
|
38
38
|
* ≥2 columns target the same item. File-column writes are
|
|
39
|
-
* single-column-per-call only on Monday's wire
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* the existing atomicity
|
|
39
|
+
* single-column-per-wire-call only on Monday's wire (each
|
|
40
|
+
* `add_file_to_column` round-trip targets one file column);
|
|
41
|
+
* mixing a file-column `--set` with any value `--set` /
|
|
42
|
+
* `--set-raw` / `--name` in the same call would force a
|
|
43
|
+
* multi-leg dispatch across the multipart + JSON wire
|
|
44
|
+
* surfaces that breaks the existing atomicity guarantee
|
|
45
|
+
* (M38 enforces the mixed-rule mutex below — D2 closure;
|
|
46
|
+
* universal on non-create callShapes, SUPPRESSED on
|
|
47
|
+
* `'item_create'` per v0.7-M43 D6 asymmetry). Multi-file
|
|
48
|
+
* `--set` CARVED OUT at v0.8-M46 (D2 fold): the CLI now
|
|
49
|
+
* routes multi-leg fan-out for the 3 reachable callShapes
|
|
50
|
+
* (`'item_update_single'` / `'item_update_bulk'` /
|
|
51
|
+
* `'item_create'`), preserving the single-column-per-wire-
|
|
52
|
+
* call invariant by firing N sequential
|
|
53
|
+
* `add_file_to_column` calls per item. The existing
|
|
54
|
+
* atomicity contract on the JSON `column_values` bundle
|
|
55
|
+
* stays intact; the multi-file dispatch's atomicity
|
|
56
|
+
* envelope (partial-failure shape per D2 closure) is
|
|
57
|
+
* separately decorated.
|
|
45
58
|
* 3. The translator's input contract is "value-string-to-JSON-
|
|
46
59
|
* payload" — file columns take a file path, not a value
|
|
47
60
|
* string. Path validation + `fs.stat` + `fs.access(R_OK)` +
|
|
@@ -82,20 +95,36 @@
|
|
|
82
95
|
* after metadata loads). When any resolved column has `type ===
|
|
83
96
|
* 'file'`:
|
|
84
97
|
*
|
|
85
|
-
* -
|
|
86
|
-
*
|
|
87
|
-
* `
|
|
88
|
-
*
|
|
89
|
-
*
|
|
98
|
+
* - Multi-file `--set` per call — **CARVED OUT at v0.8-M46**
|
|
99
|
+
* (D2 fold). At v0.6-M38 + v0.7 this rejected universally
|
|
100
|
+
* with `'multi_file_set_unsupported'`; v0.8-M46 lifts the
|
|
101
|
+
* CLI mutex for the 3 reachable callShapes
|
|
102
|
+
* (`'item_update_single'` / `'item_update_bulk'` /
|
|
103
|
+
* `'item_create'`) and routes through new `'file_multi'` /
|
|
104
|
+
* `'file_bulk_multi'` / `'file_create_multi'` enforcement
|
|
105
|
+
* kinds for the action body's per-item multi-leg fan-out
|
|
106
|
+
* (sequential within an item × parallel across items for
|
|
107
|
+
* bulk). Monday wire stays single-column-per-wire-call
|
|
108
|
+
* (each `add_file_to_column` round-trip targets one file
|
|
109
|
+
* column); M46 fans N CLI legs per item rather than
|
|
110
|
+
* bundling them on the wire. The throw remains for the
|
|
111
|
+
* `'item_set'` callShape as a defensive type-system
|
|
112
|
+
* ceiling — `monday item set <iid> <col>=<value>` accepts
|
|
113
|
+
* exactly one positional and is argv-incapable of
|
|
114
|
+
* expressing 2+ file `--set` entries; the throw is
|
|
115
|
+
* unreachable from production argv but kept as defense-in-
|
|
116
|
+
* depth.
|
|
90
117
|
* - NO other value `--set` / `--set-raw` / `--name` flags
|
|
91
118
|
* allowed (mixing would force non-atomic multi-leg dispatch
|
|
92
|
-
* across the multipart + JSON wire surfaces
|
|
119
|
+
* across the multipart + JSON wire surfaces — universal on
|
|
120
|
+
* `'item_set'` / `'item_update_single'` / `'item_update_bulk'`,
|
|
121
|
+
* SUPPRESSED on `'item_create'` per v0.7-M43 D6 asymmetry).
|
|
93
122
|
* - Bulk `item update --where ... --set <file-col>=<path>` —
|
|
94
123
|
* **CARVED OUT at v0.7-M42** (D5 fold). At v0.6-M38 this was
|
|
95
124
|
* REJECTED with `'file_set_on_bulk_unsupported'`; v0.7-M42's
|
|
96
125
|
* pre-flight contract diff returns
|
|
97
126
|
* `{ kind: 'file_bulk', columnId, rawValue }` from
|
|
98
|
-
* {@link
|
|
127
|
+
* {@link routeFileColumnDispatch} on the clean dispatch
|
|
99
128
|
* path so the action body can branch into the per-item
|
|
100
129
|
* multipart fan-out. Multi-file / mixed mutex rules STILL
|
|
101
130
|
* apply on bulk (those are universal).
|
|
@@ -104,7 +133,7 @@
|
|
|
104
133
|
* `'file_set_on_create_unsupported'`; v0.7-M43's pre-flight
|
|
105
134
|
* contract diff returns
|
|
106
135
|
* `{ kind: 'file_create', columnId, rawValue }` from
|
|
107
|
-
* {@link
|
|
136
|
+
* {@link routeFileColumnDispatch} on the clean dispatch
|
|
108
137
|
* path so the action body can branch into the two-leg
|
|
109
138
|
* dispatch (`create_item` then `add_file_to_column`).
|
|
110
139
|
* Multi-file mutex rule STILL applies on create (universal).
|
|
@@ -122,9 +151,20 @@
|
|
|
122
151
|
* - `'mixed_file_and_value_sets'` — file `--set` + any value
|
|
123
152
|
* `--set` / `--set-raw` / `--name` in same call. Applies on
|
|
124
153
|
* single-item AND bulk call shapes (universal mutex rule).
|
|
125
|
-
* - `'multi_file_set_unsupported'` —
|
|
126
|
-
*
|
|
127
|
-
*
|
|
154
|
+
* - `'multi_file_set_unsupported'` — **NO LONGER SURFACES**
|
|
155
|
+
* from `'item_update_single'` / `'item_update_bulk'` /
|
|
156
|
+
* `'item_create'` callShapes at v0.8-M46 onwards (D2 carve-out
|
|
157
|
+
* fold; multi-file dispatch now routes through new `file_multi`
|
|
158
|
+
* / `file_bulk_multi` / `file_create_multi` enforcement kinds
|
|
159
|
+
* for the action body's per-item multi-leg fan-out). The
|
|
160
|
+
* discriminator literal stays RESERVED across the codebase
|
|
161
|
+
* (do not reuse for a different rejection reason; mirrors
|
|
162
|
+
* M42 / M43 reserved-literal discipline). The throw remains
|
|
163
|
+
* for the `'item_set'` callShape as a defensive type-system
|
|
164
|
+
* ceiling — the single-positional `monday item set <iid>
|
|
165
|
+
* <col>=<value>` shape is argv-incapable of expressing 2+
|
|
166
|
+
* file `--set` entries, so this rejection is argv-unreachable
|
|
167
|
+
* in practice; kept as defense-in-depth.
|
|
128
168
|
* - `'file_set_on_bulk_unsupported'` — **NO LONGER SURFACES**
|
|
129
169
|
* at v0.7-M42 onwards. Historical reference only; the
|
|
130
170
|
* discriminator literal stays reserved across the codebase
|
|
@@ -146,13 +186,33 @@
|
|
|
146
186
|
* rejection see the full set of working alternatives rather
|
|
147
187
|
* than just the M38 single-item form.
|
|
148
188
|
*
|
|
149
|
-
* **D7 closure — `<path>='-'` stdin support OUT
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* <
|
|
153
|
-
*
|
|
154
|
-
* `
|
|
155
|
-
*
|
|
189
|
+
* **D7 closure — `<path>='-'` stdin support CARVED OUT at
|
|
190
|
+
* v0.8-M47.** Deferred from v0.6-M38 (no `--filename` companion
|
|
191
|
+
* shape pinned then); v0.8-M47 pins the OPTIONAL `--filename
|
|
192
|
+
* <name>` companion (default `"blob"`; Monday accepts any non-empty
|
|
193
|
+
* `Asset.name` and `500`s only an empty one — probe-pinned) and
|
|
194
|
+
* accepts a bare `-` file `--set` value as a stdin source. Because
|
|
195
|
+
* stdin is a single non-replayable stream, the carve-out is scoped
|
|
196
|
+
* to single-file, single-target dispatch: exactly one
|
|
197
|
+
* `<file-col>=-` per call, as the SOLE file `--set` entry, on
|
|
198
|
+
* `item set` / single-item `item update` / `item create`.
|
|
199
|
+
* {@link routeFileColumnDispatch}'s stdin scope gate (mutex
|
|
200
|
+
* priority 0) enforces it — `'multiple_stdin_file_sets'` /
|
|
201
|
+
* `'stdin_file_set_not_sole_file'` / `'stdin_file_set_on_bulk_
|
|
202
|
+
* unsupported'` reject with `usage_error` (literals reserved). A
|
|
203
|
+
* clean stdin source routes through the same single-file
|
|
204
|
+
* `kind: 'file'` / `'file_create'` as a path source; the action
|
|
205
|
+
* body sources the Blob from `readStdinFileSource`
|
|
206
|
+
* (`src/utils/file-source.ts`) instead of {@link buildBlobFromPath},
|
|
207
|
+
* then dispatches it through M31's `addFileToColumn` fetcher directly
|
|
208
|
+
* (the path leg builds its Blob inside {@link executeFileColumnSet};
|
|
209
|
+
* the stdin Blob is already in hand). Live read + dispatch shipped at
|
|
210
|
+
* the v0.8-M47 IMPL alongside the size-less dry-run echo (D4 — a
|
|
211
|
+
* stream can't be `fs.stat`'d, so the echo omits `file_size_bytes`);
|
|
212
|
+
* an empty stdin payload rejects `usage_error` with
|
|
213
|
+
* `details.reason: 'stdin_file_empty'` before any wire activity. The
|
|
214
|
+
* verb-shaped `monday item upload` stays path-only (no stdin) —
|
|
215
|
+
* M47 carves out only the friendly `--set` path.
|
|
156
216
|
*
|
|
157
217
|
* **No new ERROR_CODE (D8 closure; registry stays at 29).** All
|
|
158
218
|
* M38-specific rejections route through existing `usage_error`
|
|
@@ -169,6 +229,7 @@
|
|
|
169
229
|
* canonical cross-link.
|
|
170
230
|
*/
|
|
171
231
|
import { z } from 'zod';
|
|
232
|
+
import { MondayCliError } from '../utils/errors.js';
|
|
172
233
|
import { type Asset } from './assets.js';
|
|
173
234
|
import { type ResolverWarning } from './columns.js';
|
|
174
235
|
import type { Complexity } from '../utils/output/envelope.js';
|
|
@@ -243,6 +304,51 @@ export declare const fileColumnSetOutputSchema: z.ZodObject<{
|
|
|
243
304
|
}, z.core.$strict>;
|
|
244
305
|
}, z.core.$strict>;
|
|
245
306
|
export type FileColumnSetOutput = z.infer<typeof fileColumnSetOutputSchema>;
|
|
307
|
+
/**
|
|
308
|
+
* Output envelope shape for the v0.8-M46 multi-file `--set` dispatch
|
|
309
|
+
* leg on single-item `monday item update <iid> --set f1=p1 --set
|
|
310
|
+
* f2=p2 ...`. Discriminate from M38's single-file envelope via the
|
|
311
|
+
* new `operation: 'add_files_to_columns'` literal (plural) — agents
|
|
312
|
+
* branch on `data.operation` to handle single vs multi shapes
|
|
313
|
+
* uniformly.
|
|
314
|
+
*
|
|
315
|
+
* Per-file slot mirrors M31's `Asset` shape verbatim wrapped under
|
|
316
|
+
* a `column_id` + `filename` + `file_size_bytes` per-entry context.
|
|
317
|
+
* The `applied_file_columns` slot echoes the file columns that
|
|
318
|
+
* landed on success (length N; always present on multi-file success
|
|
319
|
+
* envelopes).
|
|
320
|
+
*
|
|
321
|
+
* **Status: schema landed at v0.8-M46 pre-flight contract diff;
|
|
322
|
+
* runtime emit shipped at v0.8-M46 IMPL.**
|
|
323
|
+
* `runItemUpdateSingleFileMultiDispatch` (commands/item/update.ts)
|
|
324
|
+
* emits against this schema on the single-item multi-file path.
|
|
325
|
+
*/
|
|
326
|
+
export declare const fileColumnSetMultiOutputSchema: z.ZodObject<{
|
|
327
|
+
operation: z.ZodLiteral<"add_files_to_columns">;
|
|
328
|
+
item_id: z.ZodString;
|
|
329
|
+
assets: z.ZodArray<z.ZodObject<{
|
|
330
|
+
column_id: z.ZodString;
|
|
331
|
+
filename: z.ZodString;
|
|
332
|
+
file_size_bytes: z.ZodNumber;
|
|
333
|
+
asset: z.ZodObject<{
|
|
334
|
+
id: z.ZodString;
|
|
335
|
+
name: z.ZodString;
|
|
336
|
+
url: z.ZodString;
|
|
337
|
+
public_url: z.ZodString;
|
|
338
|
+
file_extension: z.ZodString;
|
|
339
|
+
file_size: z.ZodNumber;
|
|
340
|
+
created_at: z.ZodNullable<z.ZodString>;
|
|
341
|
+
uploaded_by: z.ZodObject<{
|
|
342
|
+
id: z.ZodString;
|
|
343
|
+
name: z.ZodString;
|
|
344
|
+
}, z.core.$strict>;
|
|
345
|
+
original_geometry: z.ZodNullable<z.ZodString>;
|
|
346
|
+
url_thumbnail: z.ZodNullable<z.ZodString>;
|
|
347
|
+
}, z.core.$strict>;
|
|
348
|
+
}, z.core.$strict>>;
|
|
349
|
+
applied_file_columns: z.ZodArray<z.ZodString>;
|
|
350
|
+
}, z.core.$strict>;
|
|
351
|
+
export type FileColumnSetMultiOutput = z.infer<typeof fileColumnSetMultiOutputSchema>;
|
|
246
352
|
/**
|
|
247
353
|
* Inputs for the M38 file-column dispatch fetcher. Wraps M31's
|
|
248
354
|
* `addFileToColumn` (`src/api/assets.ts`) verbatim — no new wire
|
|
@@ -307,7 +413,7 @@ export interface ExecuteFileColumnSetResult {
|
|
|
307
413
|
* 1. Parsing argv + collecting `--set` / `--set-raw` / `--name`
|
|
308
414
|
* entries.
|
|
309
415
|
* 2. Resolving columns via `resolveColumnWithRefresh`.
|
|
310
|
-
* 3. Calling {@link
|
|
416
|
+
* 3. Calling {@link routeFileColumnDispatch} to detect the
|
|
311
417
|
* file-column dispatch leg + enforce the mutex rules.
|
|
312
418
|
* 4. Running {@link precheckLocalFile} from
|
|
313
419
|
* `src/utils/file-source.ts` on the agent-supplied path to
|
|
@@ -320,6 +426,105 @@ export interface ExecuteFileColumnSetResult {
|
|
|
320
426
|
* (mirrors M31 `item upload` envelope verbatim).
|
|
321
427
|
*/
|
|
322
428
|
export declare const executeFileColumnSet: (inputs: ExecuteFileColumnSetInputs) => Promise<ExecuteFileColumnSetResult>;
|
|
429
|
+
/**
|
|
430
|
+
* One resolved + pre-checked file-column dispatch leg for the v0.8-M46
|
|
431
|
+
* multi-file fan-out. Carries the resolved column ID + the
|
|
432
|
+
* {@link precheckLocalFile} outputs (absolute path + basename +
|
|
433
|
+
* fs-stat size) + the argv-derived raw path. Built by each
|
|
434
|
+
* callShape's action body from `precheckLocalFile` results, then
|
|
435
|
+
* fanned through {@link dispatchFileLegsSequentially}.
|
|
436
|
+
*/
|
|
437
|
+
export interface MultiFileLegEntry {
|
|
438
|
+
/** Resolved Monday column ID (post-`resolveColumnWithRefresh`). */
|
|
439
|
+
readonly columnId: string;
|
|
440
|
+
/** The argv-derived path token (relative or absolute as typed). */
|
|
441
|
+
readonly rawValue: string;
|
|
442
|
+
/** Resolved absolute path (post `path.resolve(cwd, rawValue)`). */
|
|
443
|
+
readonly filePath: string;
|
|
444
|
+
/** `basename(filePath)` — Monday's wire `Asset.name` source. */
|
|
445
|
+
readonly filename: string;
|
|
446
|
+
/** Local `fs.stat()` size at pre-check time. */
|
|
447
|
+
readonly fileSizeBytes: number;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Per-leg asset projection captured on a successful
|
|
451
|
+
* `add_file_to_column` round-trip. Shared across the three v0.8-M46
|
|
452
|
+
* multi-file envelope shapes (`fileColumnSetMultiOutputSchema` /
|
|
453
|
+
* `bulkFileSetMultiResultSchema` / `itemCreateWithFilesOutputSchema`)
|
|
454
|
+
* — each wraps M31's `Asset` under the same `column_id` + `filename`
|
|
455
|
+
* + `file_size_bytes` per-entry context.
|
|
456
|
+
*/
|
|
457
|
+
export interface MultiFileLegAsset {
|
|
458
|
+
readonly column_id: string;
|
|
459
|
+
readonly filename: string;
|
|
460
|
+
readonly file_size_bytes: number;
|
|
461
|
+
readonly asset: Asset;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Result of {@link dispatchFileLegsSequentially}. The accumulator is
|
|
465
|
+
* always populated up to the point of failure (or fully on success):
|
|
466
|
+
*
|
|
467
|
+
* - `appliedColumns` — resolved column IDs that landed
|
|
468
|
+
* successfully, in dispatch order (length N on success; 0..N-1
|
|
469
|
+
* when `failure` is present).
|
|
470
|
+
* - `assets` — per-leg asset projections, same ordering + length
|
|
471
|
+
* as `appliedColumns`.
|
|
472
|
+
* - `lastComplexity` — the complexity block from the most recent
|
|
473
|
+
* successful leg (`null` if zero legs succeeded). Threaded into
|
|
474
|
+
* `meta.complexity` by the single-item / create success paths.
|
|
475
|
+
* - `failure` — present iff a leg threw a `MondayCliError`. Carries
|
|
476
|
+
* the failing column ID + the underlying error. The caller
|
|
477
|
+
* decorates the partial-failure envelope per callShape
|
|
478
|
+
* (single-item `multi_file_update_partial_failure` whole-call
|
|
479
|
+
* throw / bulk per-item record-or-fail-fast / create-time
|
|
480
|
+
* `create_then_file_upload_partial_failure` orphan-warn) and
|
|
481
|
+
* applies {@link foldAndRemap} where the callShape's stable-code
|
|
482
|
+
* rule requires it (bulk + create remap cache-served
|
|
483
|
+
* `validation_failed` → `column_archived`; single-item does not
|
|
484
|
+
* remap, matching the M38 single-item precedent).
|
|
485
|
+
*/
|
|
486
|
+
export interface DispatchFileLegsResult {
|
|
487
|
+
readonly appliedColumns: readonly string[];
|
|
488
|
+
readonly assets: readonly MultiFileLegAsset[];
|
|
489
|
+
readonly lastComplexity: Complexity | null;
|
|
490
|
+
readonly failure?: {
|
|
491
|
+
readonly failedColumn: string;
|
|
492
|
+
readonly cause: MondayCliError;
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Sequential multi-leg `add_file_to_column` fan-out shared by the
|
|
497
|
+
* three v0.8-M46 multi-file callShape helpers
|
|
498
|
+
* (`runItemUpdateSingleFileMultiDispatch` /
|
|
499
|
+
* `runItemUpdateBulkFileMultiDispatch` per-item worker /
|
|
500
|
+
* `runItemCreateFileMultiDispatch`). R-v0.8-NEW-1 lift — the inner
|
|
501
|
+
* loop + partial-failure accumulator is byte-identical across all 3
|
|
502
|
+
* sites; only the envelope decoration diverges (kept in the caller).
|
|
503
|
+
*
|
|
504
|
+
* **Sequential within an item (D1 closure).** Legs fire in
|
|
505
|
+
* `inputs.entries` order so `appliedColumns` echoes the file columns
|
|
506
|
+
* that landed before a failure in dispatch order. The bulk path
|
|
507
|
+
* achieves cross-item parallelism by invoking this helper inside each
|
|
508
|
+
* per-item `dispatchParallel` worker — parallel ACROSS items ×
|
|
509
|
+
* sequential WITHIN each item.
|
|
510
|
+
*
|
|
511
|
+
* **Failure handling.** A `MondayCliError` from any leg stops the
|
|
512
|
+
* loop and returns the accumulator with `failure` populated (the
|
|
513
|
+
* caller decorates + optionally remaps). A non-`MondayCliError`
|
|
514
|
+
* (programmer bug in the wire layer) re-throws to the runner's
|
|
515
|
+
* catch-all so it surfaces as a whole-call `internal_error` rather
|
|
516
|
+
* than masquerading as a recoverable partial failure — mirrors the
|
|
517
|
+
* non-CliError re-throw arms in M42's bulk + M43's create-time
|
|
518
|
+
* single-file dispatch helpers.
|
|
519
|
+
*/
|
|
520
|
+
export declare const dispatchFileLegsSequentially: (inputs: {
|
|
521
|
+
readonly client: MondayClient;
|
|
522
|
+
readonly multipart: MultipartTransport;
|
|
523
|
+
readonly itemId: string;
|
|
524
|
+
readonly entries: readonly MultiFileLegEntry[];
|
|
525
|
+
readonly signal: AbortSignal;
|
|
526
|
+
readonly retries: number;
|
|
527
|
+
}) => Promise<DispatchFileLegsResult>;
|
|
323
528
|
/**
|
|
324
529
|
* Mutex enforcement at the column-resolution boundary. Takes the
|
|
325
530
|
* resolved column-type information for every `--set` / `--set-raw`
|
|
@@ -347,22 +552,36 @@ export declare const executeFileColumnSet: (inputs: ExecuteFileColumnSetInputs)
|
|
|
347
552
|
* helper.
|
|
348
553
|
* - Throws `ApiError('usage_error', ...)` with a
|
|
349
554
|
* `details.reason` discriminator when a mutex violation is
|
|
350
|
-
* detected: `'multi_file_set_unsupported'` (
|
|
351
|
-
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
*
|
|
355
|
-
*
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
*
|
|
359
|
-
* `
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
*
|
|
555
|
+
* detected: `'multi_file_set_unsupported'` (defensive throw
|
|
556
|
+
* on `'item_set'` callShape only — argv-unreachable; v0.8-M46
|
|
557
|
+
* D2 fold lifted the multi-file gate on the 3 reachable
|
|
558
|
+
* callShapes) OR `'duplicate_resolved_file_columns'` (v0.8-
|
|
559
|
+
* M46 multi-file leg — 2+ file `--set` entries resolving to
|
|
560
|
+
* the same column ID; mirrors JSON path's cross-token
|
|
561
|
+
* duplicate-resolved-ID contract) OR `'mixed_file_and_value_sets'`
|
|
562
|
+
* (D2 mixed leg — universal on non-create callShapes;
|
|
563
|
+
* SUPPRESSED on `'item_create'` per the D6 mixed-rule
|
|
564
|
+
* asymmetry since `create_item` natively bundles
|
|
565
|
+
* `column_values` atomically + `item_name` is required on
|
|
566
|
+
* create).
|
|
567
|
+
*
|
|
568
|
+
* Three reserved-literal discriminators NO LONGER SURFACE from
|
|
569
|
+
* this function on the reachable callShape paths:
|
|
570
|
+
*
|
|
571
|
+
* - `'file_set_on_bulk_unsupported'` (v0.6-M38 D5) → folded at
|
|
572
|
+
* v0.7-M42; returns `kind: 'file_bulk'` on clean dispatch.
|
|
573
|
+
* - `'file_set_on_create_unsupported'` (v0.6-M38 D6) → folded
|
|
574
|
+
* at v0.7-M43; returns `kind: 'file_create'` on clean
|
|
575
|
+
* dispatch.
|
|
576
|
+
* - `'multi_file_set_unsupported'` (v0.6-M38 D2 universal) →
|
|
577
|
+
* folded at v0.8-M46 for the 3 reachable callShapes; returns
|
|
578
|
+
* `kind: 'file_multi'` / `'file_bulk_multi'` /
|
|
579
|
+
* `'file_create_multi'` on clean multi-file dispatch. Throw
|
|
580
|
+
* remains on `'item_set'` defensively (argv-unreachable).
|
|
581
|
+
*
|
|
582
|
+
* All three literals stay RESERVED in docstrings as historical
|
|
583
|
+
* reference; do not re-introduce as runtime rejections without
|
|
584
|
+
* fresh contract decisions.
|
|
366
585
|
*
|
|
367
586
|
* Pure synchronous check — no I/O, no side effects. The caller
|
|
368
587
|
* resolves columns first (via `resolveColumnWithRefresh` or the
|
|
@@ -376,7 +595,7 @@ export declare const executeFileColumnSet: (inputs: ExecuteFileColumnSetInputs)
|
|
|
376
595
|
* `usage_error` from the parse boundary (this function itself
|
|
377
596
|
* runs AFTER argv parse + column resolution).
|
|
378
597
|
*/
|
|
379
|
-
export type
|
|
598
|
+
export type FileColumnDispatchRoute = {
|
|
380
599
|
readonly kind: 'json';
|
|
381
600
|
} | {
|
|
382
601
|
readonly kind: 'file';
|
|
@@ -390,8 +609,26 @@ export type FileColumnSetEnforcementResult = {
|
|
|
390
609
|
readonly kind: 'file_create';
|
|
391
610
|
readonly columnId: string;
|
|
392
611
|
readonly rawValue: string;
|
|
612
|
+
} | {
|
|
613
|
+
readonly kind: 'file_multi';
|
|
614
|
+
readonly entries: readonly {
|
|
615
|
+
readonly columnId: string;
|
|
616
|
+
readonly rawValue: string;
|
|
617
|
+
}[];
|
|
618
|
+
} | {
|
|
619
|
+
readonly kind: 'file_bulk_multi';
|
|
620
|
+
readonly entries: readonly {
|
|
621
|
+
readonly columnId: string;
|
|
622
|
+
readonly rawValue: string;
|
|
623
|
+
}[];
|
|
624
|
+
} | {
|
|
625
|
+
readonly kind: 'file_create_multi';
|
|
626
|
+
readonly entries: readonly {
|
|
627
|
+
readonly columnId: string;
|
|
628
|
+
readonly rawValue: string;
|
|
629
|
+
}[];
|
|
393
630
|
};
|
|
394
|
-
export interface
|
|
631
|
+
export interface RouteFileColumnDispatchInputs {
|
|
395
632
|
/**
|
|
396
633
|
* The call shape — determines which mutex rejections apply.
|
|
397
634
|
*
|
|
@@ -402,27 +639,42 @@ export interface EnforceSingleFileColumnSetInputs {
|
|
|
402
639
|
* translateRawColumnValue` per D3 — no new mutex needed here).
|
|
403
640
|
* - `'item_update_single'` — single-item `monday item update
|
|
404
641
|
* <iid>`. Multiple `--set` + `--set-raw` + `--name` flags are
|
|
405
|
-
* accepted
|
|
406
|
-
* other value flags".
|
|
642
|
+
* accepted. M38 originally enforced "single file `--set` +
|
|
643
|
+
* no other value flags"; v0.8-M46 D2 carve-out fold lifts
|
|
644
|
+
* the multi-file gate — clean multi-file dispatch returns
|
|
645
|
+
* `kind: 'file_multi'` for the action body's per-item
|
|
646
|
+
* multi-leg fan-out helper. Duplicate resolved file-column
|
|
647
|
+
* IDs reject with `'duplicate_resolved_file_columns'`.
|
|
648
|
+
* Mixed-rule (file + value `--set` / `--set-raw` /
|
|
649
|
+
* `--name`) STILL rejects on this callShape per the
|
|
650
|
+
* universal mixed mutex.
|
|
407
651
|
* - `'item_update_bulk'` — `monday item update --where ...`.
|
|
408
652
|
* At v0.6-M38 this rejected with `'file_set_on_bulk_unsupported'`;
|
|
409
653
|
* v0.7-M42 carves out the D5 closure — clean single-file
|
|
410
654
|
* bulk-file dispatch returns `kind: 'file_bulk'` for the
|
|
411
|
-
* action body's per-item multipart fan-out.
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
655
|
+
* action body's per-item multipart fan-out. v0.8-M46 D2
|
|
656
|
+
* carve-out fold lifts the multi-file gate — clean multi-
|
|
657
|
+
* file dispatch returns `kind: 'file_bulk_multi'` for the
|
|
658
|
+
* per-item multi-leg fan-out (sequential within an item ×
|
|
659
|
+
* parallel across items). Monday wire stays single-column-
|
|
660
|
+
* per-wire-call (each `add_file_to_column` round-trip
|
|
661
|
+
* targets one file column); M46 fans N legs per item over
|
|
662
|
+
* the same single-column-per-wire-call surface. Mixed-rule
|
|
663
|
+
* STILL rejects per the universal mixed mutex.
|
|
416
664
|
* - `'item_create'` — `monday item create`. At v0.6-M38 this
|
|
417
665
|
* rejected with `'file_set_on_create_unsupported'`;
|
|
418
666
|
* v0.7-M43 carves out the D6 closure — clean single-file
|
|
419
667
|
* create-time dispatch returns `kind: 'file_create'` for the
|
|
420
668
|
* action body's two-leg `create_item` then
|
|
421
|
-
* `add_file_to_column` helper.
|
|
422
|
-
*
|
|
423
|
-
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
669
|
+
* `add_file_to_column` helper. v0.8-M46 D2 carve-out fold
|
|
670
|
+
* lifts the multi-file gate — clean multi-file dispatch
|
|
671
|
+
* returns `kind: 'file_create_multi'` for the action body's
|
|
672
|
+
* two-leg-group helper (leg-1 `create_item` with bundled
|
|
673
|
+
* non-file `column_values` + N sequential file legs).
|
|
674
|
+
* Mixed-rule SUPPRESSED on create per D6 asymmetry
|
|
675
|
+
* (`create_item` natively bundles non-file `column_values`
|
|
676
|
+
* atomically + `--name` is required on create).
|
|
677
|
+
* `--set-raw <file-col>=<json>` stays rejected at
|
|
426
678
|
* `raw-write.ts:translateRawColumnValue` per D3 (separate
|
|
427
679
|
* enforcement layer).
|
|
428
680
|
*/
|
|
@@ -459,19 +711,39 @@ export interface EnforceSingleFileColumnSetInputs {
|
|
|
459
711
|
* throws `ApiError('usage_error', ...)` on a mutex violation.
|
|
460
712
|
*
|
|
461
713
|
* Mutex priority (ratified at M38 pre-flight; updated at v0.7-M42
|
|
462
|
-
* + v0.7-M43 pre-flights to fold the D5 bulk + D6 create carve-outs
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
*
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
*
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
*
|
|
714
|
+
* + v0.7-M43 pre-flights to fold the D5 bulk + D6 create carve-outs;
|
|
715
|
+
* updated at v0.8-M46 pre-flight to fold the D2 multi-file carve-out;
|
|
716
|
+
* updated at v0.8-M47 pre-flight to add the stdin scope gate):
|
|
717
|
+
*
|
|
718
|
+
* 0. **stdin scope gate (v0.8-M47 D7 fold).** When ≥1 file `--set`
|
|
719
|
+
* value is the bare `-` stdin sentinel, enforce stdin's single-
|
|
720
|
+
* file / single-target scope: `'multiple_stdin_file_sets'` (2+
|
|
721
|
+
* `=-`), `'stdin_file_set_not_sole_file'` (stdin + another file
|
|
722
|
+
* `--set`), `'stdin_file_set_on_bulk_unsupported'` (`=-` on the
|
|
723
|
+
* `'item_update_bulk'` callShape). All `usage_error`; literals
|
|
724
|
+
* reserved. A clean stdin source (exactly one `=-`, sole file,
|
|
725
|
+
* single-target) falls through to the clean single-file leg and
|
|
726
|
+
* returns `kind: 'file'` / `'file_create'` — identical routing to
|
|
727
|
+
* a path source; the action body sources the Blob from stdin. The
|
|
728
|
+
* mixed + duplicate gates below still apply to a stdin entry.
|
|
729
|
+
* 1. **callShape gate — ONLY `'item_set'` defensive throw remains**
|
|
730
|
+
* post-v0.8-M46. The v0.6-M38 `'item_update_bulk'` (D5 fold at
|
|
731
|
+
* v0.7-M42) and `'item_create'` (D6 fold at v0.7-M43) short-
|
|
732
|
+
* circuit-throws have been removed; the v0.6-M38 universal
|
|
733
|
+
* multi-file throw FOLDED at v0.8-M46 (D2) for the 3 reachable
|
|
734
|
+
* callShapes. The `'item_set'` callShape's multi-file throw
|
|
735
|
+
* stays as defensive type-system ceiling — the single-
|
|
736
|
+
* positional `monday item set <iid> <col>=<value>` verb is
|
|
737
|
+
* argv-incapable of expressing 2+ file `--set` entries, so
|
|
738
|
+
* this branch is argv-unreachable in practice; kept as
|
|
739
|
+
* defense-in-depth.
|
|
740
|
+
* 2. **multi-file leg (`'item_set'` only post-fold)** — 2+ file
|
|
741
|
+
* `--set` entries on `'item_set'` callShape surface
|
|
742
|
+
* `'multi_file_set_unsupported'` (argv-unreachable defensive).
|
|
743
|
+
* The other 3 reachable callShapes (`'item_update_single'` /
|
|
744
|
+
* `'item_update_bulk'` / `'item_create'`) fall through to the
|
|
745
|
+
* mixed gate + clean leg for the multi-file dispatch routing.
|
|
746
|
+
* 3. **mixed leg** — 1+ file `--set` + any value `--set` /
|
|
475
747
|
* `--set-raw` / `--name` surfaces `'mixed_file_and_value_sets'`
|
|
476
748
|
* on `'item_set'` / `'item_update_single'` / `'item_update_bulk'`.
|
|
477
749
|
* Universal rule on those callShapes: mixing forces non-atomic
|
|
@@ -480,25 +752,29 @@ export interface EnforceSingleFileColumnSetInputs {
|
|
|
480
752
|
* asymmetry — `create_item` natively bundles non-file
|
|
481
753
|
* `column_values` atomically into leg-1, and `--name` is
|
|
482
754
|
* required on create.
|
|
483
|
-
* 4. **clean leg** — 1 file `--set`, no mutex violation
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
493
|
-
*
|
|
494
|
-
*
|
|
755
|
+
* 4. **clean leg** — ≥1 file `--set`, no mutex violation. Branches
|
|
756
|
+
* on N (single vs multi) then callShape:
|
|
757
|
+
* - N=1 (single-file path):
|
|
758
|
+
* - `'item_update_single'` / `'item_set'` → `{ kind: 'file',
|
|
759
|
+
* columnId, rawValue }` (M38 path; unchanged).
|
|
760
|
+
* - `'item_update_bulk'` → `{ kind: 'file_bulk', ... }`
|
|
761
|
+
* (v0.7-M42 D5 carve-out fold).
|
|
762
|
+
* - `'item_create'` → `{ kind: 'file_create', ... }`
|
|
763
|
+
* (v0.7-M43 D6 carve-out fold).
|
|
764
|
+
* - N>1 (multi-file path — v0.8-M46 D2 carve-out fold):
|
|
765
|
+
* - `'item_update_single'` → `{ kind: 'file_multi', entries }`
|
|
766
|
+
* for the single-item multi-leg fan-out helper.
|
|
767
|
+
* - `'item_update_bulk'` → `{ kind: 'file_bulk_multi',
|
|
768
|
+
* entries }` for the bulk per-item multi-leg fan-out.
|
|
769
|
+
* - `'item_create'` → `{ kind: 'file_create_multi', entries }`
|
|
770
|
+
* for the create-time two-leg-group multi-file helper.
|
|
495
771
|
*
|
|
496
772
|
* The function is sync + pure. No I/O. Path validation lives at a
|
|
497
773
|
* SEPARATE step (`precheckLocalFile` from `src/utils/file-source.ts`)
|
|
498
|
-
* that the caller runs AFTER this function returns a `kind: 'file'`
|
|
774
|
+
* that the caller runs AFTER this function returns a `kind: 'file*'`
|
|
499
775
|
* result.
|
|
500
776
|
*/
|
|
501
|
-
export declare const
|
|
777
|
+
export declare const routeFileColumnDispatch: (inputs: RouteFileColumnDispatchInputs) => FileColumnDispatchRoute;
|
|
502
778
|
/**
|
|
503
779
|
* Argv-level setEntry shape (`<token>=<value>` split, pre-resolution).
|
|
504
780
|
* Used as input to {@link preCheckM38FileDispatch}.
|
|
@@ -550,6 +826,36 @@ export type PreCheckM38FileDispatchResult = {
|
|
|
550
826
|
readonly warnings: readonly ResolverWarning[];
|
|
551
827
|
readonly source: 'live' | 'cache' | 'mixed' | undefined;
|
|
552
828
|
readonly cacheAgeSeconds: number | null;
|
|
829
|
+
} | {
|
|
830
|
+
readonly kind: 'file_multi';
|
|
831
|
+
readonly entries: readonly {
|
|
832
|
+
readonly columnId: string;
|
|
833
|
+
readonly rawValue: string;
|
|
834
|
+
readonly token: string;
|
|
835
|
+
}[];
|
|
836
|
+
readonly warnings: readonly ResolverWarning[];
|
|
837
|
+
readonly source: 'live' | 'cache' | 'mixed' | undefined;
|
|
838
|
+
readonly cacheAgeSeconds: number | null;
|
|
839
|
+
} | {
|
|
840
|
+
readonly kind: 'file_bulk_multi';
|
|
841
|
+
readonly entries: readonly {
|
|
842
|
+
readonly columnId: string;
|
|
843
|
+
readonly rawValue: string;
|
|
844
|
+
readonly token: string;
|
|
845
|
+
}[];
|
|
846
|
+
readonly warnings: readonly ResolverWarning[];
|
|
847
|
+
readonly source: 'live' | 'cache' | 'mixed' | undefined;
|
|
848
|
+
readonly cacheAgeSeconds: number | null;
|
|
849
|
+
} | {
|
|
850
|
+
readonly kind: 'file_create_multi';
|
|
851
|
+
readonly entries: readonly {
|
|
852
|
+
readonly columnId: string;
|
|
853
|
+
readonly rawValue: string;
|
|
854
|
+
readonly token: string;
|
|
855
|
+
}[];
|
|
856
|
+
readonly warnings: readonly ResolverWarning[];
|
|
857
|
+
readonly source: 'live' | 'cache' | 'mixed' | undefined;
|
|
858
|
+
readonly cacheAgeSeconds: number | null;
|
|
553
859
|
};
|
|
554
860
|
export interface PreCheckM38FileDispatchInputs {
|
|
555
861
|
readonly client: MondayClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-column-set.d.ts","sourceRoot":"","sources":["../../src/api/file-column-set.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"file-column-set.d.ts","sourceRoot":"","sources":["../../src/api/file-column-set.ts"],"names":[],"mappings":"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"}
|