mio-agent-runtime 0.5.13 → 0.5.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/package.json CHANGED
@@ -1,25 +1,25 @@
1
- {
2
- "name": "mio-agent-runtime",
3
- "version": "0.5.13",
4
- "description": "Mio Agent Runtime installer and MCP intelligence layer",
5
- "license": "MIT",
6
- "type": "commonjs",
7
- "bin": {
8
- "mio": "bin/mio.js"
9
- },
10
- "files": [
11
- "bin/",
12
- "server/",
13
- "adapters/",
14
- "observe/",
15
- "README.md",
16
- "!server/mio-intelligence-mcp/__tests__"
17
- ],
18
- "scripts": {
19
- "check": "node --check bin/mio.js && node --check adapters/host-utils.js && node --check adapters/codex.js && node --check adapters/opencode.js && node --check adapters/workbuddy.js && node --check adapters/hermes.js && node --check server/mio-intelligence-mcp/index.js && node --check server/mio-intelligence-mcp/phase0.js && node --check server/mio-intelligence-mcp/dashboard-server.js && node --check observe/observer.js",
20
- "prepack": "npm run check"
21
- },
22
- "engines": {
23
- "node": ">=18"
24
- }
25
- }
1
+ {
2
+ "name": "mio-agent-runtime",
3
+ "version": "0.5.15",
4
+ "description": "Mio Agent Runtime installer and MCP intelligence layer",
5
+ "license": "MIT",
6
+ "type": "commonjs",
7
+ "bin": {
8
+ "mio": "bin/mio.js"
9
+ },
10
+ "files": [
11
+ "bin/",
12
+ "server/",
13
+ "adapters/",
14
+ "observe/",
15
+ "README.md",
16
+ "!server/mio-intelligence-mcp/__tests__"
17
+ ],
18
+ "scripts": {
19
+ "check": "node --check bin/mio.js && node --check adapters/host-utils.js && node --check adapters/codex.js && node --check adapters/opencode.js && node --check adapters/workbuddy.js && node --check adapters/hermes.js && node --check server/mio-intelligence-mcp/index.js && node --check server/mio-intelligence-mcp/phase0.js && node --check server/mio-intelligence-mcp/dashboard-server.js && node --check observe/observer.js",
20
+ "prepack": "npm run check"
21
+ },
22
+ "engines": {
23
+ "node": ">=18"
24
+ }
25
+ }
@@ -1660,7 +1660,28 @@ const TOOLS = [
1660
1660
  }
1661
1661
  },
1662
1662
  },
1663
- ]
1663
+ ,
1664
+ {
1665
+ name: 'mio.dashboard.start',
1666
+ description: 'Start the Mio live dashboard HTTP server and return its URL. Aggregates MIO_HOME data into a browser-viewable dashboard.',
1667
+ inputSchema: {
1668
+ type: 'object',
1669
+ properties: {
1670
+ port: { type: 'integer', description: '(Optional) Port to bind, default 8787.', default: 8787, minimum: 1 },
1671
+ open: { type: 'boolean', description: '(Optional) Open the dashboard in the default browser after starting.' }
1672
+ }
1673
+ },
1674
+ },
1675
+ {
1676
+ name: 'mio.dashboard.stop',
1677
+ description: 'Stop the running Mio dashboard HTTP server.',
1678
+ inputSchema: { type: 'object', properties: {} },
1679
+ },
1680
+ {
1681
+ name: 'mio.dashboard.status',
1682
+ description: 'Check if the Mio dashboard HTTP server is running.',
1683
+ inputSchema: { type: 'object', properties: {} },
1684
+ }]
1664
1685
 
1665
1686
  function handleIdeaGenerate(args = {}) {
1666
1687
  const goal = String(args.goal || '').trim()
@@ -1674,8 +1695,17 @@ function handleIdeaGenerate(args = {}) {
1674
1695
  .filter(r => r.archived !== true)
1675
1696
  .filter(r => {
1676
1697
  const text = (r.content || '').toLowerCase()
1677
- const goalWords = goal.toLowerCase().split(/\s+/).filter(w => w.length > 2)
1678
- return goalWords.some(w => text.includes(w))
1698
+ const goalLower = goal.toLowerCase()
1699
+ // Support both space-separated (English) and continuous (Chinese) matching
1700
+ const goalWords = goalLower.split(/\s+/).filter(w => w.length > 2)
1701
+ // For Chinese: extract 2-char n-grams as search tokens
1702
+ const ngrams = []
1703
+ for (let i = 0; i < goalLower.length - 1; i++) {
1704
+ const ng = goalLower.slice(i, i + 2)
1705
+ if (ng.trim().length === 2) ngrams.push(ng)
1706
+ }
1707
+ const allTokens = [...new Set([...goalWords, ...ngrams])]
1708
+ return allTokens.some(t => text.includes(t))
1679
1709
  })
1680
1710
  .slice(0, 8)
1681
1711