@duckmind/dm-darwin-x64 0.48.5 → 0.49.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dm +0 -0
  2. package/extensions/.dm-extensions.json +159 -220
  3. package/extensions/dm-9router-ext/package.json +0 -6
  4. package/extensions/dm-9router-ext/src/index.js +1 -1
  5. package/extensions/dm-ask-user/package.json +0 -4
  6. package/extensions/dm-caveman/extensions/caveman.js +29 -0
  7. package/extensions/dm-caveman/package.json +20 -0
  8. package/extensions/dm-cli-anything/index.js +5 -5
  9. package/extensions/dm-cli-anything/package.json +0 -7
  10. package/extensions/dm-cli-anything/skills/cli-anything/SKILL.md +1 -3
  11. package/extensions/dm-context/package.json +0 -1
  12. package/extensions/dm-cua/package.json +0 -7
  13. package/extensions/dm-fff/package.json +0 -6
  14. package/extensions/dm-goal/package.json +0 -8
  15. package/extensions/dm-grill-me/index.js +2 -2
  16. package/extensions/dm-grill-me/package.json +0 -7
  17. package/extensions/dm-image2/package.json +0 -8
  18. package/extensions/dm-subagents/.m/artifacts/shell/shell_output_1783845384621_9cf9262bf674.txt +1336 -0
  19. package/extensions/dm-subagents/.m/artifacts/shell/shell_output_1783846154938_6a41cefee0bf.txt +1336 -0
  20. package/extensions/dm-subagents/package.json +0 -11
  21. package/extensions/dm-subagents/src/extension/doctor.js +10 -10
  22. package/extensions/dm-subagents/src/extension/fanout-child.js +97 -97
  23. package/extensions/dm-subagents/src/extension/index.js +121 -121
  24. package/extensions/dm-subagents/src/extension/rpc.js +5 -5
  25. package/extensions/dm-subagents/src/extension/schemas.js +1 -1
  26. package/extensions/dm-subagents/src/extension/tool-description.js +2 -2
  27. package/extensions/dm-subagents/src/intercom/native-supervisor-channel.js +5 -5
  28. package/extensions/dm-subagents/src/runs/background/async-execution.js +19 -19
  29. package/extensions/dm-subagents/src/runs/background/async-job-tracker.js +9 -9
  30. package/extensions/dm-subagents/src/runs/background/async-resume.js +5 -5
  31. package/extensions/dm-subagents/src/runs/background/async-status.js +8 -8
  32. package/extensions/dm-subagents/src/runs/background/fleet-view.js +13 -13
  33. package/extensions/dm-subagents/src/runs/background/result-watcher.js +5 -5
  34. package/extensions/dm-subagents/src/runs/background/run-id-resolver.js +3 -3
  35. package/extensions/dm-subagents/src/runs/background/run-status.js +19 -19
  36. package/extensions/dm-subagents/src/runs/background/stale-run-reconciler.js +7 -7
  37. package/extensions/dm-subagents/src/runs/background/subagent-runner.js +35 -35
  38. package/extensions/dm-subagents/src/runs/background/wait.js +7 -7
  39. package/extensions/dm-subagents/src/runs/foreground/chain-execution.js +32 -32
  40. package/extensions/dm-subagents/src/runs/foreground/execution.js +26 -26
  41. package/extensions/dm-subagents/src/runs/foreground/subagent-executor.js +96 -96
  42. package/extensions/dm-subagents/src/runs/shared/dm-args.js +1 -1
  43. package/extensions/dm-subagents/src/runs/shared/nested-events.js +6 -6
  44. package/extensions/dm-subagents/src/runs/shared/subagent-prompt-runtime.js +13 -13
  45. package/extensions/dm-subagents/src/shared/fork-context.js +4 -4
  46. package/extensions/dm-tasks/package.json +0 -7
  47. package/extensions/dm-usage/package.json +0 -7
  48. package/extensions/greedysearch-dm/bin/cdp-greedy.mjs +1 -8
  49. package/extensions/greedysearch-dm/bin/gschrome.mjs +3 -3
  50. package/extensions/greedysearch-dm/bin/launch-visible.mjs +3 -3
  51. package/extensions/greedysearch-dm/bin/launch.mjs +4 -4
  52. package/extensions/greedysearch-dm/bin/search.mjs +103 -103
  53. package/extensions/greedysearch-dm/extractors/consensus.mjs +35 -35
  54. package/extensions/greedysearch-dm/extractors/gemini.mjs +38 -38
  55. package/extensions/greedysearch-dm/extractors/logically.mjs +35 -35
  56. package/extensions/greedysearch-dm/package.json +0 -10
  57. package/extensions/greedysearch-dm/src/search/chrome.mjs +23 -23
  58. package/extensions/greedysearch-dm/src/search/fetch-source.mjs +35 -35
  59. package/extensions/greedysearch-dm/src/search/research.mjs +61 -61
  60. package/extensions/greedysearch-dm/src/search/synthesis-runner.mjs +4 -4
  61. package/package.json +1 -1
  62. package/extensions/dm-9router-ext/README.md +0 -142
  63. package/extensions/dm-9router-ext/tsconfig.json +0 -17
  64. package/extensions/dm-ask-user/README.md +0 -226
  65. package/extensions/dm-cli-anything/LICENSE +0 -201
  66. package/extensions/dm-cli-anything/README.md +0 -33
  67. package/extensions/dm-cli-anything/vendor/UPSTREAM.md +0 -14
  68. package/extensions/dm-context/AGENTS.md +0 -41
  69. package/extensions/dm-context/README.md +0 -18
  70. package/extensions/dm-context/tsconfig.json +0 -16
  71. package/extensions/dm-cua/README.md +0 -24
  72. package/extensions/dm-fff/README.md +0 -36
  73. package/extensions/dm-fff/tsconfig.json +0 -13
  74. package/extensions/dm-goal/CHANGELOG.md +0 -12
  75. package/extensions/dm-goal/LICENSE +0 -21
  76. package/extensions/dm-goal/README.md +0 -29
  77. package/extensions/dm-goal/tsconfig.json +0 -15
  78. package/extensions/dm-grill-me/DESIGN.md +0 -301
  79. package/extensions/dm-grill-me/LICENSE +0 -21
  80. package/extensions/dm-grill-me/README.md +0 -82
  81. package/extensions/dm-grill-me/tsconfig.json +0 -17
  82. package/extensions/dm-image2/README.md +0 -33
  83. package/extensions/dm-subagents/CHANGELOG.md +0 -1211
  84. package/extensions/dm-subagents/README.md +0 -29
  85. package/extensions/dm-subagents/banner.png +0 -0
  86. package/extensions/dm-subagents/biome.json +0 -26
  87. package/extensions/dm-subagents/tsconfig.json +0 -18
  88. package/extensions/dm-tasks/LICENSE +0 -21
  89. package/extensions/dm-tasks/README.md +0 -30
  90. package/extensions/dm-tasks/biome.json +0 -26
  91. package/extensions/dm-tasks/tsconfig.json +0 -14
  92. package/extensions/dm-usage/LICENSE +0 -21
  93. package/extensions/dm-usage/README.md +0 -29
  94. package/extensions/dm-usage/insights-screenshot.png +0 -0
  95. package/extensions/dm-usage/screenshot.png +0 -0
  96. package/extensions/greedysearch-dm/LICENSE +0 -21
  97. package/extensions/greedysearch-dm/README.md +0 -222
