opencode-matrixx-v2 1.0.0 → 1.2.0
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 +2 -2
- package/dist/cli/doctor/checks/context-mode.d.ts +24 -1
- package/dist/cli.js +1254 -10967
- package/dist/config/schema/background-task.d.ts +0 -9
- package/dist/config/schema/matrixx-config.d.ts +0 -9
- package/dist/features/background-agent/constants.d.ts +0 -4
- package/dist/features/background-agent/index.d.ts +0 -1
- package/dist/features/background-agent/manager.d.ts +1 -0
- package/dist/features/background-agent/session-output.d.ts +4 -0
- package/dist/features/session-state/state.d.ts +1 -0
- package/dist/features/task-toast-manager/manager.d.ts +2 -6
- package/dist/hooks/auto-update-checker/hook/mcp-startup-toast.d.ts +5 -0
- package/dist/hooks/subagent-block/constants.d.ts +1 -1
- package/dist/index.js +6481 -15615
- package/dist/matrixx.schema.json +0 -33
- package/dist/mcps/context7.d.ts +12 -0
- package/dist/mcps/index.d.ts +3 -0
- package/dist/mcps/mcp-startup-notice.d.ts +5 -0
- package/dist/mcps/mcp.transform.d.ts +2 -0
- package/dist/plugin/legacy-hooks.d.ts +5 -5
- package/dist/plugin/setup-domains.d.ts +3 -0
- package/dist/shared/context-mode-enforcement.d.ts +7 -3
- package/dist/shared/task-system-gating.d.ts +1 -1
- package/dist/tools/background-task/clients.d.ts +2 -4
- package/dist/tools/background-task/create-background-cancel.d.ts +2 -2
- package/dist/tools/delegate-task/sync-session-poller.d.ts +15 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools.js +890 -10588
- package/package.json +3 -3
- package/dist/features/background-agent/concurrency.d.ts +0 -36
package/dist/matrixx.schema.json
CHANGED
|
@@ -3299,39 +3299,6 @@
|
|
|
3299
3299
|
},
|
|
3300
3300
|
"additionalProperties": false
|
|
3301
3301
|
},
|
|
3302
|
-
"admissionTimeoutMs": {
|
|
3303
|
-
"anyOf": [
|
|
3304
|
-
{
|
|
3305
|
-
"type": "number",
|
|
3306
|
-
"const": 0
|
|
3307
|
-
},
|
|
3308
|
-
{
|
|
3309
|
-
"type": "number",
|
|
3310
|
-
"minimum": 60000
|
|
3311
|
-
}
|
|
3312
|
-
]
|
|
3313
|
-
},
|
|
3314
|
-
"nestedAdmission": {
|
|
3315
|
-
"type": "object",
|
|
3316
|
-
"properties": {
|
|
3317
|
-
"enabled": {
|
|
3318
|
-
"type": "boolean"
|
|
3319
|
-
},
|
|
3320
|
-
"mode": {
|
|
3321
|
-
"type": "string",
|
|
3322
|
-
"enum": [
|
|
3323
|
-
"bypass",
|
|
3324
|
-
"reserve"
|
|
3325
|
-
]
|
|
3326
|
-
},
|
|
3327
|
-
"maxDepth": {
|
|
3328
|
-
"type": "integer",
|
|
3329
|
-
"minimum": 1,
|
|
3330
|
-
"maximum": 5
|
|
3331
|
-
}
|
|
3332
|
-
},
|
|
3333
|
-
"additionalProperties": false
|
|
3334
|
-
},
|
|
3335
3302
|
"wakeScheduler": {
|
|
3336
3303
|
"type": "object",
|
|
3337
3304
|
"properties": {
|
package/dist/mcps/context7.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
export interface BuildContext7EntryInput {
|
|
2
|
+
context7ApiKey?: string;
|
|
3
|
+
}
|
|
4
|
+
export declare function buildContext7Entry(input?: BuildContext7EntryInput): {
|
|
5
|
+
type: "remote";
|
|
6
|
+
url: string;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
headers: {
|
|
9
|
+
Authorization: string;
|
|
10
|
+
} | undefined;
|
|
11
|
+
oauth: false;
|
|
12
|
+
};
|
|
1
13
|
export declare const context7: {
|
|
2
14
|
type: "remote";
|
|
3
15
|
url: string;
|
package/dist/mcps/index.d.ts
CHANGED
|
@@ -10,10 +10,13 @@ import { type BuiltinMcpEntry } from "./mcp.transform";
|
|
|
10
10
|
import { type McpCreationFailure } from "./mcp-validator";
|
|
11
11
|
export type { McpTransformDomain, McpTransformEditor, RegisterMcpTransformResult, } from "./mcp.transform";
|
|
12
12
|
export { type BuiltinMcpEntry, buildBuiltinMcpEntries, registerMcpTransform, toV2McpEntry } from "./mcp.transform";
|
|
13
|
+
export { buildMcpStartupNotice, getMcpStartupNotice, MCP_UVX_INSTALL_FIX, MCP_UVX_WARM_FIX } from "./mcp-startup-notice";
|
|
13
14
|
export type { McpCreationFailure } from "./mcp-validator";
|
|
14
15
|
export { type McpName, McpNameSchema } from "./types";
|
|
15
16
|
export interface CreateBuiltinMcpsOptions {
|
|
16
17
|
isCommandAvailable?: (command: string) => boolean;
|
|
18
|
+
/** Overrides `process.env.CONTEXT7_API_KEY`; resolved at the edge, never in the builder. */
|
|
19
|
+
context7ApiKey?: string;
|
|
17
20
|
}
|
|
18
21
|
export interface CreateBuiltinMcpsResult {
|
|
19
22
|
mcps: Record<string, BuiltinMcpEntry>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { McpCreationFailure } from "./mcp-validator";
|
|
2
|
+
export declare const MCP_UVX_INSTALL_FIX = "curl -LsSf https://astral.sh/uv/install.sh | sh";
|
|
3
|
+
export declare const MCP_UVX_WARM_FIX = "uvx --from markitdown-mcp markitdown-mcp --help";
|
|
4
|
+
export declare function buildMcpStartupNotice(failures: McpCreationFailure[]): string | undefined;
|
|
5
|
+
export declare function getMcpStartupNotice(): string | undefined;
|
|
@@ -23,6 +23,8 @@ export interface BuildBuiltinMcpEntriesInput {
|
|
|
23
23
|
disabledMcps?: string[];
|
|
24
24
|
/** Resolved by the caller (e.g. `isCommandAvailable("uvx")`); never spawned here. */
|
|
25
25
|
uvxAvailable: boolean;
|
|
26
|
+
/** Resolved by the caller from `process.env.CONTEXT7_API_KEY` at the edge; never read here. */
|
|
27
|
+
context7ApiKey?: string;
|
|
26
28
|
}
|
|
27
29
|
export interface BuildBuiltinMcpEntriesResult {
|
|
28
30
|
entries: Record<string, BuiltinMcpEntry>;
|
|
@@ -90,7 +90,7 @@ export interface Hooks {
|
|
|
90
90
|
sessionID: string;
|
|
91
91
|
callID: string;
|
|
92
92
|
}, output: {
|
|
93
|
-
args:
|
|
93
|
+
args: Record<string, unknown>;
|
|
94
94
|
}) => Promise<void>;
|
|
95
95
|
"shell.env"?: (input: {
|
|
96
96
|
cwd: string;
|
|
@@ -103,13 +103,13 @@ export interface Hooks {
|
|
|
103
103
|
tool: string;
|
|
104
104
|
sessionID: string;
|
|
105
105
|
callID: string;
|
|
106
|
-
args:
|
|
106
|
+
args: Record<string, unknown>;
|
|
107
107
|
}, output: {
|
|
108
108
|
title: string;
|
|
109
109
|
output: string;
|
|
110
|
-
metadata:
|
|
110
|
+
metadata: Record<string, unknown>;
|
|
111
111
|
}) => Promise<void>;
|
|
112
|
-
"experimental.chat.messages.transform"?: (input:
|
|
112
|
+
"experimental.chat.messages.transform"?: (input: Record<string, unknown>, output: {
|
|
113
113
|
messages: {
|
|
114
114
|
info: Message;
|
|
115
115
|
parts: Part[];
|
|
@@ -138,6 +138,6 @@ export interface Hooks {
|
|
|
138
138
|
toolID: string;
|
|
139
139
|
}, output: {
|
|
140
140
|
description: string;
|
|
141
|
-
parameters:
|
|
141
|
+
parameters: Record<string, unknown>;
|
|
142
142
|
}) => Promise<void>;
|
|
143
143
|
}
|
|
@@ -104,6 +104,9 @@ export interface DomainRegistration {
|
|
|
104
104
|
* the empty task response). Join text parts; non-text parts contribute nothing.
|
|
105
105
|
*/
|
|
106
106
|
export declare function hookOutputText(content: unknown): string | undefined;
|
|
107
|
+
export declare function hideNativeSubagentTool(editor: {
|
|
108
|
+
remove(id: string): void;
|
|
109
|
+
}): void;
|
|
107
110
|
/**
|
|
108
111
|
* Applies the assembled `Hooks` onto the V2 context.
|
|
109
112
|
* Returns the registration set whose `dispose` tears everything down.
|
|
@@ -23,7 +23,7 @@ export declare function hasGrepGlobToolNames(toolNames: readonly string[]): bool
|
|
|
23
23
|
* Whether agent prompts may advertise a grep/glob fallback.
|
|
24
24
|
* Usable = registered AND not blocked. Under enforce:true the hook throws on
|
|
25
25
|
* grep/glob, so the prompt must never offer them — it must name the working
|
|
26
|
-
* substitute (
|
|
26
|
+
* substitute (ctx_batch / ctx_execute running `rg`) instead.
|
|
27
27
|
*/
|
|
28
28
|
export declare function resolveGrepGlobUsable(toolNames: readonly string[], contextMode?: ContextModeConfigInput): boolean;
|
|
29
29
|
export declare function _setDisciplinePathForTesting(p: string | null | undefined): void;
|
|
@@ -47,8 +47,12 @@ export declare function resolveContextModeDisciplineInfo(): {
|
|
|
47
47
|
export declare function hasWorkingSubstitute(): boolean;
|
|
48
48
|
/**
|
|
49
49
|
* SINGLE-OWNER predicate for ctx-tool presence.
|
|
50
|
-
*
|
|
51
|
-
*
|
|
50
|
+
* Fail-open (locked Phase-2 decision, honoring the committed
|
|
51
|
+
* ctx-absent-blocked RED suite): available only when the discipline path
|
|
52
|
+
* resolves AND a context_mode config is present and enabled; every other
|
|
53
|
+
* state defaults to false so the hook's warn-only fallback path stays
|
|
54
|
+
* reachable exactly as today. Tests force either outcome via
|
|
55
|
+
* `_setCtxToolsForTesting`.
|
|
52
56
|
*/
|
|
53
57
|
export declare function isCtxToolsAvailable(): boolean;
|
|
54
58
|
/** Alias kept for prompt-builder readability — same single owner. */
|
|
@@ -25,7 +25,7 @@ export declare function resetTaskSystemDeprecationWarning(): void;
|
|
|
25
25
|
* unconditional and always resolves to `TASK_SYSTEM_DEFAULT`. The three keys
|
|
26
26
|
* that used to gate it (`tasks.enabled`, `experimental.task_system`,
|
|
27
27
|
* `new_task_system_enabled`) are parsed, ignored, and reported once per session
|
|
28
|
-
* via
|
|
28
|
+
* via a log line plus a single startup toast. Nothing here throws.
|
|
29
29
|
*
|
|
30
30
|
* Pure derivation, no mutation — safe to call on every read.
|
|
31
31
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { BackgroundManager } from "../../features/background-agent";
|
|
2
|
-
import type { SessionContextCarrier } from "../../shared/session-context-source";
|
|
3
2
|
import { type MatrixxToolDefinition } from "../shared/define-tool";
|
|
4
|
-
|
|
3
|
+
import type { BackgroundCancelClient } from "./clients";
|
|
4
|
+
export declare function createBackgroundCancel(manager: BackgroundManager, client: BackgroundCancelClient): MatrixxToolDefinition;
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { SessionMessage } from "../../shared/session-message";
|
|
2
2
|
import type { NativeClient, ToolContextWithMetadata } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* `time.completed` from the flat message shape. The shared `session-message`
|
|
5
|
+
* surface is frozen (see tests/shared/no-v1-shape.test.ts), so this accessor
|
|
6
|
+
* lives with its only consumer instead of graduating into `shared/`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function completedOf(message: unknown): number | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* OpenCode V2 publishes `time.completed` on assistant messages: the row is
|
|
11
|
+
* created when a step starts and completed when it ends, so an assistant
|
|
12
|
+
* message without `time.completed` is still streaming. Older payloads (and
|
|
13
|
+
* test corpora) never carry the field — when no assistant message in the
|
|
14
|
+
* observed set carries it, the host does not expose completion and every
|
|
15
|
+
* message must be treated as settled.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isStreamingAssistant(message: SessionMessage | undefined, messages: SessionMessage[]): boolean;
|
|
3
18
|
export declare function isSessionComplete(messages: SessionMessage[]): boolean;
|
|
4
19
|
export declare function hasToolResultAfterAssistant(messages: SessionMessage[]): boolean;
|
|
5
20
|
export declare function hasAssistantContent(messages: SessionMessage[]): boolean;
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -31,11 +31,12 @@ export { createStalenessGapCheckerTool } from "./staleness-gap-checker";
|
|
|
31
31
|
export { lspManager };
|
|
32
32
|
import type { BackgroundManager } from "../features/background-agent";
|
|
33
33
|
import type { SessionContextCarrier } from "../shared/session-context-source";
|
|
34
|
+
import type { BackgroundCancelClient } from "./background-task/clients";
|
|
34
35
|
import type { MatrixxToolDefinition } from "./shared/define-tool";
|
|
35
36
|
export { createAssemblyTool } from "./assembly/tools";
|
|
36
37
|
export { createDelegateTask, resolveSystemDefaultModel } from "./delegate-task";
|
|
37
38
|
export { createHashlineEditTool } from "./hashline-edit";
|
|
38
39
|
export { createLookAt } from "./look-at/tools";
|
|
39
40
|
export { createTaskCleanupTool, createTaskCreateTool, createTaskGetTool, createTaskList, createTaskUpdateTool, } from "./task";
|
|
40
|
-
export declare function createBackgroundTools(manager: BackgroundManager, client: SessionContextCarrier, directory: string): Record<string, MatrixxToolDefinition>;
|
|
41
|
+
export declare function createBackgroundTools(manager: BackgroundManager, client: SessionContextCarrier & BackgroundCancelClient, directory: string): Record<string, MatrixxToolDefinition>;
|
|
41
42
|
export declare const builtinTools: Record<string, MatrixxToolDefinition>;
|