@visorcraft/idlehands 2.0.2 → 2.1.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.
Files changed (43) hide show
  1. package/dist/agent/prompt-builder.js +188 -0
  2. package/dist/agent/prompt-builder.js.map +1 -0
  3. package/dist/agent/query-classifier.js +72 -0
  4. package/dist/agent/query-classifier.js.map +1 -0
  5. package/dist/agent/resilient-provider.js +170 -0
  6. package/dist/agent/resilient-provider.js.map +1 -0
  7. package/dist/agent/response-cache.js +124 -0
  8. package/dist/agent/response-cache.js.map +1 -0
  9. package/dist/agent/semantic-search.js +138 -0
  10. package/dist/agent/semantic-search.js.map +1 -0
  11. package/dist/agent/tool-calls.js +261 -1
  12. package/dist/agent/tool-calls.js.map +1 -1
  13. package/dist/agent/tool-name-alias.js +140 -0
  14. package/dist/agent/tool-name-alias.js.map +1 -0
  15. package/dist/agent.js +146 -43
  16. package/dist/agent.js.map +1 -1
  17. package/dist/anton/controller.js +165 -48
  18. package/dist/anton/controller.js.map +1 -1
  19. package/dist/anton/preflight.js +49 -9
  20. package/dist/anton/preflight.js.map +1 -1
  21. package/dist/anton/prompt.js +20 -0
  22. package/dist/anton/prompt.js.map +1 -1
  23. package/dist/anton/reporter.js +6 -1
  24. package/dist/anton/reporter.js.map +1 -1
  25. package/dist/bot/ux/discord-renderer.js +5 -21
  26. package/dist/bot/ux/discord-renderer.js.map +1 -1
  27. package/dist/bot/ux/emitter.js +104 -0
  28. package/dist/bot/ux/emitter.js.map +1 -0
  29. package/dist/bot/ux/telegram-renderer.js +5 -21
  30. package/dist/bot/ux/telegram-renderer.js.map +1 -1
  31. package/dist/client.js +51 -7
  32. package/dist/client.js.map +1 -1
  33. package/dist/harnesses.js +2 -0
  34. package/dist/harnesses.js.map +1 -1
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/model-customization.js +3 -1
  38. package/dist/model-customization.js.map +1 -1
  39. package/dist/security/leak-detector.js +109 -0
  40. package/dist/security/leak-detector.js.map +1 -0
  41. package/dist/security/prompt-guard.js +120 -0
  42. package/dist/security/prompt-guard.js.map +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Lightweight Semantic Scoring for Vault Search
