funolio-agent 1.0.7 → 1.0.47

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 (155) hide show
  1. package/dist/approval.d.ts +1 -0
  2. package/dist/approval.d.ts.map +1 -1
  3. package/dist/approval.js +12 -0
  4. package/dist/approval.js.map +1 -1
  5. package/dist/auth/auto-detect.d.ts +11 -3
  6. package/dist/auth/auto-detect.d.ts.map +1 -1
  7. package/dist/auth/auto-detect.js +136 -168
  8. package/dist/auth/auto-detect.js.map +1 -1
  9. package/dist/auth/subscription-runtime.js +1 -1
  10. package/dist/auth/subscription-runtime.js.map +1 -1
  11. package/dist/backfill.d.ts.map +1 -1
  12. package/dist/backfill.js +31 -28
  13. package/dist/backfill.js.map +1 -1
  14. package/dist/bot-manager.d.ts +16 -4
  15. package/dist/bot-manager.d.ts.map +1 -1
  16. package/dist/bot-manager.js +280 -73
  17. package/dist/bot-manager.js.map +1 -1
  18. package/dist/clerk-model.d.ts +10 -6
  19. package/dist/clerk-model.d.ts.map +1 -1
  20. package/dist/clerk-model.js +39 -16
  21. package/dist/clerk-model.js.map +1 -1
  22. package/dist/cli.js +7 -2
  23. package/dist/cli.js.map +1 -1
  24. package/dist/commands/import-history.js +5 -1
  25. package/dist/commands/import-history.js.map +1 -1
  26. package/dist/commands/start.d.ts.map +1 -1
  27. package/dist/commands/start.js +57 -225
  28. package/dist/commands/start.js.map +1 -1
  29. package/dist/config.d.ts.map +1 -1
  30. package/dist/config.js +13 -2
  31. package/dist/config.js.map +1 -1
  32. package/dist/context-window.js +1 -1
  33. package/dist/context-window.js.map +1 -1
  34. package/dist/import-parser-core.d.ts.map +1 -1
  35. package/dist/import-parser-core.js +74 -8
  36. package/dist/import-parser-core.js.map +1 -1
  37. package/dist/local-data.d.ts +59 -6
  38. package/dist/local-data.d.ts.map +1 -1
  39. package/dist/local-data.js +544 -62
  40. package/dist/local-data.js.map +1 -1
  41. package/dist/local-db.d.ts.map +1 -1
  42. package/dist/local-db.js +21 -1
  43. package/dist/local-db.js.map +1 -1
  44. package/dist/local-funnel.d.ts +0 -7
  45. package/dist/local-funnel.d.ts.map +1 -1
  46. package/dist/local-funnel.js +19 -28
  47. package/dist/local-funnel.js.map +1 -1
  48. package/dist/local-import-worker.d.ts.map +1 -1
  49. package/dist/local-import-worker.js +49 -4
  50. package/dist/local-import-worker.js.map +1 -1
  51. package/dist/local-memory-search.d.ts.map +1 -1
  52. package/dist/local-memory-search.js +6 -3
  53. package/dist/local-memory-search.js.map +1 -1
  54. package/dist/local-server.d.ts +37 -0
  55. package/dist/local-server.d.ts.map +1 -1
  56. package/dist/local-server.js +731 -227
  57. package/dist/local-server.js.map +1 -1
  58. package/dist/mcp/local-memory-server.d.ts +1 -1
  59. package/dist/mcp/local-memory-server.d.ts.map +1 -1
  60. package/dist/mcp/local-memory-server.js +23 -11
  61. package/dist/mcp/local-memory-server.js.map +1 -1
  62. package/dist/mcp/manager.d.ts.map +1 -1
  63. package/dist/mcp/manager.js +86 -18
  64. package/dist/mcp/manager.js.map +1 -1
  65. package/dist/message-loop.d.ts +5 -10
  66. package/dist/message-loop.d.ts.map +1 -1
  67. package/dist/message-loop.js +393 -289
  68. package/dist/message-loop.js.map +1 -1
  69. package/dist/mqtt-client.d.ts +4 -1
  70. package/dist/mqtt-client.d.ts.map +1 -1
  71. package/dist/mqtt-client.js.map +1 -1
  72. package/dist/orchestration/orchestrator-blocked-prompt.d.ts +2 -1
  73. package/dist/orchestration/orchestrator-blocked-prompt.d.ts.map +1 -1
  74. package/dist/orchestration/orchestrator-blocked-prompt.js +11 -0
  75. package/dist/orchestration/orchestrator-blocked-prompt.js.map +1 -1
  76. package/dist/orchestration/orchestrator-final-response-prompt.d.ts +4 -1
  77. package/dist/orchestration/orchestrator-final-response-prompt.d.ts.map +1 -1
  78. package/dist/orchestration/orchestrator-final-response-prompt.js +8 -6
  79. package/dist/orchestration/orchestrator-final-response-prompt.js.map +1 -1
  80. package/dist/orchestration/worker-operating-prompt.d.ts +2 -0
  81. package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -1
  82. package/dist/orchestration/worker-operating-prompt.js +39 -0
  83. package/dist/orchestration/worker-operating-prompt.js.map +1 -1
  84. package/dist/orchestrator.d.ts +13 -0
  85. package/dist/orchestrator.d.ts.map +1 -1
  86. package/dist/orchestrator.js +235 -133
  87. package/dist/orchestrator.js.map +1 -1
  88. package/dist/providers/anthropic.d.ts +0 -5
  89. package/dist/providers/anthropic.d.ts.map +1 -1
  90. package/dist/providers/anthropic.js +29 -75
  91. package/dist/providers/anthropic.js.map +1 -1
  92. package/dist/providers/claude-cli.d.ts.map +1 -1
  93. package/dist/providers/claude-cli.js +16 -140
  94. package/dist/providers/claude-cli.js.map +1 -1
  95. package/dist/providers/codex-cli.d.ts.map +1 -1
  96. package/dist/providers/codex-cli.js +78 -59
  97. package/dist/providers/codex-cli.js.map +1 -1
  98. package/dist/providers/google.d.ts.map +1 -1
  99. package/dist/providers/google.js +4 -2
  100. package/dist/providers/google.js.map +1 -1
  101. package/dist/providers/index.d.ts +2 -0
  102. package/dist/providers/index.d.ts.map +1 -1
  103. package/dist/providers/index.js.map +1 -1
  104. package/dist/providers/openai.d.ts.map +1 -1
  105. package/dist/providers/openai.js +27 -2
  106. package/dist/providers/openai.js.map +1 -1
  107. package/dist/storage-mode.d.ts +5 -0
  108. package/dist/storage-mode.d.ts.map +1 -0
  109. package/dist/storage-mode.js +21 -0
  110. package/dist/storage-mode.js.map +1 -0
  111. package/dist/summarization-pipeline.d.ts +9 -0
  112. package/dist/summarization-pipeline.d.ts.map +1 -1
  113. package/dist/summarization-pipeline.js +61 -17
  114. package/dist/summarization-pipeline.js.map +1 -1
  115. package/dist/tools/analyze-image.js +2 -2
  116. package/dist/tools/analyze-image.js.map +1 -1
  117. package/dist/tools/edit-file.js +3 -3
  118. package/dist/tools/edit-file.js.map +1 -1
  119. package/dist/tools/index.d.ts.map +1 -1
  120. package/dist/tools/index.js +36 -0
  121. package/dist/tools/index.js.map +1 -1
  122. package/dist/tools/list-directory.js +7 -4
  123. package/dist/tools/list-directory.js.map +1 -1
  124. package/dist/tools/read-file.js +3 -3
  125. package/dist/tools/read-file.js.map +1 -1
  126. package/dist/tools/run-command.js +3 -3
  127. package/dist/tools/run-command.js.map +1 -1
  128. package/dist/tools/sandbox.d.ts +10 -5
  129. package/dist/tools/sandbox.d.ts.map +1 -1
  130. package/dist/tools/sandbox.js +41 -13
  131. package/dist/tools/sandbox.js.map +1 -1
  132. package/dist/tools/search-codebase.js +2 -2
  133. package/dist/tools/search-codebase.js.map +1 -1
  134. package/dist/tools/search-local-memory.d.ts.map +1 -1
  135. package/dist/tools/search-local-memory.js +19 -8
  136. package/dist/tools/search-local-memory.js.map +1 -1
  137. package/dist/tools/spawn-subagent.js.map +1 -1
  138. package/dist/tools/write-file.js +3 -3
  139. package/dist/tools/write-file.js.map +1 -1
  140. package/dist/types.d.ts +2 -0
  141. package/dist/types.d.ts.map +1 -1
  142. package/dist/verification/index.js +2 -2
  143. package/dist/verification/index.js.map +1 -1
  144. package/dist/wizard-state.d.ts.map +1 -1
  145. package/dist/wizard-state.js +16 -2
  146. package/dist/wizard-state.js.map +1 -1
  147. package/dist/wizard-support.d.ts +2 -2
  148. package/dist/wizard-support.d.ts.map +1 -1
  149. package/dist/wizard-support.js +80 -93
  150. package/dist/wizard-support.js.map +1 -1
  151. package/dist/workflow-engine.d.ts +3 -1
  152. package/dist/workflow-engine.d.ts.map +1 -1
  153. package/dist/workflow-engine.js +131 -12
  154. package/dist/workflow-engine.js.map +1 -1
  155. package/package.json +1 -1
