opencodekit 0.17.11 → 0.17.13

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.
@@ -3,7 +3,7 @@
3
3
  "agent": {
4
4
  "build": {
5
5
  "description": "Primary development agent with full codebase access",
6
- "model": "opencode/minimax-m2.5-free"
6
+ "model": "github-copilot/claude-opus-4.6"
7
7
  },
8
8
  "compaction": {
9
9
  "description": "Session summarizer for context continuity across compactions"
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "general": {
16
16
  "description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
17
- "model": "opencode/minimax-m2.5-free"
17
+ "model": "github-copilot/gpt-5.2-codex"
18
18
  },
19
19
  "painter": {
20
20
  "description": "Image generation and editing specialist using Gemini 3 Pro Image. Use for creating UI mockups, app icons, hero images, visual assets, and editing/redacting existing images",
@@ -30,36 +30,75 @@
30
30
  },
31
31
  "scout": {
32
32
  "description": "External research specialist for library docs and patterns",
33
- "model": "opencode/kimi-k2.5-free"
33
+ "model": "proxypal/claude-sonnet-4-6"
34
34
  },
35
35
  "vision": {
36
36
  "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
37
- "model": "proxypal/gemini-3-pro-high"
37
+ "model": "proxypal/gemini-3.1-pro-high"
38
38
  }
39
39
  },
40
40
  "autoupdate": false,
41
41
  "formatter": {
42
42
  "biome": {
43
- "command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
44
- "extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
43
+ "command": [
44
+ "npx",
45
+ "@biomejs/biome",
46
+ "check",
47
+ "--write",
48
+ "$FILE"
49
+ ],
50
+ "extensions": [
51
+ ".js",
52
+ ".jsx",
53
+ ".ts",
54
+ ".tsx",
55
+ ".json",
56
+ ".jsonc"
57
+ ]
45
58
  },
46
59
  "cargo-fmt": {
47
- "command": ["cargo", "fmt", "--", "$FILE"],
48
- "extensions": [".rs"]
60
+ "command": [
61
+ "cargo",
62
+ "fmt",
63
+ "--",
64
+ "$FILE"
65
+ ],
66
+ "extensions": [
67
+ ".rs"
68
+ ]
49
69
  },
50
70
  "java-formatter": {
51
- "command": ["google-java-format", "--replace", "$FILE"],
71
+ "command": [
72
+ "google-java-format",
73
+ "--replace",
74
+ "$FILE"
75
+ ],
52
76
  "environment": {
53
77
  "JAVA_HOME": "{env:JAVA_HOME}"
54
78
  },
55
- "extensions": [".java"]
79
+ "extensions": [
80
+ ".java"
81
+ ]
56
82
  },
57
83
  "laravel-pint": {
58
- "command": ["npx", "laravel-pint", "--preset", "psr12", "$FILE"],
59
- "extensions": [".php"]
84
+ "command": [
85
+ "npx",
86
+ "laravel-pint",
87
+ "--preset",
88
+ "psr12",
89
+ "$FILE"
90
+ ],
91
+ "extensions": [
92
+ ".php"
93
+ ]
60
94
  },
61
95
  "oxfmt": {
62
- "command": ["npx", "oxfmt", "--write", "$FILE"],
96
+ "command": [
97
+ "npx",
98
+ "oxfmt",
99
+ "--write",
100
+ "$FILE"
101
+ ],
63
102
  "extensions": [
64
103
  ".js",
65
104
  ".jsx",
@@ -253,6 +292,31 @@
253
292
  }
254
293
  }
255
294
  },
295
+ "claude-sonnet-4.5": {
296
+ "attachment": true,
297
+ "limit": {
298
+ "context": 200000,
299
+ "output": 64000
300
+ },
301
+ "options": {
302
+ "thinking_budget": 10000
303
+ },
304
+ "reasoning": true,
305
+ "temperature": true,
306
+ "tool_call": true,
307
+ "variants": {
308
+ "high": {
309
+ "options": {
310
+ "thinking_budget": 8000
311
+ }
312
+ },
313
+ "max": {
314
+ "options": {
315
+ "thinking_budget": 16000
316
+ }
317
+ }
318
+ }
319
+ },
256
320
  "claude-sonnet-4.6": {
257
321
  "attachment": true,
258
322
  "limit": {
@@ -298,31 +362,6 @@
298
362
  }
299
363
  }
300
364
  },
