@jungjaehoon/mama-os 0.1.1
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 +67 -0
- package/README.md +643 -0
- package/dist/agent/agent-loop.d.ts +98 -0
- package/dist/agent/agent-loop.d.ts.map +1 -0
- package/dist/agent/agent-loop.js +417 -0
- package/dist/agent/agent-loop.js.map +1 -0
- package/dist/agent/auto-recall.d.ts +48 -0
- package/dist/agent/auto-recall.d.ts.map +1 -0
- package/dist/agent/auto-recall.js +178 -0
- package/dist/agent/auto-recall.js.map +1 -0
- package/dist/agent/claude-cli-wrapper.d.ts +130 -0
- package/dist/agent/claude-cli-wrapper.d.ts.map +1 -0
- package/dist/agent/claude-cli-wrapper.js +227 -0
- package/dist/agent/claude-cli-wrapper.js.map +1 -0
- package/dist/agent/claude-client.d.ts +50 -0
- package/dist/agent/claude-client.d.ts.map +1 -0
- package/dist/agent/claude-client.js +214 -0
- package/dist/agent/claude-client.js.map +1 -0
- package/dist/agent/gateway-tool-executor.d.ts +75 -0
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -0
- package/dist/agent/gateway-tool-executor.js +348 -0
- package/dist/agent/gateway-tool-executor.js.map +1 -0
- package/dist/agent/index.d.ts +13 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +18 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/mcp-executor.d.ts +75 -0
- package/dist/agent/mcp-executor.d.ts.map +1 -0
- package/dist/agent/mcp-executor.js +307 -0
- package/dist/agent/mcp-executor.js.map +1 -0
- package/dist/agent/session-pool.d.ts +148 -0
- package/dist/agent/session-pool.d.ts.map +1 -0
- package/dist/agent/session-pool.js +272 -0
- package/dist/agent/session-pool.js.map +1 -0
- package/dist/agent/streaming-callback-manager.d.ts +85 -0
- package/dist/agent/streaming-callback-manager.d.ts.map +1 -0
- package/dist/agent/streaming-callback-manager.js +103 -0
- package/dist/agent/streaming-callback-manager.js.map +1 -0
- package/dist/agent/types.d.ts +437 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +29 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/api/cron-handler.d.ts +44 -0
- package/dist/api/cron-handler.d.ts.map +1 -0
- package/dist/api/cron-handler.js +195 -0
- package/dist/api/cron-handler.js.map +1 -0
- package/dist/api/error-handler.d.ts +22 -0
- package/dist/api/error-handler.d.ts.map +1 -0
- package/dist/api/error-handler.js +104 -0
- package/dist/api/error-handler.js.map +1 -0
- package/dist/api/heartbeat-handler.d.ts +49 -0
- package/dist/api/heartbeat-handler.d.ts.map +1 -0
- package/dist/api/heartbeat-handler.js +91 -0
- package/dist/api/heartbeat-handler.js.map +1 -0
- package/dist/api/index.d.ts +61 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +145 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/types.d.ts +156 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +62 -0
- package/dist/api/types.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +11 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oauth-manager.d.ts +59 -0
- package/dist/auth/oauth-manager.d.ts.map +1 -0
- package/dist/auth/oauth-manager.js +237 -0
- package/dist/auth/oauth-manager.js.map +1 -0
- package/dist/auth/types.d.ts +92 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +23 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli/commands/init.d.ts +19 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +155 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/run.d.ts +19 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +89 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +19 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +134 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/start.d.ts +24 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +1073 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/status.d.ts +10 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +85 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +10 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +65 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/config/config-manager.d.ts +51 -0
- package/dist/cli/config/config-manager.d.ts.map +1 -0
- package/dist/cli/config/config-manager.js +216 -0
- package/dist/cli/config/config-manager.js.map +1 -0
- package/dist/cli/config/types.d.ts +172 -0
- package/dist/cli/config/types.d.ts.map +1 -0
- package/dist/cli/config/types.js +48 -0
- package/dist/cli/config/types.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +92 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/pid-manager.d.ts +66 -0
- package/dist/cli/utils/pid-manager.d.ts.map +1 -0
- package/dist/cli/utils/pid-manager.js +167 -0
- package/dist/cli/utils/pid-manager.js.map +1 -0
- package/dist/concurrency/index.d.ts +13 -0
- package/dist/concurrency/index.d.ts.map +1 -0
- package/dist/concurrency/index.js +22 -0
- package/dist/concurrency/index.js.map +1 -0
- package/dist/concurrency/lane-manager.d.ts +113 -0
- package/dist/concurrency/lane-manager.d.ts.map +1 -0
- package/dist/concurrency/lane-manager.js +245 -0
- package/dist/concurrency/lane-manager.js.map +1 -0
- package/dist/concurrency/session-key.d.ts +41 -0
- package/dist/concurrency/session-key.d.ts.map +1 -0
- package/dist/concurrency/session-key.js +61 -0
- package/dist/concurrency/session-key.js.map +1 -0
- package/dist/concurrency/types.d.ts +69 -0
- package/dist/concurrency/types.d.ts.map +1 -0
- package/dist/concurrency/types.js +16 -0
- package/dist/concurrency/types.js.map +1 -0
- package/dist/gateways/channel-history.d.ts +102 -0
- package/dist/gateways/channel-history.d.ts.map +1 -0
- package/dist/gateways/channel-history.js +181 -0
- package/dist/gateways/channel-history.js.map +1 -0
- package/dist/gateways/context-injector.d.ts +74 -0
- package/dist/gateways/context-injector.d.ts.map +1 -0
- package/dist/gateways/context-injector.js +121 -0
- package/dist/gateways/context-injector.js.map +1 -0
- package/dist/gateways/discord.d.ts +122 -0
- package/dist/gateways/discord.d.ts.map +1 -0
- package/dist/gateways/discord.js +602 -0
- package/dist/gateways/discord.js.map +1 -0
- package/dist/gateways/index.d.ts +30 -0
- package/dist/gateways/index.d.ts.map +1 -0
- package/dist/gateways/index.js +49 -0
- package/dist/gateways/index.js.map +1 -0
- package/dist/gateways/message-router.d.ts +116 -0
- package/dist/gateways/message-router.d.ts.map +1 -0
- package/dist/gateways/message-router.js +315 -0
- package/dist/gateways/message-router.js.map +1 -0
- package/dist/gateways/message-splitter.d.ts +54 -0
- package/dist/gateways/message-splitter.d.ts.map +1 -0
- package/dist/gateways/message-splitter.js +146 -0
- package/dist/gateways/message-splitter.js.map +1 -0
- package/dist/gateways/plugin-loader.d.ts +76 -0
- package/dist/gateways/plugin-loader.d.ts.map +1 -0
- package/dist/gateways/plugin-loader.js +221 -0
- package/dist/gateways/plugin-loader.js.map +1 -0
- package/dist/gateways/session-store.d.ts +77 -0
- package/dist/gateways/session-store.d.ts.map +1 -0
- package/dist/gateways/session-store.js +233 -0
- package/dist/gateways/session-store.js.map +1 -0
- package/dist/gateways/slack.d.ts +90 -0
- package/dist/gateways/slack.d.ts.map +1 -0
- package/dist/gateways/slack.js +281 -0
- package/dist/gateways/slack.js.map +1 -0
- package/dist/gateways/telegram.d.ts +79 -0
- package/dist/gateways/telegram.d.ts.map +1 -0
- package/dist/gateways/telegram.js +207 -0
- package/dist/gateways/telegram.js.map +1 -0
- package/dist/gateways/types.d.ts +340 -0
- package/dist/gateways/types.d.ts.map +1 -0
- package/dist/gateways/types.js +6 -0
- package/dist/gateways/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/memory-logger.d.ts +47 -0
- package/dist/memory/memory-logger.d.ts.map +1 -0
- package/dist/memory/memory-logger.js +126 -0
- package/dist/memory/memory-logger.js.map +1 -0
- package/dist/onboarding/all-tools.d.ts +18 -0
- package/dist/onboarding/all-tools.d.ts.map +1 -0
- package/dist/onboarding/all-tools.js +149 -0
- package/dist/onboarding/all-tools.js.map +1 -0
- package/dist/onboarding/autonomous-discovery-tools.d.ts +13 -0
- package/dist/onboarding/autonomous-discovery-tools.d.ts.map +1 -0
- package/dist/onboarding/autonomous-discovery-tools.js +268 -0
- package/dist/onboarding/autonomous-discovery-tools.js.map +1 -0
- package/dist/onboarding/bootstrap-template.d.ts +5 -0
- package/dist/onboarding/bootstrap-template.d.ts.map +1 -0
- package/dist/onboarding/bootstrap-template.js +142 -0
- package/dist/onboarding/bootstrap-template.js.map +1 -0
- package/dist/onboarding/complete-autonomous-prompt.d.ts +13 -0
- package/dist/onboarding/complete-autonomous-prompt.d.ts.map +1 -0
- package/dist/onboarding/complete-autonomous-prompt.js +1220 -0
- package/dist/onboarding/complete-autonomous-prompt.js.map +1 -0
- package/dist/onboarding/onboarding-state.d.ts +70 -0
- package/dist/onboarding/onboarding-state.d.ts.map +1 -0
- package/dist/onboarding/onboarding-state.js +184 -0
- package/dist/onboarding/onboarding-state.js.map +1 -0
- package/dist/onboarding/personality-quiz.d.ts +35 -0
- package/dist/onboarding/personality-quiz.d.ts.map +1 -0
- package/dist/onboarding/personality-quiz.js +219 -0
- package/dist/onboarding/personality-quiz.js.map +1 -0
- package/dist/onboarding/phase-5-summary.d.ts +22 -0
- package/dist/onboarding/phase-5-summary.d.ts.map +1 -0
- package/dist/onboarding/phase-5-summary.js +151 -0
- package/dist/onboarding/phase-5-summary.js.map +1 -0
- package/dist/onboarding/phase-6-security.d.ts +33 -0
- package/dist/onboarding/phase-6-security.d.ts.map +1 -0
- package/dist/onboarding/phase-6-security.js +473 -0
- package/dist/onboarding/phase-6-security.js.map +1 -0
- package/dist/onboarding/phase-7-integrations.d.ts +66 -0
- package/dist/onboarding/phase-7-integrations.d.ts.map +1 -0
- package/dist/onboarding/phase-7-integrations.js +619 -0
- package/dist/onboarding/phase-7-integrations.js.map +1 -0
- package/dist/onboarding/phase-8-demo.d.ts +43 -0
- package/dist/onboarding/phase-8-demo.d.ts.map +1 -0
- package/dist/onboarding/phase-8-demo.js +346 -0
- package/dist/onboarding/phase-8-demo.js.map +1 -0
- package/dist/onboarding/phase-9-finalization.d.ts +22 -0
- package/dist/onboarding/phase-9-finalization.d.ts.map +1 -0
- package/dist/onboarding/phase-9-finalization.js +375 -0
- package/dist/onboarding/phase-9-finalization.js.map +1 -0
- package/dist/onboarding/ritual-prompt.d.ts +2 -0
- package/dist/onboarding/ritual-prompt.d.ts.map +1 -0
- package/dist/onboarding/ritual-prompt.js +285 -0
- package/dist/onboarding/ritual-prompt.js.map +1 -0
- package/dist/onboarding/ritual-tools.d.ts +13 -0
- package/dist/onboarding/ritual-tools.d.ts.map +1 -0
- package/dist/onboarding/ritual-tools.js +93 -0
- package/dist/onboarding/ritual-tools.js.map +1 -0
- package/dist/runners/cli-runner.d.ts +59 -0
- package/dist/runners/cli-runner.d.ts.map +1 -0
- package/dist/runners/cli-runner.js +190 -0
- package/dist/runners/cli-runner.js.map +1 -0
- package/dist/runners/index.d.ts +11 -0
- package/dist/runners/index.d.ts.map +1 -0
- package/dist/runners/index.js +15 -0
- package/dist/runners/index.js.map +1 -0
- package/dist/runners/types.d.ts +81 -0
- package/dist/runners/types.d.ts.map +1 -0
- package/dist/runners/types.js +31 -0
- package/dist/runners/types.js.map +1 -0
- package/dist/scheduler/cron-scheduler.d.ts +115 -0
- package/dist/scheduler/cron-scheduler.d.ts.map +1 -0
- package/dist/scheduler/cron-scheduler.js +320 -0
- package/dist/scheduler/cron-scheduler.js.map +1 -0
- package/dist/scheduler/heartbeat.d.ts +53 -0
- package/dist/scheduler/heartbeat.d.ts.map +1 -0
- package/dist/scheduler/heartbeat.js +160 -0
- package/dist/scheduler/heartbeat.js.map +1 -0
- package/dist/scheduler/index.d.ts +22 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +31 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/scheduler/job-lock.d.ts +85 -0
- package/dist/scheduler/job-lock.d.ts.map +1 -0
- package/dist/scheduler/job-lock.js +137 -0
- package/dist/scheduler/job-lock.js.map +1 -0
- package/dist/scheduler/recovery.d.ts +78 -0
- package/dist/scheduler/recovery.d.ts.map +1 -0
- package/dist/scheduler/recovery.js +124 -0
- package/dist/scheduler/recovery.js.map +1 -0
- package/dist/scheduler/schedule-store.d.ts +112 -0
- package/dist/scheduler/schedule-store.d.ts.map +1 -0
- package/dist/scheduler/schedule-store.js +259 -0
- package/dist/scheduler/schedule-store.js.map +1 -0
- package/dist/scheduler/token-keep-alive.d.ts +49 -0
- package/dist/scheduler/token-keep-alive.d.ts.map +1 -0
- package/dist/scheduler/token-keep-alive.js +102 -0
- package/dist/scheduler/token-keep-alive.js.map +1 -0
- package/dist/scheduler/types.d.ts +96 -0
- package/dist/scheduler/types.d.ts.map +1 -0
- package/dist/scheduler/types.js +21 -0
- package/dist/scheduler/types.js.map +1 -0
- package/dist/setup/setup-prompt.d.ts +2 -0
- package/dist/setup/setup-prompt.d.ts.map +1 -0
- package/dist/setup/setup-prompt.js +138 -0
- package/dist/setup/setup-prompt.js.map +1 -0
- package/dist/setup/setup-server.d.ts +8 -0
- package/dist/setup/setup-server.d.ts.map +1 -0
- package/dist/setup/setup-server.js +71 -0
- package/dist/setup/setup-server.js.map +1 -0
- package/dist/setup/setup-tools.d.ts +13 -0
- package/dist/setup/setup-tools.d.ts.map +1 -0
- package/dist/setup/setup-tools.js +103 -0
- package/dist/setup/setup-tools.js.map +1 -0
- package/dist/setup/setup-websocket.d.ts +6 -0
- package/dist/setup/setup-websocket.d.ts.map +1 -0
- package/dist/setup/setup-websocket.js +312 -0
- package/dist/setup/setup-websocket.js.map +1 -0
- package/dist/skills/index.d.ts +10 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +26 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/skill-executor.d.ts +48 -0
- package/dist/skills/skill-executor.d.ts.map +1 -0
- package/dist/skills/skill-executor.js +483 -0
- package/dist/skills/skill-executor.js.map +1 -0
- package/dist/skills/skill-loader.d.ts +40 -0
- package/dist/skills/skill-loader.d.ts.map +1 -0
- package/dist/skills/skill-loader.js +225 -0
- package/dist/skills/skill-loader.js.map +1 -0
- package/dist/skills/skill-matcher.d.ts +33 -0
- package/dist/skills/skill-matcher.d.ts.map +1 -0
- package/dist/skills/skill-matcher.js +190 -0
- package/dist/skills/skill-matcher.js.map +1 -0
- package/dist/skills/types.d.ts +123 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +12 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tools/browser-tool.d.ts +149 -0
- package/dist/tools/browser-tool.d.ts.map +1 -0
- package/dist/tools/browser-tool.js +257 -0
- package/dist/tools/browser-tool.js.map +1 -0
- package/package.json +84 -0
- package/public/favicon.ico +0 -0
- package/public/setup.html +1026 -0
- package/public/viewer/icons/icon-192.png +0 -0
- package/public/viewer/icons/icon-512.png +0 -0
- package/public/viewer/js/modules/chat.js +1587 -0
- package/public/viewer/js/modules/dashboard.js +275 -0
- package/public/viewer/js/modules/graph.js +997 -0
- package/public/viewer/js/modules/memory.js +353 -0
- package/public/viewer/js/modules/settings.js +255 -0
- package/public/viewer/js/utils/api.js +169 -0
- package/public/viewer/js/utils/dom.js +92 -0
- package/public/viewer/js/utils/format.js +192 -0
- package/public/viewer/manifest.json +26 -0
- package/public/viewer/sw.js +131 -0
- package/public/viewer/viewer.css +500 -0
- package/public/viewer/viewer.html +1535 -0
- package/scripts/postinstall.js +118 -0
- package/templates/skills/document-analyze.md +63 -0
- package/templates/skills/heartbeat-report.md +75 -0
- package/templates/skills/image-translate.md +67 -0
- package/templates/workspace/skill-forge/DESIGN.md +115 -0
- package/templates/workspace/skill-forge/agents/architect.ts +295 -0
- package/templates/workspace/skill-forge/agents/developer.ts +364 -0
- package/templates/workspace/skill-forge/agents/qa.ts +313 -0
- package/templates/workspace/skill-forge/claude-api.ts +353 -0
- package/templates/workspace/skill-forge/discord-ui.ts +580 -0
- package/templates/workspace/skill-forge/error-handler.ts +354 -0
- package/templates/workspace/skill-forge/mama-integration.ts +357 -0
- package/templates/workspace/skill-forge/orchestrator.ts +495 -0
- package/templates/workspace/skill-forge/output/generated-skills/skills/hello-world/README.md +24 -0
- package/templates/workspace/skill-forge/output/generated-skills/skills/hello-world/index.ts +79 -0
- package/templates/workspace/skill-forge/output/generated-skills/skills/hello-world/types.ts +17 -0
- package/templates/workspace/skill-forge/package.json +21 -0
- package/templates/workspace/skill-forge/state/session.json +132 -0
- package/templates/workspace/skill-forge/test-e2e.ts +139 -0
- package/templates/workspace/skill-forge/tsconfig.json +20 -0
- package/templates/workspace/skill-forge/types.ts +159 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration types for MAMA Standalone CLI
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Agent configuration
|
|
6
|
+
*/
|
|
7
|
+
export interface AgentConfig {
|
|
8
|
+
/** Claude model to use */
|
|
9
|
+
model: string;
|
|
10
|
+
/** Maximum conversation turns */
|
|
11
|
+
max_turns: number;
|
|
12
|
+
/** Request timeout in milliseconds */
|
|
13
|
+
timeout: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Database configuration
|
|
17
|
+
*/
|
|
18
|
+
export interface DatabaseConfig {
|
|
19
|
+
/** Path to SQLite database */
|
|
20
|
+
path: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Logging configuration
|
|
24
|
+
*/
|
|
25
|
+
export interface LoggingConfig {
|
|
26
|
+
/** Log level: debug, info, warn, error */
|
|
27
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
28
|
+
/** Path to log file */
|
|
29
|
+
file: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Discord gateway configuration
|
|
33
|
+
*/
|
|
34
|
+
export interface DiscordConfig {
|
|
35
|
+
/** Enable Discord gateway */
|
|
36
|
+
enabled: boolean;
|
|
37
|
+
/** Discord bot token */
|
|
38
|
+
token?: string;
|
|
39
|
+
/** Default channel ID for notifications */
|
|
40
|
+
default_channel_id?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Heartbeat scheduler configuration
|
|
44
|
+
*/
|
|
45
|
+
export interface HeartbeatConfig {
|
|
46
|
+
/** Enable heartbeat scheduler */
|
|
47
|
+
enabled?: boolean;
|
|
48
|
+
/** Interval in milliseconds (default: 30 minutes) */
|
|
49
|
+
interval?: number;
|
|
50
|
+
/** Quiet hours start (0-23) */
|
|
51
|
+
quiet_start?: number;
|
|
52
|
+
/** Quiet hours end (0-23) */
|
|
53
|
+
quiet_end?: number;
|
|
54
|
+
/** Channel ID for notifications */
|
|
55
|
+
notify_channel_id?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Slack gateway configuration
|
|
59
|
+
*/
|
|
60
|
+
export interface SlackConfig {
|
|
61
|
+
/** Enable Slack gateway */
|
|
62
|
+
enabled: boolean;
|
|
63
|
+
/** Slack bot token */
|
|
64
|
+
bot_token?: string;
|
|
65
|
+
/** Slack app token (for socket mode) */
|
|
66
|
+
app_token?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Telegram gateway configuration
|
|
70
|
+
*/
|
|
71
|
+
export interface TelegramConfig {
|
|
72
|
+
/** Enable Telegram gateway */
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
/** Telegram bot token from @BotFather */
|
|
75
|
+
token?: string;
|
|
76
|
+
/** Allowed chat IDs (empty = allow all) */
|
|
77
|
+
allowed_chats?: string[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Chatwork gateway configuration
|
|
81
|
+
*/
|
|
82
|
+
export interface ChatworkConfig {
|
|
83
|
+
/** Enable Chatwork gateway */
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
/** Chatwork API token */
|
|
86
|
+
api_token?: string;
|
|
87
|
+
/** Room IDs to monitor */
|
|
88
|
+
room_ids?: string[];
|
|
89
|
+
/** Polling interval in milliseconds */
|
|
90
|
+
poll_interval?: number;
|
|
91
|
+
/** Whether mention is required */
|
|
92
|
+
mention_required?: boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Workspace configuration
|
|
96
|
+
*/
|
|
97
|
+
export interface WorkspaceConfig {
|
|
98
|
+
/** Workspace root path */
|
|
99
|
+
path: string;
|
|
100
|
+
/** Scripts directory */
|
|
101
|
+
scripts: string;
|
|
102
|
+
/** Data directory */
|
|
103
|
+
data: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Heartbeat integration configuration
|
|
107
|
+
*/
|
|
108
|
+
export interface HeartbeatIntegrationConfig {
|
|
109
|
+
/** Path to data collection script */
|
|
110
|
+
collect_script: string;
|
|
111
|
+
/** Path to collected data JSON file */
|
|
112
|
+
data_file: string;
|
|
113
|
+
/** Path to report template file */
|
|
114
|
+
template_file: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Integrations configuration
|
|
118
|
+
*/
|
|
119
|
+
export interface IntegrationsConfig {
|
|
120
|
+
/** Heartbeat report settings */
|
|
121
|
+
heartbeat?: HeartbeatIntegrationConfig;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Full MAMA configuration
|
|
125
|
+
*/
|
|
126
|
+
export interface MAMAConfig {
|
|
127
|
+
/** Config version */
|
|
128
|
+
version: number;
|
|
129
|
+
/** Agent settings */
|
|
130
|
+
agent: AgentConfig;
|
|
131
|
+
/** Database settings */
|
|
132
|
+
database: DatabaseConfig;
|
|
133
|
+
/** Logging settings */
|
|
134
|
+
logging: LoggingConfig;
|
|
135
|
+
/** @deprecated Always uses Claude CLI now (ToS compliance) */
|
|
136
|
+
use_claude_cli?: boolean;
|
|
137
|
+
/** Discord gateway settings (optional) */
|
|
138
|
+
discord?: DiscordConfig;
|
|
139
|
+
/** Slack gateway settings (optional) */
|
|
140
|
+
slack?: SlackConfig;
|
|
141
|
+
/** Telegram gateway settings (optional) */
|
|
142
|
+
telegram?: TelegramConfig;
|
|
143
|
+
/** Chatwork gateway settings (optional) */
|
|
144
|
+
chatwork?: ChatworkConfig;
|
|
145
|
+
/** Workspace settings (optional) */
|
|
146
|
+
workspace?: WorkspaceConfig;
|
|
147
|
+
/** Integrations settings (optional) */
|
|
148
|
+
integrations?: IntegrationsConfig;
|
|
149
|
+
/** Heartbeat scheduler settings (optional) */
|
|
150
|
+
heartbeat?: HeartbeatConfig;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Default configuration values
|
|
154
|
+
* SECURITY: Includes safe defaults for all optional fields
|
|
155
|
+
*/
|
|
156
|
+
export declare const DEFAULT_CONFIG: MAMAConfig;
|
|
157
|
+
/**
|
|
158
|
+
* Paths for MAMA files
|
|
159
|
+
*/
|
|
160
|
+
export declare const MAMA_PATHS: {
|
|
161
|
+
/** MAMA home directory */
|
|
162
|
+
readonly HOME: "~/.mama";
|
|
163
|
+
/** Configuration file */
|
|
164
|
+
readonly CONFIG: "~/.mama/config.yaml";
|
|
165
|
+
/** PID file */
|
|
166
|
+
readonly PID: "~/.mama/mama.pid";
|
|
167
|
+
/** Log directory */
|
|
168
|
+
readonly LOGS: "~/.mama/logs";
|
|
169
|
+
/** Log file */
|
|
170
|
+
readonly LOG_FILE: "~/.mama/logs/mama.log";
|
|
171
|
+
};
|
|
172
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration types for MAMA Standalone CLI
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MAMA_PATHS = exports.DEFAULT_CONFIG = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Default configuration values
|
|
9
|
+
* SECURITY: Includes safe defaults for all optional fields
|
|
10
|
+
*/
|
|
11
|
+
exports.DEFAULT_CONFIG = {
|
|
12
|
+
version: 1,
|
|
13
|
+
agent: {
|
|
14
|
+
model: 'claude-sonnet-4-20250514',
|
|
15
|
+
max_turns: 10,
|
|
16
|
+
timeout: 300000, // 5 minutes
|
|
17
|
+
},
|
|
18
|
+
database: {
|
|
19
|
+
path: '~/.claude/mama-memory.db',
|
|
20
|
+
},
|
|
21
|
+
logging: {
|
|
22
|
+
level: 'info',
|
|
23
|
+
file: '~/.mama/logs/mama.log',
|
|
24
|
+
},
|
|
25
|
+
// Safe defaults for optional fields (used by mergeWithDefaults)
|
|
26
|
+
use_claude_cli: true, // Always use Claude CLI (ToS compliance)
|
|
27
|
+
discord: undefined,
|
|
28
|
+
slack: undefined,
|
|
29
|
+
telegram: undefined,
|
|
30
|
+
chatwork: undefined,
|
|
31
|
+
heartbeat: undefined,
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Paths for MAMA files
|
|
35
|
+
*/
|
|
36
|
+
exports.MAMA_PATHS = {
|
|
37
|
+
/** MAMA home directory */
|
|
38
|
+
HOME: '~/.mama',
|
|
39
|
+
/** Configuration file */
|
|
40
|
+
CONFIG: '~/.mama/config.yaml',
|
|
41
|
+
/** PID file */
|
|
42
|
+
PID: '~/.mama/mama.pid',
|
|
43
|
+
/** Log directory */
|
|
44
|
+
LOGS: '~/.mama/logs',
|
|
45
|
+
/** Log file */
|
|
46
|
+
LOG_FILE: '~/.mama/logs/mama.log',
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/config/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAkKH;;;GAGG;AACU,QAAA,cAAc,GAAe;IACxC,OAAO,EAAE,CAAC;IACV,KAAK,EAAE;QACL,KAAK,EAAE,0BAA0B;QACjC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,MAAM,EAAE,YAAY;KAC9B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,0BAA0B;KACjC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,uBAAuB;KAC9B;IACD,gEAAgE;IAChE,cAAc,EAAE,IAAI,EAAE,yCAAyC;IAC/D,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,0BAA0B;IAC1B,IAAI,EAAE,SAAS;IACf,yBAAyB;IACzB,MAAM,EAAE,qBAAqB;IAC7B,eAAe;IACf,GAAG,EAAE,kBAAkB;IACvB,oBAAoB;IACpB,IAAI,EAAE,cAAc;IACpB,eAAe;IACf,QAAQ,EAAE,uBAAuB;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;GAIG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* MAMA Standalone CLI
|
|
5
|
+
*
|
|
6
|
+
* Entry point for the mama command
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const commander_1 = require("commander");
|
|
10
|
+
const init_js_1 = require("./commands/init.js");
|
|
11
|
+
const setup_js_1 = require("./commands/setup.js");
|
|
12
|
+
const start_js_1 = require("./commands/start.js");
|
|
13
|
+
const stop_js_1 = require("./commands/stop.js");
|
|
14
|
+
const status_js_1 = require("./commands/status.js");
|
|
15
|
+
const run_js_1 = require("./commands/run.js");
|
|
16
|
+
const config_manager_js_1 = require("./config/config-manager.js");
|
|
17
|
+
const VERSION = '1.0.0';
|
|
18
|
+
const program = new commander_1.Command();
|
|
19
|
+
program
|
|
20
|
+
.name('mama')
|
|
21
|
+
.description('MAMA Standalone - Always-on AI Assistant powered by Claude Pro')
|
|
22
|
+
.version(VERSION, '-v, --version', '버전 정보 출력');
|
|
23
|
+
program
|
|
24
|
+
.command('init')
|
|
25
|
+
.description('MAMA 설정 초기화')
|
|
26
|
+
.option('-f, --force', '기존 설정 덮어쓰기')
|
|
27
|
+
.option('--skip-auth-check', '인증 확인 건너뛰기 (테스트용)')
|
|
28
|
+
.action(async (options) => {
|
|
29
|
+
await (0, init_js_1.initCommand)({
|
|
30
|
+
force: options.force,
|
|
31
|
+
skipAuthCheck: options.skipAuthCheck,
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
program
|
|
35
|
+
.command('setup')
|
|
36
|
+
.description('대화형 설정 마법사 (Claude가 도와드립니다)')
|
|
37
|
+
.option('-p, --port <port>', '포트 번호', '3848')
|
|
38
|
+
.option('--no-browser', '브라우저 자동 열기 끄기')
|
|
39
|
+
.action(async (options) => {
|
|
40
|
+
await (0, setup_js_1.setupCommand)({
|
|
41
|
+
port: parseInt(options.port),
|
|
42
|
+
noBrowser: !options.browser,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
program
|
|
46
|
+
.command('start')
|
|
47
|
+
.description('MAMA 에이전트 시작')
|
|
48
|
+
.option('-f, --foreground', 'Foreground에서 실행')
|
|
49
|
+
.action(async (options) => {
|
|
50
|
+
await (0, start_js_1.startCommand)({ foreground: options.foreground });
|
|
51
|
+
});
|
|
52
|
+
program
|
|
53
|
+
.command('stop')
|
|
54
|
+
.description('MAMA 에이전트 종료')
|
|
55
|
+
.action(async () => {
|
|
56
|
+
await (0, stop_js_1.stopCommand)();
|
|
57
|
+
});
|
|
58
|
+
program
|
|
59
|
+
.command('status')
|
|
60
|
+
.description('MAMA 에이전트 상태 확인')
|
|
61
|
+
.action(async () => {
|
|
62
|
+
await (0, status_js_1.statusCommand)();
|
|
63
|
+
});
|
|
64
|
+
program
|
|
65
|
+
.command('run')
|
|
66
|
+
.description('단일 프롬프트 실행 (테스트용)')
|
|
67
|
+
.argument('<prompt>', '실행할 프롬프트')
|
|
68
|
+
.option('-v, --verbose', '상세 출력')
|
|
69
|
+
.action(async (prompt, options) => {
|
|
70
|
+
await (0, run_js_1.runCommand)({ prompt, verbose: options.verbose });
|
|
71
|
+
});
|
|
72
|
+
// Hidden daemon command (used internally for background process)
|
|
73
|
+
program
|
|
74
|
+
.command('daemon', { hidden: true })
|
|
75
|
+
.description('Run as daemon (internal use)')
|
|
76
|
+
.action(async () => {
|
|
77
|
+
try {
|
|
78
|
+
const config = await (0, config_manager_js_1.loadConfig)();
|
|
79
|
+
await (0, start_js_1.runAgentLoop)(config);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error('Daemon error:', error);
|
|
83
|
+
process.exit(1);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
// Parse arguments
|
|
87
|
+
program.parse();
|
|
88
|
+
// If no arguments, show help
|
|
89
|
+
if (!process.argv.slice(2).length) {
|
|
90
|
+
program.outputHelp();
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PID Manager for MAMA Standalone
|
|
3
|
+
*
|
|
4
|
+
* Manages PID file for daemon process tracking
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Process information
|
|
8
|
+
*/
|
|
9
|
+
export interface ProcessInfo {
|
|
10
|
+
/** Process ID */
|
|
11
|
+
pid: number;
|
|
12
|
+
/** Start time (Unix timestamp) */
|
|
13
|
+
startedAt: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the full path to PID file
|
|
17
|
+
*/
|
|
18
|
+
export declare function getPidPath(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Check if PID file exists
|
|
21
|
+
*/
|
|
22
|
+
export declare function pidFileExists(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Write PID file with process information
|
|
25
|
+
*
|
|
26
|
+
* @param pid - Process ID to write
|
|
27
|
+
*/
|
|
28
|
+
export declare function writePid(pid: number): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Read process information from PID file
|
|
31
|
+
*
|
|
32
|
+
* @returns Process info or null if file doesn't exist
|
|
33
|
+
*/
|
|
34
|
+
export declare function readPid(): Promise<ProcessInfo | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Delete PID file
|
|
37
|
+
*/
|
|
38
|
+
export declare function deletePid(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Check if a process with given PID is running
|
|
41
|
+
*
|
|
42
|
+
* @param pid - Process ID to check
|
|
43
|
+
* @returns true if process is running
|
|
44
|
+
*/
|
|
45
|
+
export declare function isProcessRunning(pid: number): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Check if MAMA daemon is currently running
|
|
48
|
+
*
|
|
49
|
+
* @returns Process info if running, null otherwise
|
|
50
|
+
*/
|
|
51
|
+
export declare function isDaemonRunning(): Promise<ProcessInfo | null>;
|
|
52
|
+
/**
|
|
53
|
+
* Get uptime in human-readable format
|
|
54
|
+
*
|
|
55
|
+
* @param startedAt - Start timestamp
|
|
56
|
+
* @returns Human-readable uptime string
|
|
57
|
+
*/
|
|
58
|
+
export declare function getUptime(startedAt: number): string;
|
|
59
|
+
/**
|
|
60
|
+
* Get PID file modification time (for last activity tracking)
|
|
61
|
+
*
|
|
62
|
+
* @returns Modification timestamp or null
|
|
63
|
+
*/
|
|
64
|
+
export declare function getPidFileModTime(): Promise<number | null>;
|
|
65
|
+
export { expandPath } from '../config/config-manager.js';
|
|
66
|
+
//# sourceMappingURL=pid-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pid-manager.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/pid-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezD;AAED;;;;GAIG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAyB3D;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAM/C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAcnE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAahE;AAGD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PID Manager for MAMA Standalone
|
|
4
|
+
*
|
|
5
|
+
* Manages PID file for daemon process tracking
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.expandPath = void 0;
|
|
9
|
+
exports.getPidPath = getPidPath;
|
|
10
|
+
exports.pidFileExists = pidFileExists;
|
|
11
|
+
exports.writePid = writePid;
|
|
12
|
+
exports.readPid = readPid;
|
|
13
|
+
exports.deletePid = deletePid;
|
|
14
|
+
exports.isProcessRunning = isProcessRunning;
|
|
15
|
+
exports.isDaemonRunning = isDaemonRunning;
|
|
16
|
+
exports.getUptime = getUptime;
|
|
17
|
+
exports.getPidFileModTime = getPidFileModTime;
|
|
18
|
+
const promises_1 = require("node:fs/promises");
|
|
19
|
+
const node_fs_1 = require("node:fs");
|
|
20
|
+
const node_path_1 = require("node:path");
|
|
21
|
+
const types_js_1 = require("../config/types.js");
|
|
22
|
+
const config_manager_js_1 = require("../config/config-manager.js");
|
|
23
|
+
/**
|
|
24
|
+
* Get the full path to PID file
|
|
25
|
+
*/
|
|
26
|
+
function getPidPath() {
|
|
27
|
+
return (0, config_manager_js_1.expandPath)(types_js_1.MAMA_PATHS.PID);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if PID file exists
|
|
31
|
+
*/
|
|
32
|
+
function pidFileExists() {
|
|
33
|
+
return (0, node_fs_1.existsSync)(getPidPath());
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Write PID file with process information
|
|
37
|
+
*
|
|
38
|
+
* @param pid - Process ID to write
|
|
39
|
+
*/
|
|
40
|
+
async function writePid(pid) {
|
|
41
|
+
const pidPath = getPidPath();
|
|
42
|
+
const pidDir = (0, node_path_1.dirname)(pidPath);
|
|
43
|
+
// Ensure directory exists
|
|
44
|
+
if (!(0, node_fs_1.existsSync)(pidDir)) {
|
|
45
|
+
await (0, promises_1.mkdir)(pidDir, { recursive: true });
|
|
46
|
+
}
|
|
47
|
+
const info = {
|
|
48
|
+
pid,
|
|
49
|
+
startedAt: Date.now(),
|
|
50
|
+
};
|
|
51
|
+
await (0, promises_1.writeFile)(pidPath, JSON.stringify(info, null, 2), 'utf-8');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Read process information from PID file
|
|
55
|
+
*
|
|
56
|
+
* @returns Process info or null if file doesn't exist
|
|
57
|
+
*/
|
|
58
|
+
async function readPid() {
|
|
59
|
+
const pidPath = getPidPath();
|
|
60
|
+
if (!(0, node_fs_1.existsSync)(pidPath)) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const content = await (0, promises_1.readFile)(pidPath, 'utf-8');
|
|
65
|
+
const info = JSON.parse(content);
|
|
66
|
+
// Validate structure
|
|
67
|
+
if (typeof info.pid !== 'number' || typeof info.startedAt !== 'number') {
|
|
68
|
+
// Legacy format: just PID number
|
|
69
|
+
const pid = parseInt(content.trim(), 10);
|
|
70
|
+
if (!isNaN(pid)) {
|
|
71
|
+
return { pid, startedAt: Date.now() };
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return info;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Delete PID file
|
|
83
|
+
*/
|
|
84
|
+
async function deletePid() {
|
|
85
|
+
const pidPath = getPidPath();
|
|
86
|
+
if ((0, node_fs_1.existsSync)(pidPath)) {
|
|
87
|
+
await (0, promises_1.unlink)(pidPath);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check if a process with given PID is running
|
|
92
|
+
*
|
|
93
|
+
* @param pid - Process ID to check
|
|
94
|
+
* @returns true if process is running
|
|
95
|
+
*/
|
|
96
|
+
function isProcessRunning(pid) {
|
|
97
|
+
try {
|
|
98
|
+
// Sending signal 0 checks if process exists without actually sending a signal
|
|
99
|
+
process.kill(pid, 0);
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Check if MAMA daemon is currently running
|
|
108
|
+
*
|
|
109
|
+
* @returns Process info if running, null otherwise
|
|
110
|
+
*/
|
|
111
|
+
async function isDaemonRunning() {
|
|
112
|
+
const info = await readPid();
|
|
113
|
+
if (!info) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
if (isProcessRunning(info.pid)) {
|
|
117
|
+
return info;
|
|
118
|
+
}
|
|
119
|
+
// Process not running, clean up stale PID file
|
|
120
|
+
await deletePid();
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get uptime in human-readable format
|
|
125
|
+
*
|
|
126
|
+
* @param startedAt - Start timestamp
|
|
127
|
+
* @returns Human-readable uptime string
|
|
128
|
+
*/
|
|
129
|
+
function getUptime(startedAt) {
|
|
130
|
+
const uptimeMs = Date.now() - startedAt;
|
|
131
|
+
const seconds = Math.floor(uptimeMs / 1000);
|
|
132
|
+
const minutes = Math.floor(seconds / 60);
|
|
133
|
+
const hours = Math.floor(minutes / 60);
|
|
134
|
+
const days = Math.floor(hours / 24);
|
|
135
|
+
if (days > 0) {
|
|
136
|
+
return `${days}일 ${hours % 24}시간`;
|
|
137
|
+
}
|
|
138
|
+
if (hours > 0) {
|
|
139
|
+
return `${hours}시간 ${minutes % 60}분`;
|
|
140
|
+
}
|
|
141
|
+
if (minutes > 0) {
|
|
142
|
+
return `${minutes}분 ${seconds % 60}초`;
|
|
143
|
+
}
|
|
144
|
+
return `${seconds}초`;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get PID file modification time (for last activity tracking)
|
|
148
|
+
*
|
|
149
|
+
* @returns Modification timestamp or null
|
|
150
|
+
*/
|
|
151
|
+
async function getPidFileModTime() {
|
|
152
|
+
const pidPath = getPidPath();
|
|
153
|
+
if (!(0, node_fs_1.existsSync)(pidPath)) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
try {
|
|
157
|
+
const stats = await (0, promises_1.stat)(pidPath);
|
|
158
|
+
return stats.mtimeMs;
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Re-export expandPath for convenience
|
|
165
|
+
var config_manager_js_2 = require("../config/config-manager.js");
|
|
166
|
+
Object.defineProperty(exports, "expandPath", { enumerable: true, get: function () { return config_manager_js_2.expandPath; } });
|
|
167
|
+
//# sourceMappingURL=pid-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pid-manager.js","sourceRoot":"","sources":["../../../src/cli/utils/pid-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lane-based Concurrency System
|
|
3
|
+
*
|
|
4
|
+
* Provides queue-based concurrent task execution with:
|
|
5
|
+
* - Session lanes: Ensure same-session messages are processed in order
|
|
6
|
+
* - Global lane: Limit total concurrent API calls (rate limit protection)
|
|
7
|
+
* - 2-stage queueing: Session lane → Global lane
|
|
8
|
+
*/
|
|
9
|
+
export { LaneManager, getGlobalLaneManager, resetGlobalLaneManager } from './lane-manager.js';
|
|
10
|
+
export { buildSessionKey, buildChannelSessionKey, parseSessionKey } from './session-key.js';
|
|
11
|
+
export type { LaneState, QueueEntry, LaneManagerConfig, EnqueueOptions, LaneLogger, } from './types.js';
|
|
12
|
+
export { defaultLogger } from './types.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/concurrency/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE5F,YAAY,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Lane-based Concurrency System
|
|
4
|
+
*
|
|
5
|
+
* Provides queue-based concurrent task execution with:
|
|
6
|
+
* - Session lanes: Ensure same-session messages are processed in order
|
|
7
|
+
* - Global lane: Limit total concurrent API calls (rate limit protection)
|
|
8
|
+
* - 2-stage queueing: Session lane → Global lane
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.defaultLogger = exports.parseSessionKey = exports.buildChannelSessionKey = exports.buildSessionKey = exports.resetGlobalLaneManager = exports.getGlobalLaneManager = exports.LaneManager = void 0;
|
|
12
|
+
var lane_manager_js_1 = require("./lane-manager.js");
|
|
13
|
+
Object.defineProperty(exports, "LaneManager", { enumerable: true, get: function () { return lane_manager_js_1.LaneManager; } });
|
|
14
|
+
Object.defineProperty(exports, "getGlobalLaneManager", { enumerable: true, get: function () { return lane_manager_js_1.getGlobalLaneManager; } });
|
|
15
|
+
Object.defineProperty(exports, "resetGlobalLaneManager", { enumerable: true, get: function () { return lane_manager_js_1.resetGlobalLaneManager; } });
|
|
16
|
+
var session_key_js_1 = require("./session-key.js");
|
|
17
|
+
Object.defineProperty(exports, "buildSessionKey", { enumerable: true, get: function () { return session_key_js_1.buildSessionKey; } });
|
|
18
|
+
Object.defineProperty(exports, "buildChannelSessionKey", { enumerable: true, get: function () { return session_key_js_1.buildChannelSessionKey; } });
|
|
19
|
+
Object.defineProperty(exports, "parseSessionKey", { enumerable: true, get: function () { return session_key_js_1.parseSessionKey; } });
|
|
20
|
+
var types_js_1 = require("./types.js");
|
|
21
|
+
Object.defineProperty(exports, "defaultLogger", { enumerable: true, get: function () { return types_js_1.defaultLogger; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/concurrency/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,qDAA8F;AAArF,8GAAA,WAAW,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AAElE,mDAA4F;AAAnF,iHAAA,eAAe,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAAE,iHAAA,eAAe,OAAA;AAUjE,uCAA2C;AAAlC,yGAAA,aAAa,OAAA"}
|