oh-my-opencode-slim 2.1.0 → 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 (61) hide show
  1. package/README.ja-JP.md +31 -30
  2. package/README.ko-KR.md +31 -30
  3. package/README.md +57 -33
  4. package/README.zh-CN.md +29 -28
  5. package/dist/agents/index.d.ts +0 -4
  6. package/dist/cli/index.js +90 -16
  7. package/dist/cli/providers.d.ts +7 -7
  8. package/dist/companion/manager.d.ts +3 -0
  9. package/dist/config/constants.d.ts +12 -1
  10. package/dist/config/council-schema.d.ts +37 -12
  11. package/dist/config/schema.d.ts +691 -6
  12. package/dist/config/strip-orchestrator-model.d.ts +9 -0
  13. package/dist/council/council-manager.d.ts +7 -3
  14. package/dist/hooks/command-hook-utils.d.ts +5 -0
  15. package/dist/hooks/foreground-fallback/index.d.ts +53 -7
  16. package/dist/hooks/image-hook.d.ts +1 -0
  17. package/dist/hooks/index.d.ts +2 -1
  18. package/dist/hooks/phase-reminder/index.d.ts +3 -1
  19. package/dist/hooks/post-file-tool-nudge/index.d.ts +15 -9
  20. package/dist/hooks/session-lifecycle.d.ts +11 -0
  21. package/dist/hooks/task-session-manager/index.d.ts +14 -2
  22. package/dist/index.js +2804 -801
  23. package/dist/interview/document.d.ts +2 -1
  24. package/dist/interview/service.d.ts +2 -0
  25. package/dist/interview/ui.d.ts +0 -1
  26. package/dist/multiplexer/cmux/close-policy.d.ts +20 -0
  27. package/dist/multiplexer/cmux/index.d.ts +102 -0
  28. package/dist/multiplexer/cmux/session-lifecycle.d.ts +92 -0
  29. package/dist/multiplexer/cmux/session-state.d.ts +45 -0
  30. package/dist/multiplexer/factory.d.ts +0 -9
  31. package/dist/multiplexer/herdr/index.d.ts +7 -3
  32. package/dist/multiplexer/index.d.ts +3 -1
  33. package/dist/multiplexer/session-manager.d.ts +14 -6
  34. package/dist/multiplexer/shared.d.ts +31 -0
  35. package/dist/multiplexer/tmux/index.d.ts +0 -1
  36. package/dist/multiplexer/types.d.ts +5 -2
  37. package/dist/multiplexer/zellij/index.d.ts +0 -1
  38. package/dist/tools/cancel-task.d.ts +2 -2
  39. package/dist/tools/smartfetch/utils.d.ts +3 -1
  40. package/dist/tui-state.d.ts +5 -5
  41. package/dist/tui.d.ts +1 -0
  42. package/dist/tui.js +130 -29
  43. package/dist/utils/background-job-board.d.ts +5 -1
  44. package/dist/utils/background-job-coordinator.d.ts +72 -0
  45. package/dist/utils/background-job-store.d.ts +46 -0
  46. package/dist/utils/councillor-models.d.ts +20 -0
  47. package/dist/utils/escape-html.d.ts +1 -0
  48. package/dist/utils/frontmatter.d.ts +6 -0
  49. package/dist/utils/index.d.ts +3 -1
  50. package/dist/utils/internal-initiator.d.ts +6 -1
  51. package/dist/utils/logger.d.ts +0 -2
  52. package/dist/utils/session.d.ts +1 -1
  53. package/oh-my-opencode-slim.schema.json +728 -1
  54. package/package.json +1 -1
  55. package/src/skills/clonedeps/SKILL.md +32 -29
  56. package/src/skills/codemap.md +7 -3
  57. package/src/skills/deepwork/SKILL.md +17 -6
  58. package/src/skills/oh-my-opencode-slim/SKILL.md +3 -3
  59. package/src/skills/release-smoke-test/SKILL.md +2 -2
  60. package/src/skills/verification-planning/SKILL.md +103 -0
  61. package/src/skills/worktrees/SKILL.md +14 -7
@@ -9,7 +9,11 @@
9
9
  "type": "boolean"
10
10
  },
11
11
  "compactSidebar": {
12
- "description": "Use the compact TUI sidebar layout when enabled.",
12
+ "description": "Use the compact TUI sidebar layout. Defaults to true; set false to use the expanded layout.",
13
+ "type": "boolean"
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.",
13
17
  "type": "boolean"
14
18
  },
15
19
  "autoUpdate": {
@@ -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
  },
@@ -366,10 +1082,21 @@
366
1082
  "type": "number",
367
1083
  "minimum": 0
368
1084
  },
1085
+ "maxRetries": {
1086
+ "default": 3,
1087
+ "description": "Number of consecutive 429/rate-limit responses tolerated on the same model before aborting (or swapping to the next fallback model when a chain is configured).",
1088
+ "type": "integer",
1089
+ "minimum": 0,
1090
+ "maximum": 9007199254740991
1091
+ },
369
1092
  "retry_on_empty": {
370
1093
  "default": true,
371
1094
  "description": "When true (default), empty provider responses are treated as failures, triggering fallback/retry. Set to false to treat them as successes.",
372
1095
  "type": "boolean"
1096
+ },
1097
+ "runtimeOverride": {
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.",
1099
+ "type": "boolean"
373
1100
  }
374
1101
  },
375
1102
  "additionalProperties": false