0xkobold 0.4.3 → 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.
Files changed (130) hide show
  1. package/README.md +226 -383
  2. package/dist/package.json +13 -4
  3. package/dist/src/agent/DraconicCapabilityRouter.js +556 -0
  4. package/dist/src/agent/DraconicCapabilityRouter.js.map +1 -0
  5. package/dist/src/agent/DraconicErrorClassifier.js +606 -0
  6. package/dist/src/agent/DraconicErrorClassifier.js.map +1 -0
  7. package/dist/src/agent/DraconicRunRegistry.js +460 -0
  8. package/dist/src/agent/DraconicRunRegistry.js.map +1 -0
  9. package/dist/src/agent/DraconicTokenPredictor.js +500 -0
  10. package/dist/src/agent/DraconicTokenPredictor.js.map +1 -0
  11. package/dist/src/agent/embedded-runner.js +3 -2
  12. package/dist/src/agent/embedded-runner.js.map +1 -1
  13. package/dist/src/cli/commands/doctor.js +199 -0
  14. package/dist/src/cli/commands/doctor.js.map +1 -0
  15. package/dist/src/cli/commands/migrate-from-openclaw.js +39 -0
  16. package/dist/src/cli/commands/migrate-from-openclaw.js.map +1 -0
  17. package/dist/src/cli/commands/migrate.js +6 -4
  18. package/dist/src/cli/commands/migrate.js.map +1 -1
  19. package/dist/src/cli/program.js +3 -1
  20. package/dist/src/cli/program.js.map +1 -1
  21. package/dist/src/config/unified-config.js +195 -0
  22. package/dist/src/config/unified-config.js.map +1 -0
  23. package/dist/src/cron/notifications.js +1 -1
  24. package/dist/src/cron/notifications.js.map +1 -1
  25. package/dist/src/cron/runner.js +9 -3
  26. package/dist/src/cron/runner.js.map +1 -1
  27. package/dist/src/event-bus/index.js +3 -1
  28. package/dist/src/event-bus/index.js.map +1 -1
  29. package/dist/src/extensions/community/draconic-messenger-wrapper.js +35 -0
  30. package/dist/src/extensions/community/draconic-messenger-wrapper.js.map +1 -0
  31. package/dist/src/extensions/community/draconic-subagents-wrapper.js +115 -0
  32. package/dist/src/extensions/community/draconic-subagents-wrapper.js.map +1 -0
  33. package/dist/src/extensions/core/compaction-safeguard-v2.js +95 -0
  34. package/dist/src/extensions/core/compaction-safeguard-v2.js.map +1 -0
  35. package/dist/src/extensions/core/compaction-safeguard.js +206 -137
  36. package/dist/src/extensions/core/compaction-safeguard.js.map +1 -1
  37. package/dist/src/extensions/core/config-extension.js +122 -0
  38. package/dist/src/extensions/core/config-extension.js.map +1 -0
  39. package/dist/src/extensions/core/draconic-hoard-extension.js +194 -0
  40. package/dist/src/extensions/core/draconic-hoard-extension.js.map +1 -0
  41. package/dist/src/extensions/core/draconic-lair-extension.js +146 -0
  42. package/dist/src/extensions/core/draconic-lair-extension.js.map +1 -0
  43. package/dist/src/extensions/core/draconic-safety-extension.js +402 -0
  44. package/dist/src/extensions/core/draconic-safety-extension.js.map +1 -0
  45. package/dist/src/extensions/core/ext-manager.js +40 -0
  46. package/dist/src/extensions/core/ext-manager.js.map +1 -0
  47. package/dist/src/extensions/core/gateway-extension.js +413 -624
  48. package/dist/src/extensions/core/gateway-extension.js.map +1 -1
  49. package/dist/src/extensions/core/generative-agents-extension.js +704 -0
  50. package/dist/src/extensions/core/generative-agents-extension.js.map +1 -0
  51. package/dist/src/extensions/core/memory-bootstrap-extension.js +279 -0
  52. package/dist/src/extensions/core/memory-bootstrap-extension.js.map +1 -0
  53. package/dist/src/extensions/core/ollama-extension.js +442 -0
  54. package/dist/src/extensions/core/ollama-extension.js.map +1 -0
  55. package/dist/src/extensions/core/ollama-router-extension.js +34 -93
  56. package/dist/src/extensions/core/ollama-router-extension.js.map +1 -1
  57. package/dist/src/extensions/core/perennial-memory-extension.js +5 -2
  58. package/dist/src/extensions/core/perennial-memory-extension.js.map +1 -1
  59. package/dist/src/extensions/core/persona-loader-extension.js +41 -15
  60. package/dist/src/extensions/core/persona-loader-extension.js.map +1 -1
  61. package/dist/src/extensions/core/pi-notify-extension.js +6 -0
  62. package/dist/src/extensions/core/pi-notify-extension.js.map +1 -1
  63. package/dist/src/extensions/core/session-bridge-extension.js +8 -72
  64. package/dist/src/extensions/core/session-bridge-extension.js.map +1 -1
  65. package/dist/src/extensions/core/tui-integration-extension-fixed.js +3 -0
  66. package/dist/src/extensions/core/tui-integration-extension-fixed.js.map +1 -0
  67. package/dist/src/extensions/core/tui-integration-extension.js +984 -0
  68. package/dist/src/extensions/core/tui-integration-extension.js.map +1 -0
  69. package/dist/src/gateway/persistence/AgentStore.js +399 -0
  70. package/dist/src/gateway/persistence/AgentStore.js.map +1 -0
  71. package/dist/src/gateway/persistence/index.js +9 -0
  72. package/dist/src/gateway/persistence/index.js.map +1 -0
  73. package/dist/src/hoard/DraconicHoardSystem.js +465 -0
  74. package/dist/src/hoard/DraconicHoardSystem.js.map +1 -0
  75. package/dist/src/index.js +7 -5
  76. package/dist/src/index.js.map +1 -1
  77. package/dist/src/infra/DraconicConnectionPool.js +492 -0
  78. package/dist/src/infra/DraconicConnectionPool.js.map +1 -0
  79. package/dist/src/lair/DraconicLairSystem.js +387 -0
  80. package/dist/src/lair/DraconicLairSystem.js.map +1 -0
  81. package/dist/src/llm/ollama.js +143 -99
  82. package/dist/src/llm/ollama.js.map +1 -1
  83. package/dist/src/migration/openclaw.js +5 -5
  84. package/dist/src/migration/openclaw.js.map +1 -1
  85. package/dist/src/pi-config.js +52 -27
  86. package/dist/src/pi-config.js.map +1 -1
  87. package/dist/src/sessions/SessionManager.js +416 -0
  88. package/dist/src/sessions/SessionManager.js.map +1 -0
  89. package/dist/src/sessions/SessionStore.js +580 -0
  90. package/dist/src/sessions/SessionStore.js.map +1 -0
  91. package/dist/src/sessions/UnifiedSessionBridge.js +394 -0
  92. package/dist/src/sessions/UnifiedSessionBridge.js.map +1 -0
  93. package/dist/src/sessions/index.js +15 -0
  94. package/dist/src/sessions/index.js.map +1 -0
  95. package/dist/src/sessions/migration/index.js +156 -0
  96. package/dist/src/sessions/migration/index.js.map +1 -0
  97. package/dist/src/sessions/types.js +8 -0
  98. package/dist/src/sessions/types.js.map +1 -0
  99. package/dist/src/skills/framework.js +1 -1
  100. package/dist/src/skills/framework.js.map +1 -1
  101. package/dist/src/tui/commands/final-functions.js +39 -0
  102. package/dist/src/tui/commands/final-functions.js.map +1 -0
  103. package/dist/src/tui/commands/natural-language-commands.js +231 -0
  104. package/dist/src/tui/commands/natural-language-commands.js.map +1 -0
  105. package/dist/src/tui/commands/orchestration-commands.js +340 -0
  106. package/dist/src/tui/commands/orchestration-commands.js.map +1 -0
  107. package/dist/src/tui/commands/orchestration-final-section.js +84 -0
  108. package/dist/src/tui/commands/orchestration-final-section.js.map +1 -0
  109. package/dist/src/tui/components/agent-tree-overlay.js +210 -0
  110. package/dist/src/tui/components/agent-tree-overlay.js.map +1 -0
  111. package/dist/src/tui/components/agent-tree-panel.js +229 -0
  112. package/dist/src/tui/components/agent-tree-panel.js.map +1 -0
  113. package/dist/src/tui/components/sidebar.js +82 -0
  114. package/dist/src/tui/components/sidebar.js.map +1 -0
  115. package/dist/src/tui/components/status-bar.js +115 -0
  116. package/dist/src/tui/components/status-bar.js.map +1 -0
  117. package/dist/src/tui/components/tree-header.js +85 -0
  118. package/dist/src/tui/components/tree-header.js.map +1 -0
  119. package/dist/src/tui/draconic-tui.js +291 -0
  120. package/dist/src/tui/draconic-tui.js.map +1 -0
  121. package/dist/src/tui/index.js +93 -0
  122. package/dist/src/tui/index.js.map +1 -0
  123. package/dist/src/tui/pi-tui-integration.js +260 -0
  124. package/dist/src/tui/pi-tui-integration.js.map +1 -0
  125. package/dist/src/utils/nl-patterns.js +145 -0
  126. package/dist/src/utils/nl-patterns.js.map +1 -0
  127. package/package.json +13 -4
  128. package/scripts/migrate-from-openclaw.sh +498 -0
  129. package/HEARTBEAT.md +0 -121
  130. package/USAGE.md +0 -191
