@jungjaehoon/mama-os 0.20.1 → 0.22.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/CHANGELOG.md +31 -0
- package/README.md +12 -4
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +76 -11
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
- package/dist/agent/code-act/host-bridge.js +88 -3
- package/dist/agent/code-act/host-bridge.js.map +1 -1
- package/dist/agent/codex-mcp-process.d.ts +1 -0
- package/dist/agent/codex-mcp-process.d.ts.map +1 -1
- package/dist/agent/codex-mcp-process.js +3 -2
- package/dist/agent/codex-mcp-process.js.map +1 -1
- package/dist/agent/gateway-tool-executor.d.ts +24 -11
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
- package/dist/agent/gateway-tool-executor.js +349 -30
- package/dist/agent/gateway-tool-executor.js.map +1 -1
- package/dist/agent/gateway-tools.md +7 -2
- package/dist/agent/model-runner.d.ts +8 -0
- package/dist/agent/model-runner.d.ts.map +1 -1
- package/dist/agent/model-runner.js.map +1 -1
- package/dist/agent/os-agent-capabilities.md +13 -12
- package/dist/agent/persistent-cli-adapter.d.ts +6 -0
- package/dist/agent/persistent-cli-adapter.d.ts.map +1 -1
- package/dist/agent/persistent-cli-adapter.js +21 -10
- package/dist/agent/persistent-cli-adapter.js.map +1 -1
- package/dist/agent/tool-registry.d.ts.map +1 -1
- package/dist/agent/tool-registry.js +33 -2
- package/dist/agent/tool-registry.js.map +1 -1
- package/dist/agent/types.d.ts +30 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/graph-api.d.ts.map +1 -1
- package/dist/api/graph-api.js +78 -5
- package/dist/api/graph-api.js.map +1 -1
- package/dist/api/index.d.ts +8 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +18 -12
- package/dist/api/index.js.map +1 -1
- package/dist/api/operator-handler.d.ts +19 -0
- package/dist/api/operator-handler.d.ts.map +1 -0
- package/dist/api/operator-handler.js +106 -0
- package/dist/api/operator-handler.js.map +1 -0
- package/dist/api/operator-summary.d.ts +3 -0
- package/dist/api/operator-summary.d.ts.map +1 -0
- package/dist/api/operator-summary.js +72 -0
- package/dist/api/operator-summary.js.map +1 -0
- package/dist/api/operator-tasks-handler.d.ts +7 -0
- package/dist/api/operator-tasks-handler.d.ts.map +1 -0
- package/dist/api/operator-tasks-handler.js +165 -0
- package/dist/api/operator-tasks-handler.js.map +1 -0
- package/dist/api/report-handler.d.ts +7 -0
- package/dist/api/report-handler.d.ts.map +1 -1
- package/dist/api/report-handler.js +30 -0
- package/dist/api/report-handler.js.map +1 -1
- package/dist/api/report-persistence.d.ts +17 -0
- package/dist/api/report-persistence.d.ts.map +1 -0
- package/dist/api/report-persistence.js +91 -0
- package/dist/api/report-persistence.js.map +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +402 -250
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/config/config-manager.d.ts.map +1 -1
- package/dist/cli/config/config-manager.js +93 -55
- package/dist/cli/config/config-manager.js.map +1 -1
- package/dist/cli/config/types.d.ts +17 -2
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js +4 -0
- package/dist/cli/config/types.js.map +1 -1
- package/dist/cli/runtime/agent-loop-init.d.ts +3 -1
- package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
- package/dist/cli/runtime/agent-loop-init.js +16 -7
- package/dist/cli/runtime/agent-loop-init.js.map +1 -1
- package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-routes-init.js +503 -259
- package/dist/cli/runtime/api-routes-init.js.map +1 -1
- package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-server-init.js +12 -7
- package/dist/cli/runtime/api-server-init.js.map +1 -1
- package/dist/cli/runtime/connector-init.d.ts +19 -1
- package/dist/cli/runtime/connector-init.d.ts.map +1 -1
- package/dist/cli/runtime/connector-init.js +32 -2
- package/dist/cli/runtime/connector-init.js.map +1 -1
- package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
- package/dist/cli/runtime/gateway-init.js +3 -1
- package/dist/cli/runtime/gateway-init.js.map +1 -1
- package/dist/cli/runtime/memory-agent-init.d.ts +2 -1
- package/dist/cli/runtime/memory-agent-init.d.ts.map +1 -1
- package/dist/cli/runtime/memory-agent-init.js +15 -3
- package/dist/cli/runtime/memory-agent-init.js.map +1 -1
- package/dist/cli/runtime/message-router-config.d.ts +4 -0
- package/dist/cli/runtime/message-router-config.d.ts.map +1 -0
- package/dist/cli/runtime/message-router-config.js +11 -0
- package/dist/cli/runtime/message-router-config.js.map +1 -0
- package/dist/cli/runtime/scheduler-init.d.ts.map +1 -1
- package/dist/cli/runtime/scheduler-init.js +12 -12
- package/dist/cli/runtime/scheduler-init.js.map +1 -1
- package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
- package/dist/connectors/framework/polling-scheduler.js +53 -2
- package/dist/connectors/framework/polling-scheduler.js.map +1 -1
- package/dist/connectors/framework/types.d.ts +8 -0
- package/dist/connectors/framework/types.d.ts.map +1 -1
- package/dist/connectors/kagemusha/query-tools.d.ts.map +1 -1
- package/dist/connectors/kagemusha/query-tools.js +14 -3
- package/dist/connectors/kagemusha/query-tools.js.map +1 -1
- package/dist/connectors/slack/index.d.ts.map +1 -1
- package/dist/connectors/slack/index.js +3 -1
- package/dist/connectors/slack/index.js.map +1 -1
- package/dist/connectors/trello/index.d.ts.map +1 -1
- package/dist/connectors/trello/index.js +6 -2
- package/dist/connectors/trello/index.js.map +1 -1
- package/dist/db/agent-store.d.ts +5 -0
- package/dist/db/agent-store.d.ts.map +1 -1
- package/dist/db/agent-store.js +6 -3
- package/dist/db/agent-store.js.map +1 -1
- package/dist/db/migrations/agent-activity-tool-name.d.ts +8 -0
- package/dist/db/migrations/agent-activity-tool-name.d.ts.map +1 -0
- package/dist/db/migrations/agent-activity-tool-name.js +24 -0
- package/dist/db/migrations/agent-activity-tool-name.js.map +1 -0
- package/dist/db/migrations/wiki-artifacts.d.ts +3 -0
- package/dist/db/migrations/wiki-artifacts.d.ts.map +1 -0
- package/dist/db/migrations/wiki-artifacts.js +24 -0
- package/dist/db/migrations/wiki-artifacts.js.map +1 -0
- package/dist/envelope/run-guard.d.ts +10 -0
- package/dist/envelope/run-guard.d.ts.map +1 -0
- package/dist/envelope/run-guard.js +19 -0
- package/dist/envelope/run-guard.js.map +1 -0
- package/dist/gateways/message-router.d.ts.map +1 -1
- package/dist/gateways/message-router.js +15 -3
- package/dist/gateways/message-router.js.map +1 -1
- package/dist/gateways/types.d.ts +4 -0
- package/dist/gateways/types.d.ts.map +1 -1
- package/dist/multi-agent/agent-event-bus.d.ts +14 -0
- package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
- package/dist/multi-agent/agent-event-bus.js +34 -0
- package/dist/multi-agent/agent-event-bus.js.map +1 -1
- package/dist/multi-agent/conductor-persona.js +2 -2
- package/dist/multi-agent/dashboard-agent-persona.d.ts +6 -2
- package/dist/multi-agent/dashboard-agent-persona.d.ts.map +1 -1
- package/dist/multi-agent/dashboard-agent-persona.js +65 -32
- package/dist/multi-agent/dashboard-agent-persona.js.map +1 -1
- package/dist/multi-agent/memory-agent-persona.d.ts +1 -1
- package/dist/multi-agent/memory-agent-persona.d.ts.map +1 -1
- package/dist/multi-agent/memory-agent-persona.js +25 -4
- package/dist/multi-agent/memory-agent-persona.js.map +1 -1
- package/dist/multi-agent/runtime-process.d.ts +4 -2
- package/dist/multi-agent/runtime-process.d.ts.map +1 -1
- package/dist/multi-agent/runtime-process.js +7 -4
- package/dist/multi-agent/runtime-process.js.map +1 -1
- package/dist/multi-agent/types.d.ts +1 -1
- package/dist/multi-agent/wiki-agent-persona.d.ts +7 -1
- package/dist/multi-agent/wiki-agent-persona.d.ts.map +1 -1
- package/dist/multi-agent/wiki-agent-persona.js +82 -68
- package/dist/multi-agent/wiki-agent-persona.js.map +1 -1
- package/dist/operator/action-verifier.d.ts +50 -0
- package/dist/operator/action-verifier.d.ts.map +1 -0
- package/dist/operator/action-verifier.js +68 -0
- package/dist/operator/action-verifier.js.map +1 -0
- package/dist/operator/board-reconcile.d.ts +62 -0
- package/dist/operator/board-reconcile.d.ts.map +1 -0
- package/dist/operator/board-reconcile.js +160 -0
- package/dist/operator/board-reconcile.js.map +1 -0
- package/dist/operator/board-slot-instructions.d.ts +26 -0
- package/dist/operator/board-slot-instructions.d.ts.map +1 -0
- package/dist/operator/board-slot-instructions.js +76 -0
- package/dist/operator/board-slot-instructions.js.map +1 -0
- package/dist/operator/connector-delta-repo.d.ts +33 -0
- package/dist/operator/connector-delta-repo.d.ts.map +1 -0
- package/dist/operator/connector-delta-repo.js +0 -0
- package/dist/operator/connector-delta-repo.js.map +1 -0
- package/dist/operator/mama-memory-port.d.ts +13 -0
- package/dist/operator/mama-memory-port.d.ts.map +1 -0
- package/dist/operator/mama-memory-port.js +35 -0
- package/dist/operator/mama-memory-port.js.map +1 -0
- package/dist/operator/operator-interfaces.d.ts +136 -0
- package/dist/operator/operator-interfaces.d.ts.map +1 -0
- package/dist/operator/operator-interfaces.js +15 -0
- package/dist/operator/operator-interfaces.js.map +1 -0
- package/dist/operator/operator-trigger-loop.d.ts +119 -0
- package/dist/operator/operator-trigger-loop.d.ts.map +1 -0
- package/dist/operator/operator-trigger-loop.js +267 -0
- package/dist/operator/operator-trigger-loop.js.map +1 -0
- package/dist/operator/report-run.d.ts +78 -0
- package/dist/operator/report-run.d.ts.map +1 -0
- package/dist/operator/report-run.js +141 -0
- package/dist/operator/report-run.js.map +1 -0
- package/dist/operator/report-scheduler.d.ts +66 -0
- package/dist/operator/report-scheduler.d.ts.map +1 -0
- package/dist/operator/report-scheduler.js +135 -0
- package/dist/operator/report-scheduler.js.map +1 -0
- package/dist/operator/situation-report.d.ts +90 -0
- package/dist/operator/situation-report.d.ts.map +1 -0
- package/dist/operator/situation-report.js +221 -0
- package/dist/operator/situation-report.js.map +1 -0
- package/dist/operator/task-ledger.d.ts +96 -0
- package/dist/operator/task-ledger.d.ts.map +1 -0
- package/dist/operator/task-ledger.js +277 -0
- package/dist/operator/task-ledger.js.map +1 -0
- package/dist/operator/trigger-author.d.ts +45 -0
- package/dist/operator/trigger-author.d.ts.map +1 -0
- package/dist/operator/trigger-author.js +217 -0
- package/dist/operator/trigger-author.js.map +1 -0
- package/dist/operator/trigger-evolve.d.ts +31 -0
- package/dist/operator/trigger-evolve.d.ts.map +1 -0
- package/dist/operator/trigger-evolve.js +51 -0
- package/dist/operator/trigger-evolve.js.map +1 -0
- package/dist/operator/trigger-fire.d.ts +29 -0
- package/dist/operator/trigger-fire.d.ts.map +1 -0
- package/dist/operator/trigger-fire.js +41 -0
- package/dist/operator/trigger-fire.js.map +1 -0
- package/dist/operator/trigger-matcher.d.ts +19 -0
- package/dist/operator/trigger-matcher.d.ts.map +1 -0
- package/dist/operator/trigger-matcher.js +61 -0
- package/dist/operator/trigger-matcher.js.map +1 -0
- package/dist/operator/trigger-registry.d.ts +36 -0
- package/dist/operator/trigger-registry.d.ts.map +1 -0
- package/dist/operator/trigger-registry.js +135 -0
- package/dist/operator/trigger-registry.js.map +1 -0
- package/dist/operator/trigger-review.d.ts +23 -0
- package/dist/operator/trigger-review.d.ts.map +1 -0
- package/dist/operator/trigger-review.js +127 -0
- package/dist/operator/trigger-review.js.map +1 -0
- package/dist/operator/trigger-types.d.ts +84 -0
- package/dist/operator/trigger-types.d.ts.map +1 -0
- package/dist/operator/trigger-types.js +14 -0
- package/dist/operator/trigger-types.js.map +1 -0
- package/dist/scheduler/cron-worker.d.ts.map +1 -1
- package/dist/scheduler/cron-worker.js +3 -1
- package/dist/scheduler/cron-worker.js.map +1 -1
- package/dist/security/security-monitor.d.ts.map +1 -1
- package/dist/security/security-monitor.js +1 -0
- package/dist/security/security-monitor.js.map +1 -1
- package/dist/wiki/obsidian-writer.d.ts +1 -1
- package/dist/wiki/obsidian-writer.d.ts.map +1 -1
- package/dist/wiki/obsidian-writer.js +67 -27
- package/dist/wiki/obsidian-writer.js.map +1 -1
- package/dist/wiki/path-safety.d.ts +2 -0
- package/dist/wiki/path-safety.d.ts.map +1 -0
- package/dist/wiki/path-safety.js +40 -0
- package/dist/wiki/path-safety.js.map +1 -0
- package/dist/wiki/types.d.ts +4 -2
- package/dist/wiki/types.d.ts.map +1 -1
- package/dist/wiki/types.js +1 -1
- package/dist/wiki/types.js.map +1 -1
- package/dist/wiki-artifacts/normalization.d.ts +8 -0
- package/dist/wiki-artifacts/normalization.d.ts.map +1 -0
- package/dist/wiki-artifacts/normalization.js +41 -0
- package/dist/wiki-artifacts/normalization.js.map +1 -0
- package/dist/wiki-artifacts/types.d.ts +52 -0
- package/dist/wiki-artifacts/types.d.ts.map +1 -0
- package/dist/wiki-artifacts/types.js +3 -0
- package/dist/wiki-artifacts/types.js.map +1 -0
- package/dist/wiki-artifacts/wiki-publish-adapter.d.ts +14 -0
- package/dist/wiki-artifacts/wiki-publish-adapter.d.ts.map +1 -0
- package/dist/wiki-artifacts/wiki-publish-adapter.js +71 -0
- package/dist/wiki-artifacts/wiki-publish-adapter.js.map +1 -0
- package/package.json +5 -3
- package/public/ui/assets/index-CKOJQYXA.css +1 -0
- package/public/ui/assets/index-OSgiwL24.js +62 -0
- package/public/ui/index.html +14 -0
- package/public/ui/theme-init.js +20 -0
- package/public/viewer/js/utils/api.js +2 -2
- package/public/viewer/src/utils/api.ts +9 -2
- package/public/viewer/sw.js +1 -1
- package/public/viewer/viewer.html +17 -27
package/dist/api/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { type HeartbeatTracker } from './heartbeat-handler.js';
|
|
|
12
12
|
import { CronScheduler } from '../scheduler/index.js';
|
|
13
13
|
import { SkillRegistry } from '../skills/skill-registry.js';
|
|
14
14
|
import type { SystemHealthReport } from '../observability/health-check.js';
|
|
15
|
+
import { type ReportStore } from './report-handler.js';
|
|
15
16
|
import { type AgentRawRouterOptions } from './agent-raw-handler.js';
|
|
16
17
|
import { type AgentSituationRouterOptions } from './agent-situation-handler.js';
|
|
17
18
|
import { type AgentContextRouterOptions } from './agent-context-handler.js';
|
|
@@ -43,9 +44,15 @@ export interface ApiServerOptions {
|
|
|
43
44
|
}>;
|
|
44
45
|
/** Enable automatic process killing on port conflicts (default: false) */
|
|
45
46
|
enableAutoKillPort?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Report slot store (default: in-memory). The daemon runtime injects the
|
|
49
|
+
* persistent store; the in-memory default keeps every test call site free
|
|
50
|
+
* of real ~/.mama file writes.
|
|
51
|
+
*/
|
|
52
|
+
reportStore?: ReportStore;
|
|
46
53
|
/** Sessions database instance (for token tracking) */
|
|
47
54
|
db?: SQLiteDatabase;
|
|
48
|
-
/** Memory database instance (for intelligence queries
|
|
55
|
+
/** Memory database instance (for intelligence queries -- mama-memory.db) */
|
|
49
56
|
memoryDb?: SQLiteDatabase;
|
|
50
57
|
/** Transaction-capable mama-core adapter for worker situation packets */
|
|
51
58
|
memoryAdapter?: AgentSituationRouterOptions['memoryAdapter'] & AgentGraphRouterOptions['memoryAdapter'] & AgentContextRouterOptions['memoryAdapter'];
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAgB,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAgB,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAsC,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAgB,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAgB,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAsC,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAM9F,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAOhG,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,SAAS,EAAE,aAAa,CAAC;IACzB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sDAAsD;IACtD,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yEAAyE;IACzE,aAAa,CAAC,EAAE,2BAA2B,CAAC,eAAe,CAAC,GAC1D,uBAAuB,CAAC,eAAe,CAAC,GACxC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC7C,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mDAAmD;IACnD,aAAa,CAAC,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACxD,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE;QACnB,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACtC,CAAC;IACF,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,sCAAsC,EAAE,QAAQ,CAAC;IACnE,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,EAAE;QACT,gBAAgB,CACd,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChF,CAAC;IACF,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,0BAA0B,EAAE,iBAAiB,CAAC;IACzE,qFAAqF;IACrF,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAC9D,+CAA+C;IAC/C,YAAY,CAAC,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAClD,yEAAyE;IACzE,qBAAqB,CAAC,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;CAC5E;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,2BAA2B;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,2BAA2B;IAC3B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,yBAAyB;IACzB,WAAW,EAAE,OAAO,qBAAqB,EAAE,WAAW,CAAC;IACvD,qCAAqC;IACrC,gBAAgB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAycpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAiBA"}
|
package/dist/api/index.js
CHANGED
|
@@ -37,6 +37,7 @@ const error_handler_js_1 = require("./error-handler.js");
|
|
|
37
37
|
const auth_middleware_js_1 = require("./auth-middleware.js");
|
|
38
38
|
const security_monitor_js_1 = require("../security/security-monitor.js");
|
|
39
39
|
const report_handler_js_1 = require("./report-handler.js");
|
|
40
|
+
const operator_handler_js_1 = require("./operator-handler.js");
|
|
40
41
|
const wiki_handler_js_1 = require("./wiki-handler.js");
|
|
41
42
|
const intelligence_handler_js_1 = require("./intelligence-handler.js");
|
|
42
43
|
const connector_feed_handler_js_1 = require("./connector-feed-handler.js");
|
|
@@ -92,7 +93,7 @@ function createApiServer(options) {
|
|
|
92
93
|
const origin = req.headers.origin;
|
|
93
94
|
if (origin && /^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?$/.test(origin)) {
|
|
94
95
|
res.setHeader('Access-Control-Allow-Origin', origin);
|
|
95
|
-
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
|
|
96
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
|
|
96
97
|
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, x-mama-envelope-hash, x-mama-model-run-id');
|
|
97
98
|
}
|
|
98
99
|
if (req.method === 'OPTIONS') {
|
|
@@ -123,8 +124,16 @@ function createApiServer(options) {
|
|
|
123
124
|
tracker: heartbeatTracker,
|
|
124
125
|
onHeartbeat,
|
|
125
126
|
});
|
|
127
|
+
const reportSseClients = new Set();
|
|
128
|
+
const reportStore = options.reportStore ?? (0, report_handler_js_1.createReportStore)();
|
|
126
129
|
app.use('/api/cron', cronRouter);
|
|
127
130
|
app.use('/api/heartbeat', heartbeatRouter);
|
|
131
|
+
// Lazy-opening router: touches ~/.mama/operator/triggers.db only on first
|
|
132
|
+
// /api/operator request, so createApiServer stays side-effect-free for tests.
|
|
133
|
+
app.use('/api/operator', (0, operator_handler_js_1.createOperatorRouter)({
|
|
134
|
+
dbPath: (0, node_path_1.join)((0, node_os_1.homedir)(), '.mama', 'operator', 'triggers.db'),
|
|
135
|
+
reportStore,
|
|
136
|
+
}));
|
|
128
137
|
if (memoryDb) {
|
|
129
138
|
app.use('/api/agent/raw', (0, agent_raw_handler_js_1.createAgentRawRouter)({
|
|
130
139
|
memoryDb,
|
|
@@ -149,9 +158,6 @@ function createApiServer(options) {
|
|
|
149
158
|
envelopeAuthority,
|
|
150
159
|
}));
|
|
151
160
|
}
|
|
152
|
-
// Mount report store (created early so intelligence router can reference it)
|
|
153
|
-
const reportSseClients = new Set();
|
|
154
|
-
const reportStore = (0, report_handler_js_1.createReportStore)();
|
|
155
161
|
// Mount token router if database is available
|
|
156
162
|
if (db) {
|
|
157
163
|
(0, token_handler_js_1.initTokenUsageTable)(db);
|
|
@@ -181,7 +187,7 @@ function createApiServer(options) {
|
|
|
181
187
|
const wikiRouter = (0, wiki_handler_js_1.createWikiRouter)(wikiPath);
|
|
182
188
|
app.use('/api/wiki', wikiRouter);
|
|
183
189
|
}
|
|
184
|
-
// Connector status endpoint
|
|
190
|
+
// Connector status endpoint -- reads connectors.json + runtime state
|
|
185
191
|
app.get('/api/connectors/status', auth_middleware_js_1.requireAuth, (_req, res) => {
|
|
186
192
|
const configPath = (0, node_path_1.join)((0, node_os_1.homedir)(), '.mama', 'connectors.json');
|
|
187
193
|
let config = {};
|
|
@@ -306,7 +312,7 @@ function createApiServer(options) {
|
|
|
306
312
|
cleanup();
|
|
307
313
|
reject(err);
|
|
308
314
|
});
|
|
309
|
-
// exclusive: false
|
|
315
|
+
// exclusive: false -> SO_REUSEADDR, allows binding over TIME_WAIT sockets
|
|
310
316
|
candidate.listen({ port: attemptPort, host, exclusive: false }, () => {
|
|
311
317
|
if (settled)
|
|
312
318
|
return;
|
|
@@ -317,7 +323,7 @@ function createApiServer(options) {
|
|
|
317
323
|
actualPort = addr.port;
|
|
318
324
|
console.log(`API server listening on http://${host}:${actualPort}`);
|
|
319
325
|
if (host === '0.0.0.0') {
|
|
320
|
-
console.warn('
|
|
326
|
+
console.warn('WARNING: API server exposed to all interfaces!');
|
|
321
327
|
console.warn(' Set MAMA_API_HOST=127.0.0.1 for local-only access');
|
|
322
328
|
}
|
|
323
329
|
resolve();
|
|
@@ -351,7 +357,7 @@ function createApiServer(options) {
|
|
|
351
357
|
console.warn(`Port ${attemptPort} in use (attempt ${attempt + 1}/${MAX_RETRIES + 1}), retrying in ${RETRY_DELAY_MS}ms...`);
|
|
352
358
|
if (attempt === 0) {
|
|
353
359
|
// First retry: show what's using the port
|
|
354
|
-
console.error(`\
|
|
360
|
+
console.error(`\nPort ${attemptPort} is already in use.\n\n` +
|
|
355
361
|
`Options:\n` +
|
|
356
362
|
`1. Stop the process using port ${attemptPort}\n` +
|
|
357
363
|
`2. Use a different port: MAMA_API_PORT=<port> mama start\n` +
|
|
@@ -378,17 +384,17 @@ function createApiServer(options) {
|
|
|
378
384
|
if (!Number.isInteger(attemptPort)) {
|
|
379
385
|
throw new Error(`Invalid port number: ${attemptPort}`);
|
|
380
386
|
}
|
|
381
|
-
console.warn(
|
|
387
|
+
console.warn(`AUTO-KILL ENABLED: Attempting to kill process on port ${attemptPort}`);
|
|
382
388
|
try {
|
|
383
389
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
384
390
|
const { execSync } = require('child_process');
|
|
385
391
|
execSync(`kill -9 $(lsof -ti:${attemptPort})`, { timeout: 3000 });
|
|
386
|
-
console.log(
|
|
392
|
+
console.log(`Process on port ${attemptPort} killed successfully`);
|
|
387
393
|
// Continue with current attempt instead of waiting
|
|
388
394
|
continue;
|
|
389
395
|
}
|
|
390
396
|
catch (killError) {
|
|
391
|
-
console.error(
|
|
397
|
+
console.error(`Failed to kill process on port ${attemptPort}:`, killError);
|
|
392
398
|
// Fall through to normal retry logic
|
|
393
399
|
}
|
|
394
400
|
}
|
|
@@ -403,7 +409,7 @@ function createApiServer(options) {
|
|
|
403
409
|
throw new Error(`Failed to find an available port after trying ${MAX_PORT_FALLBACK} fallback ports from ${port}.`);
|
|
404
410
|
}
|
|
405
411
|
const fallbackPort = attemptPort + 1;
|
|
406
|
-
console.log(`\
|
|
412
|
+
console.log(`\nPort ${attemptPort} unavailable after ${MAX_RETRIES + 1} attempts. ` +
|
|
407
413
|
`Trying fallback port ${fallbackPort}... (${fallbackCount}/${MAX_PORT_FALLBACK})`);
|
|
408
414
|
attemptPort = fallbackPort;
|
|
409
415
|
actualPort = fallbackPort;
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* /api/operator -- read-mostly operator surface for the /ui board.
|
|
3
|
+
*
|
|
4
|
+
* Reads the trigger loop's own store (~/.mama/operator/triggers.db by default)
|
|
5
|
+
* through a second in-process connection. triggers.db uses the default rollback
|
|
6
|
+
* journal (TriggerRegistry sets no WAL pragma), so this connection sets an
|
|
7
|
+
* explicit busy_timeout: reads and the rare owner disable() retry instead of
|
|
8
|
+
* throwing SQLITE_BUSY when the loop holds the file.
|
|
9
|
+
*
|
|
10
|
+
* The dbPath is injection-only: tests pass a temp path; the production path is
|
|
11
|
+
* resolved solely at the mount site in api/index.ts (never inside this module).
|
|
12
|
+
*/
|
|
13
|
+
import { Router } from 'express';
|
|
14
|
+
import type { ReportStore } from './report-handler.js';
|
|
15
|
+
export declare function createOperatorRouter(opts: {
|
|
16
|
+
dbPath: string;
|
|
17
|
+
reportStore: ReportStore;
|
|
18
|
+
}): Router;
|
|
19
|
+
//# sourceMappingURL=operator-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-handler.d.ts","sourceRoot":"","sources":["../../src/api/operator-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAOjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAwBvD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAAG,MAAM,CA+D/F"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* /api/operator -- read-mostly operator surface for the /ui board.
|
|
4
|
+
*
|
|
5
|
+
* Reads the trigger loop's own store (~/.mama/operator/triggers.db by default)
|
|
6
|
+
* through a second in-process connection. triggers.db uses the default rollback
|
|
7
|
+
* journal (TriggerRegistry sets no WAL pragma), so this connection sets an
|
|
8
|
+
* explicit busy_timeout: reads and the rare owner disable() retry instead of
|
|
9
|
+
* throwing SQLITE_BUSY when the loop holds the file.
|
|
10
|
+
*
|
|
11
|
+
* The dbPath is injection-only: tests pass a temp path; the production path is
|
|
12
|
+
* resolved solely at the mount site in api/index.ts (never inside this module).
|
|
13
|
+
*/
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.createOperatorRouter = createOperatorRouter;
|
|
19
|
+
const express_1 = require("express");
|
|
20
|
+
const node_fs_1 = require("node:fs");
|
|
21
|
+
const node_path_1 = require("node:path");
|
|
22
|
+
const sqlite_js_1 = __importDefault(require("../sqlite.js"));
|
|
23
|
+
const task_ledger_js_1 = require("../operator/task-ledger.js");
|
|
24
|
+
const trigger_registry_js_1 = require("../operator/trigger-registry.js");
|
|
25
|
+
const operator_summary_js_1 = require("./operator-summary.js");
|
|
26
|
+
/** TriggerRecord nests counters (stats.*) -- flatten explicitly, never spread. */
|
|
27
|
+
function toWire(t) {
|
|
28
|
+
return {
|
|
29
|
+
id: t.id,
|
|
30
|
+
kind: t.kind,
|
|
31
|
+
memoryQuery: t.memoryQuery,
|
|
32
|
+
match: t.match,
|
|
33
|
+
procedure: t.procedure,
|
|
34
|
+
requiredEvidence: t.requiredEvidence,
|
|
35
|
+
status: t.status,
|
|
36
|
+
authoredBy: t.authoredBy,
|
|
37
|
+
createdAt: t.createdAt,
|
|
38
|
+
updatedAt: t.updatedAt,
|
|
39
|
+
provenance: t.provenance,
|
|
40
|
+
fired: t.stats.fired,
|
|
41
|
+
succeeded: t.stats.succeeded,
|
|
42
|
+
failed: t.stats.failed,
|
|
43
|
+
disabledReason: t.disabledReason ?? null,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function createOperatorRouter(opts) {
|
|
47
|
+
// Lazy open on first request: createApiServer mounts this router in ~30
|
|
48
|
+
// existing tests that never call /api/operator -- an eager open would touch
|
|
49
|
+
// the real ~/.mama path from every one of them (the PR #126 pollution class)
|
|
50
|
+
// and crash on fresh installs where the parent directory does not exist yet.
|
|
51
|
+
let lazyState = null;
|
|
52
|
+
const getLazyState = () => {
|
|
53
|
+
if (!lazyState) {
|
|
54
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(opts.dbPath), { recursive: true });
|
|
55
|
+
const db = new sqlite_js_1.default(opts.dbPath);
|
|
56
|
+
db.prepare('PRAGMA busy_timeout = 5000').get();
|
|
57
|
+
lazyState = {
|
|
58
|
+
registry: new trigger_registry_js_1.TriggerRegistry(db),
|
|
59
|
+
taskLedger: new task_ledger_js_1.TaskLedger(db),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return lazyState;
|
|
63
|
+
};
|
|
64
|
+
const getRegistry = () => getLazyState().registry;
|
|
65
|
+
const getTaskLedger = () => getLazyState().taskLedger;
|
|
66
|
+
const router = (0, express_1.Router)();
|
|
67
|
+
router.get('/summary', (_req, res) => {
|
|
68
|
+
const all = getRegistry().listAll();
|
|
69
|
+
const active = all.filter((t) => t.status === 'active');
|
|
70
|
+
const disabled = all.filter((t) => t.status === 'disabled');
|
|
71
|
+
res.json({
|
|
72
|
+
report: {
|
|
73
|
+
actionRequired: (0, operator_summary_js_1.countActionRequiredCards)(opts.reportStore.get('action_required')?.html),
|
|
74
|
+
},
|
|
75
|
+
tasks: {
|
|
76
|
+
unconfirmed: getTaskLedger().countOpenUnconfirmed(),
|
|
77
|
+
},
|
|
78
|
+
triggers: {
|
|
79
|
+
active: active.length,
|
|
80
|
+
disabled: disabled.length,
|
|
81
|
+
fired: all.reduce((n, t) => n + t.stats.fired, 0),
|
|
82
|
+
succeeded: all.reduce((n, t) => n + t.stats.succeeded, 0),
|
|
83
|
+
failed: all.reduce((n, t) => n + t.stats.failed, 0),
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
router.get('/triggers', (_req, res) => {
|
|
88
|
+
res.json({ triggers: getRegistry().listAll().map(toWire) });
|
|
89
|
+
});
|
|
90
|
+
router.post('/triggers/:id/disable', (req, res) => {
|
|
91
|
+
const reason = req.body?.reason?.trim();
|
|
92
|
+
if (!reason) {
|
|
93
|
+
return res.status(400).json({ error: 'reason required' });
|
|
94
|
+
}
|
|
95
|
+
const id = req.params.id;
|
|
96
|
+
if (!getRegistry().getById(id)) {
|
|
97
|
+
return res.status(404).json({ error: 'trigger not found' });
|
|
98
|
+
}
|
|
99
|
+
const trigger = getRegistry().disable(id, reason);
|
|
100
|
+
// Owner veto is loud by design (observability over restriction).
|
|
101
|
+
console.log(`[operator-api] trigger ${id} disabled by owner: ${reason}`);
|
|
102
|
+
return res.json({ ok: true, trigger: toWire(trigger) });
|
|
103
|
+
});
|
|
104
|
+
return router;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=operator-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-handler.js","sourceRoot":"","sources":["../../src/api/operator-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-summary.d.ts","sourceRoot":"","sources":["../../src/api/operator-summary.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqE1F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEzE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.countElementsWithClass = countElementsWithClass;
|
|
4
|
+
exports.countActionRequiredCards = countActionRequiredCards;
|
|
5
|
+
function countElementsWithClass(html, className) {
|
|
6
|
+
if (!html || !className) {
|
|
7
|
+
return 0;
|
|
8
|
+
}
|
|
9
|
+
const uncommentedHtml = html.replace(/<!--[\s\S]*?(?:-->|$)/g, '');
|
|
10
|
+
const elementPattern = /<[A-Za-z][A-Za-z0-9:-]*\b(?:[^>"']|"[^"]*"|'[^']*')*>/g;
|
|
11
|
+
let count = 0;
|
|
12
|
+
for (const match of uncommentedHtml.matchAll(elementPattern)) {
|
|
13
|
+
const openingTag = match[0];
|
|
14
|
+
const tagName = /^<[A-Za-z][A-Za-z0-9:-]*/.exec(openingTag);
|
|
15
|
+
if (!tagName) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
let index = tagName[0].length;
|
|
19
|
+
while (index < openingTag.length) {
|
|
20
|
+
while (/\s/.test(openingTag[index] ?? '')) {
|
|
21
|
+
index += 1;
|
|
22
|
+
}
|
|
23
|
+
if (openingTag[index] === '>' || openingTag[index] === '/') {
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
const nameStart = index;
|
|
27
|
+
while (index < openingTag.length && !/[\s=/>]/.test(openingTag[index] ?? '')) {
|
|
28
|
+
index += 1;
|
|
29
|
+
}
|
|
30
|
+
if (index === nameStart) {
|
|
31
|
+
index += 1;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const attributeName = openingTag.slice(nameStart, index).toLowerCase();
|
|
35
|
+
while (/\s/.test(openingTag[index] ?? '')) {
|
|
36
|
+
index += 1;
|
|
37
|
+
}
|
|
38
|
+
if (openingTag[index] !== '=') {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
index += 1;
|
|
42
|
+
while (/\s/.test(openingTag[index] ?? '')) {
|
|
43
|
+
index += 1;
|
|
44
|
+
}
|
|
45
|
+
const quote = openingTag[index];
|
|
46
|
+
if (quote !== '"' && quote !== "'") {
|
|
47
|
+
while (index < openingTag.length && !/[\s>]/.test(openingTag[index] ?? '')) {
|
|
48
|
+
index += 1;
|
|
49
|
+
}
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const valueStart = index + 1;
|
|
53
|
+
const valueEnd = openingTag.indexOf(quote, valueStart);
|
|
54
|
+
if (valueEnd === -1) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
if (attributeName === 'class') {
|
|
58
|
+
const classTokens = openingTag.slice(valueStart, valueEnd).split(/\s+/).filter(Boolean);
|
|
59
|
+
if (classTokens.includes(className)) {
|
|
60
|
+
count += 1;
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
index = valueEnd + 1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return count;
|
|
68
|
+
}
|
|
69
|
+
function countActionRequiredCards(html) {
|
|
70
|
+
return countElementsWithClass(html, 'report-card');
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=operator-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-summary.js","sourceRoot":"","sources":["../../src/api/operator-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Express } from 'express';
|
|
2
|
+
import { type TaskLedger } from '../operator/task-ledger.js';
|
|
3
|
+
export interface OperatorTaskRouteDeps {
|
|
4
|
+
getTaskLedger: () => TaskLedger | null;
|
|
5
|
+
}
|
|
6
|
+
export declare function registerOperatorTaskRoutes(app: Express, deps: OperatorTaskRouteDeps): void;
|
|
7
|
+
//# sourceMappingURL=operator-tasks-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-tasks-handler.d.ts","sourceRoot":"","sources":["../../src/api/operator-tasks-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAE1D,OAAO,EAGL,KAAK,UAAU,EAKhB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;CACxC;AAoHD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAsD1F"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerOperatorTaskRoutes = registerOperatorTaskRoutes;
|
|
4
|
+
const auth_middleware_js_1 = require("./auth-middleware.js");
|
|
5
|
+
const task_ledger_js_1 = require("../operator/task-ledger.js");
|
|
6
|
+
const ALLOWED_PATCH_FIELDS = new Set(['status', 'priority', 'assignee', 'due_date', 'confirmed']);
|
|
7
|
+
const ISO_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
|
|
8
|
+
function serializeTask(task) {
|
|
9
|
+
return {
|
|
10
|
+
id: task.id,
|
|
11
|
+
title: task.title,
|
|
12
|
+
status: task.status,
|
|
13
|
+
priority: task.priority,
|
|
14
|
+
assignee: task.assignee,
|
|
15
|
+
due_date: task.deadlineIso,
|
|
16
|
+
source_channel: task.sourceChannel,
|
|
17
|
+
latest_event: task.latestEvent,
|
|
18
|
+
auto_created: task.autoCreated,
|
|
19
|
+
confirmed: task.confirmed,
|
|
20
|
+
created_at: task.createdAt,
|
|
21
|
+
updated_at: task.updatedAt,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function isValidDate(value) {
|
|
25
|
+
if (!ISO_DATE_PATTERN.test(value)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const [year, month, day] = value.split('-').map(Number);
|
|
29
|
+
const date = new Date(Date.UTC(year, month - 1, day));
|
|
30
|
+
return (date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day);
|
|
31
|
+
}
|
|
32
|
+
function readStringQuery(value, field) {
|
|
33
|
+
if (value === undefined)
|
|
34
|
+
return undefined;
|
|
35
|
+
if (typeof value !== 'string') {
|
|
36
|
+
throw new Error(`${field} must be a string`);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
function readLimit(value) {
|
|
41
|
+
if (value === undefined)
|
|
42
|
+
return 50;
|
|
43
|
+
if (typeof value !== 'string' || !/^\d+$/.test(value)) {
|
|
44
|
+
throw new Error('limit must be an integer from 1 to 200');
|
|
45
|
+
}
|
|
46
|
+
const limit = Number(value);
|
|
47
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > 200) {
|
|
48
|
+
throw new Error('limit must be an integer from 1 to 200');
|
|
49
|
+
}
|
|
50
|
+
return limit;
|
|
51
|
+
}
|
|
52
|
+
function validatePatchBody(body) {
|
|
53
|
+
if (body === null || typeof body !== 'object' || Array.isArray(body)) {
|
|
54
|
+
throw new Error('body must be a non-empty object');
|
|
55
|
+
}
|
|
56
|
+
const input = body;
|
|
57
|
+
const keys = Object.keys(input);
|
|
58
|
+
if (keys.length === 0) {
|
|
59
|
+
throw new Error('body must be a non-empty object');
|
|
60
|
+
}
|
|
61
|
+
const unknownFields = keys.filter((key) => !ALLOWED_PATCH_FIELDS.has(key));
|
|
62
|
+
if (unknownFields.length > 0) {
|
|
63
|
+
throw new Error(`unknown fields: ${unknownFields.join(', ')}`);
|
|
64
|
+
}
|
|
65
|
+
const patch = {};
|
|
66
|
+
if ('status' in input) {
|
|
67
|
+
if (typeof input.status !== 'string' || !task_ledger_js_1.TASK_STATUSES.includes(input.status)) {
|
|
68
|
+
throw new Error(`status must be one of ${task_ledger_js_1.TASK_STATUSES.join('|')}`);
|
|
69
|
+
}
|
|
70
|
+
patch.status = input.status;
|
|
71
|
+
}
|
|
72
|
+
if ('priority' in input) {
|
|
73
|
+
if (typeof input.priority !== 'string' ||
|
|
74
|
+
!task_ledger_js_1.TASK_PRIORITIES.includes(input.priority)) {
|
|
75
|
+
throw new Error(`priority must be one of ${task_ledger_js_1.TASK_PRIORITIES.join('|')}`);
|
|
76
|
+
}
|
|
77
|
+
patch.priority = input.priority;
|
|
78
|
+
}
|
|
79
|
+
if ('assignee' in input) {
|
|
80
|
+
if (input.assignee !== null && typeof input.assignee !== 'string') {
|
|
81
|
+
throw new Error('assignee must be a string or null');
|
|
82
|
+
}
|
|
83
|
+
patch.assignee = input.assignee === null ? null : input.assignee.trim();
|
|
84
|
+
}
|
|
85
|
+
if ('due_date' in input) {
|
|
86
|
+
if (input.due_date !== null && typeof input.due_date !== 'string') {
|
|
87
|
+
throw new Error('due_date must be a YYYY-MM-DD date or null');
|
|
88
|
+
}
|
|
89
|
+
if (typeof input.due_date === 'string' && !isValidDate(input.due_date)) {
|
|
90
|
+
throw new Error('due_date must be a real YYYY-MM-DD calendar date or null');
|
|
91
|
+
}
|
|
92
|
+
patch.deadline = input.due_date;
|
|
93
|
+
}
|
|
94
|
+
if ('confirmed' in input) {
|
|
95
|
+
if (typeof input.confirmed !== 'boolean') {
|
|
96
|
+
throw new Error('confirmed must be a boolean');
|
|
97
|
+
}
|
|
98
|
+
patch.confirmed = input.confirmed;
|
|
99
|
+
}
|
|
100
|
+
return patch;
|
|
101
|
+
}
|
|
102
|
+
function getLedgerOr503(deps, res) {
|
|
103
|
+
const ledger = deps.getTaskLedger();
|
|
104
|
+
if (!ledger) {
|
|
105
|
+
res.status(503).json({ error: 'task ledger unavailable' });
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return ledger;
|
|
109
|
+
}
|
|
110
|
+
function registerOperatorTaskRoutes(app, deps) {
|
|
111
|
+
app.get('/api/operator/tasks', auth_middleware_js_1.requireAuth, (req, res) => {
|
|
112
|
+
const ledger = getLedgerOr503(deps, res);
|
|
113
|
+
if (!ledger)
|
|
114
|
+
return;
|
|
115
|
+
try {
|
|
116
|
+
const status = readStringQuery(req.query.status, 'status');
|
|
117
|
+
if (status !== undefined && !task_ledger_js_1.TASK_STATUSES.includes(status)) {
|
|
118
|
+
res.status(400).json({
|
|
119
|
+
error: `status must be one of ${task_ledger_js_1.TASK_STATUSES.join('|')}`,
|
|
120
|
+
});
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const sourceChannel = readStringQuery(req.query.source_channel, 'source_channel');
|
|
124
|
+
const limit = readLimit(req.query.limit);
|
|
125
|
+
const tasks = ledger.list({
|
|
126
|
+
status: status,
|
|
127
|
+
channel: sourceChannel,
|
|
128
|
+
limit,
|
|
129
|
+
order: 'deadline_priority',
|
|
130
|
+
});
|
|
131
|
+
res.json({ tasks: tasks.map(serializeTask) });
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
res.status(400).json({ error: error instanceof Error ? error.message : String(error) });
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
app.patch('/api/operator/tasks/:id', auth_middleware_js_1.requireAuth, (req, res) => {
|
|
138
|
+
const ledger = getLedgerOr503(deps, res);
|
|
139
|
+
if (!ledger)
|
|
140
|
+
return;
|
|
141
|
+
const rawId = req.params.id;
|
|
142
|
+
if (typeof rawId !== 'string' || !/^[1-9]\d*$/.test(rawId)) {
|
|
143
|
+
res.status(400).json({ error: 'id must be a positive base-10 integer' });
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const id = Number(rawId);
|
|
147
|
+
if (!Number.isSafeInteger(id)) {
|
|
148
|
+
res.status(400).json({ error: 'id must be a positive base-10 integer' });
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (!ledger.getById(id)) {
|
|
152
|
+
res.status(404).json({ error: 'task not found' });
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
const patch = validatePatchBody(req.body);
|
|
157
|
+
const task = ledger.update(id, patch);
|
|
158
|
+
res.json({ ok: true, task: serializeTask(task) });
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
res.status(400).json({ error: error instanceof Error ? error.message : String(error) });
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=operator-tasks-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-tasks-handler.js","sourceRoot":"","sources":["../../src/api/operator-tasks-handler.ts"],"names":[],"mappings":"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"}
|