@minasoft/mina-ai-router 0.1.5 → 0.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.
Files changed (30) hide show
  1. package/README.md +67 -16
  2. package/dist/apps/cli/src/index.js +1247 -43
  3. package/dist/apps/http-server/src/index.js +558 -42
  4. package/dist/apps/http-server/src/public/assets/index-Bl059Jd0.js +9 -0
  5. package/dist/apps/http-server/src/public/assets/index-CaPxN_Ez.css +1 -0
  6. package/dist/apps/http-server/src/public/index.html +2 -2
  7. package/dist/apps/mcp-server/src/index.js +54 -7
  8. package/dist/packages/core/src/capability-profile.js +145 -0
  9. package/dist/packages/core/src/index.js +3 -0
  10. package/dist/packages/core/src/mcp-preflight.js +80 -0
  11. package/dist/packages/core/src/registry.js +128 -3
  12. package/dist/packages/core/src/request-store.js +158 -0
  13. package/dist/packages/core/src/response-parser.js +76 -8
  14. package/dist/packages/core/src/router.js +408 -13
  15. package/dist/packages/core/src/version.js +57 -0
  16. package/dist/packages/mcp/src/provider.js +57 -6
  17. package/dist/packages/transports/src/headless/headless-transport.js +13 -8
  18. package/dist/packages/transports/src/tmux/tmux-client.js +334 -0
  19. package/dist/packages/transports/src/tmux/tmux-transport.js +10 -0
  20. package/docs/DEVELOPER-START-GUIDE.md +9 -1
  21. package/docs/GETTING-STARTED.md +10 -5
  22. package/docs/HTTP-UI-MCP.md +39 -13
  23. package/docs/MCP-CLIENT-SETUP.md +56 -3
  24. package/docs/SKILL-INSTALL-GUIDE.md +21 -3
  25. package/docs/TROUBLESHOOTING.md +47 -0
  26. package/docs/USER-START-GUIDE.md +155 -26
  27. package/docs/assets/mina-ai-router-overview.svg +109 -0
  28. package/package.json +8 -2
  29. package/dist/apps/http-server/src/public/assets/index-Be0tne90.js +0 -9
  30. package/dist/apps/http-server/src/public/assets/index-CEhd8YGG.css +0 -1
