@sesamespace/hivemind 0.1.0 → 0.2.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 +53 -23
- package/dist/chunk-2I2O6X5D.js +1408 -0
- package/dist/chunk-2I2O6X5D.js.map +1 -0
- package/dist/chunk-DVR2KBL7.js +186 -0
- package/dist/chunk-DVR2KBL7.js.map +1 -0
- package/dist/chunk-MBS5A6BZ.js +132 -0
- package/dist/chunk-MBS5A6BZ.js.map +1 -0
- package/dist/chunk-NVJ424TB.js +731 -0
- package/dist/chunk-NVJ424TB.js.map +1 -0
- package/dist/chunk-RNK5Q5GR.js +44 -0
- package/dist/chunk-RNK5Q5GR.js.map +1 -0
- package/dist/chunk-XNOWVLXD.js +160 -0
- package/dist/chunk-XNOWVLXD.js.map +1 -0
- package/dist/commands/fleet.js +8 -192
- package/dist/commands/fleet.js.map +1 -1
- package/dist/commands/init.js +6 -169
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/service.js +7 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/start.js +8 -38
- package/dist/commands/start.js.map +1 -1
- package/dist/index.js +40 -15
- package/dist/index.js.map +1 -1
- package/dist/main.js +49 -29
- package/dist/main.js.map +1 -1
- package/dist/start.js +18 -16
- package/dist/start.js.map +1 -1
- package/package.json +8 -16
- package/dist/__tests__/fleet-integration.test.d.ts +0 -9
- package/dist/__tests__/fleet-integration.test.d.ts.map +0 -1
- package/dist/__tests__/fleet-integration.test.js +0 -201
- package/dist/__tests__/fleet-integration.test.js.map +0 -1
- package/dist/__tests__/fleet.test.d.ts +0 -7
- package/dist/__tests__/fleet.test.d.ts.map +0 -1
- package/dist/__tests__/fleet.test.js +0 -171
- package/dist/__tests__/fleet.test.js.map +0 -1
- package/dist/__tests__/integration.test.d.ts +0 -2
- package/dist/__tests__/integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration.test.js +0 -348
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/agent.d.ts +0 -27
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -217
- package/dist/agent.js.map +0 -1
- package/dist/commands/fleet.d.ts +0 -13
- package/dist/commands/fleet.d.ts.map +0 -1
- package/dist/commands/init.d.ts +0 -2
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/start.d.ts +0 -2
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/config.d.ts +0 -44
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -73
- package/dist/config.js.map +0 -1
- package/dist/context.d.ts +0 -50
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -153
- package/dist/context.js.map +0 -1
- package/dist/fleet/fleet-manager.d.ts +0 -86
- package/dist/fleet/fleet-manager.d.ts.map +0 -1
- package/dist/fleet/fleet-manager.js +0 -298
- package/dist/fleet/fleet-manager.js.map +0 -1
- package/dist/fleet/memory-sync.d.ts +0 -91
- package/dist/fleet/memory-sync.d.ts.map +0 -1
- package/dist/fleet/memory-sync.js +0 -292
- package/dist/fleet/memory-sync.js.map +0 -1
- package/dist/fleet/primary-client.d.ts +0 -49
- package/dist/fleet/primary-client.d.ts.map +0 -1
- package/dist/fleet/primary-client.js +0 -222
- package/dist/fleet/primary-client.js.map +0 -1
- package/dist/fleet/worker-protocol.d.ts +0 -125
- package/dist/fleet/worker-protocol.d.ts.map +0 -1
- package/dist/fleet/worker-protocol.js +0 -27
- package/dist/fleet/worker-protocol.js.map +0 -1
- package/dist/fleet/worker-server.d.ts +0 -53
- package/dist/fleet/worker-server.d.ts.map +0 -1
- package/dist/fleet/worker-server.js +0 -191
- package/dist/fleet/worker-server.js.map +0 -1
- package/dist/index.d.ts +0 -26
- package/dist/index.d.ts.map +0 -1
- package/dist/llm-client.d.ts +0 -24
- package/dist/llm-client.d.ts.map +0 -1
- package/dist/llm-client.js +0 -40
- package/dist/llm-client.js.map +0 -1
- package/dist/main.d.ts +0 -3
- package/dist/main.d.ts.map +0 -1
- package/dist/memory-client.d.ts +0 -88
- package/dist/memory-client.d.ts.map +0 -1
- package/dist/memory-client.js +0 -185
- package/dist/memory-client.js.map +0 -1
- package/dist/pipeline.d.ts +0 -2
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/pipeline.js +0 -125
- package/dist/pipeline.js.map +0 -1
- package/dist/prompt.d.ts +0 -6
- package/dist/prompt.d.ts.map +0 -1
- package/dist/prompt.js +0 -75
- package/dist/prompt.js.map +0 -1
- package/dist/sesame.d.ts +0 -33
- package/dist/sesame.d.ts.map +0 -1
- package/dist/sesame.js +0 -67
- package/dist/sesame.js.map +0 -1
- package/dist/start.d.ts +0 -3
- package/dist/start.d.ts.map +0 -1
- package/dist/task-engine.d.ts +0 -32
- package/dist/task-engine.d.ts.map +0 -1
- package/dist/task-engine.js +0 -80
- package/dist/task-engine.js.map +0 -1
- package/dist/worker.d.ts +0 -73
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -279
- package/dist/worker.js.map +0 -1
- package/install.sh +0 -186
- package/packages/memory/Cargo.lock +0 -6480
- package/packages/memory/Cargo.toml +0 -21
- package/packages/memory/src/src/context.rs +0 -179
- package/packages/memory/src/src/embeddings.rs +0 -51
- package/packages/memory/src/src/main.rs +0 -626
- package/packages/memory/src/src/promotion.rs +0 -637
- package/packages/memory/src/src/scoring.rs +0 -131
- package/packages/memory/src/src/store.rs +0 -460
- package/packages/memory/src/src/tasks.rs +0 -321
package/dist/commands/init.js
CHANGED
|
@@ -1,170 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const ENV_FILE = resolve(HIVEMIND_DIR, ".env");
|
|
8
|
-
const LOCAL_TOML = resolve(CONFIG_DIR, "local.toml");
|
|
9
|
-
const VAULT_CONFIG_NAME = "hivemind-config";
|
|
10
|
-
async function prompt(question) {
|
|
11
|
-
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
12
|
-
return new Promise((resolve) => {
|
|
13
|
-
rl.question(question, (answer) => {
|
|
14
|
-
rl.close();
|
|
15
|
-
resolve(answer.trim());
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
export async function runInitCommand(args) {
|
|
20
|
-
let sesameApiKey = args[0];
|
|
21
|
-
if (args.includes("--help") || args.includes("-h")) {
|
|
22
|
-
printHelp();
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
console.log(`
|
|
26
|
-
╦ ╦╦╦ ╦╔═╗╔╦╗╦╔╗╔╔╦╗
|
|
27
|
-
╠═╣║╚╗╔╝║╣ ║║║║║║║ ║║
|
|
28
|
-
╩ ╩╩ ╚╝ ╚═╝╩ ╩╩╝╚╝═╩╝
|
|
29
|
-
Agent Initialization
|
|
30
|
-
`);
|
|
31
|
-
// --- Step 1: Get Sesame API key ---
|
|
32
|
-
if (!sesameApiKey) {
|
|
33
|
-
sesameApiKey = await prompt(" Sesame API key: ");
|
|
34
|
-
}
|
|
35
|
-
if (!sesameApiKey) {
|
|
36
|
-
console.error("Error: Sesame API key is required");
|
|
37
|
-
process.exit(1);
|
|
38
|
-
}
|
|
39
|
-
// --- Step 2: Connect to Sesame and fetch manifest ---
|
|
40
|
-
console.log("\n→ Connecting to Sesame...");
|
|
41
|
-
const sdk = new SesameClient({
|
|
42
|
-
apiUrl: "https://api.sesame.space",
|
|
43
|
-
wsUrl: "wss://ws.sesame.space",
|
|
44
|
-
apiKey: sesameApiKey,
|
|
45
|
-
});
|
|
46
|
-
let config;
|
|
47
|
-
try {
|
|
48
|
-
const manifest = await sdk.getManifest();
|
|
49
|
-
console.log(` ✓ Authenticated as ${manifest.agent.handle} (${manifest.agent.id})`);
|
|
50
|
-
console.log(` ✓ Workspace: ${manifest.workspace.name}`);
|
|
51
|
-
console.log(` ✓ Channels: ${manifest.channels.length}`);
|
|
52
|
-
for (const ch of manifest.channels) {
|
|
53
|
-
console.log(` - ${ch.name || ch.id} (${ch.kind})`);
|
|
54
|
-
}
|
|
55
|
-
config = {
|
|
56
|
-
agentName: manifest.agent.handle,
|
|
57
|
-
agentHandle: manifest.agent.handle,
|
|
58
|
-
agentId: manifest.agent.id,
|
|
59
|
-
channels: manifest.channels.map((ch) => ({
|
|
60
|
-
id: ch.id,
|
|
61
|
-
name: ch.name,
|
|
62
|
-
kind: ch.kind,
|
|
63
|
-
})),
|
|
64
|
-
};
|
|
65
|
-
// --- Step 3: Check vault for config ---
|
|
66
|
-
console.log("\n→ Checking vault for provisioning config...");
|
|
67
|
-
try {
|
|
68
|
-
const vaultResp = await sdk.listVaultItems();
|
|
69
|
-
const items = vaultResp.items || vaultResp.data || [];
|
|
70
|
-
const configItem = items.find((i) => i.name === VAULT_CONFIG_NAME);
|
|
71
|
-
if (configItem) {
|
|
72
|
-
console.log(` ✓ Found ${VAULT_CONFIG_NAME} vault item`);
|
|
73
|
-
const revealResp = await sdk.revealItem(configItem.id);
|
|
74
|
-
const fields = revealResp.fields || revealResp.data || {};
|
|
75
|
-
config.llmApiKey = fields.llm_api_key || fields.openrouter_api_key;
|
|
76
|
-
config.llmBaseUrl = fields.llm_base_url;
|
|
77
|
-
config.llmModel = fields.llm_model;
|
|
78
|
-
config.personality = fields.agent_personality || fields.personality;
|
|
79
|
-
config.fleetRole = fields.fleet_role;
|
|
80
|
-
if (config.llmApiKey)
|
|
81
|
-
console.log(" ✓ LLM API key loaded from vault");
|
|
82
|
-
if (config.personality)
|
|
83
|
-
console.log(` ✓ Personality: ${config.personality.slice(0, 60)}...`);
|
|
84
|
-
if (config.fleetRole)
|
|
85
|
-
console.log(` ✓ Fleet role: ${config.fleetRole}`);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
console.log(" ! No hivemind-config vault item found");
|
|
89
|
-
console.log(" ! Will prompt for LLM API key instead");
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
console.log(` ! Could not read vault: ${err.message}`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch (err) {
|
|
97
|
-
console.error(`\n ✗ Failed to connect to Sesame: ${err.message}`);
|
|
98
|
-
console.error(" Check your API key and try again.");
|
|
99
|
-
process.exit(1);
|
|
100
|
-
}
|
|
101
|
-
finally {
|
|
102
|
-
sdk.disconnect();
|
|
103
|
-
}
|
|
104
|
-
// --- Step 4: Prompt for anything missing ---
|
|
105
|
-
if (!config.llmApiKey) {
|
|
106
|
-
config.llmApiKey = await prompt("\n OpenRouter API key: ");
|
|
107
|
-
}
|
|
108
|
-
// Agent name override
|
|
109
|
-
const nameOverride = await prompt(` Agent name [${config.agentName}]: `);
|
|
110
|
-
if (nameOverride)
|
|
111
|
-
config.agentName = nameOverride;
|
|
112
|
-
// --- Step 5: Write config files ---
|
|
113
|
-
console.log("\n→ Writing configuration...");
|
|
114
|
-
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
115
|
-
// Write local.toml (overrides)
|
|
116
|
-
const localToml = `# Generated by hivemind init — ${new Date().toISOString()}
|
|
117
|
-
# Overrides config/default.toml with agent-specific settings
|
|
118
|
-
|
|
119
|
-
[agent]
|
|
120
|
-
name = "${config.agentName}"
|
|
121
|
-
${config.personality ? `personality = "${config.personality.replace(/"/g, '\\"')}"` : "# personality = (using default)"}
|
|
122
|
-
team_charter = "config/TEAM-CHARTER.md"
|
|
123
|
-
|
|
124
|
-
${config.llmModel ? `[llm]\nmodel = "${config.llmModel}"` : "# [llm] using defaults"}
|
|
125
|
-
${config.llmBaseUrl ? `# base_url = "${config.llmBaseUrl}"` : ""}
|
|
126
|
-
`;
|
|
127
|
-
writeFileSync(LOCAL_TOML, localToml);
|
|
128
|
-
console.log(` ✓ ${LOCAL_TOML}`);
|
|
129
|
-
// Write .env
|
|
130
|
-
const envContent = `# Hivemind Agent — ${config.agentName}
|
|
131
|
-
# Generated by hivemind init — ${new Date().toISOString()}
|
|
132
|
-
SESAME_API_KEY=${sesameApiKey}
|
|
133
|
-
LLM_API_KEY=${config.llmApiKey || ""}
|
|
134
|
-
AGENT_NAME=${config.agentName}
|
|
135
|
-
`;
|
|
136
|
-
writeFileSync(ENV_FILE, envContent, { mode: 0o600 });
|
|
137
|
-
console.log(` ✓ ${ENV_FILE} (chmod 600)`);
|
|
138
|
-
// --- Done ---
|
|
139
|
-
console.log(`
|
|
140
|
-
✓ Hivemind initialized for ${config.agentName}!
|
|
141
|
-
|
|
142
|
-
To start the agent:
|
|
143
|
-
./start.sh
|
|
144
|
-
|
|
145
|
-
To start in background:
|
|
146
|
-
nohup ./start.sh > /tmp/hivemind.log 2>&1 &
|
|
147
|
-
|
|
148
|
-
Agent ID: ${config.agentId}
|
|
149
|
-
Channels: ${config.channels.map((c) => c.name || c.id).join(", ")}
|
|
150
|
-
Fleet role: ${config.fleetRole || "standalone"}
|
|
151
|
-
`);
|
|
152
|
-
}
|
|
153
|
-
function printHelp() {
|
|
154
|
-
console.log(`hivemind init — Initialize a Hivemind agent from Sesame
|
|
155
|
-
|
|
156
|
-
Usage: hivemind init [sesame-api-key]
|
|
157
|
-
|
|
158
|
-
The API key can also be passed as the first argument.
|
|
159
|
-
|
|
160
|
-
What it does:
|
|
161
|
-
1. Connects to Sesame and fetches agent identity
|
|
162
|
-
2. Reads provisioning config from Sesame vault (if available)
|
|
163
|
-
3. Prompts for any missing configuration
|
|
164
|
-
4. Writes config/local.toml and .env
|
|
165
|
-
|
|
166
|
-
Options:
|
|
167
|
-
-h, --help Show this help
|
|
168
|
-
`);
|
|
169
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
runInitCommand
|
|
3
|
+
} from "../chunk-XNOWVLXD.js";
|
|
4
|
+
export {
|
|
5
|
+
runInitCommand
|
|
6
|
+
};
|
|
170
7
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/commands/start.js
CHANGED
|
@@ -1,39 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if ((args[i] === "--config" || args[i] === "-c") && args[i + 1]) {
|
|
10
|
-
configPath = args[++i];
|
|
11
|
-
}
|
|
12
|
-
else if (args[i] === "--help" || args[i] === "-h") {
|
|
13
|
-
printHelp();
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
console.error(`Unknown argument: ${args[i]}`);
|
|
18
|
-
printHelp();
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
const resolved = resolve(configPath);
|
|
23
|
-
if (!existsSync(resolved)) {
|
|
24
|
-
console.error(`Config not found: ${resolved}`);
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
await startPipeline(resolved);
|
|
28
|
-
}
|
|
29
|
-
function printHelp() {
|
|
30
|
-
console.log(`hivemind start — Start the Hivemind agent
|
|
31
|
-
|
|
32
|
-
Usage: hivemind start [options]
|
|
33
|
-
|
|
34
|
-
Options:
|
|
35
|
-
-c, --config <path> Config file (default: config/default.toml)
|
|
36
|
-
-h, --help Show this help
|
|
37
|
-
`);
|
|
38
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
runStartCommand
|
|
3
|
+
} from "../chunk-RNK5Q5GR.js";
|
|
4
|
+
import "../chunk-NVJ424TB.js";
|
|
5
|
+
import "../chunk-2I2O6X5D.js";
|
|
6
|
+
export {
|
|
7
|
+
runStartCommand
|
|
8
|
+
};
|
|
39
9
|
//# sourceMappingURL=start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import {
|
|
2
|
+
FleetManager,
|
|
3
|
+
PrimaryClient,
|
|
4
|
+
PrimaryMemorySync,
|
|
5
|
+
WorkerMemorySync
|
|
6
|
+
} from "./chunk-NVJ424TB.js";
|
|
7
|
+
import {
|
|
8
|
+
Agent,
|
|
9
|
+
ContextManager,
|
|
10
|
+
LLMClient,
|
|
11
|
+
MemoryClient,
|
|
12
|
+
SesameClient,
|
|
13
|
+
TaskEngine,
|
|
14
|
+
WorkerRuntime,
|
|
15
|
+
WorkerServer,
|
|
16
|
+
buildMessages,
|
|
17
|
+
buildSystemPrompt,
|
|
18
|
+
loadConfig,
|
|
19
|
+
startPipeline,
|
|
20
|
+
startWorker
|
|
21
|
+
} from "./chunk-2I2O6X5D.js";
|
|
22
|
+
export {
|
|
23
|
+
Agent,
|
|
24
|
+
ContextManager,
|
|
25
|
+
FleetManager,
|
|
26
|
+
LLMClient,
|
|
27
|
+
MemoryClient,
|
|
28
|
+
PrimaryClient,
|
|
29
|
+
PrimaryMemorySync,
|
|
30
|
+
SesameClient,
|
|
31
|
+
TaskEngine,
|
|
32
|
+
WorkerMemorySync,
|
|
33
|
+
WorkerRuntime,
|
|
34
|
+
WorkerServer,
|
|
35
|
+
buildMessages,
|
|
36
|
+
buildSystemPrompt,
|
|
37
|
+
loadConfig,
|
|
38
|
+
startPipeline,
|
|
39
|
+
startWorker
|
|
40
|
+
};
|
|
16
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/main.js
CHANGED
|
@@ -1,41 +1,61 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import {
|
|
3
|
+
runInitCommand
|
|
4
|
+
} from "./chunk-XNOWVLXD.js";
|
|
5
|
+
import {
|
|
6
|
+
runStartCommand
|
|
7
|
+
} from "./chunk-RNK5Q5GR.js";
|
|
8
|
+
import {
|
|
9
|
+
runFleetCommand
|
|
10
|
+
} from "./chunk-DVR2KBL7.js";
|
|
11
|
+
import {
|
|
12
|
+
runServiceCommand
|
|
13
|
+
} from "./chunk-MBS5A6BZ.js";
|
|
14
|
+
import "./chunk-NVJ424TB.js";
|
|
15
|
+
import "./chunk-2I2O6X5D.js";
|
|
16
|
+
|
|
17
|
+
// packages/cli/src/main.ts
|
|
18
|
+
var [command, ...args] = process.argv.slice(2);
|
|
6
19
|
switch (command) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
case "init":
|
|
21
|
+
runInitCommand(args).catch((err) => {
|
|
22
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
23
|
+
process.exit(1);
|
|
24
|
+
});
|
|
25
|
+
break;
|
|
26
|
+
case "start":
|
|
27
|
+
runStartCommand(args).catch((err) => {
|
|
28
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
29
|
+
process.exit(1);
|
|
30
|
+
});
|
|
31
|
+
break;
|
|
32
|
+
case "service":
|
|
33
|
+
runServiceCommand(args).catch((err) => {
|
|
34
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
35
|
+
process.exit(1);
|
|
36
|
+
});
|
|
37
|
+
break;
|
|
38
|
+
case "fleet":
|
|
39
|
+
runFleetCommand(args).catch((err) => {
|
|
40
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
41
|
+
process.exit(1);
|
|
42
|
+
});
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
console.log(`hivemind cli v0.1.0
|
|
27
46
|
|
|
28
47
|
Usage: hivemind <command> [args]
|
|
29
48
|
|
|
30
49
|
Commands:
|
|
31
50
|
init Initialize agent from Sesame API key
|
|
32
51
|
start Start the Hivemind agent
|
|
52
|
+
service Manage launchd services (install/uninstall/status/logs)
|
|
33
53
|
fleet Manage the worker fleet
|
|
34
54
|
`);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
55
|
+
if (command) {
|
|
56
|
+
console.error(`Unknown command: ${command}`);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
break;
|
|
40
60
|
}
|
|
41
61
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../packages/cli/src/main.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { runFleetCommand } from \"./commands/fleet.js\";\nimport { runStartCommand } from \"./commands/start.js\";\nimport { runInitCommand } from \"./commands/init.js\";\nimport { runServiceCommand } from \"./commands/service.js\";\n\nconst [command, ...args] = process.argv.slice(2);\n\nswitch (command) {\n case \"init\":\n runInitCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"start\":\n runStartCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"service\":\n runServiceCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n case \"fleet\":\n runFleetCommand(args).catch((err) => {\n console.error(err instanceof Error ? err.message : String(err));\n process.exit(1);\n });\n break;\n\n default:\n console.log(`hivemind cli v0.1.0\n\nUsage: hivemind <command> [args]\n\nCommands:\n init Initialize agent from Sesame API key\n start Start the Hivemind agent\n service Manage launchd services (install/uninstall/status/logs)\n fleet Manage the worker fleet\n`);\n if (command) {\n console.error(`Unknown command: ${command}`);\n process.exit(1);\n }\n break;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAOA,IAAM,CAAC,SAAS,GAAG,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC;AAE/C,QAAQ,SAAS;AAAA,EACf,KAAK;AACH,mBAAe,IAAI,EAAE,MAAM,CAAC,QAAQ;AAClC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,oBAAgB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACnC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,sBAAkB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACrC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF,KAAK;AACH,oBAAgB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACnC,cAAQ,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAC9D,cAAQ,KAAK,CAAC;AAAA,IAChB,CAAC;AACD;AAAA,EAEF;AACE,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CASf;AACG,QAAI,SAAS;AACX,cAAQ,MAAM,oBAAoB,OAAO,EAAE;AAC3C,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA;AACJ;","names":[]}
|
package/dist/start.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import {
|
|
3
|
+
loadConfig,
|
|
4
|
+
startPipeline,
|
|
5
|
+
startWorker
|
|
6
|
+
} from "./chunk-2I2O6X5D.js";
|
|
7
|
+
|
|
8
|
+
// packages/runtime/src/start.ts
|
|
9
|
+
var configPath = process.argv[2] || "config/default.toml";
|
|
10
|
+
var config = loadConfig(configPath);
|
|
8
11
|
if (config.worker?.enabled) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
});
|
|
12
|
+
startWorker(config).catch((err) => {
|
|
13
|
+
console.error("[hivemind] Worker fatal:", err);
|
|
14
|
+
process.exit(1);
|
|
15
|
+
});
|
|
16
|
+
} else {
|
|
17
|
+
startPipeline(configPath).catch((err) => {
|
|
18
|
+
console.error("[hivemind] Fatal:", err);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
});
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=start.js.map
|
package/dist/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../packages/runtime/src/start.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { loadConfig } from \"./config.js\";\nimport { startPipeline } from \"./pipeline.js\";\nimport { startWorker } from \"./worker.js\";\n\nconst configPath = process.argv[2] || \"config/default.toml\";\nconst config = loadConfig(configPath);\n\n// If worker mode is enabled, start as a fleet worker\nif (config.worker?.enabled) {\n startWorker(config).catch((err) => {\n console.error(\"[hivemind] Worker fatal:\", err);\n process.exit(1);\n });\n} else {\n startPipeline(configPath).catch((err) => {\n console.error(\"[hivemind] Fatal:\", err);\n process.exit(1);\n });\n}\n"],"mappings":";;;;;;;;AAKA,IAAM,aAAa,QAAQ,KAAK,CAAC,KAAK;AACtC,IAAM,SAAS,WAAW,UAAU;AAGpC,IAAI,OAAO,QAAQ,SAAS;AAC1B,cAAY,MAAM,EAAE,MAAM,CAAC,QAAQ;AACjC,YAAQ,MAAM,4BAA4B,GAAG;AAC7C,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH,OAAO;AACL,gBAAc,UAAU,EAAE,MAAM,CAAC,QAAQ;AACvC,YAAQ,MAAM,qBAAqB,GAAG;AACtC,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACH;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,34 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sesamespace/hivemind",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Cognitive architecture for AI agents with multi-layered memory",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"hivemind": "dist/main.js"
|
|
8
8
|
},
|
|
9
|
+
"main": "dist/index.js",
|
|
9
10
|
"files": [
|
|
10
|
-
"dist
|
|
11
|
-
"config
|
|
12
|
-
"packages/memory/",
|
|
13
|
-
"install.sh",
|
|
11
|
+
"dist",
|
|
12
|
+
"config",
|
|
14
13
|
"README.md"
|
|
15
14
|
],
|
|
16
|
-
"engines": {
|
|
17
|
-
"node": ">=20.0.0"
|
|
18
|
-
},
|
|
19
15
|
"dependencies": {
|
|
20
16
|
"@iarna/toml": "^2.2.5",
|
|
21
17
|
"@sesamespace/sdk": "^0.1.6",
|
|
22
18
|
"ws": "^8.18.0"
|
|
23
19
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"sesame",
|
|
29
|
-
"cognitive-architecture"
|
|
30
|
-
],
|
|
31
|
-
"license": "UNLICENSED",
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=20.0.0"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
32
24
|
"repository": {
|
|
33
25
|
"type": "git",
|
|
34
26
|
"url": "https://github.com/baileydavis2026/hivemind"
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fleet integration test (Phase 3, Task 3.5).
|
|
3
|
-
*
|
|
4
|
-
* Tests multi-worker fleet lifecycle: two WorkerServers, a PrimaryClient
|
|
5
|
-
* coordinating both, FleetManager dashboard, context migration, and
|
|
6
|
-
* memory sync round-trips.
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=fleet-integration.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/fleet-integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|