agentopia 1.0.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/.claude/settings.local.json +28 -0
- package/dist/app.d.ts +10 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +121 -0
- package/dist/app.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -0
- package/dist/db/database.d.ts +5 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/database.js +39 -0
- package/dist/db/database.js.map +1 -0
- package/dist/db/schema.d.ts +3 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +621 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +4 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +9 -0
- package/dist/logger.js.map +1 -0
- package/dist/middleware/auth.d.ts +13 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +733 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/routes/agents.d.ts +3 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +1058 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/routes/issues.d.ts +4 -0
- package/dist/routes/issues.d.ts.map +1 -0
- package/dist/routes/issues.js +946 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/knowledge.d.ts +3 -0
- package/dist/routes/knowledge.d.ts.map +1 -0
- package/dist/routes/knowledge.js +117 -0
- package/dist/routes/knowledge.js.map +1 -0
- package/dist/routes/memories.d.ts +3 -0
- package/dist/routes/memories.d.ts.map +1 -0
- package/dist/routes/memories.js +115 -0
- package/dist/routes/memories.js.map +1 -0
- package/dist/routes/messages.d.ts +3 -0
- package/dist/routes/messages.d.ts.map +1 -0
- package/dist/routes/messages.js +130 -0
- package/dist/routes/messages.js.map +1 -0
- package/dist/routes/projects.d.ts +3 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +754 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/templates.d.ts +3 -0
- package/dist/routes/templates.d.ts.map +1 -0
- package/dist/routes/templates.js +117 -0
- package/dist/routes/templates.js.map +1 -0
- package/dist/routes/ui.d.ts +3 -0
- package/dist/routes/ui.d.ts.map +1 -0
- package/dist/routes/ui.js +38 -0
- package/dist/routes/ui.js.map +1 -0
- package/dist/services/agent-hierarchy.d.ts +14 -0
- package/dist/services/agent-hierarchy.d.ts.map +1 -0
- package/dist/services/agent-hierarchy.js +58 -0
- package/dist/services/agent-hierarchy.js.map +1 -0
- package/dist/services/agent-issue-batch.d.ts +17 -0
- package/dist/services/agent-issue-batch.d.ts.map +1 -0
- package/dist/services/agent-issue-batch.js +57 -0
- package/dist/services/agent-issue-batch.js.map +1 -0
- package/dist/services/controller.d.ts +4 -0
- package/dist/services/controller.d.ts.map +1 -0
- package/dist/services/controller.js +237 -0
- package/dist/services/controller.js.map +1 -0
- package/dist/services/langgraph-runner.d.ts +33 -0
- package/dist/services/langgraph-runner.d.ts.map +1 -0
- package/dist/services/langgraph-runner.js +478 -0
- package/dist/services/langgraph-runner.js.map +1 -0
- package/dist/services/orchestrator.d.ts +9 -0
- package/dist/services/orchestrator.d.ts.map +1 -0
- package/dist/services/orchestrator.js +116 -0
- package/dist/services/orchestrator.js.map +1 -0
- package/dist/services/pre-controller.d.ts +7 -0
- package/dist/services/pre-controller.d.ts.map +1 -0
- package/dist/services/pre-controller.js +101 -0
- package/dist/services/pre-controller.js.map +1 -0
- package/dist/services/process-manager.d.ts +67 -0
- package/dist/services/process-manager.d.ts.map +1 -0
- package/dist/services/process-manager.js +938 -0
- package/dist/services/process-manager.js.map +1 -0
- package/dist/services/project-permissions.d.ts +84 -0
- package/dist/services/project-permissions.d.ts.map +1 -0
- package/dist/services/project-permissions.js +129 -0
- package/dist/services/project-permissions.js.map +1 -0
- package/dist/services/scheduler.d.ts +6 -0
- package/dist/services/scheduler.d.ts.map +1 -0
- package/dist/services/scheduler.js +300 -0
- package/dist/services/scheduler.js.map +1 -0
- package/dist/services/system-prompt.d.ts +3 -0
- package/dist/services/system-prompt.d.ts.map +1 -0
- package/dist/services/system-prompt.js +285 -0
- package/dist/services/system-prompt.js.map +1 -0
- package/dist/services/terminal.d.ts +18 -0
- package/dist/services/terminal.d.ts.map +1 -0
- package/dist/services/terminal.js +222 -0
- package/dist/services/terminal.js.map +1 -0
- package/dist/services/websocket.d.ts +15 -0
- package/dist/services/websocket.d.ts.map +1 -0
- package/dist/services/websocket.js +204 -0
- package/dist/services/websocket.js.map +1 -0
- package/dist/types.d.ts +108 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/env.ini +18 -0
- package/package.json +38 -0
- package/project_id +0 -0
- package/public/admin-users.html +188 -0
- package/public/agent.html +199 -0
- package/public/css/issues.css +275 -0
- package/public/css/style.css +1299 -0
- package/public/index.html +166 -0
- package/public/issue.html +76 -0
- package/public/js/agent.js +19 -0
- package/public/js/common.js +735 -0
- package/public/js/dashboard.js +772 -0
- package/public/js/files-panel.js +703 -0
- package/public/js/interactive-terminal.js +201 -0
- package/public/js/issue-renderer.js +559 -0
- package/public/js/issue.js +57 -0
- package/public/js/project.js +2425 -0
- package/public/js/terminal.js +564 -0
- package/public/project.html +430 -0
- package/public/terminal.html +67 -0
- package/public/vendor/marked.js +74 -0
- package/public/vendor/xterm-addon-fit.js +2 -0
- package/public/vendor/xterm.css +209 -0
- package/public/vendor/xterm.js +2 -0
- package/send_message_and_update_issue.js +65 -0
- package/tsconfig.json +19 -0
- package/update_round2_and_create_round3.js +284 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(npm --version)",
|
|
5
|
+
"Bash(npm install:*)",
|
|
6
|
+
"Bash(npx tsc:*)",
|
|
7
|
+
"Bash(node:*)",
|
|
8
|
+
"Bash(ARGUS_PORT=3099 timeout 3 node dist/index.js)",
|
|
9
|
+
"Bash(curl:*)",
|
|
10
|
+
"Edit",
|
|
11
|
+
"Write",
|
|
12
|
+
"Bash(python3 -m json.tool __NEW_LINE_395b83717ade2f42__ echo \"=== Logs \\(stdout only, last 5\\) ===\" curl -s -b \"$COOKIE\" \"$HOST/api/agents/$WORKER/logs?limit=20\")",
|
|
13
|
+
"Bash(kill -9 510143 509896)",
|
|
14
|
+
"Bash(kill -9 510554)",
|
|
15
|
+
"Bash(env -u LD_PRELOAD node -e \"fetch\\('http://127.0.0.1:4567/login'\\).then\\(r=>console.log\\('OK:',r.status\\)\\).catch\\(e=>console.log\\('FAIL:',e.cause?.code\\)\\)\")",
|
|
16
|
+
"Bash(grep \"fastify\\\\.\\(get\\\\|post\\\\|put\\\\|delete\\)\" /misc/projdata11/info_fil/zhfu/lin/argus/src/routes/*.ts)",
|
|
17
|
+
"Bash(grep -E \"fastify\\\\.\\(get|post|put|delete|patch\\)\\\\\\(\" /misc/projdata11/info_fil/zhfu/lin/argus/src/routes/*.ts)",
|
|
18
|
+
"Bash(grep -o \"app\\\\.\\\\\\(get\\\\|post\\\\|put\\\\|delete\\\\\\)\\(''''[^'''']*''''\" /misc/projdata11/info_fil/zhfu/lin/argus/src/routes/*.ts)",
|
|
19
|
+
"WebSearch",
|
|
20
|
+
"Bash(ls /misc/projdata11/info_fil/zhfu/lin/argus/argus.db*)",
|
|
21
|
+
"Bash(dmesg)",
|
|
22
|
+
"Bash(npx tsx:*)",
|
|
23
|
+
"WebFetch(domain:registry.npmjs.org)",
|
|
24
|
+
"WebFetch(domain:pypi.org)",
|
|
25
|
+
"WebFetch(domain:api.anaconda.org)"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FastifyInstance } from 'fastify';
|
|
2
|
+
export interface AppOptions {
|
|
3
|
+
port?: number;
|
|
4
|
+
host?: string;
|
|
5
|
+
logger?: boolean;
|
|
6
|
+
skipScheduler?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function createApp(opts?: AppOptions): Promise<FastifyInstance>;
|
|
9
|
+
export declare function destroyApp(fastify: FastifyInstance): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA2BnD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,SAAS,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAyE/E;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE"}
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createApp = createApp;
|
|
7
|
+
exports.destroyApp = destroyApp;
|
|
8
|
+
const fastify_1 = __importDefault(require("fastify"));
|
|
9
|
+
const websocket_1 = __importDefault(require("@fastify/websocket"));
|
|
10
|
+
const static_1 = __importDefault(require("@fastify/static"));
|
|
11
|
+
const multipart_1 = __importDefault(require("@fastify/multipart"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const config_1 = require("./config");
|
|
14
|
+
const database_1 = require("./db/database");
|
|
15
|
+
const auth_1 = require("./middleware/auth");
|
|
16
|
+
const projects_1 = require("./routes/projects");
|
|
17
|
+
const agents_1 = require("./routes/agents");
|
|
18
|
+
const issues_1 = require("./routes/issues");
|
|
19
|
+
const ui_1 = require("./routes/ui");
|
|
20
|
+
const knowledge_1 = require("./routes/knowledge");
|
|
21
|
+
const memories_1 = require("./routes/memories");
|
|
22
|
+
const messages_1 = require("./routes/messages");
|
|
23
|
+
const templates_1 = require("./routes/templates");
|
|
24
|
+
const websocket_2 = require("./services/websocket");
|
|
25
|
+
const scheduler_1 = require("./services/scheduler");
|
|
26
|
+
const process_manager_1 = require("./services/process-manager");
|
|
27
|
+
const controller_1 = require("./services/controller");
|
|
28
|
+
const scheduler_2 = require("./services/scheduler");
|
|
29
|
+
const terminal_1 = require("./services/terminal");
|
|
30
|
+
const websocket_3 = require("./services/websocket");
|
|
31
|
+
const pendingFinishTimers = new Set();
|
|
32
|
+
async function createApp(opts = {}) {
|
|
33
|
+
const port = opts.port ?? config_1.config.port;
|
|
34
|
+
const host = opts.host ?? config_1.config.host;
|
|
35
|
+
const fastify = (0, fastify_1.default)({ logger: opts.logger ?? true });
|
|
36
|
+
await fastify.register(multipart_1.default, { limits: { fileSize: 50 * 1024 * 1024 } });
|
|
37
|
+
await fastify.register(websocket_1.default);
|
|
38
|
+
await fastify.register(static_1.default, {
|
|
39
|
+
root: path_1.default.join(__dirname, '..', 'public'),
|
|
40
|
+
prefix: '/public/',
|
|
41
|
+
});
|
|
42
|
+
(0, auth_1.setupAuth)(fastify);
|
|
43
|
+
(0, projects_1.registerProjectRoutes)(fastify);
|
|
44
|
+
(0, agents_1.registerAgentRoutes)(fastify);
|
|
45
|
+
(0, issues_1.registerIssueRoutes)(fastify);
|
|
46
|
+
(0, knowledge_1.registerKnowledgeRoutes)(fastify);
|
|
47
|
+
(0, memories_1.registerMemoryRoutes)(fastify);
|
|
48
|
+
(0, messages_1.registerMessageRoutes)(fastify);
|
|
49
|
+
(0, templates_1.registerTemplateRoutes)(fastify);
|
|
50
|
+
(0, ui_1.registerUIRoutes)(fastify);
|
|
51
|
+
(0, websocket_2.setupWebSocket)(fastify);
|
|
52
|
+
(0, database_1.getDatabase)();
|
|
53
|
+
(0, process_manager_1.setOnAgentFinish)((agent, exitCode) => {
|
|
54
|
+
try {
|
|
55
|
+
const db = (0, database_1.getDatabase)();
|
|
56
|
+
const project = db.prepare('SELECT * FROM projects WHERE id = ?').get(agent.project_id);
|
|
57
|
+
if (!project || project.status !== 'active')
|
|
58
|
+
return;
|
|
59
|
+
if (!agent.is_controller) {
|
|
60
|
+
// Worker finished — only trigger controller if there are issues that
|
|
61
|
+
// genuinely need controller attention (unassigned, errored workers, etc.)
|
|
62
|
+
// System-level auto-assign and issue scan handle most cases now.
|
|
63
|
+
const needsController = db.prepare(`
|
|
64
|
+
SELECT 1 FROM issues WHERE project_id = ? AND status IN ('open', 'in_progress')
|
|
65
|
+
AND (assigned_to IS NULL OR assigned_to = 'all'
|
|
66
|
+
OR assigned_to IN (SELECT id FROM agents WHERE project_id = ? AND is_controller = 1))
|
|
67
|
+
LIMIT 1
|
|
68
|
+
`).get(project.id, project.id);
|
|
69
|
+
if (needsController) {
|
|
70
|
+
const timer = setTimeout(() => {
|
|
71
|
+
pendingFinishTimers.delete(timer);
|
|
72
|
+
if (!(0, database_1.isDatabaseOpen)())
|
|
73
|
+
return;
|
|
74
|
+
try {
|
|
75
|
+
(0, controller_1.triggerControllerAgent)(project);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
fastify.log.error(e, 'Failed to trigger controller agent');
|
|
79
|
+
}
|
|
80
|
+
}, 2000);
|
|
81
|
+
pendingFinishTimers.add(timer);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
fastify.log.warn(e, 'Failed to handle agent finish (DB may be closed)');
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
if (!opts.skipScheduler) {
|
|
90
|
+
(0, scheduler_1.initializeScheduler)();
|
|
91
|
+
}
|
|
92
|
+
await fastify.listen({ port, host });
|
|
93
|
+
// If port 0 was requested, the OS assigned a random port. Update config.port
|
|
94
|
+
// and process.env.ARGUS_PORT so that system prompts and spawned agents get
|
|
95
|
+
// the real port.
|
|
96
|
+
const addr = fastify.server.address();
|
|
97
|
+
if (addr && typeof addr === 'object' && addr.port) {
|
|
98
|
+
config_1.config.port = addr.port;
|
|
99
|
+
process.env.ARGUS_PORT = String(addr.port);
|
|
100
|
+
}
|
|
101
|
+
return fastify;
|
|
102
|
+
}
|
|
103
|
+
async function destroyApp(fastify) {
|
|
104
|
+
// Clear onAgentFinish callback to prevent new async activity during shutdown
|
|
105
|
+
(0, process_manager_1.setOnAgentFinish)(null);
|
|
106
|
+
// Cancel any pending triggerControllerAgent timers (from onAgentFinish and issue routes)
|
|
107
|
+
for (const timer of pendingFinishTimers)
|
|
108
|
+
clearTimeout(timer);
|
|
109
|
+
pendingFinishTimers.clear();
|
|
110
|
+
(0, issues_1.clearPendingControllerTriggerTimers)();
|
|
111
|
+
(0, scheduler_2.stopAllSchedulers)();
|
|
112
|
+
await (0, process_manager_1.stopAllProcesses)();
|
|
113
|
+
(0, websocket_3.clearAllPtyCleanupTimers)();
|
|
114
|
+
(0, terminal_1.killAllPtySessions)();
|
|
115
|
+
await fastify.close();
|
|
116
|
+
// Unref the underlying HTTP server so it doesn't keep the event loop alive
|
|
117
|
+
// after close (Fastify's close() stops listening but the handle remains ref'd)
|
|
118
|
+
fastify.server.unref();
|
|
119
|
+
(0, database_1.closeDatabase)();
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.config = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
function normalizeOrchestratorEngine(value) {
|
|
9
|
+
return value?.toLowerCase() === 'native' ? 'native' : 'langgraph';
|
|
10
|
+
}
|
|
11
|
+
exports.config = {
|
|
12
|
+
port: parseInt(process.env.ARGUS_PORT || '4567', 10),
|
|
13
|
+
host: process.env.ARGUS_HOST || '0.0.0.0',
|
|
14
|
+
dbPath: process.env.ARGUS_DB_PATH || path_1.default.join(__dirname, '..', 'data', 'argus.db'),
|
|
15
|
+
defaultCommandTemplate: 'cld',
|
|
16
|
+
defaultOrchestratorEngine: normalizeOrchestratorEngine(process.env.ARGUS_ORCHESTRATOR_ENGINE),
|
|
17
|
+
logRetentionDays: 30,
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,SAAS,2BAA2B,CAAC,KAAyB;IAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;AACpE,CAAC;AAEY,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,SAAS;IACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;IACnF,sBAAsB,EAAE,KAAK;IAC7B,yBAAyB,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC7F,gBAAgB,EAAE,EAAE;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAStC,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAY9D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAMpC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getDatabase = getDatabase;
|
|
7
|
+
exports.isDatabaseOpen = isDatabaseOpen;
|
|
8
|
+
exports.closeDatabase = closeDatabase;
|
|
9
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const config_1 = require("../config");
|
|
13
|
+
const schema_1 = require("./schema");
|
|
14
|
+
let db;
|
|
15
|
+
let currentDbPath;
|
|
16
|
+
function getDatabase(dbPath) {
|
|
17
|
+
const targetPath = dbPath || currentDbPath || config_1.config.dbPath;
|
|
18
|
+
if (!db) {
|
|
19
|
+
const dir = path_1.default.dirname(targetPath);
|
|
20
|
+
if (!fs_1.default.existsSync(dir)) {
|
|
21
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
db = new better_sqlite3_1.default(targetPath);
|
|
24
|
+
currentDbPath = targetPath;
|
|
25
|
+
(0, schema_1.initializeDatabase)(db);
|
|
26
|
+
}
|
|
27
|
+
return db;
|
|
28
|
+
}
|
|
29
|
+
function isDatabaseOpen() {
|
|
30
|
+
return db != null && db.open;
|
|
31
|
+
}
|
|
32
|
+
function closeDatabase() {
|
|
33
|
+
if (db) {
|
|
34
|
+
db.close();
|
|
35
|
+
db = undefined;
|
|
36
|
+
currentDbPath = undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":";;;;;AASA,kCAYC;AAED,wCAEC;AAED,sCAMC;AAjCD,oEAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AACpB,sCAAmC;AACnC,qCAA8C;AAE9C,IAAI,EAAqB,CAAC;AAC1B,IAAI,aAAiC,CAAC;AAEtC,SAAgB,WAAW,CAAC,MAAe;IACzC,MAAM,UAAU,GAAG,MAAM,IAAI,aAAa,IAAI,eAAM,CAAC,MAAM,CAAC;IAC5D,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE,GAAG,IAAI,wBAAQ,CAAC,UAAU,CAAC,CAAC;QAC9B,aAAa,GAAG,UAAU,CAAC;QAC3B,IAAA,2BAAkB,EAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,cAAc;IAC5B,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,SAAgB,aAAa;IAC3B,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,SAAgB,CAAC;QACtB,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA4oB9D"}
|