@agimon-ai/log-sink-mcp 0.15.2 → 0.17.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 +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/node-8WCVGqP8.cjs +2 -0
- package/dist/node-8WCVGqP8.cjs.map +1 -0
- package/dist/node-CDgGdaiP.mjs +2 -0
- package/dist/node-CDgGdaiP.mjs.map +1 -0
- package/dist/{stdio-CK0Xyx20.cjs → stdio-C9M_nf4d.cjs} +21 -21
- package/dist/stdio-C9M_nf4d.cjs.map +1 -0
- package/dist/stdio-S6huBUSl.mjs +316 -0
- package/dist/stdio-S6huBUSl.mjs.map +1 -0
- package/dist/telemetry/node.cjs +1 -1
- package/dist/telemetry/node.d.cts +30 -3
- package/dist/telemetry/node.d.mts +30 -3
- package/dist/telemetry/node.mjs +1 -1
- package/package.json +4 -4
- package/dist/chunk-Bmb41Sf3.cjs +0 -1
- package/dist/node-BgUf07b9.cjs +0 -2
- package/dist/node-BgUf07b9.cjs.map +0 -1
- package/dist/node-DUklKxWP.mjs +0 -2
- package/dist/node-DUklKxWP.mjs.map +0 -1
- package/dist/stdio-CK0Xyx20.cjs.map +0 -1
- package/dist/stdio-D925D6k3.mjs +0 -316
- package/dist/stdio-D925D6k3.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -294,7 +294,7 @@ Hybrid search across log messages and error messages. By default it combines:
|
|
|
294
294
|
- Local semantic similarity from cached embeddings
|
|
295
295
|
|
|
296
296
|
**Parameters:**
|
|
297
|
-
- `searchQuery`: string (required) - Text to search for
|
|
297
|
+
- `searchQuery`: string (required) - Text to search for. Common punctuation such as hyphens is escaped safely; quoted phrases, prefix matching with `*`, and boolean operators `AND`/`OR`/`NOT` are supported.
|
|
298
298
|
- `mode?`: string - `hybrid` (default), `fts`, or `semantic`
|
|
299
299
|
- `service?`: string or string[] - Filter by service name
|
|
300
300
|
- `level?`: string or string[] - Filter by log level
|
package/dist/cli.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const e=require(`./
|
|
2
|
+
const e=require(`./node-8WCVGqP8.cjs`),t=require(`./stdio-C9M_nf4d.cjs`);let n=require(`zod`),r=require(`node:fs`),i=require(`node:fs/promises`);i=e.o(i,1);let a=require(`node:path`),o=require(`node:url`),s=require(`@agimon-ai/foundation-port-registry`),c=require(`@agimon-ai/foundation-process-registry`),l=require(`commander`),u=require(`@hono/node-server`),d=require(`hono`),f=require(`hono-rate-limiter`),p=require(`hono/cors`),m=require(`hono/html`),h=require(`hono/jsx/jsx-runtime`),g=function(e){return e.TRACE=`trace`,e.DEBUG=`debug`,e.INFO=`info`,e.WARN=`warn`,e.ERROR=`error`,e.FATAL=`fatal`,e}({});const _=[`error`,`fatal`];function v(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return null}}function y(e){if(e==null)return`unknown`;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function b(e){return e.hook_event_name===`PostToolUseFailure`?`Current tool failure:\n- Tool: ${e.tool_name??`unknown tool`}\n- Error: ${y(e.error)}`:null}function x(e,t,n){let r=new Map;for(let t of e){let e=`${t.service}::${t.level}::${t.error_type??``}::${t.error_message??t.message}`,i=new Date(Number(t.created_at)*1e3).toISOString();r.has(e)||r.set(e,{key:e,count:0,service:t.service,level:t.level,errorType:t.error_type,errorMessage:t.error_message,message:t.message,firstSeen:i,lastSeen:i,traceIds:new Set,examples:[]});let a=r.get(e);a.count+=1,a.lastSeen=i,t.trace_id&&a.traceIds.add(t.trace_id),a.examples.length<n&&a.examples.push({id:t.id,timestamp:i,traceId:t.trace_id})}return Array.from(r.values()).sort((e,t)=>t.count-e.count||t.lastSeen.localeCompare(e.lastSeen)).slice(0,t)}function ee(e,t,n,r){let i=x(e,n,r),a=[];a.push(`Recent log errors (${e.length} new):`),t.tool_name&&a.push(`- Triggered after tool: ${t.tool_name}`);for(let[e,t]of i.entries()){a.push(`${e+1}. ${t.service} [${t.level}] x${t.count} ${t.errorType?`(${t.errorType}) `:``}${t.errorMessage??t.message}`),a.push(` First seen: ${t.firstSeen}`),a.push(` Last seen: ${t.lastSeen}`),t.traceIds.size>0&&a.push(` Trace IDs: ${Array.from(t.traceIds).slice(0,3).join(`, `)}`);for(let e of t.examples)a.push(` Example: ${e.timestamp} id=${e.id}${e.traceId?` trace=${e.traceId}`:``}`)}if(t.hook_event_name===`PostToolUseFailure`){let e=b(t);e&&a.push(``,e)}return a.join(`
|
|
3
3
|
`)}function S(e){if(e.session_id?.trim())return(0,s.normalizeRepositoryPath)(t.m(e.cwd?.trim()||process.cwd()))}async function te(e,n){if(n.dbPath)return(0,r.existsSync)(n.dbPath)?n.dbPath:void 0;let i=process.env,a=S(e);if(!a)return;let o=new s.PortRegistryService(i.PORT_REGISTRY_PATH??s.DEFAULT_REGISTRY_PATH);try{let e=await o.getPort({repositoryPath:a,serviceName:`log-sink-mcp-http`,serviceType:`tool`,environment:i.NODE_ENV||`development`}),t=e.record?.metadata?.dbPath;if(e.success&&typeof t==`string`&&t&&(0,r.existsSync)(t))return t}catch{}let c=t.p(e.cwd??process.cwd());return(0,r.existsSync)(c)?c:void 0}async function ne(e,t,n,r,i){let a=e.getSqliteClient(),o=Math.floor((Date.now()-n*60*1e3)/1e3),s=``;if(t){let e=a.prepare(`
|
|
4
4
|
SELECT id, created_at
|
|
5
5
|
FROM logs
|