@kl-c/matrixos 0.1.13 → 0.1.15

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/dist/cli/index.js CHANGED
@@ -2145,7 +2145,7 @@ var package_default;
2145
2145
  var init_package = __esm(() => {
2146
2146
  package_default = {
2147
2147
  name: "@kl-c/matrixos",
2148
- version: "0.1.13",
2148
+ version: "0.1.15",
2149
2149
  description: "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
2150
2150
  main: "./dist/index.js",
2151
2151
  types: "dist/index.d.ts",
@@ -2220,6 +2220,7 @@ var init_package = __esm(() => {
2220
2220
  },
2221
2221
  "./server": "./dist/index.js",
2222
2222
  "./tui": "./dist/tui.js",
2223
+ "./features": "./dist/features/matrix-inventory/features.js",
2223
2224
  "./schema.json": "./dist/matrixos.schema.json"
2224
2225
  },
2225
2226
  scripts: {
@@ -2231,6 +2232,7 @@ var init_package = __esm(() => {
2231
2232
  "build:lsp-daemon": "npm --prefix packages/lsp-daemon ci && npm --prefix packages/lsp-daemon run build",
2232
2233
  "build:node-require-shim": "bun run script/patch-node-require-shim.ts",
2233
2234
  "build:binaries": "bun run script/build-binaries.ts",
2235
+ "build:features-inventory": "bun build packages/omo-opencode/src/features/matrix-inventory/features.ts --outdir dist/features/matrix-inventory --target bun --format esm --external zod",
2234
2236
  "build:schema": "bun run script/build-schema.ts",
2235
2237
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
2236
2238
  clean: "rm -rf dist",
@@ -2145,7 +2145,7 @@ var package_default;
2145
2145
  var init_package = __esm(() => {
2146
2146
  package_default = {
2147
2147
  name: "@kl-c/matrixos",
2148
- version: "0.1.13",
2148
+ version: "0.1.15",
2149
2149
  description: "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
2150
2150
  main: "./dist/index.js",
2151
2151
  types: "dist/index.d.ts",
@@ -2220,6 +2220,7 @@ var init_package = __esm(() => {
2220
2220
  },
2221
2221
  "./server": "./dist/index.js",
2222
2222
  "./tui": "./dist/tui.js",
2223
+ "./features": "./dist/features/matrix-inventory/features.js",
2223
2224
  "./schema.json": "./dist/matrixos.schema.json"
2224
2225
  },
2225
2226
  scripts: {
@@ -2231,6 +2232,7 @@ var init_package = __esm(() => {
2231
2232
  "build:lsp-daemon": "npm --prefix packages/lsp-daemon ci && npm --prefix packages/lsp-daemon run build",
2232
2233
  "build:node-require-shim": "bun run script/patch-node-require-shim.ts",
2233
2234
  "build:binaries": "bun run script/build-binaries.ts",
2235
+ "build:features-inventory": "bun build packages/omo-opencode/src/features/matrix-inventory/features.ts --outdir dist/features/matrix-inventory --target bun --format esm --external zod",
2234
2236
  "build:schema": "bun run script/build-schema.ts",
2235
2237
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
2236
2238
  clean: "rm -rf dist",
@@ -0,0 +1,207 @@
1
+ // @bun
2
+ // packages/omo-opencode/src/features/matrix-inventory/features.ts
3
+ var MATRIX_FEATURES = [
4
+ {
5
+ id: "dashboard",
6
+ name: "Mission Control (Dashboard)",
7
+ description: "Web UI to supervise agents, sessions, tasks, cost and incidents in real time.",
8
+ enabledByDefault: false,
9
+ status: "cli-only",
10
+ userBenefit: "Open a browser page (default http://127.0.0.1:9123) showing live agent/session/task state, cost, kanban and incidents.",
11
+ provisioning: {
12
+ activation: "Launch the bundled server: `matrixos dashboard --daemon` (listens on 127.0.0.1:9123 by default). For remote access over Tailscale, rebind with `--host <tailscale-ip>` (e.g. 100.96.138.13).",
13
+ configPath: "matrixos.json \u2192 could expose a `dashboard` section (currently launched via CLI only)",
14
+ notes: "The backend serves an API + SSE. The frontend (vanilla HTML/JS/CSS) MUST be present in dist/features/dashboard/frontend \u2014 it is copied there by the build (node `dashboard-frontend`). If the frontend folder is empty after install, rebuild from source: `bun run build` then `matrixos dashboard --daemon`."
15
+ }
16
+ },
17
+ {
18
+ id: "kanban",
19
+ name: "Kanban",
20
+ description: "Lightweight task/backlog board with a state machine (backlog \u2192 in_progress \u2192 review \u2192 done \u2192 archived).",
21
+ enabledByDefault: false,
22
+ status: "opt-in",
23
+ userBenefit: "Track work items with assignee and status transitions without leaving MaTrixOS.",
24
+ provisioning: {
25
+ activation: "Enable via config; the store is in-memory (MVP). Future: SQLite-backed durability.",
26
+ configPath: "matrixos.json \u2192 kanban.enabled",
27
+ notes: "UI is API-only for now (no dedicated panel in Mission Control yet)."
28
+ }
29
+ },
30
+ {
31
+ id: "cron",
32
+ name: "Cron (Scheduled tasks)",
33
+ description: "Recurring task scheduler using cron expressions (node-cron).",
34
+ enabledByDefault: false,
35
+ status: "opt-in",
36
+ userBenefit: "Run automations on a schedule \u2014 morning digest, periodic sync, routine jobs.",
37
+ provisioning: {
38
+ activation: "Register jobs via config/cron API; CronRunner schedules them.",
39
+ configPath: "matrixos.json \u2192 cron.jobs[]"
40
+ }
41
+ },
42
+ {
43
+ id: "goal-mode",
44
+ name: "Goal Mode",
45
+ description: "Objective-driven mode with GOAL.md / VERIFY.md / PROGRESS.md tracking.",
46
+ enabledByDefault: false,
47
+ status: "opt-in",
48
+ userBenefit: "Give Morpheus a goal + acceptance criteria; it tracks progress in plan files.",
49
+ provisioning: {
50
+ activation: "Create a GOAL.md in the worktree; Morpheus enters goal mode and maintains VERIFY/PROGRESS.",
51
+ configPath: "project worktree \u2192 GOAL.md",
52
+ notes: "MVP is file-based; a verifier subagent and token budget are planned for later phases."
53
+ }
54
+ },
55
+ {
56
+ id: "team-mode",
57
+ name: "Team Mode",
58
+ description: "Spawn parallel sub-agent teams (12 team_* tools) with mailbox, tasklist and optional tmux layout.",
59
+ enabledByDefault: false,
60
+ status: "opt-in",
61
+ userBenefit: "Decompose a big task across multiple specialized agents running concurrently.",
62
+ provisioning: {
63
+ activation: "Set `team_mode.enabled: true` in config (off by default).",
64
+ configPath: "matrixos.json \u2192 team_mode.enabled"
65
+ }
66
+ },
67
+ {
68
+ id: "gateway",
69
+ name: "Messaging Gateway",
70
+ description: "Multi-channel gateway: Telegram, Discord, WhatsApp (with audit, dedupe, rate-limit).",
71
+ enabledByDefault: false,
72
+ status: "opt-in",
73
+ userBenefit: "Drive Morpheus from your chat apps; receive digests and alerts where you already are.",
74
+ provisioning: {
75
+ activation: "1) Set `gateway.enabled: true` in matrixos.json. 2) Add a channel entry under `gateway.channels` (type: telegram | discord | whatsapp) with the bot token via ENV, never inline \u2014 e.g. load `/home/shiro/.klc-gateway.env` (chmod 600) or export `MATRIXOS_TELEGRAM_TOKEN`. 3) Restart OpenCode. Inbound messages are relayed to a fresh Morpheus session and the reply is sent back to the chat automatically.",
76
+ configPath: "matrixos.json \u2192 gateway.enabled + gateway.channels[]",
77
+ notes: "WhatsApp is sandbox-by-default (requires explicit allowlist). The relay is wired in create-plugin-module.ts \u2014 each inbound message spawns a Morpheus session and returns the reply. Tokens MUST come from env/vault; the published config never contains secrets."
78
+ }
79
+ },
80
+ {
81
+ id: "learning-loop",
82
+ name: "Learning Loop",
83
+ description: "Self-improvement: scans audit log \u2192 proposes learnings \u2192 writes .omo/rules/matrix-learnings.md.",
84
+ enabledByDefault: false,
85
+ status: "opt-in",
86
+ userBenefit: "MaTrixOS gets smarter over time by recording what worked.",
87
+ provisioning: {
88
+ activation: "Run `matrixos apply-learnings` (dry-run by default; `--apply` to write rules).",
89
+ configPath: ".omo/rules/matrix-learnings.md",
90
+ notes: "All mutating self-improvement defaults to dry-run (human validation required)."
91
+ }
92
+ },
93
+ {
94
+ id: "upstream-sync",
95
+ name: "Upstream Sync",
96
+ description: "Periodic comparison with upstream OMO releases, classified into merge/cherry-pick/skip recommendations.",
97
+ enabledByDefault: false,
98
+ status: "opt-in",
99
+ userBenefit: "Stay current with upstream fixes without blindly auto-merging.",
100
+ provisioning: {
101
+ activation: "Run the upstream-sync check command; it produces a recommendation only (never auto-merges).",
102
+ notes: "Read-only by design \u2014 the human decides what to pull."
103
+ }
104
+ },
105
+ {
106
+ id: "skill-curator",
107
+ name: "Skill Curator",
108
+ description: "4-scope audit of skills: duplicate names, broken paths, missing descriptions, superseded skills.",
109
+ enabledByDefault: false,
110
+ status: "opt-in",
111
+ userBenefit: "Keep your skills clean and non-conflicting.",
112
+ provisioning: {
113
+ activation: "Run the skill-curator audit command."
114
+ }
115
+ },
116
+ {
117
+ id: "anti-loop",
118
+ name: "Anti-Loop Watchdog",
119
+ description: "Detects doom loops, stuck agents, zombie sessions, hook recursion, context bloat, runaway tasks.",
120
+ enabledByDefault: true,
121
+ status: "native",
122
+ userBenefit: "Morpheus self-protects against infinite loops and runaway background work.",
123
+ provisioning: {
124
+ activation: "Always on; configurable thresholds in watchdog config.",
125
+ configPath: "matrixos.json \u2192 watchdog.*"
126
+ }
127
+ },
128
+ {
129
+ id: "background-agent",
130
+ name: "Background Agent Engine",
131
+ description: "Core orchestration: lifecycle of tasks, concurrency control, circuit breaker, parent-wake.",
132
+ enabledByDefault: true,
133
+ status: "native",
134
+ userBenefit: "Run heavy/delegated work in the background while you keep working.",
135
+ provisioning: {
136
+ activation: "Always on (part of the runtime)."
137
+ }
138
+ },
139
+ {
140
+ id: "mcp-oauth",
141
+ name: "MCP + OAuth",
142
+ description: "Manage MCP servers (3 tiers) with OAuth 2.0 (PKCE + DCR + step-up).",
143
+ enabledByDefault: true,
144
+ status: "native",
145
+ userBenefit: "Connect external tools/secured APIs to Morpheus via MCP.",
146
+ provisioning: {
147
+ activation: "Register MCP servers via config or `matrixos mcp-oauth login`.",
148
+ configPath: "matrixos.json \u2192 mcpServers"
149
+ }
150
+ },
151
+ {
152
+ id: "monitor",
153
+ name: "Session Monitor",
154
+ description: "Captures session output (ring buffer, filtering pipeline) for observability.",
155
+ enabledByDefault: true,
156
+ status: "native",
157
+ userBenefit: "Morpheus keeps an eye on long-running sessions and flags anomalies.",
158
+ provisioning: {
159
+ activation: "Always on (part of the runtime)."
160
+ }
161
+ },
162
+ {
163
+ id: "boulder-state",
164
+ name: "Boulder State",
165
+ description: "Persistent work-plan tracker (.omo/boulder.json) for plan progress.",
166
+ enabledByDefault: true,
167
+ status: "native",
168
+ userBenefit: "Resume multi-step plans across sessions without losing track.",
169
+ provisioning: {
170
+ activation: "Always on; inspected via `matrixos boulder`."
171
+ }
172
+ },
173
+ {
174
+ id: "tui-sidebar",
175
+ name: "TUI Sidebar",
176
+ description: "Real-time sidebar in the OpenCode TUI showing agents/tasks/sessions.",
177
+ enabledByDefault: true,
178
+ status: "native",
179
+ userBenefit: "See live agent/task state inside your terminal UI.",
180
+ provisioning: {
181
+ activation: "Always on in the OpenCode TUI."
182
+ }
183
+ },
184
+ {
185
+ id: "envsitter-guard",
186
+ name: "Envsitter Guard",
187
+ description: "Security guardrail plugin that blocks Morpheus from reading or writing .env* files and other secret-bearing paths.",
188
+ enabledByDefault: false,
189
+ status: "opt-in",
190
+ userBenefit: "Prevents accidental secret exposure: Morpheus cannot cat/edit a .env or any file matching secret patterns (.env, .env.*, *.pem, *.key, secrets/, etc.). Recommended for any agentic setup handling credentials.",
191
+ provisioning: {
192
+ activation: 'Add the plugin to OpenCode\'s `plugin` array (not the matrixos config):\n```json\n// opencode.json\n{\n "plugin": ["envsitter-guard"]\n}\n```\nThe plugin is installed by OpenCode on first boot (npm/git). Restart OpenCode after editing the config.',
193
+ configPath: "opencode.json \u2192 plugin[]",
194
+ notes: "Guardrail is independent from MaTrixOS \u2014 it lives in the OpenCode plugin layer. Even if the user disables the feature in features.ts, the underlying guard still applies as long as the plugin is registered. Use it in conjunction with the gateway env token (TELEGRAM_BOT_TOKEN lives in .klc-gateway.env, chmod 600)."
195
+ }
196
+ }
197
+ ];
198
+ var OPT_IN_FEATURES = MATRIX_FEATURES.filter((f) => !f.enabledByDefault);
199
+ function getFeature(id) {
200
+ const lower = id.toLowerCase();
201
+ return MATRIX_FEATURES.find((f) => f.id.toLowerCase() === lower);
202
+ }
203
+ export {
204
+ getFeature,
205
+ OPT_IN_FEATURES,
206
+ MATRIX_FEATURES
207
+ };
package/dist/index.js CHANGED
@@ -367932,7 +367932,7 @@ function getCachedVersion(options = {}) {
367932
367932
  // package.json
367933
367933
  var package_default = {
367934
367934
  name: "@kl-c/matrixos",
367935
- version: "0.1.13",
367935
+ version: "0.1.15",
367936
367936
  description: "MaTrixOS \u2014 Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
367937
367937
  main: "./dist/index.js",
367938
367938
  types: "dist/index.d.ts",
@@ -368007,6 +368007,7 @@ var package_default = {
368007
368007
  },
368008
368008
  "./server": "./dist/index.js",
368009
368009
  "./tui": "./dist/tui.js",
368010
+ "./features": "./dist/features/matrix-inventory/features.js",
368010
368011
  "./schema.json": "./dist/matrixos.schema.json"
368011
368012
  },
368012
368013
  scripts: {
@@ -368018,6 +368019,7 @@ var package_default = {
368018
368019
  "build:lsp-daemon": "npm --prefix packages/lsp-daemon ci && npm --prefix packages/lsp-daemon run build",
368019
368020
  "build:node-require-shim": "bun run script/patch-node-require-shim.ts",
368020
368021
  "build:binaries": "bun run script/build-binaries.ts",
368022
+ "build:features-inventory": "bun build packages/omo-opencode/src/features/matrix-inventory/features.ts --outdir dist/features/matrix-inventory --target bun --format esm --external zod",
368021
368023
  "build:schema": "bun run script/build-schema.ts",
368022
368024
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
368023
368025
  clean: "rm -rf dist",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kl-c/matrixos",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "MaTrixOS — Agentic OS for OpenCode. Personalizable, communicating, self-improving, resilient.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -75,6 +75,7 @@
75
75
  },
76
76
  "./server": "./dist/index.js",
77
77
  "./tui": "./dist/tui.js",
78
+ "./features": "./dist/features/matrix-inventory/features.js",
78
79
  "./schema.json": "./dist/matrixos.schema.json"
79
80
  },
80
81
  "scripts": {
@@ -86,6 +87,7 @@
86
87
  "build:lsp-daemon": "npm --prefix packages/lsp-daemon ci && npm --prefix packages/lsp-daemon run build",
87
88
  "build:node-require-shim": "bun run script/patch-node-require-shim.ts",
88
89
  "build:binaries": "bun run script/build-binaries.ts",
90
+ "build:features-inventory": "bun build packages/omo-opencode/src/features/matrix-inventory/features.ts --outdir dist/features/matrix-inventory --target bun --format esm --external zod",
89
91
  "build:schema": "bun run script/build-schema.ts",
90
92
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
91
93
  "clean": "rm -rf dist",