301
- "claude-sonnet-4.5": {
302
- "attachment": true,
303
- "limit": {
304
- "context": 200000,
305
- "output": 64000
306
- },
307
- "options": {
308
- "thinking_budget": 10000
309
- },
310
- "reasoning": true,
311
- "temperature": true,
312
- "tool_call": true,
313
- "variants": {
314
- "high": {
315
- "options": {
316
- "thinking_budget": 8000
317
- }
318
- },
319
- "max": {
320
- "options": {
321
- "thinking_budget": 16000
322
- }
323
- }
324
- }
325
- },
326
365
  "gpt-5.2": {
327
366
  "attachment": true,
328
367
  "limit": {
@@ -339,7 +378,9 @@
339
378
  "tool_call": true,
340
379
  "variants": {
341
380
  "high": {
342
- "include": ["reasoning.encrypted_content"],
381
+ "include": [
382
+ "reasoning.encrypted_content"
383
+ ],
343
384
  "reasoningEffort": "high",
344
385
  "reasoningSummary": "auto"
345
386
  },
@@ -372,7 +413,9 @@
372
413
  "disabled": true
373
414
  },
374
415
  "high": {
375
- "include": ["reasoning.encrypted_content"],
416
+ "include": [
417
+ "reasoning.encrypted_content"
418
+ ],
376
419
  "reasoningEffort": "high",
377
420
  "reasoningSummary": "auto",
378
421
  "textVerbosity": "medium"
@@ -442,8 +485,14 @@
442
485
  "models": {
443
486
  "zai-org/GLM-5-FP8": {
444
487
  "modalities": {
445
- "input": ["text", "image", "pdf"],
446
- "output": ["text"]
488
+ "input": [
489
+ "text",
490
+ "image",
491
+ "pdf"
492
+ ],
493
+ "output": [
494
+ "text"
495
+ ]
447
496
  },
448
497
  "name": "GLM-5",
449
498
  "options": {
@@ -474,13 +523,17 @@
474
523
  "disabled": true
475
524
  },
476
525
  "high": {
477
- "include": ["reasoning.encrypted_content"],
526
+ "include": [
527
+ "reasoning.encrypted_content"
528
+ ],
478
529
  "reasoningEffort": "high",
479
530
  "reasoningSummary": "auto",
480
531
  "textVerbosity": "low"
481
532
  },
482
533
  "medium": {
483
- "include": ["reasoning.encrypted_content"],
534
+ "include": [
535
+ "reasoning.encrypted_content"
536
+ ],
484
537
  "reasoningEffort": "medium",
485
538
  "reasoningSummary": "auto",
486
539
  "textVerbosity": "low"
@@ -492,23 +545,29 @@
492
545
  "fast": {
493
546
  "disabled": true
494
547
  },
495
- "xhigh": {
496
- "include": ["reasoning.encrypted_content"],
497
- "reasoningEffort": "xhigh",
498
- "reasoningSummary": "auto",
499
- "textVerbosity": "low"
500
- },
501
548
  "high": {
502
- "include": ["reasoning.encrypted_content"],
549
+ "include": [
550
+ "reasoning.encrypted_content"
551
+ ],
503
552
  "reasoningEffort": "high",
504
553
  "reasoningSummary": "auto",
505
554
  "textVerbosity": "low"
506
555
  },
507
556
  "medium": {
508
- "include": ["reasoning.encrypted_content"],
557
+ "include": [
558
+ "reasoning.encrypted_content"
559
+ ],
509
560
  "reasoningEffort": "medium",
510
561
  "reasoningSummary": "auto",
511
562
  "textVerbosity": "low"
563
+ },
564
+ "xhigh": {
565
+ "include": [
566
+ "reasoning.encrypted_content"
567
+ ],
568
+ "reasoningEffort": "xhigh",
569
+ "reasoningSummary": "auto",
570
+ "textVerbosity": "low"
512
571
  }
513
572
  }
514
573
  },
@@ -517,23 +576,29 @@
517
576
  "fast": {
518
577
  "disabled": true
519
578
  },
520
- "xhigh": {
521
- "include": ["reasoning.encrypted_content"],
522
- "reasoningEffort": "xhigh",
523
- "reasoningSummary": "auto",
524
- "textVerbosity": "low"
525
- },
526
579
  "high": {
527
- "include": ["reasoning.encrypted_content"],
580
+ "include": [
581
+ "reasoning.encrypted_content"
582
+ ],
528
583
  "reasoningEffort": "high",
529
584
  "reasoningSummary": "auto",
530
585
  "textVerbosity": "low"
531
586
  },
532
587
  "medium": {
533
- "include": ["reasoning.encrypted_content"],
588
+ "include": [
589
+ "reasoning.encrypted_content"
590
+ ],
534
591
  "reasoningEffort": "medium",
535
592
  "reasoningSummary": "auto",
536
593
  "textVerbosity": "low"
594
+ },
595
+ "xhigh": {
596
+ "include": [
597
+ "reasoning.encrypted_content"
598
+ ],
599
+ "reasoningEffort": "xhigh",
600
+ "reasoningSummary": "auto",
601
+ "textVerbosity": "low"
537
602
  }
538
603
  }
539
604
  }
@@ -622,32 +687,6 @@
622
687
  },
623
688
  "name": "Claude Sonnet 4 5 20250929"
624
689
  },
