@todoist/outline-cli 0.0.0-stage → 3.0.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 +359 -0
- package/README.md +160 -2
- package/dist/commands/account.d.ts +2 -0
- package/dist/commands/account.js +107 -0
- package/dist/commands/account.js.map +1 -0
- package/dist/commands/auth.d.ts +2 -0
- package/dist/commands/auth.js +169 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/changelog.d.ts +2 -0
- package/dist/commands/changelog.js +15 -0
- package/dist/commands/changelog.js.map +1 -0
- package/dist/commands/collection.d.ts +2 -0
- package/dist/commands/collection.js +106 -0
- package/dist/commands/collection.js.map +1 -0
- package/dist/commands/document.d.ts +2 -0
- package/dist/commands/document.js +291 -0
- package/dist/commands/document.js.map +1 -0
- package/dist/commands/search.d.ts +2 -0
- package/dist/commands/search.js +49 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/skill.d.ts +2 -0
- package/dist/commands/skill.js +80 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/update/index.d.ts +2 -0
- package/dist/commands/update/index.js +14 -0
- package/dist/commands/update/index.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api.d.ts +18 -0
- package/dist/lib/api.js +107 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/auth-constants.d.ts +18 -0
- package/dist/lib/auth-constants.js +25 -0
- package/dist/lib/auth-constants.js.map +1 -0
- package/dist/lib/auth-output.d.ts +21 -0
- package/dist/lib/auth-output.js +38 -0
- package/dist/lib/auth-output.js.map +1 -0
- package/dist/lib/auth-pages.d.ts +2 -0
- package/dist/lib/auth-pages.js +101 -0
- package/dist/lib/auth-pages.js.map +1 -0
- package/dist/lib/auth-provider.d.ts +85 -0
- package/dist/lib/auth-provider.js +363 -0
- package/dist/lib/auth-provider.js.map +1 -0
- package/dist/lib/auth.d.ts +73 -0
- package/dist/lib/auth.js +188 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/config.d.ts +45 -0
- package/dist/lib/config.js +20 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/errors.d.ts +8 -0
- package/dist/lib/errors.js +9 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/global-args.d.ts +30 -0
- package/dist/lib/global-args.js +66 -0
- package/dist/lib/global-args.js.map +1 -0
- package/dist/lib/markdown.d.ts +2 -0
- package/dist/lib/markdown.js +12 -0
- package/dist/lib/markdown.js.map +1 -0
- package/dist/lib/migrate-auth.d.ts +11 -0
- package/dist/lib/migrate-auth.js +92 -0
- package/dist/lib/migrate-auth.js.map +1 -0
- package/dist/lib/outline-account.d.ts +32 -0
- package/dist/lib/outline-account.js +22 -0
- package/dist/lib/outline-account.js.map +1 -0
- package/dist/lib/output.d.ts +15 -0
- package/dist/lib/output.js +85 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/refs.d.ts +33 -0
- package/dist/lib/refs.js +182 -0
- package/dist/lib/refs.js.map +1 -0
- package/dist/lib/skills/content.d.ts +3 -0
- package/dist/lib/skills/content.js +160 -0
- package/dist/lib/skills/content.js.map +1 -0
- package/dist/lib/skills/create-installer.d.ts +9 -0
- package/dist/lib/skills/create-installer.js +77 -0
- package/dist/lib/skills/create-installer.js.map +1 -0
- package/dist/lib/skills/index.d.ts +5 -0
- package/dist/lib/skills/index.js +40 -0
- package/dist/lib/skills/index.js.map +1 -0
- package/dist/lib/skills/types.d.ts +10 -0
- package/dist/lib/skills/types.js +2 -0
- package/dist/lib/skills/types.js.map +1 -0
- package/dist/lib/skills/update-installed.d.ts +6 -0
- package/dist/lib/skills/update-installed.js +23 -0
- package/dist/lib/skills/update-installed.js.map +1 -0
- package/dist/lib/spinner.d.ts +2 -0
- package/dist/lib/spinner.js +5 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/user-records.d.ts +21 -0
- package/dist/lib/user-records.js +126 -0
- package/dist/lib/user-records.js.map +1 -0
- package/dist/lib/user-ref-store.d.ts +16 -0
- package/dist/lib/user-ref-store.js +37 -0
- package/dist/lib/user-ref-store.js.map +1 -0
- package/dist/postinstall.d.ts +1 -0
- package/dist/postinstall.js +16 -0
- package/dist/postinstall.js.map +1 -0
- package/dist/transport/fetch-with-retry.d.ts +15 -0
- package/dist/transport/fetch-with-retry.js +144 -0
- package/dist/transport/fetch-with-retry.js.map +1 -0
- package/dist/transport/http-dispatcher.d.ts +37 -0
- package/dist/transport/http-dispatcher.js +95 -0
- package/dist/transport/http-dispatcher.js.map +1 -0
- package/package.json +72 -5
- package/scripts/check-skill-sync.js +40 -0
- package/scripts/postinstall.js +12 -0
- package/scripts/sync-skill.js +30 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
## [3.0.0](https://github.com/todoist/outline-cli/compare/v2.5.4...v3.0.0) (2026-11-11)
|
|
2
|
+
|
|
3
|
+
### ⚠ BREAKING CHANGES
|
|
4
|
+
|
|
5
|
+
* publish as @todoist/outline-cli (#174)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* publish as @todoist/outline-cli ([#174](https://github.com/todoist/outline-cli/issues/174)) ([d1ddf8b](https://github.com/todoist/outline-cli/commit/d1ddf8b7d331bbbf4e9e13a3f20763de560ff512))
|
|
10
|
+
|
|
11
|
+
## [2.5.4](https://github.com/todoist/outline-cli/compare/v2.5.3...v2.5.4) (2026-11-11)
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **ci:** use the todoist GitHub org after the rename ([#173](https://github.com/todoist/outline-cli/issues/173)) ([b9938ef](https://github.com/todoist/outline-cli/commit/b9938efe45f9188a9c1bfaf45e27b87ca34bb9c9))
|
|
16
|
+
|
|
17
|
+
## [2.5.3](https://github.com/Doist/outline-cli/compare/v2.5.2...v2.5.3) (2026-11-11)
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **deps:** update dependency @doist/cli-core to v1.10.0 ([#172](https://github.com/Doist/outline-cli/issues/172)) ([6acaa6a](https://github.com/Doist/outline-cli/commit/6acaa6a6e15dcbb3e7506a15c772b17fb621b6d0))
|
|
22
|
+
|
|
23
|
+
## [2.5.2](https://github.com/Doist/outline-cli/compare/v2.5.1...v2.5.2) (2026-11-10)
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* **deps:** update dependency undici to v7.30.2 ([#171](https://github.com/Doist/outline-cli/issues/171)) ([c8d92d7](https://github.com/Doist/outline-cli/commit/c8d92d7e80b7469eeb42e271a3a16217cfce359d))
|
|
28
|
+
|
|
29
|
+
## [2.5.1](https://github.com/Doist/outline-cli/compare/v2.5.0...v2.5.1) (2026-11-09)
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* **deps:** update dependency marked to v18.1.3 ([#168](https://github.com/Doist/outline-cli/issues/168)) ([b1a1d23](https://github.com/Doist/outline-cli/commit/b1a1d237059d31f5ea6646d7e1598f43211d5683))
|
|
34
|
+
|
|
35
|
+
## [2.5.0](https://github.com/Doist/outline-cli/compare/v2.4.0...v2.5.0) (2026-11-07)
|
|
36
|
+
|
|
37
|
+
### Features
|
|
38
|
+
|
|
39
|
+
* read markdown from stdin with `--stdin` ([#166](https://github.com/Doist/outline-cli/issues/166)) ([c82d17e](https://github.com/Doist/outline-cli/commit/c82d17e2963ea9ebb49520c68f4de0052ea30712))
|
|
40
|
+
|
|
41
|
+
## [2.4.0](https://github.com/Doist/outline-cli/compare/v2.3.2...v2.4.0) (2026-11-07)
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
* add `doc restore` to restore documents from the trash ([#165](https://github.com/Doist/outline-cli/issues/165)) ([b1e86eb](https://github.com/Doist/outline-cli/commit/b1e86eb21ef299e6b2c524eddeadc55b0b092c02))
|
|
46
|
+
|
|
47
|
+
## [2.3.2](https://github.com/Doist/outline-cli/compare/v2.3.1...v2.3.2) (2026-11-02)
|
|
48
|
+
|
|
49
|
+
### Bug Fixes
|
|
50
|
+
|
|
51
|
+
* **deps:** update dependency marked to v18.1.2 ([#162](https://github.com/Doist/outline-cli/issues/162)) ([a73eae3](https://github.com/Doist/outline-cli/commit/a73eae3c05e039be19c2e0dbc803f45f7c9520c9))
|
|
52
|
+
|
|
53
|
+
## [2.3.1](https://github.com/Doist/outline-cli/compare/v2.3.0...v2.3.1) (2026-10-24)
|
|
54
|
+
|
|
55
|
+
### Bug Fixes
|
|
56
|
+
|
|
57
|
+
* **deps:** update dependency @doist/cli-core to v1.7.2 ([#159](https://github.com/Doist/outline-cli/issues/159)) ([3e54b58](https://github.com/Doist/outline-cli/commit/3e54b58c482972dff1f00d9dc408cdd9092773ff)), closes [Doist/cli-core#155](https://github.com/Doist/cli-core/issues/155) [Doist/todoist-cli#577](https://github.com/Doist/todoist-cli/issues/577)
|
|
58
|
+
|
|
59
|
+
## [2.3.0](https://github.com/Doist/outline-cli/compare/v2.2.0...v2.3.0) (2026-10-23)
|
|
60
|
+
|
|
61
|
+
### Features
|
|
62
|
+
|
|
63
|
+
* add `doc update --if-updated-at` to refuse overwriting newer changes ([#157](https://github.com/Doist/outline-cli/issues/157)) ([7fd2e15](https://github.com/Doist/outline-cli/commit/7fd2e15c89ac5af7a779d6517778867d863bc3a2))
|
|
64
|
+
|
|
65
|
+
## [2.2.0](https://github.com/Doist/outline-cli/compare/v2.1.12...v2.2.0) (2026-10-23)
|
|
66
|
+
|
|
67
|
+
### Features
|
|
68
|
+
|
|
69
|
+
* add `doc update --publish` to publish drafts ([#156](https://github.com/Doist/outline-cli/issues/156)) ([e155c92](https://github.com/Doist/outline-cli/commit/e155c92f7c02ace1e8693e546debd7a9077d39b5))
|
|
70
|
+
|
|
71
|
+
## [2.1.12](https://github.com/Doist/outline-cli/compare/v2.1.11...v2.1.12) (2026-10-23)
|
|
72
|
+
|
|
73
|
+
### Bug Fixes
|
|
74
|
+
|
|
75
|
+
* resolve document refs from browser URLs with anchors, queries or trailing paths ([#155](https://github.com/Doist/outline-cli/issues/155)) ([78b0087](https://github.com/Doist/outline-cli/commit/78b008750500ddf54adb6172fc151e0fdef2e647))
|
|
76
|
+
|
|
77
|
+
## [2.1.11](https://github.com/Doist/outline-cli/compare/v2.1.10...v2.1.11) (2026-10-21)
|
|
78
|
+
|
|
79
|
+
### Bug Fixes
|
|
80
|
+
|
|
81
|
+
* **deps:** update dependency undici to v7.30.1 ([#154](https://github.com/Doist/outline-cli/issues/154)) ([2dc878d](https://github.com/Doist/outline-cli/commit/2dc878dedea498c862819aede563c51372648887))
|
|
82
|
+
|
|
83
|
+
## [2.1.10](https://github.com/Doist/outline-cli/compare/v2.1.9...v2.1.10) (2026-10-20)
|
|
84
|
+
|
|
85
|
+
### Bug Fixes
|
|
86
|
+
|
|
87
|
+
* **deps:** update dependency marked to v18.1.1 ([#151](https://github.com/Doist/outline-cli/issues/151)) ([d4c9013](https://github.com/Doist/outline-cli/commit/d4c9013296e7bd7b6d7d9cbcd93b147590122b4b))
|
|
88
|
+
|
|
89
|
+
## [2.1.9](https://github.com/Doist/outline-cli/compare/v2.1.8...v2.1.9) (2026-10-14)
|
|
90
|
+
|
|
91
|
+
### Bug Fixes
|
|
92
|
+
|
|
93
|
+
* **search:** accept --offset, which the more-results hint suggests ([#148](https://github.com/Doist/outline-cli/issues/148)) ([0b3dc79](https://github.com/Doist/outline-cli/commit/0b3dc79222fe52c19f3329f8bedd2c747b32e104))
|
|
94
|
+
|
|
95
|
+
## [2.1.8](https://github.com/Doist/outline-cli/compare/v2.1.7...v2.1.8) (2026-10-12)
|
|
96
|
+
|
|
97
|
+
### Bug Fixes
|
|
98
|
+
|
|
99
|
+
* **deps:** update dependency marked to v18.1.0 ([#145](https://github.com/Doist/outline-cli/issues/145)) ([c5043ac](https://github.com/Doist/outline-cli/commit/c5043aca1bf05e541c71e9dd87c91e0c637280e9))
|
|
100
|
+
|
|
101
|
+
## [2.1.7](https://github.com/Doist/outline-cli/compare/v2.1.6...v2.1.7) (2026-10-02)
|
|
102
|
+
|
|
103
|
+
### Bug Fixes
|
|
104
|
+
|
|
105
|
+
* **deps:** update dependency chalk to v6.0.1 ([#137](https://github.com/Doist/outline-cli/issues/137)) ([66cdac7](https://github.com/Doist/outline-cli/commit/66cdac7a29ec08217ab8c80165b2764bc1289bd2))
|
|
106
|
+
|
|
107
|
+
## [2.1.6](https://github.com/Doist/outline-cli/compare/v2.1.5...v2.1.6) (2026-10-01)
|
|
108
|
+
|
|
109
|
+
### Bug Fixes
|
|
110
|
+
|
|
111
|
+
* **deps:** update dependency undici to v7.30.0 ([#136](https://github.com/Doist/outline-cli/issues/136)) ([23acd1d](https://github.com/Doist/outline-cli/commit/23acd1d94f6ba5a792550b10b2ef8f6cb87a3f43))
|
|
112
|
+
|
|
113
|
+
## [2.1.5](https://github.com/Doist/outline-cli/compare/v2.1.4...v2.1.5) (2026-09-30)
|
|
114
|
+
|
|
115
|
+
### Bug Fixes
|
|
116
|
+
|
|
117
|
+
* **deps:** update dependency @doist/cli-core to v1.7.0 ([#134](https://github.com/Doist/outline-cli/issues/134)) ([0bad4c9](https://github.com/Doist/outline-cli/commit/0bad4c9bda026ea68f3d0d6913bd7d6c0cea3f34))
|
|
118
|
+
|
|
119
|
+
## [2.1.4](https://github.com/Doist/outline-cli/compare/v2.1.3...v2.1.4) (2026-09-29)
|
|
120
|
+
|
|
121
|
+
### Bug Fixes
|
|
122
|
+
|
|
123
|
+
* **deps:** update dependency marked to v18.0.14 ([#132](https://github.com/Doist/outline-cli/issues/132)) ([bac5f8e](https://github.com/Doist/outline-cli/commit/bac5f8e24b39dda6283722bce7a1442f7c96a5cd))
|
|
124
|
+
|
|
125
|
+
## [2.1.3](https://github.com/Doist/outline-cli/compare/v2.1.2...v2.1.3) (2026-09-22)
|
|
126
|
+
|
|
127
|
+
### Bug Fixes
|
|
128
|
+
|
|
129
|
+
* **deps:** update dependency open to v11.0.4 ([#129](https://github.com/Doist/outline-cli/issues/129)) ([0c97777](https://github.com/Doist/outline-cli/commit/0c977770ccc58c3f2814efc994427d2ef7ede9c5))
|
|
130
|
+
|
|
131
|
+
## [2.1.2](https://github.com/Doist/outline-cli/compare/v2.1.1...v2.1.2) (2026-09-18)
|
|
132
|
+
|
|
133
|
+
### Bug Fixes
|
|
134
|
+
|
|
135
|
+
* **deps:** update dependency marked to v18.0.13 ([#125](https://github.com/Doist/outline-cli/issues/125)) ([6e092d9](https://github.com/Doist/outline-cli/commit/6e092d9fac39778deca4def3614669b2c97cf36f))
|
|
136
|
+
|
|
137
|
+
## [2.1.1](https://github.com/Doist/outline-cli/compare/v2.1.0...v2.1.1) (2026-09-17)
|
|
138
|
+
|
|
139
|
+
### Bug Fixes
|
|
140
|
+
|
|
141
|
+
* **deps:** update dependency open to v11.0.3 ([#124](https://github.com/Doist/outline-cli/issues/124)) ([53b8d97](https://github.com/Doist/outline-cli/commit/53b8d97bf8f70dded0c1d7f44242c168ced1c10f))
|
|
142
|
+
|
|
143
|
+
## [2.1.0](https://github.com/Doist/outline-cli/compare/v2.0.9...v2.1.0) (2026-09-16)
|
|
144
|
+
|
|
145
|
+
### Features
|
|
146
|
+
|
|
147
|
+
* **auth:** refresh an expiring OAuth token before `token view` / `status` ([#123](https://github.com/Doist/outline-cli/issues/123)) ([2584eaf](https://github.com/Doist/outline-cli/commit/2584eaf33f0368285ee47e4d3d94adcd6696d66f))
|
|
148
|
+
|
|
149
|
+
## [2.0.9](https://github.com/Doist/outline-cli/compare/v2.0.8...v2.0.9) (2026-09-15)
|
|
150
|
+
|
|
151
|
+
### Bug Fixes
|
|
152
|
+
|
|
153
|
+
* **deps:** update dependency @doist/cli-core to v1.5.0 ([#121](https://github.com/Doist/outline-cli/issues/121)) ([ebf2ac8](https://github.com/Doist/outline-cli/commit/ebf2ac82c1b64b3f5da3554b4bb62d26e3e79e3f))
|
|
154
|
+
|
|
155
|
+
## [2.0.8](https://github.com/Doist/outline-cli/compare/v2.0.7...v2.0.8) (2026-09-14)
|
|
156
|
+
|
|
157
|
+
### Bug Fixes
|
|
158
|
+
|
|
159
|
+
* **deps:** update dependency marked to v18.0.12 ([#119](https://github.com/Doist/outline-cli/issues/119)) ([fa615c5](https://github.com/Doist/outline-cli/commit/fa615c5bf4cfcb99a3f320e79e9880ee4330ed08))
|
|
160
|
+
|
|
161
|
+
## [2.0.7](https://github.com/Doist/outline-cli/compare/v2.0.6...v2.0.7) (2026-09-11)
|
|
162
|
+
|
|
163
|
+
### Bug Fixes
|
|
164
|
+
|
|
165
|
+
* **deps:** update dependency oauth4webapi to v3.8.8 ([#118](https://github.com/Doist/outline-cli/issues/118)) ([bdbdb0b](https://github.com/Doist/outline-cli/commit/bdbdb0baf954b2ee2157a8e655c617a9d010f086))
|
|
166
|
+
|
|
167
|
+
## [2.0.6](https://github.com/Doist/outline-cli/compare/v2.0.5...v2.0.6) (2026-09-10)
|
|
168
|
+
|
|
169
|
+
### Bug Fixes
|
|
170
|
+
|
|
171
|
+
* **deps:** update dependency undici to v7.29.1 ([#117](https://github.com/Doist/outline-cli/issues/117)) ([f961e02](https://github.com/Doist/outline-cli/commit/f961e0217ab3bc371f5a9589581f9eab23c01a68))
|
|
172
|
+
|
|
173
|
+
## [2.0.5](https://github.com/Doist/outline-cli/compare/v2.0.4...v2.0.5) (2026-09-04)
|
|
174
|
+
|
|
175
|
+
### Bug Fixes
|
|
176
|
+
|
|
177
|
+
* **deps:** update dependency open to v11.0.2 ([#114](https://github.com/Doist/outline-cli/issues/114)) ([7af2e84](https://github.com/Doist/outline-cli/commit/7af2e842aee6dc3f91b2d537737045687fbe912a))
|
|
178
|
+
|
|
179
|
+
## [2.0.4](https://github.com/Doist/outline-cli/compare/v2.0.3...v2.0.4) (2026-08-29)
|
|
180
|
+
|
|
181
|
+
### Bug Fixes
|
|
182
|
+
|
|
183
|
+
* **deps:** update dependency marked to v18.0.11 ([#111](https://github.com/Doist/outline-cli/issues/111)) ([535077a](https://github.com/Doist/outline-cli/commit/535077affb092a85c38bb807283cfe19b7d3db6b))
|
|
184
|
+
|
|
185
|
+
## [2.0.3](https://github.com/Doist/outline-cli/compare/v2.0.2...v2.0.3) (2026-08-28)
|
|
186
|
+
|
|
187
|
+
### Bug Fixes
|
|
188
|
+
|
|
189
|
+
* **deps:** update dependency chalk to v6 ([#107](https://github.com/Doist/outline-cli/issues/107)) ([0cff6e4](https://github.com/Doist/outline-cli/commit/0cff6e4b7e7718047fe7178172a6fd6218c67927))
|
|
190
|
+
|
|
191
|
+
## [2.0.2](https://github.com/Doist/outline-cli/compare/v2.0.1...v2.0.2) (2026-08-28)
|
|
192
|
+
|
|
193
|
+
### Bug Fixes
|
|
194
|
+
|
|
195
|
+
* **deps:** update dependency commander to v15 ([#108](https://github.com/Doist/outline-cli/issues/108)) ([3f82933](https://github.com/Doist/outline-cli/commit/3f82933964955c588caf54515d4a1f75d99ffa2e))
|
|
196
|
+
* **deps:** update dependency open to v11 ([#109](https://github.com/Doist/outline-cli/issues/109)) ([23d2525](https://github.com/Doist/outline-cli/commit/23d2525f3c91f547369b2d07cc79a5240ac07274))
|
|
197
|
+
|
|
198
|
+
## [2.0.1](https://github.com/Doist/outline-cli/compare/v2.0.0...v2.0.1) (2026-08-28)
|
|
199
|
+
|
|
200
|
+
### Bug Fixes
|
|
201
|
+
|
|
202
|
+
* **deps:** pin dependency undici to 7.29.0 ([#94](https://github.com/Doist/outline-cli/issues/94)) ([1049dec](https://github.com/Doist/outline-cli/commit/1049dec715dd77ecb6621cebe068b3a06a5d2d89))
|
|
203
|
+
* **deps:** update dependency marked to v18.0.10 ([#100](https://github.com/Doist/outline-cli/issues/100)) ([b57defd](https://github.com/Doist/outline-cli/commit/b57defd917f1e63a765baf13b04832cfe87899fd))
|
|
204
|
+
* **deps:** update dependency oauth4webapi to v3.8.7 ([#101](https://github.com/Doist/outline-cli/issues/101)) ([5e456b7](https://github.com/Doist/outline-cli/commit/5e456b7cd2a0966c72b28e533b6ab564d38ca6b6))
|
|
205
|
+
|
|
206
|
+
## [2.0.0](https://github.com/Doist/outline-cli/compare/v1.10.5...v2.0.0) (2026-08-27)
|
|
207
|
+
|
|
208
|
+
### ⚠ BREAKING CHANGES
|
|
209
|
+
|
|
210
|
+
* update @doist/cli-core to 1.4.0 and require Node 24 (#93)
|
|
211
|
+
|
|
212
|
+
### Features
|
|
213
|
+
|
|
214
|
+
* update @doist/cli-core to 1.4.0 and require Node 24 ([#93](https://github.com/Doist/outline-cli/issues/93)) ([e695029](https://github.com/Doist/outline-cli/commit/e6950291d895133887505c67c984601825320407))
|
|
215
|
+
|
|
216
|
+
## [1.10.5](https://github.com/Doist/outline-cli/compare/v1.10.4...v1.10.5) (2026-08-27)
|
|
217
|
+
|
|
218
|
+
### Bug Fixes
|
|
219
|
+
|
|
220
|
+
* pair the undici dispatcher with its own fetch and bump to 7.29.0 ([#92](https://github.com/Doist/outline-cli/issues/92)) ([173d857](https://github.com/Doist/outline-cli/commit/173d857df858615b81e7d903630fdd379eb93db6))
|
|
221
|
+
|
|
222
|
+
## [1.10.4](https://github.com/Doist/outline-cli/compare/v1.10.3...v1.10.4) (2026-07-29)
|
|
223
|
+
|
|
224
|
+
### Bug Fixes
|
|
225
|
+
|
|
226
|
+
* set Comms audience to thread ([#90](https://github.com/Doist/outline-cli/issues/90)) ([c54be07](https://github.com/Doist/outline-cli/commit/c54be07e95c7c63f29a84d0e51b16673a0e5f519))
|
|
227
|
+
|
|
228
|
+
## [1.10.3](https://github.com/Doist/outline-cli/compare/v1.10.2...v1.10.3) (2026-07-01)
|
|
229
|
+
|
|
230
|
+
### Bug Fixes
|
|
231
|
+
|
|
232
|
+
* **docs:** Update readme with correct token command ([#88](https://github.com/Doist/outline-cli/issues/88)) ([8bfe8a0](https://github.com/Doist/outline-cli/commit/8bfe8a0d4f5a7b8e1be8a5bef1de3c6661cfd205))
|
|
233
|
+
|
|
234
|
+
## [1.10.2](https://github.com/Doist/outline-cli/compare/v1.10.1...v1.10.2) (2026-06-09)
|
|
235
|
+
|
|
236
|
+
### Bug Fixes
|
|
237
|
+
|
|
238
|
+
* build a working dispatcher on runtimes without undici's decompress interceptor (e.g. Bun) ([#84](https://github.com/Doist/outline-cli/issues/84)) ([c2c69d2](https://github.com/Doist/outline-cli/commit/c2c69d2f1c9eddb08f3f2b0d8236d93770219203))
|
|
239
|
+
|
|
240
|
+
## [1.10.1](https://github.com/Doist/outline-cli/compare/v1.10.0...v1.10.1) (2026-06-08)
|
|
241
|
+
|
|
242
|
+
### Bug Fixes
|
|
243
|
+
|
|
244
|
+
* pin undici to 7.24.8 and block renovate updates ([#82](https://github.com/Doist/outline-cli/issues/82)) ([1f7cdc9](https://github.com/Doist/outline-cli/commit/1f7cdc9d575d1f99968b088abbeafd9182e52c84))
|
|
245
|
+
|
|
246
|
+
## [1.10.0](https://github.com/Doist/outline-cli/compare/v1.9.0...v1.10.0) (2026-05-24)
|
|
247
|
+
|
|
248
|
+
### Features
|
|
249
|
+
|
|
250
|
+
* **auth:** add `token` command group (save + view) ([#80](https://github.com/Doist/outline-cli/issues/80)) ([99789cc](https://github.com/Doist/outline-cli/commit/99789cc48b9afa9fc53959427f9121f8d3c12cd9))
|
|
251
|
+
|
|
252
|
+
## [1.9.0](https://github.com/Doist/outline-cli/compare/v1.8.0...v1.9.0) (2026-05-24)
|
|
253
|
+
|
|
254
|
+
### Features
|
|
255
|
+
|
|
256
|
+
* **account:** account command group (cli-core attachers) ([#79](https://github.com/Doist/outline-cli/issues/79)) ([01bd6a6](https://github.com/Doist/outline-cli/commit/01bd6a60af135bbfda894b56d5a6d2b2229b70a8)), closes [#77](https://github.com/Doist/outline-cli/issues/77)
|
|
257
|
+
|
|
258
|
+
## [1.8.0](https://github.com/Doist/outline-cli/compare/v1.7.0...v1.8.0) (2026-05-21)
|
|
259
|
+
|
|
260
|
+
### Features
|
|
261
|
+
|
|
262
|
+
* **auth:** silent OAuth token refresh ([#75](https://github.com/Doist/outline-cli/issues/75)) ([83996d5](https://github.com/Doist/outline-cli/commit/83996d56810e28e608d91a981fd3b313dcdeb4d3))
|
|
263
|
+
|
|
264
|
+
## [1.7.0](https://github.com/Doist/outline-cli/compare/v1.6.0...v1.7.0) (2026-05-17)
|
|
265
|
+
|
|
266
|
+
### Features
|
|
267
|
+
|
|
268
|
+
* **auth:** store API tokens in the OS keyring via @doist/cli-core ([#73](https://github.com/Doist/outline-cli/issues/73)) ([b353aea](https://github.com/Doist/outline-cli/commit/b353aeae3cdcc63308ec8de899f08c1dda23f22c))
|
|
269
|
+
|
|
270
|
+
## [1.6.0](https://github.com/Doist/outline-cli/compare/v1.5.3...v1.6.0) (2026-05-15)
|
|
271
|
+
|
|
272
|
+
### Features
|
|
273
|
+
|
|
274
|
+
* **auth:** adopt cli-core 0.12.0 multi-user TokenStore shape ([#71](https://github.com/Doist/outline-cli/issues/71)) ([53487b7](https://github.com/Doist/outline-cli/commit/53487b707b9a980c401ef19b3e37c08299aa6abe))
|
|
275
|
+
|
|
276
|
+
## [1.5.3](https://github.com/Doist/outline-cli/compare/v1.5.2...v1.5.3) (2026-05-11)
|
|
277
|
+
|
|
278
|
+
### Bug Fixes
|
|
279
|
+
|
|
280
|
+
* `ol --version` shows the wrong version ([#60](https://github.com/Doist/outline-cli/issues/60)) ([3ed8b10](https://github.com/Doist/outline-cli/commit/3ed8b10d19d727c131b87b2dc6939b5ab0b04a09))
|
|
281
|
+
|
|
282
|
+
## [1.5.2](https://github.com/Doist/outline-cli/compare/v1.5.1...v1.5.2) (2026-05-09)
|
|
283
|
+
|
|
284
|
+
### Bug Fixes
|
|
285
|
+
|
|
286
|
+
* decompress gzipped responses on Node 24+ (undici 7) ([#63](https://github.com/Doist/outline-cli/issues/63)) ([c44fbea](https://github.com/Doist/outline-cli/commit/c44fbeaafa13489505e70d1f829454982f24e07d))
|
|
287
|
+
|
|
288
|
+
## [1.5.1](https://github.com/Doist/outline-cli/compare/v1.5.0...v1.5.1) (2026-04-02)
|
|
289
|
+
|
|
290
|
+
### Bug Fixes
|
|
291
|
+
|
|
292
|
+
* secure config permissions and address update channel review feedback ([#53](https://github.com/Doist/outline-cli/issues/53)) ([63e64f8](https://github.com/Doist/outline-cli/commit/63e64f8b3e54251b74c11f8cbf100339422d43dc))
|
|
293
|
+
|
|
294
|
+
## [1.5.0](https://github.com/Doist/outline-cli/compare/v1.4.0...v1.5.0) (2026-04-02)
|
|
295
|
+
|
|
296
|
+
### Features
|
|
297
|
+
|
|
298
|
+
* allow switching between stable and pre-release update channels ([#52](https://github.com/Doist/outline-cli/issues/52)) ([6834688](https://github.com/Doist/outline-cli/commit/683468819423e93b3f1ca8b38af9ce6788a2e675))
|
|
299
|
+
|
|
300
|
+
## [1.4.0](https://github.com/Doist/outline-cli/compare/v1.3.0...v1.4.0) (2026-04-02)
|
|
301
|
+
|
|
302
|
+
### Features
|
|
303
|
+
|
|
304
|
+
* add `ol changelog` command ([#50](https://github.com/Doist/outline-cli/issues/50)) ([60656e5](https://github.com/Doist/outline-cli/commit/60656e5d816af6080f5084e3f44d0d9763e6c354))
|
|
305
|
+
|
|
306
|
+
## [1.3.0](https://github.com/Doist/outline-cli/compare/v1.2.1...v1.3.0) (2026-04-02)
|
|
307
|
+
|
|
308
|
+
### Features
|
|
309
|
+
|
|
310
|
+
* add `ol update` command ([#49](https://github.com/Doist/outline-cli/issues/49)) ([fa5608e](https://github.com/Doist/outline-cli/commit/fa5608ea50392a71150f7d1140204f0160680d8a))
|
|
311
|
+
|
|
312
|
+
## [1.2.1](https://github.com/Doist/outline-cli/compare/v1.2.0...v1.2.1) (2026-03-31)
|
|
313
|
+
|
|
314
|
+
### Bug Fixes
|
|
315
|
+
|
|
316
|
+
* Capture previous tag before release ([#45](https://github.com/Doist/outline-cli/issues/45)) ([6a00294](https://github.com/Doist/outline-cli/commit/6a002949587a17313f96bc2fb1a93fba7e605e9b))
|
|
317
|
+
|
|
318
|
+
## [1.2.0](https://github.com/Doist/outline-cli/compare/v1.1.0...v1.2.0) (2026-03-30)
|
|
319
|
+
|
|
320
|
+
### Features
|
|
321
|
+
|
|
322
|
+
* Announce releases on Twist ([#44](https://github.com/Doist/outline-cli/issues/44)) ([5e2f86b](https://github.com/Doist/outline-cli/commit/5e2f86b9bf20ca97b50df74f0552028b6f6b94b2))
|
|
323
|
+
|
|
324
|
+
# [1.1.0](https://github.com/Doist/outline-cli/compare/v1.0.2...v1.1.0) (2026-03-27)
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
### Features
|
|
328
|
+
|
|
329
|
+
* add --parent option to doc create and doc move ([#41](https://github.com/Doist/outline-cli/issues/41)) ([2514b06](https://github.com/Doist/outline-cli/commit/2514b06e097938b1c0833ea2147509fa0916be28))
|
|
330
|
+
|
|
331
|
+
## [1.0.2](https://github.com/Doist/outline-cli/compare/v1.0.1...v1.0.2) (2026-03-26)
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
### Bug Fixes
|
|
335
|
+
|
|
336
|
+
* honor proxy env vars by default ([#33](https://github.com/Doist/outline-cli/issues/33)) ([5bb8e77](https://github.com/Doist/outline-cli/commit/5bb8e77fa8cabe17d2cba478a01c1c64957d7f6b))
|
|
337
|
+
|
|
338
|
+
## [1.0.1](https://github.com/Doist/outline-cli/compare/v1.0.0...v1.0.1) (2026-03-25)
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
### Bug Fixes
|
|
342
|
+
|
|
343
|
+
* correct skill name and quote YAML description ([#38](https://github.com/Doist/outline-cli/issues/38)) ([e0e4fa4](https://github.com/Doist/outline-cli/commit/e0e4fa435dcfc89b1e29e4b8d02d6ba911dfdb7f))
|
|
344
|
+
|
|
345
|
+
# 1.0.0 (2026-03-25)
|
|
346
|
+
|
|
347
|
+
### Bug Fixes
|
|
348
|
+
|
|
349
|
+
- broaden CI detection to handle all truthy values ([7dc2806](https://github.com/Doist/outline-cli/commit/7dc2806a344d8be841fb9fae80dce59dc6667fac))
|
|
350
|
+
- exclude dist from biome checks ([0dc49a3](https://github.com/Doist/outline-cli/commit/0dc49a38515ae75005f253413b171c6c6b48e99a))
|
|
351
|
+
|
|
352
|
+
### Features
|
|
353
|
+
|
|
354
|
+
- add API Spinner Proxy ([#17](https://github.com/Doist/outline-cli/issues/17)) ([a3bc75a](https://github.com/Doist/outline-cli/commit/a3bc75afaf81b684703b0e821d5fec0cf05a29cb))
|
|
355
|
+
- add fuzzy reference resolution ([#19](https://github.com/Doist/outline-cli/issues/19)) ([6c1c6f9](https://github.com/Doist/outline-cli/commit/6c1c6f97762809ddf3e4d912892c3582cf9f8b36))
|
|
356
|
+
- add npm publishing, new agent skills, and skill auto-update ([#36](https://github.com/Doist/outline-cli/issues/36)) ([bcb2e75](https://github.com/Doist/outline-cli/commit/bcb2e7593447ca35069316636cbfda02bb86fb91)), closes [Doist/todoist-cli#176](https://github.com/Doist/todoist-cli/issues/176) [Doist/bob-cli#17](https://github.com/Doist/bob-cli/issues/17) [Doist/twist-cli#101](https://github.com/Doist/twist-cli/issues/101)
|
|
357
|
+
- add structured error formatting with codes and hints ([#18](https://github.com/Doist/outline-cli/issues/18)) ([17658d2](https://github.com/Doist/outline-cli/commit/17658d2a66d30939146b1fb5625782df122ff315))
|
|
358
|
+
- implement OAuth PKCE browser login ([#20](https://github.com/Doist/outline-cli/issues/20)) ([b7f6eec](https://github.com/Doist/outline-cli/commit/b7f6eec84250b6d8ceea5e5f1b282bdb550b8092)), closes [#7](https://github.com/Doist/outline-cli/issues/7) [outline/outline#11254](https://github.com/outline/outline/issues/11254)
|
|
359
|
+
- improve oauth login inputs and callback UX ([#31](https://github.com/Doist/outline-cli/issues/31)) ([3011b28](https://github.com/Doist/outline-cli/commit/3011b28a2f3a0b04460ad8def9ed39426b7a1df3))
|
package/README.md
CHANGED
|
@@ -1,3 +1,161 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Outline CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
CLI for the [Outline](https://www.getoutline.com) wiki/knowledge base API.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Requires Node 24+.
|
|
8
|
+
|
|
9
|
+
> ```bash
|
|
10
|
+
> npm install -g @todoist/outline-cli
|
|
11
|
+
> ```
|
|
12
|
+
|
|
13
|
+
Previously published as `@doist/outline-cli`. Both packages install the `ol` binary, so uninstall the old one first: `npm uninstall -g @doist/outline-cli`.
|
|
14
|
+
|
|
15
|
+
### Agent Skills
|
|
16
|
+
|
|
17
|
+
Install skills for your coding agent:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ol skill install claude-code
|
|
21
|
+
ol skill install codex
|
|
22
|
+
ol skill install cursor
|
|
23
|
+
ol skill install gemini
|
|
24
|
+
ol skill install pi
|
|
25
|
+
ol skill install universal
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Skills are installed to `~/<agent-dir>/skills/outline-cli/SKILL.md` (e.g. `~/.claude/` for claude-code, `~/.agents/` for universal, etc.). When updating the CLI, installed skills are updated automatically. The `universal` agent is compatible with Amp, OpenCode, and other agents that read from `~/.agents/`.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
ol skill list
|
|
32
|
+
ol skill uninstall <agent>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Uninstallation
|
|
36
|
+
|
|
37
|
+
First, remove any installed agent skills:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
ol skill uninstall <agent>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Then uninstall the CLI:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm uninstall -g @todoist/outline-cli
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Local Setup
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
git clone https://github.com/todoist/outline-cli.git
|
|
53
|
+
cd outline-cli
|
|
54
|
+
npm install
|
|
55
|
+
npm run build
|
|
56
|
+
npm link
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Setup
|
|
60
|
+
|
|
61
|
+
### OAuth login (recommended)
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
ol auth login
|
|
65
|
+
ol auth login --base-url <your-outline-url>
|
|
66
|
+
ol auth login --client-id <your-client-id>
|
|
67
|
+
ol auth login --callback-port 54969
|
|
68
|
+
ol auth status
|
|
69
|
+
ol auth logout
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Setup:**
|
|
73
|
+
|
|
74
|
+
1. Create a public OAuth app in Outline (Settings → Applications)
|
|
75
|
+
2. Set the redirect URI to `http://localhost:54969/callback`
|
|
76
|
+
3. Run `ol auth login` and enter your OAuth client ID when prompted
|
|
77
|
+
(or pass it directly with `--client-id <your-client-id>`)
|
|
78
|
+
4. If needed, pass `--base-url <your-outline-url>` or set `OUTLINE_URL`
|
|
79
|
+
(for self-hosted instances or non-default URLs)
|
|
80
|
+
5. If needed, pass `--callback-port <port>` or set `OUTLINE_OAUTH_CALLBACK_PORT`
|
|
81
|
+
and register `http://localhost:<port>/callback` in your OAuth app
|
|
82
|
+
|
|
83
|
+
The client ID is saved for future logins. You can also set `OUTLINE_OAUTH_CLIENT_ID`
|
|
84
|
+
for your local environment.
|
|
85
|
+
|
|
86
|
+
### Manual token login
|
|
87
|
+
|
|
88
|
+
If you prefer using an API token directly:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
ol auth token <your-api-token> # save a token (verifies it against your instance)
|
|
92
|
+
ol auth token # prompt for the token interactively
|
|
93
|
+
ol auth token view # print the stored token to stdout (refreshes an expiring OAuth token first)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Generate a token in Outline under Settings → API Tokens. Pass
|
|
97
|
+
`--base-url <your-outline-url>` if the token belongs to a self-hosted instance.
|
|
98
|
+
|
|
99
|
+
You can also skip storing a token entirely by setting `OUTLINE_API_TOKEN` in
|
|
100
|
+
your environment.
|
|
101
|
+
|
|
102
|
+
### Configuration
|
|
103
|
+
|
|
104
|
+
Token resolution: `OUTLINE_API_TOKEN` env var → `~/.config/outline-cli/config.json`.
|
|
105
|
+
|
|
106
|
+
Base URL resolution: `OUTLINE_URL` env var → config file → `https://app.getoutline.com`.
|
|
107
|
+
|
|
108
|
+
Callback port resolution for OAuth login:
|
|
109
|
+
`--callback-port` → `OUTLINE_OAUTH_CALLBACK_PORT` → `54969`.
|
|
110
|
+
|
|
111
|
+
Self-hosted instances: pass `--base-url` or set `OUTLINE_URL` (you can still provide it interactively).
|
|
112
|
+
|
|
113
|
+
## Commands
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Search
|
|
117
|
+
ol search "query" --limit 10 --offset 10 --collection <id> --status published
|
|
118
|
+
|
|
119
|
+
# Documents (alias: ol doc)
|
|
120
|
+
ol document list --collection <id> --sort updatedAt --direction DESC
|
|
121
|
+
ol document get <urlId> # renders markdown for terminal
|
|
122
|
+
ol document get <urlId> --raw # outputs raw markdown
|
|
123
|
+
ol document open <urlId> # opens in browser
|
|
124
|
+
ol document create --title "Title" --collection <id> --file doc.md --publish
|
|
125
|
+
ol document update <urlId> --file updated.md
|
|
126
|
+
cat notes.md | ol document update <urlId> --stdin # reads markdown from stdin
|
|
127
|
+
ol document update <urlId> --publish # publishes a draft
|
|
128
|
+
ol document update <urlId> --publish --collection <id> # publishes a draft that has no collection
|
|
129
|
+
ol document update <urlId> --file updated.md --if-updated-at <updatedAt> # fails if saved since then
|
|
130
|
+
ol document delete <urlId> --confirm
|
|
131
|
+
ol document restore <urlId> # restores from trash
|
|
132
|
+
ol document move <urlId> --collection <target-id>
|
|
133
|
+
ol document archive <urlId>
|
|
134
|
+
ol document unarchive <urlId>
|
|
135
|
+
|
|
136
|
+
# Collections (alias: ol col)
|
|
137
|
+
ol collection list
|
|
138
|
+
ol collection get <id>
|
|
139
|
+
ol collection create --name "Engineering" --color "#4CAF50"
|
|
140
|
+
ol collection update <id> --name "New Name"
|
|
141
|
+
ol collection delete <id> --confirm
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Output modes
|
|
145
|
+
|
|
146
|
+
All commands support:
|
|
147
|
+
|
|
148
|
+
- Default: colored human-readable output
|
|
149
|
+
- `--json`: pretty-printed JSON (essential fields)
|
|
150
|
+
- `--json --full`: all fields
|
|
151
|
+
- `--ndjson`: one JSON object per line (for piping)
|
|
152
|
+
|
|
153
|
+
## Development
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
npm install
|
|
157
|
+
npm run dev # watch mode
|
|
158
|
+
npm run type-check # typecheck without emitting
|
|
159
|
+
npm run test # run tests
|
|
160
|
+
npm run build # compile to dist/
|
|
161
|
+
```
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { emitView } from '@todoist/cli-core';
|
|
2
|
+
import { attachAccountListCommand, attachAccountRemoveCommand, attachAccountUseCommand, } from '@todoist/cli-core/auth';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { TOKEN_ENV_VAR } from '../lib/auth-constants.js';
|
|
5
|
+
import { logClearResult } from '../lib/auth-output.js';
|
|
6
|
+
import { createOutlineTokenStore, resolveActiveAccountSource, } from '../lib/auth-provider.js';
|
|
7
|
+
import { CliError } from '../lib/errors.js';
|
|
8
|
+
import { getRequestedUserRef, isAccessible } from '../lib/global-args.js';
|
|
9
|
+
/** `<label> (id:<id>)` with an accessibility-aware default marker. */
|
|
10
|
+
function accountLine(account, isDefault) {
|
|
11
|
+
const marker = isDefault ? (isAccessible() ? ' [default]' : chalk.green(' (default)')) : '';
|
|
12
|
+
return `${account.label} ${chalk.dim(`(id:${account.id})`)}${marker}`;
|
|
13
|
+
}
|
|
14
|
+
/** Tidy machine projection shared by `list` and `current` — drops the OAuth client id. */
|
|
15
|
+
function projectAccount(account, isDefault) {
|
|
16
|
+
return {
|
|
17
|
+
id: account.id,
|
|
18
|
+
label: account.label,
|
|
19
|
+
teamName: account.teamName,
|
|
20
|
+
baseUrl: account.baseUrl,
|
|
21
|
+
isDefault,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function registerAccountCommand(program) {
|
|
25
|
+
const account = program.command('account').description('Manage stored CLI accounts');
|
|
26
|
+
const store = createOutlineTokenStore();
|
|
27
|
+
const list = attachAccountListCommand(account, {
|
|
28
|
+
store,
|
|
29
|
+
description: 'List stored Outline accounts',
|
|
30
|
+
renderText: ({ accounts }) => {
|
|
31
|
+
if (accounts.length === 0) {
|
|
32
|
+
return 'No stored accounts. Run `ol auth login` to add one.';
|
|
33
|
+
}
|
|
34
|
+
return accounts.map(({ account, isDefault }) => accountLine(account, isDefault));
|
|
35
|
+
},
|
|
36
|
+
renderJson: ({ account, isDefault }) => projectAccount(account, isDefault),
|
|
37
|
+
});
|
|
38
|
+
attachAccountUseCommand(account, {
|
|
39
|
+
store,
|
|
40
|
+
description: 'Set the default account (matched by Outline user id or display name)',
|
|
41
|
+
});
|
|
42
|
+
// `current` resolves the active credential's source directly (env / stored /
|
|
43
|
+
// legacy) rather than going through the generic account attacher, which only
|
|
44
|
+
// models stored accounts. `--json` / `--ndjson` emit a discriminated envelope.
|
|
45
|
+
account
|
|
46
|
+
.command('current')
|
|
47
|
+
.description('Show the active account (honours --user and OUTLINE_API_TOKEN)')
|
|
48
|
+
.option('--json', 'Emit machine-readable JSON output')
|
|
49
|
+
.option('--ndjson', 'Emit machine-readable NDJSON output')
|
|
50
|
+
.action(async (options) => {
|
|
51
|
+
const view = { json: Boolean(options.json), ndjson: Boolean(options.ndjson) };
|
|
52
|
+
const requested = getRequestedUserRef();
|
|
53
|
+
const resolution = await resolveActiveAccountSource(requested);
|
|
54
|
+
if (resolution?.source === 'stored') {
|
|
55
|
+
const { account: acc, isDefault } = resolution;
|
|
56
|
+
emitView(view, { source: 'stored', account: projectAccount(acc, isDefault) }, () => {
|
|
57
|
+
const lines = [accountLine(acc, isDefault), ` Base URL: ${acc.baseUrl}`];
|
|
58
|
+
if (acc.teamName)
|
|
59
|
+
lines.push(` Team: ${acc.teamName}`);
|
|
60
|
+
return lines;
|
|
61
|
+
});
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (resolution?.source === 'env') {
|
|
65
|
+
emitView(view, { source: 'env' }, () => [
|
|
66
|
+
`Using ${TOKEN_ENV_VAR} environment variable (no stored account).`,
|
|
67
|
+
]);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (resolution?.source === 'legacy') {
|
|
71
|
+
emitView(view, { source: 'legacy' }, () => [
|
|
72
|
+
'Using legacy single-user credentials. Run `ol auth login` to migrate to a stored account.',
|
|
73
|
+
]);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (requested !== undefined) {
|
|
77
|
+
throw new CliError('ACCOUNT_NOT_FOUND', `No stored account matches "${requested}".`, ['Check the account id or display name, or run `ol auth login` to add it.']);
|
|
78
|
+
}
|
|
79
|
+
throw new CliError('NOT_AUTHENTICATED', 'Not authenticated. Run: ol auth login');
|
|
80
|
+
});
|
|
81
|
+
attachAccountRemoveCommand(account, {
|
|
82
|
+
store,
|
|
83
|
+
description: 'Remove a stored account (clears keyring + config entry)',
|
|
84
|
+
renderText: ({ account, wasDefault }) => {
|
|
85
|
+
const lines = [`${chalk.green('✓')} Removed ${account.label}`];
|
|
86
|
+
if (wasDefault) {
|
|
87
|
+
lines.push(chalk.dim('Cleared default account. Set a new one with `ol account use <id|name>`.'));
|
|
88
|
+
}
|
|
89
|
+
return lines;
|
|
90
|
+
},
|
|
91
|
+
onRemoved: ({ view }) => logClearResult(store, view.json || view.ndjson),
|
|
92
|
+
});
|
|
93
|
+
// Make bare `ol account` list. A parent action runs only when no subcommand
|
|
94
|
+
// matches, so `ol account list` still routes to the subcommand directly —
|
|
95
|
+
// this just delegates the no-subcommand case via the public API (no reliance
|
|
96
|
+
// on commander internals).
|
|
97
|
+
account.action(async () => {
|
|
98
|
+
await list.parseAsync([], { from: 'user' });
|
|
99
|
+
});
|
|
100
|
+
account.addHelpText('after', `
|
|
101
|
+
Examples:
|
|
102
|
+
ol account # list stored accounts (default subcommand)
|
|
103
|
+
ol account current # show the active account
|
|
104
|
+
ol account use "Ada Lovelace" # set the default account (id or display name)
|
|
105
|
+
ol account remove id-bob # forget an account (clears keyring + config entry)`);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"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"}
|