oh-my-opencode 2.14.0 → 3.0.0-beta.1

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 (84) hide show
  1. package/README.ja.md +70 -14
  2. package/README.md +163 -34
  3. package/README.zh-cn.md +67 -14
  4. package/dist/agents/metis.d.ts +18 -0
  5. package/dist/agents/momus.d.ts +6 -0
  6. package/dist/agents/orchestrator-sisyphus.d.ts +19 -0
  7. package/dist/agents/plan-prompt.d.ts +8 -5
  8. package/dist/agents/prometheus-prompt.d.ts +27 -0
  9. package/dist/agents/sisyphus-junior.d.ts +3 -0
  10. package/dist/agents/types.d.ts +1 -1
  11. package/dist/agents/utils.d.ts +4 -1
  12. package/dist/auth/antigravity/accounts.d.ts +40 -0
  13. package/dist/auth/antigravity/accounts.test.d.ts +1 -0
  14. package/dist/auth/antigravity/browser.d.ts +27 -0
  15. package/dist/auth/antigravity/browser.test.d.ts +1 -0
  16. package/dist/auth/antigravity/cli.d.ts +2 -0
  17. package/dist/auth/antigravity/cli.test.d.ts +1 -0
  18. package/dist/auth/antigravity/constants.d.ts +63 -1
  19. package/dist/auth/antigravity/constants.test.d.ts +1 -0
  20. package/dist/auth/antigravity/fetch.d.ts +2 -1
  21. package/dist/auth/antigravity/integration.test.d.ts +10 -0
  22. package/dist/auth/antigravity/oauth.d.ts +6 -40
  23. package/dist/auth/antigravity/oauth.test.d.ts +1 -0
  24. package/dist/auth/antigravity/request.d.ts +12 -0
  25. package/dist/auth/antigravity/request.test.d.ts +1 -0
  26. package/dist/auth/antigravity/storage.d.ts +5 -0
  27. package/dist/auth/antigravity/storage.test.d.ts +1 -0
  28. package/dist/auth/antigravity/thinking.d.ts +45 -1
  29. package/dist/auth/antigravity/thinking.test.d.ts +10 -0
  30. package/dist/auth/antigravity/token.test.d.ts +1 -0
  31. package/dist/auth/antigravity/types.d.ts +29 -5
  32. package/dist/cli/commands/auth.d.ts +2 -0
  33. package/dist/cli/index.js +334 -115
  34. package/dist/config/schema.d.ts +269 -6
  35. package/dist/features/background-agent/manager.d.ts +13 -1
  36. package/dist/features/background-agent/types.d.ts +26 -1
  37. package/dist/features/boulder-state/constants.d.ts +10 -0
  38. package/dist/features/boulder-state/index.d.ts +3 -0
  39. package/dist/features/boulder-state/storage.d.ts +28 -0
  40. package/dist/features/boulder-state/storage.test.d.ts +1 -0
  41. package/dist/features/boulder-state/types.d.ts +24 -0
  42. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -1
  43. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -1
  44. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
  45. package/dist/features/builtin-commands/types.d.ts +1 -1
  46. package/dist/features/hook-message-injector/injector.d.ts +2 -2
  47. package/dist/features/hook-message-injector/types.d.ts +3 -2
  48. package/dist/features/opencode-skill-loader/index.d.ts +1 -0
  49. package/dist/features/opencode-skill-loader/skill-content.d.ts +5 -0
  50. package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
  51. package/dist/features/task-toast-manager/index.d.ts +2 -0
  52. package/dist/features/task-toast-manager/manager.d.ts +56 -0
  53. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  54. package/dist/features/task-toast-manager/types.d.ts +16 -0
  55. package/dist/google-auth.js +2167 -161
  56. package/dist/hooks/agent-usage-reminder/constants.d.ts +1 -1
  57. package/dist/hooks/claude-code-hooks/index.d.ts +2 -1
  58. package/dist/hooks/claude-code-hooks/types.d.ts +1 -0
  59. package/dist/hooks/index.d.ts +4 -0
  60. package/dist/hooks/prometheus-md-only/constants.d.ts +6 -0
  61. package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
  62. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  63. package/dist/hooks/sisyphus-orchestrator/index.d.ts +35 -0
  64. package/dist/hooks/sisyphus-orchestrator/index.test.d.ts +1 -0
  65. package/dist/hooks/start-work/index.d.ts +16 -0
  66. package/dist/hooks/start-work/index.test.d.ts +1 -0
  67. package/dist/hooks/task-resume-info/index.d.ts +11 -0
  68. package/dist/hooks/todo-continuation-enforcer.d.ts +1 -0
  69. package/dist/index.js +12017 -3545
  70. package/dist/mcp/index.d.ts +4 -2
  71. package/dist/mcp/websearch.d.ts +3 -0
  72. package/dist/shared/external-plugin-detector.d.ts +18 -0
  73. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  74. package/dist/shared/index.d.ts +1 -0
  75. package/dist/shared/migration.d.ts +6 -0
  76. package/dist/tools/background-task/index.d.ts +1 -1
  77. package/dist/tools/call-omo-agent/constants.d.ts +1 -1
  78. package/dist/tools/index.d.ts +1 -0
  79. package/dist/tools/sisyphus-task/constants.d.ts +12 -0
  80. package/dist/tools/sisyphus-task/index.d.ts +3 -0
  81. package/dist/tools/sisyphus-task/tools.d.ts +16 -0
  82. package/dist/tools/sisyphus-task/tools.test.d.ts +1 -0
  83. package/dist/tools/sisyphus-task/types.d.ts +9 -0
  84. package/package.json +3 -2
