oh-my-opencode-slim 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.ja-JP.md +13 -12
  2. package/README.ko-KR.md +13 -12
  3. package/README.md +29 -16
  4. package/README.zh-CN.md +13 -12
  5. package/dist/agents/index.d.ts +0 -4
  6. package/dist/cli/index.js +49 -6
  7. package/dist/config/constants.d.ts +10 -0
  8. package/dist/config/schema.d.ts +680 -2
  9. package/dist/config/strip-orchestrator-model.d.ts +9 -0
  10. package/dist/hooks/command-hook-utils.d.ts +5 -0
  11. package/dist/hooks/foreground-fallback/index.d.ts +40 -28
  12. package/dist/hooks/image-hook.d.ts +1 -0
  13. package/dist/hooks/index.d.ts +1 -1
  14. package/dist/index.js +1871 -326
  15. package/dist/interview/document.d.ts +2 -1
  16. package/dist/interview/ui.d.ts +0 -1
  17. package/dist/multiplexer/cmux/close-policy.d.ts +20 -0
  18. package/dist/multiplexer/cmux/index.d.ts +102 -0
  19. package/dist/multiplexer/cmux/session-lifecycle.d.ts +92 -0
  20. package/dist/multiplexer/cmux/session-state.d.ts +45 -0
  21. package/dist/multiplexer/factory.d.ts +0 -9
  22. package/dist/multiplexer/herdr/index.d.ts +2 -0
  23. package/dist/multiplexer/index.d.ts +3 -1
  24. package/dist/multiplexer/session-manager.d.ts +10 -2
  25. package/dist/multiplexer/shared.d.ts +8 -1
  26. package/dist/multiplexer/types.d.ts +5 -2
  27. package/dist/tools/smartfetch/utils.d.ts +3 -1
  28. package/dist/tui-state.d.ts +5 -5
  29. package/dist/tui.js +86 -20
  30. package/dist/utils/escape-html.d.ts +1 -0
  31. package/dist/utils/frontmatter.d.ts +6 -0
  32. package/dist/utils/index.d.ts +1 -1
  33. package/dist/utils/logger.d.ts +0 -2
  34. package/oh-my-opencode-slim.schema.json +717 -2
  35. package/package.json +1 -1
  36. package/src/skills/clonedeps/SKILL.md +32 -29
  37. package/src/skills/codemap.md +7 -3
  38. package/src/skills/deepwork/SKILL.md +17 -6
  39. package/src/skills/verification-planning/SKILL.md +103 -0
  40. package/src/skills/worktrees/SKILL.md +14 -7
@@ -12,6 +12,10 @@
12
12
  "description": "Use the compact TUI sidebar layout. Defaults to true; set false to use the expanded layout.",
13
13
  "type": "boolean"
14
14
  },