625
- "claude-sonnet-4-5-thinking": {
626
- "limit": {
627
- "context": 200000,
628
- "output": 64000
629
- },
630
- "name": "Claude Sonnet 4 5 Thinking",
631
- "options": {
632
- "thinking": {
633
- "budgetTokens": 8192,
634
- "type": "enabled"
635
- }
636
- },
637
- "reasoning": true,
638
- "variants": {
639
- "low": {
640
- "thinkingConfig": {
641
- "thinkingBudget": 8192
642
- }
643
- },
644
- "max": {
645
- "thinkingConfig": {
646
- "thinkingBudget": 32768
647
- }
648
- }
649
- }
650
- },
651
690
  "claude-sonnet-4-6": {
652
691
  "limit": {
653
692
  "context": 200000,
@@ -661,8 +700,14 @@
661
700
  "output": 65536
662
701
  },
663
702
  "modalities": {
664
- "input": ["text", "image", "pdf"],
665
- "output": ["text"]
703
+ "input": [
704
+ "text",
705
+ "image",
706
+ "pdf"
707
+ ],
708
+ "output": [
709
+ "text"
710
+ ]
666
711
  },
667
712
  "name": "Gemini 2 5 Flash"
668
713
  },
@@ -672,8 +717,14 @@
672
717
  "output": 65536
673
718
  },
674
719
  "modalities": {
675
- "input": ["text", "image", "pdf"],
676
- "output": ["text"]
720
+ "input": [
721
+ "text",
722
+ "image",
723
+ "pdf"
724
+ ],
725
+ "output": [
726
+ "text"
727
+ ]
677
728
  },
678
729
  "name": "Gemini 2 5 Flash Lite"
679
730
  },
@@ -683,8 +734,14 @@
683
734
  "output": 65536
684
735
  },
685
736
  "modalities": {
686
- "input": ["text", "image", "pdf"],
687
- "output": ["text"]
737
+ "input": [
738
+ "text",
739
+ "image",
740
+ "pdf"
741
+ ],
742
+ "output": [
743
+ "text"
744
+ ]
688
745
  },
689
746
  "name": "Gemini 2 5 Pro"
690
747
  },
@@ -694,8 +751,14 @@
694
751
  "output": 65536
695
752
  },
696
753
  "modalities": {
697
- "input": ["text", "image", "pdf"],
698
- "output": ["text"]
754
+ "input": [
755
+ "text",
756
+ "image",
757
+ "pdf"
758
+ ],
759
+ "output": [
760
+ "text"
761
+ ]
699
762
  },
700
763
  "name": "Gemini 3 Flash",
701
764
  "options": {
@@ -725,8 +788,14 @@
725
788
  "output": 65536
726
789
  },