package/dm CHANGED
Binary file
@@ -1,235 +1,84 @@
1
1
  {
2
2
  "status": "ok",
3
- "prepared_at": "2026-07-09T19:06:11.396850+00:00",
3
+ "prepared_at": "2026-07-11T19:37:30.028039+00:00",
4
4
  "managed_entries": [
5
5
  {
6
6
  "id": "dm-context",
7
- "upstream_name": "pi-context",
8
- "source_url": "https://github.com/ttttmr/pi-context",
9
- "upstream_revision": "1d8bcf280f9c7ea0ee24249cacc9538eaee71a52",
10
7
  "target_dir": "extensions/dm-context",
11
- "bundle_mode": "source-package",
12
- "copied_paths": [
13
- "README.md",
14
- "AGENTS.md",
15
- "package.json",
16
- "tsconfig.json",
17
- "src/",
18
- "skills/"
19
- ],
20
- "pinned_ref": "1d8bcf280f9c7ea0ee24249cacc9538eaee71a52"
8
+ "bundle_mode": "source-package"
21
9
  },
22
10
  {
23
11
  "id": "dm-subagents",
24
- "upstream_name": "pi-subagents",
25
- "source_url": "https://github.com/nicobailon/pi-subagents",
26
- "upstream_revision": "b0a65aeec322e5f24c14f136ade3421007a90c29",
27
12
  "target_dir": "extensions/dm-subagents",
28
- "bundle_mode": "source-package-with-runtime-deps",
29
- "copied_paths": [
30
- "README.md",
31
- "CHANGELOG.md",
32
- "package.json",
33
- ".npmrc",
34
- "install.mjs",
35
- "banner.png",
36
- "agents/",
37
- "prompts/",
38
- "skills/",
39
- "src/",
40
- "test/"
41
- ],
42
- "pinned_ref": "b0a65aeec322e5f24c14f136ade3421007a90c29"
13
+ "bundle_mode": "source-package-with-runtime-deps"
43
14
  },
44
15
  {
45
16
  "id": "dm-fff",
46
- "upstream_name": "pi-fff",
47
- "source_url": "https://github.com/dmtrKovalenko/fff.git",
48
- "upstream_revision": "18f546a4fe8939d884b495a7d761f4905ad205a3",
49
17
  "target_dir": "extensions/dm-fff",
50
- "bundle_mode": "source-package-with-runtime-deps",
51
- "copied_paths": [
52
- "README.md",
53
- "package.json",
54
- "tsconfig.json",
55
- "src/",
56
- "test/"
57
- ],
58
- "source_subdir": "packages/pi-fff",
59
- "pinned_ref": "18f546a4fe8939d884b495a7d761f4905ad205a3"
18
+ "bundle_mode": "source-package-with-runtime-deps"
60
19
  },
61
20
  {
62
21
  "id": "dm-tasks",
63
- "upstream_name": "pi-tasks",
64
- "source_url": "https://github.com/tintinweb/pi-tasks",
65
- "upstream_revision": "530d2dbd29c5d8ae6bebc3e184855507008fa5d0",
66
22
  "target_dir": "extensions/dm-tasks",
67
- "bundle_mode": "source-package-with-runtime-deps",
68
- "copied_paths": [
69
- "README.md",
70
- "LICENSE",
71
- "package.json",
72
- "biome.json",
73
- "tsconfig.json",
74
- "src/",
75
- "test/"
76
- ],
77
- "pinned_ref": "530d2dbd29c5d8ae6bebc3e184855507008fa5d0"
23
+ "bundle_mode": "source-package-with-runtime-deps"
78
24
  },
79
25
  {
80
26
  "id": "greedysearch-dm",
81
- "upstream_name": "GreedySearch-pi",
82
- "source_url": "https://github.com/apmantza/GreedySearch-pi",
83
- "upstream_revision": "2cb8cbe96f98279a20925411e446872ceab814d3",
84
27
  "target_dir": "extensions/greedysearch-dm",
85
- "bundle_mode": "source-package-with-runtime-deps",
86
- "copied_paths": [
87
- "README.md",
88
- "LICENSE",
89
- "package.json",
90
- "index.ts",
91
- "bin/",
92
- "extractors/",
93
- "src/",
94
- "skills/"
95
- ],
96
- "pinned_ref": "2cb8cbe96f98279a20925411e446872ceab814d3"
28
+ "bundle_mode": "source-package-with-runtime-deps"
97
29
  },
98
30
  {
99
31
  "id": "dm-ask-user",
100
- "upstream_name": "ask-user-question",
101
- "source_url": "https://github.com/emanuelcasco/pi-mono-extensions.git",
102
- "upstream_revision": "2d44b5788fbaf7aa23242226596c6d15e050beca",
103
32
  "target_dir": "extensions/dm-ask-user",
104
- "bundle_mode": "source-package",
105
- "copied_paths": [
106
- "README.md",
107
- "index.ts",
108
- "package.json"
109
- ],
110
- "source_subdir": "extensions/ask-user-question",
111
- "pinned_ref": "2d44b5788fbaf7aa23242226596c6d15e050beca"
33
+ "bundle_mode": "source-package"
112
34
  },
113
35
  {
114
36
  "id": "dm-usage",
115
- "upstream_name": "usage-extension",
116
- "source_url": "https://github.com/tmustier/pi-extensions.git",
117
- "upstream_revision": "240b370181ee353c0be8ceaa054d3e2f7ae7b60f",
118
37
  "target_dir": "extensions/dm-usage",
119
- "bundle_mode": "source-package",
120
- "copied_paths": [
121
- "README.md",
122
- "LICENSE",
123
- "package.json",
124
- "index.ts",
125
- "screenshot.png",
126
- "insights-screenshot.png"
127
- ],
128
- "source_subdir": "usage-extension",
129
- "pinned_ref": "240b370181ee353c0be8ceaa054d3e2f7ae7b60f"
38
+ "bundle_mode": "source-package"
130
39
  },
131
40
  {
132
41
  "id": "dm-goal",
133
- "upstream_name": "pi-goal",
134
- "source_url": "https://github.com/narumiruna/pi-extensions.git",
135
- "upstream_revision": "64825f524c72bf80441c456c22762f0e27b9bb82",
136
42
  "target_dir": "extensions/dm-goal",
137
- "bundle_mode": "source-package",
138
- "copied_paths": [
139
- "README.md",
140
- "LICENSE",
141
- "package.json",
142
- "tsconfig.json",
143
- "src/",
144
- "test/"
145
- ],
146
- "pinned_ref": "64825f524c72bf80441c456c22762f0e27b9bb82",
147
- "source_subdir": "extensions/pi-goal"
43
+ "bundle_mode": "source-package"
148
44
  },
149
45
  {
150
46
  "id": "dm-9router-ext",
151
- "upstream_name": "pi-9router-ext",
152
- "source_url": "https://github.com/irfansofyana/pi-9router-ext.git",
153
- "upstream_revision": "e5c82d549ad7665aae566cda0e9f9cda3daec998",
154
47
  "target_dir": "extensions/dm-9router-ext",
155
- "bundle_mode": "source-package-with-runtime-deps",
156
- "copied_paths": [
157
- "README.md",
158
- "package.json",
159
- "tsconfig.json",
160
- "src/"
161
- ],
162
- "pinned_ref": "e5c82d549ad7665aae566cda0e9f9cda3daec998"
48
+ "bundle_mode": "source-package-with-runtime-deps"
163
49
  },
164
50
  {
165
51
  "id": "dm-grill-me",
166
- "upstream_name": "pi-grill-me",
167
- "source_url": "https://github.com/majorgilles/pi-grill-me",
168
- "upstream_revision": "e9d60e79156ffc2c298bfc73c3657d406eb71c69",
169
52
  "target_dir": "extensions/dm-grill-me",
170
- "bundle_mode": "source-package-with-runtime-deps",
171
- "copied_paths": [
172
- "README.md",
173
- "DESIGN.md",
174
- "LICENSE",
175
- "package.json",
176
- "index.ts"
177
- ],
178
- "pinned_ref": "e9d60e79156ffc2c298bfc73c3657d406eb71c69"
53
+ "bundle_mode": "source-package-with-runtime-deps"
54
+ },
55
+ {
56
+ "id": "dm-caveman",
57
+ "target_dir": "extensions/dm-caveman",
58
+ "bundle_mode": "source-package"
179
59
  }
180
60
  ],
181
61
  "local_entries": [
182
62
  {
183
63
  "id": "dm-cua",
184
- "source_dir": "extensions/dm-cua",
185
- "target_dir": "dist/extensions/dm-cua",
186
- "bundle_mode": "local-source-package",
187
- "copied_paths": [
188
- ".DS_Store",
189
- "README.md",
190
- "bin/",
191
- "index.js",
192
- "package.json",
193
- "skills/",
194
- "src/",
195
- "test/"
196
- ]
64
+ "target_dir": "extensions/dm-cua",
65
+ "bundle_mode": "local-source-package"
197
66
  },
198
67
  {
199
68
  "id": "dm-image2",
200
- "source_dir": "extensions/dm-image2",
201
- "target_dir": "dist/extensions/dm-image2",
202
- "bundle_mode": "local-source-package",
203
- "copied_paths": [
204
- "README.md",
205
- "index.js",
206
- "package.json",
207
- "skills/",
208
- "src/",
209
- "test/",
210
- "vendor/"
211
- ]
69
+ "target_dir": "extensions/dm-image2",
70
+ "bundle_mode": "local-source-package"
212
71
  },
213
72
  {
214
73
  "id": "dm-cli-anything",
215
- "source_dir": "extensions/dm-cli-anything",
216
- "target_dir": "dist/extensions/dm-cli-anything",
217
- "bundle_mode": "local-source-package",
218
- "copied_paths": [
219
- "LICENSE",
220
- "README.md",
221
- "index.js",
222
- "package.json",
223
- "skills/",
224
- "vendor/"
225
- ]
74
+ "target_dir": "extensions/dm-cli-anything",
75
+ "bundle_mode": "local-source-package"
226
76
  }
227
77
  ],
228
78
  "prepared_entries": [
229
79
  {
230
80
  "id": "dm-context",
231
- "source_dir": "extensions/dm-context",
232
- "staged_dir": "dist/extensions/dm-context",
81
+ "staged_dir": "extensions/dm-context",
233
82
  "bundle_mode": "source-package",
234
83
  "dependencies_installed": false,
235
84
  "dependency_mode": "none",
@@ -237,7 +86,12 @@
237
86
  "dependency_patches": [
238
87
  "dm.extensions ts->js",
239
88
  "drop-devDependencies",
240
- "drop-scripts"
89
+ "drop-scripts",
90
+ "drop-types"
91
+ ],
92
+ "stripped_documentation": [
93
+ "AGENTS.md",
94
+ "README.md"
241
95
  ],
242
96
  "javascript_bundle_minify": {
243
97
  "tool": "bun build --minify",
@@ -261,8 +115,7 @@
261
115
  },
262
116
  {
263
117
  "id": "dm-subagents",
264
- "source_dir": "extensions/dm-subagents",
265
- "staged_dir": "dist/extensions/dm-subagents",
118
+ "staged_dir": "extensions/dm-subagents",
266
119
  "bundle_mode": "source-package-with-runtime-deps",
267
120
  "dependencies_installed": false,
268
121
  "dependency_mode": "platform-package-dependency",
@@ -278,7 +131,13 @@
278
131
  "drop-dependencies",
279
132
  "drop-devDependencies",
280
133
  "drop-peerDependencies",
281
- "drop-scripts"
134
+ "drop-scripts",
135
+ "drop-files"
136
+ ],
137
+ "stripped_documentation": [
138
+ "CHANGELOG.md",
139
+ "README.md",
140
+ "banner.png"
282
141
  ],
283
142
  "javascript_bundle_minify": {
284
143
  "tool": "bun build --minify",
@@ -378,8 +237,8 @@
378
237
  "src/tui/render.js"
379
238
  ],
380
239
  "file_count": 93,
381
- "before_bytes": 1543524,
382
- "after_bytes": 3096507,
240
+ "before_bytes": 1545519,
241
+ "after_bytes": 3105323,
383
242
  "externals": [
384
243
  "@duckmind/dm-agent-core",
385
244
  "@duckmind/dm-ai",
@@ -392,8 +251,7 @@
392
251
  },
393
252
  {
394
253
  "id": "dm-fff",
395
- "source_dir": "extensions/dm-fff",
396
- "staged_dir": "dist/extensions/dm-fff",
254
+ "staged_dir": "extensions/dm-fff",
397
255
  "bundle_mode": "source-package-with-runtime-deps",
398
256
  "dependencies_installed": false,
399
257
  "dependency_mode": "platform-package-dependency",
@@ -408,7 +266,11 @@
408
266
  "drop-dependencies",
409
267
  "drop-devDependencies",
410
268
  "drop-peerDependencies",
411
- "drop-scripts"
269
+ "drop-scripts",
270
+ "drop-files"
271
+ ],
272
+ "stripped_documentation": [
273
+ "README.md"
412
274
  ],
413
275
  "javascript_bundle_minify": {
414
276
  "tool": "bun build --minify",
@@ -433,8 +295,7 @@
433
295
  },
434
296
  {
435
297
  "id": "dm-tasks",
436
- "source_dir": "extensions/dm-tasks",
437
- "staged_dir": "dist/extensions/dm-tasks",
298
+ "staged_dir": "extensions/dm-tasks",
438
299
  "bundle_mode": "source-package-with-runtime-deps",
439
300
  "dependencies_installed": false,
440
301
  "dependency_mode": "platform-package-dependency",
@@ -445,7 +306,12 @@
445
306
  "dm.extensions ts->js",
446
307
  "drop-dependencies",
447
308
  "drop-devDependencies",
448
- "drop-scripts"
309
+ "drop-scripts",
310
+ "drop-files"
311
+ ],
312
+ "stripped_documentation": [
313
+ "LICENSE",
314
+ "README.md"
449
315
  ],
450
316
  "javascript_bundle_minify": {
451
317
  "tool": "bun build --minify",
@@ -477,8 +343,7 @@
477
343
  },
478
344
  {
479
345
  "id": "greedysearch-dm",
480
- "source_dir": "extensions/greedysearch-dm",
481
- "staged_dir": "dist/extensions/greedysearch-dm",
346
+ "staged_dir": "extensions/greedysearch-dm",
482
347
  "bundle_mode": "source-package-with-runtime-deps",
483
348
  "dependencies_installed": false,
484
349
  "dependency_mode": "platform-package-dependency",
@@ -495,7 +360,12 @@
495
360
  "drop-dependencies",
496
361
  "drop-devDependencies",
497
362
  "drop-peerDependencies",
498
- "drop-scripts"
363
+ "drop-scripts",
364
+ "drop-files"
365
+ ],
366
+ "stripped_documentation": [
367
+ "LICENSE",
368
+ "README.md"
499
369
  ],
500
370
  "javascript_bundle_minify": {
501
371
  "tool": "bun build --minify",
@@ -555,8 +425,8 @@
555
425
  "src/utils/system-cmds.mjs"
556
426
  ],
557
427
  "file_count": 53,
558
- "before_bytes": 514420,
559
- "after_bytes": 807613,
428
+ "before_bytes": 512367,
429
+ "after_bytes": 801735,
560
430
  "externals": [
561
431
  "@duckmind/dm-agent-core",
562
432
  "@duckmind/dm-ai",
@@ -572,8 +442,7 @@
572
442
  },
573
443
  {
574
444
  "id": "dm-ask-user",
575
- "source_dir": "extensions/dm-ask-user",
576
- "staged_dir": "dist/extensions/dm-ask-user",
445
+ "staged_dir": "extensions/dm-ask-user",
577
446
  "bundle_mode": "source-package",
578
447
  "dependencies_installed": false,
579
448
  "dependency_mode": "platform-package-dependency",
@@ -586,7 +455,11 @@
586
455
  "dependency_patches": [
587
456
  "dm.extensions ts->js",
588
457
  "drop-devDependencies",
589
- "drop-peerDependencies"
458
+ "drop-peerDependencies",
459
+ "drop-files"
460
+ ],
461
+ "stripped_documentation": [
462
+ "README.md"
590
463
  ],
591
464
  "javascript_bundle_minify": {
592
465
  "tool": "bun build --minify",
@@ -607,8 +480,7 @@
607
480
  },
608
481
  {
609
482
  "id": "dm-usage",
610
- "source_dir": "extensions/dm-usage",
611
- "staged_dir": "dist/extensions/dm-usage",
483
+ "staged_dir": "extensions/dm-usage",
612
484
  "bundle_mode": "source-package",
613
485
  "dependencies_installed": false,
614
486
  "dependency_mode": "platform-package-dependency",
@@ -619,7 +491,14 @@
619
491
  "dependency_patches": [
620
492
  "dm.extensions ts->js",
621
493
  "drop-devDependencies",
622
- "drop-peerDependencies"
494
+ "drop-peerDependencies",
495
+ "drop-files"
496
+ ],
497
+ "stripped_documentation": [
498
+ "LICENSE",
499
+ "README.md",
500
+ "insights-screenshot.png",
501
+ "screenshot.png"
623
502
  ],
624
503
  "javascript_bundle_minify": {
625
504
  "tool": "bun build --minify",
@@ -639,8 +518,7 @@
639
518
  },
640
519
  {
641
520
  "id": "dm-goal",
642
- "source_dir": "extensions/dm-goal",
643
- "staged_dir": "dist/extensions/dm-goal",
521
+ "staged_dir": "extensions/dm-goal",
644
522
  "bundle_mode": "source-package",
645
523
  "dependencies_installed": false,
646
524
  "dependency_mode": "platform-package-dependency",
@@ -655,7 +533,13 @@
655
533
  "drop-dependencies",
656
534
  "drop-devDependencies",
657
535
  "drop-peerDependencies",
658
- "drop-scripts"
536
+ "drop-scripts",
537
+ "drop-files"
538
+ ],
539
+ "stripped_documentation": [
540
+ "CHANGELOG.md",
541
+ "LICENSE",
542
+ "README.md"
659
543
  ],
660
544
  "javascript_bundle_minify": {
661
545
  "tool": "bun build --minify",
@@ -680,8 +564,7 @@
680
564
  },
681
565
  {
682
566
  "id": "dm-9router-ext",
683
- "source_dir": "extensions/dm-9router-ext",
684
- "staged_dir": "dist/extensions/dm-9router-ext",
567
+ "staged_dir": "extensions/dm-9router-ext",
685
568
  "bundle_mode": "source-package-with-runtime-deps",
686
569
  "dependencies_installed": false,
687
570
  "dependency_mode": "platform-package-dependency",
@@ -694,7 +577,11 @@
694
577
  "main ts->js",
695
578
  "drop-devDependencies",
696
579
  "drop-peerDependencies",
697
- "drop-scripts"
580
+ "drop-scripts",
581
+ "drop-files"
582
+ ],
583
+ "stripped_documentation": [
584
+ "README.md"
698
585
  ],
699
586
  "javascript_bundle_minify": {
700
587
  "tool": "bun build --minify",
@@ -702,8 +589,8 @@
702
589
  "src/index.js"
703
590
  ],
704
591
  "file_count": 1,
705
- "before_bytes": 17266,
706
- "after_bytes": 6552,
592
+ "before_bytes": 17239,
593
+ "after_bytes": 6534,
707
594
  "externals": [
708
595
  "@duckmind/dm-agent-core",
709
596
  "@duckmind/dm-ai",
@@ -717,8 +604,7 @@
717
604
  },
718
605
  {
719
606
  "id": "dm-grill-me",
720
- "source_dir": "extensions/dm-grill-me",
721
- "staged_dir": "dist/extensions/dm-grill-me",
607
+ "staged_dir": "extensions/dm-grill-me",
722
608
  "bundle_mode": "source-package-with-runtime-deps",
723
609
  "dependencies_installed": false,
724
610
  "dependency_mode": "platform-package-dependency",
@@ -732,7 +618,13 @@
732
618
  "drop-dependencies",
733
619
  "drop-devDependencies",
734
620
  "drop-peerDependencies",
735
- "drop-scripts"
621
+ "drop-scripts",
622
+ "drop-files"
623
+ ],
624
+ "stripped_documentation": [
625
+ "DESIGN.md",
626
+ "LICENSE",
627
+ "README.md"
736
628
  ],
737
629
  "javascript_bundle_minify": {
738
630
  "tool": "bun build --minify",
@@ -740,7 +632,7 @@
740
632
  "index.js"
741
633
  ],
742
634
  "file_count": 1,
743
- "before_bytes": 53082,
635
+ "before_bytes": 53067,
744
636
  "after_bytes": 37967,
745
637
  "externals": [
746
638
  "@duckmind/dm-agent-core",
@@ -753,16 +645,55 @@
753
645
  ]
754
646
  }
755
647
  },
648
+ {
649
+ "id": "dm-caveman",
650
+ "staged_dir": "extensions/dm-caveman",
651
+ "bundle_mode": "source-package",
652
+ "dependencies_installed": false,
653
+ "dependency_mode": "platform-package-dependency",
654
+ "dependencies_declared": [
655
+ "@duckmind/dm-coding-agent",
656
+ "@duckmind/dm-tui"
657
+ ],
658
+ "dependency_patches": [
659
+ "dm.extensions ts->js",
660
+ "drop-devDependencies",
661
+ "drop-peerDependencies",
662
+ "drop-files"
663
+ ],
664
+ "stripped_documentation": [
665
+ "LICENSE",
666
+ "README.md"
667
+ ],
668
+ "javascript_bundle_minify": {
669
+ "tool": "bun build --minify",
670
+ "files": [
671
+ "extensions/caveman.js"
672
+ ],
673
+ "file_count": 1,
674
+ "before_bytes": 14030,
675
+ "after_bytes": 7543,
676
+ "externals": [
677
+ "@duckmind/dm-agent-core",
678
+ "@duckmind/dm-ai",
679
+ "@duckmind/dm-coding-agent",
680
+ "@duckmind/dm-tui"
681
+ ]
682
+ }
683
+ },
756
684
  {
757
685
  "id": "dm-cua",
758
- "source_dir": "extensions/dm-cua",
759
- "staged_dir": "dist/extensions/dm-cua",
686
+ "staged_dir": "extensions/dm-cua",
760
687
  "bundle_mode": "local-source-package",
761
688
  "dependencies_installed": false,
762
689
  "dependency_mode": "none",
763
690
  "dependency_patches": [
764
691
  "drop-devDependencies",
765
- "drop-peerDependencies"
692
+ "drop-peerDependencies",
693
+ "drop-files"
694
+ ],
695
+ "stripped_documentation": [
696
+ "README.md"
766
697
  ],
767
698
  "javascript_bundle_minify": {
768
699
  "tool": "bun build --minify",
@@ -785,14 +716,17 @@
785
716
  },
786
717
  {
787
718
  "id": "dm-image2",
788
- "source_dir": "extensions/dm-image2",
789
- "staged_dir": "dist/extensions/dm-image2",
719
+ "staged_dir": "extensions/dm-image2",
790
720
  "bundle_mode": "local-source-package",
791
721
  "dependencies_installed": false,
792
722
  "dependency_mode": "none",
793
723
  "dependency_patches": [
794
724
  "drop-devDependencies",
795
- "drop-peerDependencies"
725
+ "drop-peerDependencies",
726
+ "drop-files"
727
+ ],
728
+ "stripped_documentation": [
729
+ "README.md"
796
730
  ],
797
731
  "javascript_bundle_minify": {
798
732
  "tool": "bun build --minify",
@@ -814,14 +748,19 @@
814
748
  },
815
749
  {
816
750
  "id": "dm-cli-anything",
817
- "source_dir": "extensions/dm-cli-anything",
818
- "staged_dir": "dist/extensions/dm-cli-anything",
751
+ "staged_dir": "extensions/dm-cli-anything",
819
752
  "bundle_mode": "local-source-package",
820
753
  "dependencies_installed": false,
821
754
  "dependency_mode": "none",
822
755
  "dependency_patches": [
823
756
  "drop-devDependencies",
824
- "drop-peerDependencies"
757
+ "drop-peerDependencies",
758
+ "drop-files"
759
+ ],
760
+ "stripped_documentation": [
761
+ "LICENSE",
762
+ "README.md",
763
+ "vendor/UPSTREAM.md"
825
764
  ],
826
765
  "javascript_bundle_minify": {
827
766
  "tool": "bun build --minify",
@@ -829,8 +768,8 @@
829
768
  "index.js"
830
769
  ],
831
770
  "file_count": 1,
832
- "before_bytes": 11726,
833
- "after_bytes": 7771,
771
+ "before_bytes": 11318,
772
+ "after_bytes": 7451,
834
773
  "externals": [
835
774
  "@duckmind/dm-agent-core",
836
775
  "@duckmind/dm-ai",
@@ -15,12 +15,6 @@
15
15
  "author": "Irfan Sofyana <mail@irfansp.dev>",
16
16
  "type": "module",
17
17
  "main": "./src/index.js",
18
- "files": [
19
- "src",
20
- "README.md",
21
- "package.json",
22
- "tsconfig.json"
23
- ],
24
18
  "dm": {
25
19
  "extensions": [
26
20
  "./src/index.js"
@@ -1,5 +1,5 @@
1
1
  import{existsSync as k,mkdirSync as T,readFileSync as N,writeFileSync as P}from"node:fs";import{homedir as _}from"node:os";import{dirname as R,join as p}from"node:path";import{Type as y}from"typebox";var C="http://localhost:20128",u=process.env.NINE_ROUTER_BASE_URL,M=process.env.NINE_ROUTER_API_KEY,b=p(_(),".dm","agent","9router-config.json"),S="9router-config",x="9router-last-route",v=["x-9router-model","x-routed-model","x-actual-model","x-upstream-model","x-provider-model"];function G(q){return q.replace(/\/$/,"")}function I(q){if(q.length<=8)return"●".repeat(q.length);return q.slice(0,4)+"●".repeat(Math.max(0,q.length-8))+q.slice(-4)}function A(q){return{baseUrl:G(u||q.baseUrl),apiKey:M||q.apiKey}}function E(){try{if(!k(b))return null;let q=JSON.parse(N(b,"utf8"));if(!q.baseUrl||typeof q.baseUrl!=="string")return null;return{baseUrl:G(q.baseUrl),apiKey:typeof q.apiKey==="string"&&q.apiKey.trim()?q.apiKey.trim():void 0}}catch(q){return console.error("[dm-9router-ext] Failed to load persisted config:",q),null}}function a(q){try{T(R(b),{recursive:!0}),P(b,`${JSON.stringify({baseUrl:q.baseUrl,apiKey:q.apiKey},null,2)}
2
- `,{mode:384})}catch(J){console.error("[dm-9router-ext] Failed to persist config:",J)}}function f(){return A(E()||{baseUrl:C,apiKey:void 0})}function g(q){for(let J of q.sessionManager.getEntries())if(J.type==="custom"&&J.customType===S){let Q=J.data;if(Q?.baseUrl)return A({baseUrl:G(Q.baseUrl),apiKey:Q.apiKey})}return null}function O(q,J){a(J),q.appendEntry(S,{baseUrl:J.baseUrl,apiKey:J.apiKey})}async function K(q,J){let Q={Accept:"application/json"};if(q.apiKey)Q.Authorization=`Bearer ${q.apiKey}`;let $=await fetch(`${q.baseUrl}/v1/models`,{method:"GET",headers:Q,signal:J});if(!$.ok){let w=await $.text().catch(()=>"");throw Error(`9router returned ${$.status}: ${w||$.statusText}`)}return(await $.json()).data||[]}async function h(q,J){try{let Q={};if(q.apiKey)Q.Authorization=`Bearer ${q.apiKey}`;let $=await fetch(`${q.baseUrl}/v1/models`,{method:"GET",headers:Q,signal:J});if($.ok)return{ok:!0};return{ok:!1,error:`HTTP ${$.status}: ${$.statusText}`}}catch(Q){return{ok:!1,error:Q instanceof Error?Q.message:String(Q)}}}function l(q){let J=q.owned_by==="combo";return{id:q.id,name:J?`\uD83D\uDD00 ${q.id}`:q.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096,compat:{supportsDeveloperRole:!1,supportsReasoningEffort:!1}}}function L(q,J,Q){q.registerProvider("9router",{name:"9router",baseUrl:`${J.baseUrl}/v1`,apiKey:J.apiKey||"9router-no-api-key",api:"openai-completions",models:Q.map(l)})}function F(q){q.unregisterProvider("9router")}async function m(q){let J=f(),Q=[],$,B,w=!1;try{let V=await K(J);Q=V,w=!0,L(q,J,V)}catch(V){F(q)}q.on("session_start",async(V,W)=>{let X=g(W);if(!E()&&X){J=X,O(q,J);try{let j=await K(J,W.signal);Q=j,w=!0,L(q,J,j)}catch(j){w=!1,console.error("[dm-9router-ext] Failed to refresh migrated config:",j)}}if(w&&Q.length>0)W.ui.notify(`9router connected — ${Q.length} models available`,"info")}),q.on("after_provider_response",(V)=>{if(V.status>=400||B!=="9router")return;for(let W of v){let X=V.headers[W];if(X&&typeof X==="string"){$=X,q.appendEntry(x,{model:X,timestamp:Date.now()});break}}}),q.on("model_select",async(V)=>{if(B=V.model.provider,V.model.provider!=="9router")$=void 0}),q.registerCommand("9router-status",{description:"Show 9router connection status and configuration",handler:async(V,W)=>{let X=await h(J,W.signal),j=["\uD83D\uDD17 9router Status","",`Base URL: ${J.baseUrl}`,`API Key: ${J.apiKey?I(J.apiKey):"not set"}`,`Connection: ${X.ok?"\uD83D\uDFE2 connected":`\uD83D\uDD34 ${X.error||"disconnected"}`}`,`Models: ${Q.length} available`];if($)j.push(`Last routed: ${$}`);let D=Q.filter((Z)=>Z.owned_by==="combo"),Y=Q.filter((Z)=>Z.owned_by!=="combo");if(Y.length>0)j.push("",`Regular models: ${Y.length}`);if(D.length>0)j.push(`Combos: ${D.length}`);W.ui.notify(j.join(`
2
+ `,{mode:384})}catch(J){console.error("[dm-9router-ext] Failed to persist config:",J)}}function f(){return A(E()||{baseUrl:C,apiKey:void 0})}function g(q){for(let J of q.sessionManager.getEntries())if(J.type==="custom"&&J.customType===S){let Q=J.data;if(Q?.baseUrl)return A({baseUrl:G(Q.baseUrl),apiKey:void 0})}return null}function O(q,J){a(J),q.appendEntry(S,{baseUrl:J.baseUrl})}async function K(q,J){let Q={Accept:"application/json"};if(q.apiKey)Q.Authorization=`Bearer ${q.apiKey}`;let $=await fetch(`${q.baseUrl}/v1/models`,{method:"GET",headers:Q,signal:J});if(!$.ok){let w=await $.text().catch(()=>"");throw Error(`9router returned ${$.status}: ${w||$.statusText}`)}return(await $.json()).data||[]}async function h(q,J){try{let Q={};if(q.apiKey)Q.Authorization=`Bearer ${q.apiKey}`;let $=await fetch(`${q.baseUrl}/v1/models`,{method:"GET",headers:Q,signal:J});if($.ok)return{ok:!0};return{ok:!1,error:`HTTP ${$.status}: ${$.statusText}`}}catch(Q){return{ok:!1,error:Q instanceof Error?Q.message:String(Q)}}}function l(q){let J=q.owned_by==="combo";return{id:q.id,name:J?`\uD83D\uDD00 ${q.id}`:q.id,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128000,maxTokens:4096,compat:{supportsDeveloperRole:!1,supportsReasoningEffort:!1}}}function L(q,J,Q){q.registerProvider("9router",{name:"9router",baseUrl:`${J.baseUrl}/v1`,apiKey:J.apiKey||"9router-no-api-key",api:"openai-completions",models:Q.map(l)})}function F(q){q.unregisterProvider("9router")}async function m(q){let J=f(),Q=[],$,B,w=!1;try{let V=await K(J);Q=V,w=!0,L(q,J,V)}catch(V){F(q)}q.on("session_start",async(V,W)=>{let X=g(W);if(!E()&&X){J=X,O(q,J);try{let j=await K(J,W.signal);Q=j,w=!0,L(q,J,j)}catch(j){w=!1,console.error("[dm-9router-ext] Failed to refresh migrated config:",j)}}if(w&&Q.length>0)W.ui.notify(`9router connected — ${Q.length} models available`,"info")}),q.on("after_provider_response",(V)=>{if(V.status>=400||B!=="9router")return;for(let W of v){let X=V.headers[W];if(X&&typeof X==="string"){$=X,q.appendEntry(x,{model:X,timestamp:Date.now()});break}}}),q.on("model_select",async(V)=>{if(B=V.model.provider,V.model.provider!=="9router")$=void 0}),q.registerCommand("9router-status",{description:"Show 9router connection status and configuration",handler:async(V,W)=>{let X=await h(J,W.signal),j=["\uD83D\uDD17 9router Status","",`Base URL: ${J.baseUrl}`,`API Key: ${J.apiKey?I(J.apiKey):"not set"}`,`Connection: ${X.ok?"\uD83D\uDFE2 connected":`\uD83D\uDD34 ${X.error||"disconnected"}`}`,`Models: ${Q.length} available`];if($)j.push(`Last routed: ${$}`);let D=Q.filter((Z)=>Z.owned_by==="combo"),Y=Q.filter((Z)=>Z.owned_by!=="combo");if(Y.length>0)j.push("",`Regular models: ${Y.length}`);if(D.length>0)j.push(`Combos: ${D.length}`);W.ui.notify(j.join(`
3
3
  `),X.ok?"info":"warning")}}),q.registerCommand("9router-models",{description:"Browse 9router available models and combos",handler:async(V,W)=>{if(Q.length===0){W.ui.notify("No 9router models discovered. Check connection with /9router-status","warning");return}let X=Q.map((Z)=>{let H=Z.owned_by==="combo";return{value:Z.id,label:H?`\uD83D\uDD00 ${Z.id}`:Z.id}}),j=await W.ui.select("Select a 9router model to use:",X.map((Z)=>Z.label));if(!j)return;let D=X.find((Z)=>Z.label===j)?.value;if(!D)return;let Y=`9router/${D}`;W.ui.notify(`Switching to ${Y}...`,"info"),q.sendUserMessage(`/model ${Y}`,{deliverAs:"followUp"})}}),q.registerCommand("9router-config",{description:"Configure 9router base URL and API key",handler:async(V,W)=>{let j=(await h(J,W.signal)).ok?"\uD83D\uDFE2 connected":"\uD83D\uDD34 disconnected",D=J.apiKey?"●●●●●●●● (set)":"not set",Y=["Current config:",` Base URL: ${J.baseUrl}`,` API Key: ${J.apiKey?I(J.apiKey):"not set"}`,` Status: ${j}`,"","Enter new values (press Enter to keep current):"].join(`
4
4
  `);W.ui.notify(Y,"info");let Z=await W.ui.input("Base URL",J.baseUrl);if(Z===void 0)return;let H=await W.ui.input("API key (press Enter to keep current, leave blank to remove):",J.apiKey||"");if(H===void 0)return;J={baseUrl:G(Z),apiKey:H.trim()||void 0},O(q,J);try{let z=await K(J,W.signal);Q=z,w=!0,L(q,J,z),W.ui.notify(`9router updated — ${z.length} models at ${J.baseUrl}`,"info")}catch(z){w=!1,F(q);let U=z instanceof Error?z.message:String(z);W.ui.notify(`Failed to connect: ${U}`,"error")}}}),q.registerCommand("9router-reload",{description:"Reload models from 9router",handler:async(V,W)=>{try{let X=await K(J,W.signal);Q=X,w=!0,L(q,J,X),W.ui.notify(`9router reloaded — ${X.length} models`,"info")}catch(X){w=!1,F(q);let j=X instanceof Error?X.message:String(X);W.ui.notify(`Reload failed: ${j}`,"error")}}}),q.registerTool({name:"ninerouter_status",label:"9router Status",description:"Check 9router connection status and list available models",parameters:y.Object({}),async execute(V,W,X,j,D){let Y=await h(J,D.signal),Z=Q.filter((z)=>z.owned_by==="combo"),H=Q.filter((z)=>z.owned_by!=="combo");return{content:[{type:"text",text:[`9router: ${Y.ok?"connected":`disconnected (${Y.error})`}`,`Base URL: ${J.baseUrl}`,`Total models: ${Q.length}`,` Regular: ${H.length}`,` Combos: ${Z.length}`,$?`Last routed model: ${$}`:""].filter(Boolean).join(`
5
5
  `)}],details:{connected:Y.ok,baseUrl:J.baseUrl,modelCount:Q.length,regularCount:H.length,comboCount:Z.length,lastRoutedModel:$,models:Q.map((z)=>z.id)}}}})}export{m as default};