@@ -1 +0,0 @@
1
- :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fcf9f8;--surface:#fff;--surface-low:#f6f3f2;--surface-container:#f0eded;--surface-high:#eae7e7;--ink:#1c1b1b;--muted:#404846;--muted-2:#717976;--outline:#c0c8c5;--outline-soft:#40484624;--primary:#18443b;--primary-container:#315c52;--primary-soft:#beecdf;--secondary:#006a6a;--success:#16815f;--warning:#a65f14;--danger:#ba1a1a;--terminal:#151716;--terminal-ink:#dff5ea;--radius-sm:.25rem;--radius:.375rem;--radius-lg:.5rem;--shadow-menu:0 1rem 2rem #1e2d2724;--font-ui:"Work Sans", ui-sans-serif, system-ui, sans-serif;--font-head:"Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}body{background:radial-gradient(circle at 14% 10%, #315c5214, transparent 26rem), radial-gradient(circle at 92% 18%, #006a6a0f, transparent 24rem), linear-gradient(180deg, #ffffff80, transparent 18rem), var(--bg);min-width:0;min-height:100vh;color:var(--ink);font-family:var(--font-ui);letter-spacing:0;margin:0;font-size:1rem;overflow:hidden}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-head)}code,pre,.mono{font-family:var(--font-mono)}.app-shell{grid-template-rows:auto minmax(0,1fr);height:100vh;min-height:100vh;display:grid}.workspace{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.top-command,.brand-block,.status-cluster,.command-actions,.toolbar,.actions,.meta-row,.agent-title,.request-top,.flow-head,.inspector-head,.activity-head,.modal-head,.terminal-head{align-items:center;gap:.6rem;min-width:0;display:flex}.top-command,.flow-head,.inspector-head,.activity-head,.modal-head{justify-content:space-between}.top-command{border-bottom:1px solid var(--outline-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fcf9f8eb;flex-wrap:wrap;min-height:3.5rem;padding:.5rem 1rem}.status-cluster,.command-actions,.actions,.toolbar{flex-wrap:wrap}.side-rail{border-right:1px solid var(--outline-soft);background:#ffffff8f;flex-direction:column;align-items:center;gap:.65rem;padding:1rem .7rem;display:flex}.canvas-panel{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;padding:.75rem 1rem;display:grid}.flow-card{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);background:#ffffffb8;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;margin:1rem;display:grid;overflow:hidden}.flow-head,.inspector-head,.activity-head,.modal-head{border-bottom:1px solid var(--outline-soft);min-height:3.1rem;padding:.65rem 1rem}.map{cursor:grab;touch-action:none;min-height:21rem;padding:1rem;position:relative;overflow:hidden}.map.is-panning{cursor:grabbing}.flow-stage{transform-origin:50%;position:absolute;inset:1rem}.inspector{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.floating-inspector{z-index:18;border:1px solid var(--outline-soft);border-radius:var(--radius-lg);width:min(24rem,100vw - 2rem);max-height:calc(100vh - 5.5rem);box-shadow:var(--shadow-menu);will-change:transform;transition:transform .18s,box-shadow .18s;position:fixed;top:clamp(4.5rem,8vh,6rem);bottom:1rem;right:1rem;overflow:hidden}.floating-inspector.is-collapsed{transform:translate(calc(100% - 3rem));box-shadow:0 .8rem 1.8rem #312d2b1f}.floating-inspector.is-collapsed .inspector-head,.floating-inspector.is-collapsed .inspector-body{pointer-events:none;opacity:0}.inspector-tab{z-index:2;border-radius:var(--radius-lg) 0 0 var(--radius-lg);border:1px solid var(--outline-soft);background:var(--primary-container);color:#fff;border-right:0;align-content:center;justify-items:center;gap:.35rem;width:3rem;min-height:7rem;padding:.55rem .2rem;display:grid;position:absolute;top:1rem;left:0;box-shadow:-.6rem .8rem 1.6rem #312d2b29}.inspector-tab span:not(.material-symbols-outlined){writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-mono);font-size:.72rem;font-weight:700}.inspector-body,.modal-body{align-content:start;gap:.85rem;min-width:0;padding:.85rem 1rem;display:grid;overflow:auto}.activity{border-top:1px solid var(--outline-soft);background:#fffc;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.floating-activity{z-index:12;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -.8rem 2rem #312d2b14}.activity-resize-handle{cursor:row-resize;touch-action:none;height:.7rem;position:absolute;top:-.35rem;left:0;right:0}.activity-resize-handle:before{content:"";background:#535c5938;border-radius:999px;width:3.5rem;height:.22rem;position:absolute;top:.22rem;left:50%;transform:translate(-50%)}.activity-body{padding:.35rem .75rem .65rem;overflow:auto}@media (width>=48rem){.detail-grid,.form-grid{grid-template-columns:1fr 1fr}}@media (width>=68.01rem){.top-command{flex-wrap:nowrap}.status-cluster{flex:auto;justify-content:center}.command-actions{flex-wrap:nowrap;flex:none}}@media (width<=68rem){body{overflow:auto}.app-shell{grid-template-rows:auto auto auto;height:auto}.top-command{flex-direction:column;align-items:flex-start}.side-rail{border-right:0;border-bottom:1px solid var(--outline-soft);flex-direction:row;overflow-x:auto}.rail-button:last-child{margin-top:0;margin-left:auto}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-inspector{width:min(23rem,100vw - 1.5rem);max-height:min(34rem,100vh - 1.5rem);top:auto;bottom:.75rem;right:.75rem}}@media (width<=47.99rem){.command-actions,.status-cluster{width:100%}.command-actions button{flex:10rem}.metrics{grid-template-columns:1fr}.flow-card{margin:.75rem}.map{cursor:default;touch-action:auto;gap:.75rem;min-height:auto;display:grid}.flow-stage{gap:.75rem;display:grid;position:static;inset:auto;transform:none!important}.links{display:none}.router-node,.agent-node{touch-action:auto;width:100%;position:static;transform:none}.router-node{order:-1}.floating-inspector{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;max-height:72vh;bottom:0;right:0}}button{border-radius:var(--radius);background:var(--primary-container);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;padding:.62rem .85rem;display:inline-flex}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-style:normal;font-weight:400;line-height:1;display:inline-block;font-family:Material Symbols Outlined!important}button.secondary{background:var(--surface);color:var(--ink);border-color:var(--outline-soft)}button.ghost{color:var(--muted);background:0 0}button.danger{color:var(--danger);background:#fff5f3;border-color:#ba1a1a40}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #006a6a52}input,select,textarea{border:1px solid var(--outline-soft);border-radius:var(--radius);background:var(--surface-low);width:100%;min-height:2.75rem;color:var(--ink);padding:.72rem}textarea{resize:vertical;min-height:8rem}label{color:var(--muted);gap:.35rem;font-size:.875rem;display:grid}code,pre{border-radius:var(--radius-sm);background:var(--surface-container)}code{overflow-wrap:anywhere;padding:.12rem .28rem}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;margin:0;padding:.75rem;overflow:auto}.brand-mark{border-radius:var(--radius-lg);background:var(--primary-container);color:#fff;place-items:center;width:2rem;height:2rem;display:grid}.brand-title{gap:.08rem;display:grid}.brand-title h1{font-size:1.08rem;line-height:1.15}.subtitle{color:var(--muted);font-size:.82rem;line-height:1.35}.chip{border:1px solid var(--outline-soft);border-radius:var(--radius);max-width:100%;min-height:1.85rem;color:var(--muted);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;overflow-wrap:anywhere;background:#ffffffb8;flex:auto;align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.75rem;display:inline-flex;overflow:hidden}.status-cluster .chip{max-width:22rem}.status-cluster .chip:first-child,.flow-head .chip{flex:none}.chip-copy{max-width:min(34rem,100%)}.dot{background:var(--muted-2);border-radius:999px;flex:none;width:.55rem;height:.55rem}.dot.available,.dot.answered,.dot.success{background:var(--success)}.dot.waiting,.dot.busy,.dot.sent,.dot.created{background:var(--warning)}.dot.failed,.dot.timeout,.dot.missing,.dot.danger{background:var(--danger)}.rail-button{width:2.75rem;height:2.75rem;color:var(--muted);font-family:var(--font-mono);background:0 0;border-color:#0000;place-items:center;padding:0;display:grid}.rail-button.active{color:var(--secondary);background:#006a6a1a;border-color:#006a6a2e}.rail-button:last-child{margin-top:auto}.metric{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);background:#ffffffad;padding:.65rem .75rem}.metric span{color:var(--muted);font-family:var(--font-mono);align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.metric strong{font-family:var(--font-head);margin-top:.3rem;font-size:1.25rem;line-height:1;display:block}.links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.link-line{stroke:#4048464d;stroke-width:2px;stroke-dasharray:7 8}.link-line.answered{stroke:#16815fb8;stroke-dasharray:0}.link-line.waiting,.link-line.sent,.link-line.created{stroke:#a65f14d1;stroke-width:3px;animation:1.5s ease-in-out infinite flowPulse}.link-line.failed,.link-line.timeout{stroke:#ba1a1ac7;stroke-dasharray:4 6}.link-line.selected{stroke-width:4px}.router-node,.agent-node{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);background:var(--surface);position:absolute}.router-node{z-index:3;border:2px solid #315c52c7;align-content:center;justify-items:center;gap:.55rem;width:min(14rem,64vw);min-height:9rem;padding:1rem;display:grid;top:50%;left:50%;transform:translate(-50%,-50%)}.router-icon{width:2.6rem;height:2.6rem;color:var(--primary-container);font-family:var(--font-mono);background:#315c521a;border-radius:999px;place-items:center;font-weight:800;display:grid}.legend{color:var(--muted);font-family:var(--font-mono);flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;font-size:.72rem;display:flex}.agent-node{width:min(14rem,42vw);min-height:7.7rem;color:var(--ink);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;text-align:left;z-index:4;gap:.45rem;padding:.78rem;display:grid;overflow:hidden}.agent-node:hover,.agent-node.selected{border-color:#006a6a8c;box-shadow:0 .9rem 1.8rem #006a6a1a}.agent-node:active{cursor:grabbing}.agent-node.active-request{border-color:#a65f149e}.agent-node.failed-request{border-color:#ba1a1a80}.agent-title,.request-top{justify-content:space-between}.agent-id{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.node-meta,.muted{color:var(--muted)}.node-meta{overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.request-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.status{border:1px solid var(--outline-soft);border-radius:var(--radius);min-height:1.5rem;color:var(--muted);font-family:var(--font-mono);white-space:nowrap;background:#fff9;align-items:center;gap:.35rem;padding:.12rem .48rem;font-size:.7rem;display:inline-flex}.status.available,.status.answered{color:var(--success);background:#16815f14;border-color:#16815f4d}.status.waiting,.status.sent,.status.created,.status.busy{color:var(--warning);background:#a65f1414;border-color:#a65f1452}.status.missing,.status.timeout,.status.failed{color:var(--danger);background:#ba1a1a14;border-color:#ba1a1a47}.status.cancelled,.status.archived,.status.unknown{color:var(--muted-2);background:#71797614}.section,.request-list,.detail-grid,.form-grid,.guide-steps{gap:.75rem;display:grid}.section-title{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.kv{gap:.3rem;min-width:0;display:grid}.kv span{color:var(--muted);font-size:.78rem}.kv strong,.kv code{overflow-wrap:anywhere;min-width:0}.command-box,.notice{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);padding:.65rem}.command-box{background:var(--terminal);color:var(--terminal-ink);gap:.55rem;display:grid}.command-box code{color:#9af1f1;background:#0000003d;padding:.6rem;display:block}.notice{background:var(--surface-low);color:var(--muted);font-size:.86rem;line-height:1.45}.activity-table{border-collapse:collapse;width:100%;min-width:48rem;font-family:var(--font-mono);font-size:.75rem}.activity-table th,.activity-table td{border-bottom:1px solid var(--outline-soft);text-align:left;vertical-align:top;padding:.42rem .6rem}.activity-table th{color:var(--muted);text-transform:uppercase;font-size:.68rem}.request-item{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);background:var(--surface);width:100%;min-height:4.8rem;color:var(--ink);text-align:left;gap:.42rem;padding:.75rem;display:grid}.empty{text-align:center;min-height:10rem;color:var(--muted);border:1px dashed var(--outline);border-radius:var(--radius-lg);place-items:center;padding:1rem;display:grid}.context-menu{z-index:20;border:1px solid var(--outline-soft);border-radius:var(--radius-lg);width:min(18rem,100vw - 2rem);box-shadow:var(--shadow-menu);background:#fffffffa;padding:.45rem;position:fixed}.context-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border-color:#0000;justify-content:flex-start}.context-menu .danger{color:var(--danger)}.modal-backdrop{z-index:30;background:#1c1b1b57;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);background:var(--surface);grid-template-rows:auto minmax(0,1fr);width:min(48rem,100%);max-height:min(46rem,100vh - 2rem);display:grid;overflow:hidden;box-shadow:0 1.5rem 4rem #1c1b1b3d}.directory-picker,.terminal-panel{border:1px solid var(--outline-soft);border-radius:var(--radius-lg);grid-column:1/-1;gap:.6rem;padding:.75rem;display:grid}.directory-picker{background:var(--surface)}.directory-list{gap:.35rem;max-height:15rem;display:grid;overflow:auto}.directory-row{background:var(--surface-low);width:100%;min-height:2.5rem;color:var(--ink);border-color:var(--outline-soft);text-align:left;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.terminal-panel{background:var(--terminal);color:var(--terminal-ink)}.terminal-panel pre{min-height:16rem;max-height:24rem;color:var(--terminal-ink);background:#080d0a;border:1px solid #d8f5df29}.terminal-panel input{color:var(--terminal-ink);background:#080d0a;border-color:#d8f5df3d}.hidden{display:none!important}@keyframes flowPulse{0%,to{opacity:.42}50%{opacity:1}}