@swarmclawai/swarmclaw 0.7.7 → 0.7.8
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 +10 -9
- package/package.json +1 -1
- package/src/app/api/chats/route.ts +1 -0
- package/src/app/api/connectors/[id]/route.ts +20 -2
- package/src/app/api/connectors/route.ts +12 -8
- package/src/app/api/projects/[id]/route.ts +6 -2
- package/src/app/api/projects/route.ts +4 -3
- package/src/app/api/secrets/[id]/route.ts +1 -0
- package/src/app/api/secrets/route.ts +2 -1
- package/src/app/api/settings/route.ts +2 -0
- package/src/components/agents/agent-sheet.tsx +184 -14
- package/src/components/chat/chat-area.tsx +36 -19
- package/src/components/chat/chat-header.tsx +4 -0
- package/src/components/chat/delegation-banner.test.ts +14 -1
- package/src/components/chat/delegation-banner.tsx +1 -1
- package/src/components/layout/app-layout.tsx +40 -23
- package/src/components/projects/project-detail.tsx +217 -0
- package/src/components/projects/project-sheet.tsx +176 -4
- package/src/components/shared/settings/section-capability-policy.tsx +38 -0
- package/src/components/shared/settings/section-voice.tsx +11 -3
- package/src/components/tasks/approvals-panel.tsx +177 -18
- package/src/components/tasks/task-board.tsx +137 -23
- package/src/components/tasks/task-card.tsx +29 -0
- package/src/components/tasks/task-sheet.tsx +16 -4
- package/src/lib/server/capability-router.test.ts +22 -0
- package/src/lib/server/capability-router.ts +54 -18
- package/src/lib/server/chat-execution.ts +25 -1
- package/src/lib/server/connectors/manager-reconnect.test.ts +47 -0
- package/src/lib/server/connectors/manager.ts +99 -74
- package/src/lib/server/daemon-state.ts +83 -46
- package/src/lib/server/elevenlabs.test.ts +59 -1
- package/src/lib/server/heartbeat-service.ts +5 -1
- package/src/lib/server/main-agent-loop.test.ts +260 -0
- package/src/lib/server/main-agent-loop.ts +559 -14
- package/src/lib/server/orchestrator-lg.ts +1 -0
- package/src/lib/server/orchestrator.ts +2 -0
- package/src/lib/server/plugins.ts +6 -1
- package/src/lib/server/project-context.ts +162 -0
- package/src/lib/server/project-utils.ts +150 -0
- package/src/lib/server/queue-followups.test.ts +147 -2
- package/src/lib/server/queue.ts +234 -7
- package/src/lib/server/session-run-manager.ts +31 -0
- package/src/lib/server/session-tools/connector-inputs.test.ts +37 -0
- package/src/lib/server/session-tools/connector.ts +26 -1
- package/src/lib/server/session-tools/context.ts +5 -0
- package/src/lib/server/session-tools/crud.ts +265 -76
- package/src/lib/server/session-tools/delegate-resume.test.ts +50 -0
- package/src/lib/server/session-tools/delegate.ts +38 -2
- package/src/lib/server/session-tools/manage-tasks.test.ts +114 -0
- package/src/lib/server/session-tools/memory.ts +14 -2
- package/src/lib/server/session-tools/platform-access.test.ts +58 -0
- package/src/lib/server/session-tools/platform.ts +60 -19
- package/src/lib/server/session-tools/web-inputs.test.ts +17 -0
- package/src/lib/server/session-tools/web.ts +153 -6
- package/src/lib/server/stream-agent-chat.test.ts +27 -2
- package/src/lib/server/stream-agent-chat.ts +104 -30
- package/src/lib/server/tool-aliases.ts +2 -0
- package/src/lib/server/tool-capability-policy.test.ts +24 -0
- package/src/lib/server/tool-capability-policy.ts +29 -1
- package/src/lib/server/tool-planning.test.ts +44 -0
- package/src/lib/server/tool-planning.ts +269 -0
- package/src/lib/tool-definitions.ts +2 -1
- package/src/types/index.ts +39 -0
package/src/types/index.ts
CHANGED
|
@@ -305,10 +305,36 @@ export interface PluginHooks {
|
|
|
305
305
|
getOperatingGuidance?: () => string | string[] | null | undefined
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
+
export interface PluginToolPlanning {
|
|
309
|
+
/**
|
|
310
|
+
* Capability tags that the harness can use for prompt guidance and tool routing.
|
|
311
|
+
* Examples: research.search, research.fetch, browser.capture, artifact.pdf,
|
|
312
|
+
* delivery.media, delivery.voice_note.
|
|
313
|
+
*/
|
|
314
|
+
capabilities?: string[]
|
|
315
|
+
/**
|
|
316
|
+
* Concrete usage guidance that should be injected into the system prompt when
|
|
317
|
+
* this tool is enabled.
|
|
318
|
+
*/
|
|
319
|
+
disciplineGuidance?: string[]
|
|
320
|
+
/**
|
|
321
|
+
* Optional natural-language cues that indicate when this tool should be
|
|
322
|
+
* preferred or explicitly invoked. These are declarative hints so the harness
|
|
323
|
+
* does not need to hard-code every plugin-specific workflow centrally.
|
|
324
|
+
*/
|
|
325
|
+
requestMatchers?: Array<{
|
|
326
|
+
capability?: string
|
|
327
|
+
patterns?: string[]
|
|
328
|
+
requireLiteralUrl?: boolean
|
|
329
|
+
forbidLiteralUrl?: boolean
|
|
330
|
+
}>
|
|
331
|
+
}
|
|
332
|
+
|
|
308
333
|
export interface PluginToolDef {
|
|
309
334
|
name: string
|
|
310
335
|
description: string
|
|
311
336
|
parameters: Record<string, unknown>
|
|
337
|
+
planning?: PluginToolPlanning
|
|
312
338
|
execute: (args: Record<string, unknown>, ctx: { session: Session; message: string }) => Promise<string | object> | string | object
|
|
313
339
|
}
|
|
314
340
|
|
|
@@ -934,6 +960,15 @@ export interface Project {
|
|
|
934
960
|
name: string
|
|
935
961
|
description: string
|
|
936
962
|
color?: string
|
|
963
|
+
objective?: string
|
|
964
|
+
audience?: string
|
|
965
|
+
priorities?: string[]
|
|
966
|
+
openObjectives?: string[]
|
|
967
|
+
capabilityHints?: string[]
|
|
968
|
+
credentialRequirements?: string[]
|
|
969
|
+
successMetrics?: string[]
|
|
970
|
+
heartbeatPrompt?: string
|
|
971
|
+
heartbeatIntervalSec?: number
|
|
937
972
|
createdAt: number
|
|
938
973
|
updatedAt: number
|
|
939
974
|
}
|
|
@@ -1065,6 +1100,8 @@ export interface AppSettings {
|
|
|
1065
1100
|
capabilityBlockedTools?: string[]
|
|
1066
1101
|
capabilityBlockedCategories?: string[]
|
|
1067
1102
|
capabilityAllowedTools?: string[]
|
|
1103
|
+
taskManagementEnabled?: boolean
|
|
1104
|
+
projectManagementEnabled?: boolean
|
|
1068
1105
|
// Memory governance
|
|
1069
1106
|
memoryWorkingTtlHours?: number
|
|
1070
1107
|
memoryDefaultConfidence?: number
|
|
@@ -1128,6 +1165,7 @@ export interface OrchestratorSecret {
|
|
|
1128
1165
|
encryptedValue: string
|
|
1129
1166
|
scope: 'global' | 'agent'
|
|
1130
1167
|
agentIds: string[] // if scope === 'agent', which agents can use it
|
|
1168
|
+
projectId?: string
|
|
1131
1169
|
createdAt: number
|
|
1132
1170
|
updatedAt: number
|
|
1133
1171
|
}
|
|
@@ -1334,6 +1372,7 @@ export interface AgentPackEntry {
|
|
|
1334
1372
|
tools?: string[]
|
|
1335
1373
|
plugins?: string[]
|
|
1336
1374
|
capabilities?: string[]
|
|
1375
|
+
elevenLabsVoiceId?: string | null
|
|
1337
1376
|
soul?: string
|
|
1338
1377
|
systemPrompt?: string
|
|
1339
1378
|
}
|