@lark-project/meegle 1.0.16 → 1.0.18

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 CHANGED
@@ -8,6 +8,23 @@ versioned section on each npm release.
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [v1.0.18] - 2026-07-24
12
+
13
+ ### Added
14
+
15
+ - Added `meegle --version` as an alias of `meegle version`, with identical plain version output.
16
+
17
+ ### Fixed
18
+
19
+ - Required command parameters supplied through `--params` (for example `work_item_type` and `project_key` on `workitem create`) now pass CLI validation and are forwarded to the MCP tool. Both MCP `snake_case` and CLI `kebab-case` key forms are accepted. Previously Cobra rejected them before the CLI's parameter-merge pipeline ran, and the snake_case form was not matched to generated CLI flags.
20
+ - Programmatic command-string entry points now decode `\n` as real line breaks and preserve backslashes in unsupported escape sequences, preventing multiline comments from being stored with literal `nn`.
21
+
22
+ ## [v1.0.17] - 2026-07-20
23
+
24
+ ### Fixed
25
+
26
+ - Serialized store-backed OAuth refresh across CLI processes, rejected HTTP 200 error envelopes that omit `access_token`, retried requests with the newly persisted token, and guarded terminal-401 cleanup so a stale process can no longer overwrite or delete fresh credentials ([#40](https://github.com/larksuite/meegle-cli/issues/40)).
27
+
11
28
  ## [v1.0.16] - 2026-07-07
12
29
 
13
30
  ### Fixed
package/README.md CHANGED
@@ -274,6 +274,7 @@ Offline, no-network utility for parsing Meegle / Feishu Project URLs into struct
274
274
 
275
275
  | Command | Description |
276
276
  |---------|-------------|
277
+ | `version` | Print the CLI version (`meegle --version` is an alias) |
277
278
  | `inspect [command]` | Inspect command parameters |
278
279
  | `completion bash\|zsh\|fish` | Generate shell completion script |
279
280
  | `completion install` | Auto-install shell completion |
@@ -536,7 +537,9 @@ meegle mywork todo --set action=this_week --set page_num=1
536
537
  ### --params JSON
537
538
 
538
539
  `--params` takes a JSON object; **each top-level key is merged in as a CLI flag**.
539
- The key must be a valid flag of the current command — it is not a free-form payload.
540
+ Use either the MCP's `snake_case` parameter name or the CLI flag's `kebab-case`
541
+ name. The key must be a valid parameter of the current command — it is not a
542
+ free-form payload.
540
543
 
541
544
  ```bash
542
545
  # These two are equivalent:
@@ -549,6 +552,8 @@ Use `--params` when:
549
552
  - the value is a nested object or array (`fields[]`, `schedule{}`) — too awkward to inline as a flag
550
553
  - you want to set many parameters at once, or feed a payload from a file (see `@file.json` below)
551
554
 
555
+ Required top-level parameters can also be supplied through `--params`; they are equivalent to passing the corresponding flags directly.
556
+
552
557
  ```bash
553
558
  meegle workitem create --project-key PROJ --work-item-type story \
554
559
  --params '{"fields":[{"field_key":"name","field_value":"Title"}]}'
@@ -641,6 +646,7 @@ meegle workflow get-node --work-item-id 12345 --need-sub-task
641
646
  | `--profile` | | Use a specific configuration profile |
642
647
  | `--refresh` | | Refresh cached commands from server (bypass the local 24 h cache) |
643
648
  | `--auto-paginate` | | Automatically fetch and merge all pages when the response contains pagination signals (`next_page_token` or `pagination.has_more`); merged list arrays are concatenated, and a 200-page safety cap plus a 3-empty-page streak guard prevent runaway loops |
649
+ | `--version` | | Print the CLI version and exit (alias of `meegle version`) |
644
650
 
645
651
  ## Advanced Usage
646
652
 
@@ -731,6 +737,18 @@ meegle inspect
731
737
  meegle inspect workitem.create
732
738
  ```
733
739
 
740
+ ### Programmatic Command Strings
741
+
742
+ Applications that embed the Go command-string SDK can represent line breaks
743
+ with `\n`. For example, a value such as
744
+ `--content "Line 1\n\nLine 2"` reaches the command as two paragraphs. Use
745
+ `\\n` when the value must contain the literal characters `\n`; unsupported
746
+ escape sequences retain their backslash.
747
+
748
+ This decoding only applies to programmatic command-string entry points such as
749
+ `CommandClient.Execute` and `ExecuteCommandString`. The `meegle` binary receives
750
+ an argument array from the shell, so normal shell quoting rules apply there.
751
+
734
752
  ## Authentication
735
753
 
736
754
  ### Browser Login (Default)
@@ -776,6 +794,11 @@ JSON output example (`auth status --format json`) on a rejected token:
776
794
  {"authenticated": false, "host": "meegle.com", "reason": "token rejected by server"}
777
795
  ```
778
796
 
797
+ For credentials managed by `meegle auth login`, token refresh is serialized
798
+ across CLI processes that share a profile. Invalid refresh responses are
799
+ rejected without overwriting the previous credentials, and a late 401 from an
800
+ older process cannot clear a token that another process has already refreshed.
801
+
779
802
  ## Configuration
780
803
 
781
804
  ### Config File
package/README.zh-CN.md CHANGED
@@ -276,6 +276,7 @@ Agent 会参考 skill,自动选择合适的 `meegle` 命令执行。配合 `--
276
276
 
277
277
  | 命令 | 说明 |
278
278
  |------|------|
279
+ | `version` | 输出 CLI 版本号(`meegle --version` 是别名) |
279
280
  | `inspect [command]` | 查看命令参数详情 |
280
281
  | `completion bash\|zsh\|fish` | 生成 Shell 补全脚本 |
281
282
  | `completion install` | 自动安装 Shell 补全 |
@@ -527,7 +528,8 @@ meegle mywork todo --set action=this_week --set page_num=1
527
528
  ### --params JSON
528
529
 
529
530
  `--params` 接收一个 JSON 对象,**每个顶层 key 都会作为 CLI flag 合并进来**。
530
- 顶层 key 必须是当前命令的合法 flag —— 它不是一份自由结构的载荷。
531
+ 顶层 key 可使用 MCP 参数的 `snake_case` 名称或 CLI flag `kebab-case` 名称;
532
+ 它必须是当前命令的合法参数,而不是一份自由结构的载荷。
531
533
 
532
534
  ```bash
533
535
  # 下面两条等价:
@@ -540,6 +542,8 @@ meegle workitem get --params '{"work_item_id":12345,"project_key":"PROJ"}'
540
542
  - 值是嵌套对象或数组(`fields[]`、`schedule{}`),直接写 flag 太别扭
541
543
  - 想一次性批量传多个参数,或者从文件加载载荷(见下方 `@file.json`)
542
544
 
545
+ 必填的顶层参数也可以通过 `--params` 提供,效果等价于直接传入对应的 flag。
546
+
543
547
  ```bash
544
548
  meegle workitem create --project-key PROJ --work-item-type story \
545
549
  --params '{"fields":[{"field_key":"name","field_value":"标题"}]}'
@@ -626,6 +630,7 @@ meegle workflow get-node --work-item-id 12345 --need-sub-task
626
630
  | `--profile` | | 指定配置 profile |
627
631
  | `--refresh` | | 从服务端刷新本地命令缓存(旁路 24 小时缓存) |
628
632
  | `--auto-paginate` | | 当响应包含分页信号(`next_page_token` 或 `pagination.has_more`)时自动拉取并合并所有页;列表数组会拼接,200 页安全上限与连续 3 空页保护防止失控循环 |
633
+ | `--version` | | 输出 CLI 版本号并退出(`meegle version` 的别名) |
629
634
 
630
635
  ## 进阶用法
631
636
 
@@ -706,6 +711,16 @@ meegle inspect
706
711
  meegle inspect workitem.create
707
712
  ```
708
713
 
714
+ ### 程序化命令字符串
715
+
716
+ 通过 Go 命令字符串 SDK 嵌入调用时,可以用 `\n` 表示换行。例如
717
+ `--content "第一段\n\n第二段"` 会把两个段落传给命令。若需要传递字面量
718
+ 字符 `\n`,请写成 `\\n`;不支持的转义序列会保留反斜杠。
719
+
720
+ 该解码只作用于 `CommandClient.Execute`、`ExecuteCommandString` 等程序化
721
+ 命令字符串入口。`meegle` 二进制直接接收 shell 解析后的参数数组,因此仍遵循
722
+ 对应 shell 的引号和转义规则。
723
+
709
724
  ## 认证
710
725
 
711
726
  ### 浏览器登录(默认)
@@ -751,6 +766,10 @@ JSON 输出示例(`auth status --format json`),token 被拒:
751
766
  {"authenticated": false, "host": "meegle.com", "reason": "token rejected by server"}
752
767
  ```
753
768
 
769
+ 对于 `meegle auth login` 管理的凭据,共用同一 profile 的多个 CLI 进程会串行执行
770
+ token refresh。无效的刷新响应不会覆盖原凭据,旧进程晚到的 401 也不会清除其他进程
771
+ 刚刷新成功的新 token。
772
+
754
773
  ## 配置
755
774
 
756
775
  ### 配置文件
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-project/meegle",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "Agent-First CLI for Meegle (Lark Project)",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/larksuite/meegle-cli#readme",