@k-msg/cli 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +56 -4
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @k-msg/cli
2
2
 
3
+ ## 0.4.0 — 2026-02-16
4
+
5
+ ### Minor changes
6
+
7
+ - [09fb135](https://github.com/k-otp/k-msg/commit/09fb135888bb5d764f5dc37f8b3555b30db25d09) Formalize provider onboarding specs and add CLI doctor/preflight flow for AlimTalk readiness checks.
8
+
9
+ Introduce provider onboarding registry metadata, plusId policy enforcement for ALIMTALK send, and opt-in provider live integration workflow scaffolding.
10
+
11
+ Lock IWINV endpoint handling to built-in defaults (no base URL env/config overrides) and remove those fields from CLI/provider examples and docs. — Thanks @imjlk!
12
+
13
+ ### Patch changes
14
+
15
+ - Updated dependencies: k-msg@0.10.0
16
+
17
+ ## 0.3.4 — 2026-02-16
18
+
19
+ ### Patch changes
20
+
21
+ - [8b5de1c](https://github.com/k-otp/k-msg/commit/8b5de1ca4e015f2cf1944ea4d067d4c880a53591) Fix global `@k-msg/cli` startup failure when running outside a project that has `bunli.config.*`.
22
+
23
+ - `createKMsgCli()` now passes explicit CLI metadata (`name`, `version`, `description`) to Bunli.
24
+ - This allows `k-msg` to start correctly even when the current working directory does not contain a Bunli config file.
25
+ - Added an E2E test that runs CLI from a temporary directory without `bunli.config.*`. — Thanks @imjlk!
26
+
3
27
  ## 0.3.3 — 2026-02-16
4
28
 
5
29
  ### Patch changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # k-msg CLI (`apps/cli`)
2
2
 
3
- This CLI is built with Bunli and uses the unified `k-msg` package (KMsg + Providers).
3
+ This CLI is built with [Bunli](https://bunli.dev/) and uses the unified `k-msg` package (KMsg + Providers).
4
4
 
5
5
  ## Install (recommended)
6
6
 
@@ -103,13 +103,30 @@ If the env var is missing/empty, commands that need runtime providers will fail
103
103
  ## Commands
104
104
 
105
105
  - `k-msg config init|show|validate`
106
- - `k-msg providers list|health`
106
+ - `k-msg providers list|health|doctor`
107
107
  - `k-msg sms send`
108
- - `k-msg alimtalk send`
108
+ - `k-msg alimtalk preflight|send`
109
109
  - `k-msg send --input <json> | --file <path> | --stdin`
110
110
  - `k-msg kakao channel categories|list|auth|add`
111
111
  - `k-msg kakao template list|get|create|update|delete|request`
112
112
 
113
+ ## Recommended AlimTalk flow
114
+
115
+ 1. Run provider-level diagnostics.
116
+ 2. Run AlimTalk preflight for the selected provider/channel/template.
117
+ 3. Run send after preflight passes.
118
+
119
+ ```bash
120
+ k-msg providers doctor
121
+ k-msg alimtalk preflight --provider iwinv --template-code TPL_001 --channel main
122
+ k-msg alimtalk send --provider iwinv --template-code TPL_001 --to 01012345678 --vars '{"name":"Jane"}'
123
+ ```
124
+
125
+ Notes:
126
+
127
+ - For IWINV, Kakao channel onboarding is manual in vendor console. Keep the manual ack in config updated.
128
+ - For providers with `required_if_no_inference`, preflight fails when `plusId` is missing and inference cannot resolve it.
129
+
113
130
  ## Send
114
131
 
115
132
  ### SMS
@@ -127,7 +144,8 @@ k-msg alimtalk send \
127
144
  --to 01012345678 \
128
145
  --template-code TPL_001 \
129
146
  --vars '{"name":"Jane"}' \
130
- --channel main
147
+ --channel main \
148
+ --plus-id @my_channel
131
149
  ```
132
150
 
133
151
  Failover options:
@@ -145,6 +163,19 @@ k-msg alimtalk send \
145
163
 
146
164
  When providers return send warnings (for example failover partial/unsupported), CLI prints `WARNING ...` lines in text mode and includes them in `--json` output.
147
165
 
166
+ ### Preflight
167
+
168
+ ```bash
169
+ k-msg alimtalk preflight \
170
+ --provider iwinv \
171
+ --template-code TPL_001 \
172
+ --channel main \
173
+ --sender-key your_sender_key \
174
+ --plus-id @my_channel
175
+ ```
176
+
177
+ `preflight` runs onboarding checks (manual/config/capability/api probes) and template lookup before send.
178
+
148
179
  ### Advanced JSON send
149
180
 
150
181
  ```bash
@@ -192,3 +223,24 @@ k-msg kakao template request --template-code TPL_001 --channel main
192
223
  - `2`: input/config error
193
224
  - `3`: provider/network error
194
225
  - `4`: capability not supported
226
+
227
+ ## Manual Check Config Example
228
+
229
+ `k-msg.config.json` can store manual onboarding evidence used by `doctor/preflight`:
230
+
231
+ ```json
232
+ {
233
+ "onboarding": {
234
+ "manualChecks": {
235
+ "iwinv": {
236
+ "channel_registered_in_console": {
237
+ "done": true,
238
+ "checkedAt": "2026-02-16T09:00:00+09:00",
239
+ "note": "Approved in IWINV console",
240
+ "evidence": "internal-ticket-1234"
241
+ }
242
+ }
243
+ }
244
+ }
245
+ }
246
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k-msg/cli",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "private": false,
5
5
  "description": "k-msg CLI (prebuilt binaries via GitHub Releases)",
6
6
  "type": "module",