727
790
  "modalities": {
728
- "input": ["text", "image", "pdf"],
729
- "output": ["text"]
791
+ "input": [
792
+ "text",
793
+ "image",
794
+ "pdf"
795
+ ],
796
+ "output": [
797
+ "text"
798
+ ]
730
799
  },
731
800
  "name": "Gemini 3 Flash Preview",
732
801
  "options": {
@@ -756,8 +825,14 @@
756
825
  "output": 65536
757
826
  },
758
827
  "modalities": {
759
- "input": ["text", "image", "pdf"],
760
- "output": ["text"]
828
+ "input": [
829
+ "text",
830
+ "image",
831
+ "pdf"
832
+ ],
833
+ "output": [
834
+ "text"
835
+ ]
761
836
  },
762
837
  "name": "Gemini 3 Pro High",
763
838
  "options": {
@@ -794,8 +869,14 @@
794
869
  "output": 65536
795
870
  },
796
871
  "modalities": {
797
- "input": ["text", "image", "pdf"],
798
- "output": ["text"]
872
+ "input": [
873
+ "text",
874
+ "image",
875
+ "pdf"
876
+ ],
877
+ "output": [
878
+ "text"
879
+ ]
799
880
  },
800
881
  "name": "Gemini 3 Pro Preview",
801
882
  "options": {
@@ -819,6 +900,117 @@
819
900
  }
820
901
  }
821
902
  },
