opencode-matrixx 2.0.0 → 2.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 +138 -23
- package/dist/agents/architect/agent.d.ts +9 -9
- package/dist/agents/architect/default.d.ts +3 -3
- package/dist/agents/architect/gpt.d.ts +3 -3
- package/dist/agents/architect/index.d.ts +4 -4
- package/dist/agents/architect/prompt-section-builder.d.ts +1 -1
- package/dist/agents/builtin-agents/{atlas-agent.d.ts → architect-agent.d.ts} +1 -1
- package/dist/agents/builtin-agents/general-agents.d.ts +1 -1
- package/dist/agents/builtin-agents/model-resolution.d.ts +1 -1
- package/dist/agents/index.d.ts +2 -2
- package/dist/agents/merovingian.d.ts +3 -2
- package/dist/agents/types.d.ts +2 -2
- package/dist/config/index.d.ts +2 -2
- package/dist/config/schema/agent-names.d.ts +4 -18
- package/dist/config/schema/assembly.d.ts +13 -0
- package/dist/config/schema/categories.d.ts +0 -1
- package/dist/config/schema/commands.d.ts +4 -0
- package/dist/config/schema/hooks.d.ts +1 -2
- package/dist/config/schema/matrixx-config.d.ts +18 -3
- package/dist/config/schema/security.d.ts +0 -5
- package/dist/config/schema.d.ts +1 -0
- package/dist/create-hooks.d.ts +2 -2
- package/dist/features/assembly-state/index.d.ts +1 -0
- package/dist/features/assembly-state/manager.d.ts +6 -0
- package/dist/features/background-agent/error-helpers.d.ts +6 -0
- package/dist/features/background-agent/manager.d.ts +6 -8
- package/dist/features/background-agent/message-dir.d.ts +5 -0
- package/dist/features/background-agent/notification-builder.d.ts +17 -0
- package/dist/features/builtin-commands/templates/assembly.d.ts +1 -0
- package/dist/features/builtin-commands/templates/research.d.ts +1 -0
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
- package/dist/features/builtin-commands/templates/ultrawork.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +1 -1
- package/dist/features/builtin-skills/skills/index.d.ts +2 -0
- package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +2 -0
- package/dist/features/builtin-skills/skills/ulw-research.d.ts +2 -0
- package/dist/features/claude-code-command-loader/loader.d.ts +0 -1
- package/dist/features/hook-message-injector/injector.d.ts +2 -3
- package/dist/features/mission-state/types.d.ts +1 -1
- package/dist/features/tmux-subagent/index.d.ts +0 -2
- package/dist/features/ultrawork-state/index.d.ts +1 -0
- package/dist/features/ultrawork-state/manager.d.ts +6 -0
- package/dist/hooks/architect/{atlas-hook.d.ts → architect-hook.d.ts} +2 -2
- package/dist/hooks/architect/event-handler.d.ts +3 -3
- package/dist/hooks/architect/index.d.ts +2 -2
- package/dist/hooks/architect/types.d.ts +1 -1
- package/dist/hooks/auto-update-checker/cache.d.ts +0 -2
- package/dist/hooks/auto-update-checker/index.d.ts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/interactive-bash-session/parser.d.ts +0 -6
- package/dist/hooks/mouse-notepad/constants.d.ts +1 -1
- package/dist/index.js +1966 -631
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -2
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/model-resolution-pipeline.d.ts +1 -24
- package/dist/shared/model-resolution-types.d.ts +1 -0
- package/dist/shared/model-resolver.d.ts +4 -2
- package/dist/shared/opencode-config-dir.d.ts +1 -2
- package/dist/shared/session-directory-resolver.d.ts +0 -6
- package/dist/shared/tool-guards.d.ts +16 -0
- package/dist/tools/assembly/assembly-executor.d.ts +17 -0
- package/dist/tools/assembly/constants.d.ts +6 -0
- package/dist/tools/assembly/index.d.ts +2 -0
- package/dist/tools/assembly/provider-selector.d.ts +3 -0
- package/dist/tools/assembly/synthesizer.d.ts +3 -0
- package/dist/tools/assembly/tool-description.d.ts +2 -0
- package/dist/tools/assembly/tools.d.ts +10 -0
- package/dist/tools/assembly/types.d.ts +25 -0
- package/dist/tools/assembly/voter-spawner.d.ts +3 -0
- package/dist/tools/delegate-task/executor-types.d.ts +1 -1
- package/dist/tools/delegate-task/mouse-agent.d.ts +1 -1
- package/dist/tools/delegate-task/types.d.ts +1 -1
- package/dist/tools/handoff/constants.d.ts +0 -3
- package/dist/tools/index.d.ts +1 -0
- package/package.json +4 -29
- package/bin/matrixx.js +0 -80
- package/bin/platform.js +0 -38
- package/bin/platform.test.ts +0 -148
- package/dist/cli/cli-installer.d.ts +0 -2
- package/dist/cli/cli-program.d.ts +0 -1
- package/dist/cli/config-manager/add-plugin-to-opencode-config.d.ts +0 -2
- package/dist/cli/config-manager/add-provider-config.d.ts +0 -2
- package/dist/cli/config-manager/antigravity-provider-configuration.d.ts +0 -122
- package/dist/cli/config-manager/auth-plugins.d.ts +0 -3
- package/dist/cli/config-manager/bun-install.d.ts +0 -7
- package/dist/cli/config-manager/config-context.d.ts +0 -13
- package/dist/cli/config-manager/deep-merge-record.d.ts +0 -1
- package/dist/cli/config-manager/detect-current-config.d.ts +0 -2
- package/dist/cli/config-manager/ensure-config-directory-exists.d.ts +0 -1
- package/dist/cli/config-manager/format-error-with-suggestion.d.ts +0 -1
- package/dist/cli/config-manager/generate-matrixx-config.d.ts +0 -2
- package/dist/cli/config-manager/jsonc-provider-editor.d.ts +0 -1
- package/dist/cli/config-manager/npm-dist-tags.d.ts +0 -7
- package/dist/cli/config-manager/opencode-binary.d.ts +0 -2
- package/dist/cli/config-manager/opencode-config-format.d.ts +0 -6
- package/dist/cli/config-manager/parse-opencode-config-file.d.ts +0 -10
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +0 -1
- package/dist/cli/config-manager/write-matrixx-config.d.ts +0 -2
- package/dist/cli/config-manager.d.ts +0 -14
- package/dist/cli/doctor/checks/config.d.ts +0 -2
- package/dist/cli/doctor/checks/dependencies.d.ts +0 -4
- package/dist/cli/doctor/checks/index.d.ts +0 -7
- package/dist/cli/doctor/checks/model-resolution-cache.d.ts +0 -2
- package/dist/cli/doctor/checks/model-resolution-config.d.ts +0 -2
- package/dist/cli/doctor/checks/model-resolution-details.d.ts +0 -6
- package/dist/cli/doctor/checks/model-resolution-effective-model.d.ts +0 -3
- package/dist/cli/doctor/checks/model-resolution-types.d.ts +0 -37
- package/dist/cli/doctor/checks/model-resolution-variant.d.ts +0 -5
- package/dist/cli/doctor/checks/model-resolution.d.ts +0 -6
- package/dist/cli/doctor/checks/system-binary.d.ts +0 -8
- package/dist/cli/doctor/checks/system-loaded-version.d.ts +0 -10
- package/dist/cli/doctor/checks/system-plugin.d.ts +0 -15
- package/dist/cli/doctor/checks/system.d.ts +0 -3
- package/dist/cli/doctor/checks/tools-gh.d.ts +0 -11
- package/dist/cli/doctor/checks/tools-lsp.d.ts +0 -6
- package/dist/cli/doctor/checks/tools-mcp.d.ts +0 -3
- package/dist/cli/doctor/checks/tools.d.ts +0 -3
- package/dist/cli/doctor/constants.d.ts +0 -31
- package/dist/cli/doctor/format-default.d.ts +0 -2
- package/dist/cli/doctor/format-shared.d.ts +0 -6
- package/dist/cli/doctor/format-status.d.ts +0 -2
- package/dist/cli/doctor/format-verbose.d.ts +0 -2
- package/dist/cli/doctor/formatter.d.ts +0 -3
- package/dist/cli/doctor/index.d.ts +0 -5
- package/dist/cli/doctor/runner.d.ts +0 -5
- package/dist/cli/doctor/types.d.ts +0 -96
- package/dist/cli/fallback-chain-resolution.d.ts +0 -10
- package/dist/cli/get-local-version/formatter.d.ts +0 -3
- package/dist/cli/get-local-version/get-local-version.d.ts +0 -2
- package/dist/cli/get-local-version/index.d.ts +0 -2
- package/dist/cli/get-local-version/types.d.ts +0 -13
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.js +0 -30690
- package/dist/cli/install-validators.d.ts +0 -31
- package/dist/cli/install.d.ts +0 -2
- package/dist/cli/mcp-oauth/index.d.ts +0 -6
- package/dist/cli/mcp-oauth/login.d.ts +0 -7
- package/dist/cli/mcp-oauth/logout.d.ts +0 -5
- package/dist/cli/mcp-oauth/status.d.ts +0 -1
- package/dist/cli/model-fallback-types.d.ts +0 -25
- package/dist/cli/model-fallback.d.ts +0 -4
- package/dist/cli/provider-availability.d.ts +0 -4
- package/dist/cli/provider-model-id-transform.d.ts +0 -1
- package/dist/cli/run/agent-resolver.d.ts +0 -5
- package/dist/cli/run/completion.d.ts +0 -2
- package/dist/cli/run/event-formatting.d.ts +0 -3
- package/dist/cli/run/event-handlers.d.ts +0 -10
- package/dist/cli/run/event-state.d.ts +0 -13
- package/dist/cli/run/event-stream-processor.d.ts +0 -3
- package/dist/cli/run/events.d.ts +0 -4
- package/dist/cli/run/index.d.ts +0 -9
- package/dist/cli/run/json-output.d.ts +0 -12
- package/dist/cli/run/on-complete-hook.d.ts +0 -7
- package/dist/cli/run/opencode-bin-path.d.ts +0 -3
- package/dist/cli/run/opencode-binary-resolver.d.ts +0 -4
- package/dist/cli/run/poll-for-completion.d.ts +0 -9
- package/dist/cli/run/runner.d.ts +0 -5
- package/dist/cli/run/server-connection.d.ts +0 -6
- package/dist/cli/run/session-resolver.d.ts +0 -6
- package/dist/cli/run/types.d.ts +0 -119
- package/dist/cli/tui-install-prompts.d.ts +0 -2
- package/dist/cli/tui-installer.d.ts +0 -2
- package/dist/cli/types.d.ts +0 -36
- package/dist/features/background-agent/background-task-notification-template.d.ts +0 -11
- package/dist/features/background-agent/opencode-client.d.ts +0 -2
- package/dist/features/background-agent/task-poller.d.ts +0 -21
- package/dist/features/claude-tasks/index.d.ts +0 -3
- package/dist/features/claude-tasks/session-storage.d.ts +0 -10
- package/dist/features/mcp-oauth/index.d.ts +0 -3
- package/dist/features/mcp-oauth/schema.d.ts +0 -5
- package/dist/features/run-continuation-state/constants.d.ts +0 -1
- package/dist/features/run-continuation-state/index.d.ts +0 -3
- package/dist/features/run-continuation-state/storage.d.ts +0 -6
- package/dist/features/run-continuation-state/types.d.ts +0 -13
- package/dist/features/tmux-subagent/cleanup.d.ts +0 -1
- package/dist/features/tmux-subagent/polling.d.ts +0 -1
- package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +0 -13
- package/dist/hooks/task-reminder/hook.d.ts +0 -19
- package/dist/hooks/task-reminder/index.d.ts +0 -1
- package/dist/tools/delegate-agent/background-agent-executor.d.ts +0 -5
- package/dist/tools/delegate-agent/message-storage-directory.d.ts +0 -1
- package/dist/tools/delegate-agent/subagent-session-creator.d.ts +0 -10
- package/dist/tools/delegate-agent/tool-context-with-metadata.d.ts +0 -10
- package/postinstall.mjs +0 -43
- /package/dist/agents/builtin-agents/{sisyphus-agent.d.ts → morpheus-agent.d.ts} +0 -0
|
@@ -19,6 +19,7 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
|
|
|
19
19
|
disabled_agents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
20
20
|
morpheus: "morpheus";
|
|
21
21
|
keymaker: "keymaker";
|
|
22
|
+
oracle: "oracle";
|
|
22
23
|
merovingian: "merovingian";
|
|
23
24
|
operator: "operator";
|
|
24
25
|
trinity: "trinity";
|
|
@@ -29,7 +30,6 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
|
|
|
29
30
|
cipher: "cipher";
|
|
30
31
|
sentinel: "sentinel";
|
|
31
32
|
sati: "sati";
|
|
32
|
-
oracle: "oracle";
|
|
33
33
|
}>>>;
|
|
34
34
|
disabled_skills: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
35
35
|
playwright: "playwright";
|
|
@@ -62,6 +62,8 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
|
|
|
62
62
|
"quality-gate": "quality-gate";
|
|
63
63
|
"software-dev": "software-dev";
|
|
64
64
|
"matrixx-self-config": "matrixx-self-config";
|
|
65
|
+
"ulw-research": "ulw-research";
|
|
66
|
+
"remove-ai-slops": "remove-ai-slops";
|
|
65
67
|
}>>>;
|
|
66
68
|
disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
67
69
|
architect: "architect";
|
|
@@ -98,9 +100,8 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
|
|
|
98
100
|
"edit-error-recovery": "edit-error-recovery";
|
|
99
101
|
"delegate-task-retry": "delegate-task-retry";
|
|
100
102
|
"prometheus-md-only": "prometheus-md-only";
|
|
101
|
-
"
|
|
103
|
+
"mouse-notepad": "mouse-notepad";
|
|
102
104
|
"unstable-agent-babysitter": "unstable-agent-babysitter";
|
|
103
|
-
"task-reminder": "task-reminder";
|
|
104
105
|
"task-resume-info": "task-resume-info";
|
|
105
106
|
"stop-continuation-guard": "stop-continuation-guard";
|
|
106
107
|
"tasks-todowrite-disabler": "tasks-todowrite-disabler";
|
|
@@ -130,6 +131,10 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
|
|
|
130
131
|
"stop-continuation": "stop-continuation";
|
|
131
132
|
profile: "profile";
|
|
132
133
|
"end-ultrawork": "end-ultrawork";
|
|
134
|
+
handoff: "handoff";
|
|
135
|
+
research: "research";
|
|
136
|
+
assembly: "assembly";
|
|
137
|
+
ultrawork: "ultrawork";
|
|
133
138
|
}>>>;
|
|
134
139
|
disabled_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
135
140
|
agents: z.ZodOptional<z.ZodObject<{
|
|
@@ -1636,6 +1641,16 @@ export declare const MatrixxConfigSchema: z.ZodObject<{
|
|
|
1636
1641
|
claude_code_compat: z.ZodDefault<z.ZodBoolean>;
|
|
1637
1642
|
}, z.core.$strip>>;
|
|
1638
1643
|
}, z.core.$strip>>;
|
|
1644
|
+
assembly: z.ZodOptional<z.ZodObject<{
|
|
1645
|
+
providers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1646
|
+
providerID: z.ZodString;
|
|
1647
|
+
modelID: z.ZodString;
|
|
1648
|
+
}, z.core.$strip>>>;
|
|
1649
|
+
default_voters: z.ZodOptional<z.ZodNumber>;
|
|
1650
|
+
default_rounds: z.ZodOptional<z.ZodNumber>;
|
|
1651
|
+
timeout_ms: z.ZodOptional<z.ZodNumber>;
|
|
1652
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1653
|
+
}, z.core.$strip>>;
|
|
1639
1654
|
security: z.ZodOptional<z.ZodObject<{
|
|
1640
1655
|
secret_scanning: z.ZodOptional<z.ZodObject<{
|
|
1641
1656
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -12,10 +12,6 @@ declare const EnvFileGuardConfigSchema: z.ZodObject<{
|
|
|
12
12
|
blocked_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
13
13
|
allowed_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
|
-
declare const DependencyAuditConfigSchema: z.ZodObject<{
|
|
16
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
17
|
-
on_package_change: z.ZodDefault<z.ZodBoolean>;
|
|
18
|
-
}, z.core.$strip>;
|
|
19
15
|
export declare const SecurityConfigSchema: z.ZodObject<{
|
|
20
16
|
secret_scanning: z.ZodOptional<z.ZodObject<{
|
|
21
17
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -38,5 +34,4 @@ export declare const SecurityConfigSchema: z.ZodObject<{
|
|
|
38
34
|
export type SecurityConfig = z.infer<typeof SecurityConfigSchema>;
|
|
39
35
|
export type SecretScanningConfig = z.infer<typeof SecretScanningConfigSchema>;
|
|
40
36
|
export type EnvFileGuardConfig = z.infer<typeof EnvFileGuardConfigSchema>;
|
|
41
|
-
export type DependencyAuditConfig = z.infer<typeof DependencyAuditConfigSchema>;
|
|
42
37
|
export {};
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { type AnyMcpName, AnyMcpNameSchema, type McpName, McpNameSchema } from "
|
|
|
2
2
|
export * from "./schema/agent-definitions";
|
|
3
3
|
export * from "./schema/agent-names";
|
|
4
4
|
export * from "./schema/agent-overrides";
|
|
5
|
+
export * from "./schema/assembly";
|
|
5
6
|
export * from "./schema/babysitting";
|
|
6
7
|
export * from "./schema/background-task";
|
|
7
8
|
export * from "./schema/browser-automation";
|
package/dist/create-hooks.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export declare function createHooks(args: {
|
|
|
21
21
|
todoContinuationEnforcer: ReturnType<typeof import("./hooks").createTodoContinuationEnforcer> | null;
|
|
22
22
|
unstableAgentBabysitter: ReturnType<typeof import("./plugin/unstable-agent-babysitter").createUnstableAgentBabysitter> | null;
|
|
23
23
|
backgroundNotificationHook: ReturnType<typeof import("./hooks").createBackgroundNotificationHook> | null;
|
|
24
|
-
|
|
24
|
+
architectHook: ReturnType<typeof import("./hooks").createArchitectHook> | null;
|
|
25
25
|
keywordDetector: ReturnType<typeof import("./hooks").createKeywordDetectorHook> | null;
|
|
26
26
|
contextInjectorMessagesTransform: ReturnType<typeof import("./features/context-injector").createContextInjectorMessagesTransformHook>;
|
|
27
27
|
thinkingBlockValidator: ReturnType<typeof import("./hooks").createThinkingBlockValidatorHook> | null;
|
|
@@ -61,7 +61,7 @@ export declare function createHooks(args: {
|
|
|
61
61
|
delegateTaskRetry: ReturnType<typeof import("./hooks").createDelegateTaskRetryHook> | null;
|
|
62
62
|
startWork: ReturnType<typeof import("./hooks").createStartWorkHook> | null;
|
|
63
63
|
prometheusMdOnly: ReturnType<typeof import("./hooks").createOracleMdOnlyHook> | null;
|
|
64
|
-
|
|
64
|
+
mouseNotepad: ReturnType<typeof import("./hooks").createMouseNotepadHook> | null;
|
|
65
65
|
questionLabelTruncator: ReturnType<typeof import("./hooks").createQuestionLabelTruncatorHook>;
|
|
66
66
|
taskResumeInfo: ReturnType<typeof import("./hooks").createTaskResumeInfoHook>;
|
|
67
67
|
anthropicEffort: ReturnType<typeof import("./hooks/anthropic-effort").createAnthropicEffortHook> | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { _resetAssemblyStateForTesting, clearAssemblyState, disableAssembly, enableAssembly, isAssemblyDisabled, } from "./manager";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function isAssemblyDisabled(sessionID: string): boolean;
|
|
2
|
+
export declare function disableAssembly(sessionID: string): void;
|
|
3
|
+
export declare function enableAssembly(sessionID: string): void;
|
|
4
|
+
export declare function clearAssemblyState(sessionID: string): void;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare function _resetAssemblyStateForTesting(): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EventProperties } from "./manager";
|
|
2
|
+
export declare function formatDuration(start: Date, end?: Date): string;
|
|
3
|
+
export declare function getErrorText(error: unknown): string;
|
|
4
|
+
export declare function isAbortedSessionError(error: unknown): boolean;
|
|
5
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
6
|
+
export declare function getSessionErrorMessage(properties: EventProperties): string | undefined;
|
|
@@ -2,7 +2,7 @@ import type { PluginInput } from "@opencode-ai/plugin";
|
|
|
2
2
|
import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema";
|
|
3
3
|
import { TaskHistory } from "./task-history";
|
|
4
4
|
import type { BackgroundTask, LaunchInput, ResumeInput } from "./types";
|
|
5
|
-
interface EventProperties {
|
|
5
|
+
export interface EventProperties {
|
|
6
6
|
sessionID?: string;
|
|
7
7
|
info?: {
|
|
8
8
|
id?: string;
|
|
@@ -96,6 +96,11 @@ export declare class BackgroundManager {
|
|
|
96
96
|
* Cleans up the parent entry if no pending tasks remain.
|
|
97
97
|
*/
|
|
98
98
|
private cleanupPendingByParent;
|
|
99
|
+
/**
|
|
100
|
+
* Fire-and-forget session abort. Logs failures at debug level instead of
|
|
101
|
+
* swallowing errors silently — useful for diagnosing zombie sessions.
|
|
102
|
+
*/
|
|
103
|
+
private abortSessionQuietly;
|
|
99
104
|
cancelTask(taskId: string, options?: {
|
|
100
105
|
source?: string;
|
|
101
106
|
reason?: string;
|
|
@@ -130,11 +135,6 @@ export declare class BackgroundManager {
|
|
|
130
135
|
*/
|
|
131
136
|
private tryCompleteTask;
|
|
132
137
|
private notifyParentSession;
|
|
133
|
-
private formatDuration;
|
|
134
|
-
private isAbortedSessionError;
|
|
135
|
-
private getErrorText;
|
|
136
|
-
private isRecord;
|
|
137
|
-
private getSessionErrorMessage;
|
|
138
138
|
private hasRunningTasks;
|
|
139
139
|
private pruneStaleTasksAndNotifications;
|
|
140
140
|
private checkAndInterruptStaleTasks;
|
|
@@ -147,7 +147,5 @@ export declare class BackgroundManager {
|
|
|
147
147
|
shutdown(): void;
|
|
148
148
|
private enqueueNotificationForParent;
|
|
149
149
|
}
|
|
150
|
-
export declare function getMessageDir(sessionID: string): string | null;
|
|
151
|
-
export declare function _resetMessageDirCacheForTesting(): void;
|
|
152
150
|
export declare function _resetPruneThrottleForTesting(): void;
|
|
153
151
|
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type StoredMessage } from "../hook-message-injector";
|
|
2
|
+
export declare function getMessageDir(sessionID: string): string | null;
|
|
3
|
+
export declare function _resetMessageDirCacheForTesting(): void;
|
|
4
|
+
export declare function isCompactionAgent(agent: string | undefined): boolean;
|
|
5
|
+
export declare function findNearestMessageExcludingCompaction(messageDir: string): StoredMessage | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BackgroundTask } from "./types";
|
|
2
|
+
export declare function buildCompletionNotification(task: Pick<BackgroundTask, "id" | "description" | "error" | "status">, allComplete: boolean, completedTasks: Pick<BackgroundTask, "id" | "description">[], remainingCount: number, duration: string, errorInfo: string): string;
|
|
3
|
+
export declare function resolveAgentAndModel(client: {
|
|
4
|
+
session: {
|
|
5
|
+
messages: (args: {
|
|
6
|
+
path: {
|
|
7
|
+
id: string;
|
|
8
|
+
};
|
|
9
|
+
}) => Promise<unknown>;
|
|
10
|
+
};
|
|
11
|
+
}, task: Pick<BackgroundTask, "parentSessionID" | "parentAgent">, enableParentSessionNotifications: boolean): Promise<{
|
|
12
|
+
agent: string | undefined;
|
|
13
|
+
model: {
|
|
14
|
+
providerID: string;
|
|
15
|
+
modelID: string;
|
|
16
|
+
} | undefined;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ASSEMBLY_TEMPLATE = "Toggle assembly tool availability for the current session.\n\nThis command will:\n1. Enable the assembly tool \u2014 makes multi-model voting available to the LLM\n2. Disable the assembly tool \u2014 hides it from the LLM for this session\n3. Show current assembly tool status\n\nUsage:\n /assembly enable \u2014 Show assembly tool\n /assembly disable \u2014 Hide assembly tool\n /assembly status \u2014 Show current state\n\nThe change is per-session and clears when the session ends.\nBy default, the assembly tool is enabled and available in every session.";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const RESEARCH_TEMPLATE = "# /research \u2014 Saturation Research Command\n\nExecute a systematic multi-round research process on the given topic.\n\n## Usage\n\n```\n/research <topic> \u2192 Full research (all directions)\n/research <topic> --scope=code \u2192 Local codebase only\n/research <topic> --scope=docs \u2192 Documentation only\n/research <topic> --scope=web \u2192 Web search only\n/research <topic> --scope=oss \u2192 OSS repos only\n/research <topic> --max-rounds=3 \u2192 Limit to 3 rounds\n```\n\n## What Happens\n\n1. Creates artifact directory: `.matrixx/research-<topic>-<timestamp>/`\n2. Spawns 4 parallel research agents (explore + operator swarms)\n3. Collects findings, identifies new leads\n4. Recursively follows leads until convergence (novelty-based stop, max 5 rounds)\n5. Verifies contested claims by running code\n6. Produces cited synthesis in `final-synthesis.md`\n\n## Output\n\nAll artifacts written to `.matrixx/research-<topic>-<timestamp>/`:\n- `round-N-findings.md` \u2014 per-round findings\n- `leads.md` \u2014 tracked leads\n- `contested-claims.md` \u2014 claims needing verification\n- `final-synthesis.md` \u2014 the final cited synthesis\n\n## Examples\n\n```\n/research how does context window management work in this codebase\n/research React 19 server component patterns --scope=web --max-rounds=3\n/research authentication middleware best practices --scope=all\n```\n\n---\n\nExecute the full research protocol using the ulw-research skill.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const START_WORK_TEMPLATE = "You are starting a Morpheus work session.\n\n## WHAT TO DO\n\n1. **Find available plans**: Search for Oracle-generated plan files at `.matrixx/plans/`\n\n2. **Check for active mission state**: Read `.matrixx/mission.json` if it exists\n\n3. **Decision logic**:\n - If `.matrixx/mission.json` exists AND plan is NOT complete (has unchecked boxes):\n - **APPEND** current session to session_ids\n - Continue work on existing plan\n - If no active plan OR plan is complete:\n - List available plan files\n - If ONE plan: auto-select it\n - If MULTIPLE plans: show list with timestamps, ask user to select\n\n4. **Create/Update mission.json**:\n ```json\n {\n \"active_plan\": \"/absolute/path/to/plan.md\",\n \"started_at\": \"ISO_TIMESTAMP\",\n \"session_ids\": [\"session_id_1\", \"session_id_2\"],\n \"plan_name\": \"plan-name\"\n }\n ```\n\n5. **Read the plan file** and start executing tasks according to
|
|
1
|
+
export declare const START_WORK_TEMPLATE = "You are starting a Morpheus work session.\n\n## WHAT TO DO\n\n1. **Find available plans**: Search for Oracle-generated plan files at `.matrixx/plans/`\n\n2. **Check for active mission state**: Read `.matrixx/mission.json` if it exists\n\n3. **Decision logic**:\n - If `.matrixx/mission.json` exists AND plan is NOT complete (has unchecked boxes):\n - **APPEND** current session to session_ids\n - Continue work on existing plan\n - If no active plan OR plan is complete:\n - List available plan files\n - If ONE plan: auto-select it\n - If MULTIPLE plans: show list with timestamps, ask user to select\n\n4. **Create/Update mission.json**:\n ```json\n {\n \"active_plan\": \"/absolute/path/to/plan.md\",\n \"started_at\": \"ISO_TIMESTAMP\",\n \"session_ids\": [\"session_id_1\", \"session_id_2\"],\n \"plan_name\": \"plan-name\"\n }\n ```\n\n5. **Read the plan file** and start executing tasks according to architect workflow\n\n## OUTPUT FORMAT\n\nWhen listing plans for selection:\n```\nAvailable Work Plans\n\nCurrent Time: {ISO timestamp}\nSession ID: {current session id}\n\n1. [plan-name-1.md] - Modified: {date} - Progress: 3/10 tasks\n2. [plan-name-2.md] - Modified: {date} - Progress: 0/5 tasks\n\nWhich plan would you like to work on? (Enter number or plan name)\n```\n\nWhen resuming existing work:\n```\nResuming Work Session\n\nActive Plan: {plan-name}\nProgress: {completed}/{total} tasks\nSessions: {count} (appending current session)\n\nReading plan and continuing from last incomplete task...\n```\n\nWhen auto-selecting single plan:\n```\nStarting Work Session\n\nPlan: {plan-name}\nSession ID: {session_id}\nStarted: {timestamp}\n\nReading plan and beginning execution...\n```\n\n## CRITICAL\n\n- The session_id is injected by the hook - use it directly\n- Always update mission.json BEFORE starting work\n- Read the FULL plan file before delegating any tasks\n- Follow architect delegation protocols (7-section format)";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ULTRAWORK_TEMPLATE = "Toggle ultrawork mode for the current session.\n\nThis command will:\n1. Enable ultrawork mode \u2014 injects ultrawork mode instructions into every message\n2. Disable ultrawork mode \u2014 prevents ultrawork mode from activating (even on \"ultrawork\" keyword)\n3. Show current ultrawork mode status\n\nUsage:\n /ultrawork enable \u2014 Force ultrawork mode on all messages\n /ultrawork disable \u2014 Block ultrawork mode (keyword ignored)\n /ultrawork status \u2014 Show current state\n\nThe change is per-session and clears when the session ends.\nBy default, ultrawork mode activates when the LLM or user mentions the \"ultrawork\" keyword.";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { CommandDefinition } from "../claude-code-command-loader";
|
|
2
|
-
export type BuiltinCommandName = "init-deep" | "matrix-loop" | "cancel-loop" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff" | "pickup" | "remove-deadcode" | "profile" | "end-ultrawork";
|
|
2
|
+
export type BuiltinCommandName = "init-deep" | "matrix-loop" | "cancel-loop" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff" | "pickup" | "remove-deadcode" | "profile" | "end-ultrawork" | "research" | "assembly" | "ultrawork";
|
|
3
3
|
export type BuiltinCommands = Record<string, CommandDefinition>;
|
|
@@ -24,6 +24,7 @@ export { matrixxSelfConfigSkill } from "./matrixx-self-config";
|
|
|
24
24
|
export { agentBrowserSkill, playwrightSkill } from "./playwright";
|
|
25
25
|
export { playwrightCliSkill } from "./playwright-cli";
|
|
26
26
|
export { qualityGateSkill } from "./quality-gate";
|
|
27
|
+
export { removeAiSlopsSkill } from "./remove-ai-slops";
|
|
27
28
|
export { reviewWorkSkill } from "./review-work";
|
|
28
29
|
export { securityApiSkill } from "./security-api";
|
|
29
30
|
export { securityCoreSkill } from "./security-core";
|
|
@@ -36,3 +37,4 @@ export { securitySastSkill } from "./security-sast";
|
|
|
36
37
|
export { securitySecretsSkill } from "./security-secrets";
|
|
37
38
|
export { softwareDevSkill } from "./software-dev";
|
|
38
39
|
export { tddEnforcerSkill } from "./tdd-enforcer";
|
|
40
|
+
export { ulwResearchSkill } from "./ulw-research";
|
|
@@ -3,4 +3,3 @@ export declare function loadUserCommands(): Promise<Record<string, CommandDefini
|
|
|
3
3
|
export declare function loadProjectCommands(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
4
4
|
export declare function loadOpencodeGlobalCommands(): Promise<Record<string, CommandDefinition>>;
|
|
5
5
|
export declare function loadOpencodeProjectCommands(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
6
|
-
export declare function loadAllCommands(directory?: string): Promise<Record<string, CommandDefinition>>;
|
|
@@ -9,7 +9,7 @@ export interface StoredMessage {
|
|
|
9
9
|
};
|
|
10
10
|
tools?: Record<string, ToolPermission>;
|
|
11
11
|
}
|
|
12
|
-
type OpencodeClient = PluginInput["client"];
|
|
12
|
+
export type OpencodeClient = PluginInput["client"];
|
|
13
13
|
/**
|
|
14
14
|
* Finds the nearest message with required fields using SDK (for beta/SQLite backend).
|
|
15
15
|
* Uses client.session.messages() to fetch message data from SQLite.
|
|
@@ -50,7 +50,7 @@ export declare function findFirstMessageWithAgent(messageDir: string): string |
|
|
|
50
50
|
*
|
|
51
51
|
* Features degraded on beta:
|
|
52
52
|
* - Hook message injection (e.g., continuation prompts, context injection) won't persist
|
|
53
|
-
* -
|
|
53
|
+
* - Architect hook's injected messages won't be visible in SQLite backend
|
|
54
54
|
* - Todo continuation enforcer's injected prompts won't persist
|
|
55
55
|
* - Ralph loop's continuation prompts won't persist
|
|
56
56
|
*
|
|
@@ -64,4 +64,3 @@ export declare function resolveMessageContext(sessionID: string, client: Opencod
|
|
|
64
64
|
prevMessage: StoredMessage | null;
|
|
65
65
|
firstMessageAgent: string | null;
|
|
66
66
|
}>;
|
|
67
|
-
export {};
|
|
@@ -13,7 +13,7 @@ export interface MissionState {
|
|
|
13
13
|
session_ids: string[];
|
|
14
14
|
/** Plan name derived from filename */
|
|
15
15
|
plan_name: string;
|
|
16
|
-
/** Agent type to use when resuming (e.g., '
|
|
16
|
+
/** Agent type to use when resuming (e.g., 'architect') */
|
|
17
17
|
agent?: string;
|
|
18
18
|
}
|
|
19
19
|
export interface PlanProgress {
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
export * from "./action-executor";
|
|
2
|
-
export * from "./cleanup";
|
|
3
2
|
export * from "./decision-engine";
|
|
4
3
|
export * from "./event-handlers";
|
|
5
4
|
export * from "./manager";
|
|
6
5
|
export * from "./pane-state-querier";
|
|
7
|
-
export * from "./polling";
|
|
8
6
|
export * from "./polling-constants";
|
|
9
7
|
export * from "./session-created-event";
|
|
10
8
|
export * from "./session-created-handler";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { _resetUltraworkStateForTesting, clearUltraworkState, disableUltrawork, enableUltrawork, getUltraworkState, } from "./manager";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function getUltraworkState(sessionID: string): "enabled" | "disabled" | undefined;
|
|
2
|
+
export declare function enableUltrawork(sessionID: string): void;
|
|
3
|
+
export declare function disableUltrawork(sessionID: string): void;
|
|
4
|
+
export declare function clearUltraworkState(sessionID: string): void;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare function _resetUltraworkStateForTesting(): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
import type {
|
|
3
|
-
export declare function
|
|
2
|
+
import type { ArchitectHookOptions } from "./types";
|
|
3
|
+
export declare function createArchitectHook(ctx: PluginInput, options?: ArchitectHookOptions): {
|
|
4
4
|
handler: (arg: {
|
|
5
5
|
event: {
|
|
6
6
|
type: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
-
import type {
|
|
3
|
-
export declare function
|
|
2
|
+
import type { ArchitectHookOptions, SessionState } from "./types";
|
|
3
|
+
export declare function createArchitectEventHandler(input: {
|
|
4
4
|
ctx: PluginInput;
|
|
5
|
-
options?:
|
|
5
|
+
options?: ArchitectHookOptions;
|
|
6
6
|
sessions: Map<string, SessionState>;
|
|
7
7
|
getState: (sessionID: string) => SessionState;
|
|
8
8
|
}): (arg: {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { createArchitectHook } from "./architect-hook";
|
|
2
2
|
export { HOOK_NAME } from "./hook-name";
|
|
3
|
-
export type {
|
|
3
|
+
export type { ArchitectHookOptions } from "./types";
|
|
@@ -4,7 +4,7 @@ export type ModelInfo = {
|
|
|
4
4
|
providerID: string;
|
|
5
5
|
modelID: string;
|
|
6
6
|
};
|
|
7
|
-
export interface
|
|
7
|
+
export interface ArchitectHookOptions {
|
|
8
8
|
directory: string;
|
|
9
9
|
backgroundManager?: BackgroundManager;
|
|
10
10
|
isContinuationStopped?: (sessionID: string) => boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { invalidatePackage } from "./cache";
|
|
2
2
|
export { checkForUpdate } from "./checker";
|
|
3
3
|
export { createAutoUpdateCheckerHook } from "./hook";
|
|
4
4
|
export type { AutoUpdateCheckerOptions, UpdateCheckResult } from "./types";
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createAgentUsageReminderHook } from "./agent-usage-reminder";
|
|
2
2
|
export { type AnthropicContextWindowLimitRecoveryOptions, createAnthropicContextWindowLimitRecoveryHook } from "./anthropic-context-window-limit-recovery";
|
|
3
|
-
export {
|
|
3
|
+
export { createArchitectHook } from "./architect";
|
|
4
4
|
export { createAutoSlashCommandHook } from "./auto-slash-command";
|
|
5
5
|
export { createAutoUpdateCheckerHook } from "./auto-update-checker";
|
|
6
6
|
export { createBackgroundNotificationHook } from "./background-notification";
|
|
@@ -3,12 +3,6 @@
|
|
|
3
3
|
* Handles single/double quotes and backslash escapes
|
|
4
4
|
*/
|
|
5
5
|
export declare function tokenizeCommand(cmd: string): string[];
|
|
6
|
-
/**
|
|
7
|
-
* Normalize session name by stripping :window and .pane suffixes
|
|
8
|
-
* e.g., "matrixx-x:1" -> "matrixx-x", "matrixx-x:1.2" -> "matrixx-x"
|
|
9
|
-
*/
|
|
10
|
-
export declare function normalizeSessionName(name: string): string;
|
|
11
|
-
export declare function findFlagValue(tokens: string[], flag: string): string | null;
|
|
12
6
|
/**
|
|
13
7
|
* Extract session name from tokens, considering the subCommand
|
|
14
8
|
* For new-session: prioritize -s over -t
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOOK_NAME = "
|
|
1
|
+
export declare const HOOK_NAME = "mouse-notepad";
|
|
2
2
|
export declare const NOTEPAD_DIRECTIVE = "\n<Work_Context>\n## Notepad Location (for recording learnings)\nNOTEPAD PATH: .matrixx/notepads/{plan-name}/\n- learnings.md: Record patterns, conventions, successful approaches\n- issues.md: Record problems, blockers, gotchas encountered\n- decisions.md: Record architectural choices and rationales\n- problems.md: Record unresolved issues, technical debt\n\nYou SHOULD append findings to notepad files after completing work.\nIMPORTANT: Always APPEND to notepad files - never overwrite or use Edit tool.\n\n## Plan Location (READ ONLY)\nPLAN PATH: .matrixx/plans/{plan-name}.md\n\nCRITICAL RULE: NEVER MODIFY THE PLAN FILE\n\nThe plan file (.matrixx/plans/*.md) is SACRED and READ-ONLY.\n- You may READ the plan to understand tasks\n- You may READ checkbox items to know what to do\n- You MUST NOT edit, modify, or update the plan file\n- You MUST NOT mark checkboxes as complete in the plan\n- Only the Orchestrator manages the plan file\n\nVIOLATION = IMMEDIATE FAILURE. The Orchestrator tracks plan state.\n</Work_Context>\n";
|