@@ -49,6 +49,8 @@ exports.isClerkConfigured = isClerkConfigured;
49
49
  exports.runSummarization = runSummarization;
50
50
  exports.resolveProjectFromCatalog = resolveProjectFromCatalog;
51
51
  exports.fuzzyMatchTopic = fuzzyMatchTopic;
52
+ exports.buildSummarizationSystemPrompt = buildSummarizationSystemPrompt;
53
+ exports.buildSummarizationPrompt = buildSummarizationPrompt;
52
54
  const clerk_model_1 = require("./clerk-model");
53
55
  const data = __importStar(require("./local-data"));
54
56
  const context_window_1 = require("./context-window");
@@ -56,6 +58,7 @@ const safeguards_1 = require("./orchestration/safeguards");
56
58
  const topic_normalizer_1 = require("./orchestration/topic-normalizer");
57
59
  const memory_extraction_1 = require("./memory-extraction");
58
60
  const policy_detection_1 = require("./policy-detection");
61
+ const storage_mode_1 = require("./storage-mode");
59
62
  function buildSummaryMetadata(result) {
60
63
  const values = [
61
64
  result.project,
@@ -236,6 +239,7 @@ async function runSummarization(conversationId, projectCatalog = []) {
236
239
  if (!clerk)
237
240
  return null;
238
241
  try {
242
+ const storageMode = (0, storage_mode_1.getStorageMode)();
239
243
  // 1. Get the latest summary (compound forward)
240
244
  const latestSummary = (0, context_window_1.getLatestSummary)(conversationId);
241
245
  // 2. Get turns to summarize
@@ -259,13 +263,13 @@ async function runSummarization(conversationId, projectCatalog = []) {
259
263
  // 4. Build the summarization prompt with title instructions
260
264
  const isFirstSummary = !latestSummary;
261
265
  const manuallyRenamed = !!(currentSegment?.manually_renamed);
262
- const prompt = buildSummarizationPrompt(latestSummary?.summary_text || null, turns, existingDecisions, existingActionItems, existingFacts, existingTopics, projectCatalog, projectId || null, currentSegment?.title || null, { manuallyRenamed, isFirstSummary });
266
+ const prompt = buildSummarizationPrompt(latestSummary?.summary_text || null, turns, existingDecisions, existingActionItems, existingFacts, existingTopics, projectCatalog, projectId || null, currentSegment?.title || null, { manuallyRenamed, isFirstSummary }, storageMode);
263
267
  // 5. Call clerk LLM with timeout
264
268
  const clerkLlm = clerk.llm;
265
269
  const response = await Promise.race([
266
270
  clerkLlm.chat({
267
271
  messages: [{ role: 'user', content: prompt }],
268
- system: SUMMARIZATION_SYSTEM_PROMPT,
272
+ system: buildSummarizationSystemPrompt(storageMode),
269
273
  stream: false,
270
274
  }),
271
275
  new Promise((_, reject) => setTimeout(() => reject(new Error('Summarization timeout')), safeguards_1.SAFEGUARDS.HELPER_TIMEOUT_MS)),
@@ -442,7 +446,9 @@ function fuzzyMatchTopic(suggested, existing) {
442
446
  return bestScore >= 0.5 ? bestMatch : null;
443
447
  }
444
448
  // ─── Prompt Construction ─────────────────────────────────────────
445
- const SUMMARIZATION_SYSTEM_PROMPT = `You are a conversation summarizer and information extractor tuned for a small low-cost model.
449
+ function buildSummarizationSystemPrompt(storageMode = (0, storage_mode_1.getStorageMode)()) {
450
+ if (storageMode === 'server') {
451
+ return `You are a conversation summarizer and information extractor tuned for a small low-cost model.
446
452
 
447
453
  Return your response in this EXACT structured text format (no JSON):
448
454
 
@@ -505,26 +511,59 @@ Field rules:
505
511
  - Only extract NEW items not in the ALREADY CAPTURED list.
506
512
  - You may include multiple DECISION, ACTION, FACT lines. Keep each under 200 characters.
507
513
  - If there are no durable new items of any type, return only PROJECT / MATCH / TITLE / TOPIC / SUMMARY lines as needed and omit DECISION / ACTION / FACT entirely.`;
508
- function buildSummarizationPrompt(previousSummary, turns, existingDecisions, existingActionItems, existingFacts, existingTopics = [], projectCatalog = [], currentProjectId = null, currentTopicTitle = null, titleOpts) {
514
+ }
515
+ return `You are a conversation summarizer tuned for a small low-cost model.
516
+
517
+ Return your response in this EXACT structured text format (no JSON):
518
+
519
+ BEGIN_EXTRACT
520
+ PROJECT: <project name from catalog, or "none">
521
+ PROJECT_MATCH: <yes|no — does the conversation belong to its current project?>
522
+ TITLE: <3-word title>
523
+ TOPIC: <2-3 word high-level title>
524
+ TOPIC_MATCH: <yes|no — does the conversation still fit under its current topic?>
525
+ SUMMARY: <rolling working summary text>
526
+ END_EXTRACT
527
+
528
+ Field rules:
529
+ - PROJECT: Pick from the PROJECT CATALOG if one fits. Output the project name. If none fits, output "none".
530
+ - PROJECT_MATCH / TOPIC_MATCH: "yes" if the current assignment is correct, "no" if it should change.
531
+ - TITLE: 3 words MAX. Name what this conversation is about. Omit if TITLE_INSTRUCTIONS say to skip.
532
+ - TOPIC: HIGH-LEVEL and broad (2-3 words). Examples: "Desktop App UI", "Database Migration", "Auth System". NOT low-level like "Fixed login bug".
533
+ - TOPIC: PREFER an existing topic from the EXISTING TOPICS list. If reusing, output the title EXACTLY as written.
534
+ - SUMMARY: Rewrite the rolling working summary for the conversation so far.
535
+ - SUMMARY: This summary will be used in future prompts for another LLM together with the last 5 turns.
536
+ - SUMMARY: Keep only information needed to continue the conversation correctly.
537
+ - SUMMARY: Do not include greetings, casual chatter, repetition, filler, or details made irrelevant by later decisions.
538
+ - SUMMARY: Keep this summary compact. Prefer 150-350 words. Only exceed that if necessary to preserve important working context.
539
+ - Return only PROJECT / MATCH / TITLE / TOPIC / SUMMARY lines as needed.`;
540
+ }
541
+ function buildSummarizationPrompt(previousSummary, turns, existingDecisions, existingActionItems, existingFacts, existingTopics = [], projectCatalog = [], currentProjectId = null, currentTopicTitle = null, titleOpts, storageMode = (0, storage_mode_1.getStorageMode)()) {
509
542
  const parts = [];
510
543
  parts.push('You are rewriting the rolling working summary for this conversation.', 'This summary will be used in future prompts for another LLM together with the last 5 turns of the conversation.', 'Its job is to preserve the important working context needed so the conversation can continue correctly without replaying the full history.', 'Rewrite the summary of the conversation so far using the current summary and the newest 5 turns.', 'Do not append blindly. Produce a revised best summary of the conversation so far.', 'Include only information that is useful for continuing the conversation correctly, such as the current goal, important decisions, unresolved questions, constraints, relevant project context, important technical facts, and the next likely step if clear.', 'Do not include greetings, casual chatter, repetition, filler, back-and-forth that does not affect future work, or details already made irrelevant by later decisions.', 'Keep this summary compact. Prefer 150-350 words. Only exceed that if necessary to preserve important working context.', 'Write the summary as clear working memory for a future LLM, not as a transcript, recap, or status report.');
511
544
  if (previousSummary) {
512
545
  parts.push(`CURRENT SUMMARY:\n${previousSummary}`);
513
546
  }
514
547
  parts.push(`NEWEST 5 TURNS:\n${(0, context_window_1.formatTurnsForPrompt)(turns)}`);
515
- // Dedup: tell the clerk what's already captured
516
- if (existingDecisions.length > 0 || existingActionItems.length > 0 || existingFacts.length > 0) {
517
- const captured = [];
518
- if (existingDecisions.length > 0) {
519
- captured.push('Decisions: ' + existingDecisions.map(d => d.title).join('; '));
520
- }
521
- if (existingActionItems.length > 0) {
522
- captured.push('Action Items: ' + existingActionItems.map(a => a.title).join('; '));
523
- }
524
- if (existingFacts.length > 0) {
525
- captured.push('Facts: ' + existingFacts.map(f => f.content).join('; '));
548
+ if (storageMode === 'server') {
549
+ if (existingDecisions.length > 0 || existingActionItems.length > 0 || existingFacts.length > 0) {
550
+ const captured = [];
551
+ if (existingDecisions.length > 0) {
552
+ captured.push('Decisions: ' + existingDecisions.map((decision) => decision.title).join('; '));
553
+ }
554
+ if (existingActionItems.length > 0) {
555
+ captured.push('Action Items: ' + existingActionItems.map((action) => action.title).join('; '));
556
+ }
557
+ if (existingFacts.length > 0) {
558
+ captured.push('Facts: ' + existingFacts.map((fact) => fact.content).join('; '));
559
+ }
560
+ parts.push(`ALREADY CAPTURED (do NOT re-extract):\n${captured.join('\n')}`);
526
561
  }
527
- parts.push(`ALREADY CAPTURED (do NOT re-extract):\n${captured.join('\n')}`);
562
+ }
563
+ else {
564
+ void existingDecisions;
565
+ void existingActionItems;
566
+ void existingFacts;
528
567
  }
529
568
  // Feed existing topics so clerk can reuse them
530
569
  if (existingTopics.length > 0) {
@@ -562,7 +601,12 @@ function buildSummarizationPrompt(previousSummary, turns, existingDecisions, exi
562
601
  'Go UP a level if new subjects added (e.g., "Payment System" → "Payables & Receivables" → "Accounting Enhancements").\n' +
563
602
  'Never make title MORE specific — only same or broader.');
564
603
  }
565
- parts.push('Produce a compound summary and extract ONLY NEW items. Use the BEGIN_EXTRACT / END_EXTRACT format.');
604
+ if (storageMode === 'server') {
605
+ parts.push('Produce a compound summary and extract ONLY NEW items. Use the BEGIN_EXTRACT / END_EXTRACT format.');
606
+ }
607
+ else {
608
+ parts.push('Produce a compound summary only. Use the BEGIN_EXTRACT / END_EXTRACT format and return only the supported fields.');
609
+ }
566
610
  return parts.join('\n\n');
567
611
  }
568
612
  //# sourceMappingURL=summarization-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarization-pipeline.js","sourceRoot":"","sources":["../src/summarization-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarization-pipeline.js","sourceRoot":"","sources":["../src/summarization-pipeline.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ exports.analyzeImageTool = {
62
62
  parameters: {
63
63
  type: 'object',
64
64
  properties: {
65
- image_path: { type: 'string', description: 'Local file path to an image (sandboxed to project dir)' },
65
+ image_path: { type: 'string', description: 'Local file path to an image. Relative paths use the current workspace; absolute paths are allowed when project-only sandboxing is disabled.' },
66
66
  image_url: { type: 'string', description: 'Remote URL to an image' },
67
67
  prompt: { type: 'string', description: 'What to analyze (default: "Describe this image in detail")' },
68
68
  },
@@ -80,7 +80,7 @@ exports.analyzeImageTool = {
80
80
  // Build image content block
81
81
  let imageContent;
82
82
  if (imagePath) {
83
- const resolved = (0, sandbox_1.resolveSandboxed)(ctx.projectDir, imagePath);
83
+ const resolved = (0, sandbox_1.resolveSandboxed)(ctx, imagePath);
84
84
  const ext = path.extname(resolved).slice(1).toLowerCase();
85
85
  if (!ALLOWED_EXTENSIONS.has(ext)) {
86
86
  return fail(`Unsupported image extension: .${ext}. Allowed: ${[...ALLOWED_EXTENSIONS].join(', ')}`);
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-image.js","sourceRoot":"","sources":["../../src/tools/analyze-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-image.js","sourceRoot":"","sources":["../../src/tools/analyze-image.ts"],"names":[],"mappings":"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"}
@@ -38,11 +38,11 @@ const fs = __importStar(require("fs"));
38
38
  const sandbox_1 = require("./sandbox");
39
39
  exports.editFileTool = {
40
40
  name: 'edit_file',
41
- description: 'Edit a file by replacing exact text (search/replace). The old_string must match exactly.',
41
+ description: 'Edit a file by replacing exact text (search/replace). Relative paths resolve inside the current workspace; absolute paths are allowed when project-only sandboxing is disabled. The old_string must match exactly.',
42
42
  parameters: {
43
43
  type: 'object',
44
44
  properties: {
45
- path: { type: 'string', description: 'File path relative to project root' },
45
+ path: { type: 'string', description: 'File path relative to the current workspace, or an absolute path when allowed' },
46
46
  old_string: { type: 'string', description: 'Exact text to find and replace' },
47
47
  new_string: { type: 'string', description: 'Replacement text' },
48
48
  },
@@ -53,7 +53,7 @@ exports.editFileTool = {
53
53
  const oldString = args.old_string;
54
54
  const newString = args.new_string;
55
55
  try {
56
- const resolved = (0, sandbox_1.resolveSandboxed)(ctx.projectDir, filePath);
56
+ const resolved = (0, sandbox_1.resolveSandboxed)(ctx, filePath);
57
57
  await (0, sandbox_1.checkFileSize)(resolved, ctx.maxFileSize);
58
58
  const content = await fs.promises.readFile(resolved, 'utf-8');
59
59
  if (!content.includes(oldString)) {
@@ -1 +1 @@
1
- {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../src/tools/edit-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-file.js","sourceRoot":"","sources":["../../src/tools/edit-file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuC7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,QAAA,MAAM,aAAa,EAAE,cAAc,EA8ClC,CAAC;AAEF,4BAA4B;AAC5B,QAAA,MAAM,SAAS,EAAE,cAAc,EAAkB,CAAC;AAElD,QAAA,MAAM,OAAO,6BAEZ,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMtH;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBvF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAWnG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAgBhJ;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAuC7E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,QAAA,MAAM,aAAa,EAAE,cAAc,EA8ClC,CAAC;AAEF,4BAA4B;AAC5B,QAAA,MAAM,SAAS,EAAE,cAAc,EAAkB,CAAC;AAElD,QAAA,MAAM,OAAO,6BAEZ,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAMtH;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBvF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAanG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAgBhJ;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC"}
@@ -3,6 +3,39 @@
3
3
  * Phase 3D: Tool Execution Engine
4
4
  * Registry of all 8 tools with sandboxed execution.
5
5
  */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
6
39
  Object.defineProperty(exports, "__esModule", { value: true });
7
40
  exports.toolMap = exports.BUILTIN_TOOLS = exports.ALL_TOOLS = void 0;
8
41
  exports.getToolDefinitions = getToolDefinitions;
@@ -33,6 +66,7 @@ const search_codebase_1 = require("./search-codebase");
33
66
  const admin_tools_1 = require("./admin-tools");
34
67
  const registry_shared_1 = require("../mcp/registry-shared");
35
68
  const local_db_1 = require("../local-db");
69
+ const data = __importStar(require("../local-data"));
36
70
  const BUILTIN_TOOLS = [
37
71
  read_file_1.readFileTool,
38
72
  write_file_1.writeFileTool,
@@ -126,8 +160,10 @@ async function executeTool(call, ctx) {
126
160
  */
127
161
  function createToolContext(projectDir, overrides) {
128
162
  const cfg = (0, config_1.loadConfig)();
163
+ const restrictFileAccessToProject = data.getSetting('llm_project_sandbox_only') === 'true';
129
164
  return {
130
165
  projectDir,
166
+ restrictFileAccessToProject,
131
167
  commandTimeout: 60,
132
168
  maxCommandTimeout: 300,
133
169
  maxFileSize: 1024 * 1024, // 1MB
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -39,11 +39,11 @@ const path = __importStar(require("path"));
39
39
  const sandbox_1 = require("./sandbox");
40
40
  exports.listDirectoryTool = {
41
41
  name: 'list_directory',
42
- description: 'List files and directories at a given path within the project.',
42
+ description: 'List files and directories at a given path. Relative paths resolve inside the current workspace; absolute paths are allowed when project-only sandboxing is disabled.',
43
43
  parameters: {
44
44
  type: 'object',
45
45
  properties: {
46
- path: { type: 'string', description: 'Directory path relative to project root (default: ".")' },
46
+ path: { type: 'string', description: 'Directory path relative to the current workspace, or an absolute path when allowed (default: ".")' },
47
47
  recursive: { type: 'boolean', description: 'List recursively (default: false, max depth 3)' },
48
48
  },
49
49
  required: [],
@@ -52,7 +52,7 @@ exports.listDirectoryTool = {
52
52
  const dirPath = args.path || '.';
53
53
  const recursive = args.recursive || false;
54
54
  try {
55
- const resolved = (0, sandbox_1.resolveSandboxed)(ctx.projectDir, dirPath);
55
+ const resolved = (0, sandbox_1.resolveSandboxed)(ctx, dirPath);
56
56
  // Verify directory exists and is readable
57
57
  const stat = await fs.promises.stat(resolved);
58
58
  if (!stat.isDirectory()) {
@@ -113,7 +113,10 @@ async function listDir(dir, projectDir, maxDepth, currentDepth) {
113
113
  continue;
114
114
  }
115
115
  const fullPath = path.join(dir, entry.name);
116
- const relPath = path.relative(projectDir, fullPath);
116
+ let relPath = path.relative(projectDir, fullPath);
117
+ if (relPath.startsWith('..') || path.isAbsolute(relPath)) {
118
+ relPath = fullPath;
119
+ }
117
120
  if (entry.isDirectory()) {
118
121
  results.push(`${indent}${relPath}/`);
119
122
  if (currentDepth < maxDepth - 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory.js","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-directory.js","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"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"}
@@ -38,11 +38,11 @@ const fs = __importStar(require("fs"));
38
38
  const sandbox_1 = require("./sandbox");
39
39
  exports.readFileTool = {
40
40
  name: 'read_file',
41
- description: 'Read the contents of a file within the project directory.',
41
+ description: 'Read the contents of a file. Relative paths resolve inside the current workspace; absolute paths are allowed when project-only sandboxing is disabled.',
42
42
  parameters: {
43
43
  type: 'object',
44
44
  properties: {
45
- path: { type: 'string', description: 'File path relative to project root' },
45
+ path: { type: 'string', description: 'File path relative to the current workspace, or an absolute path when allowed' },
46
46
  offset: { type: 'number', description: 'Line number to start reading from (1-indexed)' },
47
47
  limit: { type: 'number', description: 'Maximum number of lines to read' },
48
48
  },
@@ -53,7 +53,7 @@ exports.readFileTool = {
53
53
  const offset = args.offset || 1;
54
54
  const limit = args.limit;
55
55
  try {
56
- const resolved = (0, sandbox_1.resolveSandboxed)(ctx.projectDir, filePath);
56
+ const resolved = (0, sandbox_1.resolveSandboxed)(ctx, filePath);
57
57
  await (0, sandbox_1.checkFileSize)(resolved, ctx.maxFileSize);
58
58
  const raw = await fs.promises.readFile(resolved, 'utf-8');
59
59
  // Normalize line endings: CRLF → LF (Windows compat)
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB,uCAA4D;AAE/C,QAAA,YAAY,GAAmB;IAC1C,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,2DAA2D;IACxE,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;YAC3E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;YACxF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;SAC1E;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,KAAK,CAAC,OAAO,CAAC,IAA6B,EAAE,GAAgB;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAC;QACrC,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2B,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,0BAAgB,EAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5D,MAAM,IAAA,uBAAa,EAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAE/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,qDAAqD;YACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,MAAM,IAAI,GAAG,SAAS,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,EAAE,CAAC;YAEtF,OAAO;gBACL,YAAY,EAAE,EAAE;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,GAAG,IAAI,KAAK,MAAM,EAAE;gBAC5B,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,2BAA2B,QAAQ,KAAK,UAAU,SAAS;aAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO;gBACL,YAAY,EAAE,EAAE;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,gBAAgB,GAAG,EAAE;aAC5C,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB,uCAA4D;AAE/C,QAAA,YAAY,GAAmB;IAC1C,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,wJAAwJ;IACrK,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE;YACtH,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;YACxF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;SAC1E;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,KAAK,CAAC,OAAO,CAAC,IAA6B,EAAE,GAAgB;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAC;QACrC,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiB,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2B,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,0BAAgB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,IAAA,uBAAa,EAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAE/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,qDAAqD;YACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,MAAM,IAAI,GAAG,SAAS,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,EAAE,CAAC;YAEtF,OAAO;gBACL,YAAY,EAAE,EAAE;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,GAAG,IAAI,KAAK,MAAM,EAAE;gBAC5B,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,2BAA2B,QAAQ,KAAK,UAAU,SAAS;aAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO;gBACL,YAAY,EAAE,EAAE;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,gBAAgB,GAAG,EAAE;aAC5C,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -109,13 +109,13 @@ function checkBlocklist(command) {
109
109
  }
110
110
  exports.runCommandTool = {
111
111
  name: 'run_command',
112
- description: 'Execute a shell command within the project directory. Timeout enforced.',
112
+ description: 'Execute a shell command. By default it runs in the current workspace; an absolute cwd is allowed when project-only sandboxing is disabled. Timeout enforced.',
113
113
  parameters: {
114
114
  type: 'object',
115
115
  properties: {
116
116
  command: { type: 'string', description: 'Shell command to execute' },
117
117
  timeout: { type: 'number', description: 'Timeout in seconds (default: 60, max: 300)' },
118
- cwd: { type: 'string', description: 'Working directory relative to project root (default: project root)' },
118
+ cwd: { type: 'string', description: 'Working directory relative to the current workspace, or an absolute path when allowed (default: workspace root)' },
119
119
  },
120
120
  required: ['command'],
121
121
  },
@@ -138,7 +138,7 @@ exports.runCommandTool = {
138
138
  const cwd = args.cwd;
139
139
  const timeout = Math.min(requestedTimeout || ctx.commandTimeout, ctx.maxCommandTimeout);
140
140
  try {
141
- const workDir = cwd ? (0, sandbox_1.resolveSandboxed)(ctx.projectDir, cwd) : ctx.projectDir;
141
+ const workDir = cwd ? (0, sandbox_1.resolveSandboxed)(ctx, cwd) : ctx.projectDir;
142
142
  const startTime = Date.now();
143
143
  const isWindows = process.platform === 'win32';
144
144
  const windowsInvocation = isWindows ? buildWindowsShellInvocation(command) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../../src/tools/run-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../../src/tools/run-command.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  /**
2
- * Sandbox utilities: path validation, ensuring operations stay within project directory.
2
+ * Path resolution utilities.
3
+ *
4
+ * Relative paths resolve inside the current project/workspace.
5
+ * Absolute paths are allowed when project sandboxing is disabled.
3
6
  */
7
+ import type { ToolContext } from '../types';
4
8
  /**
5
- * Resolve a path relative to the project directory and ensure it doesn't escape.
6
- * Throws if the resolved path is outside the sandbox.
9
+ * Resolve a path relative to the project directory/workspace.
10
+ * When project sandboxing is enabled, the resolved path must stay inside the project directory.
11
+ * When sandboxing is disabled, absolute paths are allowed anywhere on disk.
7
12
  */
8
- export declare function resolveSandboxed(projectDir: string, filePath: string): string;
13
+ export declare function resolveSandboxed(projectDirOrCtx: string | ToolContext, filePath: string): string;
9
14
  /**
10
15
  * Check if a file exists within the sandbox.
11
16
  */
12
- export declare function existsInSandbox(projectDir: string, filePath: string): Promise<boolean>;
17
+ export declare function existsInSandbox(projectDirOrCtx: string | ToolContext, filePath: string): Promise<boolean>;
13
18
  /**
14
19
  * Validate file size is within limits.
15
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/tools/sandbox.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB7E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ5F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/tools/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAqB5C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6BhG;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ/G;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF"}