903
+ "gemini-3.1-pro-high": {
904
+ "limit": {
905
+ "context": 1000000,
906
+ "output": 65536
907
+ },
908
+ "modalities": {
909
+ "input": [
910
+ "text",
911
+ "image",
912
+ "pdf"
913
+ ],
914
+ "output": [
915
+ "text"
916
+ ]
917
+ },
918
+ "name": "Gemini 3 1 Pro High",
919
+ "options": {
920
+ "generationConfig": {
921
+ "thinkingConfig": {
922
+ "includeThoughts": true,
923
+ "thinkingLevel": "medium"
924
+ }
925
+ }
926
+ },
927
+ "reasoning": true,
928
+ "variants": {
929
+ "high": {
930
+ "thinkingLevel": "high"
931
+ },
932
+ "low": {
933
+ "thinkingLevel": "low"
934
+ },
935
+ "medium": {
936
+ "thinkingLevel": "medium"
937
+ }
938
+ }
939
+ },
940
+ "gemini-3.1-pro-low": {
941
+ "limit": {
942
+ "context": 1000000,
943
+ "output": 65536
944
+ },
945
+ "modalities": {
946
+ "input": [
947
+ "text",
948
+ "image",
949
+ "pdf"
950
+ ],
951
+ "output": [
952
+ "text"
953
+ ]
954
+ },
955
+ "name": "Gemini 3 1 Pro Low",
956
+ "options": {
957
+ "generationConfig": {
958
+ "thinkingConfig": {
959
+ "includeThoughts": true,
960
+ "thinkingLevel": "medium"
961
+ }
962
+ }
963
+ },
964
+ "reasoning": true,
965
+ "variants": {
966
+ "high": {
967
+ "thinkingLevel": "high"
968
+ },
969
+ "low": {
970
+ "thinkingLevel": "low"
971
+ },
972
+ "medium": {
973
+ "thinkingLevel": "medium"
974
+ }
975
+ }
976
+ },
977
+ "gemini-3.1-pro-preview": {
978
+ "limit": {
979
+ "context": 1000000,
980
+ "output": 65536
981
+ },
982
+ "modalities": {
983
+ "input": [
984
+ "text",
985
+ "image",
986
+ "pdf"
987
+ ],
988
+ "output": [
989
+ "text"
990
+ ]
991
+ },
992
+ "name": "Gemini 3 1 Pro Preview",
993
+ "options": {
994
+ "generationConfig": {
995
+ "thinkingConfig": {
996
+ "includeThoughts": true,
997
+ "thinkingLevel": "medium"
998
+ }
999
+ }
1000
+ },
1001
+ "reasoning": true,
1002
+ "variants": {
1003
+ "high": {
1004
+ "thinkingLevel": "high"
1005
+ },
1006
+ "low": {
1007
+ "thinkingLevel": "low"
1008
+ },
1009
+ "medium": {
1010
+ "thinkingLevel": "medium"
1011
+ }
1012
+ }
1013
+ },
822
1014
  "glm-4.5": {
823
1015
  "limit": {
824
1016
  "context": 128000,
@@ -18,8 +18,8 @@
18
18
  **File**: `.opencode/plugin/lib/memory-db.ts`
19
19
 
20
20
  ```typescript
21
- // Core database class using bun:sqlite
22
- import { Database } from "bun:sqlite";
21
+ // Core database class using better-sqlite3
22
+ import Database from "better-sqlite3";
23
23
 
24
24
  const DB_PATH = path.join(process.cwd(), ".opencode/memory.db");
25
25
 
@@ -105,7 +105,7 @@ interface SearchIndexResult {
105
105
  execute: async (args) => {
106
106
  const db = getMemoryDB();
107
107
 
108
- // Check if FTS5 available (bun:sqlite supports it)
108
+ // Check if FTS5 available (better-sqlite3 supports it)
109
109
  const useFTS = checkFTS5Available(db);
110
110
 
111
111
  if (useFTS && args.query) {
@@ -76,7 +76,7 @@ The command follows the established pattern from `skill.ts` and `command.ts`:
76
76
 
77
77
  **Validation Steps**:
78
78
 
79
- - Run `bun run src/index.ts create --help` - Shows help text
79
+ - Run `tsx src/index.ts create --help` - Shows help text
80
80
  - Run `npm run typecheck` - No type errors
81
81
 
82
82
  ### Phase 3: Testing
@@ -116,7 +116,7 @@ The command follows the established pattern from `skill.ts` and `command.ts`:
116
116
 
117
117
  **Validation Steps**:
118
118
 
119
- - Run `bun test src/commands/create.test.ts` (if test file created)
119
+ - Run `vitest src/commands/create.test.ts` (if test file created)
120
120
  - Manual testing of all scenarios above
121
121
 
122
122
  ## Dependencies
@@ -40,7 +40,7 @@ Optional supporting files:
40
40
 
41
41
  #### Verification Defaults (Language-Agnostic)
42
42
 
43
- Do NOT assume npm/bun/pytest/etc. Prefer this pattern:
43
+ Do NOT assume npm/pnpm/pytest/etc. Prefer this pattern:
44
44
 
45
45
  - `typecheck`: `<command>`
46
46
  - `lint`: `<command>`
@@ -51,12 +51,12 @@ If the repository has a canonical list of commands, reference it (e.g. `.opencod
51
51
 
52
52
  Common stacks (examples only):
53
53
 
54
- | Stack | typecheck | lint | test |
55
- | ------- | ------------------------------------------ | ---------------------------- | ------------------------ |
56
- | Node/TS | `npm run typecheck` or `bun run typecheck` | `npm run lint` | `bun test` or `npm test` |
57
- | Python | `python -m mypy .` | `ruff check .` | `pytest` |
58
- | Go | `go test ./...` (compile+test) | `golangci-lint run` | `go test ./...` |
59
- | Rust | `cargo check` | `cargo fmt --check` (format) | `cargo test` |
54
+ | Stack | typecheck | lint | test |
55
+ | ------- | ------------------------------------------ | ---------------------------- | ---------------------- |
56
+ | Node/TS | `npm run typecheck` or `npm run typecheck` | `npm run lint` | `vitest` or `npm test` |
57
+ | Python | `python -m mypy .` | `ruff check .` | `pytest` |
58
+ | Go | `go test ./...` (compile+test) | `golangci-lint run` | `go test ./...` |
59
+ | Rust | `cargo check` | `cargo fmt --check` (format) | `cargo test` |
60
60
 
61
61
  ## Delegation Packet (Worker Input)
62
62
 
@@ -128,7 +128,7 @@ Constraints:
128
128
  MUST DO: Use zod for input validation
129
129
  MUST NOT DO: Add new dependencies without approval
130
130
  Verification:
131
- npm run typecheck && npm run lint && bun test src/auth/`,
131
+ npm run typecheck && npm run lint && vitest src/auth/`,
132
132
  });
133
133
  ```
134
134