15
+ "stripOrchestratorModel": {
16
+ "description": "When true, omit orchestrator.model and orchestrator.variant from the SDK config so OpenCode uses the session model selected with /model after subagent dispatch. An explicitly selected preset that sets orchestrator.model is preserved. Defaults to false.",
17
+ "type": "boolean"
18
+ },
15
19
  "autoUpdate": {
16
20
  "description": "Disable automatic installation of plugin updates when false. Defaults to true.",
17
21
  "type": "boolean"
@@ -99,6 +103,357 @@
99
103
  "displayName": {
100
104
  "type": "string",
101
105
  "minLength": 1
106
+ },
107
+ "permission": {
108
+ "anyOf": [
109
+ {
110
+ "type": "string",
111
+ "enum": [
112
+ "ask",
113
+ "allow",
114
+ "deny"
115
+ ]
116
+ },
117
+ {
118
+ "type": "object",
119
+ "properties": {
120
+ "read": {
121
+ "anyOf": [
122
+ {
123
+ "type": "string",
124
+ "enum": [
125
+ "ask",
126
+ "allow",
127
+ "deny"
128
+ ]
129
+ },
130
+ {
131
+ "type": "object",
132
+ "propertyNames": {
133
+ "type": "string"
134
+ },
135
+ "additionalProperties": {
136
+ "type": "string",
137
+ "enum": [
138
+ "ask",
139
+ "allow",
140
+ "deny"
141
+ ]
142
+ }
143
+ }
144
+ ]
145
+ },
146
+ "edit": {
147
+ "anyOf": [
148
+ {
149
+ "type": "string",
150
+ "enum": [
151
+ "ask",
152
+ "allow",
153
+ "deny"
154
+ ]
155
+ },
156
+ {
157
+ "type": "object",
158
+ "propertyNames": {
159
+ "type": "string"
160
+ },
161
+ "additionalProperties": {
162
+ "type": "string",
163
+ "enum": [
164
+ "ask",
165
+ "allow",
166
+ "deny"
167
+ ]
168
+ }
169
+ }
170
+ ]
171
+ },
172
+ "glob": {
173
+ "anyOf": [
174
+ {
175
+ "type": "string",
176
+ "enum": [
177
+ "ask",
178
+ "allow",
179
+ "deny"
180
+ ]
181
+ },
182
+ {
183
+ "type": "object",
184
+ "propertyNames": {
185
+ "type": "string"
186
+ },
187
+ "additionalProperties": {
188
+ "type": "string",
189
+ "enum": [
190
+ "ask",
191
+ "allow",
192
+ "deny"
193
+ ]
194
+ }
195
+ }
196
+ ]
197
+ },
198
+ "grep": {
199
+ "anyOf": [
200
+ {
201
+ "type": "string",
202
+ "enum": [
203
+ "ask",
204
+ "allow",
205
+ "deny"
206
+ ]
207
+ },
208
+ {
209
+ "type": "object",
210
+ "propertyNames": {
211
+ "type": "string"
212
+ },
213
+ "additionalProperties": {
214
+ "type": "string",
215
+ "enum": [
216
+ "ask",
217
+ "allow",
218
+ "deny"
219
+ ]
220
+ }
221
+ }
222
+ ]
223
+ },
224
+ "list": {
225
+ "anyOf": [
226
+ {
227
+ "type": "string",
228
+ "enum": [
229
+ "ask",
230
+ "allow",
231
+ "deny"
232
+ ]
233
+ },
234
+ {
235
+ "type": "object",
236
+ "propertyNames": {
237
+ "type": "string"
238
+ },
239
+ "additionalProperties": {
240
+ "type": "string",
241
+ "enum": [
242
+ "ask",
243
+ "allow",
244
+ "deny"
245
+ ]
246
+ }
247
+ }
248
+ ]
249
+ },
250
+ "bash": {
251
+ "anyOf": [
252
+ {
253
+ "type": "string",
254
+ "enum": [
255
+ "ask",
256
+ "allow",
257
+ "deny"
258
+ ]
259
+ },
260
+ {
261
+ "type": "object",
262
+ "propertyNames": {
263
+ "type": "string"
264
+ },
265
+ "additionalProperties": {
266
+ "type": "string",
267
+ "enum": [
268
+ "ask",
269
+ "allow",
270
+ "deny"
271
+ ]
272
+ }
273
+ }
274
+ ]
275
+ },
276
+ "task": {
277
+ "anyOf": [
278
+ {
279
+ "type": "string",
280
+ "enum": [
281
+ "ask",
282
+ "allow",
283
+ "deny"
284
+ ]
285
+ },
286
+ {
287
+ "type": "object",
288
+ "propertyNames": {
289
+ "type": "string"
290
+ },
291
+ "additionalProperties": {
292
+ "type": "string",
293
+ "enum": [
294
+ "ask",
295
+ "allow",
296
+ "deny"
297
+ ]
298
+ }
299
+ }
300
+ ]
301
+ },
302
+ "external_directory": {
303
+ "anyOf": [
304
+ {
305
+ "type": "string",
306
+ "enum": [
307
+ "ask",
308
+ "allow",
309
+ "deny"
310
+ ]
311
+ },
312
+ {
313
+ "type": "object",
314
+ "propertyNames": {
315
+ "type": "string"
316
+ },
317
+ "additionalProperties": {
318
+ "type": "string",
319
+ "enum": [
320
+ "ask",
321
+ "allow",
322
+ "deny"
323
+ ]
324
+ }
325
+ }
326
+ ]
327
+ },
328
+ "lsp": {
329
+ "anyOf": [
330
+ {
331
+ "type": "string",
332
+ "enum": [
333
+ "ask",
334
+ "allow",
335
+ "deny"
336
+ ]
337
+ },
338
+ {
339
+ "type": "object",
340
+ "propertyNames": {
341
+ "type": "string"
342
+ },
343
+ "additionalProperties": {
344
+ "type": "string",
345
+ "enum": [
346
+ "ask",
347
+ "allow",
348
+ "deny"
349
+ ]
350
+ }
351
+ }
352
+ ]
353
+ },
354
+ "skill": {
355
+ "anyOf": [
356
+ {
357
+ "type": "string",
358
+ "enum": [
359
+ "ask",
360
+ "allow",
361
+ "deny"
362
+ ]
363
+ },
364
+ {
365
+ "type": "object",
366
+ "propertyNames": {
367
+ "type": "string"
368
+ },
369
+ "additionalProperties": {
370
+ "type": "string",
371
+ "enum": [
372
+ "ask",
373
+ "allow",
374
+ "deny"
375
+ ]
376
+ }
377
+ }
378
+ ]
379
+ },
380
+ "todowrite": {
381
+ "type": "string",
382
+ "enum": [
383
+ "ask",
384
+ "allow",
385
+ "deny"
386
+ ]
387
+ },
388
+ "question": {
389
+ "type": "string",
390
+ "enum": [
391
+ "ask",
392
+ "allow",
393
+ "deny"
394
+ ]
395
+ },
396
+ "webfetch": {
397
+ "type": "string",
398
+ "enum": [
399
+ "ask",
400
+ "allow",
401
+ "deny"
402
+ ]
403
+ },
404
+ "websearch": {
405
+ "type": "string",
406
+ "enum": [
407
+ "ask",
408
+ "allow",
409
+ "deny"
410
+ ]
411
+ },
412
+ "codesearch": {
413
+ "type": "string",
414
+ "enum": [
415
+ "ask",
416
+ "allow",
417
+ "deny"
418
+ ]
419
+ },
420
+ "doom_loop": {
421
+ "type": "string",
422
+ "enum": [
423
+ "ask",
424
+ "allow",
425
+ "deny"
426
+ ]
427
+ }
428
+ },
429
+ "additionalProperties": {
430
+ "anyOf": [
431
+ {
432
+ "type": "string",
433
+ "enum": [
434
+ "ask",
435
+ "allow",
436
+ "deny"
437
+ ]
438
+ },
439
+ {
440
+ "type": "object",
441
+ "propertyNames": {
442
+ "type": "string"
443
+ },
444
+ "additionalProperties": {
445
+ "type": "string",
446
+ "enum": [
447
+ "ask",
448
+ "allow",
449
+ "deny"
450
+ ]
451
+ }
452
+ }
453
+ ]
454
+ }
455
+ }
456
+ ]
102
457
  }
103
458
  },
