@axiom-lattice/lattice-cli 0.2.41 → 0.2.43
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/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +72 -0
- package/dist/cli.js +0 -1
- package/dist/cli.js.map +1 -1
- package/package.json +5 -5
- package/src/server.ts +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @axiom-lattice/lattice-cli@0.2.
|
|
2
|
+
> @axiom-lattice/lattice-cli@0.2.43 build /home/runner/work/agentic/agentic/packages/lattice-cli
|
|
3
3
|
> tsup src/cli.ts --format esm --dts --sourcemap
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/cli.ts
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
[34mCLI[39m tsup v8.5.0
|
|
8
8
|
[34mCLI[39m Target: es2020
|
|
9
9
|
[34mESM[39m Build start
|
|
10
|
-
[32mESM[39m [1mdist/cli.js [22m[32m9.
|
|
11
|
-
[32mESM[39m [1mdist/cli.js.map [22m[32m17.
|
|
12
|
-
[32mESM[39m ⚡️ Build success in
|
|
10
|
+
[32mESM[39m [1mdist/cli.js [22m[32m9.60 KB[39m
|
|
11
|
+
[32mESM[39m [1mdist/cli.js.map [22m[32m17.77 KB[39m
|
|
12
|
+
[32mESM[39m ⚡️ Build success in 108ms
|
|
13
13
|
[34mDTS[39m Build start
|
|
14
|
-
[32mDTS[39m ⚡️ Build success in
|
|
14
|
+
[32mDTS[39m ⚡️ Build success in 10709ms
|
|
15
15
|
[32mDTS[39m [1mdist/cli.d.ts [22m[32m20.00 B[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,77 @@
|
|
|
1
1
|
# @axiom-lattice/lattice-cli
|
|
2
2
|
|
|
3
|
+
## 0.2.43
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [6da9883]
|
|
8
|
+
- Updated dependencies [c5a4a88]
|
|
9
|
+
- Updated dependencies [ae1535e]
|
|
10
|
+
- Updated dependencies [ae1535e]
|
|
11
|
+
- Updated dependencies [e71979f]
|
|
12
|
+
- Updated dependencies [80c8dca]
|
|
13
|
+
- Updated dependencies [c650a59]
|
|
14
|
+
- Updated dependencies [ae1535e]
|
|
15
|
+
- Updated dependencies [ae1535e]
|
|
16
|
+
- Updated dependencies [ae1535e]
|
|
17
|
+
- @axiom-lattice/gateway@8.0.0
|
|
18
|
+
- @axiom-lattice/core@10.0.0
|
|
19
|
+
- @axiom-lattice/protocols@6.0.0
|
|
20
|
+
- @axiom-lattice/local-stores@4.0.0
|
|
21
|
+
|
|
22
|
+
## 0.2.42
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [d627daa]
|
|
27
|
+
- Updated dependencies [0a3ad06]
|
|
28
|
+
- Updated dependencies [251c084]
|
|
29
|
+
- Updated dependencies [e57a515]
|
|
30
|
+
- Updated dependencies [1fde314]
|
|
31
|
+
- Updated dependencies [353699c]
|
|
32
|
+
- Updated dependencies [84c7c5b]
|
|
33
|
+
- Updated dependencies [9a6579c]
|
|
34
|
+
- Updated dependencies [c1f4f54]
|
|
35
|
+
- Updated dependencies [d5dc506]
|
|
36
|
+
- Updated dependencies [4be8a9b]
|
|
37
|
+
- Updated dependencies [f1f8840]
|
|
38
|
+
- Updated dependencies [8285b9a]
|
|
39
|
+
- Updated dependencies [5f0aeff]
|
|
40
|
+
- Updated dependencies [dcbe47b]
|
|
41
|
+
- Updated dependencies [b3e1a30]
|
|
42
|
+
- Updated dependencies [ff8d4cb]
|
|
43
|
+
- Updated dependencies [235b4a4]
|
|
44
|
+
- Updated dependencies [c07db86]
|
|
45
|
+
- Updated dependencies [ea90717]
|
|
46
|
+
- Updated dependencies [e33c7c3]
|
|
47
|
+
- Updated dependencies [2d61ef6]
|
|
48
|
+
- Updated dependencies [351b0e9]
|
|
49
|
+
- Updated dependencies [1fde314]
|
|
50
|
+
- Updated dependencies [1236db0]
|
|
51
|
+
- Updated dependencies [5c5550b]
|
|
52
|
+
- Updated dependencies [e732b92]
|
|
53
|
+
- Updated dependencies [476a26b]
|
|
54
|
+
- Updated dependencies [2422cdd]
|
|
55
|
+
- Updated dependencies [bfb7c42]
|
|
56
|
+
- Updated dependencies [ced17aa]
|
|
57
|
+
- Updated dependencies [8f9dd0d]
|
|
58
|
+
- Updated dependencies [1fde314]
|
|
59
|
+
- Updated dependencies [1525f4e]
|
|
60
|
+
- Updated dependencies [b794e07]
|
|
61
|
+
- Updated dependencies [2454005]
|
|
62
|
+
- Updated dependencies [da5294d]
|
|
63
|
+
- Updated dependencies [03e9984]
|
|
64
|
+
- Updated dependencies [2609f3b]
|
|
65
|
+
- Updated dependencies [4a74c70]
|
|
66
|
+
- Updated dependencies [12ce057]
|
|
67
|
+
- Updated dependencies [66daf89]
|
|
68
|
+
- Updated dependencies [23902af]
|
|
69
|
+
- Updated dependencies [fad0bd0]
|
|
70
|
+
- @axiom-lattice/gateway@7.0.0
|
|
71
|
+
- @axiom-lattice/core@9.0.0
|
|
72
|
+
- @axiom-lattice/protocols@5.0.0
|
|
73
|
+
- @axiom-lattice/local-stores@3.3.0
|
|
74
|
+
|
|
3
75
|
## 0.2.41
|
|
4
76
|
|
|
5
77
|
### Patch Changes
|
package/dist/cli.js
CHANGED
|
@@ -180,7 +180,6 @@ async function startServer(options) {
|
|
|
180
180
|
};
|
|
181
181
|
LatticeGateway.startAsHttpEndpoint({
|
|
182
182
|
port: options.port,
|
|
183
|
-
queueServiceConfig: { type: "memory", defaultStartPollingQueue: true },
|
|
184
183
|
loggerConfig: DEFAULT_LOGGER_CONFIG
|
|
185
184
|
});
|
|
186
185
|
const shutdown = async () => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.ts","../src/cli.ts"],"sourcesContent":["import { LatticeGateway } from \"@axiom-lattice/gateway\";\nimport {\n configureStores,\n sandboxLatticeManager,\n createSandboxProvider,\n registerScheduleLattice,\n MemoryLatticeManager,\n registerCheckpointSaver,\n getStoreLattice,\n} from \"@axiom-lattice/core\";\nimport {\n createLocalStoreConfig,\n closeDatabase,\n initDatabase,\n} from \"@axiom-lattice/local-stores\";\nimport { LoggerType } from \"@axiom-lattice/protocols\";\nimport type { LoggerConfig } from \"@axiom-lattice/protocols\";\nimport type { DatabaseWrapper } from \"@axiom-lattice/local-stores\";\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport interface LatticeCliOptions {\n port: number;\n dbPath: string;\n sandboxBasePath: string;\n serveWeb: boolean;\n}\n\nfunction resolveWebDir(): string | null {\n // Look for apps/cli-web/dist (Vite build output)\n const repoRoot = path.resolve(__dirname, \"..\", \"..\", \"..\", \"apps\", \"cli-web\", \"dist\");\n if (fs.existsSync(repoRoot)) return repoRoot;\n return null;\n}\n\n/**\n * Fallback: create all local stores manually without checkpoint saver.\n * Used when createLocalStoreConfig fails due to better-sqlite3 not being available.\n */\nasync function createStoresFallback(\n db: DatabaseWrapper\n): Promise<Record<string, unknown>> {\n const mod = await import(\"@axiom-lattice/local-stores\");\n return {\n thread: new mod.LocalThreadStore(db),\n assistant: new mod.LocalAssistantStore(db),\n workspace: new mod.LocalWorkspaceStore(db),\n project: new mod.LocalProjectStore(db),\n user: new mod.LocalUserStore(db),\n tenant: new mod.LocalTenantStore(db),\n userTenantLink: new mod.LocalUserTenantLinkStore(db),\n database: new mod.LocalDatabaseConfigStore(db),\n metrics: new mod.LocalMetricsServerConfigStore(db),\n mcp: new mod.LocalMcpServerConfigStore(db),\n workflowTracking: new mod.LocalWorkflowTrackingStore(db),\n eval: new mod.LocalEvalStore(db),\n channelBinding: new mod.LocalChannelBindingStore(db),\n channelInstallation: new mod.LocalChannelInstallationStore(db),\n a2aApiKey: new mod.LocalA2AApiKeyStore(db),\n threadMessageQueue: new mod.LocalThreadMessageQueueStore(db),\n skill: new mod.LocalSkillStore(db),\n schedule: new mod.LocalScheduleStorage(db),\n };\n}\n\nexport async function startServer(options: LatticeCliOptions): Promise<void> {\n console.log(`\n╔═══════════════════════════════════════════╗\n║ Lattice Local Server ║\n║ Version: 0.1.0 ║\n║ Sandbox: local ║\n║ Stores: sqlite (sql.js) ║\n╚═══════════════════════════════════════════╝\n`);\n\n // 1. Initialize local SQLite stores\n console.log(`[store] Initializing local stores at ${options.dbPath} ...`);\n\n let stores: Record<string, unknown>;\n let checkpoint: unknown = undefined;\n\n try {\n const result = await createLocalStoreConfig({ dbPath: options.dbPath });\n stores = result as unknown as Record<string, unknown>;\n } catch (e: unknown) {\n const msg = e instanceof Error ? e.message : String(e);\n if (msg.includes(\"better_sqlite3\") || msg.includes(\"bindings\")) {\n console.log(\"[store] better-sqlite3 unavailable, skipping checkpoint saver\");\n const db = await initDatabase({ dbPath: options.dbPath });\n stores = await createStoresFallback(db);\n } else {\n throw e;\n }\n }\n\n // Extract special keys\n const schedule = stores.schedule;\n checkpoint = stores.checkpoint;\n delete stores.schedule;\n delete stores.checkpoint;\n\n await configureStores(stores as Parameters<typeof configureStores>[0], { autoDisposeStores: true });\n\n // Register schedule storage\n if (schedule) {\n try {\n registerScheduleLattice(\"default\", {\n name: \"Default Scheduler\",\n description: \"Local schedule storage\",\n type: \"postgres\" as never,\n storage: schedule as never,\n });\n } catch { /* non-critical */ }\n }\n\n // Register checkpoint saver\n if (checkpoint) {\n try {\n MemoryLatticeManager.getInstance().removeCheckpointSaver(\"default\");\n registerCheckpointSaver(\"default\", checkpoint as Parameters<typeof registerCheckpointSaver>[1]);\n console.log(\"[store] Checkpoint saver registered\");\n } catch (e) {\n console.log(\"[store] Checkpoint saver skipped:\", e instanceof Error ? e.message : e);\n }\n }\n\n console.log(\"[store] Local SQLite stores ready\");\n\n // Seed default tenant, workspace, and project so the UI works out of the box\n try {\n const tenantId = \"default\";\n\n // Ensure default tenant exists\n const tenantStore = getStoreLattice(\"default\", \"tenant\").store as {\n getTenantById(id: string): Promise<unknown>;\n createTenant(id: string, data: { name: string }): Promise<unknown>;\n };\n const existingTenant = await tenantStore.getTenantById(tenantId).catch(() => null);\n if (!existingTenant) {\n await tenantStore.createTenant(tenantId, { name: \"Default\" });\n }\n\n // Ensure default user exists (onboarding will update the name)\n const userId = \"local\";\n const userStore = getStoreLattice(\"default\", \"user\").store as {\n getUserById(id: string): Promise<unknown>;\n createUser(id: string, data: { name: string; email: string }): Promise<unknown>;\n };\n const existingUser = await userStore.getUserById(userId).catch(() => null);\n if (!existingUser) {\n await userStore.createUser(userId, { name: \"Local User\", email: \"local@local\" });\n }\n\n // Ensure default workspace + project exist\n const wsStore = getStoreLattice(\"default\", \"workspace\").store as {\n getAllWorkspaces(tenantId: string): Promise<{ id: string }[]>;\n createWorkspace(tenantId: string, id: string, data: { name: string; storageType: string }): Promise<unknown>;\n };\n const pjStore = getStoreLattice(\"default\", \"project\").store as {\n getProjectsByWorkspace(tenantId: string, workspaceId: string): Promise<{ id: string }[]>;\n createProject(tenantId: string, workspaceId: string, id: string, data: { name: string }): Promise<unknown>;\n };\n const wss = await wsStore.getAllWorkspaces(tenantId);\n if (wss.length === 0) {\n const wsId = crypto.randomUUID();\n await wsStore.createWorkspace(tenantId, wsId, { name: \"Default\", storageType: \"sandbox\" });\n await pjStore.createProject(tenantId, wsId, crypto.randomUUID(), { name: \"Default Project\" });\n }\n\n // Ensure default assistant exists (model must be registered first via onboarding)\n const asStore = getStoreLattice(\"default\", \"assistant\").store as {\n getAssistantById(tenantId: string, id: string): Promise<unknown>;\n createAssistant(tenantId: string, id: string, data: { name: string; graphDefinition: unknown }): Promise<unknown>;\n };\n const existingAssistant = await asStore.getAssistantById(tenantId, \"default-assistant\").catch(() => null);\n if (!existingAssistant) {\n await asStore.createAssistant(tenantId, \"default-assistant\", {\n name: \"Default Assistant\",\n graphDefinition: {\n key: \"default-assistant\",\n type: \"react\",\n prompt: \"You are a helpful assistant.\",\n modelKey: \"default\",\n tools: [],\n },\n });\n }\n console.log(\"[store] Seeded tenant, user, workspace, project, and assistant\");\n } catch (e) {\n console.log(\"[store] Seed skipped:\", e instanceof Error ? e.message : e);\n }\n\n // 2. Register local sandbox provider\n console.log(`[sandbox] Initializing local sandbox at ${options.sandboxBasePath} ...`);\n const sandboxProvider = createSandboxProvider({\n type: \"local\",\n localSandboxBasePath: options.sandboxBasePath,\n });\n sandboxLatticeManager.registerLattice(\"default\", sandboxProvider);\n console.log(\"[sandbox] Local sandbox provider registered\");\n\n // 3. Swagger setup\n await LatticeGateway.configureSwagger(LatticeGateway.app);\n console.log(`[web] API docs: http://localhost:${options.port}/api-docs`);\n\n // 4. Serve web UI if requested\n if (options.serveWeb) {\n const webDir = resolveWebDir();\n if (webDir) {\n console.log(`[web] Serving chat UI from ${webDir}`);\n\n // SPA fallback: serve index.html for paths without an extension\n LatticeGateway.app.setNotFoundHandler((req, reply) => {\n if ((req.url || \"/\").startsWith(\"/api\")) {\n return reply.status(404).send({ success: false, error: \"Not found\" });\n }\n return reply.type(\"text/html\").send(fs.readFileSync(path.join(webDir, \"index.html\"), \"utf-8\"));\n });\n\n // Serve static assets\n LatticeGateway.app.get(\"/assets/*\", (req, reply) => {\n const p = (req.url || \"\").split(\"?\")[0].replace(/^\\/+/, \"\");\n const filePath = path.join(webDir, p);\n if (!fs.existsSync(filePath)) return reply.status(404).send(\"Not found\");\n const ext = path.extname(filePath);\n const ct: Record<string, string> = { \".js\": \"application/javascript\", \".css\": \"text/css\", \".svg\": \"image/svg+xml\", \".png\": \"image/png\", \".ico\": \"image/x-icon\", \".json\": \"application/json\" };\n return reply.type(ct[ext] || \"application/octet-stream\").send(fs.readFileSync(filePath));\n });\n\n console.log(`[web] Chat UI: http://localhost:${options.port}`);\n } else {\n console.log(\"[web] Web UI files not found (build apps/cli-web first: cd apps/cli-web && pnpm build)\");\n }\n }\n\n // 5. Start gateway\n const DEFAULT_LOGGER_CONFIG: LoggerConfig = {\n name: \"default\",\n description: \"Lattice CLI local server\",\n type: LoggerType.PINO,\n serviceName: \"lattice/cli\",\n loggerName: \"lattice/cli\",\n };\n\n LatticeGateway.startAsHttpEndpoint({\n port: options.port,\n queueServiceConfig: { type: \"memory\", defaultStartPollingQueue: true },\n loggerConfig: DEFAULT_LOGGER_CONFIG,\n });\n\n // Graceful shutdown\n const shutdown = async () => {\n console.log(\"\\n[shutdown] Closing database and stopping server...\");\n closeDatabase();\n await LatticeGateway.app.close();\n process.exit(0);\n };\n\n process.on(\"SIGINT\", shutdown);\n process.on(\"SIGTERM\", shutdown);\n}\n","#!/usr/bin/env node\nimport { startServer, type LatticeCliOptions } from \"./server.js\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nfunction printHelp(): void {\n console.log(`\nlattice — Axiom Lattice local development server\n\nUsage:\n lattice [options]\n\nOptions:\n --port, -p <number> Server port (default: 4001)\n --db-path <path> SQLite database path (default: ~/.axiom/lattice.db)\n --sandbox-path <path> Sandbox base directory (default: ~/.axiom-local-sandbox)\n --web, -w Serve the chat web UI at /\n --help, -h Show this help\n\nExamples:\n lattice Start API-only on port 4001\n lattice --web Start with chat UI\n lattice -p 3000 --web Custom port with web UI\n lattice --db-path ./dev.db Custom database path\n`);\n}\n\nfunction parseArgs(): LatticeCliOptions | null {\n const args = process.argv.slice(2);\n\n if (args.includes(\"--help\") || args.includes(\"-h\")) {\n printHelp();\n return null;\n }\n\n const getArg = (flag: string): string | undefined => {\n const idx = args.findIndex((a) => a === flag);\n return idx !== -1 && args[idx + 1] ? args[idx + 1] : undefined;\n };\n\n const hasFlag = (flag: string): boolean => args.includes(flag);\n\n const portStr = getArg(\"--port\") ?? getArg(\"-p\");\n const port = portStr ? parseInt(portStr, 10) : 4001;\n\n return {\n port,\n dbPath: getArg(\"--db-path\") ?? path.join(os.homedir(), \".axiom\", \"lattice.db\"),\n sandboxBasePath: getArg(\"--sandbox-path\") ?? path.join(os.homedir(), \".axiom-local-sandbox\"),\n serveWeb: hasFlag(\"--web\") || hasFlag(\"-w\"),\n };\n}\n\nasync function main(): Promise<void> {\n const options = parseArgs();\n if (!options) return; // help printed\n\n try {\n await startServer(options);\n } catch (err) {\n console.error(\"Failed to start server:\", err);\n process.exit(1);\n }\n}\n\nmain();\n"],"mappings":"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","names":["path"]}
|
|
1
|
+
{"version":3,"sources":["../src/server.ts","../src/cli.ts"],"sourcesContent":["import { LatticeGateway } from \"@axiom-lattice/gateway\";\nimport {\n configureStores,\n sandboxLatticeManager,\n createSandboxProvider,\n registerScheduleLattice,\n MemoryLatticeManager,\n registerCheckpointSaver,\n getStoreLattice,\n} from \"@axiom-lattice/core\";\nimport {\n createLocalStoreConfig,\n closeDatabase,\n initDatabase,\n} from \"@axiom-lattice/local-stores\";\nimport { LoggerType } from \"@axiom-lattice/protocols\";\nimport type { LoggerConfig } from \"@axiom-lattice/protocols\";\nimport type { DatabaseWrapper } from \"@axiom-lattice/local-stores\";\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport interface LatticeCliOptions {\n port: number;\n dbPath: string;\n sandboxBasePath: string;\n serveWeb: boolean;\n}\n\nfunction resolveWebDir(): string | null {\n // Look for apps/cli-web/dist (Vite build output)\n const repoRoot = path.resolve(__dirname, \"..\", \"..\", \"..\", \"apps\", \"cli-web\", \"dist\");\n if (fs.existsSync(repoRoot)) return repoRoot;\n return null;\n}\n\n/**\n * Fallback: create all local stores manually without checkpoint saver.\n * Used when createLocalStoreConfig fails due to better-sqlite3 not being available.\n */\nasync function createStoresFallback(\n db: DatabaseWrapper\n): Promise<Record<string, unknown>> {\n const mod = await import(\"@axiom-lattice/local-stores\");\n return {\n thread: new mod.LocalThreadStore(db),\n assistant: new mod.LocalAssistantStore(db),\n workspace: new mod.LocalWorkspaceStore(db),\n project: new mod.LocalProjectStore(db),\n user: new mod.LocalUserStore(db),\n tenant: new mod.LocalTenantStore(db),\n userTenantLink: new mod.LocalUserTenantLinkStore(db),\n database: new mod.LocalDatabaseConfigStore(db),\n metrics: new mod.LocalMetricsServerConfigStore(db),\n mcp: new mod.LocalMcpServerConfigStore(db),\n workflowTracking: new mod.LocalWorkflowTrackingStore(db),\n eval: new mod.LocalEvalStore(db),\n channelBinding: new mod.LocalChannelBindingStore(db),\n channelInstallation: new mod.LocalChannelInstallationStore(db),\n a2aApiKey: new mod.LocalA2AApiKeyStore(db),\n threadMessageQueue: new mod.LocalThreadMessageQueueStore(db),\n skill: new mod.LocalSkillStore(db),\n schedule: new mod.LocalScheduleStorage(db),\n };\n}\n\nexport async function startServer(options: LatticeCliOptions): Promise<void> {\n console.log(`\n╔═══════════════════════════════════════════╗\n║ Lattice Local Server ║\n║ Version: 0.1.0 ║\n║ Sandbox: local ║\n║ Stores: sqlite (sql.js) ║\n╚═══════════════════════════════════════════╝\n`);\n\n // 1. Initialize local SQLite stores\n console.log(`[store] Initializing local stores at ${options.dbPath} ...`);\n\n let stores: Record<string, unknown>;\n let checkpoint: unknown = undefined;\n\n try {\n const result = await createLocalStoreConfig({ dbPath: options.dbPath });\n stores = result as unknown as Record<string, unknown>;\n } catch (e: unknown) {\n const msg = e instanceof Error ? e.message : String(e);\n if (msg.includes(\"better_sqlite3\") || msg.includes(\"bindings\")) {\n console.log(\"[store] better-sqlite3 unavailable, skipping checkpoint saver\");\n const db = await initDatabase({ dbPath: options.dbPath });\n stores = await createStoresFallback(db);\n } else {\n throw e;\n }\n }\n\n // Extract special keys\n const schedule = stores.schedule;\n checkpoint = stores.checkpoint;\n delete stores.schedule;\n delete stores.checkpoint;\n\n await configureStores(stores as Parameters<typeof configureStores>[0], { autoDisposeStores: true });\n\n // Register schedule storage\n if (schedule) {\n try {\n registerScheduleLattice(\"default\", {\n name: \"Default Scheduler\",\n description: \"Local schedule storage\",\n type: \"postgres\" as never,\n storage: schedule as never,\n });\n } catch { /* non-critical */ }\n }\n\n // Register checkpoint saver\n if (checkpoint) {\n try {\n MemoryLatticeManager.getInstance().removeCheckpointSaver(\"default\");\n registerCheckpointSaver(\"default\", checkpoint as Parameters<typeof registerCheckpointSaver>[1]);\n console.log(\"[store] Checkpoint saver registered\");\n } catch (e) {\n console.log(\"[store] Checkpoint saver skipped:\", e instanceof Error ? e.message : e);\n }\n }\n\n console.log(\"[store] Local SQLite stores ready\");\n\n // Seed default tenant, workspace, and project so the UI works out of the box\n try {\n const tenantId = \"default\";\n\n // Ensure default tenant exists\n const tenantStore = getStoreLattice(\"default\", \"tenant\").store as {\n getTenantById(id: string): Promise<unknown>;\n createTenant(id: string, data: { name: string }): Promise<unknown>;\n };\n const existingTenant = await tenantStore.getTenantById(tenantId).catch(() => null);\n if (!existingTenant) {\n await tenantStore.createTenant(tenantId, { name: \"Default\" });\n }\n\n // Ensure default user exists (onboarding will update the name)\n const userId = \"local\";\n const userStore = getStoreLattice(\"default\", \"user\").store as {\n getUserById(id: string): Promise<unknown>;\n createUser(id: string, data: { name: string; email: string }): Promise<unknown>;\n };\n const existingUser = await userStore.getUserById(userId).catch(() => null);\n if (!existingUser) {\n await userStore.createUser(userId, { name: \"Local User\", email: \"local@local\" });\n }\n\n // Ensure default workspace + project exist\n const wsStore = getStoreLattice(\"default\", \"workspace\").store as {\n getAllWorkspaces(tenantId: string): Promise<{ id: string }[]>;\n createWorkspace(tenantId: string, id: string, data: { name: string; storageType: string }): Promise<unknown>;\n };\n const pjStore = getStoreLattice(\"default\", \"project\").store as {\n getProjectsByWorkspace(tenantId: string, workspaceId: string): Promise<{ id: string }[]>;\n createProject(tenantId: string, workspaceId: string, id: string, data: { name: string }): Promise<unknown>;\n };\n const wss = await wsStore.getAllWorkspaces(tenantId);\n if (wss.length === 0) {\n const wsId = crypto.randomUUID();\n await wsStore.createWorkspace(tenantId, wsId, { name: \"Default\", storageType: \"sandbox\" });\n await pjStore.createProject(tenantId, wsId, crypto.randomUUID(), { name: \"Default Project\" });\n }\n\n // Ensure default assistant exists (model must be registered first via onboarding)\n const asStore = getStoreLattice(\"default\", \"assistant\").store as {\n getAssistantById(tenantId: string, id: string): Promise<unknown>;\n createAssistant(tenantId: string, id: string, data: { name: string; graphDefinition: unknown }): Promise<unknown>;\n };\n const existingAssistant = await asStore.getAssistantById(tenantId, \"default-assistant\").catch(() => null);\n if (!existingAssistant) {\n await asStore.createAssistant(tenantId, \"default-assistant\", {\n name: \"Default Assistant\",\n graphDefinition: {\n key: \"default-assistant\",\n type: \"react\",\n prompt: \"You are a helpful assistant.\",\n modelKey: \"default\",\n tools: [],\n },\n });\n }\n console.log(\"[store] Seeded tenant, user, workspace, project, and assistant\");\n } catch (e) {\n console.log(\"[store] Seed skipped:\", e instanceof Error ? e.message : e);\n }\n\n // 2. Register local sandbox provider\n console.log(`[sandbox] Initializing local sandbox at ${options.sandboxBasePath} ...`);\n const sandboxProvider = createSandboxProvider({\n type: \"local\",\n localSandboxBasePath: options.sandboxBasePath,\n });\n sandboxLatticeManager.registerLattice(\"default\", sandboxProvider);\n console.log(\"[sandbox] Local sandbox provider registered\");\n\n // 3. Swagger setup\n await LatticeGateway.configureSwagger(LatticeGateway.app);\n console.log(`[web] API docs: http://localhost:${options.port}/api-docs`);\n\n // 4. Serve web UI if requested\n if (options.serveWeb) {\n const webDir = resolveWebDir();\n if (webDir) {\n console.log(`[web] Serving chat UI from ${webDir}`);\n\n // SPA fallback: serve index.html for paths without an extension\n LatticeGateway.app.setNotFoundHandler((req, reply) => {\n if ((req.url || \"/\").startsWith(\"/api\")) {\n return reply.status(404).send({ success: false, error: \"Not found\" });\n }\n return reply.type(\"text/html\").send(fs.readFileSync(path.join(webDir, \"index.html\"), \"utf-8\"));\n });\n\n // Serve static assets\n LatticeGateway.app.get(\"/assets/*\", (req, reply) => {\n const p = (req.url || \"\").split(\"?\")[0].replace(/^\\/+/, \"\");\n const filePath = path.join(webDir, p);\n if (!fs.existsSync(filePath)) return reply.status(404).send(\"Not found\");\n const ext = path.extname(filePath);\n const ct: Record<string, string> = { \".js\": \"application/javascript\", \".css\": \"text/css\", \".svg\": \"image/svg+xml\", \".png\": \"image/png\", \".ico\": \"image/x-icon\", \".json\": \"application/json\" };\n return reply.type(ct[ext] || \"application/octet-stream\").send(fs.readFileSync(filePath));\n });\n\n console.log(`[web] Chat UI: http://localhost:${options.port}`);\n } else {\n console.log(\"[web] Web UI files not found (build apps/cli-web first: cd apps/cli-web && pnpm build)\");\n }\n }\n\n // 5. Start gateway\n const DEFAULT_LOGGER_CONFIG: LoggerConfig = {\n name: \"default\",\n description: \"Lattice CLI local server\",\n type: LoggerType.PINO,\n serviceName: \"lattice/cli\",\n loggerName: \"lattice/cli\",\n };\n\n LatticeGateway.startAsHttpEndpoint({\n port: options.port,\n loggerConfig: DEFAULT_LOGGER_CONFIG,\n });\n\n // Graceful shutdown\n const shutdown = async () => {\n console.log(\"\\n[shutdown] Closing database and stopping server...\");\n closeDatabase();\n await LatticeGateway.app.close();\n process.exit(0);\n };\n\n process.on(\"SIGINT\", shutdown);\n process.on(\"SIGTERM\", shutdown);\n}\n","#!/usr/bin/env node\nimport { startServer, type LatticeCliOptions } from \"./server.js\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nfunction printHelp(): void {\n console.log(`\nlattice — Axiom Lattice local development server\n\nUsage:\n lattice [options]\n\nOptions:\n --port, -p <number> Server port (default: 4001)\n --db-path <path> SQLite database path (default: ~/.axiom/lattice.db)\n --sandbox-path <path> Sandbox base directory (default: ~/.axiom-local-sandbox)\n --web, -w Serve the chat web UI at /\n --help, -h Show this help\n\nExamples:\n lattice Start API-only on port 4001\n lattice --web Start with chat UI\n lattice -p 3000 --web Custom port with web UI\n lattice --db-path ./dev.db Custom database path\n`);\n}\n\nfunction parseArgs(): LatticeCliOptions | null {\n const args = process.argv.slice(2);\n\n if (args.includes(\"--help\") || args.includes(\"-h\")) {\n printHelp();\n return null;\n }\n\n const getArg = (flag: string): string | undefined => {\n const idx = args.findIndex((a) => a === flag);\n return idx !== -1 && args[idx + 1] ? args[idx + 1] : undefined;\n };\n\n const hasFlag = (flag: string): boolean => args.includes(flag);\n\n const portStr = getArg(\"--port\") ?? getArg(\"-p\");\n const port = portStr ? parseInt(portStr, 10) : 4001;\n\n return {\n port,\n dbPath: getArg(\"--db-path\") ?? path.join(os.homedir(), \".axiom\", \"lattice.db\"),\n sandboxBasePath: getArg(\"--sandbox-path\") ?? path.join(os.homedir(), \".axiom-local-sandbox\"),\n serveWeb: hasFlag(\"--web\") || hasFlag(\"-w\"),\n };\n}\n\nasync function main(): Promise<void> {\n const options = parseArgs();\n if (!options) return; // help printed\n\n try {\n await startServer(options);\n } catch (err) {\n console.error(\"Failed to start server:\", err);\n process.exit(1);\n }\n}\n\nmain();\n"],"mappings":"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","names":["path"]}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axiom-lattice/lattice-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.43",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"lattice": "./dist/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@axiom-lattice/core": "
|
|
11
|
-
"@axiom-lattice/gateway": "
|
|
12
|
-
"@axiom-lattice/local-stores": "
|
|
13
|
-
"@axiom-lattice/protocols": "
|
|
10
|
+
"@axiom-lattice/core": "10.0.0",
|
|
11
|
+
"@axiom-lattice/gateway": "8.0.0",
|
|
12
|
+
"@axiom-lattice/local-stores": "4.0.0",
|
|
13
|
+
"@axiom-lattice/protocols": "6.0.0"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@types/node": "^20.17.23",
|
package/src/server.ts
CHANGED
|
@@ -247,7 +247,6 @@ export async function startServer(options: LatticeCliOptions): Promise<void> {
|
|
|
247
247
|
|
|
248
248
|
LatticeGateway.startAsHttpEndpoint({
|
|
249
249
|
port: options.port,
|
|
250
|
-
queueServiceConfig: { type: "memory", defaultStartPollingQueue: true },
|
|
251
250
|
loggerConfig: DEFAULT_LOGGER_CONFIG,
|
|
252
251
|
});
|
|
253
252
|
|