@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 @@
|
|
|
1
|
+
{"version":3,"file":"ritual-prompt.js","sourceRoot":"","sources":["../../src/onboarding/ritual-prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwRnC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface RitualTool {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
input_schema: {
|
|
5
|
+
type: 'object';
|
|
6
|
+
properties: Record<string, any>;
|
|
7
|
+
required: string[];
|
|
8
|
+
};
|
|
9
|
+
handler: (input: any) => Promise<any>;
|
|
10
|
+
}
|
|
11
|
+
export declare function createRitualTools(onRitualComplete: () => void): RitualTool[];
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ritual-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ritual-tools.d.ts","sourceRoot":"","sources":["../../src/onboarding/ritual-tools.ts"],"names":[],"mappings":"AAQA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACvC;AAED,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,IAAI,GAAG,UAAU,EAAE,CA8F5E"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createRitualTools = createRitualTools;
|
|
4
|
+
const promises_1 = require("node:fs/promises");
|
|
5
|
+
const config_manager_js_1 = require("../cli/config/config-manager.js");
|
|
6
|
+
function createRitualTools(onRitualComplete) {
|
|
7
|
+
return [
|
|
8
|
+
{
|
|
9
|
+
name: 'write_file',
|
|
10
|
+
description: 'Write IDENTITY.md, USER.md, or SOUL.md to establish your identity',
|
|
11
|
+
input_schema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
filepath: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'File path relative to ~/.mama/ (e.g., "IDENTITY.md", "USER.md", "SOUL.md")',
|
|
17
|
+
},
|
|
18
|
+
content: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'File content in markdown format',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
required: ['filepath', 'content'],
|
|
24
|
+
},
|
|
25
|
+
handler: async (input) => {
|
|
26
|
+
if (!input.filepath || !input.content) {
|
|
27
|
+
return { success: false, error: 'filepath and content required' };
|
|
28
|
+
}
|
|
29
|
+
const allowedFiles = ['IDENTITY.md', 'USER.md', 'SOUL.md'];
|
|
30
|
+
if (!allowedFiles.includes(input.filepath)) {
|
|
31
|
+
return {
|
|
32
|
+
success: false,
|
|
33
|
+
error: `Only ${allowedFiles.join(', ')} are allowed during ritual`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const fullPath = (0, config_manager_js_1.expandPath)(`~/.mama/${input.filepath}`);
|
|
37
|
+
await (0, promises_1.writeFile)(fullPath, input.content, 'utf-8');
|
|
38
|
+
return {
|
|
39
|
+
success: true,
|
|
40
|
+
message: `Created ${input.filepath}`,
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'delete_file',
|
|
46
|
+
description: 'Delete BOOTSTRAP.md when ritual is complete',
|
|
47
|
+
input_schema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
filepath: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'File path (must be "BOOTSTRAP.md")',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
required: ['filepath'],
|
|
56
|
+
},
|
|
57
|
+
handler: async (input) => {
|
|
58
|
+
if (!input.filepath) {
|
|
59
|
+
return { success: false, error: 'filepath required' };
|
|
60
|
+
}
|
|
61
|
+
if (input.filepath !== 'BOOTSTRAP.md') {
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
error: 'Can only delete BOOTSTRAP.md',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const fullPath = (0, config_manager_js_1.expandPath)('~/.mama/BOOTSTRAP.md');
|
|
68
|
+
await (0, promises_1.unlink)(fullPath);
|
|
69
|
+
return {
|
|
70
|
+
success: true,
|
|
71
|
+
message: 'BOOTSTRAP.md deleted - ritual complete',
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'mark_ritual_complete',
|
|
77
|
+
description: 'Signal that the bootstrap ritual is finished. Call ONLY after all files are created.',
|
|
78
|
+
input_schema: {
|
|
79
|
+
type: 'object',
|
|
80
|
+
properties: {},
|
|
81
|
+
required: [],
|
|
82
|
+
},
|
|
83
|
+
handler: async () => {
|
|
84
|
+
onRitualComplete();
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
message: 'Ritual marked as complete - switching to normal setup mode',
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=ritual-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ritual-tools.js","sourceRoot":"","sources":["../../src/onboarding/ritual-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Runner
|
|
3
|
+
*
|
|
4
|
+
* Executes prompts via Claude Code CLI subprocess.
|
|
5
|
+
* Based on OpenClaw's cli-runner.js implementation.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Calls `claude -p --output-format json`
|
|
9
|
+
* - Supports session continuity via --session-id
|
|
10
|
+
* - Parses JSON output for response and usage
|
|
11
|
+
* - Handles timeouts and errors
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const runner = new CliRunner();
|
|
16
|
+
* const result = await runner.run('Hello!', { model: 'sonnet' });
|
|
17
|
+
* console.log(result.text);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import type { Runner, RunnerOptions, RunnerResult, CliBackendConfig } from './types.js';
|
|
21
|
+
/**
|
|
22
|
+
* CLI Runner implementation
|
|
23
|
+
*/
|
|
24
|
+
export declare class CliRunner implements Runner {
|
|
25
|
+
readonly type: "cli";
|
|
26
|
+
private config;
|
|
27
|
+
constructor(config?: Partial<CliBackendConfig>);
|
|
28
|
+
/**
|
|
29
|
+
* Run a prompt via CLI
|
|
30
|
+
*/
|
|
31
|
+
run(prompt: string, options?: RunnerOptions): Promise<RunnerResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Build CLI arguments
|
|
34
|
+
*/
|
|
35
|
+
private buildArgs;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve model alias to actual model name
|
|
38
|
+
*/
|
|
39
|
+
private resolveModelAlias;
|
|
40
|
+
/**
|
|
41
|
+
* Execute CLI command with timeout
|
|
42
|
+
*
|
|
43
|
+
* Uses execSync for reliable execution with Claude CLI
|
|
44
|
+
*/
|
|
45
|
+
private executeCommand;
|
|
46
|
+
/**
|
|
47
|
+
* Parse CLI JSON output
|
|
48
|
+
*/
|
|
49
|
+
private parseOutput;
|
|
50
|
+
/**
|
|
51
|
+
* Check if CLI is available
|
|
52
|
+
*/
|
|
53
|
+
static isAvailable(command?: string): Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* Get CLI version
|
|
56
|
+
*/
|
|
57
|
+
static getVersion(command?: string): Promise<string | null>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=cli-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-runner.d.ts","sourceRoot":"","sources":["../../src/runners/cli-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGxF;;GAEG;AACH,qBAAa,SAAU,YAAW,MAAM;IACtC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAE/B,OAAO,CAAC,MAAM,CAC6C;gBAE/C,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAa9C;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAMzE;;OAEG;IACH,OAAO,CAAC,SAAS;IAyBjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;OAIG;YACW,cAAc;IA4D5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAqBnB;;OAEG;WACU,WAAW,CAAC,OAAO,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAa9D;;OAEG;WACU,UAAU,CAAC,OAAO,SAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAYpE"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CLI Runner
|
|
4
|
+
*
|
|
5
|
+
* Executes prompts via Claude Code CLI subprocess.
|
|
6
|
+
* Based on OpenClaw's cli-runner.js implementation.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Calls `claude -p --output-format json`
|
|
10
|
+
* - Supports session continuity via --session-id
|
|
11
|
+
* - Parses JSON output for response and usage
|
|
12
|
+
* - Handles timeouts and errors
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const runner = new CliRunner();
|
|
17
|
+
* const result = await runner.run('Hello!', { model: 'sonnet' });
|
|
18
|
+
* console.log(result.text);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.CliRunner = void 0;
|
|
23
|
+
const child_process_1 = require("child_process");
|
|
24
|
+
const types_js_1 = require("./types.js");
|
|
25
|
+
/**
|
|
26
|
+
* CLI Runner implementation
|
|
27
|
+
*/
|
|
28
|
+
class CliRunner {
|
|
29
|
+
type = 'cli';
|
|
30
|
+
config;
|
|
31
|
+
constructor(config) {
|
|
32
|
+
this.config = {
|
|
33
|
+
command: config?.command ?? types_js_1.DEFAULT_CLAUDE_BACKEND.command,
|
|
34
|
+
args: config?.args ?? types_js_1.DEFAULT_CLAUDE_BACKEND.args,
|
|
35
|
+
timeoutMs: config?.timeoutMs ?? types_js_1.DEFAULT_CLAUDE_BACKEND.timeoutMs,
|
|
36
|
+
modelArg: config?.modelArg ?? types_js_1.DEFAULT_CLAUDE_BACKEND.modelArg,
|
|
37
|
+
sessionArg: config?.sessionArg ?? types_js_1.DEFAULT_CLAUDE_BACKEND.sessionArg,
|
|
38
|
+
systemPromptArg: config?.systemPromptArg ?? types_js_1.DEFAULT_CLAUDE_BACKEND.systemPromptArg,
|
|
39
|
+
serialize: config?.serialize ?? types_js_1.DEFAULT_CLAUDE_BACKEND.serialize,
|
|
40
|
+
modelAliases: config?.modelAliases ?? types_js_1.DEFAULT_CLAUDE_BACKEND.modelAliases,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Run a prompt via CLI
|
|
45
|
+
*/
|
|
46
|
+
async run(prompt, options) {
|
|
47
|
+
const args = this.buildArgs(prompt, options);
|
|
48
|
+
const result = await this.executeCommand(args, options);
|
|
49
|
+
return this.parseOutput(result.stdout);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build CLI arguments
|
|
53
|
+
*/
|
|
54
|
+
buildArgs(prompt, options) {
|
|
55
|
+
const args = [...this.config.args];
|
|
56
|
+
// Add model argument
|
|
57
|
+
if (this.config.modelArg && options?.model) {
|
|
58
|
+
const model = this.resolveModelAlias(options.model);
|
|
59
|
+
args.push(this.config.modelArg, model);
|
|
60
|
+
}
|
|
61
|
+
// Add session ID argument
|
|
62
|
+
if (this.config.sessionArg && options?.sessionId) {
|
|
63
|
+
args.push(this.config.sessionArg, options.sessionId);
|
|
64
|
+
}
|
|
65
|
+
// Add system prompt argument
|
|
66
|
+
if (this.config.systemPromptArg && options?.systemPrompt) {
|
|
67
|
+
args.push(this.config.systemPromptArg, options.systemPrompt);
|
|
68
|
+
}
|
|
69
|
+
// Add prompt as the final argument
|
|
70
|
+
args.push(prompt);
|
|
71
|
+
return args;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Resolve model alias to actual model name
|
|
75
|
+
*/
|
|
76
|
+
resolveModelAlias(model) {
|
|
77
|
+
return this.config.modelAliases?.[model] ?? model;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Execute CLI command with timeout
|
|
81
|
+
*
|
|
82
|
+
* Uses execSync for reliable execution with Claude CLI
|
|
83
|
+
*/
|
|
84
|
+
async executeCommand(args, options) {
|
|
85
|
+
const timeout = options?.timeoutMs ?? this.config.timeoutMs;
|
|
86
|
+
const cwd = options?.workspaceDir ?? process.cwd();
|
|
87
|
+
// Build command string with proper escaping
|
|
88
|
+
const escapedArgs = args.map((arg) => {
|
|
89
|
+
// Escape single quotes and wrap in single quotes
|
|
90
|
+
if (arg.includes("'") || arg.includes('"') || arg.includes(' ') || arg.includes('\n')) {
|
|
91
|
+
return `'${arg.replace(/'/g, "'\\''")}'`;
|
|
92
|
+
}
|
|
93
|
+
return arg;
|
|
94
|
+
});
|
|
95
|
+
const command = `${this.config.command} ${escapedArgs.join(' ')}`;
|
|
96
|
+
// Environment without ANTHROPIC_API_KEY so CLI uses its own auth
|
|
97
|
+
const env = { ...process.env };
|
|
98
|
+
delete env.ANTHROPIC_API_KEY;
|
|
99
|
+
// Use execSync wrapped in Promise for async interface
|
|
100
|
+
// This is needed because promisified exec has issues with Claude CLI
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
// Run in next tick to not block the event loop setup
|
|
103
|
+
setImmediate(() => {
|
|
104
|
+
try {
|
|
105
|
+
const stdout = (0, child_process_1.execSync)(command, {
|
|
106
|
+
cwd,
|
|
107
|
+
env,
|
|
108
|
+
timeout,
|
|
109
|
+
maxBuffer: 10 * 1024 * 1024, // 10MB buffer
|
|
110
|
+
encoding: 'utf-8',
|
|
111
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
112
|
+
});
|
|
113
|
+
resolve({ stdout, stderr: '', code: 0 });
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
// execSync throws on non-zero exit or timeout
|
|
117
|
+
if (error.killed) {
|
|
118
|
+
reject(new Error(`CLI timeout after ${timeout}ms`));
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (error.status !== undefined && error.status !== 0) {
|
|
122
|
+
const errorMessage = error.stderr?.toString().trim() ||
|
|
123
|
+
error.stdout?.toString().trim() ||
|
|
124
|
+
`CLI exited with code ${error.status}`;
|
|
125
|
+
reject(new Error(errorMessage));
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
reject(new Error(`Failed to execute CLI: ${error.message}`));
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Parse CLI JSON output
|
|
135
|
+
*/
|
|
136
|
+
parseOutput(stdout) {
|
|
137
|
+
try {
|
|
138
|
+
const json = JSON.parse(stdout.trim());
|
|
139
|
+
return {
|
|
140
|
+
text: json.result ?? json.response ?? json.text ?? stdout.trim(),
|
|
141
|
+
sessionId: json.session_id ?? json.sessionId ?? json.conversation_id,
|
|
142
|
+
usage: json.usage
|
|
143
|
+
? {
|
|
144
|
+
inputTokens: json.usage.input_tokens ?? 0,
|
|
145
|
+
outputTokens: json.usage.output_tokens ?? 0,
|
|
146
|
+
}
|
|
147
|
+
: undefined,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// JSON parsing failed, return raw output
|
|
152
|
+
console.warn('[CliRunner] Failed to parse JSON output, returning raw text');
|
|
153
|
+
return { text: stdout.trim() };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Check if CLI is available
|
|
158
|
+
*/
|
|
159
|
+
static async isAvailable(command = 'claude') {
|
|
160
|
+
try {
|
|
161
|
+
(0, child_process_1.execSync)(`${command} --version`, {
|
|
162
|
+
timeout: 5000,
|
|
163
|
+
encoding: 'utf-8',
|
|
164
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
165
|
+
});
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get CLI version
|
|
174
|
+
*/
|
|
175
|
+
static async getVersion(command = 'claude') {
|
|
176
|
+
try {
|
|
177
|
+
const stdout = (0, child_process_1.execSync)(`${command} --version`, {
|
|
178
|
+
timeout: 5000,
|
|
179
|
+
encoding: 'utf-8',
|
|
180
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
181
|
+
});
|
|
182
|
+
return stdout.trim();
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.CliRunner = CliRunner;
|
|
190
|
+
//# sourceMappingURL=cli-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../../src/runners/cli-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runner Module
|
|
3
|
+
*
|
|
4
|
+
* Provides dual runner architecture:
|
|
5
|
+
* - Embedded Runner: Direct Anthropic API calls
|
|
6
|
+
* - CLI Runner: Claude Code CLI subprocess
|
|
7
|
+
*/
|
|
8
|
+
export { CliRunner } from './cli-runner.js';
|
|
9
|
+
export type { Runner, RunnerType, RunnerOptions, RunnerResult, CliBackendConfig } from './types.js';
|
|
10
|
+
export { DEFAULT_CLAUDE_BACKEND } from './types.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runners/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runner Module
|
|
4
|
+
*
|
|
5
|
+
* Provides dual runner architecture:
|
|
6
|
+
* - Embedded Runner: Direct Anthropic API calls
|
|
7
|
+
* - CLI Runner: Claude Code CLI subprocess
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DEFAULT_CLAUDE_BACKEND = exports.CliRunner = void 0;
|
|
11
|
+
var cli_runner_js_1 = require("./cli-runner.js");
|
|
12
|
+
Object.defineProperty(exports, "CliRunner", { enumerable: true, get: function () { return cli_runner_js_1.CliRunner; } });
|
|
13
|
+
var types_js_1 = require("./types.js");
|
|
14
|
+
Object.defineProperty(exports, "DEFAULT_CLAUDE_BACKEND", { enumerable: true, get: function () { return types_js_1.DEFAULT_CLAUDE_BACKEND; } });
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runners/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iDAA4C;AAAnC,0GAAA,SAAS,OAAA;AAIlB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runner Types
|
|
3
|
+
*
|
|
4
|
+
* Defines common interfaces for Embedded and CLI runners.
|
|
5
|
+
* Enables dual runner architecture for MAMA Standalone.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Runner types
|
|
9
|
+
*/
|
|
10
|
+
export type RunnerType = 'embedded' | 'cli';
|
|
11
|
+
/**
|
|
12
|
+
* Options for running a prompt
|
|
13
|
+
*/
|
|
14
|
+
export interface RunnerOptions {
|
|
15
|
+
/** Model to use (e.g., "opus", "sonnet") */
|
|
16
|
+
model?: string;
|
|
17
|
+
/** System prompt to prepend */
|
|
18
|
+
systemPrompt?: string;
|
|
19
|
+
/** Session ID for conversation continuity */
|
|
20
|
+
sessionId?: string;
|
|
21
|
+
/** Working directory for CLI execution */
|
|
22
|
+
workspaceDir?: string;
|
|
23
|
+
/** Timeout in milliseconds */
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Result from a runner execution
|
|
28
|
+
*/
|
|
29
|
+
export interface RunnerResult {
|
|
30
|
+
/** Response text */
|
|
31
|
+
text: string;
|
|
32
|
+
/** Session ID returned from CLI (for continuity) */
|
|
33
|
+
sessionId?: string;
|
|
34
|
+
/** Token usage statistics */
|
|
35
|
+
usage?: {
|
|
36
|
+
inputTokens: number;
|
|
37
|
+
outputTokens: number;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Common runner interface
|
|
42
|
+
*/
|
|
43
|
+
export interface Runner {
|
|
44
|
+
/** Runner type identifier */
|
|
45
|
+
readonly type: RunnerType;
|
|
46
|
+
/**
|
|
47
|
+
* Run a prompt and get response
|
|
48
|
+
*
|
|
49
|
+
* @param prompt - User prompt
|
|
50
|
+
* @param options - Runner options
|
|
51
|
+
* @returns Promise resolving to runner result
|
|
52
|
+
*/
|
|
53
|
+
run(prompt: string, options?: RunnerOptions): Promise<RunnerResult>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* CLI Backend configuration
|
|
57
|
+
* Based on OpenClaw's cli-backends.js
|
|
58
|
+
*/
|
|
59
|
+
export interface CliBackendConfig {
|
|
60
|
+
/** CLI command to execute (e.g., "claude") */
|
|
61
|
+
command: string;
|
|
62
|
+
/** Base arguments for the command */
|
|
63
|
+
args: string[];
|
|
64
|
+
/** Argument for specifying model */
|
|
65
|
+
modelArg?: string;
|
|
66
|
+
/** Argument for specifying session ID */
|
|
67
|
+
sessionArg?: string;
|
|
68
|
+
/** Argument for appending system prompt */
|
|
69
|
+
systemPromptArg?: string;
|
|
70
|
+
/** Timeout in milliseconds (default: 120000) */
|
|
71
|
+
timeoutMs?: number;
|
|
72
|
+
/** Whether to serialize (queue) CLI calls */
|
|
73
|
+
serialize?: boolean;
|
|
74
|
+
/** Model aliases (e.g., "opus" → "claude-opus-4") */
|
|
75
|
+
modelAliases?: Record<string, string>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Default Claude Code CLI backend configuration
|
|
79
|
+
*/
|
|
80
|
+
export declare const DEFAULT_CLAUDE_BACKEND: CliBackendConfig;
|
|
81
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runners/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,gBAiBpC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runner Types
|
|
4
|
+
*
|
|
5
|
+
* Defines common interfaces for Embedded and CLI runners.
|
|
6
|
+
* Enables dual runner architecture for MAMA Standalone.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DEFAULT_CLAUDE_BACKEND = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Default Claude Code CLI backend configuration
|
|
12
|
+
*/
|
|
13
|
+
exports.DEFAULT_CLAUDE_BACKEND = {
|
|
14
|
+
command: 'claude',
|
|
15
|
+
args: ['-p', '--output-format', 'json', '--dangerously-skip-permissions'],
|
|
16
|
+
modelArg: '--model',
|
|
17
|
+
sessionArg: '--session-id',
|
|
18
|
+
systemPromptArg: '--append-system-prompt',
|
|
19
|
+
timeoutMs: 120000,
|
|
20
|
+
serialize: true,
|
|
21
|
+
modelAliases: {
|
|
22
|
+
opus: 'opus',
|
|
23
|
+
'opus-4.5': 'opus',
|
|
24
|
+
'opus-4': 'opus',
|
|
25
|
+
sonnet: 'sonnet',
|
|
26
|
+
'sonnet-4': 'sonnet',
|
|
27
|
+
haiku: 'haiku',
|
|
28
|
+
'haiku-3.5': 'haiku',
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runners/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAqFH;;GAEG;AACU,QAAA,sBAAsB,GAAqB;IACtD,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,CAAC;IACzE,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,cAAc;IAC1B,eAAe,EAAE,wBAAwB;IACzC,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,OAAO;KACrB;CACF,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron Scheduler for MAMA Standalone
|
|
3
|
+
*
|
|
4
|
+
* Schedules and executes jobs based on cron expressions.
|
|
5
|
+
* Uses node-cron for scheduling and cron-parser for next run calculation.
|
|
6
|
+
*/
|
|
7
|
+
import type { CronJob, JobConfig, JobResult, JobEventHandler, SchedulerOptions } from './types.js';
|
|
8
|
+
export declare class CronScheduler {
|
|
9
|
+
private readonly jobs;
|
|
10
|
+
private readonly lock;
|
|
11
|
+
private readonly options;
|
|
12
|
+
private readonly eventHandlers;
|
|
13
|
+
private executeCallback?;
|
|
14
|
+
constructor(options?: SchedulerOptions);
|
|
15
|
+
/**
|
|
16
|
+
* Set the execution callback (typically AgentLoop.run)
|
|
17
|
+
*
|
|
18
|
+
* @param callback - Function to execute for each job
|
|
19
|
+
*/
|
|
20
|
+
setExecuteCallback(callback: (prompt: string) => Promise<string>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Add a job to the scheduler
|
|
23
|
+
*
|
|
24
|
+
* @param config - Job configuration
|
|
25
|
+
* @returns Job ID
|
|
26
|
+
* @throws SchedulerError if cron expression is invalid or job already exists
|
|
27
|
+
*/
|
|
28
|
+
addJob(config: JobConfig): string;
|
|
29
|
+
/**
|
|
30
|
+
* Remove a job from the scheduler
|
|
31
|
+
*
|
|
32
|
+
* @param jobId - Job identifier
|
|
33
|
+
* @throws SchedulerError if job not found
|
|
34
|
+
*/
|
|
35
|
+
removeJob(jobId: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Enable a job
|
|
38
|
+
*
|
|
39
|
+
* @param jobId - Job identifier
|
|
40
|
+
* @throws SchedulerError if job not found
|
|
41
|
+
*/
|
|
42
|
+
enableJob(jobId: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Disable a job
|
|
45
|
+
*
|
|
46
|
+
* @param jobId - Job identifier
|
|
47
|
+
* @throws SchedulerError if job not found
|
|
48
|
+
*/
|
|
49
|
+
disableJob(jobId: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* Execute a job immediately
|
|
52
|
+
*
|
|
53
|
+
* @param jobId - Job identifier
|
|
54
|
+
* @throws SchedulerError if job not found
|
|
55
|
+
*/
|
|
56
|
+
runNow(jobId: string): Promise<JobResult>;
|
|
57
|
+
/**
|
|
58
|
+
* Get a job by ID
|
|
59
|
+
*
|
|
60
|
+
* @param jobId - Job identifier
|
|
61
|
+
* @returns Job info (without internal task object)
|
|
62
|
+
*/
|
|
63
|
+
getJob(jobId: string): CronJob | null;
|
|
64
|
+
/**
|
|
65
|
+
* List all jobs
|
|
66
|
+
*
|
|
67
|
+
* @returns Array of job info (without internal task objects)
|
|
68
|
+
*/
|
|
69
|
+
listJobs(): CronJob[];
|
|
70
|
+
/**
|
|
71
|
+
* Check if a job is currently running
|
|
72
|
+
*
|
|
73
|
+
* @param jobId - Job identifier
|
|
74
|
+
*/
|
|
75
|
+
isJobRunning(jobId: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Add an event handler
|
|
78
|
+
*
|
|
79
|
+
* @param handler - Event handler function
|
|
80
|
+
*/
|
|
81
|
+
onEvent(handler: JobEventHandler): void;
|
|
82
|
+
/**
|
|
83
|
+
* Calculate next run time for a cron expression
|
|
84
|
+
*
|
|
85
|
+
* @param cronExpr - Cron expression
|
|
86
|
+
* @returns Next run date
|
|
87
|
+
*/
|
|
88
|
+
calculateNextRun(cronExpr: string): Date;
|
|
89
|
+
/**
|
|
90
|
+
* Stop all jobs and clean up
|
|
91
|
+
*/
|
|
92
|
+
shutdown(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Execute a job
|
|
95
|
+
*
|
|
96
|
+
* @param jobId - Job identifier
|
|
97
|
+
*/
|
|
98
|
+
private executeJob;
|
|
99
|
+
/**
|
|
100
|
+
* Convert internal job to public job (without task)
|
|
101
|
+
*/
|
|
102
|
+
private toPublicJob;
|
|
103
|
+
/**
|
|
104
|
+
* Emit an event to all handlers
|
|
105
|
+
*/
|
|
106
|
+
private emitEvent;
|
|
107
|
+
/**
|
|
108
|
+
* Validate a cron expression
|
|
109
|
+
*
|
|
110
|
+
* @param cronExpr - Cron expression to validate
|
|
111
|
+
* @returns true if valid
|
|
112
|
+
*/
|
|
113
|
+
static validate(cronExpr: string): boolean;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=cron-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/cron-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,SAAS,EAET,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAmBpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuC;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,eAAe,CAAC,CAAsC;gBAElD,OAAO,GAAE,gBAAqB;IAK1C;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvE;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAqCjC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkB9B;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc9B;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc/B;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAU/C;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQrC;;;;OAIG;IACH,QAAQ,IAAI,OAAO,EAAE;IAIrB;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIvC;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAYxC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;;;OAIG;YACW,UAAU;IAqFxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAG3C"}
|