mixdog 1.1.0 → 1.1.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.
- package/README.md +13 -6
- package/package.json +1 -1
- 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/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/lib/keychain-cjs.cjs +582 -17
- 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/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/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 -81
- package/src/runtime/agent/orchestrator/tools/shell-exec-policy.mjs +19 -4
- 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/session-approval-wait.mjs +35 -0
- package/src/runtime/shared/shell-display.mjs +4 -2
- package/src/runtime/shared/turn-worktree-snapshot.mjs +11 -10
- package/src/session-runtime/boot/apis.mjs +5 -0
- 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/runtime-facade.mjs +5 -0
- 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/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/setup-tool/executor.mjs +5 -0
- package/src/session-runtime/setup-tool/tool-defs.mjs +8 -0
- package/src/session-runtime/tool-policy-refresh.mjs +3 -0
- package/src/session-runtime/webhook-session-run.mjs +3 -1
- package/src/standalone/session-protocol.mjs +1 -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/integrations.mjs +8 -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/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/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` |
|