104
459
  "additionalProperties": false
@@ -183,6 +538,357 @@
183
538
  "displayName": {
184
539
  "type": "string",
185
540
  "minLength": 1
541
+ },
542
+ "permission": {
543
+ "anyOf": [
544
+ {
545
+ "type": "string",
546
+ "enum": [
547
+ "ask",
548
+ "allow",
549
+ "deny"
550
+ ]
551
+ },
552
+ {
553
+ "type": "object",
554
+ "properties": {
555
+ "read": {
556
+ "anyOf": [
557
+ {
558
+ "type": "string",
559
+ "enum": [
560
+ "ask",
561
+ "allow",
562
+ "deny"
563
+ ]
564
+ },
565
+ {
566
+ "type": "object",
567
+ "propertyNames": {
568
+ "type": "string"
569
+ },
570
+ "additionalProperties": {
571
+ "type": "string",
572
+ "enum": [
573
+ "ask",
574
+ "allow",
575
+ "deny"
576
+ ]
577
+ }
578
+ }
579
+ ]
580
+ },
581
+ "edit": {
582
+ "anyOf": [
583
+ {
584
+ "type": "string",
585
+ "enum": [
586
+ "ask",
587
+ "allow",
588
+ "deny"
589
+ ]
590
+ },
591
+ {
592
+ "type": "object",
593
+ "propertyNames": {
594
+ "type": "string"
595
+ },
596
+ "additionalProperties": {
597
+ "type": "string",
598
+ "enum": [
599
+ "ask",
600
+ "allow",
601
+ "deny"
602
+ ]
603
+ }
604
+ }
605
+ ]
606
+ },
607
+ "glob": {
608
+ "anyOf": [
609
+ {
610
+ "type": "string",
611
+ "enum": [
612
+ "ask",
613
+ "allow",
614
+ "deny"
615
+ ]
616
+ },
617
+ {
618
+ "type": "object",
619
+ "propertyNames": {
620
+ "type": "string"
621
+ },
622
+ "additionalProperties": {
623
+ "type": "string",
624
+ "enum": [
625
+ "ask",
626
+ "allow",
627
+ "deny"
628
+ ]
629
+ }
630
+ }
631
+ ]
632
+ },
633
+ "grep": {
634
+ "anyOf": [
635
+ {
636
+ "type": "string",
637
+ "enum": [
638
+ "ask",
639
+ "allow",
640
+ "deny"
641
+ ]
642
+ },
643
+ {
644
+ "type": "object",
645
+ "propertyNames": {
646
+ "type": "string"
647
+ },
648
+ "additionalProperties": {
649
+ "type": "string",
650
+ "enum": [
651
+ "ask",
652
+ "allow",
653
+ "deny"
654
+ ]
655
+ }
656
+ }
657
+ ]
658
+ },
659
+ "list": {
660
+ "anyOf": [
661
+ {
662
+ "type": "string",
663
+ "enum": [
664
+ "ask",
665
+ "allow",
666
+ "deny"
667
+ ]
668
+ },
669
+ {
670
+ "type": "object",
671
+ "propertyNames": {
672
+ "type": "string"
673
+ },
674
+ "additionalProperties": {
675
+ "type": "string",
676
+ "enum": [
677
+ "ask",
678
+ "allow",
679
+ "deny"
680
+ ]
681
+ }
682
+ }
683
+ ]
684
+ },
685
+ "bash": {
686
+ "anyOf": [
687
+ {
688
+ "type": "string",
689
+ "enum": [
690
+ "ask",
691
+ "allow",
692
+ "deny"
693
+ ]
694
+ },
695
+ {
696
+ "type": "object",
697
+ "propertyNames": {
698
+ "type": "string"
699
+ },
700
+ "additionalProperties": {
701
+ "type": "string",
702
+ "enum": [
703
+ "ask",
704
+ "allow",
705
+ "deny"
706
+ ]
707
+ }
708
+ }
709
+ ]
710
+ },
711
+ "task": {
712
+ "anyOf": [
713
+ {
714
+ "type": "string",
715
+ "enum": [
716
+ "ask",
717
+ "allow",
718
+ "deny"
719
+ ]
720
+ },
721
+ {
722
+ "type": "object",
723
+ "propertyNames": {
724
+ "type": "string"
725
+ },
726
+ "additionalProperties": {
727
+ "type": "string",
728
+ "enum": [
729
+ "ask",
730
+ "allow",
731
+ "deny"
732
+ ]
733
+ }
734
+ }
735
+ ]
736
+ },
737
+ "external_directory": {
738
+ "anyOf": [
739
+ {
740
+ "type": "string",
741
+ "enum": [
742
+ "ask",
743
+ "allow",
744
+ "deny"
745
+ ]
746
+ },
747
+ {
748
+ "type": "object",
749
+ "propertyNames": {
750
+ "type": "string"
751
+ },
752
+ "additionalProperties": {
753
+ "type": "string",
754
+ "enum": [
755
+ "ask",
756
+ "allow",
757
+ "deny"
758
+ ]
759
+ }
760
+ }
761
+ ]
762
+ },
763
+ "lsp": {
764
+ "anyOf": [
765
+ {
766
+ "type": "string",
767
+ "enum": [
768
+ "ask",
769
+ "allow",
770
+ "deny"
771
+ ]
772
+ },
773
+ {
774
+ "type": "object",
775
+ "propertyNames": {
776
+ "type": "string"
777
+ },
778
+ "additionalProperties": {
779
+ "type": "string",
780
+ "enum": [
781
+ "ask",
782
+ "allow",
783
+ "deny"
784
+ ]
785
+ }
786
+ }
787
+ ]
788
+ },
789
+ "skill": {
790
+ "anyOf": [
791
+ {
792
+ "type": "string",
793
+ "enum": [
794
+ "ask",
795
+ "allow",
796
+ "deny"
797
+ ]
798
+ },
799
+ {
800
+ "type": "object",
801
+ "propertyNames": {
802
+ "type": "string"
803
+ },
804
+ "additionalProperties": {
805
+ "type": "string",
806
+ "enum": [
807
+ "ask",
808
+ "allow",
809
+ "deny"
810
+ ]
811
+ }
812
+ }
813
+ ]
814
+ },
815
+ "todowrite": {
816
+ "type": "string",
817
+ "enum": [
818
+ "ask",
819
+ "allow",
820
+ "deny"
821
+ ]
822
+ },
823
+ "question": {
824
+ "type": "string",
825
+ "enum": [
826
+ "ask",
827
+ "allow",
828
+ "deny"
829
+ ]
830
+ },
831
+ "webfetch": {
832
+ "type": "string",
833
+ "enum": [
834
+ "ask",
835
+ "allow",
836
+ "deny"
837
+ ]
838
+ },
839
+ "websearch": {
840
+ "type": "string",
841
+ "enum": [
842
+ "ask",
843
+ "allow",
844
+ "deny"
845
+ ]
846
+ },
847
+ "codesearch": {
848
+ "type": "string",
849
+ "enum": [
850
+ "ask",
851
+ "allow",
852
+ "deny"
853
+ ]
854
+ },
855
+ "doom_loop": {
856
+ "type": "string",
857
+ "enum": [
858
+ "ask",
859
+ "allow",
860
+ "deny"
861
+ ]
862
+ }
863
+ },
864
+ "additionalProperties": {
865
+ "anyOf": [
866
+ {
867
+ "type": "string",
868
+ "enum": [
869
+ "ask",
870
+ "allow",
871
+ "deny"
872
+ ]
873
+ },
874
+ {
875
+ "type": "object",
876
+ "propertyNames": {
877
+ "type": "string"
878
+ },
879
+ "additionalProperties": {
880
+ "type": "string",
881
+ "enum": [
882
+ "ask",
883
+ "allow",
884
+ "deny"
885
+ ]
886
+ }
887
+ }
888
+ ]
889
+ }
890
+ }
891
+ ]
186
892
  }
