daycare-cli 2026.2.11 → 2026.2.22
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/dist/engine/agents/agent.d.ts +6 -0
- package/dist/engine/agents/agent.d.ts.map +1 -1
- package/dist/engine/agents/agent.js +77 -5
- package/dist/engine/agents/agent.js.map +1 -1
- package/dist/engine/agents/agentSystem.d.ts +5 -0
- package/dist/engine/agents/agentSystem.d.ts.map +1 -1
- package/dist/engine/agents/agentSystem.js +47 -1
- package/dist/engine/agents/agentSystem.js.map +1 -1
- package/dist/engine/agents/agentSystemDurableInbox.spec.d.ts +2 -0
- package/dist/engine/agents/agentSystemDurableInbox.spec.d.ts.map +1 -0
- package/dist/engine/agents/agentSystemDurableInbox.spec.js +225 -0
- package/dist/engine/agents/agentSystemDurableInbox.spec.js.map +1 -0
- package/dist/engine/agents/ops/agentBackgroundList.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentBackgroundList.js +3 -1
- package/dist/engine/agents/ops/agentBackgroundList.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorCacheKey.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorCacheKey.js +2 -0
- package/dist/engine/agents/ops/agentDescriptorCacheKey.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js +3 -0
- package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorIsHeartbeat.spec.js +1 -1
- package/dist/engine/agents/ops/agentDescriptorIsHeartbeat.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.js +3 -0
- package/dist/engine/agents/ops/agentDescriptorLabel.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.spec.js +0 -1
- package/dist/engine/agents/ops/agentDescriptorLabel.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentDescriptorTypes.d.ts +3 -0
- package/dist/engine/agents/ops/agentDescriptorTypes.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentHistoryContext.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentHistoryContext.js +14 -0
- package/dist/engine/agents/ops/agentHistoryContext.js.map +1 -1
- package/dist/engine/agents/ops/agentHistoryContext.spec.js +107 -0
- package/dist/engine/agents/ops/agentHistoryContext.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentInbox.d.ts +7 -1
- package/dist/engine/agents/ops/agentInbox.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentInbox.js +4 -4
- package/dist/engine/agents/ops/agentInbox.js.map +1 -1
- package/dist/engine/agents/ops/agentInbox.spec.js +16 -0
- package/dist/engine/agents/ops/agentInbox.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.d.ts +2 -0
- package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.js +34 -6
- package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
- package/dist/engine/agents/ops/agentLoopRun.spec.js +107 -31
- package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.d.ts +7 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.d.ts.map +1 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.js +16 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.js.map +1 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.d.ts +2 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.d.ts.map +1 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.js +20 -0
- package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.js.map +1 -0
- package/dist/engine/agents/ops/agentPromptResolve.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.js +8 -0
- package/dist/engine/agents/ops/agentPromptResolve.js.map +1 -1
- package/dist/engine/agents/ops/agentPromptResolve.spec.js +8 -0
- package/dist/engine/agents/ops/agentPromptResolve.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.js +8 -1
- package/dist/engine/agents/ops/agentSystemPrompt.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPrompt.spec.js +39 -8
- package/dist/engine/agents/ops/agentSystemPrompt.spec.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +2 -0
- package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +1 -3
- package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js +15 -1
- package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js.map +1 -1
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.d.ts +11 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.d.ts.map +1 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.js +17 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.js.map +1 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.d.ts +2 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.d.ts.map +1 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.js +26 -0
- package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.js.map +1 -0
- package/dist/engine/agents/ops/agentTypes.d.ts +0 -2
- package/dist/engine/agents/ops/agentTypes.d.ts.map +1 -1
- package/dist/engine/agents/ops/inboxItemDeserialize.d.ts +7 -0
- package/dist/engine/agents/ops/inboxItemDeserialize.d.ts.map +1 -0
- package/dist/engine/agents/ops/inboxItemDeserialize.js +27 -0
- package/dist/engine/agents/ops/inboxItemDeserialize.js.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.d.ts +7 -0
- package/dist/engine/agents/ops/inboxItemSerialize.d.ts.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.js +8 -0
- package/dist/engine/agents/ops/inboxItemSerialize.js.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.d.ts +2 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.d.ts.map +1 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.js +51 -0
- package/dist/engine/agents/ops/inboxItemSerialize.spec.js.map +1 -0
- package/dist/engine/agents/system/_systemAgents.d.ts.map +1 -1
- package/dist/engine/agents/system/_systemAgents.js +0 -5
- package/dist/engine/agents/system/_systemAgents.js.map +1 -1
- package/dist/engine/agents/system/systemAgentPromptResolve.spec.js +0 -6
- package/dist/engine/agents/system/systemAgentPromptResolve.spec.js.map +1 -1
- package/dist/engine/agents/system/systemAgentTagIs.spec.js +3 -4
- package/dist/engine/agents/system/systemAgentTagIs.spec.js.map +1 -1
- package/dist/engine/apps/appExecute.d.ts +1 -1
- package/dist/engine/apps/appExecute.d.ts.map +1 -1
- package/dist/engine/apps/appExecute.js +2 -19
- package/dist/engine/apps/appExecute.js.map +1 -1
- package/dist/engine/apps/appExecute.spec.js +2 -4
- package/dist/engine/apps/appExecute.spec.js.map +1 -1
- package/dist/engine/apps/appToolExecutorBuild.spec.js +11 -9
- package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
- package/dist/engine/cron/cronTypes.d.ts +0 -2
- package/dist/engine/cron/cronTypes.d.ts.map +1 -1
- package/dist/engine/cron/crons.d.ts.map +1 -1
- package/dist/engine/cron/crons.js +0 -6
- package/dist/engine/cron/crons.js.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.d.ts +1 -7
- package/dist/engine/cron/ops/cronScheduler.d.ts.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.js +2 -41
- package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
- package/dist/engine/cron/ops/cronScheduler.spec.js +7 -82
- package/dist/engine/cron/ops/cronScheduler.spec.js.map +1 -1
- package/dist/engine/engine.d.ts +3 -0
- package/dist/engine/engine.d.ts.map +1 -1
- package/dist/engine/engine.js +21 -0
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/heartbeat/heartbeatTypes.d.ts +0 -5
- package/dist/engine/heartbeat/heartbeatTypes.d.ts.map +1 -1
- package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
- package/dist/engine/heartbeat/heartbeats.js +0 -5
- package/dist/engine/heartbeat/heartbeats.js.map +1 -1
- package/dist/engine/heartbeat/heartbeats.spec.js +0 -1
- package/dist/engine/heartbeat/heartbeats.spec.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatPromptBuildBatch.spec.js +0 -1
- package/dist/engine/heartbeat/ops/heartbeatPromptBuildBatch.spec.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts +0 -3
- package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.js +6 -53
- package/dist/engine/heartbeat/ops/heartbeatScheduler.js.map +1 -1
- package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js +4 -75
- package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js.map +1 -1
- package/dist/engine/ipc/server.d.ts.map +1 -1
- package/dist/engine/ipc/server.js +14 -0
- package/dist/engine/ipc/server.js.map +1 -1
- package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts +24 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts.map +1 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.js +54 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.js.map +1 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.spec.d.ts +2 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.spec.d.ts.map +1 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js +157 -0
- package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphNodeParse.d.ts +7 -0
- package/dist/engine/memory/graph/graphNodeParse.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphNodeParse.js +122 -0
- package/dist/engine/memory/graph/graphNodeParse.js.map +1 -0
- package/dist/engine/memory/graph/graphNodeParse.spec.d.ts +2 -0
- package/dist/engine/memory/graph/graphNodeParse.spec.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphNodeParse.spec.js +68 -0
- package/dist/engine/memory/graph/graphNodeParse.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphNodeSerialize.d.ts +7 -0
- package/dist/engine/memory/graph/graphNodeSerialize.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphNodeSerialize.js +17 -0
- package/dist/engine/memory/graph/graphNodeSerialize.js.map +1 -0
- package/dist/engine/memory/graph/graphNodeSerialize.spec.d.ts +2 -0
- package/dist/engine/memory/graph/graphNodeSerialize.spec.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphNodeSerialize.spec.js +45 -0
- package/dist/engine/memory/graph/graphNodeSerialize.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphRootNodeRead.d.ts +8 -0
- package/dist/engine/memory/graph/graphRootNodeRead.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphRootNodeRead.js +23 -0
- package/dist/engine/memory/graph/graphRootNodeRead.js.map +1 -0
- package/dist/engine/memory/graph/graphRootNodeRead.spec.d.ts +2 -0
- package/dist/engine/memory/graph/graphRootNodeRead.spec.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphRootNodeRead.spec.js +14 -0
- package/dist/engine/memory/graph/graphRootNodeRead.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphStoreRead.d.ts +7 -0
- package/dist/engine/memory/graph/graphStoreRead.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphStoreRead.js +32 -0
- package/dist/engine/memory/graph/graphStoreRead.js.map +1 -0
- package/dist/engine/memory/graph/graphStoreRead.spec.d.ts +2 -0
- package/dist/engine/memory/graph/graphStoreRead.spec.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphStoreRead.spec.js +57 -0
- package/dist/engine/memory/graph/graphStoreRead.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphStoreWrite.d.ts +7 -0
- package/dist/engine/memory/graph/graphStoreWrite.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphStoreWrite.js +18 -0
- package/dist/engine/memory/graph/graphStoreWrite.js.map +1 -0
- package/dist/engine/memory/graph/graphStoreWrite.spec.d.ts +2 -0
- package/dist/engine/memory/graph/graphStoreWrite.spec.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphStoreWrite.spec.js +50 -0
- package/dist/engine/memory/graph/graphStoreWrite.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphTreeBuild.d.ts +9 -0
- package/dist/engine/memory/graph/graphTreeBuild.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphTreeBuild.js +85 -0
- package/dist/engine/memory/graph/graphTreeBuild.js.map +1 -0
- package/dist/engine/memory/graph/graphTreeBuild.spec.d.ts +2 -0
- package/dist/engine/memory/graph/graphTreeBuild.spec.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphTreeBuild.spec.js +46 -0
- package/dist/engine/memory/graph/graphTreeBuild.spec.js.map +1 -0
- package/dist/engine/memory/graph/graphTypes.d.ts +19 -0
- package/dist/engine/memory/graph/graphTypes.d.ts.map +1 -0
- package/dist/engine/memory/graph/graphTypes.js +2 -0
- package/dist/engine/memory/graph/graphTypes.js.map +1 -0
- package/dist/engine/memory/infer/inferObservations.d.ts +19 -0
- package/dist/engine/memory/infer/inferObservations.d.ts.map +1 -0
- package/dist/engine/memory/infer/inferObservations.js +67 -0
- package/dist/engine/memory/infer/inferObservations.js.map +1 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.d.ts +7 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.d.ts.map +1 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.js +46 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.js.map +1 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.d.ts +2 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.d.ts.map +1 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.js +89 -0
- package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.js.map +1 -0
- package/dist/engine/memory/infer/utils/parseObservations.d.ts +7 -0
- package/dist/engine/memory/infer/utils/parseObservations.d.ts.map +1 -0
- package/dist/engine/memory/infer/utils/parseObservations.js +24 -0
- package/dist/engine/memory/infer/utils/parseObservations.js.map +1 -0
- package/dist/engine/memory/infer/utils/parseObservations.spec.d.ts +2 -0
- package/dist/engine/memory/infer/utils/parseObservations.spec.d.ts.map +1 -0
- package/dist/engine/memory/infer/utils/parseObservations.spec.js +31 -0
- package/dist/engine/memory/infer/utils/parseObservations.spec.js.map +1 -0
- package/dist/engine/memory/memory.d.ts +18 -0
- package/dist/engine/memory/memory.d.ts.map +1 -0
- package/dist/engine/memory/memory.js +71 -0
- package/dist/engine/memory/memory.js.map +1 -0
- package/dist/engine/memory/memory.spec.d.ts +2 -0
- package/dist/engine/memory/memory.spec.d.ts.map +1 -0
- package/dist/engine/memory/memory.spec.js +68 -0
- package/dist/engine/memory/memory.spec.js.map +1 -0
- package/dist/engine/memory/memorySessionObserve.d.ts +22 -0
- package/dist/engine/memory/memorySessionObserve.d.ts.map +1 -0
- package/dist/engine/memory/memorySessionObserve.js +21 -0
- package/dist/engine/memory/memorySessionObserve.js.map +1 -0
- package/dist/engine/memory/memorySessionObserve.spec.d.ts +2 -0
- package/dist/engine/memory/memorySessionObserve.spec.d.ts.map +1 -0
- package/dist/engine/memory/memorySessionObserve.spec.js +112 -0
- package/dist/engine/memory/memorySessionObserve.spec.js.map +1 -0
- package/dist/engine/memory/memoryWorker.d.ts +39 -0
- package/dist/engine/memory/memoryWorker.d.ts.map +1 -0
- package/dist/engine/memory/memoryWorker.js +125 -0
- package/dist/engine/memory/memoryWorker.js.map +1 -0
- package/dist/engine/memory/memoryWorker.spec.d.ts +2 -0
- package/dist/engine/memory/memoryWorker.spec.d.ts.map +1 -0
- package/dist/engine/memory/memoryWorker.spec.js +211 -0
- package/dist/engine/memory/memoryWorker.spec.js.map +1 -0
- package/dist/engine/memory/observationLogAppend.d.ts +9 -0
- package/dist/engine/memory/observationLogAppend.d.ts.map +1 -0
- package/dist/engine/memory/observationLogAppend.js +26 -0
- package/dist/engine/memory/observationLogAppend.js.map +1 -0
- package/dist/engine/memory/observationLogAppend.spec.d.ts +2 -0
- package/dist/engine/memory/observationLogAppend.spec.d.ts.map +1 -0
- package/dist/engine/memory/observationLogAppend.spec.js +67 -0
- package/dist/engine/memory/observationLogAppend.spec.js.map +1 -0
- package/dist/engine/modules/executablePrompts/executablePromptExpand.d.ts.map +1 -1
- package/dist/engine/modules/executablePrompts/executablePromptExpand.js +2 -1
- package/dist/engine/modules/executablePrompts/executablePromptExpand.js.map +1 -1
- package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js +1 -0
- package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js.map +1 -1
- package/dist/engine/modules/inference/router.d.ts +1 -0
- package/dist/engine/modules/inference/router.d.ts.map +1 -1
- package/dist/engine/modules/inference/router.js +1 -0
- package/dist/engine/modules/inference/router.js.map +1 -1
- package/dist/engine/modules/rlm/rlmExecute.d.ts.map +1 -1
- package/dist/engine/modules/rlm/rlmExecute.js +2 -1
- package/dist/engine/modules/rlm/rlmExecute.js.map +1 -1
- package/dist/engine/modules/rlm/rlmExecute.spec.js +1 -0
- package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmRestore.d.ts.map +1 -1
- package/dist/engine/modules/rlm/rlmRestore.js +2 -1
- package/dist/engine/modules/rlm/rlmRestore.js.map +1 -1
- package/dist/engine/modules/rlm/rlmRestore.spec.js +1 -0
- package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmTool.d.ts.map +1 -1
- package/dist/engine/modules/rlm/rlmTool.js +2 -1
- package/dist/engine/modules/rlm/rlmTool.js.map +1 -1
- package/dist/engine/modules/rlm/rlmTool.spec.js +73 -0
- package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.d.ts +9 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.d.ts.map +1 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.js +18 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.js.map +1 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.d.ts +2 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.d.ts.map +1 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js +77 -0
- package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js.map +1 -0
- package/dist/engine/modules/toolResolver.d.ts +3 -2
- package/dist/engine/modules/toolResolver.d.ts.map +1 -1
- package/dist/engine/modules/toolResolver.js +31 -9
- package/dist/engine/modules/toolResolver.js.map +1 -1
- package/dist/engine/modules/toolResolver.spec.js +101 -0
- package/dist/engine/modules/toolResolver.spec.js.map +1 -1
- package/dist/engine/modules/tools/channelSendTool.js +3 -0
- package/dist/engine/modules/tools/channelSendTool.js.map +1 -1
- package/dist/engine/modules/tools/cron.d.ts.map +1 -1
- package/dist/engine/modules/tools/cron.js +2 -28
- package/dist/engine/modules/tools/cron.js.map +1 -1
- package/dist/engine/modules/tools/heartbeat.d.ts.map +1 -1
- package/dist/engine/modules/tools/heartbeat.js +2 -27
- package/dist/engine/modules/tools/heartbeat.js.map +1 -1
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.d.ts +8 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.js +99 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js +112 -0
- package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.d.ts +10 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.d.ts.map +1 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js +115 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js.map +1 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.d.ts +2 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.d.ts.map +1 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js +163 -0
- package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js.map +1 -0
- package/dist/engine/modules/tools/topologyToolBuild.spec.js +0 -3
- package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
- package/dist/engine/modules/tools/types.d.ts +10 -1
- package/dist/engine/modules/tools/types.d.ts.map +1 -1
- package/dist/engine/permissions/permissionBuildUser.d.ts.map +1 -1
- package/dist/engine/permissions/permissionBuildUser.js +5 -1
- package/dist/engine/permissions/permissionBuildUser.js.map +1 -1
- package/dist/engine/permissions/permissionBuildUser.spec.js +2 -1
- package/dist/engine/permissions/permissionBuildUser.spec.js.map +1 -1
- package/dist/engine/permissions.d.ts +1 -0
- package/dist/engine/permissions.d.ts.map +1 -1
- package/dist/engine/permissions.js +12 -2
- package/dist/engine/permissions.js.map +1 -1
- package/dist/engine/plugins/descriptor.d.ts +2 -2
- package/dist/engine/processes/processes.js +2 -1
- package/dist/engine/processes/processes.js.map +1 -1
- package/dist/engine/users/userHome.d.ts +1 -0
- package/dist/engine/users/userHome.d.ts.map +1 -1
- package/dist/engine/users/userHome.js +2 -0
- package/dist/engine/users/userHome.js.map +1 -1
- package/dist/engine/users/userHome.spec.js +1 -0
- package/dist/engine/users/userHome.spec.js.map +1 -1
- package/dist/engine/users/userHomeEnsure.d.ts.map +1 -1
- package/dist/engine/users/userHomeEnsure.js +1 -0
- package/dist/engine/users/userHomeEnsure.js.map +1 -1
- package/dist/engine/users/userHomeEnsure.spec.js +1 -0
- package/dist/engine/users/userHomeEnsure.spec.js.map +1 -1
- package/dist/plugins/dashboard/site/404.html +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/{315-7c3dbac7865a2549.js → 129-0781090dbd74ef24.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/315-e0c2965b599a90c8.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-e7a20c5ef1f769e6.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-b997df519e071e45.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-fed8c9eb1cef42df.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/page-a8a3b434a1ed7bda.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/memory/page-c2c16e7623a0377d.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/page-5ebf2aeece51aed8.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/page-e6bdb861ae8bd14b.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/providers/{page-f0d02a91a69b9eb8.js → page-d3743fe243237b22.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-b817ca434cd43c0f.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/app/telemetry/{page-98aa9367902606e3.js → page-eabe78b4fbbf1439.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-ce22e00b61861083.js +1 -0
- package/dist/plugins/dashboard/site/_next/static/chunks/{main-2004b9415696334d.js → main-5352cc0d54d797b4.js} +1 -1
- package/dist/plugins/dashboard/site/_next/static/css/42d76d007d742231.css +5 -0
- package/dist/plugins/dashboard/site/agent.html +1 -1
- package/dist/plugins/dashboard/site/agent.txt +2 -2
- package/dist/plugins/dashboard/site/agents.html +1 -1
- package/dist/plugins/dashboard/site/agents.txt +2 -2
- package/dist/plugins/dashboard/site/automations.html +1 -1
- package/dist/plugins/dashboard/site/automations.txt +2 -2
- package/dist/plugins/dashboard/site/connectors.html +1 -1
- package/dist/plugins/dashboard/site/connectors.txt +2 -2
- package/dist/plugins/dashboard/site/index.html +2 -2
- package/dist/plugins/dashboard/site/index.txt +2 -2
- package/dist/plugins/dashboard/site/memory.html +1 -0
- package/dist/plugins/dashboard/site/memory.txt +7 -0
- package/dist/plugins/dashboard/site/processes.html +1 -1
- package/dist/plugins/dashboard/site/processes.txt +2 -2
- package/dist/plugins/dashboard/site/providers.html +1 -1
- package/dist/plugins/dashboard/site/providers.txt +2 -2
- package/dist/plugins/dashboard/site/signals.html +1 -1
- package/dist/plugins/dashboard/site/signals.txt +2 -2
- package/dist/plugins/dashboard/site/telemetry.html +2 -2
- package/dist/plugins/dashboard/site/telemetry.txt +2 -2
- package/dist/plugins/dashboard/site/tools.html +1 -1
- package/dist/plugins/dashboard/site/tools.txt +2 -2
- package/dist/prompts/SYSTEM_AGENCY.md +1 -1
- package/dist/prompts/SYSTEM_PERMISSIONS.md +4 -25
- package/dist/prompts/SYSTEM_TOPOLOGY.md +1 -1
- package/dist/prompts/memory/MEMORY_AGENT.md +148 -0
- package/dist/prompts/memory/MEMORY_ROOT.md +322 -0
- package/dist/prompts/memory/OBSERVE.md +70 -0
- package/dist/sandbox/sandboxCanRead.d.ts.map +1 -1
- package/dist/sandbox/sandboxCanRead.js +26 -2
- package/dist/sandbox/sandboxCanRead.js.map +1 -1
- package/dist/sandbox/sandboxCanRead.spec.js +51 -8
- package/dist/sandbox/sandboxCanRead.spec.js.map +1 -1
- package/dist/sandbox/sandboxCanWrite.d.ts.map +1 -1
- package/dist/sandbox/sandboxCanWrite.js +11 -0
- package/dist/sandbox/sandboxCanWrite.js.map +1 -1
- package/dist/sandbox/sandboxCanWrite.spec.js +32 -1
- package/dist/sandbox/sandboxCanWrite.spec.js.map +1 -1
- package/dist/sandbox/sandboxDangerousFileCheck.d.ts +11 -0
- package/dist/sandbox/sandboxDangerousFileCheck.d.ts.map +1 -0
- package/dist/sandbox/sandboxDangerousFileCheck.js +37 -0
- package/dist/sandbox/sandboxDangerousFileCheck.js.map +1 -0
- package/dist/sandbox/sandboxDangerousFileCheck.spec.d.ts +2 -0
- package/dist/sandbox/sandboxDangerousFileCheck.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxDangerousFileCheck.spec.js +25 -0
- package/dist/sandbox/sandboxDangerousFileCheck.spec.js.map +1 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.d.ts +11 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.d.ts.map +1 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.js +23 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.js.map +1 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.spec.d.ts +2 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.spec.js +31 -0
- package/dist/sandbox/sandboxDangerousFilesBuild.spec.js.map +1 -0
- package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts.map +1 -1
- package/dist/sandbox/sandboxFilesystemPolicyBuild.js +5 -47
- package/dist/sandbox/sandboxFilesystemPolicyBuild.js.map +1 -1
- package/dist/sandbox/sandboxPathDenyCheck.d.ts +6 -0
- package/dist/sandbox/sandboxPathDenyCheck.d.ts.map +1 -0
- package/dist/sandbox/sandboxPathDenyCheck.js +26 -0
- package/dist/sandbox/sandboxPathDenyCheck.js.map +1 -0
- package/dist/sandbox/sandboxPathDenyCheck.spec.d.ts +2 -0
- package/dist/sandbox/sandboxPathDenyCheck.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxPathDenyCheck.spec.js +23 -0
- package/dist/sandbox/sandboxPathDenyCheck.spec.js.map +1 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.d.ts +11 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.d.ts.map +1 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.js +63 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.js.map +1 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.d.ts +2 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.d.ts.map +1 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.js +52 -0
- package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.js.map +1 -0
- package/dist/skills/memory-document/SKILL.md +134 -0
- package/dist/skills/scheduling/SKILL.md +3 -57
- package/dist/skills/skills/memory-document/SKILL.md +134 -0
- package/dist/skills/skills/scheduling/SKILL.md +3 -57
- package/dist/storage/cronTasksRepository.d.ts.map +1 -1
- package/dist/storage/cronTasksRepository.js +4 -23
- package/dist/storage/cronTasksRepository.js.map +1 -1
- package/dist/storage/cronTasksRepository.spec.js +1 -9
- package/dist/storage/cronTasksRepository.spec.js.map +1 -1
- package/dist/storage/databaseTypes.d.ts +19 -5
- package/dist/storage/databaseTypes.d.ts.map +1 -1
- package/dist/storage/heartbeatTasksRepository.d.ts.map +1 -1
- package/dist/storage/heartbeatTasksRepository.js +4 -23
- package/dist/storage/heartbeatTasksRepository.js.map +1 -1
- package/dist/storage/heartbeatTasksRepository.spec.js +0 -5
- package/dist/storage/heartbeatTasksRepository.spec.js.map +1 -1
- package/dist/storage/historyRepository.d.ts +15 -1
- package/dist/storage/historyRepository.d.ts.map +1 -1
- package/dist/storage/historyRepository.js +26 -1
- package/dist/storage/historyRepository.js.map +1 -1
- package/dist/storage/historyRepository.spec.js +96 -18
- package/dist/storage/historyRepository.spec.js.map +1 -1
- package/dist/storage/inboxRepository.d.ts +15 -0
- package/dist/storage/inboxRepository.d.ts.map +1 -0
- package/dist/storage/inboxRepository.js +47 -0
- package/dist/storage/inboxRepository.js.map +1 -0
- package/dist/storage/inboxRepository.spec.d.ts +2 -0
- package/dist/storage/inboxRepository.spec.d.ts.map +1 -0
- package/dist/storage/inboxRepository.spec.js +42 -0
- package/dist/storage/inboxRepository.spec.js.map +1 -0
- package/dist/storage/migrations/20260220_add_tasks.d.ts.map +1 -1
- package/dist/storage/migrations/20260220_add_tasks.js +0 -2
- package/dist/storage/migrations/20260220_add_tasks.js.map +1 -1
- package/dist/storage/migrations/20260220_add_tasks.spec.js +0 -2
- package/dist/storage/migrations/20260220_add_tasks.spec.js.map +1 -1
- package/dist/storage/migrations/20260220_import_tasks.d.ts.map +1 -1
- package/dist/storage/migrations/20260220_import_tasks.js +5 -10
- package/dist/storage/migrations/20260220_import_tasks.js.map +1 -1
- package/dist/storage/migrations/20260220_import_tasks.spec.js +1 -4
- package/dist/storage/migrations/20260220_import_tasks.spec.js.map +1 -1
- package/dist/storage/migrations/20260221_add_inbox.d.ts +7 -0
- package/dist/storage/migrations/20260221_add_inbox.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_add_inbox.js +22 -0
- package/dist/storage/migrations/20260221_add_inbox.js.map +1 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.d.ts +2 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.js +19 -0
- package/dist/storage/migrations/20260221_add_inbox.spec.js.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.d.ts +7 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.js +20 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.js.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.d.ts +2 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.js +50 -0
- package/dist/storage/migrations/20260221_drop_gate_columns.spec.js.map +1 -0
- package/dist/storage/migrations/20260223_add_heartbeat_users.spec.js +4 -6
- package/dist/storage/migrations/20260223_add_heartbeat_users.spec.js.map +1 -1
- package/dist/storage/migrations/20260224_add_memory_columns.d.ts +8 -0
- package/dist/storage/migrations/20260224_add_memory_columns.d.ts.map +1 -0
- package/dist/storage/migrations/20260224_add_memory_columns.js +24 -0
- package/dist/storage/migrations/20260224_add_memory_columns.js.map +1 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.d.ts +2 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.d.ts.map +1 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.js +48 -0
- package/dist/storage/migrations/20260224_add_memory_columns.spec.js.map +1 -0
- package/dist/storage/migrations/_migrations.d.ts.map +1 -1
- package/dist/storage/migrations/_migrations.js +7 -1
- package/dist/storage/migrations/_migrations.js.map +1 -1
- package/dist/storage/processesRepository.js +9 -3
- package/dist/storage/processesRepository.js.map +1 -1
- package/dist/storage/sessionsRepository.d.ts +17 -0
- package/dist/storage/sessionsRepository.d.ts.map +1 -1
- package/dist/storage/sessionsRepository.js +46 -3
- package/dist/storage/sessionsRepository.js.map +1 -1
- package/dist/storage/sessionsRepository.spec.js +154 -19
- package/dist/storage/sessionsRepository.spec.js.map +1 -1
- package/dist/storage/storage.d.ts +2 -0
- package/dist/storage/storage.d.ts.map +1 -1
- package/dist/storage/storage.js +3 -0
- package/dist/storage/storage.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/engine/scheduling/execGateCheck.d.ts +0 -19
- package/dist/engine/scheduling/execGateCheck.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateCheck.js +0 -139
- package/dist/engine/scheduling/execGateCheck.js.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.d.ts +0 -7
- package/dist/engine/scheduling/execGateNormalize.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.js +0 -74
- package/dist/engine/scheduling/execGateNormalize.js.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.spec.d.ts +0 -2
- package/dist/engine/scheduling/execGateNormalize.spec.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateNormalize.spec.js +0 -31
- package/dist/engine/scheduling/execGateNormalize.spec.js.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.d.ts +0 -7
- package/dist/engine/scheduling/execGateOutputAppend.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.js +0 -21
- package/dist/engine/scheduling/execGateOutputAppend.js.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.spec.d.ts +0 -2
- package/dist/engine/scheduling/execGateOutputAppend.spec.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateOutputAppend.spec.js +0 -24
- package/dist/engine/scheduling/execGateOutputAppend.spec.js.map +0 -1
- package/dist/engine/scheduling/execGateTypes.d.ts +0 -15
- package/dist/engine/scheduling/execGateTypes.d.ts.map +0 -1
- package/dist/engine/scheduling/execGateTypes.js +0 -2
- package/dist/engine/scheduling/execGateTypes.js.map +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/668-ebfa412e61ce0ba6.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-22dfc72e39faa099.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-7b0c562c7534861a.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-9df2c7b543034651.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/page-036fb8590b50cc57.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/page-8c0afc21c643ff8b.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/page-98da30b493398bf7.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-44ccbe1e003b1905.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-6ff89d201c006847.js +0 -1
- package/dist/plugins/dashboard/site/_next/static/css/5e0d68fc118b66c8.css +0 -5
- package/dist/prompts/ACTORS.md +0 -37
- package/dist/prompts/ARCHITECT.md +0 -36
- package/dist/prompts/PERMISSIONS.md +0 -63
- /package/dist/plugins/dashboard/site/_next/static/{aRKOz6Bb-vvt0oWuU7inW → Xz8Kc-P2fnMqmm-AsS7Ui}/_buildManifest.js +0 -0
- /package/dist/plugins/dashboard/site/_next/static/{aRKOz6Bb-vvt0oWuU7inW → Xz8Kc-P2fnMqmm-AsS7Ui}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-document
|
|
3
|
+
description: Write docs like code — Minto pyramid, MECE sections, BFO ontology, Mermaid diagrams, ground truth sources. Applies to any .md file.
|
|
4
|
+
version: "2.0.0"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## How to Write a Document
|
|
8
|
+
|
|
9
|
+
Write docs like code. Fractal structure where each level is complete. No redundancy — reference, don't repeat. Every claim has a source.
|
|
10
|
+
|
|
11
|
+
```mermaid
|
|
12
|
+
graph TD
|
|
13
|
+
Thesis[Thesis: 1 sentence] --> Overview[Overview: 1 paragraph]
|
|
14
|
+
Overview --> Diagrams[Mermaid: TD + LR]
|
|
15
|
+
Diagrams --> Sections[MECE Sections 1.0–7.0]
|
|
16
|
+
Sections --> Details[¶1, ¶2, ¶3 per section]
|
|
17
|
+
Sources[Ground Truth] --> Sections
|
|
18
|
+
Sources --> Details
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 1.0 The Stack
|
|
22
|
+
|
|
23
|
+
Six rules. Use internal names here for clarity — don't leak them into the actual doc output.
|
|
24
|
+
|
|
25
|
+
¶1 **Minto** — top-down. Thesis → overview → sections → details. Reader gets the point before the evidence.
|
|
26
|
+
|
|
27
|
+
¶2 **MECE** — sections don't overlap, but cover everything. 3–7 top-level sections. If you can't draw a clean boundary between two sections, merge them.
|
|
28
|
+
|
|
29
|
+
¶3 **BFO** — separate what exists (continuants) from what happens (occurrents). TD diagrams for structure, LR diagrams for process. This isn't decoration — it forces you to find the real shape of your content.
|
|
30
|
+
|
|
31
|
+
¶4 **Fractal** — each subsection mirrors the whole. Own thesis sentence, own diagram if needed, own numbered paragraphs. Expand only if it earns the depth.
|
|
32
|
+
|
|
33
|
+
¶5 **DRY** — each fact once. Cross-reference with §X.Y, don't restate.
|
|
34
|
+
|
|
35
|
+
¶6 **Ground truth** — every claim traces to a source. URL, file path, query, session ID, person. No source = no claim. See §4.0.
|
|
36
|
+
|
|
37
|
+
## 2.0 Structure
|
|
38
|
+
|
|
39
|
+
¶1 **Thesis** — one sentence. Specific outcome with who/what/when. Must preview the MECE sections that follow.
|
|
40
|
+
|
|
41
|
+
¶2 **Overview** — one paragraph expanding the thesis. Introduces each major section like a function docstring listing its parameters.
|
|
42
|
+
|
|
43
|
+
¶3 **Mermaid diagrams** — go right after the overview, before §1.0. Structure (TD) before process (LR). See §3.0.
|
|
44
|
+
|
|
45
|
+
¶4 **Sections** — numbered 1.0, 2.0, 3.0. Subsections 1.1, 1.2. State ordering logic upfront (importance / chronology / dependency). Continuant sections get noun titles, occurrent sections get verb titles.
|
|
46
|
+
|
|
47
|
+
¶5 **Paragraphs** — numbered ¶1, ¶2, ¶3 within each section. Order: general → specific, or problem → solution, or setup → action → result.
|
|
48
|
+
|
|
49
|
+
¶6 **Coherence** — if thesis says "planning, execution, monitoring", the doc must have all three. No surprise sections, no missing ones.
|
|
50
|
+
|
|
51
|
+
¶7 **Big docs** — over ~10 pages, split into linked files with proper relative paths.
|
|
52
|
+
|
|
53
|
+
## 3.0 Mermaid Diagrams
|
|
54
|
+
|
|
55
|
+
Every doc gets at least one diagram. Complex docs need both TD and LR.
|
|
56
|
+
|
|
57
|
+
¶1 **Headers required** — every diagram gets a bold header before the code block. Format: `**[Specific Description] ([Type] - [Direction]):**`. "Skill Package Structure (Continuant - TD)" not "System Structure".
|
|
58
|
+
|
|
59
|
+
¶2 **Continuant (TD/TB)** — what exists. Nodes are nouns (Database, API, User). Edges are "contains", "depends on", "is part of". Use for architecture, data models, component trees.
|
|
60
|
+
|
|
61
|
+
¶3 **Occurrent (LR)** — what happens. Nodes are verbs or states (Extract, Validate, Deploy). Edges are temporal — "then", "triggers", "flows to". Use for pipelines, workflows, request flows.
|
|
62
|
+
|
|
63
|
+
¶4 **Participation (optional)** — how continuants participate in occurrents. User triggers Pipeline which updates Database. TD or LR depending on emphasis.
|
|
64
|
+
|
|
65
|
+
¶5 **Sizing** — 5–12 nodes per diagram. More than that, split. Short labels (1–3 words). Label edges only when the relationship isn't obvious.
|
|
66
|
+
|
|
67
|
+
¶6 **Placement** — primary diagrams after overview, before §1.0. Section-level diagrams inline where needed. One diagram per abstraction level — deeper sections get smaller, focused diagrams.
|
|
68
|
+
|
|
69
|
+
¶7 **Structure first** — when showing both, continuant (TD) before occurrent (LR).
|
|
70
|
+
|
|
71
|
+
## 4.0 Ground Truth
|
|
72
|
+
|
|
73
|
+
Every piece of information traces to its source. No exceptions.
|
|
74
|
+
|
|
75
|
+
### Patterns
|
|
76
|
+
|
|
77
|
+
¶1 **External** — `**Source:** [Title](URL) (accessed YYYY-MM-DD)`
|
|
78
|
+
|
|
79
|
+
¶2 **Code** — `**Source:** path/to/file.py:123-145 (function calculate_metrics)`
|
|
80
|
+
|
|
81
|
+
¶3 **Session** — `**Generated by:** Claude Code session abc123 by Name (YYYY-MM-DD)`
|
|
82
|
+
|
|
83
|
+
¶4 **LLM reasoning** — `**LLM Analysis:** Based on ¶1 + ¶3` — flag synthesis explicitly, don't present it as source data.
|
|
84
|
+
|
|
85
|
+
¶5 **Query** — `**Query:** SELECT ... (YYYY-MM-DD)` with result and date. Data changes; timestamp matters.
|
|
86
|
+
|
|
87
|
+
¶6 **Human** — `**Expert input:** Name (Role), discussed YYYY-MM-DD`
|
|
88
|
+
|
|
89
|
+
¶7 **Meeting** — `**Source:** Gong call gong_123456 with Client (YYYY-MM-DD)` with key takeaway.
|
|
90
|
+
|
|
91
|
+
### Where to Put It
|
|
92
|
+
|
|
93
|
+
¶1 **Doc-level** — primary source right after the thesis in the overview.
|
|
94
|
+
|
|
95
|
+
¶2 **Section-level** — at top of section if the whole section comes from one source.
|
|
96
|
+
|
|
97
|
+
¶3 **Inline** — next to specific claims: "churn is 12% (**Source:** `SELECT AVG(churn_rate)...` 2025-11-10)".
|
|
98
|
+
|
|
99
|
+
¶4 **Mixed** — multiple sources in one paragraph, attribute each piece separately.
|
|
100
|
+
|
|
101
|
+
### Rules
|
|
102
|
+
|
|
103
|
+
- Dates mandatory. Always YYYY-MM-DD.
|
|
104
|
+
- URLs must work. Use archive.org if original might vanish.
|
|
105
|
+
- Code refs need line numbers or function names, not just file paths.
|
|
106
|
+
- "Based on research" is not a source. Name it.
|
|
107
|
+
- Synthesis presented as fact is a violation. Flag LLM reasoning.
|
|
108
|
+
|
|
109
|
+
## Checklist
|
|
110
|
+
|
|
111
|
+
Paste at doc end. Tick before shipping.
|
|
112
|
+
|
|
113
|
+
**Structure:**
|
|
114
|
+
- [ ] Thesis: one sentence previewing all sections
|
|
115
|
+
- [ ] Overview: one paragraph introducing each section
|
|
116
|
+
- [ ] Mermaid: at least one; complex docs get TD + LR
|
|
117
|
+
- [ ] MECE: 3–7 sections, no overlap, full coverage
|
|
118
|
+
- [ ] Ordering stated: ¶1 of each section explains sequence logic
|
|
119
|
+
- [ ] Paragraph numbering: ¶1, ¶2, ¶3 throughout
|
|
120
|
+
- [ ] Coherence: thesis matches actual sections
|
|
121
|
+
|
|
122
|
+
**Content:**
|
|
123
|
+
- [ ] DRY: each fact once, §X.Y cross-references elsewhere
|
|
124
|
+
- [ ] Dense: no filler words, but enough to execute
|
|
125
|
+
- [ ] Labels: noun titles for continuants, verb titles for occurrents
|
|
126
|
+
|
|
127
|
+
**Ground Truth:**
|
|
128
|
+
- [ ] Primary source in overview
|
|
129
|
+
- [ ] Section sources attributed
|
|
130
|
+
- [ ] Inline sources on specific claims
|
|
131
|
+
- [ ] LLM reasoning flagged
|
|
132
|
+
- [ ] Code refs have line numbers
|
|
133
|
+
- [ ] All dates present
|
|
134
|
+
- [ ] URLs tested
|
|
@@ -33,38 +33,15 @@ Use heartbeats when:
|
|
|
33
33
|
|
|
34
34
|
**Heartbeat tools:** `heartbeat_add`, `heartbeat_run`, `heartbeat_remove` (use `topology` to inspect tasks)
|
|
35
35
|
|
|
36
|
-
## Optional Exec Gate
|
|
37
|
-
|
|
38
|
-
Both cron and heartbeat tasks can define an optional `gate` command to decide
|
|
39
|
-
whether to run the LLM. The command runs first; exit code `0` means "run" and
|
|
40
|
-
non-zero means "skip." This keeps checks cheap (ex: HTTP health check before notifying).
|
|
41
|
-
Trimmed gate output is appended to the prompt under `[Gate output]`.
|
|
42
|
-
Gates run within the target agent permissions. If `gate.permissions` are not already
|
|
43
|
-
allowed, a system message is posted and the task still runs (the gate is treated as
|
|
44
|
-
successful).
|
|
45
|
-
|
|
46
|
-
`gate` supports:
|
|
47
|
-
- `command` (required)
|
|
48
|
-
- `cwd`, `timeoutMs`, `env`
|
|
49
|
-
- `permissions` (required tags; must already be allowed by the target agent)
|
|
50
|
-
- `packageManagers` (`dart` | `dotnet` | `go` | `java` | `node` | `php` | `python` | `ruby` | `rust`; auto-adds language ecosystem hosts; requires `@network`)
|
|
51
|
-
- `allowedDomains` (network allowlist; requires `@network`)
|
|
52
|
-
|
|
53
36
|
## Examples
|
|
54
37
|
|
|
55
|
-
**Cron with routing
|
|
38
|
+
**Cron with routing (`TASK.md` frontmatter):**
|
|
56
39
|
|
|
57
40
|
```yaml
|
|
58
41
|
---
|
|
59
42
|
name: API health
|
|
60
43
|
schedule: "*/10 * * * *"
|
|
61
44
|
agentId: cu3ql2p5q0000x5p3g7q1l8a9
|
|
62
|
-
gate:
|
|
63
|
-
command: "curl -fsS https://api.example.com/healthz >/dev/null"
|
|
64
|
-
packageManagers:
|
|
65
|
-
- node
|
|
66
|
-
allowedDomains:
|
|
67
|
-
- api.example.com
|
|
68
45
|
---
|
|
69
46
|
If the API is down, notify me with a short summary.
|
|
70
47
|
```
|
|
@@ -110,12 +87,12 @@ If the API is down, notify me with a short summary.
|
|
|
110
87
|
|
|
111
88
|
**For cron tasks:**
|
|
112
89
|
1. Determine the schedule (cron expression: `minute hour day month weekday`)
|
|
113
|
-
2. Use `cron_add` with name, schedule, and prompt (optional `agentId`
|
|
90
|
+
2. Use `cron_add` with name, schedule, and prompt (optional `agentId`)
|
|
114
91
|
3. Each task gets isolated agent, memory file, and workspace
|
|
115
92
|
|
|
116
93
|
**For heartbeats:**
|
|
117
94
|
1. Run `topology` to see existing heartbeat tasks and ownership
|
|
118
|
-
2. Use `heartbeat_add` with title and prompt
|
|
95
|
+
2. Use `heartbeat_add` with title and prompt
|
|
119
96
|
3. Use `heartbeat_run` to trigger immediately
|
|
120
97
|
4. Use `heartbeat_remove` for cleanup
|
|
121
98
|
|
|
@@ -183,36 +160,6 @@ else:
|
|
|
183
160
|
Review the git status above and remind me to commit if there are uncommitted changes.
|
|
184
161
|
```
|
|
185
162
|
|
|
186
|
-
### Combining Gate and Executable Prompts
|
|
187
|
-
|
|
188
|
-
Gates run **before** the prompt; executable prompts expand **within** the prompt.
|
|
189
|
-
Use gates for cheap pass/fail checks, and executable prompts for dynamic data injection:
|
|
190
|
-
|
|
191
|
-
```yaml
|
|
192
|
-
---
|
|
193
|
-
name: Deploy check
|
|
194
|
-
schedule: "*/30 * * * *"
|
|
195
|
-
gate:
|
|
196
|
-
command: "curl -fsS https://api.example.com/deploy-status | grep -q pending"
|
|
197
|
-
allowedDomains:
|
|
198
|
-
- api.example.com
|
|
199
|
-
---
|
|
200
|
-
A deploy is pending. Here is the current status:
|
|
201
|
-
<run_python>
|
|
202
|
-
import urllib.request, json
|
|
203
|
-
data = json.loads(urllib.request.urlopen("https://api.example.com/deploy-status").read())
|
|
204
|
-
print(f"Version: {data['version']}")
|
|
205
|
-
print(f"Started: {data['started_at']}")
|
|
206
|
-
print(f"Progress: {data['progress']}%")
|
|
207
|
-
</run_python>
|
|
208
|
-
|
|
209
|
-
Summarize the deploy status and notify me if it's been stuck for more than 10 minutes.
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
The gate runs first — if there's no pending deploy (`curl` exits non-zero), the LLM
|
|
213
|
-
is never invoked. If the gate passes, the `<run_python>` block fetches detailed status
|
|
214
|
-
before the LLM sees the prompt.
|
|
215
|
-
|
|
216
163
|
### Error Handling
|
|
217
164
|
|
|
218
165
|
If a `<run_python>` block fails (syntax error, runtime exception, timeout), it is
|
|
@@ -238,7 +185,6 @@ When `skip` is called:
|
|
|
238
185
|
- The cron or heartbeat prompt describes a condition that isn't met (e.g., "notify if
|
|
239
186
|
there are errors" but executable prompt output shows no errors).
|
|
240
187
|
- A monitoring task finds nothing to report.
|
|
241
|
-
- The gate passed but the dynamic data shows the situation is already resolved.
|
|
242
188
|
|
|
243
189
|
**Example prompt encouraging skip:**
|
|
244
190
|
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-document
|
|
3
|
+
description: Write docs like code — Minto pyramid, MECE sections, BFO ontology, Mermaid diagrams, ground truth sources. Applies to any .md file.
|
|
4
|
+
version: "2.0.0"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## How to Write a Document
|
|
8
|
+
|
|
9
|
+
Write docs like code. Fractal structure where each level is complete. No redundancy — reference, don't repeat. Every claim has a source.
|
|
10
|
+
|
|
11
|
+
```mermaid
|
|
12
|
+
graph TD
|
|
13
|
+
Thesis[Thesis: 1 sentence] --> Overview[Overview: 1 paragraph]
|
|
14
|
+
Overview --> Diagrams[Mermaid: TD + LR]
|
|
15
|
+
Diagrams --> Sections[MECE Sections 1.0–7.0]
|
|
16
|
+
Sections --> Details[¶1, ¶2, ¶3 per section]
|
|
17
|
+
Sources[Ground Truth] --> Sections
|
|
18
|
+
Sources --> Details
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 1.0 The Stack
|
|
22
|
+
|
|
23
|
+
Six rules. Use internal names here for clarity — don't leak them into the actual doc output.
|
|
24
|
+
|
|
25
|
+
¶1 **Minto** — top-down. Thesis → overview → sections → details. Reader gets the point before the evidence.
|
|
26
|
+
|
|
27
|
+
¶2 **MECE** — sections don't overlap, but cover everything. 3–7 top-level sections. If you can't draw a clean boundary between two sections, merge them.
|
|
28
|
+
|
|
29
|
+
¶3 **BFO** — separate what exists (continuants) from what happens (occurrents). TD diagrams for structure, LR diagrams for process. This isn't decoration — it forces you to find the real shape of your content.
|
|
30
|
+
|
|
31
|
+
¶4 **Fractal** — each subsection mirrors the whole. Own thesis sentence, own diagram if needed, own numbered paragraphs. Expand only if it earns the depth.
|
|
32
|
+
|
|
33
|
+
¶5 **DRY** — each fact once. Cross-reference with §X.Y, don't restate.
|
|
34
|
+
|
|
35
|
+
¶6 **Ground truth** — every claim traces to a source. URL, file path, query, session ID, person. No source = no claim. See §4.0.
|
|
36
|
+
|
|
37
|
+
## 2.0 Structure
|
|
38
|
+
|
|
39
|
+
¶1 **Thesis** — one sentence. Specific outcome with who/what/when. Must preview the MECE sections that follow.
|
|
40
|
+
|
|
41
|
+
¶2 **Overview** — one paragraph expanding the thesis. Introduces each major section like a function docstring listing its parameters.
|
|
42
|
+
|
|
43
|
+
¶3 **Mermaid diagrams** — go right after the overview, before §1.0. Structure (TD) before process (LR). See §3.0.
|
|
44
|
+
|
|
45
|
+
¶4 **Sections** — numbered 1.0, 2.0, 3.0. Subsections 1.1, 1.2. State ordering logic upfront (importance / chronology / dependency). Continuant sections get noun titles, occurrent sections get verb titles.
|
|
46
|
+
|
|
47
|
+
¶5 **Paragraphs** — numbered ¶1, ¶2, ¶3 within each section. Order: general → specific, or problem → solution, or setup → action → result.
|
|
48
|
+
|
|
49
|
+
¶6 **Coherence** — if thesis says "planning, execution, monitoring", the doc must have all three. No surprise sections, no missing ones.
|
|
50
|
+
|
|
51
|
+
¶7 **Big docs** — over ~10 pages, split into linked files with proper relative paths.
|
|
52
|
+
|
|
53
|
+
## 3.0 Mermaid Diagrams
|
|
54
|
+
|
|
55
|
+
Every doc gets at least one diagram. Complex docs need both TD and LR.
|
|
56
|
+
|
|
57
|
+
¶1 **Headers required** — every diagram gets a bold header before the code block. Format: `**[Specific Description] ([Type] - [Direction]):**`. "Skill Package Structure (Continuant - TD)" not "System Structure".
|
|
58
|
+
|
|
59
|
+
¶2 **Continuant (TD/TB)** — what exists. Nodes are nouns (Database, API, User). Edges are "contains", "depends on", "is part of". Use for architecture, data models, component trees.
|
|
60
|
+
|
|
61
|
+
¶3 **Occurrent (LR)** — what happens. Nodes are verbs or states (Extract, Validate, Deploy). Edges are temporal — "then", "triggers", "flows to". Use for pipelines, workflows, request flows.
|
|
62
|
+
|
|
63
|
+
¶4 **Participation (optional)** — how continuants participate in occurrents. User triggers Pipeline which updates Database. TD or LR depending on emphasis.
|
|
64
|
+
|
|
65
|
+
¶5 **Sizing** — 5–12 nodes per diagram. More than that, split. Short labels (1–3 words). Label edges only when the relationship isn't obvious.
|
|
66
|
+
|
|
67
|
+
¶6 **Placement** — primary diagrams after overview, before §1.0. Section-level diagrams inline where needed. One diagram per abstraction level — deeper sections get smaller, focused diagrams.
|
|
68
|
+
|
|
69
|
+
¶7 **Structure first** — when showing both, continuant (TD) before occurrent (LR).
|
|
70
|
+
|
|
71
|
+
## 4.0 Ground Truth
|
|
72
|
+
|
|
73
|
+
Every piece of information traces to its source. No exceptions.
|
|
74
|
+
|
|
75
|
+
### Patterns
|
|
76
|
+
|
|
77
|
+
¶1 **External** — `**Source:** [Title](URL) (accessed YYYY-MM-DD)`
|
|
78
|
+
|
|
79
|
+
¶2 **Code** — `**Source:** path/to/file.py:123-145 (function calculate_metrics)`
|
|
80
|
+
|
|
81
|
+
¶3 **Session** — `**Generated by:** Claude Code session abc123 by Name (YYYY-MM-DD)`
|
|
82
|
+
|
|
83
|
+
¶4 **LLM reasoning** — `**LLM Analysis:** Based on ¶1 + ¶3` — flag synthesis explicitly, don't present it as source data.
|
|
84
|
+
|
|
85
|
+
¶5 **Query** — `**Query:** SELECT ... (YYYY-MM-DD)` with result and date. Data changes; timestamp matters.
|
|
86
|
+
|
|
87
|
+
¶6 **Human** — `**Expert input:** Name (Role), discussed YYYY-MM-DD`
|
|
88
|
+
|
|
89
|
+
¶7 **Meeting** — `**Source:** Gong call gong_123456 with Client (YYYY-MM-DD)` with key takeaway.
|
|
90
|
+
|
|
91
|
+
### Where to Put It
|
|
92
|
+
|
|
93
|
+
¶1 **Doc-level** — primary source right after the thesis in the overview.
|
|
94
|
+
|
|
95
|
+
¶2 **Section-level** — at top of section if the whole section comes from one source.
|
|
96
|
+
|
|
97
|
+
¶3 **Inline** — next to specific claims: "churn is 12% (**Source:** `SELECT AVG(churn_rate)...` 2025-11-10)".
|
|
98
|
+
|
|
99
|
+
¶4 **Mixed** — multiple sources in one paragraph, attribute each piece separately.
|
|
100
|
+
|
|
101
|
+
### Rules
|
|
102
|
+
|
|
103
|
+
- Dates mandatory. Always YYYY-MM-DD.
|
|
104
|
+
- URLs must work. Use archive.org if original might vanish.
|
|
105
|
+
- Code refs need line numbers or function names, not just file paths.
|
|
106
|
+
- "Based on research" is not a source. Name it.
|
|
107
|
+
- Synthesis presented as fact is a violation. Flag LLM reasoning.
|
|
108
|
+
|
|
109
|
+
## Checklist
|
|
110
|
+
|
|
111
|
+
Paste at doc end. Tick before shipping.
|
|
112
|
+
|
|
113
|
+
**Structure:**
|
|
114
|
+
- [ ] Thesis: one sentence previewing all sections
|
|
115
|
+
- [ ] Overview: one paragraph introducing each section
|
|
116
|
+
- [ ] Mermaid: at least one; complex docs get TD + LR
|
|
117
|
+
- [ ] MECE: 3–7 sections, no overlap, full coverage
|
|
118
|
+
- [ ] Ordering stated: ¶1 of each section explains sequence logic
|
|
119
|
+
- [ ] Paragraph numbering: ¶1, ¶2, ¶3 throughout
|
|
120
|
+
- [ ] Coherence: thesis matches actual sections
|
|
121
|
+
|
|
122
|
+
**Content:**
|
|
123
|
+
- [ ] DRY: each fact once, §X.Y cross-references elsewhere
|
|
124
|
+
- [ ] Dense: no filler words, but enough to execute
|
|
125
|
+
- [ ] Labels: noun titles for continuants, verb titles for occurrents
|
|
126
|
+
|
|
127
|
+
**Ground Truth:**
|
|
128
|
+
- [ ] Primary source in overview
|
|
129
|
+
- [ ] Section sources attributed
|
|
130
|
+
- [ ] Inline sources on specific claims
|
|
131
|
+
- [ ] LLM reasoning flagged
|
|
132
|
+
- [ ] Code refs have line numbers
|
|
133
|
+
- [ ] All dates present
|
|
134
|
+
- [ ] URLs tested
|
|
@@ -33,38 +33,15 @@ Use heartbeats when:
|
|
|
33
33
|
|
|
34
34
|
**Heartbeat tools:** `heartbeat_add`, `heartbeat_run`, `heartbeat_remove` (use `topology` to inspect tasks)
|
|
35
35
|
|
|
36
|
-
## Optional Exec Gate
|
|
37
|
-
|
|
38
|
-
Both cron and heartbeat tasks can define an optional `gate` command to decide
|
|
39
|
-
whether to run the LLM. The command runs first; exit code `0` means "run" and
|
|
40
|
-
non-zero means "skip." This keeps checks cheap (ex: HTTP health check before notifying).
|
|
41
|
-
Trimmed gate output is appended to the prompt under `[Gate output]`.
|
|
42
|
-
Gates run within the target agent permissions. If `gate.permissions` are not already
|
|
43
|
-
allowed, a system message is posted and the task still runs (the gate is treated as
|
|
44
|
-
successful).
|
|
45
|
-
|
|
46
|
-
`gate` supports:
|
|
47
|
-
- `command` (required)
|
|
48
|
-
- `cwd`, `timeoutMs`, `env`
|
|
49
|
-
- `permissions` (required tags; must already be allowed by the target agent)
|
|
50
|
-
- `packageManagers` (`dart` | `dotnet` | `go` | `java` | `node` | `php` | `python` | `ruby` | `rust`; auto-adds language ecosystem hosts; requires `@network`)
|
|
51
|
-
- `allowedDomains` (network allowlist; requires `@network`)
|
|
52
|
-
|
|
53
36
|
## Examples
|
|
54
37
|
|
|
55
|
-
**Cron with routing
|
|
38
|
+
**Cron with routing (`TASK.md` frontmatter):**
|
|
56
39
|
|
|
57
40
|
```yaml
|
|
58
41
|
---
|
|
59
42
|
name: API health
|
|
60
43
|
schedule: "*/10 * * * *"
|
|
61
44
|
agentId: cu3ql2p5q0000x5p3g7q1l8a9
|
|
62
|
-
gate:
|
|
63
|
-
command: "curl -fsS https://api.example.com/healthz >/dev/null"
|
|
64
|
-
packageManagers:
|
|
65
|
-
- node
|
|
66
|
-
allowedDomains:
|
|
67
|
-
- api.example.com
|
|
68
45
|
---
|
|
69
46
|
If the API is down, notify me with a short summary.
|
|
70
47
|
```
|
|
@@ -110,12 +87,12 @@ If the API is down, notify me with a short summary.
|
|
|
110
87
|
|
|
111
88
|
**For cron tasks:**
|
|
112
89
|
1. Determine the schedule (cron expression: `minute hour day month weekday`)
|
|
113
|
-
2. Use `cron_add` with name, schedule, and prompt (optional `agentId`
|
|
90
|
+
2. Use `cron_add` with name, schedule, and prompt (optional `agentId`)
|
|
114
91
|
3. Each task gets isolated agent, memory file, and workspace
|
|
115
92
|
|
|
116
93
|
**For heartbeats:**
|
|
117
94
|
1. Run `topology` to see existing heartbeat tasks and ownership
|
|
118
|
-
2. Use `heartbeat_add` with title and prompt
|
|
95
|
+
2. Use `heartbeat_add` with title and prompt
|
|
119
96
|
3. Use `heartbeat_run` to trigger immediately
|
|
120
97
|
4. Use `heartbeat_remove` for cleanup
|
|
121
98
|
|
|
@@ -183,36 +160,6 @@ else:
|
|
|
183
160
|
Review the git status above and remind me to commit if there are uncommitted changes.
|
|
184
161
|
```
|
|
185
162
|
|
|
186
|
-
### Combining Gate and Executable Prompts
|
|
187
|
-
|
|
188
|
-
Gates run **before** the prompt; executable prompts expand **within** the prompt.
|
|
189
|
-
Use gates for cheap pass/fail checks, and executable prompts for dynamic data injection:
|
|
190
|
-
|
|
191
|
-
```yaml
|
|
192
|
-
---
|
|
193
|
-
name: Deploy check
|
|
194
|
-
schedule: "*/30 * * * *"
|
|
195
|
-
gate:
|
|
196
|
-
command: "curl -fsS https://api.example.com/deploy-status | grep -q pending"
|
|
197
|
-
allowedDomains:
|
|
198
|
-
- api.example.com
|
|
199
|
-
---
|
|
200
|
-
A deploy is pending. Here is the current status:
|
|
201
|
-
<run_python>
|
|
202
|
-
import urllib.request, json
|
|
203
|
-
data = json.loads(urllib.request.urlopen("https://api.example.com/deploy-status").read())
|
|
204
|
-
print(f"Version: {data['version']}")
|
|
205
|
-
print(f"Started: {data['started_at']}")
|
|
206
|
-
print(f"Progress: {data['progress']}%")
|
|
207
|
-
</run_python>
|
|
208
|
-
|
|
209
|
-
Summarize the deploy status and notify me if it's been stuck for more than 10 minutes.
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
The gate runs first — if there's no pending deploy (`curl` exits non-zero), the LLM
|
|
213
|
-
is never invoked. If the gate passes, the `<run_python>` block fetches detailed status
|
|
214
|
-
before the LLM sees the prompt.
|
|
215
|
-
|
|
216
163
|
### Error Handling
|
|
217
164
|
|
|
218
165
|
If a `<run_python>` block fails (syntax error, runtime exception, timeout), it is
|
|
@@ -238,7 +185,6 @@ When `skip` is called:
|
|
|
238
185
|
- The cron or heartbeat prompt describes a condition that isn't met (e.g., "notify if
|
|
239
186
|
there are errors" but executable prompt output shows no errors).
|
|
240
187
|
- A monitoring task finds nothing to report.
|
|
241
|
-
- The gate passed but the dynamic data shows the situation is already resolved.
|
|
242
188
|
|
|
243
189
|
**Example prompt encouraging skip:**
|
|
244
190
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronTasksRepository.d.ts","sourceRoot":"","sources":["../../sources/storage/cronTasksRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAC;AAEhF,MAAM,MAAM,wBAAwB,GAAG;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,EAAE,YAAY;IAItB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA0BtD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAY3F,OAAO,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA+B5E,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cronTasksRepository.d.ts","sourceRoot":"","sources":["../../sources/storage/cronTasksRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAuB,MAAM,oBAAoB,CAAC;AAEhF,MAAM,MAAM,wBAAwB,GAAG;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,EAAE,YAAY;IAItB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA0BtD,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAY3F,OAAO,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA+B5E,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD/C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6DlE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe1C,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,aAAa;CASxB"}
|
|
@@ -87,13 +87,12 @@ export class CronTasksRepository {
|
|
|
87
87
|
schedule,
|
|
88
88
|
prompt,
|
|
89
89
|
agent_id,
|
|
90
|
-
gate,
|
|
91
90
|
enabled,
|
|
92
91
|
delete_after_run,
|
|
93
92
|
last_run_at,
|
|
94
93
|
created_at,
|
|
95
94
|
updated_at
|
|
96
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
|
|
95
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
97
96
|
ON CONFLICT(id) DO UPDATE SET
|
|
98
97
|
task_uid = excluded.task_uid,
|
|
99
98
|
user_id = excluded.user_id,
|
|
@@ -102,14 +101,13 @@ export class CronTasksRepository {
|
|
|
102
101
|
schedule = excluded.schedule,
|
|
103
102
|
prompt = excluded.prompt,
|
|
104
103
|
agent_id = excluded.agent_id,
|
|
105
|
-
gate = excluded.gate,
|
|
106
104
|
enabled = excluded.enabled,
|
|
107
105
|
delete_after_run = excluded.delete_after_run,
|
|
108
106
|
last_run_at = excluded.last_run_at,
|
|
109
107
|
created_at = excluded.created_at,
|
|
110
108
|
updated_at = excluded.updated_at
|
|
111
109
|
`)
|
|
112
|
-
.run(record.id, record.taskUid, record.userId, record.name, record.description, record.schedule, record.prompt, record.agentId, record.
|
|
110
|
+
.run(record.id, record.taskUid, record.userId, record.name, record.description, record.schedule, record.prompt, record.agentId, record.enabled ? 1 : 0, record.deleteAfterRun ? 1 : 0, record.lastRunAt, record.createdAt, record.updatedAt);
|
|
113
111
|
await this.cacheLock.inLock(() => {
|
|
114
112
|
this.taskCacheSet(record);
|
|
115
113
|
});
|
|
@@ -130,7 +128,6 @@ export class CronTasksRepository {
|
|
|
130
128
|
userId: data.userId === undefined ? current.userId : data.userId,
|
|
131
129
|
description: data.description === undefined ? current.description : data.description,
|
|
132
130
|
agentId: data.agentId === undefined ? current.agentId : data.agentId,
|
|
133
|
-
gate: data.gate === undefined ? current.gate : data.gate,
|
|
134
131
|
lastRunAt: data.lastRunAt === undefined ? current.lastRunAt : data.lastRunAt
|
|
135
132
|
};
|
|
136
133
|
this.db
|
|
@@ -144,7 +141,6 @@ export class CronTasksRepository {
|
|
|
144
141
|
schedule = ?,
|
|
145
142
|
prompt = ?,
|
|
146
143
|
agent_id = ?,
|
|
147
|
-
gate = ?,
|
|
148
144
|
enabled = ?,
|
|
149
145
|
delete_after_run = ?,
|
|
150
146
|
last_run_at = ?,
|
|
@@ -152,7 +148,7 @@ export class CronTasksRepository {
|
|
|
152
148
|
updated_at = ?
|
|
153
149
|
WHERE id = ?
|
|
154
150
|
`)
|
|
155
|
-
.run(next.taskUid, next.userId, next.name, next.description, next.schedule, next.prompt, next.agentId, next.
|
|
151
|
+
.run(next.taskUid, next.userId, next.name, next.description, next.schedule, next.prompt, next.agentId, next.enabled ? 1 : 0, next.deleteAfterRun ? 1 : 0, next.lastRunAt, next.createdAt, next.updatedAt, id);
|
|
156
152
|
await this.cacheLock.inLock(() => {
|
|
157
153
|
this.taskCacheSet(next);
|
|
158
154
|
});
|
|
@@ -190,7 +186,6 @@ export class CronTasksRepository {
|
|
|
190
186
|
schedule: row.schedule,
|
|
191
187
|
prompt: row.prompt,
|
|
192
188
|
agentId: row.agent_id,
|
|
193
|
-
gate: gateParse(row.gate),
|
|
194
189
|
enabled: row.enabled === 1,
|
|
195
190
|
deleteAfterRun: row.delete_after_run === 1,
|
|
196
191
|
lastRunAt: row.last_run_at,
|
|
@@ -208,22 +203,8 @@ export class CronTasksRepository {
|
|
|
208
203
|
return lock;
|
|
209
204
|
}
|
|
210
205
|
}
|
|
211
|
-
function gateParse(raw) {
|
|
212
|
-
if (!raw) {
|
|
213
|
-
return null;
|
|
214
|
-
}
|
|
215
|
-
try {
|
|
216
|
-
return JSON.parse(raw);
|
|
217
|
-
}
|
|
218
|
-
catch {
|
|
219
|
-
return null;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
206
|
function cronTaskClone(record) {
|
|
223
|
-
return {
|
|
224
|
-
...record,
|
|
225
|
-
gate: record.gate ? JSON.parse(JSON.stringify(record.gate)) : null
|
|
226
|
-
};
|
|
207
|
+
return { ...record };
|
|
227
208
|
}
|
|
228
209
|
function cronTasksSort(records) {
|
|
229
210
|
return records.slice().sort((left, right) => left.updatedAt - right.updatedAt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronTasksRepository.js","sourceRoot":"","sources":["../../sources/storage/cronTasksRepository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cronTasksRepository.js","sourceRoot":"","sources":["../../sources/storage/cronTasksRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { describe, expect, it } from "vitest";
|
|
|
2
2
|
import { CronTasksRepository } from "./cronTasksRepository.js";
|
|
3
3
|
import { Storage } from "./storage.js";
|
|
4
4
|
describe("CronTasksRepository", () => {
|
|
5
|
-
it("supports create, find, update,
|
|
5
|
+
it("supports create, find, update, and delete", async () => {
|
|
6
6
|
const storage = Storage.open(":memory:");
|
|
7
7
|
try {
|
|
8
8
|
const repo = new CronTasksRepository(storage.db);
|
|
@@ -15,11 +15,6 @@ describe("CronTasksRepository", () => {
|
|
|
15
15
|
schedule: "0 9 * * *",
|
|
16
16
|
prompt: "Summarize yesterday.",
|
|
17
17
|
agentId: null,
|
|
18
|
-
gate: {
|
|
19
|
-
command: "echo gate",
|
|
20
|
-
permissions: ["@network"],
|
|
21
|
-
allowedDomains: ["example.com"]
|
|
22
|
-
},
|
|
23
18
|
enabled: true,
|
|
24
19
|
deleteAfterRun: false,
|
|
25
20
|
lastRunAt: null,
|
|
@@ -35,7 +30,6 @@ describe("CronTasksRepository", () => {
|
|
|
35
30
|
await repo.update("daily-report", {
|
|
36
31
|
enabled: false,
|
|
37
32
|
prompt: "Summarize today.",
|
|
38
|
-
gate: { command: "echo next", permissions: ["@read:/tmp"] },
|
|
39
33
|
lastRunAt: 20,
|
|
40
34
|
updatedAt: 20
|
|
41
35
|
});
|
|
@@ -43,7 +37,6 @@ describe("CronTasksRepository", () => {
|
|
|
43
37
|
expect(updated?.enabled).toBe(false);
|
|
44
38
|
expect(updated?.prompt).toBe("Summarize today.");
|
|
45
39
|
expect(updated?.lastRunAt).toBe(20);
|
|
46
|
-
expect(updated?.gate?.permissions).toEqual(["@read:/tmp"]);
|
|
47
40
|
const stillEnabled = await repo.findAll();
|
|
48
41
|
expect(stillEnabled).toHaveLength(0);
|
|
49
42
|
const includeDisabled = await repo.findAll({ includeDisabled: true });
|
|
@@ -70,7 +63,6 @@ describe("CronTasksRepository", () => {
|
|
|
70
63
|
schedule: "* * * * *",
|
|
71
64
|
prompt: "Prompt",
|
|
72
65
|
agentId: null,
|
|
73
|
-
gate: null,
|
|
74
66
|
enabled: true,
|
|
75
67
|
deleteAfterRun: false,
|
|
76
68
|
lastRunAt: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronTasksRepository.spec.js","sourceRoot":"","sources":["../../sources/storage/cronTasksRepository.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"cronTasksRepository.spec.js","sourceRoot":"","sources":["../../sources/storage/cronTasksRepository.spec.ts"],"names":[],"mappings":"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"}
|