dual-brain 0.3.24 → 0.3.26
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/bin/dual-brain.mjs +491 -62
- package/dist/src/auto-handoff.d.ts +2 -0
- package/dist/src/auto-handoff.js +20 -5
- package/dist/src/auto-handoff.js.map +1 -1
- package/dist/src/decide.d.ts +21 -0
- package/dist/src/decide.js +146 -24
- package/dist/src/decide.js.map +1 -1
- package/dist/src/dispatch.js +1 -1
- package/dist/src/dispatch.js.map +1 -1
- package/dist/src/install-hooks.js +1 -0
- package/dist/src/install-hooks.js.map +1 -1
- package/dist/src/provider-enforcement.d.ts +3 -1
- package/dist/src/provider-enforcement.js +4 -2
- package/dist/src/provider-enforcement.js.map +1 -1
- package/dist/src/setup-flow.d.ts +10 -0
- package/dist/src/setup-flow.js +28 -4
- package/dist/src/setup-flow.js.map +1 -1
- package/dist/src/test.js +2 -2
- package/dist/src/test.js.map +1 -1
- package/hooks/command-risk.mjs +137 -0
- package/hooks/dual-brain-review.mjs +1 -1
- package/hooks/dual-brain-think.mjs +1 -1
- package/hooks/gpt-work-dispatcher.mjs +32 -6
- package/hooks/head-guard.mjs +26 -40
- package/hooks/model-registry.mjs +14 -14
- package/hooks/task-classifier.mjs +1 -1
- package/hooks/wave-orchestrator.mjs +1 -1
- package/install.mjs +1 -0
- package/package.json +1 -1
package/hooks/model-registry.mjs
CHANGED
|
@@ -188,7 +188,7 @@ export const MODEL_CAPABILITIES = {
|
|
|
188
188
|
modes: {
|
|
189
189
|
webSearch: true,
|
|
190
190
|
webSearchFlag: '--search',
|
|
191
|
-
sandbox: { search: 'read-only', execute: '
|
|
191
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
192
192
|
},
|
|
193
193
|
dispatch: {
|
|
194
194
|
method: 'codex-exec',
|
|
@@ -224,11 +224,11 @@ export const MODEL_CAPABILITIES = {
|
|
|
224
224
|
modes: {
|
|
225
225
|
webSearch: true,
|
|
226
226
|
webSearchFlag: '--search',
|
|
227
|
-
sandbox: { search: 'read-only', execute: '
|
|
227
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
228
228
|
},
|
|
229
229
|
dispatch: {
|
|
230
230
|
method: 'codex-exec',
|
|
231
|
-
example: 'codex exec -m gpt-4.1 -s
|
|
231
|
+
example: 'codex exec -m gpt-4.1 -s workspace-write "..."',
|
|
232
232
|
},
|
|
233
233
|
latency: 'fast',
|
|
234
234
|
quirks: [
|
|
@@ -260,11 +260,11 @@ export const MODEL_CAPABILITIES = {
|
|
|
260
260
|
modes: {
|
|
261
261
|
webSearch: true,
|
|
262
262
|
webSearchFlag: '--search',
|
|
263
|
-
sandbox: { search: 'read-only', execute: '
|
|
263
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
264
264
|
},
|
|
265
265
|
dispatch: {
|
|
266
266
|
method: 'codex-exec',
|
|
267
|
-
example: 'codex exec -m gpt-5.2 -s
|
|
267
|
+
example: 'codex exec -m gpt-5.2 -s workspace-write "..."',
|
|
268
268
|
},
|
|
269
269
|
latency: 'fast',
|
|
270
270
|
quirks: [
|
|
@@ -298,11 +298,11 @@ export const MODEL_CAPABILITIES = {
|
|
|
298
298
|
modes: {
|
|
299
299
|
webSearch: true,
|
|
300
300
|
webSearchFlag: '--search',
|
|
301
|
-
sandbox: { search: 'read-only', execute: '
|
|
301
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
302
302
|
},
|
|
303
303
|
dispatch: {
|
|
304
304
|
method: 'codex-exec',
|
|
305
|
-
example: 'codex exec -m gpt-5.3-codex -s
|
|
305
|
+
example: 'codex exec -m gpt-5.3-codex -s workspace-write "..."',
|
|
306
306
|
},
|
|
307
307
|
latency: 'medium',
|
|
308
308
|
quirks: [
|
|
@@ -334,11 +334,11 @@ export const MODEL_CAPABILITIES = {
|
|
|
334
334
|
},
|
|
335
335
|
modes: {
|
|
336
336
|
webSearch: false,
|
|
337
|
-
sandbox: { search: 'read-only', execute: '
|
|
337
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
338
338
|
},
|
|
339
339
|
dispatch: {
|
|
340
340
|
method: 'codex-exec',
|
|
341
|
-
example: 'codex exec -m gpt-5.3-codex-spark -s
|
|
341
|
+
example: 'codex exec -m gpt-5.3-codex-spark -s workspace-write "..."',
|
|
342
342
|
},
|
|
343
343
|
latency: 'fastest',
|
|
344
344
|
quirks: [
|
|
@@ -372,11 +372,11 @@ export const MODEL_CAPABILITIES = {
|
|
|
372
372
|
modes: {
|
|
373
373
|
webSearch: true,
|
|
374
374
|
webSearchFlag: '--search',
|
|
375
|
-
sandbox: { search: 'read-only', execute: '
|
|
375
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
376
376
|
},
|
|
377
377
|
dispatch: {
|
|
378
378
|
method: 'codex-exec',
|
|
379
|
-
example: 'codex exec -m gpt-5.4-mini -s
|
|
379
|
+
example: 'codex exec -m gpt-5.4-mini -s workspace-write "..."',
|
|
380
380
|
},
|
|
381
381
|
latency: 'medium',
|
|
382
382
|
quirks: [
|
|
@@ -411,11 +411,11 @@ export const MODEL_CAPABILITIES = {
|
|
|
411
411
|
webSearchFlag: '--search',
|
|
412
412
|
computerUse: true,
|
|
413
413
|
toolSearch: true,
|
|
414
|
-
sandbox: { search: 'read-only', execute: '
|
|
414
|
+
sandbox: { search: 'read-only', execute: 'workspace-write' },
|
|
415
415
|
},
|
|
416
416
|
dispatch: {
|
|
417
417
|
method: 'codex-exec',
|
|
418
|
-
example: 'codex exec -m gpt-5.4 -s
|
|
418
|
+
example: 'codex exec -m gpt-5.4 -s workspace-write -c reasoning.effort="high" "..."',
|
|
419
419
|
},
|
|
420
420
|
latency: 'medium',
|
|
421
421
|
quirks: [
|
|
@@ -453,7 +453,7 @@ export const MODEL_CAPABILITIES = {
|
|
|
453
453
|
modes: {
|
|
454
454
|
webSearch: true,
|
|
455
455
|
webSearchFlag: '--search',
|
|
456
|
-
sandbox: { search: 'read-only', execute: '
|
|
456
|
+
sandbox: { search: 'read-only', execute: 'workspace-write', think: 'read-only' },
|
|
457
457
|
},
|
|
458
458
|
dispatch: {
|
|
459
459
|
method: 'codex-exec',
|
|
@@ -206,7 +206,7 @@ function selectModelEffort(taskProfile, options = {}) {
|
|
|
206
206
|
webSearch: openaiCaps?.modes?.webSearch ?? false,
|
|
207
207
|
sandbox: openaiCaps?.modes?.sandbox?.[
|
|
208
208
|
thinkIntents.includes(intent) ? 'think' : searchIntents.includes(intent) ? 'search' : 'execute'
|
|
209
|
-
] ?? '
|
|
209
|
+
] ?? 'workspace-write',
|
|
210
210
|
};
|
|
211
211
|
|
|
212
212
|
// ── Outcome learning override ──
|
|
@@ -486,7 +486,7 @@ function inferAgentType(task) {
|
|
|
486
486
|
}
|
|
487
487
|
|
|
488
488
|
function inferSandbox(task) {
|
|
489
|
-
return task.tier === 'execute' ? '
|
|
489
|
+
return task.tier === 'execute' ? 'workspace-write' : 'read-only';
|
|
490
490
|
}
|
|
491
491
|
|
|
492
492
|
function estimateDurationMs(task) {
|
package/install.mjs
CHANGED
package/package.json
CHANGED