@bytespell/amux 0.0.5 → 0.0.8
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/dist/chunk-C73RKCTS.js +36 -0
- package/dist/chunk-C73RKCTS.js.map +1 -0
- package/dist/chunk-VVXT4HQM.js +779 -0
- package/dist/chunk-VVXT4HQM.js.map +1 -0
- package/dist/lib/logger.d.ts +24 -0
- package/dist/{src/lib → lib}/logger.js +1 -2
- package/dist/lib/mentions.d.ts +14 -0
- package/dist/lib/mentions.js +7 -0
- package/dist/streams/backends/index.d.ts +88 -0
- package/dist/streams/backends/index.js +13 -0
- package/dist/streams/manager.d.ts +55 -0
- package/dist/streams/manager.js +248 -0
- package/dist/streams/manager.js.map +1 -0
- package/dist/types-DV6-SxsB.d.ts +192 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.js +33 -0
- package/dist/types.js.map +1 -0
- package/package.json +7 -36
- package/dist/bin/cli.js +0 -28
- package/dist/bin/cli.js.map +0 -1
- package/dist/chunk-226DBKL3.js +0 -26
- package/dist/chunk-226DBKL3.js.map +0 -1
- package/dist/chunk-2NON2HR2.js +0 -1602
- package/dist/chunk-2NON2HR2.js.map +0 -1
- package/dist/chunk-L4DBPVMA.js +0 -122
- package/dist/chunk-L4DBPVMA.js.map +0 -1
- package/dist/chunk-OQ5K5ON2.js +0 -319
- package/dist/chunk-OQ5K5ON2.js.map +0 -1
- package/dist/chunk-PZ5AY32C.js +0 -10
- package/dist/chunk-SX7NC3ZM.js +0 -65
- package/dist/chunk-SX7NC3ZM.js.map +0 -1
- package/dist/chunk-YYN3GXYP.js +0 -333
- package/dist/chunk-YYN3GXYP.js.map +0 -1
- package/dist/src/agents/eventStore.js +0 -22
- package/dist/src/agents/eventStore.js.map +0 -1
- package/dist/src/agents/manager.js +0 -12
- package/dist/src/agents/manager.js.map +0 -1
- package/dist/src/db/index.js +0 -10
- package/dist/src/server.js +0 -16
- package/dist/src/server.js.map +0 -1
- package/dist/src/trpc/files.js +0 -11
- package/dist/src/trpc/files.js.map +0 -1
- package/dist/src/types.js +0 -12
- package/dist/src/types.js.map +0 -1
- /package/dist/{src/lib → lib}/logger.js.map +0 -0
- /package/dist/{chunk-PZ5AY32C.js.map → lib/mentions.js.map} +0 -0
- /package/dist/{src/db → streams/backends}/index.js.map +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// src/lib/mentions.ts
|
|
2
|
+
import path from "path";
|
|
3
|
+
function parseMessageToContentBlocks(message, workingDir) {
|
|
4
|
+
const blocks = [];
|
|
5
|
+
const mentionRegex = /@(\.{0,2}[\w\/\.\-]+)/g;
|
|
6
|
+
let lastIndex = 0;
|
|
7
|
+
for (const match of message.matchAll(mentionRegex)) {
|
|
8
|
+
if (match.index > lastIndex) {
|
|
9
|
+
const text = message.slice(lastIndex, match.index);
|
|
10
|
+
if (text.trim()) {
|
|
11
|
+
blocks.push({ type: "text", text });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const relativePath = match[1];
|
|
15
|
+
const absolutePath = path.resolve(workingDir, relativePath);
|
|
16
|
+
blocks.push({
|
|
17
|
+
type: "resource_link",
|
|
18
|
+
uri: `file://${absolutePath}`,
|
|
19
|
+
name: relativePath
|
|
20
|
+
// Required per ACP spec - use the path the user typed
|
|
21
|
+
});
|
|
22
|
+
lastIndex = match.index + match[0].length;
|
|
23
|
+
}
|
|
24
|
+
if (lastIndex < message.length) {
|
|
25
|
+
const text = message.slice(lastIndex);
|
|
26
|
+
if (text.trim()) {
|
|
27
|
+
blocks.push({ type: "text", text });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return blocks.length > 0 ? blocks : [{ type: "text", text: message }];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
parseMessageToContentBlocks
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=chunk-C73RKCTS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/mentions.ts"],"sourcesContent":["import type { ContentBlock } from '../types.js';\nimport path from 'path';\n\n/**\n * Parse message text with @mentions into ContentBlock array.\n * @mentions become resource_link blocks, other text becomes text blocks.\n *\n * Examples:\n * - \"hello world\" → [{ type: 'text', text: 'hello world' }]\n * - \"@src/foo.ts\" → [{ type: 'resource_link', uri: 'file://...', name: 'src/foo.ts' }]\n * - \"check @src/foo.ts for bugs\" → text + resource_link + text\n */\nexport function parseMessageToContentBlocks(\n message: string,\n workingDir: string\n): ContentBlock[] {\n const blocks: ContentBlock[] = [];\n // Match @path/to/file.ts, @./local.ts, @../parent/file.ts\n // Allows leading ./ or ../ followed by path characters\n const mentionRegex = /@(\\.{0,2}[\\w\\/\\.\\-]+)/g;\n\n let lastIndex = 0;\n for (const match of message.matchAll(mentionRegex)) {\n // Add text before mention\n if (match.index! > lastIndex) {\n const text = message.slice(lastIndex, match.index);\n if (text.trim()) {\n blocks.push({ type: 'text', text });\n }\n }\n\n // Add resource_link for mention\n const relativePath = match[1];\n const absolutePath = path.resolve(workingDir, relativePath);\n blocks.push({\n type: 'resource_link',\n uri: `file://${absolutePath}`,\n name: relativePath, // Required per ACP spec - use the path the user typed\n });\n\n lastIndex = match.index! + match[0].length;\n }\n\n // Add remaining text\n if (lastIndex < message.length) {\n const text = message.slice(lastIndex);\n if (text.trim()) {\n blocks.push({ type: 'text', text });\n }\n }\n\n // If no mentions found, return single text block\n return blocks.length > 0 ? blocks : [{ type: 'text', text: message }];\n}\n"],"mappings":";AACA,OAAO,UAAU;AAWV,SAAS,4BACd,SACA,YACgB;AAChB,QAAM,SAAyB,CAAC;AAGhC,QAAM,eAAe;AAErB,MAAI,YAAY;AAChB,aAAW,SAAS,QAAQ,SAAS,YAAY,GAAG;AAElD,QAAI,MAAM,QAAS,WAAW;AAC5B,YAAM,OAAO,QAAQ,MAAM,WAAW,MAAM,KAAK;AACjD,UAAI,KAAK,KAAK,GAAG;AACf,eAAO,KAAK,EAAE,MAAM,QAAQ,KAAK,CAAC;AAAA,MACpC;AAAA,IACF;AAGA,UAAM,eAAe,MAAM,CAAC;AAC5B,UAAM,eAAe,KAAK,QAAQ,YAAY,YAAY;AAC1D,WAAO,KAAK;AAAA,MACV,MAAM;AAAA,MACN,KAAK,UAAU,YAAY;AAAA,MAC3B,MAAM;AAAA;AAAA,IACR,CAAC;AAED,gBAAY,MAAM,QAAS,MAAM,CAAC,EAAE;AAAA,EACtC;AAGA,MAAI,YAAY,QAAQ,QAAQ;AAC9B,UAAM,OAAO,QAAQ,MAAM,SAAS;AACpC,QAAI,KAAK,KAAK,GAAG;AACf,aAAO,KAAK,EAAE,MAAM,QAAQ,KAAK,CAAC;AAAA,IACpC;AAAA,EACF;AAGA,SAAO,OAAO,SAAS,IAAI,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AACtE;","names":[]}
|