@@ -0,0 +1,260 @@
1
+ /**
2
+ * 🐉 PI-TUI Integration
3
+ *
4
+ * Hooks our Draconic TUI components into @mariozechner/pi-tui
5
+ * - Status bar in footer
6
+ * - /agent-tree opens overlay
7
+ * - /agent-result shows artifact
8
+ */
9
+ import React, { useEffect, useState } from "react";
10
+ import { createDraconicTUI } from "./draconic-tui";
11
+ import { createOrchestrationCommandHandlers } from "./commands/orchestration-commands";
12
+ export const DraconicStatusBarComponent = ({ tui }) => {
13
+ const [status, setStatus] = useState({
14
+ text: "🐉 idle",
15
+ tooltip: "No active agents",
16
+ active: 0,
17
+ total: 0,
18
+ });
19
+ useEffect(() => {
20
+ const interval = setInterval(async () => {
21
+ try {
22
+ const tree = await tui.getAgentTree();
23
+ if (!tree) {
24
+ setStatus({ text: "🐉 idle", tooltip: "No active agents", active: 0, total: 0 });
25
+ return;
26
+ }
27
+ const counts = countAgents(tree);
28
+ const currentTask = findActiveTask(tree);
29
+ setStatus({
30
+ text: counts.active > 0
31
+ ? `🐉 ${counts.active} | ${currentTask?.slice(0, 25) || "working..."}`
32
+ : "🐉 idle",
33
+ tooltip: `${counts.active} active, ${counts.total} total agents`,
34
+ active: counts.active,
35
+ total: counts.total,
36
+ });
37
+ }
38
+ catch {
39
+ // Ignore errors
40
+ }
41
+ }, 500);
42
+ return () => clearInterval(interval);
43
+ }, [tui]);
44
+ return (<div style={{
45
+ padding: "0 1ch",
46
+ color: status.active > 0 ? "#4ade80" : "#94a3b8",
47
+ display: "flex",
48
+ alignItems: "center",
49
+ }} title={status.tooltip}>
50
+ {status.text}
51
+ </div>);
52
+ };
53
+ function countAgents(tree) {
54
+ let active = tree.status === "running" ? 1 : 0;
55
+ let total = 1;
56
+ for (const child of tree.children) {
57
+ const childCounts = countAgents(child);
58
+ active += childCounts.active;
59
+ total += childCounts.total;
60
+ }
61
+ return { active, total };
62
+ }
63
+ function findActiveTask(tree) {
64
+ if (tree.status === "running" && tree.task) {
65
+ return tree.task;
66
+ }
67
+ for (const child of tree.children) {
68
+ const task = findActiveTask(child);
69
+ if (task)
70
+ return task;
71
+ }
72
+ return undefined;
73
+ }
74
+ export const AgentTreeOverlay = ({ tui, onClose, initialRunId }) => {
75
+ const [tree, setTree] = useState(null);
76
+ const [selectedId, setSelectedId] = useState(null);
77
+ const [expandedIds, setExpandedIds] = useState(new Set());
78
+ useEffect(() => {
79
+ loadTree();
80
+ const interval = setInterval(loadTree, 1000);
81
+ return () => clearInterval(interval);
82
+ }, [initialRunId]);
83
+ const loadTree = async () => {
84
+ const newTree = await tui.getAgentTree(initialRunId);
85
+ setTree(newTree);
86
+ if (newTree && !selectedId) {
87
+ setSelectedId(newTree.runId);
88
+ setExpandedIds(prev => new Set(prev).add(newTree.runId));
89
+ }
90
+ };
91
+ const toggleExpanded = (id) => {
92
+ setExpandedIds(prev => {
93
+ const next = new Set(prev);
94
+ if (next.has(id))
95
+ next.delete(id);
96
+ else
97
+ next.add(id);
98
+ return next;
99
+ });
100
+ };
101
+ const handleKill = async (runId) => {
102
+ await tui.killAgent(runId);
103
+ await loadTree();
104
+ };
105
+ const handleViewResult = async (runId) => {
106
+ const artifacts = await tui.getResult(runId);
107
+ if (artifacts && artifacts[0]?.content) {
108
+ // Show result in a simple view
109
+ console.log("Result:", artifacts[0].content);
110
+ }
111
+ };
112
+ const renderNode = (node, depth, isLast) => {
113
+ const isSelected = node.runId === selectedId;
114
+ const isExpanded = expandedIds.has(node.runId);
115
+ const hasChildren = node.children.length > 0;
116
+ const statusEmoji = {
117
+ running: "●",
118
+ completed: "✓",
119
+ error: "✗",
120
+ idle: "○",
121
+ };
122
+ const typeMarker = {
123
+ coordinator: "[C]",
124
+ specialist: "[S]",
125
+ researcher: "[R]",
126
+ planner: "[P]",
127
+ reviewer: "[V]",
128
+ };
129
+ const indent = " ".repeat(depth);
130
+ const connector = isLast ? "└── " : "├── ";
131
+ const expandMarker = hasChildren ? (isExpanded ? "▼ " : "▶ ") : " ";
132
+ return (<div key={node.runId}>
133
+ <div style={{
134
+ color: isSelected ? "#fff" : "#94a3b8",
135
+ backgroundColor: isSelected ? "#334155" : "transparent",
136
+ cursor: "pointer",
137
+ padding: "0 1ch",
138
+ }} onClick={() => {
139
+ setSelectedId(node.runId);
140
+ if (hasChildren)
141
+ toggleExpanded(node.runId);
142
+ }} onKeyPress={(e) => {
143
+ if (e.key === "k")
144
+ handleKill(node.runId);
145
+ if (e.key === "v")
146
+ handleViewResult(node.runId);
147
+ }}>
148
+ {indent}{connector}{expandMarker}{statusEmoji[node.status] || "○"} {typeMarker[node.type] || "[?]"} {node.runId}
149
+ {node.task ? `: ${node.task.slice(0, 30)}` : ""}
150
+ </div>
151
+ {isExpanded && node.children.map((child, i) => (<div key={child.runId}>
152
+ {renderNode(child, depth + 1, i === node.children.length - 1)}
153
+ </div>))}
154
+ </div>);
155
+ };
156
+ if (!tree) {
157
+ return (<div style={{ padding: "2ch" }}>
158
+ <div style={{ marginBottom: "1ch" }}>🐉 Agent Hierarchy Tree</div>
159
+ <div style={{ color: "#94a3b8" }}>No agents running...</div>
160
+ <div style={{ marginTop: "2ch", color: "#64748b" }}>
161
+ Press [q] to close
162
+ </div>
163
+ </div>);
164
+ }
165
+ return (<div style={{
166
+ padding: "2ch",
167
+ minHeight: "20ch",
168
+ display: "flex",
169
+ flexDirection: "column",
170
+ }}>
171
+ <div style={{
172
+ marginBottom: "1ch",
173
+ borderBottom: "1px solid #475569",
174
+ paddingBottom: "1ch",
175
+ }}>
176
+ 🐉 Agent Hierarchy Tree
177
+ </div>
178
+
179
+ <div style={{ flex: 1 }}>
180
+ {renderNode(tree, 0, true)}
181
+ </div>
182
+
183
+ <div style={{
184
+ marginTop: "2ch",
185
+ color: "#64748b",
186
+ borderTop: "1px solid #475569",
187
+ paddingTop: "1ch",
188
+ }}>
189
+ [↑↓] Navigate | [Enter] Toggle | [k] Kill | [v] View | [q] Close
190
+ </div>
191
+ </div>);
192
+ };
193
+ // ============================================================================
194
+ // 🐉 Command Registration
195
+ // ============================================================================
196
+ export function registerDraconicCommands(context) {
197
+ const { tui, openOverlay, closeOverlay, chatLog } = context;
198
+ const commandContext = {
199
+ tui,
200
+ chatLog,
201
+ openOverlay: (component) => {
202
+ openOverlay(component);
203
+ },
204
+ closeOverlay,
205
+ requestRender: () => { },
206
+ getCurrentSession: () => ({
207
+ agentId: process.env.DRACONIC_AGENT_ID,
208
+ runId: process.env.DRACONIC_RUN_ID,
209
+ }),
210
+ };
211
+ const handlers = createOrchestrationCommandHandlers(commandContext);
212
+ return {
213
+ async handleCommand(input) {
214
+ // Handle /agent-tree specially to open overlay
215
+ if (input === "/agent-tree" || input.startsWith("/agent-tree ")) {
216
+ const runId = input.slice("/agent-tree ".length).trim() || undefined;
217
+ openOverlay(<AgentTreeOverlay tui={tui} onClose={closeOverlay} initialRunId={runId}/>);
218
+ return true;
219
+ }
220
+ // Pass to standard handlers
221
+ const result = await handlers.handleCommand(input);
222
+ return result !== null;
223
+ },
224
+ getHelp: () => handlers.getHelp(),
225
+ };
226
+ }
227
+ // ============================================================================
228
+ // 🐉 Extension Registration
229
+ // ============================================================================
230
+ export function createDraconicTUIExtension() {
231
+ const tui = createDraconicTUI();
232
+ return {
233
+ name: "draconic-tui",
234
+ version: "1.0.0",
235
+ // Register with PI-TUI
236
+ registerPI(pi) {
237
+ // Add status bar component
238
+ pi.registerFooterComponent(() => (<DraconicStatusBarComponent tui={tui}/>));
239
+ // Register commands
240
+ const commands = registerDraconicCommands({
241
+ tui,
242
+ openOverlay: pi.openOverlay.bind(pi),
243
+ closeOverlay: pi.closeOverlay.bind(pi),
244
+ chatLog: pi.chatLog,
245
+ });
246
+ // Hook into command processing
247
+ const originalProcessCommand = pi.processCommand;
248
+ pi.processCommand = async (input) => {
249
+ const handled = await commands.handleCommand(input);
250
+ if (handled)
251
+ return;
252
+ return originalProcessCommand.call(pi, input);
253
+ };
254
+ console.log("[🐉 DraconicTUI] Extension registered");
255
+ },
256
+ };
257
+ }
258
+ // Export for use in pi-config.ts
259
+ export { createDraconicTUI };
260
+ //# sourceMappingURL=pi-tui-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-tui-integration.js","sourceRoot":"","sources":["../../../src/tui/pi-tui-integration.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAoC,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,kCAAkC,EAAuB,MAAM,mCAAmC,CAAC;AAU5G,MAAM,CAAC,MAAM,0BAA0B,GAA6B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;QACnC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjF,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBAEzC,SAAS,CAAC;oBACR,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;wBACrB,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,MAAM,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE;wBACtE,CAAC,CAAC,SAAS;oBACb,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK,eAAe;oBAChE,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACV,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAChD,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACvB;MAAA,CAAC,MAAM,CAAC,IAAI,CACd;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,IAAe;IAClC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;QAC7B,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,IAAe;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAYD,MAAM,CAAC,MAAM,gBAAgB,GAA+B,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;IAC7F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACrD,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE;QACpC,cAAc,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;gBAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QACzC,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC/C,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACvC,+BAA+B;YAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,KAAa,EAAE,MAAe,EAAmB,EAAE;QACtF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC;QAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE7C,MAAM,WAAW,GAA2B;YAC1C,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,GAAG;SACV,CAAC;QAEF,MAAM,UAAU,GAA2B;YACzC,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;SAChB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,OAAO,CACL,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB;QAAA,CAAC,GAAG,CACF,KAAK,CAAC,CAAC;gBACL,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACtC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;gBACvD,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO;aACjB,CAAC,CACF,OAAO,CAAC,CAAC,GAAG,EAAE;gBACZ,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,WAAW;oBAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,CAAC,CACF,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChB,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;oBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;oBAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC,CAAC,CAEF;UAAA,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAE,CAAA,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAE,CAAA,CAAC,IAAI,CAAC,KAAK,CAC/G;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CACjD;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACpB;YAAA,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/D;UAAA,EAAE,GAAG,CAAC,CACP,CAAC,CACJ;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAC7B;QAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,EAAE,GAAG,CACjE;QAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAC3D;QAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CACjD;;QACF,EAAE,GAAG,CACP;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,CAAC,GAAG,CACF,KAAK,CAAC,CAAC;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;SACxB,CAAC,CAEF;MAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACV,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,mBAAmB;YACjC,aAAa,EAAE,KAAK;SACrB,CAAC,CACA;;MACF,EAAE,GAAG,CAEL;;MAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CACtB;QAAA,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAC5B;MAAA,EAAE,GAAG,CAEL;;MAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACV,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,mBAAmB;YAC9B,UAAU,EAAE,KAAK;SAClB,CAAC,CACA;;MACF,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,UAAU,wBAAwB,CAAC,OASxC;IAIC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5D,MAAM,cAAc,GAAmB;QACrC,GAAG;QACH,OAAO;QACP,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;YACzB,WAAW,CAAC,SAAgB,CAAC,CAAC;QAChC,CAAC;QACD,YAAY;QACZ,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;QACvB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACtC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;SACnC,CAAC;KACH,CAAC;IAEF,MAAM,QAAQ,GAAG,kCAAkC,CAAC,cAAc,CAAC,CAAC;IAEpE,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,KAAa;YAC/B,+CAA+C;YAC/C,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;gBACrE,WAAW,CACT,CAAC,gBAAgB,CACf,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,OAAO,CAAC,CAAC,YAAY,CAAC,CACtB,YAAY,CAAC,CAAC,KAAK,CAAC,EACpB,CACH,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4BAA4B;YAC5B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,MAAM,KAAK,IAAI,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;KAClC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAEhC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,OAAO;QAEhB,uBAAuB;QACvB,UAAU,CAAC,EAAO;YAChB,2BAA2B;YAC3B,EAAE,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,CAC/B,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAG,CACzC,CAAC,CAAC;YAEH,oBAAoB;YACpB,MAAM,QAAQ,GAAG,wBAAwB,CAAC;gBACxC,GAAG;gBACH,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB,CAAC,CAAC;YAEH,+BAA+B;YAC/B,MAAM,sBAAsB,GAAG,EAAE,CAAC,cAAc,CAAC;YACjD,EAAE,CAAC,cAAc,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;gBAC1C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iCAAiC;AACjC,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Natural Language Command Patterns
3
+ *
4
+ * Maps natural language input to structured commands for the agent system.
5
+ * Used by the TUI and CLI for parsing user intents.
6
+ */
7
+ // Query patterns for agent-related commands
8
+ export const agentPatterns = [
9
+ // Status patterns
10
+ {
11
+ regex: /^(?:show|list|display)?\s*(?:all)?\s*(?:running|active)?\s*agents?/i,
12
+ description: "Show all running/active agents",
13
+ action: () => ({
14
+ tool: "agent_orchestrate",
15
+ params: { operation: "status" },
16
+ }),
17
+ },
18
+ // Tree patterns
19
+ {
20
+ regex: /^(?:show|display)?\s*(?:agent\s+)?tree|hierarchy/i,
21
+ description: "Display agent hierarchy tree",
22
+ action: () => ({
23
+ tool: "agent_orchestrate",
24
+ params: { operation: "list" },
25
+ }),
26
+ },
27
+ // Spawn patterns
28
+ {
29
+ regex: /^(?:spawn|create|start)\s+(?:a\s+)?(\w+)\s+(?:agent\s+)?(?:to\s+)?(.+)/i,
30
+ description: "Spawn a specific agent type with task",
31
+ action: (match) => ({
32
+ tool: "agent_orchestrate",
33
+ params: {
34
+ operation: "spawn_subagent",
35
+ subagent: match[1],
36
+ task: match[2],
37
+ },
38
+ }),
39
+ },
40
+ // Analyze patterns
41
+ {
42
+ regex: /^(?:analyze|assess|evaluate)\s+(?:this\s+)?(?:task\s+)?["']?(.+?)["']?$/i,
43
+ description: "Analyze task complexity for delegation",
44
+ action: (match) => ({
45
+ tool: "agent_orchestrate",
46
+ params: { operation: "analyze", task: match[1] },
47
+ }),
48
+ },
49
+ // Delegate patterns
50
+ {
51
+ regex: /^(?:delegate|assign|hand\s+off)\s+(?:this\s+)?(?:task\s+)?["']?(.+?)["']?$/i,
52
+ description: "Auto-delegate task to appropriate agent",
53
+ action: (match) => ({
54
+ tool: "agent_orchestrate",
55
+ params: { operation: "delegate", task: match[1] },
56
+ }),
57
+ },
58
+ // Memory patterns
59
+ {
60
+ regex: /^(?:show|display)?\s*(?:agent\s+)?memories/i,
61
+ description: "Show agent memory stream",
62
+ action: () => ({
63
+ tool: "/agent-memories",
64
+ params: {},
65
+ }),
66
+ },
67
+ {
68
+ regex: /^(?:show|display)?\s*(?:agent\s+)?reflections/i,
69
+ description: "Show agent reflections/insights",
70
+ action: () => ({
71
+ tool: "/agent-reflections",
72
+ params: {},
73
+ }),
74
+ },
75
+ {
76
+ regex: /^(?:show|display)?\s*(?:agent\s+)?plans/i,
77
+ description: "Show agent plans",
78
+ action: () => ({
79
+ tool: "/agent-plans",
80
+ params: {},
81
+ }),
82
+ },
83
+ ];
84
+ // Memory-related patterns
85
+ export const memoryPatterns = [
86
+ {
87
+ regex: /^(?:remember|save|store)\s+["']?(.+?)["']?$/i,
88
+ description: "Save a memory",
89
+ action: (match) => ({
90
+ tool: "perennial_save",
91
+ params: { content: match[1], category: "context" },
92
+ }),
93
+ },
94
+ {
95
+ regex: /^(?:recall|remember|what\s+about)\s+["']?(.+?)["']?$/i,
96
+ description: "Recall a memory by description",
97
+ action: (match) => ({
98
+ tool: "perennial_search",
99
+ params: { query: match[1] },
100
+ }),
101
+ },
102
+ ];
103
+ /**
104
+ * Parse natural language input into structured command
105
+ * @param input - User input string
106
+ * @returns ParsedCommand or null if no pattern matches
107
+ */
108
+ export function parseNaturalLanguage(input) {
109
+ // Check agent patterns first
110
+ for (const pattern of agentPatterns) {
111
+ const match = input.match(pattern.regex);
112
+ if (match) {
113
+ return pattern.action(match);
114
+ }
115
+ }
116
+ // Check memory patterns
117
+ for (const pattern of memoryPatterns) {
118
+ const match = input.match(pattern.regex);
119
+ if (match) {
120
+ return pattern.action(match);
121
+ }
122
+ }
123
+ return null;
124
+ }
125
+ /**
126
+ * Get all available patterns for documentation
127
+ * @returns Array of pattern descriptions
128
+ */
129
+ export function getPatternDescriptions() {
130
+ return [
131
+ ...agentPatterns.map((p) => ({
132
+ pattern: p.regex.source,
133
+ description: p.description,
134
+ })),
135
+ ...memoryPatterns.map((p) => ({
136
+ pattern: p.regex.source,
137
+ description: p.description,
138
+ })),
139
+ ];
140
+ }
141
+ // Example usage:
142
+ // parseNaturalLanguage("show all running agents") → { tool: "agent_orchestrate", params: { operation: "status" } }
143
+ // parseNaturalLanguage("spawn a worker to test the API") → { tool: "agent_orchestrate", params: { ... } }
144
+ // parseNaturalLanguage("remember the database schema") → { tool: "perennial_save", params: { ... } }
145
+ //# sourceMappingURL=nl-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-patterns.js","sourceRoot":"","sources":["../../../src/utils/nl-patterns.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "0xkobold",
3
- "version": "0.4.3",
4
- "description": "Your digital familiar - a personal AI assistant that learns and evolves (v0.3.0 - Multi-Channel, Security, Media Support)",
3
+ "version": "0.5.0",
4
+ "description": "Your digital familiar - multi-agent AI with memory, reflection, and semantic search (v0.5.0 - Draconic Intelligence)",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
7
7
  "type": "module",
@@ -29,7 +29,7 @@
29
29
  "update:framework": "bun run src/cli/index.ts update framework",
30
30
  "setup-hooks": "bash scripts/install-hooks.sh",
31
31
  "prepublishOnly": "bun run build",
32
- "postinstall": "node scripts/postinstall.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
32
+ "postinstall": "node scripts/postinstall.js && node scripts/link-pi-extensions.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
33
33
  },
34
34
  "keywords": [
35
35
  "ai",
@@ -51,7 +51,14 @@
51
51
  "discord.js": "^14.25.1",
52
52
  "glob": "^10.5.0",
53
53
  "json5": "^2.2.3",
54
+ "node-machine-id": "^1.1.12",
54
55
  "node-telegram-bot-api": "^0.67.0",
56
+ "pi-extmgr": "^0.1.23",
57
+ "pi-librarian": "^1.3.0",
58
+ "pi-memory-md": "^0.1.1",
59
+ "pi-messenger": "^0.13.0",
60
+ "pi-subagents": "^0.11.1",
61
+ "pi-web-access": "^0.10.2",
55
62
  "playwright": "^1.58.2",
56
63
  "react": "^19.2.4",
57
64
  "sharp": "^0.33.5",
@@ -73,11 +80,13 @@
73
80
  "private": false,
74
81
  "files": [
75
82
  "dist",
83
+ "scripts/migrate-from-openclaw.sh",
76
84
  "scripts/postinstall.js",
77
85
  "README.md",
78
86
  "LICENSE",
79
87
  "package.json",
80
- "USAGE.md",
88
+ "SOUL.md",
89
+ "IDENTITY.md",
81
90
  "HEARTBEAT.md",
82
91
  "skills/",
83
92
  ".agents/skills/"