@oauth2-cli/qui-cli 0.6.5 → 0.7.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 CHANGED
@@ -2,259 +2,250 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
- ## [0.6.5](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.4...qui-cli-plugin/0.6.5) (2026-02-16)
5
+ ## [0.7.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.6...qui-cli-plugin/0.7.0) (2026-02-17)
6
6
 
7
- ## [0.6.4](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.3...qui-cli-plugin/0.6.4) (2026-02-16)
7
+ ### BREAKING CHANGES
8
8
 
9
- ## [0.6.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.2...qui-cli-plugin/0.6.3) (2026-02-16)
9
+ - clarify subclass groupings and extensibility
10
+ - simplify credentials structure
11
+ - rename Token.TokenStorage to less redundant Token.Storage
12
+ - simplify namespacing of Injection and Scope
13
+ - improved clarity of errors and causes
14
+ - remove option args for secrets
10
15
 
16
+ ### Features
17
+
18
+ - add base_url for API requests (but still fall back to issuer, if not present) ([324b071](https://github.com/battis/oauth2-cli/commit/324b0718f6a86b8d29465802a5add7a21cc49192))
19
+ - clarify subclass groupings and extensibility ([4fec372](https://github.com/battis/oauth2-cli/commit/4fec372019603c4bfada0e26d1813b3c196db536))
20
+ - remove option args for secrets ([eaf55ea](https://github.com/battis/oauth2-cli/commit/eaf55ea7f5f1b2ee1fb3f037b9393a4be95bc19a))
21
+ - rename Token.TokenStorage to less redundant Token.Storage ([149d65a](https://github.com/battis/oauth2-cli/commit/149d65ac218a2c230ed8bca76963e44a5a6ff441))
22
+ - simplify credentials structure ([0e95439](https://github.com/battis/oauth2-cli/commit/0e95439a30f78268ddf7363dc4feeb0b1ff0edba))
23
+ - simplify namespacing of Injection and Scope ([b5db750](https://github.com/battis/oauth2-cli/commit/b5db7503f557a0c2092d327742b1bdd82be0edbb))
11
24
 
12
25
  ### Bug Fixes
13
26
 
14
- * export Request ([bad6d04](https://github.com/battis/oauth2-cli/commit/bad6d0479c6c8481c3ad56aa7b141a73dc04f729))
27
+ - improved clarity of errors and causes ([9f1ddce](https://github.com/battis/oauth2-cli/commit/9f1ddcec82c3295e39fc8857784634da072e7570))
28
+ - make oauth2-cli peer to allow patches to propogate ([395dfb0](https://github.com/battis/oauth2-cli/commit/395dfb0b89d504dfc1ca92ac23a1ca5722045dda))
29
+ - pass configured views (and base_url) to client ([af8b15f](https://github.com/battis/oauth2-cli/commit/af8b15f359299746cfe4e08c70b28fbd04eabe37))
30
+ - use configured base_url, not just environment variable ([5f82f9d](https://github.com/battis/oauth2-cli/commit/5f82f9d134353bcd54c661189c0666ccc16a040e))
15
31
 
16
- ## [0.6.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.1...qui-cli-plugin/0.6.2) (2026-02-16)
32
+ ## [0.6.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.2...qui-cli-plugin/0.6.3) (2026-02-16)
33
+
34
+ ### Bug Fixes
17
35
 
36
+ - export Request ([bad6d04](https://github.com/battis/oauth2-cli/commit/bad6d0479c6c8481c3ad56aa7b141a73dc04f729))
37
+
38
+ ## [0.6.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.1...qui-cli-plugin/0.6.2) (2026-02-16)
18
39
 
19
40
  ### Bug Fixes
20
41
 
21
- * export ClientOptions for instantiateClient implementation ([23eefbf](https://github.com/battis/oauth2-cli/commit/23eefbfa7a29d59e66463922b731183804c7eb62))
42
+ - export ClientOptions for instantiateClient implementation ([23eefbf](https://github.com/battis/oauth2-cli/commit/23eefbfa7a29d59e66463922b731183804c7eb62))
22
43
 
23
44
  ## [0.6.1](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.6.0...qui-cli-plugin/0.6.1) (2026-02-16)
24
45
 
25
-
26
46
  ### Bug Fixes
27
47
 
28
- * fix accidental regression and re-export unregistered components from OAuth2 ([b5b62bb](https://github.com/battis/oauth2-cli/commit/b5b62bb1735f0e899bf84c83b39e61499ee8da44))
48
+ - fix accidental regression and re-export unregistered components from OAuth2 ([b5b62bb](https://github.com/battis/oauth2-cli/commit/b5b62bb1735f0e899bf84c83b39e61499ee8da44))
29
49
 
30
50
  ## [0.6.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.11...qui-cli-plugin/0.6.0) (2026-02-15)
31
51
 
32
-
33
52
  ### ⚠ BREAKING CHANGES
34
53
 
35
- * limit TokenStorage to storing _only_ refresh_tokens
36
- * rewritten from scratch to be more easily maintainable
54
+ - limit TokenStorage to storing _only_ refresh_tokens
55
+ - rewritten from scratch to be more easily maintainable
37
56
 
38
57
  ### Features
39
58
 
40
- * limit TokenStorage to storing _only_ refresh_tokens ([3de9c96](https://github.com/battis/oauth2-cli/commit/3de9c96510d15eebd51a0be7d8df278614541f95))
41
- * rewritten from scratch to be more easily maintainable ([0f764d3](https://github.com/battis/oauth2-cli/commit/0f764d333135ae70bd9b3c4433b7c4a2ef757979))
59
+ - limit TokenStorage to storing _only_ refresh_tokens ([3de9c96](https://github.com/battis/oauth2-cli/commit/3de9c96510d15eebd51a0be7d8df278614541f95))
60
+ - rewritten from scratch to be more easily maintainable ([0f764d3](https://github.com/battis/oauth2-cli/commit/0f764d333135ae70bd9b3c4433b7c4a2ef757979))
42
61
 
43
62
  ## [0.5.11](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.10...qui-cli-plugin/0.5.11) (2026-01-20)
44
63
 
45
-
46
64
  ### Bug Fixes
47
65
 
48
- * further token managment debugging output ([fda83da](https://github.com/battis/oauth2-cli/commit/fda83da8794d2f7b7221224619b34148ae0a8fe1))
66
+ - further token managment debugging output ([fda83da](https://github.com/battis/oauth2-cli/commit/fda83da8794d2f7b7221224619b34148ae0a8fe1))
49
67
 
50
68
  ## [0.5.10](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.9...qui-cli-plugin/0.5.10) (2026-01-18)
51
69
 
52
-
53
70
  ### Bug Fixes
54
71
 
55
- * include @qui-cli/log as peer ([422eb25](https://github.com/battis/oauth2-cli/commit/422eb252fb778e8e12c9fe2ecc0d889ed8e82a0a))
72
+ - include @qui-cli/log as peer ([422eb25](https://github.com/battis/oauth2-cli/commit/422eb252fb778e8e12c9fe2ecc0d889ed8e82a0a))
56
73
 
57
74
  ## [0.5.9](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.8...qui-cli-plugin/0.5.9) (2026-01-17)
58
75
 
59
-
60
76
  ### Bug Fixes
61
77
 
62
- * debug request/response/JSON from Client rather than plugin ([2ed73e1](https://github.com/battis/oauth2-cli/commit/2ed73e18089ffed4fe75d717d523fc86e2ae7f91))
78
+ - debug request/response/JSON from Client rather than plugin ([2ed73e1](https://github.com/battis/oauth2-cli/commit/2ed73e18089ffed4fe75d717d523fc86e2ae7f91))
63
79
 
64
80
  ## [0.5.8](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.7...qui-cli-plugin/0.5.8) (2026-01-17)
65
81
 
66
-
67
82
  ### Features
68
83
 
69
- * add debugging output for requests ([8066cab](https://github.com/battis/oauth2-cli/commit/8066cabf56521f43ff90af21edabd9c20997e4cb))
84
+ - add debugging output for requests ([8066cab](https://github.com/battis/oauth2-cli/commit/8066cabf56521f43ff90af21edabd9c20997e4cb))
70
85
 
71
86
  ## [0.5.7](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.6...qui-cli-plugin/0.5.7) (2026-01-17)
72
87
 
73
-
74
88
  ### Bug Fixes
75
89
 
76
- * include scope param ([abf53c1](https://github.com/battis/oauth2-cli/commit/abf53c156a226e51c771a405058640a380407813))
90
+ - include scope param ([abf53c1](https://github.com/battis/oauth2-cli/commit/abf53c156a226e51c771a405058640a380407813))
77
91
 
78
92
  ## [0.5.6](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.5...qui-cli-plugin/0.5.6) (2026-01-15)
79
93
 
80
-
81
94
  ### Bug Fixes
82
95
 
83
- * correctly implement template Client type ([ed6ac1c](https://github.com/battis/oauth2-cli/commit/ed6ac1cc63b1c41eceb93311105a1f61890a07c8))
96
+ - correctly implement template Client type ([ed6ac1c](https://github.com/battis/oauth2-cli/commit/ed6ac1cc63b1c41eceb93311105a1f61890a07c8))
84
97
 
85
98
  ## [0.5.5](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.4...qui-cli-plugin/0.5.5) (2026-01-15)
86
99
 
87
-
88
100
  ### Bug Fixes
89
101
 
90
- * getClient() should return the type instantiated by instiateClient() ([46a4507](https://github.com/battis/oauth2-cli/commit/46a450707954917e1f55595fb3e35f0a62f475fc))
102
+ - getClient() should return the type instantiated by instiateClient() ([46a4507](https://github.com/battis/oauth2-cli/commit/46a450707954917e1f55595fb3e35f0a62f475fc))
91
103
 
92
104
  ## [0.5.4](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.3...qui-cli-plugin/0.5.4) (2026-01-15)
93
105
 
94
-
95
106
  ### Bug Fixes
96
107
 
97
- * export EnvironmentStorage from class as well as module ([01cb4ea](https://github.com/battis/oauth2-cli/commit/01cb4eaf54beebd16870adbb1b2664b4e585b14f))
108
+ - export EnvironmentStorage from class as well as module ([01cb4ea](https://github.com/battis/oauth2-cli/commit/01cb4eaf54beebd16870adbb1b2664b4e585b14f))
98
109
 
99
110
  ## [0.5.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.2...qui-cli-plugin/0.5.3) (2026-01-15)
100
111
 
101
-
102
112
  ### Bug Fixes
103
113
 
104
- * instantiateClient() _returns_ the client ([a302fdb](https://github.com/battis/oauth2-cli/commit/a302fdba916f68756b24319d432cc6adce09a1ba))
114
+ - instantiateClient() _returns_ the client ([a302fdb](https://github.com/battis/oauth2-cli/commit/a302fdba916f68756b24319d432cc6adce09a1ba))
105
115
 
106
116
  ## [0.5.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.1...qui-cli-plugin/0.5.2) (2026-01-15)
107
117
 
108
-
109
118
  ### Features
110
119
 
111
- * allow injection of custom oauth2-cli Client implementations via instantiateClient() ([cb1b94f](https://github.com/battis/oauth2-cli/commit/cb1b94fb1891343f00b5793fd6f7db33e6489c14))
112
- * re-export all of oauth2-cli under the plugin module/class namespaces ([0cbdafc](https://github.com/battis/oauth2-cli/commit/0cbdafc84853f4a904e33640b65e4f0300f00b4a))
120
+ - allow injection of custom oauth2-cli Client implementations via instantiateClient() ([cb1b94f](https://github.com/battis/oauth2-cli/commit/cb1b94fb1891343f00b5793fd6f7db33e6489c14))
121
+ - re-export all of oauth2-cli under the plugin module/class namespaces ([0cbdafc](https://github.com/battis/oauth2-cli/commit/0cbdafc84853f4a904e33640b65e4f0300f00b4a))
113
122
 
114
123
  ## [0.5.1](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.5.0...qui-cli-plugin/0.5.1) (2026-01-15)
115
124
 
116
-
117
125
  ### Bug Fixes
118
126
 
119
- * implement convenience methods as methods, not properties ([a3f67fe](https://github.com/battis/oauth2-cli/commit/a3f67fecde50ae19d8cf960fe6828623e745126b))
127
+ - implement convenience methods as methods, not properties ([a3f67fe](https://github.com/battis/oauth2-cli/commit/a3f67fecde50ae19d8cf960fe6828623e745126b))
120
128
 
121
129
  ## [0.5.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.4.3...qui-cli-plugin/0.5.0) (2026-01-14)
122
130
 
123
-
124
131
  ### ⚠ BREAKING CHANGES
125
132
 
126
- * move to currently active Node.js v24
127
- * consistent parameter names and URL support links
133
+ - move to currently active Node.js v24
134
+ - consistent parameter names and URL support links
128
135
 
129
136
  ### Features
130
137
 
131
- * add configurable hints for CLI option parameters ([b78ab2b](https://github.com/battis/oauth2-cli/commit/b78ab2b894a7807e2fced4531930c648fe275304))
132
- * configurable opt names to avoid collision with multiple APIs ([d147e3e](https://github.com/battis/oauth2-cli/commit/d147e3e9dfce1f0f4629d5a0e7f649258b7e9487))
133
- * consistent parameter names and URL support links ([671c371](https://github.com/battis/oauth2-cli/commit/671c3715c7218ab3b92e84a6da69835c5148462a))
134
-
138
+ - add configurable hints for CLI option parameters ([b78ab2b](https://github.com/battis/oauth2-cli/commit/b78ab2b894a7807e2fced4531930c648fe275304))
139
+ - configurable opt names to avoid collision with multiple APIs ([d147e3e](https://github.com/battis/oauth2-cli/commit/d147e3e9dfce1f0f4629d5a0e7f649258b7e9487))
140
+ - consistent parameter names and URL support links ([671c371](https://github.com/battis/oauth2-cli/commit/671c3715c7218ab3b92e84a6da69835c5148462a))
135
141
 
136
142
  ### Bug Fixes
137
143
 
138
- * export pre-registered plugin as an EJS module ([19b232e](https://github.com/battis/oauth2-cli/commit/19b232e5c65de4fd43fa604c8a3c38718d4a7ab9))
139
- * move to currently active Node.js v24 ([a651159](https://github.com/battis/oauth2-cli/commit/a6511594460c7fbc9f59e8a86c6b2f17bfb3564e))
144
+ - export pre-registered plugin as an EJS module ([19b232e](https://github.com/battis/oauth2-cli/commit/19b232e5c65de4fd43fa604c8a3c38718d4a7ab9))
145
+ - move to currently active Node.js v24 ([a651159](https://github.com/battis/oauth2-cli/commit/a6511594460c7fbc9f59e8a86c6b2f17bfb3564e))
140
146
 
141
147
  ## [0.4.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.4.2...qui-cli-plugin/0.4.3) (2026-01-12)
142
148
 
143
-
144
149
  ### Bug Fixes
145
150
 
146
- * more generous peer dependencies ([38cbed2](https://github.com/battis/oauth2-cli/commit/38cbed28d1046fafe73c9458f3a2f3a3799afaa9))
151
+ - more generous peer dependencies ([38cbed2](https://github.com/battis/oauth2-cli/commit/38cbed28d1046fafe73c9458f3a2f3a3799afaa9))
147
152
 
148
153
  ## [0.4.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.4.1...qui-cli-plugin/0.4.2) (2026-01-04)
149
154
 
150
-
151
155
  ### Bug Fixes
152
156
 
153
- * typo in fetchJSON name ([a19ba97](https://github.com/battis/oauth2-cli/commit/a19ba9700e32a69f7714a428b3c5c60739a11c16))
157
+ - typo in fetchJSON name ([a19ba97](https://github.com/battis/oauth2-cli/commit/a19ba9700e32a69f7714a428b3c5c60739a11c16))
154
158
 
155
159
  ## [0.4.1](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.4.0...qui-cli-plugin/0.4.1) (2026-01-04)
156
160
 
157
161
  ## [0.4.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.3.4...qui-cli-plugin/0.4.0) (2026-01-04)
158
162
 
159
-
160
163
  ### ⚠ BREAKING CHANGES
161
164
 
162
- * rename for simplicity
165
+ - rename for simplicity
163
166
 
164
167
  ### Features
165
168
 
166
- * rename for simplicity ([110c415](https://github.com/battis/oauth2-cli/commit/110c415d03ef06c0d777ffea5c4cdd9d04a068eb))
169
+ - rename for simplicity ([110c415](https://github.com/battis/oauth2-cli/commit/110c415d03ef06c0d777ffea5c4cdd9d04a068eb))
167
170
 
168
171
  ## [0.3.4](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.3.3...qui-cli-plugin/0.3.4) (2026-01-03)
169
172
 
170
-
171
173
  ### Bug Fixes
172
174
 
173
- * export ConfigurationProposal ([3c558c2](https://github.com/battis/oauth2-cli/commit/3c558c2dda012872747cf74fb76dcdd2740f04c6))
175
+ - export ConfigurationProposal ([3c558c2](https://github.com/battis/oauth2-cli/commit/3c558c2dda012872747cf74fb76dcdd2740f04c6))
174
176
 
175
177
  ## [0.3.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.3.2...qui-cli-plugin/0.3.3) (2026-01-03)
176
178
 
177
-
178
179
  ### Bug Fixes
179
180
 
180
- * export request param types ([244f588](https://github.com/battis/oauth2-cli/commit/244f5886148721f2be06c5da5b3a659fa17391da))
181
+ - export request param types ([244f588](https://github.com/battis/oauth2-cli/commit/244f5886148721f2be06c5da5b3a659fa17391da))
181
182
 
182
183
  ## [0.3.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.3.1...qui-cli-plugin/0.3.2) (2026-01-03)
183
184
 
184
-
185
185
  ### Bug Fixes
186
186
 
187
- * export Credentials ([a175394](https://github.com/battis/oauth2-cli/commit/a1753947d1119e2810d22275c6fbca27b0b19db5))
187
+ - export Credentials ([a175394](https://github.com/battis/oauth2-cli/commit/a1753947d1119e2810d22275c6fbca27b0b19db5))
188
188
 
189
189
  ## [0.3.1](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.3.0...qui-cli-plugin/0.3.1) (2026-01-03)
190
190
 
191
-
192
191
  ### Features
193
192
 
194
- * extend @oauth2-cli/qui-cli-plugin by instantiating new versions ([14713c5](https://github.com/battis/oauth2-cli/commit/14713c5d1c884c9a1d62ca34d0e5c364ffd8f19b))
193
+ - extend @oauth2-cli/qui-cli-plugin by instantiating new versions ([14713c5](https://github.com/battis/oauth2-cli/commit/14713c5d1c884c9a1d62ca34d0e5c364ffd8f19b))
195
194
 
196
195
  ## [0.3.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.7...qui-cli-plugin/0.3.0) (2025-12-24)
197
196
 
198
-
199
197
  ### ⚠ BREAKING CHANGES
200
198
 
201
- * resolve 1Password secret references successfully
199
+ - resolve 1Password secret references successfully
202
200
 
203
201
  ### Bug Fixes
204
202
 
205
- * resolve 1Password secret references successfully ([c4446e1](https://github.com/battis/oauth2-cli/commit/c4446e197a66271dac3ea8d58ff44725cc6be1db))
203
+ - resolve 1Password secret references successfully ([c4446e1](https://github.com/battis/oauth2-cli/commit/c4446e197a66271dac3ea8d58ff44725cc6be1db))
206
204
 
207
205
  ## [0.2.7](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.6...qui-cli-plugin/0.2.7) (2025-12-23)
208
206
 
209
-
210
207
  ### Bug Fixes
211
208
 
212
- * remove overriding default redirect_uri ([2268428](https://github.com/battis/oauth2-cli/commit/2268428bf461b3b92301dde9767558ba3ab5f2f5))
209
+ - remove overriding default redirect_uri ([2268428](https://github.com/battis/oauth2-cli/commit/2268428bf461b3b92301dde9767558ba3ab5f2f5))
213
210
 
214
211
  ## [0.2.6](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.5...qui-cli-plugin/0.2.6) (2025-12-23)
215
212
 
216
213
  ## [0.2.5](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.4...qui-cli-plugin/0.2.5) (2025-12-23)
217
214
 
218
-
219
215
  ### Bug Fixes
220
216
 
221
- * expose headers configuration ([bac6bcb](https://github.com/battis/oauth2-cli/commit/bac6bcbf351155472494b82ad620f6b4bc19a1e6))
217
+ - expose headers configuration ([bac6bcb](https://github.com/battis/oauth2-cli/commit/bac6bcbf351155472494b82ad620f6b4bc19a1e6))
222
218
 
223
219
  ## [0.2.4](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.3...qui-cli-plugin/0.2.4) (2025-12-23)
224
220
 
225
-
226
221
  ### Bug Fixes
227
222
 
228
- * more aggressively fix typing for partial configuration ([97f7e0c](https://github.com/battis/oauth2-cli/commit/97f7e0c034202fb26654677b5a3a836ff989b116))
223
+ - more aggressively fix typing for partial configuration ([97f7e0c](https://github.com/battis/oauth2-cli/commit/97f7e0c034202fb26654677b5a3a836ff989b116))
229
224
 
230
225
  ## [0.2.3](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.2...qui-cli-plugin/0.2.3) (2025-12-23)
231
226
 
232
-
233
227
  ### Bug Fixes
234
228
 
235
- * allow partial override of environment variable names and suppressed opt args ([c8a118b](https://github.com/battis/oauth2-cli/commit/c8a118ba6dae62f29549ef272448a4a6adea553c))
229
+ - allow partial override of environment variable names and suppressed opt args ([c8a118b](https://github.com/battis/oauth2-cli/commit/c8a118ba6dae62f29549ef272448a4a6adea553c))
236
230
 
237
231
  ## [0.2.2](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.1...qui-cli-plugin/0.2.2) (2025-12-23)
238
232
 
239
-
240
233
  ### Features
241
234
 
242
- * add optional typing to requestJSON() ([5f7cf39](https://github.com/battis/oauth2-cli/commit/5f7cf39d8dc0ca86cbe3df7e8493d3273e630573))
243
- * configurable options and usage ([aadbc4b](https://github.com/battis/oauth2-cli/commit/aadbc4bffc9eda241763ecd9f134963517250e5f))
244
- * default suppress token path storage ([9df7f4f](https://github.com/battis/oauth2-cli/commit/9df7f4f6312713e2086366350f0c546a975b2c31))
245
- * provide EnvironmentStorage implementation ([55fc676](https://github.com/battis/oauth2-cli/commit/55fc676716fa1e4830a6a890b6d0bf5cecf0f57f))
246
-
235
+ - add optional typing to requestJSON() ([5f7cf39](https://github.com/battis/oauth2-cli/commit/5f7cf39d8dc0ca86cbe3df7e8493d3273e630573))
236
+ - configurable options and usage ([aadbc4b](https://github.com/battis/oauth2-cli/commit/aadbc4bffc9eda241763ecd9f134963517250e5f))
237
+ - default suppress token path storage ([9df7f4f](https://github.com/battis/oauth2-cli/commit/9df7f4f6312713e2086366350f0c546a975b2c31))
238
+ - provide EnvironmentStorage implementation ([55fc676](https://github.com/battis/oauth2-cli/commit/55fc676716fa1e4830a6a890b6d0bf5cecf0f57f))
247
239
 
248
240
  ### Bug Fixes
249
241
 
250
- * update to current [@qui-cli](https://github.com/qui-cli) versions ([d54c521](https://github.com/battis/oauth2-cli/commit/d54c5210e55586ed688afa42840ec2b9e1cffeb0))
242
+ - update to current [@qui-cli](https://github.com/qui-cli) versions ([d54c521](https://github.com/battis/oauth2-cli/commit/d54c5210e55586ed688afa42840ec2b9e1cffeb0))
251
243
 
252
244
  ## [0.2.1](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.2.0...qui-cli-plugin/0.2.1) (2025-09-11)
253
245
 
254
-
255
246
  ### Bug Fixes
256
247
 
257
- * update dependencies to address transient openid-client config error ([f0ca9a8](https://github.com/battis/oauth2-cli/commit/f0ca9a8d2bb4551b80a49e48aa43df5ba66a5a9b))
248
+ - update dependencies to address transient openid-client config error ([f0ca9a8](https://github.com/battis/oauth2-cli/commit/f0ca9a8d2bb4551b80a49e48aa43df5ba66a5a9b))
258
249
 
259
250
  ## [0.2.0](https://github.com/battis/oauth2-cli/compare/qui-cli-plugin/0.1.1...qui-cli-plugin/0.2.0) (2025-03-09)
260
251
 
@@ -0,0 +1 @@
1
+ export { ClientOptions, Credentials, Injection, Scope, WebServer } from 'oauth2-cli';
package/dist/Export.js ADDED
@@ -0,0 +1 @@
1
+ export { Scope, WebServer } from 'oauth2-cli';
@@ -0,0 +1,3 @@
1
+ export * from './Client.js';
2
+ export * from './OAuth2Plugin.js';
3
+ export * as Token from './Token/index.js';
package/dist/Extend.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './Client.js';
2
+ export * from './OAuth2Plugin.js';
3
+ export * as Token from './Token/index.js';
package/dist/OAuth2.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { OAuth2Plugin } from './OAuth2Plugin.js';
2
- export { ClientOptions, Credentials, Errors, Request, WebServer } from 'oauth2-cli';
3
- export * from './Client.js';
4
- export * from './OAuth2Plugin.js';
5
- export * as Token from './Token/index.js';
6
- export declare const OAuth2: OAuth2Plugin<import("./Client.js").Client>;
1
+ export declare const configure: (proposal?: import("./OAuth2Plugin.js").Configuration) => void;
2
+ export declare const options: () => import("@qui-cli/plugin").Options;
3
+ export declare const init: () => import("@qui-cli/plugin").Options;
4
+ export declare const client: () => import("./Client.js").Client;
5
+ export declare const request: (url: import("requestish/dist/URL.js").ish, method?: string | undefined, body?: import("openid-client").FetchBody, headers?: import("requestish/dist/Headers.js").ish | undefined, dPoPOptions?: import("openid-client").DPoPOptions | undefined) => Promise<Response>;
6
+ export declare const requestJSON: <T extends import("@battis/typescript-tricks").JSONValue>(url: import("requestish/dist/URL.js").ish, method?: string | undefined, body?: import("openid-client").FetchBody, headers?: import("requestish/dist/Headers.js").ish | undefined, dPoPOptions?: import("openid-client").DPoPOptions | undefined) => Promise<T>;
7
+ export declare const fetch: (input: import("requestish/dist/URL.js").ish, init?: RequestInit | undefined, dPoPOptions?: import("openid-client").DPoPOptions | undefined) => Promise<Response>;
8
+ export declare const fetchJSON: <T extends import("@battis/typescript-tricks").JSONValue>(input: import("requestish/dist/URL.js").ish, init?: RequestInit | undefined, dPoPOptions?: import("openid-client").DPoPOptions | undefined) => Promise<T>;
package/dist/OAuth2.js CHANGED
@@ -1,6 +1,14 @@
1
+ import { register } from '@qui-cli/plugin';
1
2
  import { OAuth2Plugin } from './OAuth2Plugin.js';
2
- export { Credentials, Errors, Request, WebServer } from 'oauth2-cli';
3
- export * from './Client.js';
4
- export * from './OAuth2Plugin.js';
5
- export * as Token from './Token/index.js';
6
- export const OAuth2 = new OAuth2Plugin();
3
+ const plugin = new OAuth2Plugin();
4
+ // @qui-cli/plugin convenience methods
5
+ export const configure = plugin.configure.bind(plugin);
6
+ export const options = plugin.options.bind(plugin);
7
+ export const init = plugin.options.bind(plugin);
8
+ // oauth2-cli convenience methods
9
+ export const client = () => plugin.client;
10
+ export const request = plugin.request.bind(plugin);
11
+ export const requestJSON = plugin.requestJSON.bind(plugin);
12
+ export const fetch = plugin.fetch.bind(plugin);
13
+ export const fetchJSON = plugin.fetchJSON.bind(plugin);
14
+ await register(plugin);
@@ -1,48 +1,60 @@
1
- import { URLString } from '@battis/descriptive-types';
1
+ import { PathString, URLString } from '@battis/descriptive-types';
2
2
  import { JSONValue } from '@battis/typescript-tricks';
3
3
  import * as Plugin from '@qui-cli/plugin';
4
4
  import * as OAuth2CLI from 'oauth2-cli';
5
+ import * as requestish from 'requestish';
5
6
  import { Client } from './Client.js';
6
- type CredentialKey = 'issuer' | 'client_id' | 'client_secret' | 'redirect_uri' | 'authorization_endpoint' | 'token_endpoint' | 'scope';
7
+ type CredentialKey = 'issuer' | 'client_id' | 'client_secret' | 'redirect_uri' | 'authorization_endpoint' | 'token_endpoint' | 'scope' | 'base_url';
7
8
  type EnvironmentVars = Record<CredentialKey, string>;
8
9
  type SupportUrls = Record<CredentialKey, URLString>;
9
10
  type Hints = Record<CredentialKey, string>;
10
- type OptionNames = Record<CredentialKey, string>;
11
- type OptionSuppression = Record<CredentialKey, boolean>;
11
+ type EnvVarSuppression = Record<CredentialKey, boolean>;
12
12
  type Usage = {
13
13
  heading: string;
14
14
  text?: string[];
15
15
  };
16
16
  export type Configuration = Plugin.Configuration & {
17
- credentials?: Partial<OAuth2CLI.Credentials.Combined>;
18
- inject?: OAuth2CLI.Request.Injection;
19
- storage?: OAuth2CLI.Token.TokenStorage;
17
+ /** OAuth 2.0/OpenID Connect credential set */
18
+ credentials?: Partial<OAuth2CLI.Credentials>;
19
+ /** Base URL for all non-absolute requests */
20
+ base_url?: requestish.URL.ish;
21
+ /** Request components to inject into server requests */
22
+ inject?: OAuth2CLI.Injection;
23
+ /** Refresh token storage service */
24
+ storage?: OAuth2CLI.Token.Storage;
25
+ /** CLI usage section header and text */
20
26
  man?: Usage;
21
- opt?: Partial<OptionNames>;
27
+ /** Reference URLs for particular credential values */
22
28
  url?: Partial<SupportUrls>;
29
+ /** Hint values for particular credential values */
23
30
  hint?: Partial<Hints>;
31
+ /** Actual environment variable names for each credential value */
24
32
  env?: Partial<EnvironmentVars>;
25
- suppress?: Partial<OptionSuppression>;
33
+ /** Should a particular credential value _not_ be loaded from the environment? */
34
+ suppress?: Partial<EnvVarSuppression>;
35
+ /** Optional absolute path to EJS view templates directory */
36
+ views?: PathString;
26
37
  };
27
38
  export declare class OAuth2Plugin<C extends Client = Client> {
28
39
  readonly name: string;
29
40
  [key: string]: unknown;
30
41
  private static names;
31
- private static ports;
42
+ private static registeredPorts;
32
43
  constructor(name?: string);
33
44
  private credentials?;
45
+ private base_url?;
34
46
  private man;
35
- private opt;
36
- private url;
47
+ private url?;
37
48
  private hint;
38
49
  private env;
39
- private suppress;
40
- private inject;
50
+ private suppress?;
51
+ private inject?;
52
+ private views?;
41
53
  private storage?;
42
- private _client;
54
+ private _client?;
43
55
  configure(proposal?: Configuration): void;
44
56
  options(): Plugin.Options;
45
- init({ values }: Plugin.ExpectedArguments<typeof this.options>): Promise<void>;
57
+ init(_: Plugin.ExpectedArguments<typeof this.options>): Promise<void>;
46
58
  protected instantiateClient(options: OAuth2CLI.ClientOptions): C;
47
59
  get client(): C;
48
60
  request(...args: Parameters<OAuth2CLI.Client['request']>): Promise<Response>;
@@ -7,7 +7,7 @@ import * as requestish from 'requestish';
7
7
  export class OAuth2Plugin {
8
8
  name;
9
9
  static names = [];
10
- static ports = {};
10
+ static registeredPorts = {};
11
11
  constructor(name = '@oauth2-cli/qui-cli') {
12
12
  this.name = name;
13
13
  if (OAuth2Plugin.names.includes(name)) {
@@ -15,17 +15,9 @@ export class OAuth2Plugin {
15
15
  }
16
16
  }
17
17
  credentials;
18
+ base_url;
18
19
  man = {
19
- heading: 'OAuth 2.0 client options'
20
- };
21
- opt = {
22
- issuer: 'issuer',
23
- client_id: 'clientId',
24
- client_secret: 'clientSecret',
25
- scope: 'scope',
26
- redirect_uri: 'redirectUri',
27
- authorization_endpoint: 'authorizationEndpoint',
28
- token_endpoint: 'tokenEndpoint'
20
+ heading: 'OAuth 2.0 / Open ID Connect client options'
29
21
  };
30
22
  url = undefined;
31
23
  hint = {
@@ -35,13 +27,17 @@ export class OAuth2Plugin {
35
27
  issuer: 'ISSUER',
36
28
  client_id: 'CLIENT_ID',
37
29
  client_secret: 'CLIENT_SECRET',
38
- scope: 'SCOPE',
39
30
  redirect_uri: 'REDIRECT_URI',
40
31
  authorization_endpoint: 'AUTHORIZATION_ENDPOINT',
41
- token_endpoint: 'TOKEN_ENDPOINT'
32
+ token_endpoint: 'TOKEN_ENDPOINT',
33
+ base_url: 'BASE_URL',
34
+ scope: 'SCOPE'
35
+ };
36
+ suppress = {
37
+ scope: true
42
38
  };
43
- suppress = undefined;
44
39
  inject = undefined;
40
+ views = undefined;
45
41
  storage = undefined;
46
42
  _client = undefined;
47
43
  configure(proposal = {}) {
@@ -59,10 +55,10 @@ export class OAuth2Plugin {
59
55
  return c;
60
56
  }
61
57
  this.credentials = hydrate(proposal.credentials, this.credentials);
58
+ this.base_url = Plugin.hydrate(proposal.base_url, this.base_url);
62
59
  this.storage = Plugin.hydrate(proposal.storage, this.storage);
63
60
  this.inject = hydrate(proposal.inject, this.inject);
64
61
  this.man = Plugin.hydrate(proposal.man, this.man);
65
- this.opt = hydrate(proposal.opt, this.opt);
66
62
  this.url = hydrate(proposal.url, this.url);
67
63
  this.hint = hydrate(proposal.hint, this.hint);
68
64
  this.env = hydrate(proposal.env, this.env);
@@ -71,7 +67,7 @@ export class OAuth2Plugin {
71
67
  const url = requestish.URL.from(this.credentials.redirect_uri);
72
68
  if (url.hostname !== 'localhost' &&
73
69
  !/^\/https?\/localhost(:\d+)?\//.test(url.pathname)) {
74
- Log.warning(`The ${Colors.optionArg(this.opt.redirect_uri)} value ${Colors.url(this.credentials.redirect_uri)} may not work: it ${Colors.keyword('must')} redirect to ${Colors.url('localhost')}`);
70
+ Log.warning(`The ${Colors.varName(this.env.redirect_uri)} value ${Colors.url(this.credentials.redirect_uri)} may not work: it ${Colors.keyword('must')} redirect to ${Colors.url('localhost')}`);
75
71
  }
76
72
  if (url.protocol !== 'http:' &&
77
73
  !/^\/http\/localhost(:\d+)?\//.test(url.pathname)) {
@@ -79,10 +75,10 @@ export class OAuth2Plugin {
79
75
  `server listening for the redirect is not automatically ` +
80
76
  `provisioned with an SSL certificate`);
81
77
  }
82
- if (OAuth2Plugin.ports[url.port] &&
83
- OAuth2Plugin.ports[url.port] !== this.name) {
78
+ if (OAuth2Plugin.registeredPorts[url.port] &&
79
+ OAuth2Plugin.registeredPorts[url.port] !== this.name) {
84
80
  Log.warning(`The port ${Colors.value(url.port)} has already been registered to another instance of this plugin ` +
85
- `named ${Colors.value(OAuth2Plugin.ports[url.port])}. This will likely cause a failure if both instances of the ` +
81
+ `named ${Colors.value(OAuth2Plugin.registeredPorts[url.port])}. This will likely cause a failure if both instances of the ` +
86
82
  `plugin are listening for redirects at relatively proximate ` +
87
83
  `moments in time.`);
88
84
  }
@@ -90,65 +86,67 @@ export class OAuth2Plugin {
90
86
  }
91
87
  options() {
92
88
  const descriptions = {
93
- issuer: `OpenID issuer URL. Defaults to environment variable ` +
94
- `${Colors.varName(this.env.issuer)}, if present.`,
95
- client_id: `OAuth 2.0 client ID. Defaults to environment variable ` +
96
- `${Colors.varName(this.env.client_id)}, if present.`,
97
- client_secret: `OAuth 2.0 client secret. Defaults to environment variable ` +
98
- `${Colors.varName(this.env.client_secret)}, if present.`,
99
- scope: `OAuth 2.0 scope. Defaults to environment variable ` +
100
- `${Colors.varName(this.env.scope)}, if present.`,
101
- redirect_uri: `OAuth 2.0 redirect URI, must be to host ${Colors.url('localhost')}. ` +
102
- `Defaults to environment variable ` +
103
- `${Colors.varName(this.env.redirect_uri)}, if present.`,
104
- authorization_endpoint: `OAuth 2.0 authorization endpoint. Defaults to environment variable ` +
89
+ issuer: `The OpenID ${Colors.keyword('issuer')} URL is set from the ` +
90
+ `environment variable ${Colors.varName(this.env.issuer)}, if present. ` +
91
+ `The ${Colors.varName(this.env.issuer)} is also used as a base URL for ` +
92
+ `any relative URL in API requests, unless ` +
93
+ `${Colors.varName(this.env.base_url)} is defined.`,
94
+ client_id: `The OAuth 2.0 ${Colors.keyword('client_id')} is set from the ` +
95
+ `environment variable ${Colors.varName(this.env.client_id)}, if ` +
96
+ `present.`,
97
+ client_secret: `The OAuth 2.0 ${Colors.keyword('client_secret')} is set from the ` +
98
+ `environment variable ${Colors.varName(this.env.client_secret)}, if ` +
99
+ `present.`,
100
+ scope: `The OAuth 2.0 ${Colors.keyword('scope')} is set from the environment ` +
101
+ `variable ${Colors.varName(this.env.scope)}, if present.`,
102
+ redirect_uri: `The OAuth 2.0 ${Colors.keyword('redirect_uri')}, which must at least ` +
103
+ `redirect to ${Colors.url('localhost')}, is set from the environment ` +
104
+ `variable ${Colors.varName(this.env.redirect_uri)}, if present.`,
105
+ authorization_endpoint: `The OAuth 2.0 ${Colors.keyword('authorization_endpoint')} is set ` +
106
+ `from the environment variable ` +
105
107
  `${Colors.varName(this.env.authorization_endpoint)}, if present.`,
106
- token_endpoint: `OAuth 2.0 token endpoint, will fall back to ` +
107
- `${Colors.optionArg(`--${this.opt.authorization_endpoint}`)} if ` +
108
- `not provided. Defaults to environment variable ` +
109
- `${Colors.varName(this.env.token_endpoint)}, if present.`
108
+ token_endpoint: `The OAuth 2.0 ${Colors.keyword('token_endpoint')} is set from the ` +
109
+ `environment variable ${Colors.varName(this.env.token_endpoint)}, if ` +
110
+ `present and will fall back to ` +
111
+ `${Colors.varName(this.env.authorization_endpoint)} if not provided.`,
112
+ base_url: `The base URL to use for API requests is set from the ` +
113
+ `environment variable ${Colors.varName(this.env.base_url)}, if ` +
114
+ `present. If ${Colors.varName(this.env.base_url)} is not defined, ` +
115
+ `${Colors.varName(this.env.issuer)} will be used as a base URL for ` +
116
+ `relative URL requests.`
110
117
  };
111
- const opt = {};
112
- for (const paramName of Object.keys(descriptions)) {
113
- if (!this.suppress || !this.suppress[paramName]) {
114
- const option = { description: descriptions[paramName] };
115
- if (this.url && this.url[paramName]) {
116
- option.description = `${option.description} See ${Colors.url(this.url[paramName])} for more information.`;
117
- }
118
- if (this.hint[paramName]) {
119
- option.hint = this.hint[paramName];
120
- }
121
- switch (paramName) {
122
- case 'client_id':
123
- case 'client_secret':
124
- option.secret = true;
125
- }
126
- const param = this.credentials
127
- ? this.credentials[paramName]
128
- : undefined;
129
- if (typeof param === 'string') {
130
- option.default = param;
131
- }
132
- opt[this.opt[paramName]] = option;
133
- }
134
- }
135
118
  return {
136
119
  man: [
137
120
  { level: 1, text: this.man.heading },
138
- ...(this.man.text || []).map((t) => ({ text: t }))
139
- ],
140
- opt
121
+ ...(this.man.text || []).map((t) => ({ text: t })),
122
+ ...Object.keys(descriptions)
123
+ .filter((key) => !this.suppress || !this.suppress[key])
124
+ .map((key) => ({
125
+ text: descriptions[key] +
126
+ (this.hint[key] ? ` (e.g. ${this.hint[key]})` : '') +
127
+ (this.url && this.url[key]
128
+ ? ` See ${Colors.url(this.url[key])} for more information.`
129
+ : '')
130
+ }))
131
+ ]
141
132
  };
142
133
  }
143
- async init({ values }) {
134
+ async init(_) {
144
135
  const credentials = {};
145
- for (const key of Object.keys(this.opt)) {
146
- credentials[key] =
147
- values[this.opt[key]] ||
136
+ const base_url = this.base_url ||
137
+ (await Env.get({
138
+ key: this.env.base_url
139
+ }));
140
+ for (const key of Object.keys(this.env)) {
141
+ if (key !== 'base_url') {
142
+ // FIXME better typing
143
+ // @ts-expect-error 2322
144
+ credentials[key] =
148
145
  (this.credentials ? this.credentials[key] : undefined) ||
149
- (await Env.get({ key: this.env[key] }));
146
+ (await Env.get({ key: this.env[key] }));
147
+ }
150
148
  }
151
- this.configure({ credentials });
149
+ this.configure({ credentials, base_url });
152
150
  }
153
151
  instantiateClient(options) {
154
152
  return new OAuth2CLI.Client(options);
@@ -156,29 +154,31 @@ export class OAuth2Plugin {
156
154
  get client() {
157
155
  if (!this._client) {
158
156
  if (!this.credentials?.client_id) {
159
- throw new Error(`A ${Colors.optionArg(this.opt.client_id)} ${Colors.keyword('must')} be configured.`);
157
+ throw new Error(`A ${Colors.varName(this.env.client_id)} ${Colors.keyword('must')} be configured.`);
160
158
  }
161
159
  if (!this.credentials?.client_secret) {
162
- throw new Error(`A ${Colors.optionArg(this.opt.client_secret)} ${Colors.keyword('must')} be configured.`);
160
+ throw new Error(`A ${Colors.varName(this.env.client_secret)} ${Colors.keyword('must')} be configured.`);
163
161
  }
164
162
  if (!this.credentials?.redirect_uri) {
165
- throw new Error(`A ${Colors.optionArg(this.opt.redirect_uri)} ${Colors.keyword('must')} be configured.`);
163
+ throw new Error(`A ${Colors.varName(this.env.redirect_uri)} ${Colors.keyword('must')} be configured.`);
166
164
  }
167
165
  if (!this.credentials?.issuer) {
168
166
  if (!this.credentials?.authorization_endpoint) {
169
- throw new Error(`Either an ${Colors.optionArg(this.opt.issuer)} or ` +
170
- `${Colors.optionArg(this.opt.authorization_endpoint)} ` +
167
+ throw new Error(`Either an ${Colors.varName(this.env.issuer)} or ` +
168
+ `${Colors.varName(this.env.authorization_endpoint)} ` +
171
169
  `${Colors.keyword('must')} be configured.`);
172
170
  }
173
171
  if (!this.credentials?.token_endpoint) {
174
- throw new Error(`Either an ${Colors.optionArg(this.opt.issuer)} or ` +
175
- `${Colors.optionArg(this.opt.token_endpoint)} ` +
172
+ throw new Error(`Either an ${Colors.varName(this.env.issuer)} or ` +
173
+ `${Colors.varName(this.env.token_endpoint)} ` +
176
174
  `${Colors.keyword('must')} be configured.`);
177
175
  }
178
176
  }
179
177
  this._client = this.instantiateClient({
180
178
  credentials: this.credentials,
179
+ base_url: this.base_url,
181
180
  inject: this.inject,
181
+ views: this.views,
182
182
  storage: this.storage
183
183
  });
184
184
  }
@@ -1,5 +1,5 @@
1
1
  import { Token } from 'oauth2-cli';
2
- export declare class EnvironmentStorage implements Token.TokenStorage {
2
+ export declare class EnvironmentStorage implements Token.Storage {
3
3
  private tokenEnvVar;
4
4
  constructor(tokenEnvVar?: string);
5
5
  load(): Promise<string | undefined>;
package/dist/index.d.ts CHANGED
@@ -1 +1,3 @@
1
- export * from './OAuth2.js';
1
+ export * as OAuth2 from './OAuth2.js';
2
+ export * from './Export.js';
3
+ export * from './Extend.js';
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import { register } from '@qui-cli/plugin';
2
- import { OAuth2 as plugin } from './OAuth2.js';
3
- export * from './OAuth2.js';
4
- await register(plugin);
1
+ export * as OAuth2 from './OAuth2.js';
2
+ export * from './Export.js';
3
+ export * from './Extend.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oauth2-cli/qui-cli",
3
- "version": "0.6.5",
3
+ "version": "0.7.0",
4
4
  "description": "@qui-cli/plugin wrapper for oauth2-cli",
5
5
  "homepage": "https://github.com/battis/oauth2-cli/tree/main/packages/qui-cli#readme",
6
6
  "repository": {
@@ -17,7 +17,6 @@
17
17
  "types": "./dist/index.d.ts",
18
18
  "dependencies": {
19
19
  "@qui-cli/colors": "^3.2.3",
20
- "oauth2-cli": "0.7.2",
21
20
  "requestish": "0.1.1"
22
21
  },
23
22
  "devDependencies": {
@@ -31,12 +30,14 @@
31
30
  "del-cli": "^7.0.0",
32
31
  "npm-run-all": "^4.1.5",
33
32
  "openid-client": "^6.8.2",
34
- "typescript": "^5.9.3"
33
+ "typescript": "^5.9.3",
34
+ "oauth2-cli": "0.8.0"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@qui-cli/env-1password": ">=1",
38
38
  "@qui-cli/log": ">=3",
39
- "@qui-cli/plugin": ">=3"
39
+ "@qui-cli/plugin": ">=3",
40
+ "oauth2-cli": "0.8.x"
40
41
  },
41
42
  "scripts": {
42
43
  "clean": "del ./dist",