3
+ *
4
+ * Adds TF-IDF cosine similarity scoring on top of FTS5 keyword matching
5
+ * to improve vault search quality without requiring external embedding
6
+ * services or GPU-accelerated vector search.
7
+ *
8
+ * This is a pure-JS implementation that:
9
+ * 1. Tokenizes query and document text
10
+ * 2. Computes TF-IDF vectors
11
+ * 3. Ranks by cosine similarity
12
+ * 4. Blends with FTS5 BM25 scores for final ranking
13
+ *
14
+ * For full vector embeddings (transformers/API-based), see the optional
15
+ * EmbeddingProvider interface below.
16
+ */
17
+ // ── Tokenizer ────────────────────────────────────────────────────────────
18
+ const STOP_WORDS = new Set([
19
+ 'a', 'an', 'and', 'are', 'as', 'at', 'be', 'but', 'by', 'do', 'for',
20
+ 'from', 'had', 'has', 'have', 'he', 'her', 'him', 'his', 'how', 'i',
21
+ 'if', 'in', 'into', 'is', 'it', 'its', 'just', 'me', 'my', 'no',
22
+ 'nor', 'not', 'of', 'on', 'or', 'our', 'out', 'own', 'say', 'she',
23
+ 'so', 'some', 'than', 'that', 'the', 'their', 'them', 'then', 'there',
24
+ 'these', 'they', 'this', 'to', 'too', 'up', 'us', 'was', 'we', 'were',
25
+ 'what', 'when', 'where', 'which', 'who', 'whom', 'why', 'will', 'with',
26
+ 'would', 'you', 'your',
27
+ ]);
28
+ /**
29
+ * Tokenize and normalize text for similarity comparison.
30
+ * Returns unique lowercase terms with stopwords removed.
31
+ */
32
+ export function tokenize(text) {
33
+ const tokens = text
34
+ .toLowerCase()
35
+ .replace(/[^a-z0-9_.-]/g, ' ')
36
+ .split(/\s+/)
37
+ .filter((t) => t.length > 1 && !STOP_WORDS.has(t));
38
+ return [...new Set(tokens)];
39
+ }
40
+ /**
41
+ * Compute TF (term frequency) for a token array.
42
+ */
43
+ function computeTf(tokens) {
44
+ const tf = new Map();
45
+ for (const t of tokens) {
46
+ tf.set(t, (tf.get(t) ?? 0) + 1);
47
+ }
48
+ // Normalize by total tokens
49
+ const total = tokens.length || 1;
50
+ for (const [k, v] of tf) {
51
+ tf.set(k, v / total);
52
+ }
53
+ return tf;
54
+ }
55
+ /**
56
+ * Compute IDF (inverse document frequency) across a corpus.
57
+ */
58
+ function computeIdf(corpus) {
59
+ const docCount = corpus.length || 1;
60
+ const df = new Map();
61
+ for (const tokens of corpus) {
62
+ const unique = new Set(tokens);
63
+ for (const t of unique) {
64
+ df.set(t, (df.get(t) ?? 0) + 1);
65
+ }
66
+ }
67
+ const idf = new Map();
68
+ for (const [term, count] of df) {
69
+ idf.set(term, Math.log(docCount / (count + 1)) + 1);
70
+ }
71
+ return idf;
72
+ }
73
+ /**
74
+ * Compute TF-IDF vector for a token array given precomputed IDF values.
75
+ */
76
+ function tfidfVector(tokens, idf) {
77
+ const tf = computeTf(tokens);
78
+ const vec = new Map();
79
+ for (const [term, tfVal] of tf) {
80
+ const idfVal = idf.get(term) ?? 1;
81
+ vec.set(term, tfVal * idfVal);
82
+ }
83
+ return vec;
84
+ }
85
+ /**
86
+ * Cosine similarity between two sparse vectors.
87
+ */
88
+ function cosineSimilarity(a, b) {
89
+ let dot = 0;
90
+ let normA = 0;
91
+ let normB = 0;
92
+ for (const [k, v] of a) {
93
+ normA += v * v;
94
+ const bv = b.get(k);
95
+ if (bv !== undefined)
96
+ dot += v * bv;
97
+ }
98
+ for (const [, v] of b) {
99
+ normB += v * v;
100
+ }
101
+ const denom = Math.sqrt(normA) * Math.sqrt(normB);
102
+ return denom === 0 ? 0 : dot / denom;
103
+ }
104
+ /**
105
+ * Re-rank search results using TF-IDF cosine similarity.
106
+ *
107
+ * Blends the original score (e.g., BM25 from FTS5) with a semantic
108
+ * similarity score computed via TF-IDF cosine distance.
109
+ *
110
+ * @param query - Search query text
111
+ * @param results - Results with their original scores and text content
112
+ * @param options - Tuning parameters
113
+ */
114
+ export function semanticRerank(query, results, options = {}) {
115
+ const { semanticWeight = 0.4, limit = results.length } = options;
116
+ const originalWeight = 1 - semanticWeight;
117
+ if (results.length === 0)
118
+ return [];
119
+ const queryTokens = tokenize(query);
120
+ const docTokens = results.map((r) => tokenize(r.text));
121
+ // Include query in corpus for IDF computation
122
+ const corpus = [queryTokens, ...docTokens];
123
+ const idf = computeIdf(corpus);
124
+ const queryVec = tfidfVector(queryTokens, idf);
125
+ const scored = results.map((r, i) => {
126
+ const docVec = tfidfVector(docTokens[i], idf);
127
+ const semanticScore = cosineSimilarity(queryVec, docVec);
128
+ // Normalize original score to 0-1 range (BM25 scores are typically negative, lower = better)
129
+ const origScore = r.originalScore ?? 0;
130
+ const normalizedOrig = origScore <= 0 ? 1 / (1 + Math.abs(origScore)) : origScore;
131
+ const combinedScore = originalWeight * normalizedOrig + semanticWeight * semanticScore;
132
+ return { item: r.item, score: combinedScore, semanticScore };
133
+ });
134
+ // Sort by combined score descending
135
+ scored.sort((a, b) => b.score - a.score);
136
+ return scored.slice(0, limit);
137
+ }
138
+ //# sourceMappingURL=semantic-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../src/agent/semantic-search.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,39 @@
1
+ import { resolveToolAlias, defaultParamForTool } from './tool-name-alias.js';
1
2
  /** @internal Exported for testing. Parses tool calls from model content when tool_calls array is empty. */
