@monoes/monomindcli 2.1.0 → 2.1.4
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/.claude/commands/mastermind/createorg.md +8 -9
- package/.claude/helpers/handlers/capture-handler.cjs +24 -10
- package/.claude/helpers/handlers/gates-handler.cjs +2 -2
- package/.claude/helpers/handlers/route-handler.cjs +29 -0
- package/.claude/helpers/handlers/session-handler.cjs +35 -23
- package/.claude/helpers/hook-handler.cjs +21 -0
- package/.claude/helpers/utils/monograph.cjs +73 -2
- package/.claude/skills/mastermind-skills/createorg.md +91 -701
- package/.claude/skills/mastermind-skills/org-settings.md +46 -47
- package/.claude/skills/mastermind-skills/runorg.md +12 -1
- package/README.md +77 -94
- package/dist/src/agents/registry-builder.js.map +1 -1
- package/dist/src/browser/dashboard/server.js.map +1 -1
- package/dist/src/browser/workflow/engine.d.ts.map +1 -1
- package/dist/src/browser/workflow/engine.js.map +1 -1
- package/dist/src/browser/workflow/store.d.ts +2 -2
- package/dist/src/browser/workflow/store.d.ts.map +1 -1
- package/dist/src/browser/workflow/store.js.map +1 -1
- package/dist/src/capabilities/manager.d.ts.map +1 -1
- package/dist/src/capabilities/watcher.d.ts.map +1 -1
- package/dist/src/commands/agent-lifecycle.js.map +1 -1
- package/dist/src/commands/agent-ops.js.map +1 -1
- package/dist/src/commands/agent.d.ts.map +1 -1
- package/dist/src/commands/analyze-ast.js.map +1 -1
- package/dist/src/commands/analyze.d.ts.map +1 -1
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/autopilot.d.ts.map +1 -1
- package/dist/src/commands/browse-action.d.ts.map +1 -1
- package/dist/src/commands/browse-action.js.map +1 -1
- package/dist/src/commands/browse-platform.d.ts.map +1 -1
- package/dist/src/commands/browse-workflow.d.ts.map +1 -1
- package/dist/src/commands/browse.d.ts +1 -1
- package/dist/src/commands/browse.d.ts.map +1 -1
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/completions.d.ts.map +1 -1
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/crash-reporting.d.ts.map +1 -1
- package/dist/src/commands/design-detect.d.ts.map +1 -1
- package/dist/src/commands/design-palette.d.ts.map +1 -1
- package/dist/src/commands/doc.d.ts.map +1 -1
- package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-env-checks.js +5 -0
- package/dist/src/commands/doctor-env-checks.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/guidance.d.ts.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +46 -29
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/performance.d.ts.map +1 -1
- package/dist/src/commands/platforms.d.ts +1 -1
- package/dist/src/commands/platforms.d.ts.map +1 -1
- package/dist/src/commands/providers.d.ts.map +1 -1
- package/dist/src/commands/report-crash.d.ts.map +1 -1
- package/dist/src/commands/route.d.ts.map +1 -1
- package/dist/src/commands/search-universal.d.ts.map +1 -1
- package/dist/src/commands/security.d.ts.map +1 -1
- package/dist/src/commands/session.d.ts.map +1 -1
- package/dist/src/commands/start.d.ts.map +1 -1
- package/dist/src/commands/status.d.ts.map +1 -1
- package/dist/src/commands/swarm.d.ts.map +1 -1
- package/dist/src/commands/task.d.ts.map +1 -1
- package/dist/src/commands/tokens.d.ts.map +1 -1
- package/dist/src/commands/tokens.js.map +1 -1
- package/dist/src/commands/transfer-store.d.ts.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/consensus/audit-writer.d.ts.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +30 -6
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/auto-install.d.ts +8 -8
- package/dist/src/mcp-tools/auto-install.d.ts.map +1 -1
- package/dist/src/mcp-tools/auto-install.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/causal-infer.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/causal-infer.js.map +1 -1
- package/dist/src/mcp-tools/coherence/coherence-check.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/consensus-verify.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/memory-gate.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/quantum-topology.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts.map +1 -1
- package/dist/src/mcp-tools/coherence/spectral-analyze.js.map +1 -1
- package/dist/src/mcp-tools/coherence/types.d.ts +31 -31
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/graphify-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +5 -1
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.js +28 -3
- package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts +36 -36
- package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts.map +1 -1
- package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +4 -4
- package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
- package/dist/src/memory/ewc-consolidation.d.ts +12 -0
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/hnsw-operations.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts +12 -0
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/monovector/coverage-router.js.map +1 -1
- package/dist/src/monovector/coverage-tools.d.ts.map +1 -1
- package/dist/src/monovector/diff-classifier.d.ts.map +1 -1
- package/dist/src/monovector/diff-classifier.js.map +1 -1
- package/dist/src/monovector/init-state.js.map +1 -1
- package/dist/src/observability/replay-reader.d.ts.map +1 -1
- package/dist/src/orgrt/broker.d.ts +3 -1
- package/dist/src/orgrt/broker.d.ts.map +1 -1
- package/dist/src/orgrt/broker.js +8 -3
- package/dist/src/orgrt/broker.js.map +1 -1
- package/dist/src/orgrt/bus.d.ts +5 -1
- package/dist/src/orgrt/bus.d.ts.map +1 -1
- package/dist/src/orgrt/bus.js +5 -1
- package/dist/src/orgrt/bus.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts +35 -1
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +190 -21
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/forwarder.d.ts.map +1 -1
- package/dist/src/orgrt/forwarder.js +47 -10
- package/dist/src/orgrt/forwarder.js.map +1 -1
- package/dist/src/orgrt/inbox.d.ts +11 -0
- package/dist/src/orgrt/inbox.d.ts.map +1 -0
- package/dist/src/orgrt/inbox.js +56 -0
- package/dist/src/orgrt/inbox.js.map +1 -0
- package/dist/src/orgrt/mailbox.d.ts.map +1 -1
- package/dist/src/orgrt/policy.d.ts +5 -1
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +58 -5
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/provider.js.map +1 -1
- package/dist/src/orgrt/scheduler.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler.js.map +1 -1
- package/dist/src/orgrt/server.d.ts +3 -2
- package/dist/src/orgrt/server.d.ts.map +1 -1
- package/dist/src/orgrt/server.js +31 -40
- package/dist/src/orgrt/server.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +11 -1
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +32 -1
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/test-loop.d.ts.map +1 -1
- package/dist/src/orgrt/test-loop.js +8 -8
- package/dist/src/orgrt/test-loop.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +53 -53
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/output.d.ts +29 -29
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +10 -2
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js.map +1 -1
- package/dist/src/pricing/model-pricing.d.ts +1 -1
- package/dist/src/pricing/model-pricing.d.ts.map +1 -1
- package/dist/src/production/circuit-breaker.d.ts.map +1 -1
- package/dist/src/production/circuit-breaker.js.map +1 -1
- package/dist/src/production/error-handler.d.ts.map +1 -1
- package/dist/src/production/error-handler.js.map +1 -1
- package/dist/src/production/monitoring.d.ts.map +1 -1
- package/dist/src/production/monitoring.js.map +1 -1
- package/dist/src/production/rate-limiter.d.ts.map +1 -1
- package/dist/src/production/rate-limiter.js.map +1 -1
- package/dist/src/production/retry.d.ts.map +1 -1
- package/dist/src/production/retry.js.map +1 -1
- package/dist/src/prompt.d.ts.map +1 -1
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/routing/llm-caller.js.map +1 -1
- package/dist/src/routing/route-layer-factory.js.map +1 -1
- package/dist/src/services/config-file-manager.d.ts.map +1 -1
- package/dist/src/suggest.d.ts.map +1 -1
- package/dist/src/suggest.js.map +1 -1
- package/dist/src/transfer/export.js.map +1 -1
- package/dist/src/transfer/ipfs/client.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -1
- package/dist/src/transfer/storage/gcs.js.map +1 -1
- package/dist/src/transfer/store/discovery.d.ts.map +1 -1
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.d.ts.map +1 -1
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/index.d.ts.map +1 -1
- package/dist/src/transfer/store/index.js.map +1 -1
- package/dist/src/transfer/store/publish.d.ts.map +1 -1
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/src/transfer/store/search.js.map +1 -1
- package/dist/src/types.d.ts +2 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/ui/collector.mjs +20 -5
- package/dist/src/ui/dashboard.html +465 -500
- package/dist/src/ui/orgs-files.js +192 -0
- package/dist/src/ui/orgs.html +21 -52
- package/dist/src/ui/server.mjs +174 -164
- package/dist/src/update/checker.js.map +1 -1
- package/dist/src/update/rate-limiter.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -16
- package/scripts/publish.sh +6 -0
- package/dist/src/orgrt/live.html +0 -56
package/dist/src/ui/server.mjs
CHANGED
|
@@ -9,6 +9,9 @@ import { collectAll, getWatchPaths, collectProject, collectSessions, collectSwar
|
|
|
9
9
|
import { addSseClient, removeSseClient, broadcast, getSseClientCount, closeSseClients, addMmClient, removeMmClient, broadcastMm, getMmClientCount } from './sse-manager.mjs';
|
|
10
10
|
|
|
11
11
|
const JSONL_SIZE_CAP = 10 * 1024 * 1024; // 10 MB — skip files larger than this in /api/graph
|
|
12
|
+
// Session id format for data/sessions/<id>.jsonl persistence — no path traversal (".."), starts
|
|
13
|
+
// with a word char, rest is word chars/dot/dash. Shared by every session-id-accepting endpoint.
|
|
14
|
+
const SESSION_ID_RE = /^(?!.*\.\.)[a-zA-Z0-9_][a-zA-Z0-9_.-]*$/;
|
|
12
15
|
const buildDocsState = new Map();
|
|
13
16
|
|
|
14
17
|
// Pricing per token (mirrors token-tracker.cjs FALLBACK_PRICING)
|
|
@@ -478,7 +481,9 @@ function _detectMimeType(filePath) {
|
|
|
478
481
|
'.json': 'application/json', '.md': 'text/markdown', '.txt': 'text/plain',
|
|
479
482
|
'.html': 'text/html', '.css': 'text/css', '.py': 'text/x-python',
|
|
480
483
|
'.sh': 'text/x-shellscript', '.yaml': 'text/yaml', '.yml': 'text/yaml',
|
|
481
|
-
'.toml': 'text/plain', '.env': 'text/plain', '.xml': 'text/xml'
|
|
484
|
+
'.toml': 'text/plain', '.env': 'text/plain', '.xml': 'text/xml',
|
|
485
|
+
'.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg',
|
|
486
|
+
'.gif': 'image/gif', '.svg': 'image/svg+xml', '.webp': 'image/webp' };
|
|
482
487
|
return map[ext] || 'application/octet-stream';
|
|
483
488
|
}
|
|
484
489
|
|
|
@@ -608,10 +613,26 @@ function bindServer(server, port) {
|
|
|
608
613
|
* uses a greedy BFS over the real filesystem to find the correct path.
|
|
609
614
|
* Falls back to cwd in session files, then to direct slug replacement.
|
|
610
615
|
*/
|
|
616
|
+
const _slugPathCache = new Map();
|
|
617
|
+
|
|
611
618
|
function resolveSlugToPath(slug, projDir) {
|
|
612
|
-
|
|
619
|
+
if (_slugPathCache.has(slug)) return _slugPathCache.get(slug);
|
|
620
|
+
const resolved = _resolveSlugToPathUncached(slug, projDir);
|
|
621
|
+
_slugPathCache.set(slug, resolved);
|
|
622
|
+
return resolved;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
function _resolveSlugToPathUncached(slug, projDir) {
|
|
626
|
+
// 1. Try filesystem BFS (most reliable). Branching is O(2^hyphens) in the
|
|
627
|
+
// worst case (a slug with N hyphens can require exploring both "new path
|
|
628
|
+
// segment" and "hyphen is part of this segment's name" at each of the N
|
|
629
|
+
// positions) — bound total exploration so a slug with many hyphens (e.g.
|
|
630
|
+
// a UUID-embedded temp/scratchpad dir) can't hang the event loop.
|
|
613
631
|
const parts = slug.replace(/^-/, '').split('-');
|
|
632
|
+
const MAX_CALLS = 20000;
|
|
633
|
+
let calls = 0;
|
|
614
634
|
function tryPaths(idx, current) {
|
|
635
|
+
if (++calls > MAX_CALLS) return null;
|
|
615
636
|
if (idx === parts.length) return fs.existsSync(current) ? current : null;
|
|
616
637
|
// Option A: next part is a new path component
|
|
617
638
|
const asDir = path.join(current, parts[idx]);
|
|
@@ -690,7 +711,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
|
|
|
690
711
|
// Extracted from the request dispatcher to reduce cyclomatic complexity.
|
|
691
712
|
// Handles POST /api/mastermind/event: parses body, enriches with runId/session,
|
|
692
713
|
// persists to JSONL files, broadcasts to SSE clients, returns {ok:true}.
|
|
693
|
-
async function handleMastermindEvent(req, res) {
|
|
714
|
+
async function handleMastermindEvent(req, res, corsOrigin) {
|
|
694
715
|
let body = '';
|
|
695
716
|
for await (const chunk of req) { body += chunk; if (body.length > 2097152) { req.destroy(); break; } }
|
|
696
717
|
let event = {};
|
|
@@ -887,7 +908,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
|
|
|
887
908
|
// Format: data/sessions/<sessionId>.jsonl + data/sessions/_index.json
|
|
888
909
|
try {
|
|
889
910
|
const _sid = String(event.session || '').trim();
|
|
890
|
-
if (_sid.length > 0 && _sid.length <= 128 &&
|
|
911
|
+
if (_sid.length > 0 && _sid.length <= 128 && SESSION_ID_RE.test(_sid)) {
|
|
891
912
|
const sessDir = path.join(dataDir, 'sessions');
|
|
892
913
|
fs.mkdirSync(sessDir, { recursive: true });
|
|
893
914
|
// Append event to per-session JSONL (O(1), no read)
|
|
@@ -1011,7 +1032,13 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
|
|
|
1011
1032
|
if (req.method === 'GET' && url === '/') {
|
|
1012
1033
|
const htmlPath = path.join(__dirname, 'dashboard.html');
|
|
1013
1034
|
try {
|
|
1014
|
-
|
|
1035
|
+
let html = fs.readFileSync(htmlPath, 'utf8');
|
|
1036
|
+
// Inject this process's auth credential so the page's own fetch() calls can
|
|
1037
|
+
// attach it (see the fetch-wrapper near the top of dashboard.html's <script>
|
|
1038
|
+
// block) — every non-GET route above requires it, but the served HTML was
|
|
1039
|
+
// previously never given a way to know it, so every write action 401'd from
|
|
1040
|
+
// the actual browser UI.
|
|
1041
|
+
html = html.replace('<head>', `<head>\n<meta name="mm-token" content="${dashboardAuthValue}">`);
|
|
1015
1042
|
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
1016
1043
|
res.end(html);
|
|
1017
1044
|
} catch (err) {
|
|
@@ -4721,6 +4748,122 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
4721
4748
|
return;
|
|
4722
4749
|
}
|
|
4723
4750
|
|
|
4751
|
+
// GET /api/questions?dir=<projectDir> — list unanswered ask_human questions for
|
|
4752
|
+
// every org in one project. Mirrors the existing -approvals.json sidecar convention,
|
|
4753
|
+
// but reads this feature's .monomind/orgs/<org>/questions.json files (one per org dir).
|
|
4754
|
+
if (req.method === 'GET' && url === '/api/questions') {
|
|
4755
|
+
try {
|
|
4756
|
+
const _qDir = new URL(req.url, 'http://localhost').searchParams.get('dir') || projectDir || process.cwd();
|
|
4757
|
+
const base = path.join(path.resolve(_qDir), '.monomind', 'orgs');
|
|
4758
|
+
const out = [];
|
|
4759
|
+
if (fs.existsSync(base)) {
|
|
4760
|
+
for (const orgName of fs.readdirSync(base)) {
|
|
4761
|
+
const qFile = path.join(base, orgName, 'questions.json');
|
|
4762
|
+
if (!fs.existsSync(qFile)) continue;
|
|
4763
|
+
let data = { questions: [] };
|
|
4764
|
+
try { data = JSON.parse(fs.readFileSync(qFile, 'utf8')); } catch (_) {}
|
|
4765
|
+
for (const q of (data.questions || [])) {
|
|
4766
|
+
if (q.answer === null || q.answer === undefined) out.push({ org: orgName, ...q });
|
|
4767
|
+
}
|
|
4768
|
+
}
|
|
4769
|
+
}
|
|
4770
|
+
res.writeHead(200, { 'Content-Type': 'application/json', ...(corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {}) });
|
|
4771
|
+
res.end(JSON.stringify({ questions: out }));
|
|
4772
|
+
} catch (_e) { res.writeHead(500); res.end('{"questions":[]}'); }
|
|
4773
|
+
return;
|
|
4774
|
+
}
|
|
4775
|
+
|
|
4776
|
+
// POST /api/questions/answer — forward a human's answer to the org's live process
|
|
4777
|
+
// (looked up via the same file-based broker registry orgrt's cross-process delivery
|
|
4778
|
+
// already uses), or fail with a clear error if no process anywhere hosts it.
|
|
4779
|
+
if (req.method === 'POST' && url === '/api/questions/answer') {
|
|
4780
|
+
let body = '';
|
|
4781
|
+
for await (const chunk of req) { body += chunk; if (body.length > 2097152) { req.destroy(); break; } }
|
|
4782
|
+
try {
|
|
4783
|
+
const parsed = JSON.parse(body);
|
|
4784
|
+
const { dir, org, role, questionId, answer } = parsed;
|
|
4785
|
+
if (!org || !role || !questionId || answer === undefined) {
|
|
4786
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
4787
|
+
res.end(JSON.stringify({ ok: false, error: 'org, role, questionId, answer are required' }));
|
|
4788
|
+
return;
|
|
4789
|
+
}
|
|
4790
|
+
if (String(org).length > 64 || !/^[a-z0-9][a-z0-9_-]*$/i.test(String(org))) {
|
|
4791
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
4792
|
+
res.end(JSON.stringify({ ok: false, error: 'Invalid org name' }));
|
|
4793
|
+
return;
|
|
4794
|
+
}
|
|
4795
|
+
const brokerDir = path.join(os.homedir(), '.monomind', 'orgrt-broker');
|
|
4796
|
+
const entryPath = path.join(brokerDir, `${org}.json`);
|
|
4797
|
+
let hostUrl = null;
|
|
4798
|
+
try {
|
|
4799
|
+
const entry = JSON.parse(fs.readFileSync(entryPath, 'utf8'));
|
|
4800
|
+
if (Date.now() - entry.updatedAt < 90000) hostUrl = entry.url;
|
|
4801
|
+
} catch (_) {}
|
|
4802
|
+
if (!hostUrl) {
|
|
4803
|
+
// No live process to forward to — the control server has no daemon instance of
|
|
4804
|
+
// its own to call autoWake() on. If the org's definition still exists on disk,
|
|
4805
|
+
// queue the answer the same way inbox.ts's queueMessage()/drainInbox() already
|
|
4806
|
+
// do for offline cross-org messages, so it's delivered whenever the org next
|
|
4807
|
+
// starts (manually or via its own schedule) — matching the offline-delivery goal
|
|
4808
|
+
// for the dashboard path, not just the direct-daemon path Task 4 already covers.
|
|
4809
|
+
const projDir = path.resolve(dir || projectDir || process.cwd());
|
|
4810
|
+
const orgDefFile = path.join(projDir, '.monomind', 'orgs', `${org}.json`);
|
|
4811
|
+
if (!fs.existsSync(orgDefFile)) {
|
|
4812
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
4813
|
+
res.end(JSON.stringify({ ok: false, error: `org "${org}" not found — no running process and no saved definition` }));
|
|
4814
|
+
return;
|
|
4815
|
+
}
|
|
4816
|
+
const qFile = path.join(projDir, '.monomind', 'orgs', org, 'questions.json');
|
|
4817
|
+
let qData = { questions: [] };
|
|
4818
|
+
try { qData = JSON.parse(fs.readFileSync(qFile, 'utf8')); } catch (_) {}
|
|
4819
|
+
const qIdx = (qData.questions || []).findIndex(q => q.questionId === questionId);
|
|
4820
|
+
if (qIdx === -1) {
|
|
4821
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
4822
|
+
res.end(JSON.stringify({ ok: false, error: `question "${questionId}" not found for org "${org}"` }));
|
|
4823
|
+
return;
|
|
4824
|
+
}
|
|
4825
|
+
if (qData.questions[qIdx].answer !== null && qData.questions[qIdx].answer !== undefined) {
|
|
4826
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
4827
|
+
res.end(JSON.stringify({ ok: true, alreadyAnswered: true }));
|
|
4828
|
+
return;
|
|
4829
|
+
}
|
|
4830
|
+
const answeredQuestion = qData.questions[qIdx];
|
|
4831
|
+
qData.questions[qIdx] = { ...answeredQuestion, answer, answeredAt: Date.now() };
|
|
4832
|
+
const qTmp = `${qFile}.tmp`;
|
|
4833
|
+
fs.writeFileSync(qTmp, JSON.stringify(qData, null, 2));
|
|
4834
|
+
fs.renameSync(qTmp, qFile);
|
|
4835
|
+
const inboxDir = path.join(projDir, '.monomind', 'orgs', org);
|
|
4836
|
+
fs.mkdirSync(inboxDir, { recursive: true });
|
|
4837
|
+
fs.appendFileSync(path.join(inboxDir, 'inbox.jsonl'), JSON.stringify({
|
|
4838
|
+
fromQualified: 'human', toRole: role, subject: `answer:${questionId}`, body: `question: ${answeredQuestion.question}\n\nanswer: ${answer}`, ts: Date.now(),
|
|
4839
|
+
}) + '\n');
|
|
4840
|
+
const queuedEvent = { type: 'org:question-answered', org, role, questionId, ts: Date.now(), queued: true };
|
|
4841
|
+
appendToFile(path.join(projDir, 'data', 'mastermind-events.jsonl'), JSON.stringify(queuedEvent) + '\n').catch(() => {});
|
|
4842
|
+
broadcastMm(queuedEvent);
|
|
4843
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
4844
|
+
res.end(JSON.stringify({ ok: true, queued: true }));
|
|
4845
|
+
return;
|
|
4846
|
+
}
|
|
4847
|
+
const fwd = await fetch(`${hostUrl}/api/answer-question`, {
|
|
4848
|
+
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
|
4849
|
+
body: JSON.stringify({ org, role, questionId, answer }),
|
|
4850
|
+
signal: AbortSignal.timeout(5000),
|
|
4851
|
+
});
|
|
4852
|
+
const fwdData = await fwd.json().catch(() => ({}));
|
|
4853
|
+
if (fwd.ok && fwdData.ok) {
|
|
4854
|
+
const event = { type: 'org:question-answered', org, role, questionId, ts: Date.now() };
|
|
4855
|
+
appendToFile(path.join(path.resolve(dir || projectDir || process.cwd()), 'data', 'mastermind-events.jsonl'), JSON.stringify(event) + '\n').catch(() => {});
|
|
4856
|
+
broadcastMm(event);
|
|
4857
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
4858
|
+
res.end(JSON.stringify({ ok: true }));
|
|
4859
|
+
} else {
|
|
4860
|
+
res.writeHead(fwd.status || 500, { 'Content-Type': 'application/json' });
|
|
4861
|
+
res.end(JSON.stringify({ ok: false, error: fwdData.error || 'answer delivery failed' }));
|
|
4862
|
+
}
|
|
4863
|
+
} catch (_e) { res.writeHead(500); res.end('{"ok":false}'); }
|
|
4864
|
+
return;
|
|
4865
|
+
}
|
|
4866
|
+
|
|
4724
4867
|
// POST /api/org/:name/approvals/:id — approve or reject a pending approval request
|
|
4725
4868
|
// Body: { action: "approve" | "reject" | "revision_requested" }
|
|
4726
4869
|
if (req.method === 'POST' && url.match(/^\/api\/org\/[a-z0-9][a-z0-9_-]{0,63}\/approvals\/[^/]+$/i)) {
|
|
@@ -5113,6 +5256,12 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
5113
5256
|
const stat = fs.statSync(resolved);
|
|
5114
5257
|
if (!stat.isFile()) { res.writeHead(400); res.end('Not a file'); return; }
|
|
5115
5258
|
if (stat.size > 524288) { res.writeHead(413); res.end('File too large'); return; }
|
|
5259
|
+
const _fcMime = _detectMimeType(resolved);
|
|
5260
|
+
if (_fcMime.startsWith('image/')) {
|
|
5261
|
+
res.writeHead(200, { 'Content-Type': _fcMime, ...(corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {}) });
|
|
5262
|
+
res.end(fs.readFileSync(resolved));
|
|
5263
|
+
return;
|
|
5264
|
+
}
|
|
5116
5265
|
const content = fs.readFileSync(resolved, 'utf8');
|
|
5117
5266
|
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8', ...(corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {}) });
|
|
5118
5267
|
res.end(content);
|
|
@@ -5397,7 +5546,7 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
5397
5546
|
// ------------------------------------------------- Mastermind event system
|
|
5398
5547
|
// POST /api/mastermind/event — ingest event from mastermind skill
|
|
5399
5548
|
if (req.method === 'POST' && url === '/api/mastermind/event') {
|
|
5400
|
-
return handleMastermindEvent(req, res);
|
|
5549
|
+
return handleMastermindEvent(req, res, corsOrigin);
|
|
5401
5550
|
}
|
|
5402
5551
|
|
|
5403
5552
|
// GET /api/mastermind-stream — SSE for real-time events
|
|
@@ -5449,7 +5598,7 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
5449
5598
|
const top = idx.slice(0, limitParam);
|
|
5450
5599
|
for (const entry of top) {
|
|
5451
5600
|
const _sid = String(entry.id || '').trim();
|
|
5452
|
-
if (!_sid ||
|
|
5601
|
+
if (!_sid || !SESSION_ID_RE.test(_sid)) continue;
|
|
5453
5602
|
let events = [];
|
|
5454
5603
|
try {
|
|
5455
5604
|
const jl = fs.readFileSync(path.join(sessDir, `${_sid}.jsonl`), 'utf8');
|
|
@@ -5557,6 +5706,23 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
5557
5706
|
return;
|
|
5558
5707
|
}
|
|
5559
5708
|
|
|
5709
|
+
// ------------------------------------------------ GET /orgs-files.js
|
|
5710
|
+
// Files-tab + diff-view script, split out of orgs.html (see orgs.html's
|
|
5711
|
+
// script-src comment). Not a generic static handler — this UI serves each
|
|
5712
|
+
// sibling asset via its own hardcoded route, same as GET /orgs above.
|
|
5713
|
+
if (req.method === 'GET' && url === '/orgs-files.js') {
|
|
5714
|
+
try {
|
|
5715
|
+
const jsPath = path.join(__dirname, 'orgs-files.js');
|
|
5716
|
+
const js = fs.readFileSync(jsPath, 'utf8');
|
|
5717
|
+
res.writeHead(200, { 'Content-Type': 'application/javascript; charset=utf-8' });
|
|
5718
|
+
res.end(js);
|
|
5719
|
+
} catch (err) {
|
|
5720
|
+
res.writeHead(404);
|
|
5721
|
+
res.end(`orgs-files.js not found: ${err.message}`);
|
|
5722
|
+
}
|
|
5723
|
+
return;
|
|
5724
|
+
}
|
|
5725
|
+
|
|
5560
5726
|
// GET /api/mastermind/loops — list all active loop state files
|
|
5561
5727
|
if (req.method === 'GET' && url === '/api/mastermind/loops') {
|
|
5562
5728
|
try {
|
|
@@ -5668,162 +5834,6 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
5668
5834
|
return;
|
|
5669
5835
|
}
|
|
5670
5836
|
|
|
5671
|
-
// ----------------------------------------------- GET /api/monoagent/platforms
|
|
5672
|
-
// Returns all supported platforms from `monoes connect list --all --json`
|
|
5673
|
-
if (req.method === 'GET' && url === '/api/monoagent/platforms') {
|
|
5674
|
-
try {
|
|
5675
|
-
const { execFile } = await import('child_process');
|
|
5676
|
-
const out = await new Promise((resolve, reject) => {
|
|
5677
|
-
execFile('monoes', ['connect', 'list', '--all', '--json'], { timeout: 8000 }, (err, stdout) => {
|
|
5678
|
-
if (err) reject(err); else resolve(stdout);
|
|
5679
|
-
});
|
|
5680
|
-
});
|
|
5681
|
-
// Parse + re-serialize to ensure only valid JSON reaches the client
|
|
5682
|
-
// (monoes may emit warning lines before the JSON array)
|
|
5683
|
-
let parsed; try { parsed = JSON.parse(out); } catch (_) { parsed = []; }
|
|
5684
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5685
|
-
res.end(JSON.stringify(Array.isArray(parsed) ? parsed : []));
|
|
5686
|
-
} catch (e) { res.writeHead(200); res.end('[]'); }
|
|
5687
|
-
return;
|
|
5688
|
-
}
|
|
5689
|
-
|
|
5690
|
-
// ----------------------------------------------- GET /api/monoagent/connections
|
|
5691
|
-
// Returns active API/OAuth connections + browser sessions merged
|
|
5692
|
-
if (req.method === 'GET' && url === '/api/monoagent/connections') {
|
|
5693
|
-
try {
|
|
5694
|
-
const { execFile } = await import('child_process');
|
|
5695
|
-
const [connsOut, sessOut] = await Promise.all([
|
|
5696
|
-
new Promise((resolve) => {
|
|
5697
|
-
execFile('monoes', ['connect', 'list', '--json'], { timeout: 8000 }, (err, stdout) => resolve(err ? '[]' : stdout));
|
|
5698
|
-
}),
|
|
5699
|
-
new Promise((resolve) => {
|
|
5700
|
-
execFile('monoes', ['--json', 'login', 'status'], { timeout: 8000 }, (err, stdout) => resolve(err ? '[]' : stdout));
|
|
5701
|
-
}),
|
|
5702
|
-
]);
|
|
5703
|
-
let connections = []; try { connections = JSON.parse(connsOut); } catch (_) {}
|
|
5704
|
-
let sessions = []; try { sessions = JSON.parse(sessOut); } catch (_) {}
|
|
5705
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5706
|
-
res.end(JSON.stringify({ connections, sessions }));
|
|
5707
|
-
} catch (e) { res.writeHead(200); res.end(JSON.stringify({ connections: [], sessions: [] })); }
|
|
5708
|
-
return;
|
|
5709
|
-
}
|
|
5710
|
-
|
|
5711
|
-
// ----------------------------------------------- POST /api/monoagent/login
|
|
5712
|
-
// Launches browser login for social platforms via `monoes login <platform>`
|
|
5713
|
-
if (req.method === 'POST' && url === '/api/monoagent/login') {
|
|
5714
|
-
try {
|
|
5715
|
-
let body = '';
|
|
5716
|
-
await new Promise((resolve, reject) => { req.on('data', d => { body += d; if (body.length > 65536) { req.destroy(); reject(new Error('body too large')); } }); req.on('end', resolve); req.on('error', reject); });
|
|
5717
|
-
const { id } = JSON.parse(body);
|
|
5718
|
-
if (!id || !/^[a-z][a-z0-9_-]*$/.test(id)) { res.writeHead(400); res.end(JSON.stringify({ error: 'invalid id' })); return; }
|
|
5719
|
-
const { spawn } = await import('child_process');
|
|
5720
|
-
const child = spawn('monoes', ['login', id, '--timeout', '10m'], { detached: true, stdio: 'ignore' });
|
|
5721
|
-
// Defer response until spawn confirms or errors — prevents race where error fires after res.end()
|
|
5722
|
-
child.once('spawn', () => {
|
|
5723
|
-
child.unref();
|
|
5724
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5725
|
-
res.end(JSON.stringify({ ok: true }));
|
|
5726
|
-
});
|
|
5727
|
-
child.once('error', (err) => {
|
|
5728
|
-
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
5729
|
-
res.end(JSON.stringify({ error: err.message }));
|
|
5730
|
-
});
|
|
5731
|
-
} catch (e) { res.writeHead(500); res.end(JSON.stringify({ error: e.message })); }
|
|
5732
|
-
return;
|
|
5733
|
-
}
|
|
5734
|
-
|
|
5735
|
-
// ----------------------------------------------- POST /api/monoagent/connect
|
|
5736
|
-
if (req.method === 'POST' && url === '/api/monoagent/connect') {
|
|
5737
|
-
try {
|
|
5738
|
-
let body = '';
|
|
5739
|
-
await new Promise((resolve, reject) => { req.on('data', d => { body += d; if (body.length > 65536) { req.destroy(); reject(new Error('body too large')); } }); req.on('end', resolve); req.on('error', reject); });
|
|
5740
|
-
const { id, method, fields } = JSON.parse(body);
|
|
5741
|
-
if (!id || !/^[a-z][a-z0-9_-]*$/.test(id)) { res.writeHead(400); res.end(JSON.stringify({ error: 'invalid id' })); return; }
|
|
5742
|
-
if (method && !/^[a-z][a-z0-9_-]*$/.test(method)) { res.writeHead(400); res.end(JSON.stringify({ error: 'invalid method' })); return; }
|
|
5743
|
-
const { execFile } = await import('child_process');
|
|
5744
|
-
const args = ['connect', id];
|
|
5745
|
-
if (method) args.push('--method', method);
|
|
5746
|
-
if (fields && typeof fields === 'object') {
|
|
5747
|
-
for (const [k, v] of Object.entries(fields)) {
|
|
5748
|
-
// Only allow simple word keys — prevents --flag injection
|
|
5749
|
-
if (!/^[a-z][a-z0-9_]*$/.test(k)) continue;
|
|
5750
|
-
args.push(`--${k}`, String(v).slice(0, 2048));
|
|
5751
|
-
}
|
|
5752
|
-
}
|
|
5753
|
-
await new Promise((resolve, reject) => {
|
|
5754
|
-
execFile('monoes', args, { timeout: 30000 }, (err, stdout, stderr) => {
|
|
5755
|
-
const ok = !err;
|
|
5756
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5757
|
-
res.end(JSON.stringify({ ok, stdout: (stdout || '').trim(), stderr: (stderr || '').trim() }));
|
|
5758
|
-
resolve();
|
|
5759
|
-
});
|
|
5760
|
-
});
|
|
5761
|
-
} catch (e) { res.writeHead(500); res.end(JSON.stringify({ error: e.message })); }
|
|
5762
|
-
return;
|
|
5763
|
-
}
|
|
5764
|
-
|
|
5765
|
-
// ----------------------------------------------- POST /api/monoagent/test
|
|
5766
|
-
if (req.method === 'POST' && url === '/api/monoagent/test') {
|
|
5767
|
-
try {
|
|
5768
|
-
let body = '';
|
|
5769
|
-
await new Promise((resolve, reject) => { req.on('data', d => { body += d; if (body.length > 65536) { req.destroy(); reject(new Error('body too large')); } }); req.on('end', resolve); req.on('error', reject); });
|
|
5770
|
-
const { id } = JSON.parse(body);
|
|
5771
|
-
if (!id || !/^[a-z0-9][a-z0-9_:-]*$/.test(id)) { res.writeHead(400); res.end(JSON.stringify({ error: 'id required' })); return; }
|
|
5772
|
-
const { execFile } = await import('child_process');
|
|
5773
|
-
await new Promise((resolve, reject) => {
|
|
5774
|
-
execFile('monoes', ['connect', 'test', id], { timeout: 15000 }, (err, stdout, stderr) => {
|
|
5775
|
-
if (err) reject(new Error(stderr || err.message)); else resolve(stdout);
|
|
5776
|
-
});
|
|
5777
|
-
});
|
|
5778
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5779
|
-
res.end(JSON.stringify({ ok: true }));
|
|
5780
|
-
} catch (e) { res.writeHead(200); res.end(JSON.stringify({ ok: false, error: e.message })); }
|
|
5781
|
-
return;
|
|
5782
|
-
}
|
|
5783
|
-
|
|
5784
|
-
// ----------------------------------------------- POST /api/monoagent/disconnect
|
|
5785
|
-
if (req.method === 'POST' && url === '/api/monoagent/disconnect') {
|
|
5786
|
-
try {
|
|
5787
|
-
let body = '';
|
|
5788
|
-
await new Promise((resolve, reject) => { req.on('data', d => { body += d; if (body.length > 65536) { req.destroy(); reject(new Error('body too large')); } }); req.on('end', resolve); req.on('error', reject); });
|
|
5789
|
-
const { id, type } = JSON.parse(body);
|
|
5790
|
-
if (!id || !/^[a-z0-9][a-z0-9_:-]*$/.test(id)) { res.writeHead(400); res.end(JSON.stringify({ error: 'id required' })); return; }
|
|
5791
|
-
if (type !== 'session' && type !== 'connection') { res.writeHead(400); res.end(JSON.stringify({ error: 'invalid type' })); return; }
|
|
5792
|
-
const { execFile } = await import('child_process');
|
|
5793
|
-
const cmd = type === 'session' ? ['logout', id] : ['connect', 'remove', id];
|
|
5794
|
-
await new Promise((resolve, reject) => {
|
|
5795
|
-
execFile('monoes', cmd, { timeout: 10000 }, (err, _stdout, stderr) => {
|
|
5796
|
-
if (err) reject(new Error(stderr || err.message)); else resolve();
|
|
5797
|
-
});
|
|
5798
|
-
});
|
|
5799
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5800
|
-
res.end(JSON.stringify({ ok: true }));
|
|
5801
|
-
} catch (e) { res.writeHead(200); res.end(JSON.stringify({ ok: false, error: e.message })); }
|
|
5802
|
-
return;
|
|
5803
|
-
}
|
|
5804
|
-
|
|
5805
|
-
// ----------------------------------------------- GET /api/monoagent/data
|
|
5806
|
-
if (req.method === 'GET' && url === '/api/monoagent/data') {
|
|
5807
|
-
try {
|
|
5808
|
-
const { execFile } = await import('child_process');
|
|
5809
|
-
const run = (args) => new Promise(resolve => {
|
|
5810
|
-
execFile('monoagent', args, { timeout: 8000 }, (err, stdout) => resolve(err ? '[]' : stdout));
|
|
5811
|
-
});
|
|
5812
|
-
const [wfOut, actOut] = await Promise.all([
|
|
5813
|
-
run(['workflow', 'list', '--json']),
|
|
5814
|
-
run(['action', 'list', '--json']),
|
|
5815
|
-
]);
|
|
5816
|
-
const workflows = JSON.parse(wfOut.trim() || '[]');
|
|
5817
|
-
const actions = JSON.parse(actOut.trim() || '[]');
|
|
5818
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5819
|
-
res.end(JSON.stringify({ workflows, actions }));
|
|
5820
|
-
} catch (e) {
|
|
5821
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5822
|
-
res.end(JSON.stringify({ workflows: [], actions: [], error: e.message }));
|
|
5823
|
-
}
|
|
5824
|
-
return;
|
|
5825
|
-
}
|
|
5826
|
-
|
|
5827
5837
|
// ------------------------------------------------- GET /api/playbooks
|
|
5828
5838
|
// List playbook definitions from <dir>/.monomind/playbooks/*.json.
|
|
5829
5839
|
// (Previously only POST was registered, so GET /api/playbooks?dir=... fell
|
|
@@ -6193,7 +6203,7 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
6193
6203
|
const _migIndex = [];
|
|
6194
6204
|
for (const sess of (_migOld || [])) {
|
|
6195
6205
|
const _msid = String(sess.id || '').trim();
|
|
6196
|
-
if (!_msid ||
|
|
6206
|
+
if (!_msid || !SESSION_ID_RE.test(_msid)) continue;
|
|
6197
6207
|
// Write per-session JSONL
|
|
6198
6208
|
const _mEvts = (sess.events || []);
|
|
6199
6209
|
const _mLines = _mEvts.map(e => JSON.stringify(e)).join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,kDAAkD;AAClD,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC,CAA4B,EAAiB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI;IAClG,EAAE,EAAE,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE,KAAK,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;IAC3E,KAAK,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,EAAE,EAAE,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;QACpC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IACjF,CAAC;CACF,CAAC;AACF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,MAAM,OAAO,GAAG,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/update/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AASzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAC7E,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,uEAAuE;AACvE,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,sEAAsE;AACtE,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAErD,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,iEAAiE;YACjE,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,IAAI,GAAG,oBAAoB,EAAE,CAAC;gBACrC,6DAA6D;gBAC7D,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACzD,OAAO,eAAe,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,mDAAmD;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC/C,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW;oBAAE,OAAO,SAAS,CAAC;gBAC1F,OAAO,KAAK,CAAC;YACf,CAAC,CAAmB,CAAC;YAErB,2EAA2E;YAC3E,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChH,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;YAC7B,CAAC;YACD,6DAA6D;YAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,WAAW,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC;oBAC3D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC;YACjC,CAAC;YAED,2BAA2B;YAC3B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;gBACnB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,SAAS,EAAE,CAAC;IACZ,MAAM,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC;IAChC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,
|
|
1
|
+
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/update/rate-limiter.ts"],"names":[],"mappings":"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"}
|