187
893
  },
188
894
  "additionalProperties": false
@@ -195,7 +901,16 @@
195
901
  "type": "string"
196
902
  }
197
903
  },
904
+ "image_routing": {
905
+ "description": "How image attachments are handled. When omitted, preserves legacy conditional behavior: intercept attachments only when observer is enabled. \"auto\": requires observer to be enabled and saves attachments to disk before nudging delegation to @observer. \"direct\": always passes attachments to the orchestrator untouched.",
906
+ "type": "string",
907
+ "enum": [
908
+ "auto",
909
+ "direct"
910
+ ]
911
+ },
198
912
  "disabled_mcps": {
913
+ "description": "MCP server names to disable completely. Disabled servers are not started and cannot be used by agents.",
199
914
  "type": "array",
200
915
  "items": {
201
916
  "type": "string"
@@ -226,6 +941,7 @@
226
941
  "tmux",
227
942
  "zellij",
228
943
  "herdr",
944
+ "cmux",
229
945
  "none"
230
946
  ]
231
947
  },
@@ -379,8 +1095,7 @@
379
1095
  "type": "boolean"
380
1096
  },
381
1097
  "runtimeOverride": {
382
- "default": true,
383
- "description": "When true (default), a runtime model selected via /model that is outside the configured fallback chain will still trigger the chain on rate-limit errors. When false, out-of-chain runtime picks are respected and the error surfaces instead of silently falling back to the chain. Models that are members of the chain always fall back regardless of this setting.",
1098
+ "description": "DEPRECATED: no longer used. Previously controlled whether out-of-chain runtime model picks triggered fallback. Fallback is now always disabled when a user explicitly selects a model via /model.",
384
1099
  "type": "boolean"
385
1100
  }
386
1101
  },