@taurgis/bonsai 3.1.0 → 3.2.2
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/README.md +21 -4
- package/agents/agents/salesforce-docs-researcher.agent.md +14 -1
- package/agents/instructions/salesforce-research.instructions.md +2 -1
- package/bin/cli.mjs +9 -17
- package/dist/base-command.d.ts +37 -10
- package/dist/base-command.js +113 -46
- package/dist/commands/config/base.js +11 -2
- package/dist/commands/config/get.js +8 -12
- package/dist/commands/config/index.js +2 -2
- package/dist/commands/config/list.js +10 -16
- package/dist/commands/config/set.d.ts +2 -1
- package/dist/commands/config/set.js +34 -27
- package/dist/commands/config/unset.d.ts +2 -1
- package/dist/commands/config/unset.js +25 -24
- package/dist/commands/fetch.d.ts +7 -15
- package/dist/commands/fetch.js +58 -401
- package/dist/commands/import.d.ts +4 -9
- package/dist/commands/import.js +56 -280
- package/dist/commands/inspect.d.ts +7 -1
- package/dist/commands/inspect.js +103 -52
- package/dist/commands/list.d.ts +13 -1
- package/dist/commands/list.js +79 -32
- package/dist/commands/prune.d.ts +4 -1
- package/dist/commands/prune.js +56 -65
- package/dist/commands/status.d.ts +3 -2
- package/dist/commands/status.js +52 -79
- package/dist/hooks/command-not-found/suggest.d.ts +1 -0
- package/dist/hooks/command-not-found/suggest.js +66 -39
- package/dist/lib/argv.d.ts +24 -3
- package/dist/lib/argv.js +124 -53
- package/dist/lib/batch.d.ts +41 -0
- package/dist/lib/batch.js +39 -0
- package/dist/lib/cache-view.d.ts +21 -0
- package/dist/lib/cache-view.js +30 -0
- package/dist/lib/cli-emit.d.ts +28 -0
- package/dist/lib/cli-emit.js +44 -0
- package/dist/lib/cli-error-policy.d.ts +57 -0
- package/dist/lib/cli-error-policy.js +74 -0
- package/dist/lib/cli-flag-manifest.d.ts +5 -0
- package/dist/lib/cli-flag-manifest.js +8 -0
- package/dist/lib/cli-presentation.d.ts +39 -0
- package/dist/lib/cli-presentation.js +50 -0
- package/dist/lib/cli-result-types.d.ts +88 -0
- package/dist/lib/cli-result-types.js +2 -0
- package/dist/lib/config/index.d.ts +22 -4
- package/dist/lib/config/index.js +59 -4
- package/dist/lib/config/resolve.d.ts +21 -0
- package/dist/lib/config/resolve.js +55 -6
- package/dist/lib/config-persist.d.ts +28 -0
- package/dist/lib/config-persist.js +29 -0
- package/dist/lib/envelope.d.ts +41 -3
- package/dist/lib/envelope.js +147 -4
- package/dist/lib/help-preflight.d.ts +5 -8
- package/dist/lib/help-preflight.js +13 -32
- package/dist/lib/json-meta.d.ts +0 -2
- package/dist/lib/json-meta.js +21 -25
- package/dist/lib/limit-flag.d.ts +11 -1
- package/dist/lib/limit-flag.js +19 -6
- package/dist/lib/parse-error-ux.d.ts +5 -0
- package/dist/lib/parse-error-ux.js +73 -0
- package/dist/lib/prune-flags.d.ts +28 -0
- package/dist/lib/prune-flags.js +74 -0
- package/dist/lib/research/artifact-index.d.ts +11 -2
- package/dist/lib/research/artifact-index.js +7 -4
- package/dist/lib/research/browser.d.ts +41 -2
- package/dist/lib/research/browser.js +139 -50
- package/dist/lib/research/capture.d.ts +24 -2
- package/dist/lib/research/capture.js +24 -4
- package/dist/lib/research/cli-io.d.ts +33 -0
- package/dist/lib/research/cli-io.js +27 -0
- package/dist/lib/research/compress.d.ts +7 -0
- package/dist/lib/research/compress.js +7 -3
- package/dist/lib/research/docs/capabilities.d.ts +15 -0
- package/dist/lib/research/docs/capabilities.js +5 -0
- package/dist/lib/research/docs/clean-dom.d.ts +2 -0
- package/dist/lib/research/docs/clean-dom.js +2 -0
- package/dist/lib/research/docs/code-blocks.d.ts +2 -0
- package/dist/lib/research/docs/code-blocks.js +2 -0
- package/dist/lib/research/docs/detect.d.ts +4 -0
- package/dist/lib/research/docs/detect.js +4 -0
- package/dist/lib/research/docs/machine-readable.d.ts +18 -0
- package/dist/lib/research/docs/machine-readable.js +10 -0
- package/dist/lib/research/docs/markdown-source.d.ts +20 -0
- package/dist/lib/research/docs/markdown-source.js +19 -2
- package/dist/lib/research/docs/quality-gates.d.ts +5 -0
- package/dist/lib/research/docs/quality-gates.js +4 -0
- package/dist/lib/research/docs/rsc.d.ts +9 -2
- package/dist/lib/research/docs/rsc.js +5 -2
- package/dist/lib/research/docs/section-artifacts.d.ts +12 -0
- package/dist/lib/research/docs/section-artifacts.js +12 -0
- package/dist/lib/research/docs/sections.d.ts +18 -0
- package/dist/lib/research/docs/sections.js +17 -1
- package/dist/lib/research/docs/source-map.d.ts +28 -0
- package/dist/lib/research/docs/source-map.js +27 -0
- package/dist/lib/research/docs/validate.d.ts +35 -2
- package/dist/lib/research/docs/validate.js +47 -2
- package/dist/lib/research/extract.d.ts +16 -0
- package/dist/lib/research/extract.js +12 -1
- package/dist/lib/research/fetch-command-service.d.ts +36 -0
- package/dist/lib/research/fetch-command-service.js +310 -0
- package/dist/lib/research/fetch-result.d.ts +114 -0
- package/dist/lib/research/fetch-result.js +212 -0
- package/dist/lib/research/fetcher.d.ts +46 -8
- package/dist/lib/research/fetcher.js +58 -30
- package/dist/lib/research/freshness.d.ts +54 -11
- package/dist/lib/research/freshness.js +91 -31
- package/dist/lib/research/import-command-service.d.ts +56 -0
- package/dist/lib/research/import-command-service.js +381 -0
- package/dist/lib/research/keywords.js +5 -1
- package/dist/lib/research/markdown.d.ts +12 -1
- package/dist/lib/research/markdown.js +13 -5
- package/dist/lib/research/persist-artifact.d.ts +23 -0
- package/dist/lib/research/persist-artifact.js +27 -0
- package/dist/lib/research/prompt-injection.d.ts +8 -0
- package/dist/lib/research/prompt-injection.js +42 -13
- package/dist/lib/research/proxy.d.ts +14 -8
- package/dist/lib/research/proxy.js +14 -10
- package/dist/lib/research/revalidate.d.ts +49 -20
- package/dist/lib/research/revalidate.js +80 -15
- package/dist/lib/research/schema.d.ts +7 -0
- package/dist/lib/research/schema.js +2 -0
- package/dist/lib/research/secret-scan.d.ts +6 -0
- package/dist/lib/research/secret-scan.js +8 -0
- package/dist/lib/research/secure-write.d.ts +11 -1
- package/dist/lib/research/secure-write.js +38 -7
- package/dist/lib/research/storage.d.ts +5 -1
- package/dist/lib/research/storage.js +8 -3
- package/dist/lib/research/summarize.d.ts +15 -0
- package/dist/lib/research/summarize.js +11 -0
- package/dist/lib/research/url.d.ts +9 -6
- package/dist/lib/research/url.js +33 -21
- package/dist/lib/text.d.ts +7 -2
- package/dist/lib/text.js +13 -2
- package/dist/lib/value-flags.d.ts +14 -0
- package/dist/lib/value-flags.js +28 -0
- package/dist/sites/coveo.d.ts +10 -0
- package/dist/sites/coveo.js +10 -0
- package/dist/sites/index.d.ts +16 -0
- package/dist/sites/index.js +16 -4
- package/dist/sites/markdown-twin.d.ts +31 -0
- package/dist/sites/markdown-twin.js +56 -0
- package/dist/sites/salesforce/fetch-page.d.ts +8 -2
- package/dist/sites/salesforce/fetch-page.js +14 -3
- package/dist/sites/salesforce/help-tooling-markdown.d.ts +30 -0
- package/dist/sites/salesforce/help-tooling-markdown.js +74 -0
- package/dist/sites/salesforce/index.d.ts +1 -0
- package/dist/sites/salesforce/index.js +1 -0
- package/dist/sites/salesforce-developer/fetch-page.d.ts +6 -1
- package/dist/sites/salesforce-developer/fetch-page.js +6 -1
- package/dist/sites/salesforce-developer/index.d.ts +1 -0
- package/dist/sites/salesforce-developer/index.js +1 -0
- package/dist/sites/salesforce-developer/route-markdown.d.ts +18 -6
- package/dist/sites/salesforce-developer/route-markdown.js +29 -67
- package/dist/sites/salesforce-doc-fetch.d.ts +39 -5
- package/dist/sites/salesforce-doc-fetch.js +52 -7
- package/dist/sites/salesforce-dom-probe.d.ts +20 -2
- package/dist/sites/salesforce-dom-probe.js +20 -2
- package/dist/sites/types.d.ts +14 -8
- package/dist/sites/types.js +3 -0
- package/oclif.manifest.json +192 -87
- package/package.json +19 -7
- package/agents/agents/official-docs-researcher.agent.md +0 -87
- package/agents/instructions/web-research.instructions.md +0 -44
- package/agents/skills/web-research/SKILL.md +0 -118
package/oclif.manifest.json
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"aliases": [],
|
|
5
5
|
"args": {
|
|
6
6
|
"url": {
|
|
7
|
-
"description": "
|
|
7
|
+
"description": "HTTP(S) URL to research",
|
|
8
8
|
"name": "url",
|
|
9
9
|
"required": true
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"description": "
|
|
12
|
+
"description": "Fetch a URL, convert the main content to Markdown, and cache compressed and detailed variants.\n\nUsually invoked as `bonsai <url>`; run `bonsai help fetch` for URL-form flags.",
|
|
13
13
|
"examples": [
|
|
14
14
|
{
|
|
15
|
-
"description": "
|
|
16
|
-
"command": "<%= config.bin %> https://docs.nestjs.com/ --topic \"Backend Frameworks\" --tags \"Node\" --tags \"NestJS\" --format detailed --ttl
|
|
15
|
+
"description": "cache docs with detailed output, topic, tags, and TTL",
|
|
16
|
+
"command": "<%= config.bin %> https://docs.nestjs.com/ --topic \"Backend Frameworks\" --tags \"Node\" --tags \"NestJS\" --format detailed --ttl 7d"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
|
-
"description": "
|
|
19
|
+
"description": "cache a volatile page with compressed JSON output",
|
|
20
20
|
"command": "<%= config.bin %> https://news.ycombinator.com/ --format compressed --ttl 2h --json"
|
|
21
21
|
}
|
|
22
22
|
],
|
|
@@ -28,9 +28,18 @@
|
|
|
28
28
|
"allowNo": false,
|
|
29
29
|
"type": "boolean"
|
|
30
30
|
},
|
|
31
|
+
"read-only": {
|
|
32
|
+
"aliases": [
|
|
33
|
+
"plan"
|
|
34
|
+
],
|
|
35
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
36
|
+
"name": "read-only",
|
|
37
|
+
"allowNo": false,
|
|
38
|
+
"type": "boolean"
|
|
39
|
+
},
|
|
31
40
|
"topic": {
|
|
32
41
|
"char": "t",
|
|
33
|
-
"description": "
|
|
42
|
+
"description": "main research topic for metadata",
|
|
34
43
|
"name": "topic",
|
|
35
44
|
"hasDynamicHelp": false,
|
|
36
45
|
"multiple": false,
|
|
@@ -46,7 +55,7 @@
|
|
|
46
55
|
},
|
|
47
56
|
"format": {
|
|
48
57
|
"char": "f",
|
|
49
|
-
"description": "
|
|
58
|
+
"description": "output format",
|
|
50
59
|
"name": "format",
|
|
51
60
|
"default": "compressed",
|
|
52
61
|
"hasDynamicHelp": false,
|
|
@@ -72,39 +81,39 @@
|
|
|
72
81
|
},
|
|
73
82
|
"ttl": {
|
|
74
83
|
"char": "l",
|
|
75
|
-
"description": "
|
|
84
|
+
"description": "TTL duration for freshness (e.g. \"2h\", \"7d\", \"6m\")",
|
|
76
85
|
"name": "ttl",
|
|
77
86
|
"hasDynamicHelp": false,
|
|
78
87
|
"multiple": false,
|
|
79
88
|
"type": "option"
|
|
80
89
|
},
|
|
81
90
|
"max-age": {
|
|
82
|
-
"description": "maximum age
|
|
91
|
+
"description": "maximum cache age to accept (e.g. \"2h\", \"7d\", \"6m\")",
|
|
83
92
|
"name": "max-age",
|
|
84
93
|
"hasDynamicHelp": false,
|
|
85
94
|
"multiple": false,
|
|
86
95
|
"type": "option"
|
|
87
96
|
},
|
|
88
97
|
"force": {
|
|
89
|
-
"description": "
|
|
98
|
+
"description": "fetch fresh content, ignoring cached entries",
|
|
90
99
|
"name": "force",
|
|
91
100
|
"allowNo": false,
|
|
92
101
|
"type": "boolean"
|
|
93
102
|
},
|
|
94
103
|
"dry-run": {
|
|
95
|
-
"description": "
|
|
104
|
+
"description": "fetch and validate without writing cache",
|
|
96
105
|
"name": "dry-run",
|
|
97
106
|
"allowNo": false,
|
|
98
107
|
"type": "boolean"
|
|
99
108
|
},
|
|
100
109
|
"allow-stale": {
|
|
101
|
-
"description": "
|
|
110
|
+
"description": "suppress exit code 5 when stale cache is served within grace after failed revalidation",
|
|
102
111
|
"name": "allow-stale",
|
|
103
112
|
"allowNo": false,
|
|
104
113
|
"type": "boolean"
|
|
105
114
|
},
|
|
106
115
|
"rendered": {
|
|
107
|
-
"description": "
|
|
116
|
+
"description": "use browser-rendered capture for dynamic pages",
|
|
108
117
|
"name": "rendered",
|
|
109
118
|
"allowNo": false,
|
|
110
119
|
"type": "boolean"
|
|
@@ -129,7 +138,7 @@
|
|
|
129
138
|
"pluginName": "@taurgis/bonsai",
|
|
130
139
|
"pluginType": "core",
|
|
131
140
|
"strict": false,
|
|
132
|
-
"summary": "
|
|
141
|
+
"summary": "Fetch and cache URL research Markdown",
|
|
133
142
|
"enableJsonFlag": true,
|
|
134
143
|
"stdoutIsPrimaryData": true
|
|
135
144
|
},
|
|
@@ -137,27 +146,27 @@
|
|
|
137
146
|
"aliases": [],
|
|
138
147
|
"args": {
|
|
139
148
|
"url": {
|
|
140
|
-
"description": "
|
|
149
|
+
"description": "single source URL for single-source import",
|
|
141
150
|
"name": "url",
|
|
142
151
|
"required": false
|
|
143
152
|
}
|
|
144
153
|
},
|
|
145
|
-
"description": "
|
|
154
|
+
"description": "Store supplied Markdown under one URL or a multi-source research note, using the same freshness and storage metadata as fetched pages.",
|
|
146
155
|
"examples": [
|
|
147
156
|
{
|
|
148
|
-
"description": "import detailed research for
|
|
149
|
-
"command": "
|
|
157
|
+
"description": "import detailed research for one URL from stdin",
|
|
158
|
+
"command": "printf \"# My Article\\n\" | <%= config.bin %> import https://example.com/docs --stdin --ttl 7d"
|
|
150
159
|
},
|
|
151
160
|
{
|
|
152
|
-
"description": "import research synthesized from multiple source URLs",
|
|
161
|
+
"description": "import a research note synthesized from multiple source URLs",
|
|
153
162
|
"command": "echo \"# Synthesized\" | <%= config.bin %> import --stdin --topic \"React docs\" --source-url https://react.dev/a --source-url https://react.dev/b"
|
|
154
163
|
},
|
|
155
164
|
{
|
|
156
|
-
"description": "import research from a
|
|
165
|
+
"description": "import research from a Markdown file",
|
|
157
166
|
"command": "<%= config.bin %> import https://example.com/docs --file path/to/notes.md"
|
|
158
167
|
},
|
|
159
168
|
{
|
|
160
|
-
"description": "import research from stdin
|
|
169
|
+
"description": "import research from stdin with the file placeholder",
|
|
161
170
|
"command": "cat notes.md | <%= config.bin %> import https://example.com/docs --file -"
|
|
162
171
|
}
|
|
163
172
|
],
|
|
@@ -169,6 +178,15 @@
|
|
|
169
178
|
"allowNo": false,
|
|
170
179
|
"type": "boolean"
|
|
171
180
|
},
|
|
181
|
+
"read-only": {
|
|
182
|
+
"aliases": [
|
|
183
|
+
"plan"
|
|
184
|
+
],
|
|
185
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
186
|
+
"name": "read-only",
|
|
187
|
+
"allowNo": false,
|
|
188
|
+
"type": "boolean"
|
|
189
|
+
},
|
|
172
190
|
"stdin": {
|
|
173
191
|
"description": "read Markdown from stdin",
|
|
174
192
|
"name": "stdin",
|
|
@@ -176,14 +194,15 @@
|
|
|
176
194
|
"type": "boolean"
|
|
177
195
|
},
|
|
178
196
|
"file": {
|
|
179
|
-
"
|
|
197
|
+
"char": "f",
|
|
198
|
+
"description": "Markdown file to import, or \"-\" for stdin",
|
|
180
199
|
"name": "file",
|
|
181
200
|
"hasDynamicHelp": false,
|
|
182
201
|
"multiple": false,
|
|
183
202
|
"type": "option"
|
|
184
203
|
},
|
|
185
204
|
"input-format": {
|
|
186
|
-
"description": "
|
|
205
|
+
"description": "input content format",
|
|
187
206
|
"name": "input-format",
|
|
188
207
|
"default": "detailed",
|
|
189
208
|
"hasDynamicHelp": false,
|
|
@@ -196,7 +215,7 @@
|
|
|
196
215
|
},
|
|
197
216
|
"topic": {
|
|
198
217
|
"char": "t",
|
|
199
|
-
"description": "
|
|
218
|
+
"description": "main topic for this research note",
|
|
200
219
|
"name": "topic",
|
|
201
220
|
"hasDynamicHelp": false,
|
|
202
221
|
"multiple": false,
|
|
@@ -224,7 +243,7 @@
|
|
|
224
243
|
"type": "option"
|
|
225
244
|
},
|
|
226
245
|
"source-url": {
|
|
227
|
-
"description": "
|
|
246
|
+
"description": "source URLs for multi-source import (can be repeated)",
|
|
228
247
|
"name": "source-url",
|
|
229
248
|
"hasDynamicHelp": false,
|
|
230
249
|
"multiple": true,
|
|
@@ -232,12 +251,18 @@
|
|
|
232
251
|
},
|
|
233
252
|
"ttl": {
|
|
234
253
|
"char": "l",
|
|
235
|
-
"description": "
|
|
254
|
+
"description": "TTL duration for imported note freshness (e.g. \"2h\", \"7d\", \"6m\")",
|
|
236
255
|
"name": "ttl",
|
|
237
256
|
"hasDynamicHelp": false,
|
|
238
257
|
"multiple": false,
|
|
239
258
|
"type": "option"
|
|
240
259
|
},
|
|
260
|
+
"dry-run": {
|
|
261
|
+
"description": "validate import without writing cache",
|
|
262
|
+
"name": "dry-run",
|
|
263
|
+
"allowNo": false,
|
|
264
|
+
"type": "boolean"
|
|
265
|
+
},
|
|
241
266
|
"storage": {
|
|
242
267
|
"description": "override where this note is cached (secrets always stored globally)",
|
|
243
268
|
"name": "storage",
|
|
@@ -257,7 +282,7 @@
|
|
|
257
282
|
"pluginName": "@taurgis/bonsai",
|
|
258
283
|
"pluginType": "core",
|
|
259
284
|
"strict": true,
|
|
260
|
-
"summary": "Import agent-supplied
|
|
285
|
+
"summary": "Import agent-supplied Markdown into cache",
|
|
261
286
|
"enableJsonFlag": true,
|
|
262
287
|
"stdoutIsPrimaryData": true
|
|
263
288
|
},
|
|
@@ -265,19 +290,19 @@
|
|
|
265
290
|
"aliases": [],
|
|
266
291
|
"args": {
|
|
267
292
|
"url": {
|
|
268
|
-
"description": "
|
|
293
|
+
"description": "URL to inspect",
|
|
269
294
|
"name": "url",
|
|
270
295
|
"required": true
|
|
271
296
|
}
|
|
272
297
|
},
|
|
273
|
-
"description": "
|
|
298
|
+
"description": "Show frontmatter metadata and section children for cached URLs without printing content.",
|
|
274
299
|
"examples": [
|
|
275
300
|
{
|
|
276
|
-
"description": "inspect cached
|
|
301
|
+
"description": "inspect cached metadata for a URL",
|
|
277
302
|
"command": "<%= config.bin %> <%= command.id %> https://example.com/docs"
|
|
278
303
|
},
|
|
279
304
|
{
|
|
280
|
-
"description": "
|
|
305
|
+
"description": "inspect cached metadata as JSON",
|
|
281
306
|
"command": "<%= config.bin %> <%= command.id %> https://example.com/docs --json"
|
|
282
307
|
}
|
|
283
308
|
],
|
|
@@ -288,6 +313,15 @@
|
|
|
288
313
|
"name": "json",
|
|
289
314
|
"allowNo": false,
|
|
290
315
|
"type": "boolean"
|
|
316
|
+
},
|
|
317
|
+
"read-only": {
|
|
318
|
+
"aliases": [
|
|
319
|
+
"plan"
|
|
320
|
+
],
|
|
321
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
322
|
+
"name": "read-only",
|
|
323
|
+
"allowNo": false,
|
|
324
|
+
"type": "boolean"
|
|
291
325
|
}
|
|
292
326
|
},
|
|
293
327
|
"hasDynamicHelp": false,
|
|
@@ -297,29 +331,29 @@
|
|
|
297
331
|
"pluginName": "@taurgis/bonsai",
|
|
298
332
|
"pluginType": "core",
|
|
299
333
|
"strict": false,
|
|
300
|
-
"summary": "Inspect cached research metadata for a URL
|
|
334
|
+
"summary": "Inspect cached research metadata for a URL",
|
|
301
335
|
"enableJsonFlag": true,
|
|
302
336
|
"stdoutIsPrimaryData": true
|
|
303
337
|
},
|
|
304
338
|
"list": {
|
|
305
339
|
"aliases": [],
|
|
306
340
|
"args": {},
|
|
307
|
-
"description": "
|
|
341
|
+
"description": "List page-level cached artifacts with source URLs, topic, tags, freshness, capture method, and token estimates.",
|
|
308
342
|
"examples": [
|
|
309
343
|
{
|
|
310
|
-
"description": "list
|
|
344
|
+
"description": "list cached entries",
|
|
311
345
|
"command": "<%= config.bin %> list"
|
|
312
346
|
},
|
|
313
347
|
{
|
|
314
|
-
"description": "list
|
|
348
|
+
"description": "list entries for a topic as JSON",
|
|
315
349
|
"command": "<%= config.bin %> list --topic \"React Suspense\" --json"
|
|
316
350
|
},
|
|
317
351
|
{
|
|
318
|
-
"description": "list
|
|
352
|
+
"description": "list fresh entries matching tags",
|
|
319
353
|
"command": "<%= config.bin %> list --freshness fresh --tags node --tags url"
|
|
320
354
|
},
|
|
321
355
|
{
|
|
322
|
-
"description": "list entries matching a
|
|
356
|
+
"description": "list entries matching a URL glob",
|
|
323
357
|
"command": "<%= config.bin %> list --url \"https://react.dev/*\""
|
|
324
358
|
}
|
|
325
359
|
],
|
|
@@ -331,9 +365,18 @@
|
|
|
331
365
|
"allowNo": false,
|
|
332
366
|
"type": "boolean"
|
|
333
367
|
},
|
|
368
|
+
"read-only": {
|
|
369
|
+
"aliases": [
|
|
370
|
+
"plan"
|
|
371
|
+
],
|
|
372
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
373
|
+
"name": "read-only",
|
|
374
|
+
"allowNo": false,
|
|
375
|
+
"type": "boolean"
|
|
376
|
+
},
|
|
334
377
|
"topic": {
|
|
335
378
|
"char": "t",
|
|
336
|
-
"description": "
|
|
379
|
+
"description": "exact topic (case-insensitive)",
|
|
337
380
|
"name": "topic",
|
|
338
381
|
"hasDynamicHelp": false,
|
|
339
382
|
"multiple": false,
|
|
@@ -341,21 +384,21 @@
|
|
|
341
384
|
},
|
|
342
385
|
"tags": {
|
|
343
386
|
"char": "g",
|
|
344
|
-
"description": "
|
|
387
|
+
"description": "tags to require (must match all)",
|
|
345
388
|
"name": "tags",
|
|
346
389
|
"hasDynamicHelp": false,
|
|
347
390
|
"multiple": true,
|
|
348
391
|
"type": "option"
|
|
349
392
|
},
|
|
350
393
|
"url": {
|
|
351
|
-
"description": "
|
|
394
|
+
"description": "source URL glob (case-insensitive, supports * wildcard)",
|
|
352
395
|
"name": "url",
|
|
353
396
|
"hasDynamicHelp": false,
|
|
354
397
|
"multiple": false,
|
|
355
398
|
"type": "option"
|
|
356
399
|
},
|
|
357
400
|
"freshness": {
|
|
358
|
-
"description": "
|
|
401
|
+
"description": "freshness state",
|
|
359
402
|
"name": "freshness",
|
|
360
403
|
"hasDynamicHelp": false,
|
|
361
404
|
"multiple": false,
|
|
@@ -367,7 +410,7 @@
|
|
|
367
410
|
"type": "option"
|
|
368
411
|
},
|
|
369
412
|
"artifact-type": {
|
|
370
|
-
"description": "
|
|
413
|
+
"description": "artifact type; section children are omitted from list - use inspect to see them",
|
|
371
414
|
"name": "artifact-type",
|
|
372
415
|
"hasDynamicHelp": false,
|
|
373
416
|
"multiple": false,
|
|
@@ -379,7 +422,7 @@
|
|
|
379
422
|
"type": "option"
|
|
380
423
|
},
|
|
381
424
|
"capture-method": {
|
|
382
|
-
"description": "
|
|
425
|
+
"description": "capture method",
|
|
383
426
|
"name": "capture-method",
|
|
384
427
|
"hasDynamicHelp": false,
|
|
385
428
|
"multiple": false,
|
|
@@ -393,7 +436,7 @@
|
|
|
393
436
|
"type": "option"
|
|
394
437
|
},
|
|
395
438
|
"limit": {
|
|
396
|
-
"description": "
|
|
439
|
+
"description": "result count (default 50, max 100)",
|
|
397
440
|
"name": "limit",
|
|
398
441
|
"default": 50,
|
|
399
442
|
"hasDynamicHelp": false,
|
|
@@ -408,25 +451,25 @@
|
|
|
408
451
|
"pluginName": "@taurgis/bonsai",
|
|
409
452
|
"pluginType": "core",
|
|
410
453
|
"strict": true,
|
|
411
|
-
"summary": "List cached research artifacts by metadata
|
|
454
|
+
"summary": "List cached research artifacts by metadata",
|
|
412
455
|
"enableJsonFlag": true,
|
|
413
456
|
"stdoutIsPrimaryData": true
|
|
414
457
|
},
|
|
415
458
|
"prune": {
|
|
416
459
|
"aliases": [],
|
|
417
460
|
"args": {},
|
|
418
|
-
"description": "
|
|
461
|
+
"description": "Delete cached artifacts by content age, idle time, URL glob, or artifact type.",
|
|
419
462
|
"examples": [
|
|
420
463
|
{
|
|
421
|
-
"description": "
|
|
422
|
-
"command": "<%= config.bin %> prune --older-than
|
|
464
|
+
"description": "preview pruning entries older than 30 days",
|
|
465
|
+
"command": "<%= config.bin %> prune --older-than 30d --dry-run"
|
|
423
466
|
},
|
|
424
467
|
{
|
|
425
|
-
"description": "
|
|
468
|
+
"description": "prune source artifacts older than 30 days",
|
|
426
469
|
"command": "<%= config.bin %> prune --older-than 30d --artifact-type source --yes"
|
|
427
470
|
},
|
|
428
471
|
{
|
|
429
|
-
"description": "prune entries matching a URL glob
|
|
472
|
+
"description": "prune entries matching a URL glob",
|
|
430
473
|
"command": "<%= config.bin %> prune --url \"https://react.dev/*\" --yes"
|
|
431
474
|
}
|
|
432
475
|
],
|
|
@@ -438,29 +481,38 @@
|
|
|
438
481
|
"allowNo": false,
|
|
439
482
|
"type": "boolean"
|
|
440
483
|
},
|
|
484
|
+
"read-only": {
|
|
485
|
+
"aliases": [
|
|
486
|
+
"plan"
|
|
487
|
+
],
|
|
488
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
489
|
+
"name": "read-only",
|
|
490
|
+
"allowNo": false,
|
|
491
|
+
"type": "boolean"
|
|
492
|
+
},
|
|
441
493
|
"older-than": {
|
|
442
|
-
"description": "
|
|
494
|
+
"description": "content age threshold (fetched_at, else validated_at), e.g. \"30d\"",
|
|
443
495
|
"name": "older-than",
|
|
444
496
|
"hasDynamicHelp": false,
|
|
445
497
|
"multiple": false,
|
|
446
498
|
"type": "option"
|
|
447
499
|
},
|
|
448
500
|
"inactive": {
|
|
449
|
-
"description": "
|
|
501
|
+
"description": "idle time threshold (validated_at, else fetched_at), e.g. \"14d\"",
|
|
450
502
|
"name": "inactive",
|
|
451
503
|
"hasDynamicHelp": false,
|
|
452
504
|
"multiple": false,
|
|
453
505
|
"type": "option"
|
|
454
506
|
},
|
|
455
507
|
"url": {
|
|
456
|
-
"description": "
|
|
508
|
+
"description": "source URL glob (case-insensitive, supports * wildcard)",
|
|
457
509
|
"name": "url",
|
|
458
510
|
"hasDynamicHelp": false,
|
|
459
511
|
"multiple": false,
|
|
460
512
|
"type": "option"
|
|
461
513
|
},
|
|
462
514
|
"artifact-type": {
|
|
463
|
-
"description": "
|
|
515
|
+
"description": "artifact type to prune, including section children",
|
|
464
516
|
"name": "artifact-type",
|
|
465
517
|
"hasDynamicHelp": false,
|
|
466
518
|
"multiple": false,
|
|
@@ -473,14 +525,14 @@
|
|
|
473
525
|
"type": "option"
|
|
474
526
|
},
|
|
475
527
|
"dry-run": {
|
|
476
|
-
"description": "
|
|
528
|
+
"description": "preview files without deleting",
|
|
477
529
|
"name": "dry-run",
|
|
478
530
|
"allowNo": false,
|
|
479
531
|
"type": "boolean"
|
|
480
532
|
},
|
|
481
533
|
"yes": {
|
|
482
534
|
"char": "y",
|
|
483
|
-
"description": "confirm deletion
|
|
535
|
+
"description": "confirm deletion (required unless --dry-run)",
|
|
484
536
|
"name": "yes",
|
|
485
537
|
"allowNo": false,
|
|
486
538
|
"type": "boolean"
|
|
@@ -493,7 +545,7 @@
|
|
|
493
545
|
"pluginName": "@taurgis/bonsai",
|
|
494
546
|
"pluginType": "core",
|
|
495
547
|
"strict": true,
|
|
496
|
-
"summary": "
|
|
548
|
+
"summary": "Prune cached research artifacts",
|
|
497
549
|
"enableJsonFlag": true,
|
|
498
550
|
"stdoutIsPrimaryData": true
|
|
499
551
|
},
|
|
@@ -501,19 +553,19 @@
|
|
|
501
553
|
"aliases": [],
|
|
502
554
|
"args": {
|
|
503
555
|
"url": {
|
|
504
|
-
"description": "
|
|
556
|
+
"description": "URL to check",
|
|
505
557
|
"name": "url",
|
|
506
558
|
"required": true
|
|
507
559
|
}
|
|
508
560
|
},
|
|
509
|
-
"description": "
|
|
561
|
+
"description": "Report cache hit/miss state, freshness, and the action the URL shorthand would take.",
|
|
510
562
|
"examples": [
|
|
511
563
|
{
|
|
512
|
-
"description": "check
|
|
564
|
+
"description": "check whether a URL is cached",
|
|
513
565
|
"command": "<%= config.bin %> <%= command.id %> https://example.com/docs"
|
|
514
566
|
},
|
|
515
567
|
{
|
|
516
|
-
"description": "
|
|
568
|
+
"description": "evaluate status with a specific tier and TTL",
|
|
517
569
|
"command": "<%= config.bin %> <%= command.id %> https://example.com/docs --tier volatile --ttl 2h"
|
|
518
570
|
}
|
|
519
571
|
],
|
|
@@ -525,10 +577,18 @@
|
|
|
525
577
|
"allowNo": false,
|
|
526
578
|
"type": "boolean"
|
|
527
579
|
},
|
|
580
|
+
"read-only": {
|
|
581
|
+
"aliases": [
|
|
582
|
+
"plan"
|
|
583
|
+
],
|
|
584
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
585
|
+
"name": "read-only",
|
|
586
|
+
"allowNo": false,
|
|
587
|
+
"type": "boolean"
|
|
588
|
+
},
|
|
528
589
|
"tier": {
|
|
529
|
-
"description": "freshness tier policy to evaluate
|
|
590
|
+
"description": "freshness tier policy to evaluate; when omitted, uses the cached entry's own tier",
|
|
530
591
|
"name": "tier",
|
|
531
|
-
"default": "standard",
|
|
532
592
|
"hasDynamicHelp": false,
|
|
533
593
|
"multiple": false,
|
|
534
594
|
"options": [
|
|
@@ -540,14 +600,14 @@
|
|
|
540
600
|
},
|
|
541
601
|
"ttl": {
|
|
542
602
|
"char": "l",
|
|
543
|
-
"description": "
|
|
603
|
+
"description": "TTL duration to evaluate freshness (e.g. \"2h\", \"7d\", \"6m\")",
|
|
544
604
|
"name": "ttl",
|
|
545
605
|
"hasDynamicHelp": false,
|
|
546
606
|
"multiple": false,
|
|
547
607
|
"type": "option"
|
|
548
608
|
},
|
|
549
609
|
"max-age": {
|
|
550
|
-
"description": "maximum age
|
|
610
|
+
"description": "maximum cache age to accept (e.g. \"2h\", \"7d\", \"6m\")",
|
|
551
611
|
"name": "max-age",
|
|
552
612
|
"hasDynamicHelp": false,
|
|
553
613
|
"multiple": false,
|
|
@@ -561,7 +621,7 @@
|
|
|
561
621
|
"pluginName": "@taurgis/bonsai",
|
|
562
622
|
"pluginType": "core",
|
|
563
623
|
"strict": false,
|
|
564
|
-
"summary": "Check
|
|
624
|
+
"summary": "Check cache status without fetching or writing",
|
|
565
625
|
"enableJsonFlag": true,
|
|
566
626
|
"stdoutIsPrimaryData": true
|
|
567
627
|
},
|
|
@@ -575,7 +635,7 @@
|
|
|
575
635
|
"command": "<%= config.bin %> <%= command.id %> get storage"
|
|
576
636
|
},
|
|
577
637
|
{
|
|
578
|
-
"description": "set
|
|
638
|
+
"description": "set project storage mode",
|
|
579
639
|
"command": "<%= config.bin %> <%= command.id %> set storage project --local"
|
|
580
640
|
}
|
|
581
641
|
],
|
|
@@ -586,6 +646,15 @@
|
|
|
586
646
|
"name": "json",
|
|
587
647
|
"allowNo": false,
|
|
588
648
|
"type": "boolean"
|
|
649
|
+
},
|
|
650
|
+
"read-only": {
|
|
651
|
+
"aliases": [
|
|
652
|
+
"plan"
|
|
653
|
+
],
|
|
654
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
655
|
+
"name": "read-only",
|
|
656
|
+
"allowNo": false,
|
|
657
|
+
"type": "boolean"
|
|
589
658
|
}
|
|
590
659
|
},
|
|
591
660
|
"hasDynamicHelp": false,
|
|
@@ -595,7 +664,7 @@
|
|
|
595
664
|
"pluginName": "@taurgis/bonsai",
|
|
596
665
|
"pluginType": "core",
|
|
597
666
|
"strict": true,
|
|
598
|
-
"summary": "Manage research cache
|
|
667
|
+
"summary": "Manage research cache configuration",
|
|
599
668
|
"enableJsonFlag": true,
|
|
600
669
|
"stdoutIsPrimaryData": true
|
|
601
670
|
},
|
|
@@ -608,7 +677,7 @@
|
|
|
608
677
|
"required": false
|
|
609
678
|
}
|
|
610
679
|
},
|
|
611
|
-
"description": "Print a config value. Without --global/--local, shows the merged effective value
|
|
680
|
+
"description": "Print a config value. Without --global/--local, shows the merged effective value, in precedence order: a per-command override flag (e.g. `fetch --storage`) > env var > project file > user file > built-in default.\n\nValid keys: storage, summary.",
|
|
612
681
|
"examples": [
|
|
613
682
|
{
|
|
614
683
|
"description": "get the effective storage mode",
|
|
@@ -627,9 +696,18 @@
|
|
|
627
696
|
"allowNo": false,
|
|
628
697
|
"type": "boolean"
|
|
629
698
|
},
|
|
699
|
+
"read-only": {
|
|
700
|
+
"aliases": [
|
|
701
|
+
"plan"
|
|
702
|
+
],
|
|
703
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
704
|
+
"name": "read-only",
|
|
705
|
+
"allowNo": false,
|
|
706
|
+
"type": "boolean"
|
|
707
|
+
},
|
|
630
708
|
"global": {
|
|
631
709
|
"char": "g",
|
|
632
|
-
"description": "
|
|
710
|
+
"description": "read user-level config only",
|
|
633
711
|
"name": "global",
|
|
634
712
|
"allowNo": false,
|
|
635
713
|
"type": "boolean"
|
|
@@ -641,7 +719,7 @@
|
|
|
641
719
|
"charAliases": [
|
|
642
720
|
"p"
|
|
643
721
|
],
|
|
644
|
-
"description": "
|
|
722
|
+
"description": "read project-level config only",
|
|
645
723
|
"name": "local",
|
|
646
724
|
"allowNo": false,
|
|
647
725
|
"type": "boolean"
|
|
@@ -654,7 +732,7 @@
|
|
|
654
732
|
"pluginName": "@taurgis/bonsai",
|
|
655
733
|
"pluginType": "core",
|
|
656
734
|
"strict": true,
|
|
657
|
-
"summary": "Get
|
|
735
|
+
"summary": "Get a research configuration value",
|
|
658
736
|
"stdoutIsPrimaryData": true
|
|
659
737
|
},
|
|
660
738
|
"config:list": {
|
|
@@ -679,9 +757,18 @@
|
|
|
679
757
|
"allowNo": false,
|
|
680
758
|
"type": "boolean"
|
|
681
759
|
},
|
|
760
|
+
"read-only": {
|
|
761
|
+
"aliases": [
|
|
762
|
+
"plan"
|
|
763
|
+
],
|
|
764
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
765
|
+
"name": "read-only",
|
|
766
|
+
"allowNo": false,
|
|
767
|
+
"type": "boolean"
|
|
768
|
+
},
|
|
682
769
|
"global": {
|
|
683
770
|
"char": "g",
|
|
684
|
-
"description": "
|
|
771
|
+
"description": "show user-level config only",
|
|
685
772
|
"name": "global",
|
|
686
773
|
"allowNo": false,
|
|
687
774
|
"type": "boolean"
|
|
@@ -693,7 +780,7 @@
|
|
|
693
780
|
"charAliases": [
|
|
694
781
|
"p"
|
|
695
782
|
],
|
|
696
|
-
"description": "
|
|
783
|
+
"description": "show project-level config only",
|
|
697
784
|
"name": "local",
|
|
698
785
|
"allowNo": false,
|
|
699
786
|
"type": "boolean"
|
|
@@ -706,7 +793,7 @@
|
|
|
706
793
|
"pluginName": "@taurgis/bonsai",
|
|
707
794
|
"pluginType": "core",
|
|
708
795
|
"strict": true,
|
|
709
|
-
"summary": "List
|
|
796
|
+
"summary": "List research configuration values",
|
|
710
797
|
"stdoutIsPrimaryData": true
|
|
711
798
|
},
|
|
712
799
|
"config:set": {
|
|
@@ -723,14 +810,14 @@
|
|
|
723
810
|
"required": false
|
|
724
811
|
}
|
|
725
812
|
},
|
|
726
|
-
"description": "Persist a configuration value. Writes user-level config by default; pass --local
|
|
813
|
+
"description": "Persist a configuration value. Writes user-level config by default; pass --local for project-level config (.bonsai.json in cwd).\n\nValid keys: storage, summary. The inline form `<key>=<value>` is also accepted.",
|
|
727
814
|
"examples": [
|
|
728
815
|
{
|
|
729
|
-
"description": "store research cache
|
|
816
|
+
"description": "store research cache in the current project",
|
|
730
817
|
"command": "<%= config.bin %> config set storage project --local"
|
|
731
818
|
},
|
|
732
819
|
{
|
|
733
|
-
"description": "set the user-level default
|
|
820
|
+
"description": "set the user-level default with key=value",
|
|
734
821
|
"command": "<%= config.bin %> config set storage=global"
|
|
735
822
|
}
|
|
736
823
|
],
|
|
@@ -742,9 +829,18 @@
|
|
|
742
829
|
"allowNo": false,
|
|
743
830
|
"type": "boolean"
|
|
744
831
|
},
|
|
832
|
+
"read-only": {
|
|
833
|
+
"aliases": [
|
|
834
|
+
"plan"
|
|
835
|
+
],
|
|
836
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
837
|
+
"name": "read-only",
|
|
838
|
+
"allowNo": false,
|
|
839
|
+
"type": "boolean"
|
|
840
|
+
},
|
|
745
841
|
"global": {
|
|
746
842
|
"char": "g",
|
|
747
|
-
"description": "
|
|
843
|
+
"description": "write user-level config (default)",
|
|
748
844
|
"name": "global",
|
|
749
845
|
"allowNo": false,
|
|
750
846
|
"type": "boolean"
|
|
@@ -756,13 +852,13 @@
|
|
|
756
852
|
"charAliases": [
|
|
757
853
|
"p"
|
|
758
854
|
],
|
|
759
|
-
"description": "
|
|
855
|
+
"description": "write project-level config (.bonsai.json in cwd)",
|
|
760
856
|
"name": "local",
|
|
761
857
|
"allowNo": false,
|
|
762
858
|
"type": "boolean"
|
|
763
859
|
},
|
|
764
860
|
"dry-run": {
|
|
765
|
-
"description": "
|
|
861
|
+
"description": "preview write without saving",
|
|
766
862
|
"name": "dry-run",
|
|
767
863
|
"allowNo": false,
|
|
768
864
|
"type": "boolean"
|
|
@@ -775,7 +871,7 @@
|
|
|
775
871
|
"pluginName": "@taurgis/bonsai",
|
|
776
872
|
"pluginType": "core",
|
|
777
873
|
"strict": true,
|
|
778
|
-
"summary": "Set a research configuration key
|
|
874
|
+
"summary": "Set a research configuration key",
|
|
779
875
|
"stdoutIsPrimaryData": true
|
|
780
876
|
},
|
|
781
877
|
"config:unset": {
|
|
@@ -806,9 +902,18 @@
|
|
|
806
902
|
"allowNo": false,
|
|
807
903
|
"type": "boolean"
|
|
808
904
|
},
|
|
905
|
+
"read-only": {
|
|
906
|
+
"aliases": [
|
|
907
|
+
"plan"
|
|
908
|
+
],
|
|
909
|
+
"description": "(alias: --plan) block filesystem writes/deletes; network fetches still run; also honored via BONSAI_READ_ONLY/BONSAI_PLAN_MODE",
|
|
910
|
+
"name": "read-only",
|
|
911
|
+
"allowNo": false,
|
|
912
|
+
"type": "boolean"
|
|
913
|
+
},
|
|
809
914
|
"global": {
|
|
810
915
|
"char": "g",
|
|
811
|
-
"description": "
|
|
916
|
+
"description": "remove from user-level config (default)",
|
|
812
917
|
"name": "global",
|
|
813
918
|
"allowNo": false,
|
|
814
919
|
"type": "boolean"
|
|
@@ -820,13 +925,13 @@
|
|
|
820
925
|
"charAliases": [
|
|
821
926
|
"p"
|
|
822
927
|
],
|
|
823
|
-
"description": "
|
|
928
|
+
"description": "remove from project-level config (.bonsai.json in cwd)",
|
|
824
929
|
"name": "local",
|
|
825
930
|
"allowNo": false,
|
|
826
931
|
"type": "boolean"
|
|
827
932
|
},
|
|
828
933
|
"dry-run": {
|
|
829
|
-
"description": "
|
|
934
|
+
"description": "preview removal without saving",
|
|
830
935
|
"name": "dry-run",
|
|
831
936
|
"allowNo": false,
|
|
832
937
|
"type": "boolean"
|
|
@@ -839,9 +944,9 @@
|
|
|
839
944
|
"pluginName": "@taurgis/bonsai",
|
|
840
945
|
"pluginType": "core",
|
|
841
946
|
"strict": true,
|
|
842
|
-
"summary": "Remove a research configuration key
|
|
947
|
+
"summary": "Remove a research configuration key",
|
|
843
948
|
"stdoutIsPrimaryData": true
|
|
844
949
|
}
|
|
845
950
|
},
|
|
846
|
-
"version": "3.
|
|
951
|
+
"version": "3.2.2"
|
|
847
952
|
}
|