opencodekit 0.16.18 → 0.16.19

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.
package/dist/index.js CHANGED
@@ -759,16 +759,9 @@ var cac = (name = "") => new CAC(name);
759
759
  // package.json
760
760
  var package_default = {
761
761
  name: "opencodekit",
762
- version: "0.16.18",
762
+ version: "0.16.19",
763
763
  description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
764
- keywords: [
765
- "agents",
766
- "cli",
767
- "mcp",
768
- "opencode",
769
- "opencodekit",
770
- "template"
771
- ],
764
+ keywords: ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
772
765
  license: "MIT",
773
766
  author: "OpenCodeKit",
774
767
  repository: {
@@ -778,10 +771,7 @@ var package_default = {
778
771
  bin: {
779
772
  ock: "dist/index.js"
780
773
  },
781
- files: [
782
- "dist",
783
- "README.md"
784
- ],
774
+ files: ["dist", "README.md"],
785
775
  type: "module",
786
776
  publishConfig: {
787
777
  access: "public",
@@ -9273,12 +9263,12 @@ var MODEL_PRESETS = {
9273
9263
  build: "github-copilot/claude-opus-4.6",
9274
9264
  plan: "openai/gpt-5.3-codex",
9275
9265
  review: "openai/gpt-5.3-codex",
9276
- explore: "proxypal/gemini-3-flash-preview",
9266
+ explore: "proxypal/gemini-3-flash",
9277
9267
  general: "github-copilot/gpt-5.2-codex",
9278
- looker: "proxypal/gemini-3-flash-preview",
9279
- vision: "proxypal/gemini-3-pro-preview",
9280
- scout: "proxypal/gemini-3-flash-preview",
9281
- painter: "proxypal/gemini-3-pro-image-preview"
9268
+ looker: "proxypal/gemini-3-flash",
9269
+ vision: "proxypal/gemini-3-pro",
9270
+ scout: "proxypal/gemini-3-flash",
9271
+ painter: "proxypal/gemini-3-pro"
9282
9272
  }
9283
9273
  }
9284
9274
  };
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "explore": {
12
12
  "description": "Fast codebase search specialist",
13
- "model": "opencode/kimi-k2.5-free"
13
+ "model": "opencode/minimax-m2.1-free"
14
14
  },
15
15
  "general": {
16
16
  "description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "looker": {
20
20
  "description": "Media extraction specialist for images, PDFs, diagrams",
21
- "model": "opencode/kimi-k2.5-free"
21
+ "model": "proxypal/gemini-3-flash"
22
22
  },
23
23
  "painter": {
24
24
  "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",
25
- "model": "opencode/kimi-k2.5-free"
25
+ "model": "proxypal/gemini-3-pro-image"
26
26
  },
27
27
  "plan": {
28
28
  "description": "Primary planning agent for architecture and multi-phase execution",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "review": {
32
32
  "description": "Code review, debugging, and security audit specialist",
33
- "model": "opencode/kimi-k2.5-free"
33
+ "model": "openai/gpt-5.3-codex"
34
34
  },
35
35
  "scout": {
36
36
  "description": "External research specialist for library docs and patterns",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "vision": {
40
40
  "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
41
- "model": "opencode/kimi-k2.5-free"
41
+ "model": "proxypal/gemini-3-pro-high"
42
42
  }
43
43
  },
44
44
  "autoupdate": false,
@@ -193,6 +193,9 @@
193
193
  ],
194
194
  "provider": {
195
195
  "github-copilot": {
196
+ "options": {
197
+ "timeout": 600000
198
+ },
196
199
  "models": {
197
200
  "claude-haiku-4.5": {
198
201
  "attachment": true,
@@ -259,6 +262,9 @@
259
262
  "options": {
260
263
  "thinking": {
261
264
  "type": "adaptive"
265
+ },
266
+ "output_config": {
267
+ "effort": "high"
262
268
  }
263
269
  }
264
270
  },
@@ -515,6 +521,65 @@
515
521
  },
516
522
  "proxypal": {
517
523
  "models": {
524
+ "claude-opus-4-5-thinking": {
525
+ "limit": {
526
+ "context": 200000,
527
+ "output": 64000
528
+ },
529
+ "name": "Claude Opus 4 5 Thinking",
530
+ "options": {
531
+ "thinking": {
532
+ "budgetTokens": 8192,
533
+ "type": "enabled"
534
+ }
535
+ },
536
+ "reasoning": true,
537
+ "variants": {
538
+ "low": {
539
+ "thinkingConfig": {
540
+ "thinkingBudget": 8192
541
+ }
542
+ },
543
+ "max": {
544
+ "thinkingConfig": {
545
+ "thinkingBudget": 32768
546
+ }
547
+ }
548
+ }
549
+ },
550
+ "claude-sonnet-4-5": {
551
+ "limit": {
552
+ "context": 200000,
553
+ "output": 64000
554
+ },
555
+ "name": "Claude Sonnet 4 5"
556
+ },
557
+ "claude-sonnet-4-5-thinking": {
558
+ "limit": {
559
+ "context": 200000,
560
+ "output": 64000
561
+ },
562
+ "name": "Claude Sonnet 4 5 Thinking",
563
+ "options": {
564
+ "thinking": {
565
+ "budgetTokens": 8192,
566
+ "type": "enabled"
567
+ }
568
+ },
569
+ "reasoning": true,
570
+ "variants": {
571
+ "low": {
572
+ "thinkingConfig": {
573
+ "thinkingBudget": 8192
574
+ }
575
+ },
576
+ "max": {
577
+ "thinkingConfig": {
578
+ "thinkingBudget": 32768
579
+ }
580
+ }
581
+ }
582
+ },
518
583
  "gemini-2.5-flash": {
519
584
  "limit": {
520
585
  "context": 1000000,
@@ -566,7 +631,7 @@
566
631
  },
567
632
  "name": "Gemini 2 5 Pro"
568
633
  },
569
- "gemini-3-flash-preview": {
634
+ "gemini-3-flash": {
570
635
  "limit": {
571
636
  "context": 1000000,
572
637
  "output": 65536
@@ -581,7 +646,7 @@
581
646
  "text"
582
647
  ]
583
648
  },
584
- "name": "Gemini 3 Flash Preview",
649
+ "name": "Gemini 3 Flash",
585
650
  "options": {
586
651
  "generationConfig": {
587
652
  "thinkingConfig": {
@@ -603,14 +668,7 @@
603
668
  }
604
669
  }
605
670
  },
606
- "gemini-3-pro-image-preview": {
607
- "limit": {
608
- "context": 1000000,
609
- "output": 65536
610
- },
611
- "name": "Gemini 3 Pro Image Preview"
612
- },
613
- "gemini-3-pro-preview": {
671
+ "gemini-3-flash-preview": {
614
672
  "limit": {
615
673
  "context": 1000000,
616
674
  "output": 65536
@@ -625,7 +683,7 @@
625
683
  "text"
626
684
  ]
627
685
  },
628
- "name": "Gemini 3 Pro Preview",
686
+ "name": "Gemini 3 Flash Preview",
629
687
  "options": {
630
688
  "generationConfig": {
631
689
  "thinkingConfig": {
@@ -647,10 +705,10 @@
647
705
  }
648
706
  }
649
707
  },
650
- "gemini-claude-opus-4-5-thinking": {
708
+ "gemini-3-pro-high": {
651
709
  "limit": {
652
- "context": 200000,
653
- "output": 64000
710
+ "context": 1000000,
711
+ "output": 65536
654
712
  },
655
713
  "modalities": {
656
714
  "input": [
@@ -662,48 +720,39 @@
662
720
  "text"
663
721
  ]
664
722
  },
665
- "name": "Gemini Claude Opus 4 5 Thinking",
723
+ "name": "Gemini 3 Pro High",
666
724
  "options": {
667
- "thinking": {
668
- "budgetTokens": 8192,
669
- "type": "enabled"
725
+ "generationConfig": {
726
+ "thinkingConfig": {
727
+ "includeThoughts": true,
728
+ "thinkingLevel": "medium"
729
+ }
670
730
  }
671
731
  },
672
732
  "reasoning": true,
673
733
  "variants": {
734
+ "high": {
735
+ "thinkingLevel": "high"
736
+ },
674
737
  "low": {
675
- "thinkingConfig": {
676
- "thinkingBudget": 8192
677
- }
738
+ "thinkingLevel": "low"
678
739
  },
679
- "max": {
680
- "thinkingConfig": {
681
- "thinkingBudget": 32768
682
- }
740
+ "medium": {
741
+ "thinkingLevel": "medium"
683
742
  }
684
743
  }
685
744
  },
686
- "gemini-claude-sonnet-4-5": {
745
+ "gemini-3-pro-image": {
687
746
  "limit": {
688
- "context": 200000,
689
- "output": 64000
690
- },
691
- "modalities": {
692
- "input": [
693
- "text",
694
- "image",
695
- "pdf"
696
- ],
697
- "output": [
698
- "text"
699
- ]
747
+ "context": 1000000,
748
+ "output": 65536
700
749
  },
701
- "name": "Gemini Claude Sonnet 4 5"
750
+ "name": "Gemini 3 Pro Image"
702
751
  },
703
- "gemini-claude-sonnet-4-5-thinking": {
752
+ "gemini-3-pro-preview": {
704
753
  "limit": {
705
- "context": 200000,
706
- "output": 64000
754
+ "context": 1000000,
755
+ "output": 65536
707
756
  },
708
757
  "modalities": {
709
758
  "input": [
@@ -715,24 +764,25 @@
715
764
  "text"
716
765
  ]
717
766
  },
718
- "name": "Gemini Claude Sonnet 4 5 Thinking",
767
+ "name": "Gemini 3 Pro Preview",
719
768
  "options": {
720
- "thinking": {
721
- "budgetTokens": 8192,
722
- "type": "enabled"
769
+ "generationConfig": {
770
+ "thinkingConfig": {
771
+ "includeThoughts": true,
772
+ "thinkingLevel": "medium"
773
+ }
723
774
  }
724
775
  },
725
776
  "reasoning": true,
726
777
  "variants": {
778
+ "high": {
779
+ "thinkingLevel": "high"
780
+ },
727
781
  "low": {
728
- "thinkingConfig": {
729
- "thinkingBudget": 8192
730
- }
782
+ "thinkingLevel": "low"
731
783
  },
732
- "max": {
733
- "thinkingConfig": {
734
- "thinkingBudget": 32768
735
- }
784
+ "medium": {
785
+ "thinkingLevel": "medium"
736
786
  }
737
787
  }
738
788
  },
@@ -881,6 +931,31 @@
881
931
  },
882
932
  "name": "Gpt Oss 120b Medium"
883
933
  },
934
+ "kimi-k2": {
935
+ "limit": {
936
+ "context": 128000,
937
+ "output": 16384
938
+ },
939
+ "name": "Kimi K2"
940
+ },
941
+ "kimi-k2-thinking": {
942
+ "limit": {
943
+ "context": 128000,
944
+ "output": 16384
945
+ },
946
+ "name": "Kimi K2 Thinking",
947
+ "options": {
948
+ "reasoningEffort": "high"
949
+ },
950
+ "reasoning": true
951
+ },
952
+ "kimi-k2.5": {
953
+ "limit": {
954
+ "context": 128000,
955
+ "output": 16384
956
+ },
957
+ "name": "Kimi K2 5"
958
+ },
884
959
  "kiro-auto": {
885
960
  "limit": {
886
961
  "context": 128000,
@@ -1,31 +1,32 @@
1
1
  ---
2
2
  name: context-management
3
- description: Use when context is growing large, needing to prune/distill tool outputs, or managing conversation size - covers DCP tools (prune, distill, compress) and context budgets
3
+ description: Use when context is growing large, needing to prune/distill tool outputs, or managing conversation size - covers distill and prune tools with context budgets
4
4
  ---
5
5
 
6
- # Context Management (DCP)
6
+ # Context Management
7
7
 
8
- Manage conversation context to prevent degradation. Uses prune/distill/compress tools.
8
+ Manage conversation context to prevent degradation. Uses distill and prune tools.
9
9
 
10
- ## The Three Tools
10
+ ## The Two Tools
11
11
 
12
- | Tool | Purpose | When to Use |
13
- | ---------- | ----------------------------- | ---------------------------------------- |
14
- | `prune` | Remove tool outputs (no save) | Noise, irrelevant reads, superseded info |
15
- | `distill` | Extract key info, then remove | Large outputs with valuable details |
16
- | `compress` | Collapse conversation range | Completed phases, exploration done |
12
+ | Tool | Purpose | When to Use |
13
+ | --------- | ----------------------------- | ---------------------------------------- |
14
+ | `distill` | Extract key info, then remove | Large outputs with valuable details |
15
+ | `prune` | Remove tool outputs (no save) | Noise, irrelevant reads, superseded info |
16
+
17
+ **Distill is the favored tool.** It preserves knowledge while freeing context. Prune is for pure noise removal.
17
18
 
18
19
  ## When to Evaluate
19
20
 
20
21
  **DO evaluate context when:**
21
22
 
23
+ - Starting a new phase of work (best timing)
22
24
  - Accessed something irrelevant
23
25
  - Information superseded by newer outputs
24
- - Starting a new phase of work
25
- - Large tool outputs with valuable details
26
+ - Large tool outputs with extractable details
26
27
  - Phase complete (research, exploration, implementation)
27
28
 
28
- **DO NOT prune when:**
29
+ **DO NOT manage when:**
29
30
 
30
31
  - Output needed for upcoming edits
31
32
  - Contains files you'll reference when editing
@@ -33,50 +34,43 @@ Manage conversation context to prevent degradation. Uses prune/distill/compress
33
34
 
34
35
  ## Tool Usage
35
36
 
36
- ### Prune - Remove Noise
37
+ ### Distill Preserve + Remove (Preferred)
37
38
 
38
- ```typescript
39
- prune({ ids: ["5", "8"] }); // IDs from <prunable-tools> list
40
- ```
41
-
42
- ### Distill - Preserve + Remove
39
+ Extract high-fidelity knowledge from tool outputs, then remove the raw output. Your distillation must be a **complete technical substitute** — capture signatures, types, logic, constraints, everything essential.
43
40
 
44
41
  ```typescript
45
42
  distill({
46
- ids: ["10", "11"],
47
- distillation: [
48
- "auth.ts: validateToken(token: string) -> User|null, bcrypt 12 rounds",
49
- "user.ts: interface User { id, email, permissions[], status }",
43
+ targets: [
44
+ {
45
+ id: "10",
46
+ distillation:
47
+ "auth.ts: validateToken(token: string) -> User|null, uses bcrypt 12 rounds, throws on expired tokens",
48
+ },
49
+ {
50
+ id: "11",
51
+ distillation:
52
+ "user.ts: interface User { id: string, email: string, permissions: Permission[], status: 'active'|'suspended' }",
53
+ },
50
54
  ],
51
55
  });
52
56
  ```
53
57
 
54
- ### Compress - Collapse Ranges
58
+ ### Prune Remove Noise (Last Resort)
59
+
60
+ Delete tool outputs entirely. No preservation. Use for noise, wrong targets, or superseded information.
55
61
 
56
62
  ```typescript
57
- compress({
58
- input: [
59
- "exact text from start", // Must exist VERBATIM
60
- "exact text from end", // Must come AFTER start
61
- "Topic Label", // 3-5 words
62
- "Summary of accomplishments", // Replacement text
63
- ],
64
- });
63
+ prune({ ids: ["5", "8"] }); // IDs from <prunable-tools> list
65
64
  ```
66
65
 
67
66
  ## Critical Rules
68
67
 
69
- **For prune/distill:**
70
-
71
- - IDs MUST come from current `<prunable-tools>` list
72
- - List refreshes after every tool use - don't cache IDs
73
- - Invalid IDs error: `"Invalid IDs provided"`
74
-
75
- **For compress:**
76
-
77
- - Start/end strings must match EXACTLY
78
- - Start must appear BEFORE end chronologically
79
- - Both strings must be unique (appear only once)
68
+ - IDs MUST come from the current `<prunable-tools>` list
69
+ - The list refreshes after every tool use — don't cache IDs
70
+ - Invalid IDs will error
71
+ - **Distill before prune** if there's anything worth keeping, distill it
72
+ - **Batch operations** accumulate several candidates before acting
73
+ - **Timing** — manage at the START of a new turn (after user message), not at the end of your turn
80
74
 
81
75
  ## Protected Content
82
76
 
@@ -86,30 +80,23 @@ Auto-protected from pruning:
86
80
  - `AGENTS.md`
87
81
  - `.opencode/**` config
88
82
  - `.beads/**` tasks
89
- - `package.json`, `tsconfig.json`, `biome.json`
83
+ - `package.json`, `tsconfig.json`
90
84
 
91
85
  ## Context Budget Guidelines
92
86
 
93
- | Phase | Target | Action |
94
- | ----------------- | ------- | ----------------------------------------- |
95
- | Starting work | <50k | Load only essential AGENTS.md + task spec |
96
- | Mid-task | 50-100k | Prune completed reads, keep active files |
97
- | Approaching limit | >100k | Aggressive pruning, extract key findings |
98
- | Near capacity | >150k | Session restart with handoff |
99
-
100
- ## DCP Commands (User)
101
-
102
- - `/dcp context` - Token usage breakdown
103
- - `/dcp stats` - Cumulative pruning statistics
104
- - `/dcp sweep` - Prune all tools since last user message
105
- - `/dcp sweep 10` - Prune last 10 tools
87
+ | Phase | Target | Action |
88
+ | ----------------- | ------- | ------------------------------------------ |
89
+ | Starting work | <50k | Load only essential AGENTS.md + task spec |
90
+ | Mid-task | 50-100k | Distill completed reads, keep active files |
91
+ | Approaching limit | >100k | Aggressive distill, prune remaining noise |
92
+ | Near capacity | >150k | Session restart with handoff |
106
93
 
107
94
  ## Quick Reference
108
95
 
109
96
  ```
110
- PRUNE: Remove noiseprune({ ids: [...] })
111
- DISTILL: Save + remove distill({ ids: [...], distillation: [...] })
112
- COMPRESS: Collapse phase → compress({ input: [start, end, topic, summary] })
97
+ DISTILL: Save + remove distill({ targets: [{ id, distillation }] })
98
+ PRUNE: Remove noise prune({ ids: [...] })
113
99
 
114
- BUDGET: <50k start → 50-100k mid → >100k prune → >150k restart
100
+ BUDGET: <50k start → 50-100k mid → >100k distill → >150k restart
101
+ TIMING: Manage at turn START, not turn END
115
102
  ```
package/package.json CHANGED
@@ -1,15 +1,8 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.16.18",
3
+ "version": "0.16.19",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
- "keywords": [
6
- "agents",
7
- "cli",
8
- "mcp",
9
- "opencode",
10
- "opencodekit",
11
- "template"
12
- ],
5
+ "keywords": ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
13
6
  "license": "MIT",
14
7
  "author": "OpenCodeKit",
15
8
  "repository": {
@@ -19,10 +12,7 @@
19
12
  "bin": {
20
13
  "ock": "dist/index.js"
21
14
  },
22
- "files": [
23
- "dist",
24
- "README.md"
25
- ],
15
+ "files": ["dist", "README.md"],
26
16
  "type": "module",
27
17
  "publishConfig": {
28
18
  "access": "public",