mixdog 1.1.0 → 1.1.2
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/README.md +13 -6
- package/package.json +1 -2
- package/scripts/latest-guard.mjs +63 -0
- package/scripts/lib/run-node-tests.mjs +103 -27
- package/scripts/lib/test-failure-summary.mjs +7 -2
- package/scripts/merge-mac-update-feed.mjs +107 -0
- package/scripts/mobile-release.mjs +210 -0
- package/scripts/post-release-check.mjs +353 -0
- package/scripts/publish-asset-release.mjs +43 -0
- package/scripts/release-guard.mjs +63 -0
- package/scripts/release-paths.mjs +39 -2
- package/scripts/test.mjs +29 -7
- package/src/defaults/shipped-history.json +2 -0
- package/src/defaults/skills/computer-use/SKILL.md +1 -1
- package/src/defaults/skills/setup/references/actions.md +1 -0
- package/src/headless-role.mjs +2 -2
- package/src/lib/keychain-cjs.cjs +582 -17
- package/src/lib/rules-builder.cjs +0 -23
- package/src/rules/lead/LEAD.md +2 -2
- package/src/runtime/agent/orchestrator/config-storage.mjs +32 -4
- package/src/runtime/agent/orchestrator/config.mjs +18 -0
- package/src/runtime/agent/orchestrator/context/instruction-files.mjs +130 -0
- package/src/runtime/agent/orchestrator/context/role-instructions.mjs +4 -0
- package/src/runtime/agent/orchestrator/providers/lib/oauth-token-utils.mjs +11 -0
- package/src/runtime/agent/orchestrator/providers/lib/open-login-url.mjs +9 -0
- package/src/runtime/agent/orchestrator/providers/mimo-oauth-login.mjs +254 -0
- package/src/runtime/agent/orchestrator/providers/mimo-oauth-profile.mjs +218 -0
- package/src/runtime/agent/orchestrator/providers/mimo-oauth-tokens.mjs +239 -0
- package/src/runtime/agent/orchestrator/providers/mimo-oauth.mjs +233 -0
- package/src/runtime/agent/orchestrator/providers/muse-code-oauth-login.mjs +247 -0
- package/src/runtime/agent/orchestrator/providers/muse-code-oauth-tokens.mjs +225 -0
- package/src/runtime/agent/orchestrator/providers/muse-code-oauth.mjs +542 -0
- package/src/runtime/agent/orchestrator/providers/oauth-credential-probes.mjs +25 -0
- package/src/runtime/agent/orchestrator/providers/oauth-usage.mjs +4 -1
- package/src/runtime/agent/orchestrator/providers/openai-codex-model.mjs +13 -0
- package/src/runtime/agent/orchestrator/providers/openai-compat-responses.mjs +14 -6
- package/src/runtime/agent/orchestrator/providers/openai-oauth-catalog-store.mjs +99 -0
- package/src/runtime/agent/orchestrator/providers/openai-oauth-catalog.mjs +4 -8
- package/src/runtime/agent/orchestrator/providers/openai-oauth-login.mjs +2 -7
- package/src/runtime/agent/orchestrator/providers/openai-responses-payload.mjs +8 -0
- package/src/runtime/agent/orchestrator/providers/registry.mjs +4 -0
- package/src/runtime/agent/orchestrator/runtime-core/effort.mjs +2 -0
- package/src/runtime/agent/orchestrator/runtime-core/goal-tool-defs.mjs +15 -1
- package/src/runtime/agent/orchestrator/runtime-core/tool-defs.mjs +1 -5
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +12 -14
- package/src/runtime/agent/orchestrator/session/loop/send-phase.mjs +11 -1
- package/src/runtime/agent/orchestrator/session/loop/tool-call-ids.mjs +90 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-exec/before-hook.mjs +19 -11
- package/src/runtime/agent/orchestrator/session/loop/tool-phase.mjs +1 -0
- package/src/runtime/agent/orchestrator/session/manager/runtime-liveness.mjs +28 -0
- package/src/runtime/agent/orchestrator/session/manager/session-prompt-composition.mjs +8 -0
- package/src/runtime/agent/orchestrator/session/manager/session-record.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/manager.mjs +1 -5
- package/src/runtime/agent/orchestrator/session/read-dedup.mjs +0 -1
- package/src/runtime/agent/orchestrator/session/store-agent-worker-rows.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/tool-batch/finalize.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/transcript-restore/restore.mjs +2 -0
- package/src/runtime/agent/orchestrator/session/transcript-restore/tool-result-status.mjs +23 -0
- package/src/runtime/agent/orchestrator/session/turn-effort.mjs +18 -0
- package/src/runtime/agent/orchestrator/tools/builtin/arg-guard.mjs +11 -8
- package/src/runtime/agent/orchestrator/tools/builtin/atomic-write.mjs +9 -4
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/bashism-rewrite.mjs +245 -0
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/command-preflight.mjs +13 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/completed-result.mjs +3 -1
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/invocation-plan.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool/result-format.mjs +49 -0
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool.mjs +3 -3
- package/src/runtime/agent/orchestrator/tools/builtin/builtin-tools.mjs +9 -7
- package/src/runtime/agent/orchestrator/tools/builtin/external-tool-adapters.mjs +61 -8
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.mjs +28 -3
- package/src/runtime/agent/orchestrator/tools/builtin/path-utils.mjs +73 -1
- package/src/runtime/agent/orchestrator/tools/builtin/read-single-guards.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/builtin/read-tool.mjs +3 -1
- package/src/runtime/agent/orchestrator/tools/builtin/search-grep-tool.mjs +17 -6
- package/src/runtime/agent/orchestrator/tools/builtin/search-path-diagnostics.mjs +23 -5
- package/src/runtime/agent/orchestrator/tools/builtin/shell-jobs.mjs +93 -43
- package/src/runtime/agent/orchestrator/tools/builtin/task-tool.mjs +32 -6
- package/src/runtime/agent/orchestrator/tools/builtin.mjs +9 -2
- package/src/runtime/agent/orchestrator/tools/code-graph/dispatch.mjs +3 -1
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-background/promote-job.mjs +12 -15
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-background.mjs +2 -2
- package/src/runtime/agent/orchestrator/tools/lib/shell-run-state.mjs +4 -2
- package/src/runtime/agent/orchestrator/tools/shell-command.mjs +124 -91
- package/src/runtime/agent/orchestrator/tools/shell-exec-policy.mjs +19 -4
- package/src/runtime/channels/index.mjs +1 -5
- package/src/runtime/channels/lib/runtime-paths.mjs +8 -23
- package/src/runtime/channels/lib/tool-dispatch.mjs +1 -13
- package/src/runtime/channels/lib/worker-ipc.mjs +2 -2
- package/src/runtime/channels/lib/worker-main.mjs +4 -34
- package/src/runtime/computer-bridge/client.mjs +25 -1
- package/src/runtime/computer-bridge/linux-action-capabilities.mjs +84 -0
- package/src/runtime/computer-bridge/linux-readiness.d.mts +52 -0
- package/src/runtime/computer-bridge/linux-readiness.mjs +411 -0
- package/src/runtime/computer-bridge/test-linux-display.mjs +5 -0
- package/src/runtime/effort-judge/compact-tokenizer.mjs +13 -8
- package/src/runtime/effort-judge/judge-input.mjs +5 -2
- package/src/runtime/effort-judge/model-install.mjs +9 -3
- package/src/runtime/effort-judge/model-manifest.json +7 -7
- package/src/runtime/memory/lib/embedding-worker.mjs +9 -3
- package/src/runtime/memory/lib/pg/supervisor.mjs +3 -0
- package/src/runtime/shared/config.mjs +50 -2
- package/src/runtime/shared/developer-options.mjs +7 -0
- package/src/runtime/shared/instruction-files-mode.mjs +9 -0
- package/src/runtime/shared/llm/model-catalog.mjs +2 -1
- package/src/runtime/shared/llm/openai-daybreak.mjs +79 -0
- package/src/runtime/shared/pristine-execution-contract.json +9 -0
- package/src/runtime/shared/pristine-execution.mjs +1 -1
- package/src/runtime/shared/provider-accounts.mjs +2 -0
- package/src/runtime/shared/resource-admission.mjs +10 -3
- package/src/runtime/shared/schedule-model-ref.mjs +11 -0
- package/src/runtime/shared/semver.d.mts +1 -0
- package/src/runtime/shared/semver.mjs +57 -0
- package/src/runtime/shared/session-approval-wait.mjs +35 -0
- package/src/runtime/shared/shell-display.mjs +4 -2
- package/src/runtime/shared/tool-surface.mjs +2 -2
- package/src/runtime/shared/turn-worktree-snapshot.mjs +11 -10
- package/src/runtime/shared/update-checker.mjs +2 -31
- package/src/session-runtime/boot/apis.mjs +5 -0
- package/src/session-runtime/boot/begin.mjs +0 -2
- package/src/session-runtime/boot/tools.mjs +5 -4
- package/src/session-runtime/model-recency.mjs +3 -0
- package/src/session-runtime/provider-auth/login.mjs +10 -10
- package/src/session-runtime/provider-auth/setup.mjs +22 -2
- package/src/session-runtime/provider-models/row-hydration.mjs +12 -4
- package/src/session-runtime/provider-readiness.mjs +4 -0
- package/src/session-runtime/resource-mcp-api.mjs +7 -3
- package/src/session-runtime/runtime-bootstrap.mjs +0 -4
- package/src/session-runtime/runtime-facade.mjs +5 -0
- package/src/session-runtime/runtime-paths.mjs +0 -1
- package/src/session-runtime/schedule-session-run.mjs +3 -1
- package/src/session-runtime/services/agent-tool/index-write-queue.mjs +55 -14
- package/src/session-runtime/services/agent-tool/job-views/agent-list.mjs +15 -3
- package/src/session-runtime/services/agent-tool/job-views/session-progress.mjs +2 -0
- package/src/session-runtime/services/agent-tool/worker-index/approval-wait.mjs +97 -0
- package/src/session-runtime/services/agent-tool/worker-index/mutation-batch.mjs +4 -2
- package/src/session-runtime/services/agent-tool/worker-index/row-liveness.mjs +8 -2
- package/src/session-runtime/services/agent-tool/worker-index/row-shape.mjs +3 -0
- package/src/session-runtime/services/agent-tool/worker-index/row-store.mjs +58 -2
- package/src/session-runtime/services/agent-tool/worker-index.mjs +69 -15
- package/src/session-runtime/services/agent-tool/worker-rows.mjs +2 -0
- package/src/session-runtime/services/channel-admin.mjs +4 -2
- package/src/session-runtime/services/channel-worker.mjs +1 -1
- package/src/session-runtime/services/provider-admin.mjs +80 -17
- package/src/session-runtime/services/seeds.mjs +7 -10
- package/src/session-runtime/services/usage-dashboard-model.mjs +6 -0
- package/src/session-runtime/settings-builtin-tools-api.mjs +15 -0
- package/src/session-runtime/settings-profile-api.mjs +27 -2
- package/src/session-runtime/setup-tool/executor.mjs +5 -0
- package/src/session-runtime/setup-tool/tool-defs.mjs +8 -0
- package/src/session-runtime/starter-guide-state.mjs +62 -0
- package/src/session-runtime/tool-policy-refresh.mjs +3 -0
- package/src/session-runtime/webhook-session-run.mjs +3 -1
- package/src/session-runtime/workflow-agents-api/onboarding.mjs +3 -2
- package/src/standalone/channel-binding.mjs +1 -2
- package/src/standalone/channel-transport/call-dispatch.mjs +4 -10
- package/src/standalone/daemon-channels-loader.mjs +2 -3
- package/src/standalone/local-session-runtime.mjs +2 -78
- package/src/standalone/session-protocol.mjs +2 -0
- package/src/tui/app/model-options.mjs +13 -1
- package/src/tui/app/model-picker/route-selection/fast-parameters.mjs +10 -4
- package/src/tui/app/provider-setup/oauth-actions.mjs +5 -0
- package/src/tui/dist/index.mjs +84 -34
- package/src/tui/session/context-state.mjs +2 -0
- package/src/tui/session/live-share/owner.mjs +17 -0
- package/src/tui/session/oauth-flows.mjs +2 -0
- package/src/tui/session/session-api/extensions.mjs +12 -8
- package/src/tui/session/session-api/integrations.mjs +9 -8
- package/src/tui/session/session-api/routes.mjs +2 -2
- package/src/tui/session/session-api/settings.mjs +1 -0
- package/src/tui/session/session-api/shared.mjs +10 -6
- package/src/tui/session/tool-card-results/grouped-result.mjs +11 -2
- package/src/tui/session/transcript-spill/spill-dir.mjs +22 -6
- package/src/tui/spinner-meta.mjs +26 -10
- package/src/runtime/channels/tool-defs.mjs +0 -17
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Single source of truth for CI/CD path selection.
|
|
3
3
|
//
|
|
4
4
|
// Consumers:
|
|
5
|
-
// - .github/workflows/release-gate.yml → `node scripts/release-paths.mjs desktop-regex|runtime-regex`
|
|
5
|
+
// - .github/workflows/release-gate.yml → `node scripts/release-paths.mjs desktop-regex|runtime-regex|patch-regex|history-regex|mobile-regex`
|
|
6
6
|
// (grep -E patterns selecting which incremental gates a change requires)
|
|
7
7
|
// - .github/workflows/deploy.yml → `import { RELEASE_CRITICAL_PATHS }`
|
|
8
8
|
// (git diff paths whose change invalidates the previous release's
|
|
@@ -47,6 +47,24 @@ const PATCH_GATE_FILES = [
|
|
|
47
47
|
...GATE_SELECTION_SOURCES,
|
|
48
48
|
];
|
|
49
49
|
|
|
50
|
+
// The shipped-definition history is generated from git history of the agent,
|
|
51
|
+
// workflow, output-style and bundled-skill trees (scripts/build-shipped-history.mjs)
|
|
52
|
+
// and committed under src/defaults/. Release re-checks it, so the gate checks
|
|
53
|
+
// it first instead of letting a stale file fail the deploy late.
|
|
54
|
+
const HISTORY_GATE_PREFIXES = ['src/agents/', 'src/workflows/', 'src/output-styles/', 'src/defaults/'];
|
|
55
|
+
const HISTORY_GATE_FILES = [
|
|
56
|
+
'scripts/build-shipped-history.mjs',
|
|
57
|
+
'src/runtime/shared/shipped-definitions.mjs',
|
|
58
|
+
'.github/workflows/release-gate.yml',
|
|
59
|
+
...GATE_SELECTION_SOURCES,
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
// The mobile release scripts (Python) carry unittest suites that no Node lane
|
|
63
|
+
// discovers; they run when those scripts or the mobile workflows change.
|
|
64
|
+
const MOBILE_GATE_PREFIXES = ['apps/mobile/scripts/'];
|
|
65
|
+
const MOBILE_WORKFLOW_PATTERN = '\\.github/workflows/mobile-[^/]*\\.yml$';
|
|
66
|
+
const MOBILE_GATE_FILES = ['.github/workflows/release-gate.yml', ...GATE_SELECTION_SOURCES];
|
|
67
|
+
|
|
50
68
|
// deploy.yml plan: paths whose change since the published release tag marks
|
|
51
69
|
// the default lane as unverified.
|
|
52
70
|
export const RELEASE_CRITICAL_PATHS = ['native', 'scripts', 'src', ...PACKAGE_MANIFESTS];
|
|
@@ -77,14 +95,33 @@ export function patchGateRegex() {
|
|
|
77
95
|
].join('|')})`;
|
|
78
96
|
}
|
|
79
97
|
|
|
98
|
+
export function historyGateRegex() {
|
|
99
|
+
return `^(${[
|
|
100
|
+
...HISTORY_GATE_PREFIXES.map(escapeRegex),
|
|
101
|
+
...HISTORY_GATE_FILES.map((file) => `${escapeRegex(file)}$`),
|
|
102
|
+
].join('|')})`;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export function mobileGateRegex() {
|
|
106
|
+
return `^(${[
|
|
107
|
+
...MOBILE_GATE_PREFIXES.map(escapeRegex),
|
|
108
|
+
...MOBILE_GATE_FILES.map((file) => `${escapeRegex(file)}$`),
|
|
109
|
+
MOBILE_WORKFLOW_PATTERN,
|
|
110
|
+
].join('|')})`;
|
|
111
|
+
}
|
|
112
|
+
|
|
80
113
|
const mode = process.argv[2];
|
|
81
114
|
if (mode) {
|
|
82
115
|
if (mode === 'desktop-regex') process.stdout.write(`${desktopGateRegex()}\n`);
|
|
83
116
|
else if (mode === 'runtime-regex') process.stdout.write(`${runtimeGateRegex()}\n`);
|
|
84
117
|
else if (mode === 'patch-regex') process.stdout.write(`${patchGateRegex()}\n`);
|
|
118
|
+
else if (mode === 'history-regex') process.stdout.write(`${historyGateRegex()}\n`);
|
|
119
|
+
else if (mode === 'mobile-regex') process.stdout.write(`${mobileGateRegex()}\n`);
|
|
85
120
|
else if (mode === 'critical-paths') process.stdout.write(`${RELEASE_CRITICAL_PATHS.join('\n')}\n`);
|
|
86
121
|
else {
|
|
87
|
-
process.stderr.write(
|
|
122
|
+
process.stderr.write(
|
|
123
|
+
`unknown mode: ${mode} (expected desktop-regex|runtime-regex|patch-regex|history-regex|mobile-regex|critical-paths)\n`
|
|
124
|
+
);
|
|
88
125
|
process.exit(1);
|
|
89
126
|
}
|
|
90
127
|
}
|
package/scripts/test.mjs
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
import { glob } from 'node:fs/promises';
|
|
22
22
|
import { resolve } from 'node:path';
|
|
23
23
|
import { fileURLToPath } from 'node:url';
|
|
24
|
-
import { runNodeTests } from './lib/run-node-tests.mjs';
|
|
24
|
+
import { DEFAULT_TEST_TIMEOUT_MS, LONG_TEST_TIMEOUT_MS, runNodeTests } from './lib/run-node-tests.mjs';
|
|
25
25
|
|
|
26
26
|
const FILE_LANES = ['fast', 'slow', 'live', 'electron'];
|
|
27
27
|
const LANES = [...FILE_LANES, 'all'];
|
|
@@ -40,11 +40,14 @@ export const USAGE = `Usage: node scripts/test.mjs [--lane ${LANES.join('|')}] [
|
|
|
40
40
|
--exclude-lane drop one lane from the selection, repeatable. Electron and
|
|
41
41
|
window-capture tests cannot run twice at once, so a second
|
|
42
42
|
concurrent run uses --exclude-lane electron.
|
|
43
|
-
--rerun-failed <n> re-run the failed files up to n times
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
--rerun-failed <n> re-run the failed files up to n times. Default: 1 for a
|
|
44
|
+
local run, 0 (off) when CI is set; MIXDOG_TEST_RERUN_FAILED
|
|
45
|
+
overrides the default. A test that passes on a re-run is
|
|
46
|
+
reported as flaky and does NOT fail the run; a test that
|
|
47
|
+
fails every re-run still exits 1. With 0 every failure fails
|
|
48
|
+
the run.
|
|
49
|
+
Per-file timeout: --test-timeout (default 120000 ms for the fast lane, 600000
|
|
50
|
+
ms otherwise); MIXDOG_TEST_TIMEOUT_MS overrides, 0 disables.
|
|
48
51
|
--import forwarded to node (desktop passes its test-env and tsx loaders).
|
|
49
52
|
--test-* forwarded to node --test (e.g. --test-name-pattern, --test-only).
|
|
50
53
|
--coverage collect V8 coverage (NODE_V8_COVERAGE, no dependency) and fold
|
|
@@ -80,6 +83,17 @@ function rerunCount(value) {
|
|
|
80
83
|
return Number(value);
|
|
81
84
|
}
|
|
82
85
|
|
|
86
|
+
// Files run in parallel on every core, which exposes timing-sensitive tests
|
|
87
|
+
// that pass alone. A local run therefore re-runs failed files once and reports
|
|
88
|
+
// a pass on the re-run as flaky (named in the failure summary). CI keeps the
|
|
89
|
+
// strict policy unless it opts in with --rerun-failed or MIXDOG_TEST_RERUN_FAILED;
|
|
90
|
+
// MIXDOG_TEST_RERUN_FAILED=0 turns the local default off.
|
|
91
|
+
export function defaultRerunFailed(env = process.env) {
|
|
92
|
+
if (/^\d+$/.test(String(env.MIXDOG_TEST_RERUN_FAILED ?? ''))) return Number(env.MIXDOG_TEST_RERUN_FAILED);
|
|
93
|
+
const ci = String(env.CI ?? '').toLowerCase();
|
|
94
|
+
return ci && ci !== '0' && ci !== 'false' ? 0 : 1;
|
|
95
|
+
}
|
|
96
|
+
|
|
83
97
|
export function parseArgs(argv) {
|
|
84
98
|
const options = { lane: 'fast', list: false, nodeArgs: [], filters: [] };
|
|
85
99
|
for (let index = 0; index < argv.length; index++) {
|
|
@@ -102,6 +116,10 @@ export function parseArgs(argv) {
|
|
|
102
116
|
const spec = argv[++index];
|
|
103
117
|
if (spec === undefined) throw new Error('--import requires a value');
|
|
104
118
|
options.nodeArgs.push(arg, spec);
|
|
119
|
+
} else if (arg === '--test-timeout' || arg === '--test-concurrency') {
|
|
120
|
+
const value = argv[++index];
|
|
121
|
+
if (value === undefined) throw new Error(`${arg} requires a value`);
|
|
122
|
+
options.nodeArgs.push(`${arg}=${value}`);
|
|
105
123
|
} else if (arg.startsWith('--import=') || arg.startsWith('--test-')) options.nodeArgs.push(arg);
|
|
106
124
|
else options.filters.push(arg.replaceAll('\\', '/'));
|
|
107
125
|
}
|
|
@@ -198,7 +216,11 @@ async function main() {
|
|
|
198
216
|
'--test-force-exit',
|
|
199
217
|
],
|
|
200
218
|
files,
|
|
201
|
-
{
|
|
219
|
+
{
|
|
220
|
+
coverage: options.coverage === true,
|
|
221
|
+
rerunFailed: options.rerunFailed ?? defaultRerunFailed(),
|
|
222
|
+
testTimeoutMs: options.lane === 'fast' ? DEFAULT_TEST_TIMEOUT_MS : LONG_TEST_TIMEOUT_MS,
|
|
223
|
+
}
|
|
202
224
|
);
|
|
203
225
|
}
|
|
204
226
|
|
|
@@ -197,6 +197,7 @@
|
|
|
197
197
|
"733d30c3ca6745c96a69f7e237f3d8c0",
|
|
198
198
|
"7b9ce58540ed4609f290dc981a7e1719",
|
|
199
199
|
"8236330f56f27dd283bda6da1239285d",
|
|
200
|
+
"8bc93c9320b83de81baa8cf242af5c0b",
|
|
200
201
|
"8fe64c8f6d81bee2120134adf0d6a471",
|
|
201
202
|
"9e7a48df5065f5073bbab6f9db3e4061",
|
|
202
203
|
"b46617cc619e09c35b6bad8f6177e722",
|
|
@@ -326,6 +327,7 @@
|
|
|
326
327
|
"6101786127a1e68778eafcd2bf2c9ce0",
|
|
327
328
|
"6711dbc9d84023b8eabfa928b8d33d18",
|
|
328
329
|
"6f9e9338f560fa9acd839a67b5e2d1cc",
|
|
330
|
+
"70c54f802c77b630863b9e17a16d8224",
|
|
329
331
|
"81e979463e0066e7a45cf511a31c5d68",
|
|
330
332
|
"8476c811b2f02da3a434bcb23a1c3d12",
|
|
331
333
|
"9f90d3872b1ecd312977ce661b770b31",
|
|
@@ -20,7 +20,7 @@ Platform notes: on macOS, `cmd` is the Command key and Mixdog needs the
|
|
|
20
20
|
Accessibility and Screen Recording permissions. On Linux Wayland there is no
|
|
21
21
|
background pixel input, pointer and keys need write access to `/dev/uinput`,
|
|
22
22
|
and window control needs a compositor that exposes it (sway, Hyprland, or
|
|
23
|
-
GNOME with the
|
|
23
|
+
GNOME with Mixdog's own shell extension, which the app sets up); prefer accessibility refs there.
|
|
24
24
|
|
|
25
25
|
> Method and pointers only. The tool description and input schema are the
|
|
26
26
|
> authority for every field; when this file and the schema disagree, the
|
|
@@ -27,6 +27,7 @@ Read this when choosing a `setup` mutation.
|
|
|
27
27
|
| Memory capability | `set_memory_enabled` |
|
|
28
28
|
| Background memory cycles | `set_recap_enabled` |
|
|
29
29
|
| Web Search tool exposure | `set_web_search_enabled` |
|
|
30
|
+
| Which user instruction files (AGENTS.md / CLAUDE.md) new sessions load: all, agents, claude, or off | `set_instruction_files` |
|
|
30
31
|
| Git, Office, Code Tidy, Local Provider, Auto Effort, Browser, Computer, or voice enabled state | `set_builtin_enabled` |
|
|
31
32
|
| Git, Memory, Office, Code Tidy, Local Provider, Auto Effort, Browser, Computer, or voice preparation | `install_builtin` |
|
|
32
33
|
| Managed local model installation | `install_local_model` |
|
package/src/headless-role.mjs
CHANGED
|
@@ -140,8 +140,8 @@ export async function runHeadlessRole({
|
|
|
140
140
|
} = {}) {
|
|
141
141
|
const cleanAgent = clean(agent);
|
|
142
142
|
const cleanMessage = clean(message);
|
|
143
|
-
//
|
|
144
|
-
//
|
|
143
|
+
// Web search and memory start OFF. This call can pass webSearch or memory;
|
|
144
|
+
// exec accepts --web-search and rejects --memory. An explicit
|
|
145
145
|
// MIXDOG_FEATURE_* value from the caller environment always wins.
|
|
146
146
|
for (const [key, enabled] of [
|
|
147
147
|
['MIXDOG_FEATURE_WEB_SEARCH', webSearch],
|