@swarmclawai/swarmclaw 1.2.6 → 1.2.9
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/README.md +54 -23
- package/next.config.ts +1 -0
- package/package.json +4 -3
- package/scripts/easy-setup.mjs +1 -1
- package/scripts/postinstall.mjs +1 -1
- package/skills/swarmclaw.md +115 -0
- package/skills/tools/browser.md +131 -0
- package/skills/tools/execute.md +98 -0
- package/skills/tools/files.md +98 -0
- package/skills/tools/memory.md +104 -0
- package/skills/tools/platform.md +144 -0
- package/skills/tools/skills.md +83 -0
- package/src/app/agents/[id]/page.tsx +1 -18
- package/src/app/api/agents/thread-route.test.ts +0 -1
- package/src/app/api/approvals/route.test.ts +6 -22
- package/src/app/api/chats/[id]/messages/route.ts +23 -19
- package/src/app/api/chats/messages-route.test.ts +105 -51
- package/src/app/api/connectors/route.ts +2 -2
- package/src/app/api/mcp-servers/[id]/test/route.ts +3 -2
- package/src/app/api/openclaw/deploy/route.ts +2 -0
- package/src/app/api/portability/export/route.ts +8 -0
- package/src/app/api/portability/import/route.test.ts +80 -0
- package/src/app/api/portability/import/route.ts +28 -0
- package/src/app/api/settings/route.ts +0 -2
- package/src/app/api/setup/doctor/route.ts +4 -4
- package/src/app/api/wallets/[id]/route.ts +15 -157
- package/src/app/api/wallets/generate/route.ts +22 -0
- package/src/app/api/wallets/route.test.ts +147 -0
- package/src/app/api/wallets/route.ts +13 -95
- package/src/app/autonomy/page.tsx +2 -57
- package/src/app/protocols/page.tsx +2 -21
- package/src/app/settings/page.tsx +0 -9
- package/src/app/wallets/page.tsx +105 -5
- package/src/cli/index.js +21 -33
- package/src/cli/spec.js +19 -30
- package/src/components/agents/agent-chat-list.tsx +23 -1
- package/src/components/agents/agent-sheet.tsx +2 -40
- package/src/components/agents/inspector-panel.tsx +165 -131
- package/src/components/chat/chat-area.tsx +38 -9
- package/src/components/chat/chat-card.tsx +0 -31
- package/src/components/chat/message-bubble.tsx +1 -108
- package/src/components/chat/message-list.tsx +33 -19
- package/src/components/connectors/connector-sheet.tsx +25 -1
- package/src/components/gateways/gateway-sheet.tsx +5 -2
- package/src/components/layout/sidebar-rail.tsx +6 -10
- package/src/components/projects/project-detail.tsx +3 -35
- package/src/components/projects/tabs/overview-tab.tsx +3 -59
- package/src/components/projects/tabs/work-tab.tsx +7 -77
- package/src/components/protocols/structured-session-launcher.tsx +1 -22
- package/src/components/shared/connector-platform-icon.tsx +1 -0
- package/src/components/tasks/task-card.tsx +4 -34
- package/src/components/tasks/task-sheet.tsx +6 -36
- package/src/components/wallets/wallet-list.tsx +150 -0
- package/src/lib/agent-execute-defaults.test.ts +24 -0
- package/src/lib/agent-execute-defaults.ts +62 -0
- package/src/lib/app/navigation.test.ts +0 -13
- package/src/lib/app/navigation.ts +2 -7
- package/src/lib/app/view-constants.ts +14 -19
- package/src/lib/chat/queued-message-queue.test.ts +134 -1
- package/src/lib/chat/queued-message-queue.ts +77 -2
- package/src/lib/server/agents/agent-service.ts +5 -0
- package/src/lib/server/agents/agent-thread-session.ts +0 -1
- package/src/lib/server/agents/delegation-advisory.test.ts +0 -1
- package/src/lib/server/agents/delegation-jobs.test.ts +0 -69
- package/src/lib/server/agents/delegation-jobs.ts +0 -25
- package/src/lib/server/agents/main-agent-loop.ts +1 -49
- package/src/lib/server/agents/subagent-runtime.ts +0 -1
- package/src/lib/server/approval-match.ts +0 -85
- package/src/lib/server/approvals.test.ts +6 -6
- package/src/lib/server/approvals.ts +0 -6
- package/src/lib/server/autonomy/supervisor-reflection.test.ts +0 -1
- package/src/lib/server/builtin-extensions.ts +1 -2
- package/src/lib/server/capability-router.test.ts +0 -2
- package/src/lib/server/chat-execution/chat-execution-advanced.test.ts +1 -1
- package/src/lib/server/chat-execution/chat-execution-tool-events.test.ts +15 -14
- package/src/lib/server/chat-execution/chat-execution-types.ts +0 -2
- package/src/lib/server/chat-execution/chat-execution-utils.ts +2 -4
- package/src/lib/server/chat-execution/chat-streaming-utils.ts +2 -30
- package/src/lib/server/chat-execution/chat-turn-finalization.ts +1 -36
- package/src/lib/server/chat-execution/chat-turn-preparation.ts +81 -64
- package/src/lib/server/chat-execution/chat-turn-stream-execution.ts +4 -0
- package/src/lib/server/chat-execution/continuation-evaluator.ts +8 -0
- package/src/lib/server/chat-execution/iteration-event-handler.ts +0 -24
- package/src/lib/server/chat-execution/memory-mutation-tools.ts +1 -1
- package/src/lib/server/chat-execution/message-classifier.test.ts +0 -45
- package/src/lib/server/chat-execution/message-classifier.ts +11 -16
- package/src/lib/server/chat-execution/prompt-builder.test.ts +27 -0
- package/src/lib/server/chat-execution/prompt-builder.ts +14 -31
- package/src/lib/server/chat-execution/prompt-mode.test.ts +24 -0
- package/src/lib/server/chat-execution/prompt-mode.ts +5 -1
- package/src/lib/server/chat-execution/prompt-sections.ts +0 -1
- package/src/lib/server/chat-execution/situational-awareness.test.ts +2 -73
- package/src/lib/server/chat-execution/situational-awareness.ts +4 -38
- package/src/lib/server/chat-execution/stream-agent-chat.test.ts +13 -126
- package/src/lib/server/chat-execution/stream-agent-chat.ts +46 -21
- package/src/lib/server/chat-execution/stream-continuation.test.ts +4 -52
- package/src/lib/server/chat-execution/stream-continuation.ts +6 -48
- package/src/lib/server/chatrooms/chatroom-routing.test.ts +4 -0
- package/src/lib/server/chatrooms/session-mailbox.ts +0 -10
- package/src/lib/server/chats/chat-session-service.ts +3 -5
- package/src/lib/server/connectors/connector-inbound.ts +0 -1
- package/src/lib/server/connectors/connector-lifecycle.ts +19 -3
- package/src/lib/server/connectors/connector-service.ts +39 -9
- package/src/lib/server/connectors/discord.ts +2 -2
- package/src/lib/server/connectors/matrix.ts +3 -2
- package/src/lib/server/connectors/signal.ts +5 -4
- package/src/lib/server/connectors/slack.ts +10 -9
- package/src/lib/server/connectors/swarmdock-bidding.ts +74 -0
- package/src/lib/server/connectors/swarmdock-payloads.test.ts +85 -0
- package/src/lib/server/connectors/swarmdock-secret.test.ts +128 -0
- package/src/lib/server/connectors/swarmdock-secret.ts +152 -0
- package/src/lib/server/connectors/swarmdock-tasks.ts +119 -0
- package/src/lib/server/connectors/swarmdock.ts +255 -0
- package/src/lib/server/connectors/teams.ts +3 -2
- package/src/lib/server/connectors/telegram.ts +4 -4
- package/src/lib/server/connectors/whatsapp.ts +2 -2
- package/src/lib/server/daemon/controller.ts +7 -0
- package/src/lib/server/execution-brief.test.ts +2 -25
- package/src/lib/server/execution-brief.ts +12 -35
- package/src/lib/server/execution-engine/task-attempt.ts +0 -1
- package/src/lib/server/gateways/gateway-profile-service.ts +19 -1
- package/src/lib/server/messages/message-repository.test.ts +70 -0
- package/src/lib/server/messages/message-repository.ts +11 -6
- package/src/lib/server/openclaw/deploy.ts +32 -2
- package/src/lib/server/persistence/storage-context.ts +0 -5
- package/src/lib/server/plugins-advanced.test.ts +1 -2
- package/src/lib/server/portability/export.ts +109 -0
- package/src/lib/server/portability/import.ts +159 -0
- package/src/lib/server/protocols/protocol-normalization.ts +0 -4
- package/src/lib/server/protocols/protocol-queries.ts +0 -6
- package/src/lib/server/protocols/protocol-run-lifecycle.ts +4 -32
- package/src/lib/server/protocols/protocol-service.ts +0 -1
- package/src/lib/server/protocols/protocol-step-helpers.ts +0 -4
- package/src/lib/server/protocols/protocol-step-processors.ts +0 -6
- package/src/lib/server/protocols/protocol-swarm.ts +0 -2
- package/src/lib/server/protocols/protocol-types.ts +0 -2
- package/src/lib/server/provider-health.ts +1 -10
- package/src/lib/server/runtime/daemon-state/core.ts +0 -9
- package/src/lib/server/runtime/daemon-state.test.ts +0 -35
- package/src/lib/server/runtime/heartbeat-service.ts +3 -23
- package/src/lib/server/runtime/process-manager.ts +13 -9
- package/src/lib/server/runtime/queue/core.ts +11 -33
- package/src/lib/server/runtime/runtime-storage-write-paths.test.ts +6 -6
- package/src/lib/server/runtime/scheduler.ts +0 -13
- package/src/lib/server/runtime/session-run-manager/drain.ts +0 -24
- package/src/lib/server/runtime/session-run-manager/enqueue.ts +0 -1
- package/src/lib/server/runtime/session-run-manager/queries.ts +15 -1
- package/src/lib/server/runtime/session-run-manager/recovery.ts +0 -1
- package/src/lib/server/runtime/session-run-manager.test.ts +58 -28
- package/src/lib/server/sandbox/session-runtime.test.ts +18 -1
- package/src/lib/server/sandbox/session-runtime.ts +40 -28
- package/src/lib/server/session-tools/autonomy-tools.test.ts +7 -9
- package/src/lib/server/session-tools/context.ts +1 -1
- package/src/lib/server/session-tools/credential-env.ts +109 -0
- package/src/lib/server/session-tools/crud.ts +3 -17
- package/src/lib/server/session-tools/delegate.ts +0 -4
- package/src/lib/server/session-tools/edit_file.ts +3 -2
- package/src/lib/server/session-tools/execute.test.ts +58 -0
- package/src/lib/server/session-tools/execute.ts +334 -0
- package/src/lib/server/session-tools/files-tool.ts +635 -0
- package/src/lib/server/session-tools/index.ts +14 -8
- package/src/lib/server/session-tools/memory-tool.ts +242 -0
- package/src/lib/server/session-tools/memory.ts +1 -1
- package/src/lib/server/session-tools/openclaw-nodes.ts +3 -2
- package/src/lib/server/session-tools/openclaw-workspace.ts +3 -2
- package/src/lib/server/session-tools/platform-tool.ts +617 -0
- package/src/lib/server/session-tools/session-info.ts +3 -2
- package/src/lib/server/session-tools/session-tools-wiring.test.ts +3 -4
- package/src/lib/server/session-tools/shell.ts +7 -122
- package/src/lib/server/session-tools/skills-tool.ts +396 -0
- package/src/lib/server/session-tools/team-context.ts +0 -3
- package/src/lib/server/session-tools/web.ts +2 -2
- package/src/lib/server/storage-normalization.ts +10 -0
- package/src/lib/server/storage.ts +18 -45
- package/src/lib/server/tasks/task-checkout.ts +59 -0
- package/src/lib/server/tasks/task-lifecycle.ts +2 -0
- package/src/lib/server/tasks/task-route-service.ts +4 -26
- package/src/lib/server/tasks/task-service.ts +0 -7
- package/src/lib/server/tool-aliases.ts +2 -2
- package/src/lib/server/tool-capability-policy-advanced.test.ts +13 -6
- package/src/lib/server/tool-capability-policy.test.ts +2 -1
- package/src/lib/server/tool-capability-policy.ts +60 -35
- package/src/lib/server/tool-planning.ts +11 -12
- package/src/lib/server/universal-tool-access.ts +0 -1
- package/src/lib/server/wallets/wallet-crypto.ts +33 -0
- package/src/lib/server/wallets/wallet-repository.ts +24 -0
- package/src/lib/server/wallets/wallet-service.ts +119 -0
- package/src/lib/server/working-state/extraction.ts +8 -42
- package/src/lib/server/working-state/normalization.ts +10 -103
- package/src/lib/server/working-state/service.ts +12 -21
- package/src/lib/setup-defaults.ts +5 -0
- package/src/lib/strip-internal-metadata.test.ts +1 -1
- package/src/lib/strip-internal-metadata.ts +1 -1
- package/src/lib/tool-definitions.ts +1 -1
- package/src/lib/validation/schemas.test.ts +16 -0
- package/src/lib/validation/schemas.ts +49 -2
- package/src/stores/slices/data-slice.ts +5 -1
- package/src/stores/slices/ui-slice.ts +0 -4
- package/src/stores/use-chat-store.test.ts +231 -0
- package/src/stores/use-chat-store.ts +62 -13
- package/src/types/agent.ts +264 -0
- package/src/types/app-settings.ts +173 -0
- package/src/types/approval.ts +25 -0
- package/src/types/connector.ts +188 -0
- package/src/types/extension.ts +386 -0
- package/src/types/index.ts +16 -3555
- package/src/types/message.ts +56 -0
- package/src/types/misc.ts +737 -0
- package/src/types/protocol.ts +420 -0
- package/src/types/provider.ts +52 -0
- package/src/types/run.ts +180 -0
- package/src/types/schedule.ts +59 -0
- package/src/types/session.ts +215 -0
- package/src/types/skill.ts +157 -0
- package/src/types/swarmdock.ts +29 -0
- package/src/types/task.ts +144 -0
- package/src/types/working-state.ts +204 -0
- package/src/views/settings/section-heartbeat.tsx +2 -2
- package/src/views/settings/section-runtime-loop.tsx +0 -14
- package/src/app/api/canvas/[sessionId]/route.ts +0 -35
- package/src/app/api/missions/[id]/actions/route.ts +0 -31
- package/src/app/api/missions/[id]/events/route.ts +0 -14
- package/src/app/api/missions/[id]/route.ts +0 -10
- package/src/app/api/missions/route.test.ts +0 -244
- package/src/app/api/missions/route.ts +0 -57
- package/src/app/api/wallets/[id]/approve/route.ts +0 -79
- package/src/app/api/wallets/[id]/balance-history/route.ts +0 -18
- package/src/app/api/wallets/[id]/send/route.ts +0 -113
- package/src/app/api/wallets/[id]/transactions/route.ts +0 -18
- package/src/app/missions/[id]/page.tsx +0 -3
- package/src/app/missions/page.tsx +0 -685
- package/src/components/canvas/canvas-panel.tsx +0 -267
- package/src/components/wallets/wallet-approval-dialog.tsx +0 -107
- package/src/components/wallets/wallet-panel.tsx +0 -1010
- package/src/components/wallets/wallet-section.tsx +0 -260
- package/src/features/missions/queries.ts +0 -23
- package/src/lib/canvas-content.test.ts +0 -360
- package/src/lib/canvas-content.ts +0 -198
- package/src/lib/server/canvas-content.test.ts +0 -32
- package/src/lib/server/canvas-content.ts +0 -6
- package/src/lib/server/ethereum.ts +0 -591
- package/src/lib/server/evm-swap.ts +0 -476
- package/src/lib/server/missions/mission-intent.test.ts +0 -63
- package/src/lib/server/missions/mission-intent.ts +0 -569
- package/src/lib/server/missions/mission-repository.ts +0 -74
- package/src/lib/server/missions/mission-service/actions.ts +0 -6
- package/src/lib/server/missions/mission-service/bindings.ts +0 -9
- package/src/lib/server/missions/mission-service/context.ts +0 -4
- package/src/lib/server/missions/mission-service/core.ts +0 -2271
- package/src/lib/server/missions/mission-service/queries.ts +0 -12
- package/src/lib/server/missions/mission-service/recovery.ts +0 -5
- package/src/lib/server/missions/mission-service/ticks.ts +0 -9
- package/src/lib/server/missions/mission-service.test.ts +0 -888
- package/src/lib/server/missions/mission-service.ts +0 -6
- package/src/lib/server/session-tools/canvas.ts +0 -105
- package/src/lib/server/session-tools/sandbox.ts +0 -281
- package/src/lib/server/session-tools/wallet-tool.test.ts +0 -150
- package/src/lib/server/session-tools/wallet.ts +0 -1287
- package/src/lib/server/solana.ts +0 -327
- package/src/lib/server/wallet/wallet-execution.test.ts +0 -198
- package/src/lib/server/wallet/wallet-portfolio.test.ts +0 -98
- package/src/lib/server/wallet/wallet-portfolio.ts +0 -772
- package/src/lib/server/wallet/wallet-service.test.ts +0 -81
- package/src/lib/server/wallet/wallet-service.ts +0 -225
- package/src/lib/wallet/wallet-transactions.test.ts +0 -75
- package/src/lib/wallet/wallet-transactions.ts +0 -43
- package/src/lib/wallet/wallet.test.ts +0 -333
- package/src/lib/wallet/wallet.ts +0 -183
- package/src/views/settings/section-wallets.tsx +0 -35
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import type { ProviderId, OllamaMode } from './provider'
|
|
2
|
+
import type { ConnectorPlatform } from './connector'
|
|
3
|
+
import type { Message } from './message'
|
|
4
|
+
|
|
5
|
+
export type SessionResetMode = 'idle' | 'daily' | 'isolated'
|
|
6
|
+
export type SessionResetType = 'direct' | 'group' | 'thread' | 'main'
|
|
7
|
+
|
|
8
|
+
export interface IdentityContinuityState {
|
|
9
|
+
selfSummary?: string | null
|
|
10
|
+
relationshipSummary?: string | null
|
|
11
|
+
personaLabel?: string | null
|
|
12
|
+
toneStyle?: string | null
|
|
13
|
+
boundaries?: string[]
|
|
14
|
+
continuityNotes?: string[]
|
|
15
|
+
updatedAt?: number | null
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface SessionArchiveState {
|
|
19
|
+
memoryId?: string | null
|
|
20
|
+
lastSyncedAt?: number | null
|
|
21
|
+
lastHash?: string | null
|
|
22
|
+
messageCount?: number
|
|
23
|
+
exportPath?: string | null
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface SessionSkillRuntimeState {
|
|
27
|
+
selectedSkillId?: string | null
|
|
28
|
+
selectedSkillName?: string | null
|
|
29
|
+
selectedAt?: number | null
|
|
30
|
+
lastAction?: 'select' | 'load' | 'run' | null
|
|
31
|
+
lastRunAt?: number | null
|
|
32
|
+
lastRunToolName?: string | null
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
export interface MailboxEnvelope {
|
|
37
|
+
id: string
|
|
38
|
+
type: string
|
|
39
|
+
payload: string
|
|
40
|
+
fromSessionId?: string | null
|
|
41
|
+
fromAgentId?: string | null
|
|
42
|
+
toSessionId: string
|
|
43
|
+
toAgentId?: string | null
|
|
44
|
+
correlationId?: string | null
|
|
45
|
+
status: MailboxStatus
|
|
46
|
+
createdAt: number
|
|
47
|
+
expiresAt?: number | null
|
|
48
|
+
ackAt?: number | null
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export type MailboxStatus = 'new' | 'ack'
|
|
52
|
+
|
|
53
|
+
export interface Session {
|
|
54
|
+
id: string
|
|
55
|
+
name: string
|
|
56
|
+
openclawAgentId?: string | null
|
|
57
|
+
shortcutForAgentId?: string | null
|
|
58
|
+
cwd: string
|
|
59
|
+
user: string
|
|
60
|
+
provider: ProviderId
|
|
61
|
+
model: string
|
|
62
|
+
ollamaMode?: OllamaMode | null
|
|
63
|
+
credentialId?: string | null
|
|
64
|
+
fallbackCredentialIds?: string[]
|
|
65
|
+
apiEndpoint?: string | null
|
|
66
|
+
gatewayProfileId?: string | null
|
|
67
|
+
routePreferredGatewayTags?: string[]
|
|
68
|
+
routePreferredGatewayUseCase?: string | null
|
|
69
|
+
claudeSessionId: string | null
|
|
70
|
+
codexThreadId?: string | null
|
|
71
|
+
opencodeSessionId?: string | null
|
|
72
|
+
geminiSessionId?: string | null
|
|
73
|
+
delegateResumeIds?: {
|
|
74
|
+
claudeCode?: string | null
|
|
75
|
+
codex?: string | null
|
|
76
|
+
opencode?: string | null
|
|
77
|
+
gemini?: string | null
|
|
78
|
+
}
|
|
79
|
+
/** @deprecated Messages are stored in session_messages table. Use message-repository. */
|
|
80
|
+
messages: Message[]
|
|
81
|
+
/** Pre-computed message count (kept in sync by message-repository). */
|
|
82
|
+
messageCount?: number
|
|
83
|
+
lastMessageSummary?: Message | null
|
|
84
|
+
lastAssistantAt?: number | null
|
|
85
|
+
createdAt: number
|
|
86
|
+
updatedAt?: number | null
|
|
87
|
+
lastActiveAt: number
|
|
88
|
+
active?: boolean
|
|
89
|
+
sessionType?: SessionType
|
|
90
|
+
agentId?: string | null
|
|
91
|
+
parentSessionId?: string | null
|
|
92
|
+
delegationDepth?: number | null
|
|
93
|
+
tools?: string[]
|
|
94
|
+
extensions?: string[]
|
|
95
|
+
heartbeatEnabled?: boolean | null
|
|
96
|
+
heartbeatIntervalSec?: number | null
|
|
97
|
+
heartbeatTarget?: 'last' | 'none' | string | null
|
|
98
|
+
memoryScopeMode?: 'auto' | 'all' | 'global' | 'agent' | 'session' | 'project' | null
|
|
99
|
+
memoryTierPreference?: 'working' | 'durable' | 'archive' | 'blended' | null
|
|
100
|
+
projectId?: string | null
|
|
101
|
+
sessionResetMode?: SessionResetMode | null
|
|
102
|
+
sessionIdleTimeoutSec?: number | null
|
|
103
|
+
sessionMaxAgeSec?: number | null
|
|
104
|
+
sessionDailyResetAt?: string | null
|
|
105
|
+
sessionResetTimezone?: string | null
|
|
106
|
+
thinkingLevel?: 'minimal' | 'low' | 'medium' | 'high' | null
|
|
107
|
+
browserProfileId?: string | null
|
|
108
|
+
connectorThinkLevel?: 'minimal' | 'low' | 'medium' | 'high' | null
|
|
109
|
+
connectorSessionScope?: 'main' | 'channel' | 'peer' | 'channel-peer' | 'thread' | null
|
|
110
|
+
connectorReplyMode?: 'off' | 'first' | 'all' | null
|
|
111
|
+
connectorThreadBinding?: 'off' | 'prefer' | 'strict' | null
|
|
112
|
+
connectorGroupPolicy?: 'open' | 'mention' | 'reply-or-mention' | 'disabled' | null
|
|
113
|
+
connectorIdleTimeoutSec?: number | null
|
|
114
|
+
connectorMaxAgeSec?: number | null
|
|
115
|
+
/** Last heartbeat/cron delivery status */
|
|
116
|
+
lastDeliveryStatus?: 'ok' | 'error' | null
|
|
117
|
+
/** Timestamp of last heartbeat/cron delivery attempt */
|
|
118
|
+
lastDeliveredAt?: number | null
|
|
119
|
+
/** Error message from last failed delivery */
|
|
120
|
+
lastDeliveryError?: string | null
|
|
121
|
+
mailbox?: MailboxEnvelope[] | null
|
|
122
|
+
connectorContext?: {
|
|
123
|
+
connectorId?: string | null
|
|
124
|
+
platform?: ConnectorPlatform | null
|
|
125
|
+
channelId?: string | null
|
|
126
|
+
channelIdAlt?: string | null
|
|
127
|
+
senderId?: string | null
|
|
128
|
+
senderIdAlt?: string | null
|
|
129
|
+
senderName?: string | null
|
|
130
|
+
senderAvatarUrl?: string | null
|
|
131
|
+
sessionKey?: string | null
|
|
132
|
+
peerKey?: string | null
|
|
133
|
+
scope?: 'main' | 'channel' | 'peer' | 'channel-peer' | 'thread' | null
|
|
134
|
+
replyMode?: 'off' | 'first' | 'all' | null
|
|
135
|
+
threadBinding?: 'off' | 'prefer' | 'strict' | null
|
|
136
|
+
groupPolicy?: 'open' | 'mention' | 'reply-or-mention' | 'disabled' | null
|
|
137
|
+
threadId?: string | null
|
|
138
|
+
threadTitle?: string | null
|
|
139
|
+
threadPersonaLabel?: string | null
|
|
140
|
+
threadParentChannelId?: string | null
|
|
141
|
+
threadParentChannelName?: string | null
|
|
142
|
+
isGroup?: boolean
|
|
143
|
+
isOwnerConversation?: boolean
|
|
144
|
+
lastInboundAt?: number | null
|
|
145
|
+
lastInboundMessageId?: string | null
|
|
146
|
+
lastInboundReplyToMessageId?: string | null
|
|
147
|
+
lastInboundThreadId?: string | null
|
|
148
|
+
lastOutboundAt?: number | null
|
|
149
|
+
lastOutboundMessageId?: string | null
|
|
150
|
+
lastResetAt?: number | null
|
|
151
|
+
lastResetReason?: string | null
|
|
152
|
+
allKnownPeerIds?: string[] | null
|
|
153
|
+
}
|
|
154
|
+
lastAutoMemoryAt?: number | null
|
|
155
|
+
lastHeartbeatText?: string | null
|
|
156
|
+
lastHeartbeatSentAt?: number | null
|
|
157
|
+
lastSessionResetAt?: number | null
|
|
158
|
+
lastSessionResetReason?: string | null
|
|
159
|
+
identityState?: IdentityContinuityState | null
|
|
160
|
+
sessionArchiveState?: SessionArchiveState | null
|
|
161
|
+
skillRuntimeState?: SessionSkillRuntimeState | null
|
|
162
|
+
pinned?: boolean
|
|
163
|
+
file?: string | null
|
|
164
|
+
queuedCount?: number
|
|
165
|
+
currentRunId?: string | null
|
|
166
|
+
conversationTone?: string
|
|
167
|
+
emoji?: string
|
|
168
|
+
creature?: string
|
|
169
|
+
vibe?: string
|
|
170
|
+
theme?: string
|
|
171
|
+
avatar?: string
|
|
172
|
+
/** Tracks how many times each memory ID has been injected via proactive recall in this session. */
|
|
173
|
+
injectedMemoryIds?: Record<string, number>
|
|
174
|
+
/** Structured working memory that survives compaction and flows through delegation. */
|
|
175
|
+
runContext?: RunContext | null
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface RunContext {
|
|
179
|
+
objective: string | null
|
|
180
|
+
constraints: string[]
|
|
181
|
+
keyFacts: string[]
|
|
182
|
+
discoveries: string[]
|
|
183
|
+
failedApproaches: string[]
|
|
184
|
+
currentPlan: string[]
|
|
185
|
+
completedSteps: string[]
|
|
186
|
+
blockers: string[]
|
|
187
|
+
parentContext: string | null
|
|
188
|
+
updatedAt: number
|
|
189
|
+
version: number
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export type Sessions = Record<string, Session>
|
|
193
|
+
|
|
194
|
+
export type SessionTool =
|
|
195
|
+
| 'shell'
|
|
196
|
+
| 'files'
|
|
197
|
+
| 'claude_code'
|
|
198
|
+
| 'codex_cli'
|
|
199
|
+
| 'opencode_cli'
|
|
200
|
+
| 'web_search'
|
|
201
|
+
| 'web_fetch'
|
|
202
|
+
| 'edit_file'
|
|
203
|
+
| 'process'
|
|
204
|
+
| 'spawn_subagent'
|
|
205
|
+
| 'http_request'
|
|
206
|
+
| 'git'
|
|
207
|
+
| 'mailbox'
|
|
208
|
+
| 'ask_human'
|
|
209
|
+
| 'document'
|
|
210
|
+
| 'extract'
|
|
211
|
+
| 'table'
|
|
212
|
+
| 'crawl'
|
|
213
|
+
|
|
214
|
+
export type SessionType = 'human'
|
|
215
|
+
export type AppView = 'home' | 'agents' | 'org_chart' | 'inbox' | 'chatrooms' | 'protocols' | 'schedules' | 'memory' | 'tasks' | 'secrets' | 'wallets' | 'providers' | 'skills' | 'connectors' | 'webhooks' | 'mcp_servers' | 'knowledge' | 'extensions' | 'usage' | 'runs' | 'autonomy' | 'logs' | 'settings' | 'projects' | 'activity'
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
// --- Skills ---
|
|
2
|
+
|
|
3
|
+
export interface Skill {
|
|
4
|
+
id: string
|
|
5
|
+
name: string
|
|
6
|
+
filename: string
|
|
7
|
+
content: string
|
|
8
|
+
projectId?: string
|
|
9
|
+
description?: string
|
|
10
|
+
sourceUrl?: string
|
|
11
|
+
sourceFormat?: 'openclaw' | 'plain'
|
|
12
|
+
author?: string
|
|
13
|
+
tags?: string[]
|
|
14
|
+
version?: string
|
|
15
|
+
homepage?: string
|
|
16
|
+
primaryEnv?: string | null
|
|
17
|
+
skillKey?: string | null
|
|
18
|
+
toolNames?: string[]
|
|
19
|
+
capabilities?: string[]
|
|
20
|
+
always?: boolean
|
|
21
|
+
installOptions?: SkillInstallOption[]
|
|
22
|
+
skillRequirements?: SkillRequirements
|
|
23
|
+
detectedEnvVars?: string[]
|
|
24
|
+
security?: SkillSecuritySummary | null
|
|
25
|
+
invocation?: SkillInvocationConfig | null
|
|
26
|
+
commandDispatch?: SkillCommandDispatch | null
|
|
27
|
+
frontmatter?: Record<string, unknown> | null
|
|
28
|
+
scope?: 'global' | 'agent'
|
|
29
|
+
agentIds?: string[]
|
|
30
|
+
createdAt: number
|
|
31
|
+
updatedAt: number
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type LearnedSkillScope = 'agent' | 'session'
|
|
35
|
+
export type LearnedSkillLifecycle = 'candidate' | 'active' | 'shadow' | 'demoted' | 'review_ready'
|
|
36
|
+
export type LearnedSkillSourceKind = 'success_pattern' | 'failure_repair'
|
|
37
|
+
export type LearnedSkillValidationStatus = 'pending' | 'passed' | 'failed'
|
|
38
|
+
export type LearnedSkillRiskLevel = 'low' | 'medium' | 'high'
|
|
39
|
+
|
|
40
|
+
export interface LearnedSkill {
|
|
41
|
+
id: string
|
|
42
|
+
parentSkillId?: string | null
|
|
43
|
+
agentId: string
|
|
44
|
+
userId?: string | null
|
|
45
|
+
sessionId?: string | null
|
|
46
|
+
scope: LearnedSkillScope
|
|
47
|
+
lifecycle: LearnedSkillLifecycle
|
|
48
|
+
sourceKind: LearnedSkillSourceKind
|
|
49
|
+
workflowKey: string
|
|
50
|
+
failureFamily?: string | null
|
|
51
|
+
objectiveSummary?: string | null
|
|
52
|
+
name?: string | null
|
|
53
|
+
description?: string | null
|
|
54
|
+
content?: string | null
|
|
55
|
+
tags?: string[]
|
|
56
|
+
rationale?: string | null
|
|
57
|
+
confidence?: number | null
|
|
58
|
+
riskLevel?: LearnedSkillRiskLevel | null
|
|
59
|
+
validationStatus: LearnedSkillValidationStatus
|
|
60
|
+
validationSummary?: string | null
|
|
61
|
+
validationEvidenceCount?: number
|
|
62
|
+
evidenceCount?: number
|
|
63
|
+
activationCount?: number
|
|
64
|
+
successCount?: number
|
|
65
|
+
failureCount?: number
|
|
66
|
+
consecutiveSuccessCount?: number
|
|
67
|
+
consecutiveFailureCount?: number
|
|
68
|
+
lastSourceHash?: string | null
|
|
69
|
+
lastUsedAt?: number | null
|
|
70
|
+
lastSucceededAt?: number | null
|
|
71
|
+
lastFailedAt?: number | null
|
|
72
|
+
demotedAt?: number | null
|
|
73
|
+
demotionReason?: string | null
|
|
74
|
+
retryUnlockedAt?: number | null
|
|
75
|
+
retryUnlockedByReflectionId?: string | null
|
|
76
|
+
retryUnlockedBySkillId?: string | null
|
|
77
|
+
reviewReadyAt?: number | null
|
|
78
|
+
sourceSessionName?: string | null
|
|
79
|
+
sourceSnippet?: string | null
|
|
80
|
+
lastRefinedAt?: number | null
|
|
81
|
+
refinementCount?: number
|
|
82
|
+
createdAt: number
|
|
83
|
+
updatedAt: number
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export type SkillSuggestionStatus = 'draft' | 'approved' | 'rejected'
|
|
87
|
+
|
|
88
|
+
export interface SkillSuggestion {
|
|
89
|
+
id: string
|
|
90
|
+
status: SkillSuggestionStatus
|
|
91
|
+
sourceSessionId: string
|
|
92
|
+
sourceSessionName?: string | null
|
|
93
|
+
sourceAgentId?: string | null
|
|
94
|
+
sourceAgentName?: string | null
|
|
95
|
+
sourceHash?: string | null
|
|
96
|
+
sourceMessageCount?: number | null
|
|
97
|
+
name: string
|
|
98
|
+
description?: string
|
|
99
|
+
content: string
|
|
100
|
+
tags?: string[]
|
|
101
|
+
confidence?: number | null
|
|
102
|
+
rationale?: string | null
|
|
103
|
+
summary?: string | null
|
|
104
|
+
sourceSnippet?: string | null
|
|
105
|
+
createdSkillId?: string | null
|
|
106
|
+
approvedAt?: number | null
|
|
107
|
+
rejectedAt?: number | null
|
|
108
|
+
createdAt: number
|
|
109
|
+
updatedAt: number
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export interface SkillInvocationConfig {
|
|
113
|
+
userInvocable?: boolean
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface SkillCommandDispatch {
|
|
117
|
+
kind: 'tool'
|
|
118
|
+
toolName: string
|
|
119
|
+
argMode?: 'raw'
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface SkillAuditFinding {
|
|
123
|
+
severity: 'warning' | 'error'
|
|
124
|
+
code: string
|
|
125
|
+
message: string
|
|
126
|
+
path?: string
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export interface SkillAuditResult {
|
|
130
|
+
status: 'pass' | 'warn' | 'block'
|
|
131
|
+
findings: SkillAuditFinding[]
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface SkillSecuritySummary {
|
|
135
|
+
level: 'low' | 'medium' | 'high'
|
|
136
|
+
notes: string[]
|
|
137
|
+
detectedEnvVars?: string[]
|
|
138
|
+
missingDeclarations?: string[]
|
|
139
|
+
installCommands?: string[]
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// --- Skill Lifecycle (F11) ---
|
|
143
|
+
export interface SkillInstallOption {
|
|
144
|
+
kind: 'brew' | 'node' | 'go' | 'uv' | 'download'
|
|
145
|
+
label: string
|
|
146
|
+
bins?: string[]
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface SkillRequirements {
|
|
150
|
+
bins?: string[]
|
|
151
|
+
anyBins?: string[][]
|
|
152
|
+
env?: string[]
|
|
153
|
+
config?: string[]
|
|
154
|
+
os?: string[]
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export type SkillAllowlistMode = 'all' | 'none' | 'selected'
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// --- SwarmDock Marketplace Types ---
|
|
2
|
+
|
|
3
|
+
export interface AgentWallet {
|
|
4
|
+
id: string
|
|
5
|
+
agentId: string
|
|
6
|
+
walletAddress: string
|
|
7
|
+
chain: 'base'
|
|
8
|
+
label?: string
|
|
9
|
+
encryptedPrivateKey?: string | null
|
|
10
|
+
spendingLimitUsdc?: string | null
|
|
11
|
+
dailyLimitUsdc?: string | null
|
|
12
|
+
requireApproval?: boolean
|
|
13
|
+
swarmdockAgentId?: string | null
|
|
14
|
+
swarmdockDid?: string | null
|
|
15
|
+
createdAt: number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type SafeWallet = Omit<AgentWallet, 'encryptedPrivateKey'>
|
|
19
|
+
|
|
20
|
+
export interface WalletTransaction {
|
|
21
|
+
id: string
|
|
22
|
+
walletId: string
|
|
23
|
+
swarmdockTaskId?: string | null
|
|
24
|
+
amount: string
|
|
25
|
+
direction: 'in' | 'out'
|
|
26
|
+
txHash?: string | null
|
|
27
|
+
status: 'pending' | 'confirmed' | 'failed'
|
|
28
|
+
createdAt: number
|
|
29
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { GoalContract } from './app-settings'
|
|
2
|
+
|
|
3
|
+
// --- Task Board ---
|
|
4
|
+
|
|
5
|
+
export type BoardTaskStatus = 'backlog' | 'queued' | 'running' | 'completed' | 'failed' | 'cancelled' | 'archived' | 'deferred'
|
|
6
|
+
|
|
7
|
+
export interface TaskComment {
|
|
8
|
+
id: string
|
|
9
|
+
author: string // agent name or 'user'
|
|
10
|
+
agentId?: string // if from an agent
|
|
11
|
+
text: string
|
|
12
|
+
createdAt: number
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface TaskQualityGateConfig {
|
|
16
|
+
enabled?: boolean
|
|
17
|
+
minResultChars?: number
|
|
18
|
+
minEvidenceItems?: number
|
|
19
|
+
requireVerification?: boolean
|
|
20
|
+
requireArtifact?: boolean
|
|
21
|
+
requireReport?: boolean
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface BoardTask {
|
|
25
|
+
id: string
|
|
26
|
+
title: string
|
|
27
|
+
description: string
|
|
28
|
+
status: BoardTaskStatus
|
|
29
|
+
agentId: string
|
|
30
|
+
protocolRunId?: string | null
|
|
31
|
+
// Objective tracking (absorbed from missions)
|
|
32
|
+
objective?: string | null
|
|
33
|
+
successCriteria?: string[] | null
|
|
34
|
+
verificationSummary?: string | null
|
|
35
|
+
rootTaskId?: string | null
|
|
36
|
+
projectId?: string
|
|
37
|
+
goalContract?: GoalContract | null
|
|
38
|
+
cwd?: string | null
|
|
39
|
+
file?: string | null
|
|
40
|
+
sessionId?: string | null
|
|
41
|
+
completionReportPath?: string | null
|
|
42
|
+
result?: string | null
|
|
43
|
+
error?: string | null
|
|
44
|
+
outputFiles?: string[]
|
|
45
|
+
artifacts?: Array<{
|
|
46
|
+
url: string
|
|
47
|
+
type: 'image' | 'video' | 'pdf' | 'file'
|
|
48
|
+
filename: string
|
|
49
|
+
}>
|
|
50
|
+
comments?: TaskComment[]
|
|
51
|
+
images?: string[]
|
|
52
|
+
createdByAgentId?: string | null
|
|
53
|
+
createdInSessionId?: string | null
|
|
54
|
+
followupConnectorId?: string | null
|
|
55
|
+
followupChannelId?: string | null
|
|
56
|
+
followupThreadId?: string | null
|
|
57
|
+
followupSenderId?: string | null
|
|
58
|
+
followupSenderName?: string | null
|
|
59
|
+
delegatedByAgentId?: string | null
|
|
60
|
+
delegatedFromTaskId?: string | null
|
|
61
|
+
delegationDepth?: number | null
|
|
62
|
+
createdAt: number
|
|
63
|
+
updatedAt: number
|
|
64
|
+
queuedAt?: number | null
|
|
65
|
+
startedAt?: number | null
|
|
66
|
+
completedAt?: number | null
|
|
67
|
+
archivedAt?: number | null
|
|
68
|
+
attempts?: number
|
|
69
|
+
maxAttempts?: number
|
|
70
|
+
retryBackoffSec?: number
|
|
71
|
+
retryScheduledAt?: number | null
|
|
72
|
+
runNumber?: number
|
|
73
|
+
totalRuns?: number
|
|
74
|
+
totalCompleted?: number
|
|
75
|
+
totalFailed?: number
|
|
76
|
+
sourceType?: 'schedule' | 'delegation' | 'manual' | 'import'
|
|
77
|
+
sourceScheduleId?: string | null
|
|
78
|
+
sourceScheduleName?: string | null
|
|
79
|
+
sourceScheduleKey?: string | null
|
|
80
|
+
externalSource?: {
|
|
81
|
+
source: string
|
|
82
|
+
id?: string | null
|
|
83
|
+
repo?: string | null
|
|
84
|
+
number?: number | null
|
|
85
|
+
state?: string | null
|
|
86
|
+
labels?: string[]
|
|
87
|
+
assignee?: string | null
|
|
88
|
+
url?: string | null
|
|
89
|
+
} | null
|
|
90
|
+
lastActivityAt?: number | null
|
|
91
|
+
deferredReason?: string | null
|
|
92
|
+
deadLetteredAt?: number | null
|
|
93
|
+
cliResumeId?: string | null
|
|
94
|
+
cliProvider?: string | null
|
|
95
|
+
claudeResumeId?: string | null
|
|
96
|
+
codexResumeId?: string | null
|
|
97
|
+
opencodeResumeId?: string | null
|
|
98
|
+
geminiResumeId?: string | null
|
|
99
|
+
checkpoint?: {
|
|
100
|
+
lastRunId?: string | null
|
|
101
|
+
lastSessionId?: string | null
|
|
102
|
+
note?: string | null
|
|
103
|
+
updatedAt: number
|
|
104
|
+
} | null
|
|
105
|
+
validation?: {
|
|
106
|
+
ok: boolean
|
|
107
|
+
reasons: string[]
|
|
108
|
+
checkedAt: number
|
|
109
|
+
} | null
|
|
110
|
+
// Parent/child task hierarchy (user-created subtasks)
|
|
111
|
+
parentTaskId?: string | null
|
|
112
|
+
subtaskIds?: string[]
|
|
113
|
+
// Task dependencies (DAG)
|
|
114
|
+
blockedBy?: string[]
|
|
115
|
+
blocks?: string[]
|
|
116
|
+
// Task tags
|
|
117
|
+
tags?: string[]
|
|
118
|
+
// Due date
|
|
119
|
+
dueAt?: number | null
|
|
120
|
+
// Custom fields
|
|
121
|
+
customFields?: Record<string, string | number | boolean>
|
|
122
|
+
// Priority
|
|
123
|
+
priority?: 'low' | 'medium' | 'high' | 'critical'
|
|
124
|
+
// Dedup fingerprint
|
|
125
|
+
fingerprint?: string
|
|
126
|
+
qualityGate?: TaskQualityGateConfig | null
|
|
127
|
+
// Competitive task claiming (pool mode)
|
|
128
|
+
assignmentMode?: 'direct' | 'pool'
|
|
129
|
+
poolCandidateAgentIds?: string[]
|
|
130
|
+
claimedByAgentId?: string | null
|
|
131
|
+
claimedAt?: number | null
|
|
132
|
+
requiredCapabilities?: string[]
|
|
133
|
+
// Upstream task results (populated by cascadeUnblock when dependencies complete)
|
|
134
|
+
upstreamResults?: Array<{
|
|
135
|
+
taskId: string
|
|
136
|
+
taskTitle: string
|
|
137
|
+
agentId: string | null
|
|
138
|
+
resultPreview: string | null
|
|
139
|
+
}>
|
|
140
|
+
repairRunId?: string | null
|
|
141
|
+
lastRepairAttemptAt?: number | null
|
|
142
|
+
// Atomic checkout — prevents two runners from starting the same task
|
|
143
|
+
checkoutRunId?: string | null
|
|
144
|
+
}
|