@hasna/logs 0.3.22 → 0.3.24
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/LICENSE +1 -2
- package/README.md +3 -22
- package/bun.lock +7 -14
- package/dist/cli/index.js +2 -2
- package/dist/index-75dwghvv.js +625 -0
- package/dist/index-g8f8kep6.js +625 -0
- package/dist/{index-ssqkc6nh.js → index-pf8hpweg.js} +1 -1
- package/dist/{index-2tg9psrh.js → index-w24zm361.js} +2 -2
- package/dist/mcp/index.js +23801 -8266
- package/dist/server/index.js +2 -2
- package/package.json +4 -3
- package/sdk/package.json +3 -8
- package/src/cli/entrypoints.test.ts +1 -1
- package/src/db/index.ts +1 -1
- package/src/lib/cloud-sync.ts +167 -0
- package/src/lib/ingest.ts +3 -3
- package/src/lib/remote-storage.ts +45 -0
- package/src/mcp/index.ts +30 -33
- package/dist/http-1r4r23qf.js +0 -1236
- package/dist/index-5cj74qka.js +0 -10803
- package/dist/index-8pwbytc6.js +0 -1241
- package/dist/index-9n6bpjxf.js +0 -10787
- package/dist/index-hjzbctgt.js +0 -5868
- package/dist/index-hwabsrfh.js +0 -10742
- package/dist/index-sgg59p1t.js +0 -1241
- package/src/mcp/http.test.ts +0 -92
- package/src/mcp/http.ts +0 -128
package/LICENSE
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
Apache License
|
|
3
2
|
Version 2.0, January 2004
|
|
4
3
|
http://www.apache.org/licenses/
|
|
@@ -176,7 +175,7 @@
|
|
|
176
175
|
|
|
177
176
|
END OF TERMS AND CONDITIONS
|
|
178
177
|
|
|
179
|
-
Copyright 2026
|
|
178
|
+
Copyright 2026 hasna
|
|
180
179
|
|
|
181
180
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
182
181
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -32,36 +32,17 @@ logs-mcp
|
|
|
32
32
|
|
|
33
33
|
6 tools available.
|
|
34
34
|
|
|
35
|
-
## HTTP mode
|
|
36
|
-
|
|
37
|
-
Run a shared Streamable HTTP MCP server (127.0.0.1 only):
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
logs-mcp --http # default port 8820
|
|
41
|
-
logs-mcp --http --port 8820
|
|
42
|
-
MCP_HTTP=1 logs-mcp
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
- Health: `GET http://127.0.0.1:8820/health`
|
|
46
|
-
- MCP: `POST http://127.0.0.1:8820/mcp`
|
|
47
|
-
|
|
48
|
-
Stdio remains the default when no `--http` flag is passed.
|
|
49
|
-
|
|
50
35
|
## REST API
|
|
51
36
|
|
|
52
37
|
```bash
|
|
53
38
|
logs-serve
|
|
54
39
|
```
|
|
55
40
|
|
|
56
|
-
##
|
|
41
|
+
## Remote Sync
|
|
57
42
|
|
|
58
|
-
|
|
43
|
+
Logs stores data locally in SQLite and can optionally push/pull service-owned tables to PostgreSQL, including AWS RDS:
|
|
59
44
|
|
|
60
|
-
|
|
61
|
-
cloud setup
|
|
62
|
-
cloud sync push --service logs
|
|
63
|
-
cloud sync pull --service logs
|
|
64
|
-
```
|
|
45
|
+
Configure `HASNA_LOGS_CLOUD_DATABASE_URL` or `LOGS_CLOUD_DATABASE_URL`, then use the MCP tools `cloud_status`, `cloud_push`, `cloud_pull`, and `cloud_sync`.
|
|
65
46
|
|
|
66
47
|
## Data Directory
|
|
67
48
|
|
package/bun.lock
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
"": {
|
|
6
6
|
"name": "open-logs",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@
|
|
9
|
-
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
8
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
10
9
|
"commander": "^14.0.0",
|
|
11
10
|
"hono": "^4.7.11",
|
|
12
11
|
"ink": "^5.1.0",
|
|
13
12
|
"node-cron": "^3.0.3",
|
|
13
|
+
"pg": "^8.20.0",
|
|
14
14
|
"playwright": "^1.52.0",
|
|
15
15
|
"react": "^19.1.0",
|
|
16
16
|
},
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"@biomejs/biome": "^1.9.4",
|
|
19
19
|
"@types/bun": "latest",
|
|
20
20
|
"@types/node-cron": "^3.0.11",
|
|
21
|
+
"@types/pg": "^8.20.0",
|
|
21
22
|
"@types/react": "^19.1.4",
|
|
22
23
|
"typescript": "^5.9.3",
|
|
23
24
|
},
|
|
@@ -44,11 +45,9 @@
|
|
|
44
45
|
|
|
45
46
|
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@1.9.4", "", { "os": "win32", "cpu": "x64" }, "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA=="],
|
|
46
47
|
|
|
47
|
-
"@hasna/cloud": ["@hasna/cloud@0.1.30", "", { "dependencies": { "@modelcontextprotocol/sdk": "^1.12.1", "commander": "^13.1.0", "pg": "^8.13.3", "zod": "^3.24.2" }, "bin": { "cloud": "dist/cli/index.js", "cloud-mcp": "dist/mcp/index.js" } }, "sha512-qpDiJNsU/K1cFDk1l+xUA1xEEq8+Q37OdAz/ec0LwrQiA1HyWukzR8Lh7igkOqBT2foa46cxhB7yGnfiT2cWrA=="],
|
|
48
|
-
|
|
49
48
|
"@hono/node-server": ["@hono/node-server@1.19.11", "", { "peerDependencies": { "hono": "^4" } }, "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g=="],
|
|
50
49
|
|
|
51
|
-
"@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.
|
|
50
|
+
"@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.27.1", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA=="],
|
|
52
51
|
|
|
53
52
|
"@types/bun": ["@types/bun@1.3.10", "", { "dependencies": { "bun-types": "1.3.10" } }, "sha512-0+rlrUrOrTSskibryHbvQkDOWRJwJZqZlxrUs1u4oOoTln8+WIXBPmAuCF35SWB2z4Zl3E84Nl/D0P7803nigQ=="],
|
|
54
53
|
|
|
@@ -56,6 +55,8 @@
|
|
|
56
55
|
|
|
57
56
|
"@types/node-cron": ["@types/node-cron@3.0.11", "", {}, "sha512-0ikrnug3/IyneSHqCBeslAhlK2aBfYek1fGo4bP4QnZPmiqSGRK+Oy7ZMisLWkesffJvQ1cqAcBnJC+8+nxIAg=="],
|
|
58
57
|
|
|
58
|
+
"@types/pg": ["@types/pg@8.20.0", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow=="],
|
|
59
|
+
|
|
59
60
|
"@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="],
|
|
60
61
|
|
|
61
62
|
"accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="],
|
|
@@ -356,20 +357,12 @@
|
|
|
356
357
|
|
|
357
358
|
"yoga-layout": ["yoga-layout@3.2.1", "", {}, "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ=="],
|
|
358
359
|
|
|
359
|
-
"zod": ["zod@3.
|
|
360
|
+
"zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="],
|
|
360
361
|
|
|
361
362
|
"zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="],
|
|
362
363
|
|
|
363
|
-
"@hasna/cloud/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.27.1", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA=="],
|
|
364
|
-
|
|
365
|
-
"@hasna/cloud/commander": ["commander@13.1.0", "", {}, "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="],
|
|
366
|
-
|
|
367
|
-
"@modelcontextprotocol/sdk/zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="],
|
|
368
|
-
|
|
369
364
|
"cli-truncate/slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="],
|
|
370
365
|
|
|
371
366
|
"slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.1.0", "", { "dependencies": { "get-east-asian-width": "^1.3.1" } }, "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ=="],
|
|
372
|
-
|
|
373
|
-
"@hasna/cloud/@modelcontextprotocol/sdk/zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="],
|
|
374
367
|
}
|
|
375
368
|
}
|
package/dist/cli/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// @bun
|
|
3
3
|
import {
|
|
4
4
|
runJob
|
|
5
|
-
} from "../index-
|
|
5
|
+
} from "../index-pf8hpweg.js";
|
|
6
6
|
import {
|
|
7
7
|
PACKAGE_VERSION,
|
|
8
8
|
createPage,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
listProjects,
|
|
14
14
|
resolveProjectId,
|
|
15
15
|
summarizeLogs
|
|
16
|
-
} from "../index-
|
|
16
|
+
} from "../index-g8f8kep6.js";
|
|
17
17
|
import {
|
|
18
18
|
createJob,
|
|
19
19
|
listJobs
|