monday-cli 0.4.0 → 0.5.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 +368 -0
- package/README.md +112 -34
- package/dist/api/column-types.d.ts +3 -1
- package/dist/api/column-types.d.ts.map +1 -1
- package/dist/api/column-types.js +3 -1
- package/dist/api/column-types.js.map +1 -1
- package/dist/api/column-values.d.ts +5 -4
- package/dist/api/column-values.d.ts.map +1 -1
- package/dist/api/column-values.js +6 -5
- package/dist/api/column-values.js.map +1 -1
- package/dist/api/documents.d.ts +1136 -3
- package/dist/api/documents.d.ts.map +1 -1
- package/dist/api/documents.js +1828 -3
- package/dist/api/documents.js.map +1 -1
- package/dist/api/raw-write.d.ts +6 -5
- package/dist/api/raw-write.d.ts.map +1 -1
- package/dist/api/raw-write.js +7 -6
- package/dist/api/raw-write.js.map +1 -1
- package/dist/api/teams.d.ts +657 -0
- package/dist/api/teams.d.ts.map +1 -0
- package/dist/api/teams.js +880 -0
- package/dist/api/teams.js.map +1 -0
- package/dist/commands/doc/append-markdown.d.ts +117 -0
- package/dist/commands/doc/append-markdown.d.ts.map +1 -0
- package/dist/commands/doc/append-markdown.js +253 -0
- package/dist/commands/doc/append-markdown.js.map +1 -0
- package/dist/commands/doc/block-create.d.ts +114 -0
- package/dist/commands/doc/block-create.d.ts.map +1 -0
- package/dist/commands/doc/block-create.js +206 -0
- package/dist/commands/doc/block-create.js.map +1 -0
- package/dist/commands/doc/block-delete.d.ts +72 -0
- package/dist/commands/doc/block-delete.d.ts.map +1 -0
- package/dist/commands/doc/block-delete.js +161 -0
- package/dist/commands/doc/block-delete.js.map +1 -0
- package/dist/commands/doc/block-update.d.ts +75 -0
- package/dist/commands/doc/block-update.d.ts.map +1 -0
- package/dist/commands/doc/block-update.js +162 -0
- package/dist/commands/doc/block-update.js.map +1 -0
- package/dist/commands/doc/create-in-workspace.d.ts +76 -0
- package/dist/commands/doc/create-in-workspace.d.ts.map +1 -0
- package/dist/commands/doc/create-in-workspace.js +164 -0
- package/dist/commands/doc/create-in-workspace.js.map +1 -0
- package/dist/commands/doc/create-on-column.d.ts +71 -0
- package/dist/commands/doc/create-on-column.d.ts.map +1 -0
- package/dist/commands/doc/create-on-column.js +146 -0
- package/dist/commands/doc/create-on-column.js.map +1 -0
- package/dist/commands/doc/delete.d.ts +68 -0
- package/dist/commands/doc/delete.d.ts.map +1 -0
- package/dist/commands/doc/delete.js +146 -0
- package/dist/commands/doc/delete.js.map +1 -0
- package/dist/commands/doc/duplicate.d.ts +101 -0
- package/dist/commands/doc/duplicate.d.ts.map +1 -0
- package/dist/commands/doc/duplicate.js +191 -0
- package/dist/commands/doc/duplicate.js.map +1 -0
- package/dist/commands/doc/import-html.d.ts +125 -0
- package/dist/commands/doc/import-html.d.ts.map +1 -0
- package/dist/commands/doc/import-html.js +273 -0
- package/dist/commands/doc/import-html.js.map +1 -0
- package/dist/commands/doc/list.d.ts +6 -3
- package/dist/commands/doc/list.d.ts.map +1 -1
- package/dist/commands/doc/list.js +17 -48
- package/dist/commands/doc/list.js.map +1 -1
- package/dist/commands/doc/rename.d.ts +60 -0
- package/dist/commands/doc/rename.d.ts.map +1 -0
- package/dist/commands/doc/rename.js +135 -0
- package/dist/commands/doc/rename.js.map +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +116 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/item/create.js +2 -2
- package/dist/commands/update/create.d.ts.map +1 -1
- package/dist/commands/update/create.js +6 -4
- package/dist/commands/update/create.js.map +1 -1
- package/dist/commands/update/edit.d.ts +4 -2
- package/dist/commands/update/edit.d.ts.map +1 -1
- package/dist/commands/update/edit.js +10 -6
- package/dist/commands/update/edit.js.map +1 -1
- package/dist/commands/update/reply.d.ts +4 -2
- package/dist/commands/update/reply.d.ts.map +1 -1
- package/dist/commands/update/reply.js +10 -6
- package/dist/commands/update/reply.js.map +1 -1
- package/dist/commands/user/_team-membership.d.ts +10 -0
- package/dist/commands/user/_team-membership.d.ts.map +1 -0
- package/dist/commands/user/_team-membership.js +88 -0
- package/dist/commands/user/_team-membership.js.map +1 -0
- package/dist/commands/user/team-add-members.d.ts +81 -0
- package/dist/commands/user/team-add-members.d.ts.map +1 -0
- package/dist/commands/user/team-add-members.js +186 -0
- package/dist/commands/user/team-add-members.js.map +1 -0
- package/dist/commands/user/team-create.d.ts +82 -0
- package/dist/commands/user/team-create.d.ts.map +1 -0
- package/dist/commands/user/team-create.js +206 -0
- package/dist/commands/user/team-create.js.map +1 -0
- package/dist/commands/user/team-delete.d.ts +56 -0
- package/dist/commands/user/team-delete.d.ts.map +1 -0
- package/dist/commands/user/team-delete.js +137 -0
- package/dist/commands/user/team-delete.js.map +1 -0
- package/dist/commands/user/team-get.d.ts +41 -0
- package/dist/commands/user/team-get.d.ts.map +1 -0
- package/dist/commands/user/team-get.js +87 -0
- package/dist/commands/user/team-get.js.map +1 -0
- package/dist/commands/user/team-list.d.ts +39 -0
- package/dist/commands/user/team-list.d.ts.map +1 -0
- package/dist/commands/user/team-list.js +90 -0
- package/dist/commands/user/team-list.js.map +1 -0
- package/dist/commands/user/team-remove-members.d.ts +71 -0
- package/dist/commands/user/team-remove-members.d.ts.map +1 -0
- package/dist/commands/user/team-remove-members.js +176 -0
- package/dist/commands/user/team-remove-members.js.map +1 -0
- package/dist/types/ids.d.ts +6 -0
- package/dist/types/ids.d.ts.map +1 -1
- package/dist/types/ids.js +46 -5
- package/dist/types/ids.js.map +1 -1
- package/dist/utils/parse-brand-list.d.ts +95 -0
- package/dist/utils/parse-brand-list.d.ts.map +1 -0
- package/dist/utils/parse-brand-list.js +96 -0
- package/dist/utils/parse-brand-list.js.map +1 -0
- package/dist/utils/source-content.d.ts +93 -0
- package/dist/utils/source-content.d.ts.map +1 -0
- package/dist/utils/source-content.js +120 -0
- package/dist/utils/source-content.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,374 @@ 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.5.0] - 2026-05-17 — Team writers + full Monday workdocs CRUD mutation surface
|
|
11
|
+
|
|
12
|
+
The "agents can write to teams + drive the full workdocs surface"
|
|
13
|
+
milestone — v0.4's read-only workdocs + asset-upload foundation
|
|
14
|
+
gains the six team-writer verbs deferred at the post-v0.4-M33
|
|
15
|
+
candidate-selection session and the full Monday workdocs CRUD
|
|
16
|
+
mutation surface deferred at v0.4-M32 D8 closure (10 new doc-
|
|
17
|
+
namespace verbs across doc-level + doc-block + doc-content-import
|
|
18
|
+
clusters). **16 new CLI verbs across 9 wire mutations.** **No
|
|
19
|
+
breaking changes vs `0.4.0` — every v0.5 surface is additive.**
|
|
20
|
+
Built incrementally across M34–M37.
|
|
21
|
+
|
|
22
|
+
### Breaking changes vs `0.4.0`
|
|
23
|
+
|
|
24
|
+
**None.** Every command, error code, envelope key, and warning
|
|
25
|
+
shape shipped in v0.4.0 is preserved byte-for-byte. v0.5 only adds.
|
|
26
|
+
|
|
27
|
+
### Surface
|
|
28
|
+
|
|
29
|
+
**~117 commands shipped (was ~101 in v0.4).** 16 new verbs.
|
|
30
|
+
The new noun namespaces are extensions of existing ones — no new
|
|
31
|
+
top-level noun lands at v0.5 (team writers extend `monday user`;
|
|
32
|
+
doc-level + doc-block + doc-content-import extend `monday doc`).
|
|
33
|
+
|
|
34
|
+
**Team writers (M34) — `monday user team-list/get/create/delete/
|
|
35
|
+
add-members/remove-members`.** Six new verbs closing the v0.4-M33
|
|
36
|
+
candidate-selection deferral. The two read verbs (`team-list` /
|
|
37
|
+
`team-get`) project Monday's `Team` shape (`id`, `name`, `picture_url`,
|
|
38
|
+
`users[]`, `owners[]`). The four mutations:
|
|
39
|
+
|
|
40
|
+
- `team-create --name <n> [--users <id>,...] [--guest-team]
|
|
41
|
+
[--allow-empty] [--dry-run]` — backed by `create_team`.
|
|
42
|
+
`--users` resolves to Monday `UserId` list at the parse boundary
|
|
43
|
+
via the new lifted `parseBrandedListArg<T>(raw, brandSchema,
|
|
44
|
+
options)` helper (R-NEW-70 shipped ahead-of-feat at M34
|
|
45
|
+
pre-flight — 4 consumers post-lift).
|
|
46
|
+
- `team-delete <tid> --yes [--dry-run]` — backed by `delete_team`.
|
|
47
|
+
The destructive verb in the cluster; `--yes` gate fires BEFORE
|
|
48
|
+
`resolveClient` per the M10 round-1 P2 invariant.
|
|
49
|
+
- `team-add-members <tid> --users <id>,... [--dry-run]` +
|
|
50
|
+
`team-remove-members <tid> --users <id>,...` — backed by
|
|
51
|
+
`change_team_memberships`. Monday's mutation returns
|
|
52
|
+
`failed_users` + `successful_users` lists (asymmetric — failed
|
|
53
|
+
users carry a User object but no per-user failure reason, so
|
|
54
|
+
the CLI surfaces a generic `membership_failed` message per
|
|
55
|
+
failed record). The new shared `_team-membership.ts:
|
|
56
|
+
projectMembershipResults` helper projects to the universal
|
|
57
|
+
§6.1 `data.results: [{user_id, ok, ...}]` shape with input-
|
|
58
|
+
order preserved + failed-bucket-priority discipline + an
|
|
59
|
+
`internal_error` surface for input users that land in neither
|
|
60
|
+
bucket (wire-shape regression defensive). Lifted at IMPL
|
|
61
|
+
kickoff as a 2-consumer inline lift mirroring M26b's
|
|
62
|
+
`_shared.ts:requireDevBoard` cadence.
|
|
63
|
+
|
|
64
|
+
`team-list` ships flat (Monday's `teams(...)` has no pagination
|
|
65
|
+
on the wire); the two-read-without-pagination shape mirrors
|
|
66
|
+
`monday user list`. The four mutations all surface `--dry-run`
|
|
67
|
+
for planned-change envelopes.
|
|
68
|
+
|
|
69
|
+
**Doc-level CRUD (M35) — `monday doc create-in-workspace/
|
|
70
|
+
create-on-column/rename/delete/duplicate`.** Five verbs, four
|
|
71
|
+
wire mutations (both create variants share `create_doc` per D7's
|
|
72
|
+
mutually-exclusive `board` vs `workspace` split):
|
|
73
|
+
|
|
74
|
+
- `create-in-workspace --workspace <wid> --name <n> [--folder
|
|
75
|
+
<fid>] [--kind public|private|share]` — creates a workspace-
|
|
76
|
+
level doc. Brand: new `DocFolderIdSchema` joins
|
|
77
|
+
`src/types/ids.ts` as the 11th numeric brand.
|
|
78
|
+
- `create-on-column --item <iid> --column <cid>` — creates a
|
|
79
|
+
column-level doc against an existing file-shaped column.
|
|
80
|
+
- `rename <did> --name <n>` — `update_doc_name`.
|
|
81
|
+
- `delete <did> --yes [--dry-run]` — `delete_doc`. Destructive
|
|
82
|
+
gate fires BEFORE `resolveClient` per the M10 invariant.
|
|
83
|
+
- `duplicate <did> [--with-updates] [--dry-run]` — `duplicate_doc`
|
|
84
|
+
(D8 closure dropped `--name <n>` because the wire side has no
|
|
85
|
+
rename slot on duplicate). `--with-updates` copies the source
|
|
86
|
+
doc's comments to the duplicate; new `extractDuplicateDocId`
|
|
87
|
+
helper defensively unwraps the opaque-JSON new-doc-id across
|
|
88
|
+
bare-string / number / record-with-`id` / `doc_id` /
|
|
89
|
+
`new_doc_id` shapes per D9 closure (Monday's `duplicate_doc`
|
|
90
|
+
returns a flat `{ doc_id, success: true }` projection with
|
|
91
|
+
`success` pinned literal-`true` because failure surfaces via
|
|
92
|
+
GraphQL `errors[]` upstream, NOT via a wire-side success flag).
|
|
93
|
+
`--dry-run` previews the planned change envelope without firing
|
|
94
|
+
the wire.
|
|
95
|
+
|
|
96
|
+
D7 / D8 / D9 closures pinned at pre-flight: D7 two CLI verbs over
|
|
97
|
+
one with placement choosers (mirrors v0.4-M31's `monday item
|
|
98
|
+
upload` / `monday update upload` split for the same multipart
|
|
99
|
+
wire path). D8 drops `--name <n>` from duplicate. D9 opaque-JSON
|
|
100
|
+
returns project to flat `{ doc_id, success: true }` per §6.1
|
|
101
|
+
single-record envelope.
|
|
102
|
+
|
|
103
|
+
**Doc-block CRUD (M36) — `monday doc block-create/block-update/
|
|
104
|
+
block-delete`.** Three verbs / three wire mutations. `--type
|
|
105
|
+
<DocBlockContentType>` takes one of 16 enum values (`normal_text`
|
|
106
|
+
/ `large_title` / `medium_title` / `small_title` / `quote` /
|
|
107
|
+
`bulleted_list` / `numbered_list` / `check_list` / `code` /
|
|
108
|
+
`divider` / `image` / `video` / `file` / `table` / `layout` /
|
|
109
|
+
`column`) per D10 closure (unknown values reject at the parse
|
|
110
|
+
boundary with `usage_error.details.issues[]` carrying `{path:
|
|
111
|
+
'type', message}`). `--content <json>` parses via the M27-lifted
|
|
112
|
+
`parseJsonArg` helper (4th + 5th consumers of the helper).
|
|
113
|
+
`block-create` accepts optional `--after <bid>` / `--parent <bid>`
|
|
114
|
+
positioning slots; `block-update` updates the named block's
|
|
115
|
+
content payload; `block-delete --yes` deletes the named block.
|
|
116
|
+
Per-type content payload shapes documented in `docs/output-
|
|
117
|
+
shapes.md` "Per-block content shapes" reference table — 7
|
|
118
|
+
cassette-pinned variants + 9 TBD / inferred variants awaiting
|
|
119
|
+
follow-up cassettes per D11 closure (per-variant payload-shape
|
|
120
|
+
deferral to IMPL cassettes — R-v0.5-NEW-15 watch-item supporting
|
|
121
|
+
instance 2 of 3 ahead of graduation).
|
|
122
|
+
|
|
123
|
+
`DocBlockIdSchema` brand uses `slugIdSchema` (non-empty-string
|
|
124
|
+
base; same shape as `ColumnId` / `GroupId`) because Monday's
|
|
125
|
+
`DocumentBlock.id` is wire `String!`, NOT `ID!` — load-bearing
|
|
126
|
+
distinction from `DocId`'s numeric brand. Snake_case wire arg
|
|
127
|
+
names (`doc_id` / `block_id` / `after_block_id` / `parent_block_id`)
|
|
128
|
+
— Monday's standard cadence, not a new R-NEW-41 supporting site.
|
|
129
|
+
|
|
130
|
+
**Doc-content import (M37) — `monday doc import-html/append-
|
|
131
|
+
markdown`.** Two verbs / two wire mutations. Bulk doc-content
|
|
132
|
+
import in a single wire round-trip (no per-block loop):
|
|
133
|
+
|
|
134
|
+
- `import-html --workspace <wid> (--html <file|-> | --html-string
|
|
135
|
+
<s>) [--folder <fid>] [--kind public|private|share] [--title
|
|
136
|
+
<t>]` — creates a new doc from an HTML payload.
|
|
137
|
+
- `append-markdown <did> (--markdown <file|-> | --markdown-string
|
|
138
|
+
<s>) [--after <bid>]` — appends blocks to an existing doc from
|
|
139
|
+
a markdown payload.
|
|
140
|
+
|
|
141
|
+
Both surface mutex argv sources (file / stdin / inline string)
|
|
142
|
+
backed by the new generic `readSourceContent` helper at
|
|
143
|
+
`src/utils/source-content.ts` (R-v0.5-NEW-18 lifted ahead-of-
|
|
144
|
+
feat at M37 IMPL — widens M13's `readUpdateBody` to parameterise
|
|
145
|
+
on `inlineFlagName` / `fileFlagName` / `verbHint?` / `maxBytes?` /
|
|
146
|
+
`trimTrailingWhitespace?`; 5 consumers post-lift: 3 M13 update
|
|
147
|
+
verbs + 2 M37 doc verbs). 20 unit tests pin the helper's branch
|
|
148
|
+
matrix.
|
|
149
|
+
|
|
150
|
+
D12 closure pins the custom-OBJECT projection (5 branches):
|
|
151
|
+
success → flat envelope; `success: false + populated error` →
|
|
152
|
+
`validation_failed`; `success: false + empty/null error` →
|
|
153
|
+
`internal_error` (wire-regression hint); `success: true +
|
|
154
|
+
missing payload` → `internal_error` (probe descriptions promise
|
|
155
|
+
non-null); EMPTY `block_ids: []` on success → success WITH empty
|
|
156
|
+
array. D13 empirical-probe ran at M37 pre-flight kickoff
|
|
157
|
+
(`scripts/probe/v0.5-m37-size-limits.ts`, 2026-05-17, API
|
|
158
|
+
`2026-01`) + pinned the wire-side rejection threshold between
|
|
159
|
+
250KB-OK and 500KB-rejected on both surfaces — rejection shape
|
|
160
|
+
is generic `INTERNAL_SERVER_ERROR` (NOT the documented
|
|
161
|
+
`{success: false, error}` envelope path), so the CLI pre-empts
|
|
162
|
+
at parse boundary via `MAX_DOC_IMPORT_PAYLOAD_BYTES = 256_000`
|
|
163
|
+
on the `.refine()` for inline `--html-string` / `--markdown-
|
|
164
|
+
string`.
|
|
165
|
+
|
|
166
|
+
### Output contract additions
|
|
167
|
+
|
|
168
|
+
**No new stable error codes — registry stays at 29.** Every v0.5
|
|
169
|
+
milestone closed the new-error-code question NEGATIVE: M34
|
|
170
|
+
team mutations route per-user partial-success failures through
|
|
171
|
+
the generic `membership_failed` message (envelope-level per-record
|
|
172
|
+
discriminator, not a top-level code); M35 / M36 / M37 route
|
|
173
|
+
deletes through the existing `not_found`, validation failures
|
|
174
|
+
through the existing `validation_failed`, wire-shape regressions
|
|
175
|
+
through the existing `internal_error`, and parse-boundary
|
|
176
|
+
rejections through the existing `usage_error`.
|
|
177
|
+
|
|
178
|
+
**New per-record partial-success projection** (M34 —
|
|
179
|
+
`team-add-members` + `team-remove-members`). The
|
|
180
|
+
`change_team_memberships` wire mutation returns asymmetric
|
|
181
|
+
`failed_users` + `successful_users` lists; the shared
|
|
182
|
+
`_team-membership.ts:projectMembershipResults` helper projects
|
|
183
|
+
to the universal §6.1 `data.results: [{user_id, ok, ...}]`
|
|
184
|
+
shape with input-order preserved + failed-bucket-priority
|
|
185
|
+
discipline + an `internal_error` surface for input users that
|
|
186
|
+
land in neither bucket (wire-shape regression defensive).
|
|
187
|
+
Mirrors M13's `update clear-all` partial-success cadence but
|
|
188
|
+
with the wire-side asymmetry pinned in the projection.
|
|
189
|
+
|
|
190
|
+
**New custom-OBJECT 5-branch projection** (M37 — `import-html`
|
|
191
|
+
+ `append-markdown`). Monday's two new mutations return a
|
|
192
|
+
custom `{success: bool, error?: string}` shape (NOT the
|
|
193
|
+
standard OBJECT-with-id pattern). The CLI projects through the
|
|
194
|
+
5-branch dispatch pinned at D12 closure (success → flat
|
|
195
|
+
envelope; `success: false + populated error` →
|
|
196
|
+
`validation_failed`; `success: false + empty error` →
|
|
197
|
+
`internal_error` wire-regression hint; `success: true + missing
|
|
198
|
+
payload` → `internal_error`; EMPTY `block_ids: []` on success →
|
|
199
|
+
success WITH empty array). The projection is per-fetcher (no
|
|
200
|
+
shared helper at 2 consumers; R-v0.5-NEW-17 watch-item tracks
|
|
201
|
+
the OBJECT-shape null-payload guard pattern at 9 consumers
|
|
202
|
+
across M34/M35/M36 mutation fetchers but stays UNFILED today
|
|
203
|
+
per the per-consumer divergence rationale).
|
|
204
|
+
|
|
205
|
+
### Upgrade notes
|
|
206
|
+
|
|
207
|
+
- **`unsupported_column_type` `deferred_to: "v0.5"` slips to
|
|
208
|
+
`"v0.6"`** for the files-shaped category (`file` column type
|
|
209
|
+
via `--set` / `--set-raw`). Originally slipped from v0.4 →
|
|
210
|
+
v0.5 at v0.4 release-prep; v0.5 didn't pick up the friendly /
|
|
211
|
+
raw forms either (the translator boundary still doesn't
|
|
212
|
+
dispatch into the multipart wire). Slipped from v0.5 → v0.6
|
|
213
|
+
at v0.5 release-prep. `monday item upload` (v0.4-M31)
|
|
214
|
+
continues to be the verb-shaped alternative path agents
|
|
215
|
+
should use today; the hint pointing at `monday item upload`
|
|
216
|
+
is unchanged. **The hint is the load-bearing routing surface
|
|
217
|
+
— agents key off the hint, not the `deferred_to` value.**
|
|
218
|
+
- **Multi-level subitem creation slips from `"v0.5"` → `"v0.6"`.**
|
|
219
|
+
Originally slipped from v0.3 → v0.4 → v0.5 across two prior
|
|
220
|
+
release-preps. v0.5 didn't pick it up — Monday's
|
|
221
|
+
`sub_items_board` still carries no `subtasks` column at API
|
|
222
|
+
`2026-01`, so depth-2 subitems still have no data-model home.
|
|
223
|
+
Single-level subitems (`item create --parent <iid>` against
|
|
224
|
+
classic boards) continue to work byte-identically. The
|
|
225
|
+
`error.code: "usage_error"` + `details.hierarchy_type:
|
|
226
|
+
"multi_level"` keys are unchanged.
|
|
227
|
+
- **Cross-board `item move` value-overrides slip from `"v0.5"`
|
|
228
|
+
→ `"v0.6"`.** Originally v0.3-M11-targeted, slipped to v0.4
|
|
229
|
+
at v0.3-M28 audit, slipped to v0.5 at v0.4 release-prep,
|
|
230
|
+
slipped to v0.6 at v0.5 release-prep. Monday's
|
|
231
|
+
`ColumnMappingInput` still carries no value slot; supporting
|
|
232
|
+
it would need a non-atomic post-move `change_multiple_column_
|
|
233
|
+
values` with cross-leg partial-failure envelope shapes that
|
|
234
|
+
have no precedent at v0.5 close. Agents needing overrides
|
|
235
|
+
continue to fire `monday item set <iid> <target>=<value>`
|
|
236
|
+
post-move.
|
|
237
|
+
- **Cross-board resumable cursor slips from `"v0.5"` →
|
|
238
|
+
`"v0.6"`.** The `cross_board_truncated` warning's
|
|
239
|
+
`details.hint` continues to recommend narrowing via
|
|
240
|
+
`--workspace` / `--favorites` / `--max-boards`; v0.6 may pick
|
|
241
|
+
the resumable surface up if per-board cursor-lifetime under
|
|
242
|
+
aggregation gets a clean design.
|
|
243
|
+
- **Stable error-code registry stays at 29.** Existing codes'
|
|
244
|
+
shapes are unchanged across v0.4 → v0.5.
|
|
245
|
+
- **Snake_case wire arg names on M36 doc-block surfaces**
|
|
246
|
+
(`doc_id` / `block_id` / `after_block_id` / `parent_block_id`).
|
|
247
|
+
Monday's standard cadence — NOT a new R-NEW-41 supporting
|
|
248
|
+
site. M37 camelCase wire arg names (`workspaceId` / `folderId`
|
|
249
|
+
/ `docId` / `afterBlockId`) ARE a 5th R-NEW-41 supporting
|
|
250
|
+
site for the wire-vs-CLI semantics asymmetry section in
|
|
251
|
+
`docs/architecture.md`.
|
|
252
|
+
- **`monday auth login` placeholder-guard unchanged.** The verb
|
|
253
|
+
is still registered and still surfaces `usage_error.details.
|
|
254
|
+
reason: oauth_unregistered` pointing at `MONDAY_API_TOKEN`
|
|
255
|
+
(unchanged from v0.4.0). The OAuth deferral revisits in
|
|
256
|
+
v0.5.x / v0.6 contingent on user demand.
|
|
257
|
+
|
|
258
|
+
### Internals worth highlighting
|
|
259
|
+
|
|
260
|
+
- **R-class refactors shipped during v0.5.** R-NEW-70
|
|
261
|
+
(`parseBrandedListArg<T>`) shipped ahead-of-feat at v0.5-M34
|
|
262
|
+
pre-flight close (`17c1a54`) — 4 consumers post-lift (doc/list
|
|
263
|
+
`--workspace` + team-create `--users` + team-add-members
|
|
264
|
+
`--users` + team-remove-members `--users`). 18 unit tests pin
|
|
265
|
+
the helper's branch matrix. R-v0.5-NEW-18 (`readSourceContent`)
|
|
266
|
+
shipped at M37 IMPL kickoff (`c431d96`) — widens M13's
|
|
267
|
+
`readUpdateBody` to parameterise on inline / file flag names +
|
|
268
|
+
optional size cap / trim-whitespace; 5 consumers post-lift
|
|
269
|
+
(3 M13 update verbs + 2 M37 doc verbs).
|
|
270
|
+
- **R-class disciplines graduated during v0.5.** R-v0.5-NEW-11
|
|
271
|
+
(per-fetcher null-payload contract decision discipline derived
|
|
272
|
+
from probe-description return-shape promises) graduated at
|
|
273
|
+
M37 pre-flight close (3rd supporting instance — to a permanent
|
|
274
|
+
Codex pre-flight template W{N} audit-point). R-v0.5-NEW-15
|
|
275
|
+
(pre-flight per-variant payload-shape deferral to IMPL
|
|
276
|
+
cassettes) graduated at M37 pre-flight close (3rd supporting
|
|
277
|
+
instance — to a permanent Codex pre-flight template W{N}
|
|
278
|
+
audit-point). R-v0.5-NEW-19 (post-fix-up cross-doc grep
|
|
279
|
+
extension to `src/commands/index.ts` module-import block prose)
|
|
280
|
+
graduated at M37 IMPL close (2nd supporting instance — folded
|
|
281
|
+
into the CLAUDE.md R-NEW-72 "Workflow rules" entry as the
|
|
282
|
+
fourth search path alongside `src/api/*.ts` + `src/commands/
|
|
283
|
+
**/*.ts` + `docs/*.md`). R-v0.5-NEW-9 (round-N parallel-
|
|
284
|
+
fetcher fix-up test parity discipline) graduated at the
|
|
285
|
+
post-M37-close audit (2nd supporting instance — to a
|
|
286
|
+
permanent IMPL-review / pre-flight template W{N} audit-point).
|
|
287
|
+
- **Noun-stem matching for R-NEW-72 grep patterns** ratified at
|
|
288
|
+
v0.5-M37 IMPL rounds 3-5 — use `\b<noun>\b` regex matching
|
|
289
|
+
rather than literal-substring matching to catch all
|
|
290
|
+
inflections in a single pass. Lesson folded into CLAUDE.md
|
|
291
|
+
R-NEW-72 entry: enumerate sibling-site noun-stems before
|
|
292
|
+
grepping; use regex word-boundary matching to catch all
|
|
293
|
+
inflections (e.g., `cassette` / `cassette pin` / `cassette
|
|
294
|
+
pinned` / `cassette pins` collapse under `\bcassette\b`).
|
|
295
|
+
- **Empirical probes** ratified across the v0.5 surface
|
|
296
|
+
introducing novel wire shapes: M34 `change_team_memberships`
|
|
297
|
+
asymmetric bucket containers (probe round-2 surfaced the
|
|
298
|
+
outer-LIST nullability + the missing per-user failure reason
|
|
299
|
+
pinned at IMPL round-1 P2-1); M35 opaque-JSON `duplicate_doc`
|
|
300
|
+
return-shape variance probe (pinned the defensive 5-shape
|
|
301
|
+
unwrap in `extractDuplicateDocId`); M37 `MAX_DOC_IMPORT_
|
|
302
|
+
PAYLOAD_BYTES` size-limit probe at M37 pre-flight (pinned
|
|
303
|
+
the wire-side rejection threshold between 250KB-OK and
|
|
304
|
+
500KB-rejected on both surfaces). R-NEW-37 W2 (operation-
|
|
305
|
+
name parity) safely-by-construction across all v0.5
|
|
306
|
+
fetchers — verified clean at every Codex IMPL round.
|
|
307
|
+
- **Two-AI review** (cli-design pre-flight + implementation
|
|
308
|
+
review) ran for every v0.5 milestone M34–M37 + skipped on
|
|
309
|
+
the v0.5 release-prep cluster per the **R-NEW-84 carve-out**
|
|
310
|
+
graduated at v0.5-M34 pre-flight (skip Codex review on
|
|
311
|
+
mechanical / process-only / test-side housekeeping clusters
|
|
312
|
+
with zero production `src/**/*.ts` changes). M34 IMPL
|
|
313
|
+
converged in 3 rounds; M35 IMPL converged in 6 rounds (one
|
|
314
|
+
round above the OBJECT-return precedent — driven by the
|
|
315
|
+
opaque-JSON cassette-prose sweep surfacing incrementally as
|
|
316
|
+
the post-fix-up R-NEW-72 grep pattern broadened);
|
|
317
|
+
M36 IMPL converged in 2 rounds (at the LOWER bound of the
|
|
318
|
+
precedent); M37 IMPL converged in 5 rounds (~1 round above
|
|
319
|
+
M36's clean cadence, driven by the custom-OBJECT shape's
|
|
320
|
+
prose surface). The cumulative finding count + per-milestone
|
|
321
|
+
Codex-round breakdown lives in the per-milestone post-
|
|
322
|
+
mortems in [`docs/v0.5-plan.md`](./docs/v0.5-plan.md)
|
|
323
|
+
§11–§14.
|
|
324
|
+
|
|
325
|
+
### Tests + quality gates
|
|
326
|
+
|
|
327
|
+
- **4054 unit/integration + E2E tests** at v0.5.0 (+1 skipped;
|
|
328
|
+
was 3634+1 at v0.4.0; ~420 new tests across M34–M37). All
|
|
329
|
+
green on Node 22 + 24.
|
|
330
|
+
- **Coverage at 99.29 / 96.45 / 99.45 / 99.55** (statements /
|
|
331
|
+
branches / functions / lines) against the floor 95 / 95.45 /
|
|
332
|
+
95 / 95. Branches margin **1.00pp** at v0.5.0 (was 0.88pp at
|
|
333
|
+
v0.4.0; +0.12pp recovery — the v0.5 surface's runtime-body
|
|
334
|
+
branches integration-test-cover the c8-ignored stub drops at
|
|
335
|
+
IMPL close cleanly, first v0.5 IMPL milestone (M37) to cross
|
|
336
|
+
the 1.00pp branches margin threshold; the release-prep
|
|
337
|
+
cluster adds no production branches). Floor unchanged across
|
|
338
|
+
v0.4.0 → v0.5.0.
|
|
339
|
+
- **Envelope-snapshot suite** — no refresh needed at release-
|
|
340
|
+
prep; per-milestone close-docs sweeps refreshed snapshots in
|
|
341
|
+
lockstep at each IMPL close (M34 +12 snapshots, M35 +11,
|
|
342
|
+
M36 +6, M37 +0 net — describe-block widening swap only).
|
|
343
|
+
- **Five test layers held**: unit, integration (in-process
|
|
344
|
+
`FixtureTransport` + `MultipartFixtureTransport`), E2E
|
|
345
|
+
(subprocess against fixture server), envelope-shape snapshot
|
|
346
|
+
suite, published-tarball E2E.
|
|
347
|
+
|
|
348
|
+
### Documentation
|
|
349
|
+
|
|
350
|
+
- **[`docs/v0.5-plan.md`](./docs/v0.5-plan.md)** new — the v0.5
|
|
351
|
+
active plan with M34–M37 milestones, decisions log
|
|
352
|
+
(D1-D13), R-class register (R-v0.5-NEW-1 through
|
|
353
|
+
R-v0.5-NEW-22), per-milestone post-mortems (§11–§14 + §22).
|
|
354
|
+
- **[`docs/cli-design.md`](./docs/cli-design.md)** §4.3 grew
|
|
355
|
+
16 new verb entries (6 USER team-* rows + 10 DOC rows for
|
|
356
|
+
M35/M36/M37); §13 v0.4 entry's v0.5 deferral list closed
|
|
357
|
+
out + the v0.6 frame pinned (files-shaped friendly + multi-
|
|
358
|
+
level subitems + cross-board move value-overrides + cross-
|
|
359
|
+
board resumable cursor).
|
|
360
|
+
- **[`docs/output-shapes.md`](./docs/output-shapes.md)** —
|
|
361
|
+
M35/M36/M37 verb sections snapshot-backed; M34 team-writer
|
|
362
|
+
sections deferred to v0.5.x as a documentation backfill
|
|
363
|
+
(caught at v0.5 release-prep ToC audit as a v0.5-M34
|
|
364
|
+
close-docs gap; ToC row updated to enumerate the team-*
|
|
365
|
+
verbs, a minimal cross-pointer section landed under
|
|
366
|
+
`### user me` pointing agents at `cli-design.md` §4.3 +
|
|
367
|
+
the per-verb integration tests + envelope-snapshot
|
|
368
|
+
regression suite that pin the team-writer contract surface
|
|
369
|
+
today).
|
|
370
|
+
- **README.md** quickstart expanded with v0.5 examples
|
|
371
|
+
(workdocs CRUD steps demonstrating M35/M36/M37 verbs;
|
|
372
|
+
team-writer steps demonstrating M34). Scope section
|
|
373
|
+
reshaped around v0.5.0 / v0.4.0 / v0.3.0 / v0.2.0 / v0.1.0
|
|
374
|
+
per-version layout.
|
|
375
|
+
|
|
376
|
+
[0.5.0]: https://github.com/Firer/monday-cli/releases/tag/v0.5.0
|
|
377
|
+
|
|
10
378
|
## [0.4.0] - 2026-05-14 — Operational features: long-poll watch, parallel bulk, asset upload, workdocs reads, shell completion
|
|
11
379
|
|
|
12
380
|
The "agents can drive long-running workflows + multipart wire +
|
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.5.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
|
|
|
@@ -97,23 +97,43 @@ monday item update --where status=Backlog --set status='Working on it' \
|
|
|
97
97
|
monday doc list --workspace 5 --order-by used_at --limit 10 --json
|
|
98
98
|
monday doc get 88001 --json # full Document with blocks
|
|
99
99
|
|
|
100
|
-
# 11.
|
|
100
|
+
# 11. Workdocs CRUD (v0.5-M35 + v0.5-M36 + v0.5-M37 — the full
|
|
101
|
+
# mutation surface deferred at v0.4-M32 D8 closure).
|
|
102
|
+
# Doc-level CRUD (M35): create / rename / delete / duplicate.
|
|
103
|
+
monday doc create-in-workspace --workspace 5 --name "Design notes" --json
|
|
104
|
+
monday doc rename 88001 --name "Design notes (v2)" --json
|
|
105
|
+
monday doc duplicate 88001 --with-updates --json
|
|
106
|
+
monday doc delete 88001 --yes --json
|
|
107
|
+
# Doc-block CRUD (M36): block-create / block-update / block-delete.
|
|
108
|
+
# 16-value `DocBlockContentType` enum for `--type`.
|
|
109
|
+
monday doc block-create 88001 --type normal_text --content '{"text":"hi"}' --json
|
|
110
|
+
# Bulk import from HTML / markdown (M37): no per-block round-trips.
|
|
111
|
+
monday doc import-html --workspace 5 --html ./page.html --title "Imported" --json
|
|
112
|
+
monday doc append-markdown 88001 --markdown ./notes.md --json
|
|
113
|
+
|
|
114
|
+
# 12. Team writers (v0.5-M34 — deferred from v0.4 at the post-M33
|
|
115
|
+
# candidate-selection session). Six new verbs under `monday user`.
|
|
116
|
+
monday user team-list --json
|
|
117
|
+
monday user team-create --name "Platform" --users 7,9 --json
|
|
118
|
+
monday user team-add-members <tid> --users 11,13 --json
|
|
119
|
+
|
|
120
|
+
# 13. Find-or-create with idempotent matching (v0.2)
|
|
101
121
|
# Re-running with the same args is safe — 0/1/2+ matches route to
|
|
102
122
|
# create / update / `ambiguous_match` (one of the 29 stable error codes).
|
|
103
123
|
monday item upsert --board 12345 --name "Refactor login" \
|
|
104
124
|
--match-by name --set status='Working on it' --json
|
|
105
125
|
|
|
106
|
-
#
|
|
126
|
+
# 14. Move a ticket forward, then comment on it
|
|
107
127
|
monday item set 67890 status=Done --json
|
|
108
128
|
monday update create 67890 --body "Shipped in PR #1234" --json
|
|
109
129
|
|
|
110
|
-
#
|
|
130
|
+
# 15. Monday Dev convention layer (v0.3 — sprint/epic/release/task)
|
|
111
131
|
# First-time setup auto-detects boards by Monday's stock template names.
|
|
112
132
|
monday dev discover --apply --json # writes ~/.monday-cli/config.toml
|
|
113
133
|
monday dev sprint current --json # the active sprint
|
|
114
134
|
monday dev task list --mine --json # my open tasks
|
|
115
135
|
|
|
116
|
-
#
|
|
136
|
+
# 16. Outbound writes (v0.3 — webhooks + notifications)
|
|
117
137
|
monday webhook list 12345 --json
|
|
118
138
|
monday notification send --user 7 --target 67890 \
|
|
119
139
|
--target-type item --text "PTAL" --json
|
|
@@ -182,7 +202,7 @@ Every JSON response uses the same universal envelope:
|
|
|
182
202
|
"meta": {
|
|
183
203
|
"schema_version": "1",
|
|
184
204
|
"api_version": "2026-01",
|
|
185
|
-
"cli_version": "0.
|
|
205
|
+
"cli_version": "0.5.0",
|
|
186
206
|
"request_id": "0e6f1a7b-...",
|
|
187
207
|
"source": "live",
|
|
188
208
|
"cache_age_seconds": null,
|
|
@@ -282,27 +302,38 @@ See [`.env.example`](./.env.example) for all supported variables
|
|
|
282
302
|
|
|
283
303
|
## Scope
|
|
284
304
|
|
|
285
|
-
**v0.
|
|
305
|
+
**v0.5.0 (current — `monday-cli@0.5.0` on npm):**
|
|
306
|
+
the v0.4 surface PLUS the full team-writer surface
|
|
307
|
+
(`monday user team-list/get/create/delete/add-members/remove-members`),
|
|
308
|
+
the full Monday workdocs CRUD mutation surface — doc-level
|
|
309
|
+
(`monday doc create-in-workspace/create-on-column/rename/delete/duplicate`),
|
|
310
|
+
doc-block (`monday doc block-create/block-update/block-delete`),
|
|
311
|
+
and doc-content import (`monday doc import-html/append-markdown`) —
|
|
312
|
+
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.
|
|
317
|
+
|
|
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):**
|
|
286
327
|
the v0.3 surface PLUS long-poll item activity streaming
|
|
287
328
|
(`monday item watch <iid>` — NDJSON), parallel bulk dispatch
|
|
288
329
|
(`monday item update --where ... --concurrency <N>`), asset uploads
|
|
289
330
|
(`monday item upload` / `monday update upload` — multipart wire),
|
|
290
331
|
Monday workdocs reads (`monday doc list` / `monday doc get` — full
|
|
291
|
-
workdocs CRUD mutation surface deferred to v0.5),
|
|
292
|
-
completion (`monday completion bash|zsh|fish`).
|
|
293
|
-
|
|
294
|
-
incrementally across M29–M33. See [CHANGELOG.md](./CHANGELOG.md)
|
|
295
|
-
for the full per-milestone release notes.
|
|
296
|
-
|
|
297
|
-
**OAuth deferral (unchanged from v0.3.0).** `monday auth login` is
|
|
298
|
-
registered but the canonical Monday OAuth app is not registered in
|
|
299
|
-
v0.4.0; the verb surfaces a clear `usage_error.details.reason:
|
|
300
|
-
oauth_unregistered` pointing at `MONDAY_API_TOKEN`. Multi-profile
|
|
301
|
-
config + per-profile credentials cache work fully against API
|
|
302
|
-
tokens; OAuth registration revisits in v0.4.x / v0.5 contingent on
|
|
303
|
-
user demand.
|
|
332
|
+
workdocs CRUD mutation surface deferred to v0.5; shipped at v0.5),
|
|
333
|
+
and shell completion (`monday completion bash|zsh|fish`). Built
|
|
334
|
+
incrementally across M29–M33.
|
|
304
335
|
|
|
305
|
-
**v0.3.0 (the
|
|
336
|
+
**v0.3.0 (the prior release):**
|
|
306
337
|
the v0.2 mutating core PLUS the Monday Dev convention layer
|
|
307
338
|
(`monday dev` namespace — sprint / epic / release / task workflow
|
|
308
339
|
shortcuts on top of standard board CRUD), multi-profile auth
|
|
@@ -317,7 +348,7 @@ outbound writes (`monday webhook list/create/delete` +
|
|
|
317
348
|
tentative-row carryover. **No breaking changes vs v0.2.0** — every
|
|
318
349
|
v0.3 surface is additive. Built incrementally across M19–M28.
|
|
319
350
|
|
|
320
|
-
**v0.2.0 (the
|
|
351
|
+
**v0.2.0 (the foundation-of-mutations release):**
|
|
321
352
|
the v0.1 read-only core + safe-mutations surface PLUS the full
|
|
322
353
|
mutation surface (item lifecycle, update mutations, workspace
|
|
323
354
|
lifecycle, board lifecycle, board columns + groups). Built
|
|
@@ -548,20 +579,67 @@ row `tags`, `board_relation`, `dependency`.
|
|
|
548
579
|
templates (commander 14.0.3 ships no built-in completion
|
|
549
580
|
machinery, verified by empirical probe at M33 pre-flight).
|
|
550
581
|
|
|
551
|
-
**v0.5
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
582
|
+
**What v0.5 added (M34–M37; full per-milestone narrative in
|
|
583
|
+
[CHANGELOG.md](./CHANGELOG.md)):**
|
|
584
|
+
|
|
585
|
+
- **M34** — `monday user team-list/get/create/delete/add-members/
|
|
586
|
+
remove-members` ship the full team-writer surface. The two read
|
|
587
|
+
verbs (`team-list` / `team-get`) close the v0.4-M33 candidate-
|
|
588
|
+
selection deferral; the four mutations introduce a new partial-
|
|
589
|
+
success projection for `team-add-members` / `team-remove-members`
|
|
590
|
+
(Monday's `change_team_memberships` returns `failed_users` +
|
|
591
|
+
`successful_users` lists; the CLI projects to the universal §6.1
|
|
592
|
+
`results: [{user_id, ok, ...}]` shape with input-order preserved
|
|
593
|
+
+ failed-bucket-priority discipline).
|
|
594
|
+
- **M35** — `monday doc create-in-workspace/create-on-column/rename/
|
|
595
|
+
delete/duplicate` ship the doc-level CRUD writer surface. Two
|
|
596
|
+
create variants (per D7) — `create-in-workspace` (`--workspace`
|
|
597
|
+
required + optional `--folder` / `--kind`) vs `create-on-column`
|
|
598
|
+
(`--item` + `--column` against an existing file-shaped column).
|
|
599
|
+
`rename` (`update_doc_name`), `delete --yes` (`delete_doc` — the
|
|
600
|
+
destructive verb in the cluster), and `duplicate [--with-updates]`
|
|
601
|
+
(`duplicate_doc`) round out the lifecycle. Backed by 4 Monday
|
|
602
|
+
wire mutations.
|
|
603
|
+
- **M36** — `monday doc block-create/block-update/block-delete`
|
|
604
|
+
ship the doc-block CRUD surface. `--type <DocBlockContentType>`
|
|
605
|
+
takes one of 16 enum values (`normal_text` / `large_title` /
|
|
606
|
+
`quote` / `bulleted_list` / `check_list` / `code` / `divider` /
|
|
607
|
+
…) per D10 closure. `--content <json>` (parsed via the M27-lifted
|
|
608
|
+
`parseJsonArg` helper). Per-type content payload shapes
|
|
609
|
+
documented in `docs/output-shapes.md` "Per-block content shapes"
|
|
610
|
+
reference table — 7 cassette-pinned variants + 9 TBD / inferred
|
|
611
|
+
variants awaiting follow-up cassettes per D11.
|
|
612
|
+
- **M37** — `monday doc import-html/append-markdown` ship bulk
|
|
613
|
+
doc-content import in a single wire round-trip (no per-block
|
|
614
|
+
loop). `import-html` creates a new doc from an HTML payload;
|
|
615
|
+
`append-markdown` appends blocks to an existing doc from a
|
|
616
|
+
markdown payload. Both surface mutex argv sources
|
|
617
|
+
(`--html <file|-> | --html-string <s>` /
|
|
618
|
+
`--markdown <file|-> | --markdown-string <s>`) backed by the new
|
|
619
|
+
generic `readSourceContent` helper at `src/utils/source-content.ts`
|
|
620
|
+
(R-v0.5-NEW-18 lifted ahead-of-feat from M13's `readUpdateBody`
|
|
621
|
+
— 5 consumers post-lift). Wire-side payload cap pre-empted at
|
|
622
|
+
parse boundary via `MAX_DOC_IMPORT_PAYLOAD_BYTES = 256_000` per
|
|
623
|
+
D13 empirical-probe pinning (rejected at 500KB, OK at 250KB on
|
|
624
|
+
both surfaces).
|
|
625
|
+
|
|
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).
|
|
560
637
|
|
|
561
638
|
See [`docs/cli-design.md`](./docs/cli-design.md) §13 for the
|
|
562
|
-
full roadmap, [`docs/v0.
|
|
563
|
-
v0.
|
|
564
|
-
for v0.
|
|
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
|
|
642
|
+
[`docs/v0.2-plan.md`](./docs/v0.2-plan.md) for v0.2.
|
|
565
643
|
|
|
566
644
|
See [CHANGELOG.md](./CHANGELOG.md) for the per-release contract.
|
|
567
645
|
|
|
@@ -128,10 +128,12 @@ export declare const isReadOnlyForeverType: (type: string) => type is ReadOnlyFo
|
|
|
128
128
|
* `change_column_value` / `change_multiple_column_values`, so a
|
|
129
129
|
* `--set-raw` raw payload cannot reach the right wire surface for
|
|
130
130
|
* these types — `--set-raw` rejects them with `unsupported_column_
|
|
131
|
-
* type` carrying `deferred_to: "v0.
|
|
131
|
+
* type` carrying `deferred_to: "v0.6"`. v0.4-M31 shipped the verb-
|
|
132
132
|
* shaped path (`monday item upload`); the `--set-raw <file-col>=
|
|
133
133
|
* <json>` form remains deferred because it would need a separate
|
|
134
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.
|
|
135
137
|
*
|
|
136
138
|
* Currently one entry (`file`); the slot is plural because Monday may
|
|
137
139
|
* surface other multipart-upload-shaped types in future API versions
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/api/column-types.js
CHANGED
|
@@ -190,10 +190,12 @@ export const isReadOnlyForeverType = (type) => READ_ONLY_FOREVER_SET.has(type);
|
|
|
190
190
|
* `change_column_value` / `change_multiple_column_values`, so a
|
|
191
191
|
* `--set-raw` raw payload cannot reach the right wire surface for
|
|
192
192
|
* these types — `--set-raw` rejects them with `unsupported_column_
|
|
193
|
-
* type` carrying `deferred_to: "v0.
|
|
193
|
+
* type` carrying `deferred_to: "v0.6"`. v0.4-M31 shipped the verb-
|
|
194
194
|
* shaped path (`monday item upload`); the `--set-raw <file-col>=
|
|
195
195
|
* <json>` form remains deferred because it would need a separate
|
|
196
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.
|
|
197
199
|
*
|
|
198
200
|
* Currently one entry (`file`); the slot is plural because Monday may
|
|
199
201
|
* surface other multipart-upload-shaped types in future API versions
|
|
@@ -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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"}
|