@swarmclawai/swarmclaw 0.4.0 → 0.5.0
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 +21 -4
- package/bin/server-cmd.js +28 -19
- package/next.config.ts +13 -0
- package/package.json +3 -1
- package/src/app/api/agents/[id]/route.ts +39 -22
- package/src/app/api/agents/[id]/thread/route.ts +2 -2
- package/src/app/api/agents/route.ts +3 -2
- package/src/app/api/agents/trash/route.ts +44 -0
- package/src/app/api/clawhub/install/route.ts +2 -2
- package/src/app/api/connectors/[id]/route.ts +17 -7
- package/src/app/api/connectors/[id]/webhook/route.ts +103 -0
- package/src/app/api/connectors/route.ts +6 -3
- package/src/app/api/credentials/[id]/route.ts +2 -1
- package/src/app/api/credentials/route.ts +2 -2
- package/src/app/api/documents/route.ts +2 -2
- package/src/app/api/files/serve/route.ts +8 -0
- package/src/app/api/knowledge/[id]/route.ts +5 -4
- package/src/app/api/knowledge/upload/route.ts +2 -2
- package/src/app/api/mcp-servers/[id]/route.ts +11 -14
- package/src/app/api/mcp-servers/[id]/test/route.ts +2 -1
- package/src/app/api/mcp-servers/[id]/tools/route.ts +2 -1
- package/src/app/api/mcp-servers/route.ts +2 -2
- package/src/app/api/memory/[id]/route.ts +9 -8
- package/src/app/api/memory/route.ts +2 -2
- package/src/app/api/memory-images/[filename]/route.ts +2 -1
- package/src/app/api/openclaw/agent-files/route.ts +57 -0
- package/src/app/api/openclaw/approvals/route.ts +46 -0
- package/src/app/api/openclaw/config-sync/route.ts +33 -0
- package/src/app/api/openclaw/cron/route.ts +52 -0
- package/src/app/api/openclaw/directory/route.ts +27 -0
- package/src/app/api/openclaw/discover/route.ts +62 -0
- package/src/app/api/openclaw/dotenv-keys/route.ts +18 -0
- package/src/app/api/openclaw/exec-config/route.ts +41 -0
- package/src/app/api/openclaw/gateway/route.ts +72 -0
- package/src/app/api/openclaw/history/route.ts +109 -0
- package/src/app/api/openclaw/media/route.ts +53 -0
- package/src/app/api/openclaw/models/route.ts +12 -0
- package/src/app/api/openclaw/permissions/route.ts +39 -0
- package/src/app/api/openclaw/sandbox-env/route.ts +69 -0
- package/src/app/api/openclaw/skills/install/route.ts +32 -0
- package/src/app/api/openclaw/skills/remove/route.ts +24 -0
- package/src/app/api/openclaw/skills/route.ts +82 -0
- package/src/app/api/openclaw/sync/route.ts +31 -0
- package/src/app/api/orchestrator/run/route.ts +2 -2
- package/src/app/api/projects/[id]/route.ts +55 -0
- package/src/app/api/projects/route.ts +27 -0
- package/src/app/api/providers/[id]/models/route.ts +2 -1
- package/src/app/api/providers/[id]/route.ts +13 -15
- package/src/app/api/providers/route.ts +2 -2
- package/src/app/api/schedules/[id]/route.ts +16 -18
- package/src/app/api/schedules/[id]/run/route.ts +4 -3
- package/src/app/api/schedules/route.ts +2 -2
- package/src/app/api/secrets/[id]/route.ts +16 -17
- package/src/app/api/secrets/route.ts +2 -2
- package/src/app/api/sessions/[id]/clear/route.ts +2 -1
- package/src/app/api/sessions/[id]/deploy/route.ts +2 -1
- package/src/app/api/sessions/[id]/devserver/route.ts +2 -1
- package/src/app/api/sessions/[id]/edit-resend/route.ts +22 -0
- package/src/app/api/sessions/[id]/fork/route.ts +44 -0
- package/src/app/api/sessions/[id]/messages/route.ts +20 -2
- package/src/app/api/sessions/[id]/retry/route.ts +2 -1
- package/src/app/api/sessions/[id]/route.ts +14 -4
- package/src/app/api/sessions/route.ts +8 -4
- package/src/app/api/skills/[id]/route.ts +23 -21
- package/src/app/api/skills/import/route.ts +2 -2
- package/src/app/api/skills/route.ts +2 -2
- package/src/app/api/tasks/[id]/approve/route.ts +2 -1
- package/src/app/api/tasks/[id]/route.ts +6 -5
- package/src/app/api/tasks/route.ts +2 -2
- package/src/app/api/tts/stream/route.ts +48 -0
- package/src/app/api/upload/route.ts +2 -2
- package/src/app/api/uploads/[filename]/route.ts +4 -1
- package/src/app/api/webhooks/[id]/route.ts +29 -31
- package/src/app/api/webhooks/route.ts +2 -2
- package/src/app/globals.css +14 -0
- package/src/app/layout.tsx +5 -20
- package/src/app/page.tsx +3 -24
- package/src/cli/index.js +60 -0
- package/src/cli/index.ts +1 -1
- package/src/cli/spec.js +42 -0
- package/src/components/agents/agent-avatar.tsx +45 -0
- package/src/components/agents/agent-card.tsx +19 -5
- package/src/components/agents/agent-chat-list.tsx +31 -24
- package/src/components/agents/agent-files-editor.tsx +185 -0
- package/src/components/agents/agent-list.tsx +84 -3
- package/src/components/agents/agent-sheet.tsx +147 -14
- package/src/components/agents/cron-job-form.tsx +137 -0
- package/src/components/agents/exec-config-panel.tsx +147 -0
- package/src/components/agents/inspector-panel.tsx +310 -0
- package/src/components/agents/openclaw-skills-panel.tsx +230 -0
- package/src/components/agents/permission-preset-selector.tsx +79 -0
- package/src/components/agents/personality-builder.tsx +111 -0
- package/src/components/agents/sandbox-env-panel.tsx +72 -0
- package/src/components/agents/skill-install-dialog.tsx +102 -0
- package/src/components/agents/trash-list.tsx +109 -0
- package/src/components/chat/chat-area.tsx +41 -6
- package/src/components/chat/chat-header.tsx +305 -29
- package/src/components/chat/chat-preview-panel.tsx +113 -0
- package/src/components/chat/exec-approval-card.tsx +89 -0
- package/src/components/chat/message-bubble.tsx +218 -36
- package/src/components/chat/message-list.tsx +135 -31
- package/src/components/chat/streaming-bubble.tsx +59 -10
- package/src/components/chat/suggestions-bar.tsx +74 -0
- package/src/components/chat/thinking-indicator.tsx +20 -6
- package/src/components/chat/tool-call-bubble.tsx +98 -19
- package/src/components/chat/tool-request-banner.tsx +20 -2
- package/src/components/chat/trace-block.tsx +103 -0
- package/src/components/chat/voice-overlay.tsx +80 -0
- package/src/components/connectors/connector-list.tsx +6 -2
- package/src/components/connectors/connector-sheet.tsx +31 -7
- package/src/components/layout/app-layout.tsx +47 -25
- package/src/components/projects/project-list.tsx +123 -0
- package/src/components/projects/project-sheet.tsx +135 -0
- package/src/components/schedules/schedule-list.tsx +3 -1
- package/src/components/sessions/new-session-sheet.tsx +6 -6
- package/src/components/sessions/session-card.tsx +1 -1
- package/src/components/sessions/session-list.tsx +7 -7
- package/src/components/settings/gateway-connection-panel.tsx +278 -0
- package/src/components/shared/avatar.tsx +13 -2
- package/src/components/shared/connector-platform-icon.tsx +4 -0
- package/src/components/shared/settings/section-heartbeat.tsx +1 -1
- package/src/components/shared/settings/section-orchestrator.tsx +1 -2
- package/src/components/shared/settings/section-web-search.tsx +56 -0
- package/src/components/shared/settings/settings-page.tsx +74 -0
- package/src/components/skills/skill-list.tsx +2 -1
- package/src/components/tasks/task-board.tsx +1 -1
- package/src/components/tasks/task-list.tsx +5 -2
- package/src/components/tasks/task-sheet.tsx +12 -12
- package/src/hooks/use-continuous-speech.ts +181 -0
- package/src/hooks/use-openclaw-gateway.ts +63 -0
- package/src/hooks/use-view-router.ts +52 -0
- package/src/hooks/use-voice-conversation.ts +80 -0
- package/src/lib/id.ts +6 -0
- package/src/lib/notification-sounds.ts +58 -0
- package/src/lib/personality-parser.ts +97 -0
- package/src/lib/projects.ts +13 -0
- package/src/lib/provider-sets.ts +5 -0
- package/src/lib/providers/anthropic.ts +14 -1
- package/src/lib/providers/index.ts +6 -0
- package/src/lib/providers/ollama.ts +9 -1
- package/src/lib/providers/openai.ts +9 -1
- package/src/lib/providers/openclaw.ts +28 -2
- package/src/lib/runtime-loop.ts +2 -2
- package/src/lib/server/api-routes.test.ts +5 -6
- package/src/lib/server/build-llm.ts +17 -4
- package/src/lib/server/chat-execution.ts +82 -6
- package/src/lib/server/collection-helpers.ts +54 -0
- package/src/lib/server/connectors/bluebubbles.test.ts +217 -0
- package/src/lib/server/connectors/bluebubbles.ts +360 -0
- package/src/lib/server/connectors/connector-routing.test.ts +1 -1
- package/src/lib/server/connectors/googlechat.ts +51 -8
- package/src/lib/server/connectors/manager.ts +424 -13
- package/src/lib/server/connectors/media.ts +2 -2
- package/src/lib/server/connectors/openclaw.ts +65 -0
- package/src/lib/server/connectors/pairing.test.ts +99 -0
- package/src/lib/server/connectors/pairing.ts +256 -0
- package/src/lib/server/connectors/signal.ts +1 -0
- package/src/lib/server/connectors/teams.ts +5 -5
- package/src/lib/server/connectors/types.ts +10 -0
- package/src/lib/server/daemon-state.ts +11 -0
- package/src/lib/server/execution-log.ts +3 -3
- package/src/lib/server/heartbeat-service.ts +1 -1
- package/src/lib/server/knowledge-db.test.ts +2 -33
- package/src/lib/server/main-agent-loop.ts +8 -9
- package/src/lib/server/main-session.ts +21 -0
- package/src/lib/server/memory-db.ts +6 -6
- package/src/lib/server/openclaw-approvals.ts +105 -0
- package/src/lib/server/openclaw-config-sync.ts +107 -0
- package/src/lib/server/openclaw-exec-config.ts +52 -0
- package/src/lib/server/openclaw-gateway.ts +291 -0
- package/src/lib/server/openclaw-history-merge.ts +36 -0
- package/src/lib/server/openclaw-models.ts +56 -0
- package/src/lib/server/openclaw-permission-presets.ts +64 -0
- package/src/lib/server/openclaw-sync.ts +497 -0
- package/src/lib/server/orchestrator-lg.ts +30 -9
- package/src/lib/server/orchestrator.ts +4 -4
- package/src/lib/server/process-manager.ts +2 -2
- package/src/lib/server/queue.ts +24 -11
- package/src/lib/server/scheduler.ts +2 -2
- package/src/lib/server/session-mailbox.ts +2 -2
- package/src/lib/server/session-run-manager.ts +2 -2
- package/src/lib/server/session-tools/connector.ts +53 -6
- package/src/lib/server/session-tools/crud.ts +3 -3
- package/src/lib/server/session-tools/delegate.ts +22 -6
- package/src/lib/server/session-tools/file.ts +192 -19
- package/src/lib/server/session-tools/index.ts +4 -2
- package/src/lib/server/session-tools/memory.ts +2 -2
- package/src/lib/server/session-tools/openclaw-nodes.ts +112 -0
- package/src/lib/server/session-tools/sandbox.ts +33 -0
- package/src/lib/server/session-tools/search-providers.ts +277 -0
- package/src/lib/server/session-tools/session-info.ts +2 -2
- package/src/lib/server/session-tools/session-tools-wiring.test.ts +2 -2
- package/src/lib/server/session-tools/shell.ts +1 -1
- package/src/lib/server/session-tools/web.ts +53 -72
- package/src/lib/server/storage.ts +74 -11
- package/src/lib/server/stream-agent-chat.ts +53 -4
- package/src/lib/server/suggestions.ts +20 -0
- package/src/lib/server/task-result.test.ts +44 -0
- package/src/lib/server/task-result.ts +14 -0
- package/src/lib/server/ws-hub.ts +14 -0
- package/src/lib/tool-definitions.ts +5 -3
- package/src/lib/tts-stream.ts +130 -0
- package/src/lib/view-routes.ts +28 -0
- package/src/proxy.ts +3 -0
- package/src/stores/use-app-store.ts +80 -1
- package/src/stores/use-approval-store.ts +78 -0
- package/src/stores/use-chat-store.ts +162 -6
- package/src/types/index.ts +154 -3
- package/tsconfig.json +13 -4
package/src/types/index.ts
CHANGED
|
@@ -15,6 +15,8 @@ export interface Message {
|
|
|
15
15
|
toolEvents?: MessageToolEvent[]
|
|
16
16
|
kind?: 'chat' | 'heartbeat' | 'system'
|
|
17
17
|
suppressed?: boolean
|
|
18
|
+
bookmarked?: boolean
|
|
19
|
+
suggestions?: string[]
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export type ProviderType = 'claude-cli' | 'codex-cli' | 'opencode-cli' | 'openai' | 'ollama' | 'anthropic' | 'openclaw' | 'google' | 'deepseek' | 'groq' | 'together' | 'mistral' | 'xai' | 'fireworks'
|
|
@@ -61,6 +63,7 @@ export interface Session {
|
|
|
61
63
|
createdAt: number
|
|
62
64
|
lastActiveAt: number
|
|
63
65
|
active?: boolean
|
|
66
|
+
mainSession?: boolean
|
|
64
67
|
sessionType?: SessionType
|
|
65
68
|
agentId?: string | null
|
|
66
69
|
parentSessionId?: string | null
|
|
@@ -109,6 +112,7 @@ export interface Session {
|
|
|
109
112
|
file?: string | null
|
|
110
113
|
queuedCount?: number
|
|
111
114
|
currentRunId?: string | null
|
|
115
|
+
conversationTone?: string
|
|
112
116
|
}
|
|
113
117
|
|
|
114
118
|
export type Sessions = Record<string, Session>
|
|
@@ -178,7 +182,7 @@ export interface MarketplacePlugin {
|
|
|
178
182
|
}
|
|
179
183
|
|
|
180
184
|
export interface SSEEvent {
|
|
181
|
-
t: 'd' | 'md' | 'r' | 'done' | 'err' | 'tool_call' | 'tool_result'
|
|
185
|
+
t: 'd' | 'md' | 'r' | 'done' | 'err' | 'tool_call' | 'tool_result' | 'status'
|
|
182
186
|
text?: string
|
|
183
187
|
toolName?: string
|
|
184
188
|
toolInput?: string
|
|
@@ -244,6 +248,14 @@ export interface Agent {
|
|
|
244
248
|
heartbeatShowOk?: boolean | null
|
|
245
249
|
heartbeatShowAlerts?: boolean | null
|
|
246
250
|
heartbeatTarget?: 'last' | 'none' | string | null
|
|
251
|
+
heartbeatGoal?: string | null
|
|
252
|
+
heartbeatNextAction?: string | null
|
|
253
|
+
thinkingLevel?: 'minimal' | 'low' | 'medium' | 'high'
|
|
254
|
+
projectId?: string
|
|
255
|
+
avatarSeed?: string
|
|
256
|
+
trashedAt?: number
|
|
257
|
+
openclawSkillMode?: SkillAllowlistMode
|
|
258
|
+
openclawAllowedSkills?: string[]
|
|
247
259
|
createdAt: number
|
|
248
260
|
updatedAt: number
|
|
249
261
|
}
|
|
@@ -263,6 +275,7 @@ export interface Schedule {
|
|
|
263
275
|
id: string
|
|
264
276
|
name: string
|
|
265
277
|
agentId: string
|
|
278
|
+
projectId?: string
|
|
266
279
|
taskPrompt: string
|
|
267
280
|
scheduleType: ScheduleType
|
|
268
281
|
cron?: string
|
|
@@ -323,7 +336,16 @@ export interface MemoryEntry {
|
|
|
323
336
|
}
|
|
324
337
|
|
|
325
338
|
export type SessionType = 'human' | 'orchestrated'
|
|
326
|
-
export type AppView = 'agents' | 'schedules' | 'memory' | 'tasks' | 'secrets' | 'providers' | 'skills' | 'connectors' | 'webhooks' | 'mcp_servers' | 'knowledge' | 'plugins' | 'usage' | 'runs' | 'logs'
|
|
339
|
+
export type AppView = 'agents' | 'schedules' | 'memory' | 'tasks' | 'secrets' | 'providers' | 'skills' | 'connectors' | 'webhooks' | 'mcp_servers' | 'knowledge' | 'plugins' | 'usage' | 'runs' | 'logs' | 'settings' | 'projects'
|
|
340
|
+
|
|
341
|
+
export interface Project {
|
|
342
|
+
id: string
|
|
343
|
+
name: string
|
|
344
|
+
description: string
|
|
345
|
+
color?: string
|
|
346
|
+
createdAt: number
|
|
347
|
+
updatedAt: number
|
|
348
|
+
}
|
|
327
349
|
|
|
328
350
|
// --- Session Runs ---
|
|
329
351
|
|
|
@@ -434,6 +456,15 @@ export interface AppSettings {
|
|
|
434
456
|
maxLinkedMemoriesExpanded?: number
|
|
435
457
|
memoryMaxDepth?: number
|
|
436
458
|
memoryMaxPerLookup?: number
|
|
459
|
+
// Voice conversation
|
|
460
|
+
voiceAutoSendDelaySec?: number
|
|
461
|
+
// Web search provider
|
|
462
|
+
webSearchProvider?: 'duckduckgo' | 'google' | 'bing' | 'searxng' | 'tavily' | 'brave'
|
|
463
|
+
searxngUrl?: string
|
|
464
|
+
// OpenClaw sync settings
|
|
465
|
+
openclawWorkspacePath?: string | null
|
|
466
|
+
openclawAutoSyncMemory?: boolean
|
|
467
|
+
openclawAutoSyncSchedules?: boolean
|
|
437
468
|
}
|
|
438
469
|
|
|
439
470
|
// --- Orchestrator Secrets ---
|
|
@@ -483,6 +514,7 @@ export interface Skill {
|
|
|
483
514
|
name: string
|
|
484
515
|
filename: string
|
|
485
516
|
content: string
|
|
517
|
+
projectId?: string
|
|
486
518
|
description?: string
|
|
487
519
|
sourceUrl?: string
|
|
488
520
|
sourceFormat?: 'openclaw' | 'plain'
|
|
@@ -492,7 +524,7 @@ export interface Skill {
|
|
|
492
524
|
|
|
493
525
|
// --- Connectors (Chat Platform Bridges) ---
|
|
494
526
|
|
|
495
|
-
export type ConnectorPlatform = 'discord' | 'telegram' | 'slack' | 'whatsapp' | 'openclaw' | 'signal' | 'teams' | 'googlechat' | 'matrix'
|
|
527
|
+
export type ConnectorPlatform = 'discord' | 'telegram' | 'slack' | 'whatsapp' | 'openclaw' | 'bluebubbles' | 'signal' | 'teams' | 'googlechat' | 'matrix'
|
|
496
528
|
export type ConnectorStatus = 'stopped' | 'running' | 'error'
|
|
497
529
|
|
|
498
530
|
export interface Connector {
|
|
@@ -511,6 +543,8 @@ export interface Connector {
|
|
|
511
543
|
authenticated?: boolean
|
|
512
544
|
/** WhatsApp has stored credentials from previous pairing (runtime only) */
|
|
513
545
|
hasCredentials?: boolean
|
|
546
|
+
/** Connector presence info (runtime only) */
|
|
547
|
+
presence?: { lastMessageAt?: number | null; channelId?: string | null }
|
|
514
548
|
createdAt: number
|
|
515
549
|
updatedAt: number
|
|
516
550
|
}
|
|
@@ -546,6 +580,7 @@ export interface BoardTask {
|
|
|
546
580
|
description: string
|
|
547
581
|
status: BoardTaskStatus
|
|
548
582
|
agentId: string
|
|
583
|
+
projectId?: string
|
|
549
584
|
goalContract?: GoalContract | null
|
|
550
585
|
cwd?: string | null
|
|
551
586
|
file?: string | null
|
|
@@ -626,3 +661,119 @@ export interface ClawHubSkill {
|
|
|
626
661
|
url: string
|
|
627
662
|
version: string
|
|
628
663
|
}
|
|
664
|
+
|
|
665
|
+
// --- OpenClaw Execution Approvals ---
|
|
666
|
+
|
|
667
|
+
export interface PendingExecApproval {
|
|
668
|
+
id: string
|
|
669
|
+
agentId: string
|
|
670
|
+
sessionKey: string
|
|
671
|
+
command: string
|
|
672
|
+
cwd?: string
|
|
673
|
+
host?: string
|
|
674
|
+
security?: string
|
|
675
|
+
ask?: string
|
|
676
|
+
createdAtMs: number
|
|
677
|
+
expiresAtMs: number
|
|
678
|
+
resolving?: boolean
|
|
679
|
+
error?: string
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
export type ExecApprovalDecision = 'allow-once' | 'allow-always' | 'deny'
|
|
683
|
+
|
|
684
|
+
// --- OpenClaw Skills ---
|
|
685
|
+
|
|
686
|
+
export interface OpenClawSkillEntry {
|
|
687
|
+
name: string
|
|
688
|
+
description?: string
|
|
689
|
+
source: 'bundled' | 'managed' | 'personal' | 'workspace'
|
|
690
|
+
eligible: boolean
|
|
691
|
+
requirements?: string[]
|
|
692
|
+
missing?: string[]
|
|
693
|
+
disabled?: boolean
|
|
694
|
+
installOptions?: SkillInstallOption[]
|
|
695
|
+
skillRequirements?: SkillRequirements
|
|
696
|
+
configChecks?: { key: string; ok: boolean }[]
|
|
697
|
+
skillKey?: string
|
|
698
|
+
baseDir?: string
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
export type SkillAllowlistMode = 'all' | 'none' | 'selected'
|
|
702
|
+
|
|
703
|
+
// --- Fleet Sidebar Filters (F16) ---
|
|
704
|
+
export type FleetFilter = 'all' | 'running' | 'approvals'
|
|
705
|
+
|
|
706
|
+
// --- Exec Approval Config (F8) ---
|
|
707
|
+
export interface ExecApprovalConfig {
|
|
708
|
+
security: 'deny' | 'allowlist' | 'full'
|
|
709
|
+
askMode: 'off' | 'on-miss' | 'always'
|
|
710
|
+
patterns: string[]
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
export interface ExecApprovalSnapshot {
|
|
714
|
+
path: string
|
|
715
|
+
exists: boolean
|
|
716
|
+
hash: string
|
|
717
|
+
file: ExecApprovalConfig
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
// --- Permission Presets (F9) ---
|
|
721
|
+
export type PermissionPreset = 'conservative' | 'collaborative' | 'autonomous'
|
|
722
|
+
|
|
723
|
+
// --- Personality Builder (F10) ---
|
|
724
|
+
export interface PersonalityDraft {
|
|
725
|
+
identity: { name?: string; creature?: string; vibe?: string; emoji?: string }
|
|
726
|
+
user: { name?: string; callThem?: string; pronouns?: string; timezone?: string; notes?: string; context?: string }
|
|
727
|
+
soul: { coreTruths?: string; boundaries?: string; vibe?: string; continuity?: string }
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
// --- Skill Lifecycle (F11) ---
|
|
731
|
+
export interface SkillInstallOption {
|
|
732
|
+
kind: 'brew' | 'node' | 'go' | 'uv' | 'download'
|
|
733
|
+
label: string
|
|
734
|
+
bins?: string[]
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
export interface SkillRequirements {
|
|
738
|
+
bins?: string[]
|
|
739
|
+
anyBins?: string[][]
|
|
740
|
+
env?: string[]
|
|
741
|
+
config?: string[]
|
|
742
|
+
os?: string[]
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// --- Cron Jobs (F12) ---
|
|
746
|
+
export interface GatewayCronJob {
|
|
747
|
+
id: string
|
|
748
|
+
name: string
|
|
749
|
+
agentId: string
|
|
750
|
+
enabled: boolean
|
|
751
|
+
schedule: { kind: 'at' | 'every' | 'cron'; value: string; timezone?: string }
|
|
752
|
+
payload: {
|
|
753
|
+
kind: 'systemEvent' | 'agentTurn'
|
|
754
|
+
text?: string
|
|
755
|
+
message?: string
|
|
756
|
+
model?: string
|
|
757
|
+
deliver?: { mode: 'none' | 'announce'; channel?: string }
|
|
758
|
+
}
|
|
759
|
+
sessionTarget: 'main' | 'isolated'
|
|
760
|
+
state?: { nextRun?: string; lastRun?: string; lastStatus?: string }
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
// --- Rich Chat Traces (F13) ---
|
|
764
|
+
export interface ChatTraceBlock {
|
|
765
|
+
type: 'thinking' | 'tool-call' | 'tool-result'
|
|
766
|
+
content: string
|
|
767
|
+
label?: string
|
|
768
|
+
collapsed?: boolean
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
// --- Chat History Sync (F18) ---
|
|
772
|
+
export interface GatewaySessionPreview {
|
|
773
|
+
sessionKey: string
|
|
774
|
+
epoch: number
|
|
775
|
+
messages: Array<{ role: string; content: string; ts: number }>
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
// --- Gateway Reload Mode (F21) ---
|
|
779
|
+
export type GatewayReloadMode = 'hot' | 'hybrid' | 'full'
|
package/tsconfig.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"target": "ES2017",
|
|
4
|
-
"lib": [
|
|
4
|
+
"lib": [
|
|
5
|
+
"dom",
|
|
6
|
+
"dom.iterable",
|
|
7
|
+
"esnext"
|
|
8
|
+
],
|
|
5
9
|
"allowJs": true,
|
|
6
10
|
"skipLibCheck": true,
|
|
7
11
|
"strict": true,
|
|
@@ -19,7 +23,9 @@
|
|
|
19
23
|
}
|
|
20
24
|
],
|
|
21
25
|
"paths": {
|
|
22
|
-
"@/*": [
|
|
26
|
+
"@/*": [
|
|
27
|
+
"./src/*"
|
|
28
|
+
]
|
|
23
29
|
}
|
|
24
30
|
},
|
|
25
31
|
"include": [
|
|
@@ -28,7 +34,10 @@
|
|
|
28
34
|
"**/*.tsx",
|
|
29
35
|
".next/types/**/*.ts",
|
|
30
36
|
".next/dev/types/**/*.ts",
|
|
31
|
-
"**/*.mts"
|
|
37
|
+
"**/*.mts",
|
|
38
|
+
".next/dev/dev/types/**/*.ts"
|
|
32
39
|
],
|
|
33
|
-
"exclude": [
|
|
40
|
+
"exclude": [
|
|
41
|
+
"node_modules"
|
|
42
|
+
]
|
|
34
43
|
}
|