@@ -7,9 +7,12 @@ export declare const BuiltinAgentNameSchema: z.ZodEnum<{
7
7
  "frontend-ui-ux-engineer": "frontend-ui-ux-engineer";
8
8
  "document-writer": "document-writer";
9
9
  "multimodal-looker": "multimodal-looker";
10
+ "Metis (Plan Consultant)": "Metis (Plan Consultant)";
10
11
  }>;
11
12
  export declare const BuiltinSkillNameSchema: z.ZodEnum<{
12
13
  playwright: "playwright";
14
+ "frontend-ui-ux": "frontend-ui-ux";
15
+ "git-master": "git-master";
13
16
  }>;
14
17
  export declare const OverridableAgentNameSchema: z.ZodEnum<{
15
18
  Sisyphus: "Sisyphus";
@@ -19,10 +22,11 @@ export declare const OverridableAgentNameSchema: z.ZodEnum<{
19
22
  "frontend-ui-ux-engineer": "frontend-ui-ux-engineer";
20
23
  "document-writer": "document-writer";
21
24
  "multimodal-looker": "multimodal-looker";
25
+ "Metis (Plan Consultant)": "Metis (Plan Consultant)";
22
26
  build: "build";
23
27
  plan: "plan";
24
28
  "OpenCode-Builder": "OpenCode-Builder";
25
- "Planner-Sisyphus": "Planner-Sisyphus";
29
+ "Prometheus (Planner)": "Prometheus (Planner)";
26
30
  }>;
27
31
  export declare const AgentNameSchema: z.ZodEnum<{
28
32
  Sisyphus: "Sisyphus";
@@ -32,6 +36,7 @@ export declare const AgentNameSchema: z.ZodEnum<{
32
36
  "frontend-ui-ux-engineer": "frontend-ui-ux-engineer";
33
37
  "document-writer": "document-writer";
34
38
  "multimodal-looker": "multimodal-looker";
39
+ "Metis (Plan Consultant)": "Metis (Plan Consultant)";
35
40
  }>;
36
41
  export declare const HookNameSchema: z.ZodEnum<{
37
42
  "todo-continuation-enforcer": "todo-continuation-enforcer";
@@ -62,12 +67,18 @@ export declare const HookNameSchema: z.ZodEnum<{
62
67
  "claude-code-hooks": "claude-code-hooks";
63
68
  "auto-slash-command": "auto-slash-command";
64
69
  "edit-error-recovery": "edit-error-recovery";
70
+ "prometheus-md-only": "prometheus-md-only";
71
+ "start-work": "start-work";
72
+ "sisyphus-orchestrator": "sisyphus-orchestrator";
65
73
  }>;
66
74
  export declare const BuiltinCommandNameSchema: z.ZodEnum<{
75
+ "start-work": "start-work";
67
76
  "init-deep": "init-deep";
68
77
  }>;
69
78
  export declare const AgentOverrideConfigSchema: z.ZodObject<{
70
79
  model: z.ZodOptional<z.ZodString>;
80
+ category: z.ZodOptional<z.ZodString>;
81
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
71
82
  temperature: z.ZodOptional<z.ZodNumber>;
72
83
  top_p: z.ZodOptional<z.ZodNumber>;
73
84
  prompt: z.ZodOptional<z.ZodString>;
@@ -116,6 +127,8 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
116
127
  export declare const AgentOverridesSchema: z.ZodObject<{
117
128
  build: z.ZodOptional<z.ZodObject<{
118
129
  model: z.ZodOptional<z.ZodString>;
130
+ category: z.ZodOptional<z.ZodString>;
131
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
119
132
  temperature: z.ZodOptional<z.ZodNumber>;
120
133
  top_p: z.ZodOptional<z.ZodNumber>;
121
134
  prompt: z.ZodOptional<z.ZodString>;
@@ -163,6 +176,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
163
176
  }, z.core.$strip>>;
164
177
  plan: z.ZodOptional<z.ZodObject<{
165
178
  model: z.ZodOptional<z.ZodString>;
179
+ category: z.ZodOptional<z.ZodString>;
180
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
166
181
  temperature: z.ZodOptional<z.ZodNumber>;
167
182
  top_p: z.ZodOptional<z.ZodNumber>;
168
183
  prompt: z.ZodOptional<z.ZodString>;
@@ -210,6 +225,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
210
225
  }, z.core.$strip>>;
211
226
  Sisyphus: z.ZodOptional<z.ZodObject<{
212
227
  model: z.ZodOptional<z.ZodString>;
228
+ category: z.ZodOptional<z.ZodString>;
229
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
213
230
  temperature: z.ZodOptional<z.ZodNumber>;
214
231
  top_p: z.ZodOptional<z.ZodNumber>;
215
232
  prompt: z.ZodOptional<z.ZodString>;
@@ -257,6 +274,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
257
274
  }, z.core.$strip>>;
258
275
  "OpenCode-Builder": z.ZodOptional<z.ZodObject<{
259
276
  model: z.ZodOptional<z.ZodString>;
277
+ category: z.ZodOptional<z.ZodString>;
278
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
260
279
  temperature: z.ZodOptional<z.ZodNumber>;
261
280
  top_p: z.ZodOptional<z.ZodNumber>;
262
281
  prompt: z.ZodOptional<z.ZodString>;
@@ -302,8 +321,59 @@ export declare const AgentOverridesSchema: z.ZodObject<{
302
321
  }>>;
303
322
  }, z.core.$strip>>;
304
323
  }, z.core.$strip>>;
305
- "Planner-Sisyphus": z.ZodOptional<z.ZodObject<{
324
+ "Prometheus (Planner)": z.ZodOptional<z.ZodObject<{
306
325
  model: z.ZodOptional<z.ZodString>;
326
+ category: z.ZodOptional<z.ZodString>;
327
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
328
+ temperature: z.ZodOptional<z.ZodNumber>;
329
+ top_p: z.ZodOptional<z.ZodNumber>;
330
+ prompt: z.ZodOptional<z.ZodString>;
331
+ prompt_append: z.ZodOptional<z.ZodString>;
332
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
333
+ disable: z.ZodOptional<z.ZodBoolean>;
334
+ description: z.ZodOptional<z.ZodString>;
335
+ mode: z.ZodOptional<z.ZodEnum<{
336
+ subagent: "subagent";
337
+ primary: "primary";
338
+ all: "all";
339
+ }>>;
340
+ color: z.ZodOptional<z.ZodString>;
341
+ permission: z.ZodOptional<z.ZodObject<{
342
+ edit: z.ZodOptional<z.ZodEnum<{
343
+ allow: "allow";
344
+ ask: "ask";
345
+ deny: "deny";
346
+ }>>;
347
+ bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
348
+ allow: "allow";
349
+ ask: "ask";
350
+ deny: "deny";
351
+ }>, z.ZodRecord<z.ZodString, z.ZodEnum<{
352
+ allow: "allow";
353
+ ask: "ask";
354
+ deny: "deny";
355
+ }>>]>>;
356
+ webfetch: z.ZodOptional<z.ZodEnum<{
357
+ allow: "allow";
358
+ ask: "ask";
359
+ deny: "deny";
360
+ }>>;
361
+ doom_loop: z.ZodOptional<z.ZodEnum<{
362
+ allow: "allow";
363
+ ask: "ask";
364
+ deny: "deny";
365
+ }>>;
366
+ external_directory: z.ZodOptional<z.ZodEnum<{
367
+ allow: "allow";
368
+ ask: "ask";
369
+ deny: "deny";
370
+ }>>;
371
+ }, z.core.$strip>>;
372
+ }, z.core.$strip>>;
373
+ "Metis (Plan Consultant)": z.ZodOptional<z.ZodObject<{
374
+ model: z.ZodOptional<z.ZodString>;
375
+ category: z.ZodOptional<z.ZodString>;
376
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
307
377
  temperature: z.ZodOptional<z.ZodNumber>;
308
378
  top_p: z.ZodOptional<z.ZodNumber>;
309
379
  prompt: z.ZodOptional<z.ZodString>;
@@ -351,6 +421,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
351
421
  }, z.core.$strip>>;
352
422
  oracle: z.ZodOptional<z.ZodObject<{
353
423
  model: z.ZodOptional<z.ZodString>;
424
+ category: z.ZodOptional<z.ZodString>;
425
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
354
426
  temperature: z.ZodOptional<z.ZodNumber>;
355
427
  top_p: z.ZodOptional<z.ZodNumber>;
356
428
  prompt: z.ZodOptional<z.ZodString>;
@@ -398,6 +470,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
398
470
  }, z.core.$strip>>;
399
471
  librarian: z.ZodOptional<z.ZodObject<{
400
472
  model: z.ZodOptional<z.ZodString>;
473
+ category: z.ZodOptional<z.ZodString>;
474
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
401
475
  temperature: z.ZodOptional<z.ZodNumber>;
402
476
  top_p: z.ZodOptional<z.ZodNumber>;
403
477
  prompt: z.ZodOptional<z.ZodString>;
@@ -445,6 +519,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
445
519
  }, z.core.$strip>>;
446
520
  explore: z.ZodOptional<z.ZodObject<{
447
521
  model: z.ZodOptional<z.ZodString>;
522
+ category: z.ZodOptional<z.ZodString>;
523
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
448
524
  temperature: z.ZodOptional<z.ZodNumber>;
449
525
  top_p: z.ZodOptional<z.ZodNumber>;
450
526
  prompt: z.ZodOptional<z.ZodString>;
@@ -492,6 +568,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
492
568
  }, z.core.$strip>>;
493
569
  "frontend-ui-ux-engineer": z.ZodOptional<z.ZodObject<{
494
570
  model: z.ZodOptional<z.ZodString>;
571
+ category: z.ZodOptional<z.ZodString>;
572
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
495
573
  temperature: z.ZodOptional<z.ZodNumber>;
496
574
  top_p: z.ZodOptional<z.ZodNumber>;
497
575
  prompt: z.ZodOptional<z.ZodString>;
@@ -539,6 +617,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
539
617
  }, z.core.$strip>>;
540
618
  "document-writer": z.ZodOptional<z.ZodObject<{
541
619
  model: z.ZodOptional<z.ZodString>;
620
+ category: z.ZodOptional<z.ZodString>;
621
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
542
622
  temperature: z.ZodOptional<z.ZodNumber>;
543
623
  top_p: z.ZodOptional<z.ZodNumber>;
544
624
  prompt: z.ZodOptional<z.ZodString>;
@@ -586,6 +666,8 @@ export declare const AgentOverridesSchema: z.ZodObject<{
586
666
  }, z.core.$strip>>;
587
667
  "multimodal-looker": z.ZodOptional<z.ZodObject<{
588
668
  model: z.ZodOptional<z.ZodString>;
669
+ category: z.ZodOptional<z.ZodString>;
670
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
589
671
  temperature: z.ZodOptional<z.ZodNumber>;
590
672
  top_p: z.ZodOptional<z.ZodNumber>;
591
673
  prompt: z.ZodOptional<z.ZodString>;
@@ -647,14 +729,73 @@ export declare const SisyphusAgentConfigSchema: z.ZodObject<{
647
729
  planner_enabled: z.ZodOptional<z.ZodBoolean>;
648
730
  replace_plan: z.ZodOptional<z.ZodBoolean>;
649
731
  }, z.core.$strip>;
732
+ export declare const CategoryConfigSchema: z.ZodObject<{
733
+ model: z.ZodString;
734
+ temperature: z.ZodOptional<z.ZodNumber>;
735
+ top_p: z.ZodOptional<z.ZodNumber>;
736
+ maxTokens: z.ZodOptional<z.ZodNumber>;
737
+ thinking: z.ZodOptional<z.ZodObject<{
738
+ type: z.ZodEnum<{
739
+ enabled: "enabled";
740
+ disabled: "disabled";
741
+ }>;
742
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
743
+ }, z.core.$strip>>;
744
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
745
+ low: "low";
746
+ medium: "medium";
747
+ high: "high";
748
+ }>>;
749
+ textVerbosity: z.ZodOptional<z.ZodEnum<{
750
+ low: "low";
751
+ medium: "medium";
752
+ high: "high";
753
+ }>>;
754
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
755
+ prompt_append: z.ZodOptional<z.ZodString>;
756
+ }, z.core.$strip>;
757
+ export declare const BuiltinCategoryNameSchema: z.ZodEnum<{
758
+ "visual-engineering": "visual-engineering";
759
+ ultrabrain: "ultrabrain";
760
+ artistry: "artistry";
761
+ quick: "quick";
762
+ "most-capable": "most-capable";
763
+ writing: "writing";
764
+ general: "general";
765
+ }>;
766
+ export declare const CategoriesConfigSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
767
+ model: z.ZodString;
768
+ temperature: z.ZodOptional<z.ZodNumber>;
769
+ top_p: z.ZodOptional<z.ZodNumber>;
770
+ maxTokens: z.ZodOptional<z.ZodNumber>;
771
+ thinking: z.ZodOptional<z.ZodObject<{
772
+ type: z.ZodEnum<{
773
+ enabled: "enabled";
774
+ disabled: "disabled";
775
+ }>;
776
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
777
+ }, z.core.$strip>>;
778
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
779
+ low: "low";
780
+ medium: "medium";
781
+ high: "high";
782
+ }>>;
783
+ textVerbosity: z.ZodOptional<z.ZodEnum<{
784
+ low: "low";
785
+ medium: "medium";
786
+ high: "high";
787
+ }>>;
788
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
789
+ prompt_append: z.ZodOptional<z.ZodString>;
790
+ }, z.core.$strip>>;
650
791
  export declare const CommentCheckerConfigSchema: z.ZodObject<{
651
792
  custom_prompt: z.ZodOptional<z.ZodString>;
652
793
  }, z.core.$strip>;
653
794
  export declare const DynamicContextPruningConfigSchema: z.ZodObject<{
654
795
  enabled: z.ZodDefault<z.ZodBoolean>;
655
796
  notification: z.ZodDefault<z.ZodEnum<{
656
- off: "off";
657
797
  minimal: "minimal";
798
+ off: "off";
658
799
  detailed: "detailed";
659
800
  }>>;
660
801
  turn_protection: z.ZodOptional<z.ZodObject<{
@@ -685,8 +826,8 @@ export declare const ExperimentalConfigSchema: z.ZodObject<{
685
826
  dynamic_context_pruning: z.ZodOptional<z.ZodObject<{
686
827
  enabled: z.ZodDefault<z.ZodBoolean>;
687
828
  notification: z.ZodDefault<z.ZodEnum<{
688
- off: "off";
689
829
  minimal: "minimal";
830
+ off: "off";
690
831
  detailed: "detailed";
691
832
  }>>;
692
833
  turn_protection: z.ZodOptional<z.ZodObject<{
@@ -775,6 +916,13 @@ export declare const BackgroundTaskConfigSchema: z.ZodObject<{
775
916
  providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
776
917
  modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
777
918
  }, z.core.$strip>;
919
+ export declare const NotificationConfigSchema: z.ZodObject<{
920
+ force_enable: z.ZodOptional<z.ZodBoolean>;
921
+ }, z.core.$strip>;
922
+ export declare const GitMasterConfigSchema: z.ZodObject<{
923
+ commit_footer: z.ZodDefault<z.ZodBoolean>;
924
+ include_co_authored_by: z.ZodDefault<z.ZodBoolean>;
925
+ }, z.core.$strip>;
778
926
  export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
779
927
  $schema: z.ZodOptional<z.ZodString>;
780
928
  disabled_mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -786,9 +934,12 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
786
934
  "frontend-ui-ux-engineer": "frontend-ui-ux-engineer";
787
935
  "document-writer": "document-writer";
788
936
  "multimodal-looker": "multimodal-looker";
937
+ "Metis (Plan Consultant)": "Metis (Plan Consultant)";
789
938
  }>>>;
790
939
  disabled_skills: z.ZodOptional<z.ZodArray<z.ZodEnum<{
791
940
  playwright: "playwright";
941
+ "frontend-ui-ux": "frontend-ui-ux";
942
+ "git-master": "git-master";
792
943
  }>>>;
793
944
  disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
794
945
  "todo-continuation-enforcer": "todo-continuation-enforcer";
@@ -819,13 +970,19 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
819
970
  "claude-code-hooks": "claude-code-hooks";
820
971
  "auto-slash-command": "auto-slash-command";
821
972
  "edit-error-recovery": "edit-error-recovery";
973
+ "prometheus-md-only": "prometheus-md-only";
974
+ "start-work": "start-work";
975
+ "sisyphus-orchestrator": "sisyphus-orchestrator";
822
976
  }>>>;
823
977
  disabled_commands: z.ZodOptional<z.ZodArray<z.ZodEnum<{
978
+ "start-work": "start-work";
824
979
  "init-deep": "init-deep";
825
980
  }>>>;
826
981
  agents: z.ZodOptional<z.ZodObject<{
827
982
  build: z.ZodOptional<z.ZodObject<{
828
983
  model: z.ZodOptional<z.ZodString>;
984
+ category: z.ZodOptional<z.ZodString>;
985
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
829
986
  temperature: z.ZodOptional<z.ZodNumber>;
830
987
  top_p: z.ZodOptional<z.ZodNumber>;
831
988
  prompt: z.ZodOptional<z.ZodString>;
@@ -873,6 +1030,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
873
1030
  }, z.core.$strip>>;
874
1031
  plan: z.ZodOptional<z.ZodObject<{
875
1032
  model: z.ZodOptional<z.ZodString>;
1033
+ category: z.ZodOptional<z.ZodString>;
1034
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
876
1035
  temperature: z.ZodOptional<z.ZodNumber>;
877
1036
  top_p: z.ZodOptional<z.ZodNumber>;
878
1037
  prompt: z.ZodOptional<z.ZodString>;
@@ -920,6 +1079,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
920
1079
  }, z.core.$strip>>;
921
1080
  Sisyphus: z.ZodOptional<z.ZodObject<{
922
1081
  model: z.ZodOptional<z.ZodString>;
1082
+ category: z.ZodOptional<z.ZodString>;
1083
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
923
1084
  temperature: z.ZodOptional<z.ZodNumber>;
924
1085
  top_p: z.ZodOptional<z.ZodNumber>;
925
1086
  prompt: z.ZodOptional<z.ZodString>;
@@ -967,6 +1128,57 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
967
1128
  }, z.core.$strip>>;
968
1129
  "OpenCode-Builder": z.ZodOptional<z.ZodObject<{
969
1130
  model: z.ZodOptional<z.ZodString>;
1131
+ category: z.ZodOptional<z.ZodString>;
1132
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1133
+ temperature: z.ZodOptional<z.ZodNumber>;
1134
+ top_p: z.ZodOptional<z.ZodNumber>;
1135
+ prompt: z.ZodOptional<z.ZodString>;
1136
+ prompt_append: z.ZodOptional<z.ZodString>;
1137
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1138
+ disable: z.ZodOptional<z.ZodBoolean>;
1139
+ description: z.ZodOptional<z.ZodString>;
1140
+ mode: z.ZodOptional<z.ZodEnum<{
1141
+ subagent: "subagent";
1142
+ primary: "primary";
1143
+ all: "all";
1144
+ }>>;
1145
+ color: z.ZodOptional<z.ZodString>;
1146
+ permission: z.ZodOptional<z.ZodObject<{
1147
+ edit: z.ZodOptional<z.ZodEnum<{
1148
+ allow: "allow";
1149
+ ask: "ask";
1150
+ deny: "deny";
1151
+ }>>;
1152
+ bash: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1153
+ allow: "allow";
1154
+ ask: "ask";
1155
+ deny: "deny";
1156
+ }>, z.ZodRecord<z.ZodString, z.ZodEnum<{
1157
+ allow: "allow";
1158
+ ask: "ask";
1159
+ deny: "deny";
1160
+ }>>]>>;
1161
+ webfetch: z.ZodOptional<z.ZodEnum<{
1162
+ allow: "allow";
1163
+ ask: "ask";
1164
+ deny: "deny";
1165
+ }>>;
1166
+ doom_loop: z.ZodOptional<z.ZodEnum<{
1167
+ allow: "allow";
1168
+ ask: "ask";
1169
+ deny: "deny";
1170
+ }>>;
1171
+ external_directory: z.ZodOptional<z.ZodEnum<{
1172
+ allow: "allow";
1173
+ ask: "ask";
1174
+ deny: "deny";
1175
+ }>>;
1176
+ }, z.core.$strip>>;
1177
+ }, z.core.$strip>>;
1178
+ "Prometheus (Planner)": z.ZodOptional<z.ZodObject<{
1179
+ model: z.ZodOptional<z.ZodString>;
1180
+ category: z.ZodOptional<z.ZodString>;
1181
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
970
1182
  temperature: z.ZodOptional<z.ZodNumber>;
971
1183
  top_p: z.ZodOptional<z.ZodNumber>;
972
1184
  prompt: z.ZodOptional<z.ZodString>;
@@ -1012,8 +1224,10 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1012
1224
  }>>;
1013
1225
  }, z.core.$strip>>;
1014
1226
  }, z.core.$strip>>;
1015
- "Planner-Sisyphus": z.ZodOptional<z.ZodObject<{
1227
+ "Metis (Plan Consultant)": z.ZodOptional<z.ZodObject<{
1016
1228
  model: z.ZodOptional<z.ZodString>;
1229
+ category: z.ZodOptional<z.ZodString>;
1230
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1017
1231
  temperature: z.ZodOptional<z.ZodNumber>;
1018
1232
  top_p: z.ZodOptional<z.ZodNumber>;
1019
1233
  prompt: z.ZodOptional<z.ZodString>;
@@ -1061,6 +1275,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1061
1275
  }, z.core.$strip>>;
1062
1276
  oracle: z.ZodOptional<z.ZodObject<{
1063
1277
  model: z.ZodOptional<z.ZodString>;
1278
+ category: z.ZodOptional<z.ZodString>;
1279
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1064
1280
  temperature: z.ZodOptional<z.ZodNumber>;
1065
1281
  top_p: z.ZodOptional<z.ZodNumber>;
1066
1282
  prompt: z.ZodOptional<z.ZodString>;
@@ -1108,6 +1324,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1108
1324
  }, z.core.$strip>>;
1109
1325
  librarian: z.ZodOptional<z.ZodObject<{
1110
1326
  model: z.ZodOptional<z.ZodString>;
1327
+ category: z.ZodOptional<z.ZodString>;
1328
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1111
1329
  temperature: z.ZodOptional<z.ZodNumber>;
1112
1330
  top_p: z.ZodOptional<z.ZodNumber>;
1113
1331
  prompt: z.ZodOptional<z.ZodString>;
@@ -1155,6 +1373,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1155
1373
  }, z.core.$strip>>;
1156
1374
  explore: z.ZodOptional<z.ZodObject<{
1157
1375
  model: z.ZodOptional<z.ZodString>;
1376
+ category: z.ZodOptional<z.ZodString>;
1377
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1158
1378
  temperature: z.ZodOptional<z.ZodNumber>;
1159
1379
  top_p: z.ZodOptional<z.ZodNumber>;
1160
1380
  prompt: z.ZodOptional<z.ZodString>;
@@ -1202,6 +1422,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1202
1422
  }, z.core.$strip>>;
1203
1423
  "frontend-ui-ux-engineer": z.ZodOptional<z.ZodObject<{
1204
1424
  model: z.ZodOptional<z.ZodString>;
1425
+ category: z.ZodOptional<z.ZodString>;
1426
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1205
1427
  temperature: z.ZodOptional<z.ZodNumber>;
1206
1428
  top_p: z.ZodOptional<z.ZodNumber>;
1207
1429
  prompt: z.ZodOptional<z.ZodString>;
@@ -1249,6 +1471,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1249
1471
  }, z.core.$strip>>;
1250
1472
  "document-writer": z.ZodOptional<z.ZodObject<{
1251
1473
  model: z.ZodOptional<z.ZodString>;
1474
+ category: z.ZodOptional<z.ZodString>;
1475
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1252
1476
  temperature: z.ZodOptional<z.ZodNumber>;
1253
1477
  top_p: z.ZodOptional<z.ZodNumber>;
1254
1478
  prompt: z.ZodOptional<z.ZodString>;
@@ -1296,6 +1520,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1296
1520
  }, z.core.$strip>>;
1297
1521
  "multimodal-looker": z.ZodOptional<z.ZodObject<{
1298
1522
  model: z.ZodOptional<z.ZodString>;
1523
+ category: z.ZodOptional<z.ZodString>;
1524
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
1299
1525
  temperature: z.ZodOptional<z.ZodNumber>;
1300
1526
  top_p: z.ZodOptional<z.ZodNumber>;
1301
1527
  prompt: z.ZodOptional<z.ZodString>;
@@ -1342,6 +1568,31 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1342
1568
  }, z.core.$strip>>;
1343
1569
  }, z.core.$strip>>;
1344
1570
  }, z.core.$strip>>;
1571
+ categories: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1572
+ model: z.ZodString;
1573
+ temperature: z.ZodOptional<z.ZodNumber>;
1574
+ top_p: z.ZodOptional<z.ZodNumber>;
1575
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1576
+ thinking: z.ZodOptional<z.ZodObject<{
1577
+ type: z.ZodEnum<{
1578
+ enabled: "enabled";
1579
+ disabled: "disabled";
1580
+ }>;
1581
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
1582
+ }, z.core.$strip>>;
1583
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1584
+ low: "low";
1585
+ medium: "medium";
1586
+ high: "high";
1587
+ }>>;
1588
+ textVerbosity: z.ZodOptional<z.ZodEnum<{
1589
+ low: "low";
1590
+ medium: "medium";
1591
+ high: "high";
1592
+ }>>;
1593
+ tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1594
+ prompt_append: z.ZodOptional<z.ZodString>;
1595
+ }, z.core.$strip>>>;
1345
1596
  claude_code: z.ZodOptional<z.ZodObject<{
1346
1597
  mcp: z.ZodOptional<z.ZodBoolean>;
1347
1598
  commands: z.ZodOptional<z.ZodBoolean>;
@@ -1370,8 +1621,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1370
1621
  dynamic_context_pruning: z.ZodOptional<z.ZodObject<{
1371
1622
  enabled: z.ZodDefault<z.ZodBoolean>;
1372
1623
  notification: z.ZodDefault<z.ZodEnum<{
1373
- off: "off";
1374
1624
  minimal: "minimal";
1625
+ off: "off";
1375
1626
  detailed: "detailed";
1376
1627
  }>>;
1377
1628
  turn_protection: z.ZodOptional<z.ZodObject<{
@@ -1428,6 +1679,13 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1428
1679
  providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1429
1680
  modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1430
1681
  }, z.core.$strip>>;
1682
+ notification: z.ZodOptional<z.ZodObject<{
1683
+ force_enable: z.ZodOptional<z.ZodBoolean>;
1684
+ }, z.core.$strip>>;
1685
+ git_master: z.ZodOptional<z.ZodObject<{
1686
+ commit_footer: z.ZodDefault<z.ZodBoolean>;
1687
+ include_co_authored_by: z.ZodDefault<z.ZodBoolean>;
1688
+ }, z.core.$strip>>;
1431
1689
  }, z.core.$strip>;
1432
1690
  export type OhMyOpenCodeConfig = z.infer<typeof OhMyOpenCodeConfigSchema>;
1433
1691
  export type AgentOverrideConfig = z.infer<typeof AgentOverrideConfigSchema>;
@@ -1444,4 +1702,9 @@ export type DynamicContextPruningConfig = z.infer<typeof DynamicContextPruningCo
1444
1702
  export type SkillsConfig = z.infer<typeof SkillsConfigSchema>;
1445
1703
  export type SkillDefinition = z.infer<typeof SkillDefinitionSchema>;
1446
1704
  export type RalphLoopConfig = z.infer<typeof RalphLoopConfigSchema>;
1705
+ export type NotificationConfig = z.infer<typeof NotificationConfigSchema>;
1706
+ export type CategoryConfig = z.infer<typeof CategoryConfigSchema>;
1707
+ export type CategoriesConfig = z.infer<typeof CategoriesConfigSchema>;
1708
+ export type BuiltinCategoryName = z.infer<typeof BuiltinCategoryNameSchema>;
1709
+ export type GitMasterConfig = z.infer<typeof GitMasterConfigSchema>;
1447
1710
  export { AnyMcpNameSchema, type AnyMcpName, McpNameSchema, type McpName } from "../mcp/types";
@@ -1,5 +1,5 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { BackgroundTask, LaunchInput } from "./types";
2
+ import type { BackgroundTask, LaunchInput, ResumeInput } from "./types";
3
3
  import type { BackgroundTaskConfig } from "../../config/schema";
4
4
  interface EventProperties {
5
5
  sessionID?: string;
@@ -25,6 +25,18 @@ export declare class BackgroundManager {
25
25
  getTasksByParentSession(sessionID: string): BackgroundTask[];
26
26
  getAllDescendantTasks(sessionID: string): BackgroundTask[];
27
27
  findBySession(sessionID: string): BackgroundTask | undefined;
28
+ /**
29
+ * Register an external task (e.g., from sisyphus_task) for notification tracking.
30
+ * This allows tasks created by external tools to receive the same toast/prompt notifications.
31
+ */
32
+ registerExternalTask(input: {
33
+ taskId: string;
34
+ sessionID: string;
35
+ parentSessionID: string;
36
+ description: string;
37
+ agent?: string;
38
+ }): BackgroundTask;
39
+ resume(input: ResumeInput): Promise<BackgroundTask>;
28
40
  private checkSessionTodos;
29
41
  handleEvent(event: Event): void;
30
42
  markForNotification(task: BackgroundTask): void;
@@ -24,7 +24,14 @@ export interface BackgroundTask {
24
24
  providerID: string;
25
25
  modelID: string;
26
26
  };
27
- model?: string;
27
+ model?: {
28
+ providerID: string;
29
+ modelID: string;
30
+ };
31
+ /** Agent name used for concurrency tracking */
32
+ concurrencyKey?: string;
33
+ /** Parent session's agent name for notification */
34
+ parentAgent?: string;
28
35
  }
29
36
  export interface LaunchInput {
30
37
  description: string;
@@ -36,4 +43,22 @@ export interface LaunchInput {
36
43
  providerID: string;
37
44
  modelID: string;
38
45
  };
46
+ parentAgent?: string;
47
+ model?: {
48
+ providerID: string;
49
+ modelID: string;
50
+ };
51
+ skills?: string[];
52
+ skillContent?: string;
53
+ }
54
+ export interface ResumeInput {
55
+ sessionId: string;
56
+ prompt: string;
57
+ parentSessionID: string;
58
+ parentMessageID: string;
59
+ parentModel?: {
60
+ providerID: string;
61
+ modelID: string;
62
+ };
63
+ parentAgent?: string;
39
64
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Boulder State Constants
3
+ */
4
+ export declare const BOULDER_DIR = ".sisyphus";
5
+ export declare const BOULDER_FILE = "boulder.json";
6
+ export declare const BOULDER_STATE_PATH = ".sisyphus/boulder.json";
7
+ export declare const NOTEPAD_DIR = "notepads";
8
+ export declare const NOTEPAD_BASE_PATH = ".sisyphus/notepads";
9
+ /** Prometheus plan directory pattern */
10
+ export declare const PROMETHEUS_PLANS_DIR = ".sisyphus/plans";
@@ -0,0 +1,3 @@
1
+ export * from "./types";
2
+ export * from "./constants";
3
+ export * from "./storage";
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Boulder State Storage
3
+ *
4
+ * Handles reading/writing boulder.json for active plan tracking.
5
+ */
6
+ import type { BoulderState, PlanProgress } from "./types";
7
+ export declare function getBoulderFilePath(directory: string): string;
8
+ export declare function readBoulderState(directory: string): BoulderState | null;
9
+ export declare function writeBoulderState(directory: string, state: BoulderState): boolean;
10
+ export declare function appendSessionId(directory: string, sessionId: string): BoulderState | null;
11
+ export declare function clearBoulderState(directory: string): boolean;
12
+ /**
13
+ * Find Prometheus plan files for this project.
14
+ * Prometheus stores plans at: {project}/.sisyphus/plans/{name}.md
15
+ */
16
+ export declare function findPrometheusPlans(directory: string): string[];
17
+ /**
18
+ * Parse a plan file and count checkbox progress.
19
+ */
20
+ export declare function getPlanProgress(planPath: string): PlanProgress;
21
+ /**
22
+ * Extract plan name from file path.
23
+ */
24
+ export declare function getPlanName(planPath: string): string;
25
+ /**
26
+ * Create a new boulder state for a plan.
27
+ */
28
+ export declare function createBoulderState(planPath: string, sessionId: string): BoulderState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Boulder State Types
3
+ *
4
+ * Manages the active work plan state for Sisyphus orchestrator.
5
+ * Named after Sisyphus's boulder - the eternal task that must be rolled.
6
+ */
7
+ export interface BoulderState {
8
+ /** Absolute path to the active plan file */
9
+ active_plan: string;
10
+ /** ISO timestamp when work started */
11
+ started_at: string;
12
+ /** Session IDs that have worked on this plan */
13
+ session_ids: string[];
14
+ /** Plan name derived from filename */
15
+ plan_name: string;
16
+ }
17
+ export interface PlanProgress {
18
+ /** Total number of checkboxes */
19
+ total: number;
20
+ /** Number of completed checkboxes */
21
+ completed: number;
22
+ /** Whether all tasks are done */
23
+ isComplete: boolean;
24
+ }