2
3
  export function parseToolCallsFromContent(content) {
4
+ const result = parseToolCallsFromContentRaw(content);
5
+ return result ? applyAliasesToToolCalls(result) : null;
6
+ }
7
+ /**
8
+ * Apply tool name aliasing to parsed tool calls.
9
+ * Resolves common model hallucinations (bash→exec, file_read→read_file, etc.).
10
+ */
11
+ function applyAliasesToToolCalls(calls) {
12
+ return calls.map((tc) => {
13
+ const alias = resolveToolAlias(tc.function.name);
14
+ if (!alias.wasAliased)
15
+ return tc;
16
+ return {
17
+ ...tc,
18
+ function: {
19
+ ...tc.function,
20
+ name: alias.resolved,
21
+ },
22
+ };
23
+ });
24
+ }
25
+ /** Raw parser (no aliasing applied). */
26
+ function parseToolCallsFromContentRaw(content) {
3
27
  // Fallback parser: if model printed JSON tool_calls in content.
4
- const trimmed = stripMarkdownFences(content.trim()).trim();
28
+ //
29
+ // Run markdown tool-block parsers on raw content BEFORE stripping
30
+ // fences, because stripMarkdownFences will destroy the ```tool <name>
31
+ // structure that we need to identify the tool name.
32
+ const rawTrimmed = content.trim();
33
+ const mdToolCalls = parseMarkdownToolCallBlocks(rawTrimmed);
34
+ if (mdToolCalls?.length)
35
+ return mdToolCalls;
36
+ const trimmed = stripMarkdownFences(rawTrimmed).trim();
5
37
  const tryParse = (s) => {
6
38
  try {
7
39
  return JSON.parse(s);
@@ -167,6 +199,19 @@ export function parseToolCallsFromContent(content) {
167
199
  const fnTagCalls = parseFunctionTagToolCalls(trimmed);
168
200
  if (fnTagCalls?.length)
169
201
  return fnTagCalls;
202
+ // Case 6: MiniMax-style XML invoke tags
203
+ // <invoke name="shell"><parameter name="command">ls</parameter></invoke>
204
+ // optionally wrapped in <minimax:toolcall>...</minimax:toolcall>
205
+ const invokeTagCalls = parseInvokeTagToolCalls(trimmed);
206
+ if (invokeTagCalls?.length)
207
+ return invokeTagCalls;
208
+ // Case 7: GLM-style shortened format
209
+ // shell/command>ls -la
210
+ // file_read/path>src/main.ts
211
+ // shell>uname -a (uses default param for tool)
212
+ const glmCalls = parseGlmStyleToolCalls(trimmed);
213
+ if (glmCalls?.length)
214
+ return glmCalls;
170
215
  return null;
171
216
  }
172
217
  /**
@@ -587,4 +632,219 @@ export function parseJsonArgs(raw) {
587
632
  }
588
633
  }
589
634
  }
635
+ // ─────────────────────────────────────────────────────────────────────────────
636
+ // Additional format parsers (inspired by ZeroClaw's multi-format recovery)
637
+ // ─────────────────────────────────────────────────────────────────────────────
638
+ /**
639
+ * Parse markdown code-block tool calls.
640
+ *
641
+ * Format 1 — tool_call language:
642
+ * ```tool_call
643
+ * {"name": "shell", "arguments": {"command": "ls"}}
644
+ * ```
645
+ *
646
+ * Format 2 — tool <name> language:
647
+ * ```tool shell
648
+ * {"command": "ls"}
649
+ * ```
650
+ */
651
+ function parseMarkdownToolCallBlocks(content) {
652
+ const calls = [];
653
+ // Format 1: ```tool_call or ```toolcall or ```tool-call
654
+ const tcBlockRe = /```(?:tool[_-]?call|invoke)\s*\n([\s\S]*?)(?:```|<\/tool[_-]?call>|<\/toolcall>|<\/invoke>)/gi;
655
+ for (const match of content.matchAll(tcBlockRe)) {
656
+ const inner = match[1].trim();
657
+ try {
658
+ const parsed = JSON.parse(inner);
659
+ if (parsed?.name) {
660
+ const alias = resolveToolAlias(String(parsed.name));
661
+ calls.push({
662
+ id: `call_md_${calls.length}`,
663
+ type: 'function',
664
+ function: {
665
+ name: alias.resolved,
666
+ arguments: typeof parsed.arguments === 'string'
667
+ ? parsed.arguments
668
+ : JSON.stringify(parsed.arguments ?? {}),
669
+ },
670
+ });
671
+ }
672
+ }
673
+ catch {
674
+ // Not parseable — skip
675
+ }
676
+ }
677
+ // Format 2: ```tool <name>\n{...json args...}\n```
678
+ const toolNameBlockRe = /```tool\s+(\w+)\s*\n([\s\S]*?)(?:```|$)/gi;
679
+ for (const match of content.matchAll(toolNameBlockRe)) {
680
+ const rawToolName = match[1];
681
+ const inner = match[2].trim();
682
+ const alias = resolveToolAlias(rawToolName);
683
+ try {
684
+ const args = JSON.parse(inner);
685
+ if (args && typeof args === 'object' && !Array.isArray(args)) {
686
+ calls.push({
687
+ id: `call_md_${calls.length}`,
688
+ type: 'function',
689
+ function: {
690
+ name: alias.resolved,
691
+ arguments: JSON.stringify(args),
692
+ },
693
+ });
694
+ }
695
+ }
696
+ catch {
697
+ // Not parseable — skip
698
+ }
699
+ }
700
+ return calls.length > 0 ? calls : null;
701
+ }
702
+ /**
703
+ * Parse MiniMax/DeepSeek-style XML invoke tags.
704
+ *
705
+ * Format:
706
+ * <invoke name="shell">
707
+ * <parameter name="command">ls -la</parameter>
708
+ * </invoke>
709
+ *
710
+ * Optionally wrapped in <minimax:toolcall>...</minimax:toolcall> or
711
+ * <minimax:tool_call>...</minimax:tool_call>.
712
+ */
713
+ function parseInvokeTagToolCalls(content) {
714
+ // Quick bailout
715
+ if (!content.includes('<invoke'))
716
+ return null;
717
+ const calls = [];
718
+ const invokeRe = /<invoke\b[^>]*\bname\s*=\s*(?:"([^"]+)"|'([^']+)')[^>]*>([\s\S]*?)<\/invoke>/gi;
719
+ for (const match of content.matchAll(invokeRe)) {
720
+ const rawToolName = (match[1] ?? match[2] ?? '').trim();
721
+ if (!rawToolName)
722
+ continue;
723
+ const body = (match[3] ?? '').trim();
724
+ const alias = resolveToolAlias(rawToolName);
725
+ const args = {};
726
+ const paramRe = /<parameter\b[^>]*\bname\s*=\s*(?:"([^"]+)"|'([^']+)')[^>]*>([\s\S]*?)<\/parameter>/gi;
727
+ for (const pmatch of body.matchAll(paramRe)) {
728
+ const paramName = (pmatch[1] ?? pmatch[2] ?? '').trim();
729
+ const paramValue = (pmatch[3] ?? '').trim();
730
+ if (paramName && paramValue) {
731
+ args[paramName] = paramValue;
732
+ }
733
+ }
734
+ // If no <parameter> tags, try parsing body as JSON
735
+ if (Object.keys(args).length === 0) {
736
+ try {
737
+ const jsonArgs = JSON.parse(body);
738
+ if (jsonArgs && typeof jsonArgs === 'object' && !Array.isArray(jsonArgs)) {
739
+ calls.push({
740
+ id: `call_invoke_${calls.length}`,
741
+ type: 'function',
742
+ function: {
743
+ name: alias.resolved,
744
+ arguments: JSON.stringify(jsonArgs),
745
+ },
746
+ });
747
+ continue;
748
+ }
749
+ }
750
+ catch {
751
+ // Not JSON — skip
752
+ }
753
+ }
754
+ if (Object.keys(args).length > 0) {
755
+ calls.push({
756
+ id: `call_invoke_${calls.length}`,
757
+ type: 'function',
758
+ function: {
759
+ name: alias.resolved,
760
+ arguments: JSON.stringify(args),
761
+ },
762
+ });
763
+ }
764
+ }
765
+ return calls.length > 0 ? calls : null;
766
+ }
767
+ /**
768
+ * Parse GLM-style shortened tool call formats.
769
+ *
770
+ * Formats:
771
+ * shell/command>ls -la
772
+ * file_read/path>src/main.ts
773
+ * shell>uname -a (uses default param from defaultParamForTool)
774
+ * shell>{...json...} (full JSON arguments)
775
+ *
776
+ * Lines that don't match are ignored. Only produces calls when at least
777
+ * one valid line is found AND no other format matched first (this is the
778
+ * lowest-priority fallback).
779
+ */
780
+ function parseGlmStyleToolCalls(content) {
781
+ const calls = [];
782
+ for (const line of content.split('\n')) {
783
+ const trimmed = line.trim();
784
+ if (!trimmed)
785
+ continue;
786
+ // Must contain a slash or > to be a candidate
787
+ const slashIdx = trimmed.indexOf('/');
788
+ const gtIdx = trimmed.indexOf('>');
789
+ if (slashIdx > 0 && gtIdx > slashIdx) {
790
+ // Format: tool_name/param_name>value
791
+ const toolPart = trimmed.slice(0, slashIdx);
792
+ const rest = trimmed.slice(slashIdx + 1);
793
+ const paramGtIdx = rest.indexOf('>');
794
+ if (paramGtIdx <= 0)
795
+ continue;
796
+ const paramName = rest.slice(0, paramGtIdx).trim();
797
+ const value = rest.slice(paramGtIdx + 1).trim();
798
+ if (/^\w+$/.test(toolPart) && paramName && value) {
799
+ const alias = resolveToolAlias(toolPart);
800
+ calls.push({
801
+ id: `call_glm_${calls.length}`,
802
+ type: 'function',
803
+ function: {
804
+ name: alias.resolved,
805
+ arguments: JSON.stringify({ [paramName]: value }),
806
+ },
807
+ });
808
+ }
809
+ }
810
+ else if (gtIdx > 0) {
811
+ // Format: tool_name>value (default param)
812
+ const toolPart = trimmed.slice(0, gtIdx).trim();
813
+ const value = trimmed.slice(gtIdx + 1).trim();
814
+ if (/^\w+$/.test(toolPart) && value) {
815
+ const alias = resolveToolAlias(toolPart);
816
+ // If value looks like JSON, use it directly
817
+ if (value.startsWith('{')) {
818
+ try {
819
+ const jsonArgs = JSON.parse(value);
820
+ if (jsonArgs && typeof jsonArgs === 'object') {
821
+ calls.push({
822
+ id: `call_glm_${calls.length}`,
823
+ type: 'function',
824
+ function: {
825
+ name: alias.resolved,
826
+ arguments: JSON.stringify(jsonArgs),
827
+ },
828
+ });
829
+ continue;
830
+ }
831
+ }
832
+ catch {
833
+ // Not valid JSON — fall through to default param
834
+ }
835
+ }
836
+ const defaultParam = defaultParamForTool(toolPart);
837
+ calls.push({
838
+ id: `call_glm_${calls.length}`,
839
+ type: 'function',
840
+ function: {
841
+ name: alias.resolved,
842
+ arguments: JSON.stringify({ [defaultParam]: value }),
843
+ },
844
+ });
845
+ }
846
+ }
847
+ }
848
+ return calls.length > 0 ? calls : null;
849
+ }
590
850
  //# sourceMappingURL=tool-calls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-calls.js","sourceRoot":"","sources":["../../src/agent/tool-calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-calls.js","sourceRoot":"","sources":["../../src/agent/tool-calls.ts"],"names":[],"mappings":"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"}