alchemylab 1.0.13 → 1.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.
@@ -10,8 +10,6 @@ exports.createToolCallHash = createToolCallHash;
10
10
  exports.isDuplicateToolCall = isDuplicateToolCall;
11
11
  exports.clearRecentCalls = clearRecentCalls;
12
12
  exports.getRecentCallsCount = getRecentCallsCount;
13
- exports.hasProcessedMessage = hasProcessedMessage;
14
- exports.markMessageProcessed = markMessageProcessed;
15
13
  exports.tryMarkMessageProcessed = tryMarkMessageProcessed;
16
14
  exports.clearProcessedMessages = clearProcessedMessages;
17
15
  // Track recent tool calls with timestamps
@@ -69,32 +67,6 @@ function getRecentCallsCount() {
69
67
  }
70
68
  // Track last processed message ID per session to prevent duplicate triggers
71
69
  const lastProcessedMessageId = new Map();
72
- /**
73
- * Check if we've already processed this message for a session
74
- * Returns true if this message was already processed (should skip)
75
- * @deprecated Use tryMarkMessageProcessed for atomic check-and-mark
76
- */
77
- function hasProcessedMessage(sessionId, messageId) {
78
- if (!messageId)
79
- return false;
80
- const lastId = lastProcessedMessageId.get(sessionId);
81
- return lastId === messageId;
82
- }
83
- /**
84
- * Mark a message as processed for a session
85
- * @deprecated Use tryMarkMessageProcessed for atomic check-and-mark
86
- */
87
- function markMessageProcessed(sessionId, messageId) {
88
- if (!messageId)
89
- return;
90
- lastProcessedMessageId.set(sessionId, messageId);
91
- // Clean up old entries (keep max 100 sessions)
92
- if (lastProcessedMessageId.size > 100) {
93
- const firstKey = lastProcessedMessageId.keys().next().value;
94
- if (firstKey)
95
- lastProcessedMessageId.delete(firstKey);
96
- }
97
- }
98
70
  /**
99
71
  * Atomically check if message was processed and mark it if not.
100
72
  * Returns true if this call should proceed (message was NOT already processed).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemylab",
3
- "version": "1.0.13",
3
+ "version": "1.1.0",
4
4
  "private": false,
5
5
  "description": "AlchemyLab - agentic coding IDEm",
6
6
  "author": "Testfire Software",
@@ -29,6 +29,7 @@
29
29
  "scripts": {
30
30
  "build": "npm run build:dev",
31
31
  "build:dev": "tsc -p tsconfig.json && chmod +x dist-dev/*.js",
32
+ "dev:watch": "tsc -p tsconfig.json --watch",
32
33
  "build:prod": "webpack --mode=production && chmod +x dist/*.js && npm run copy:plugins",
33
34
  "copy:plugins": "mkdir -p dist/plugins/hooks/lib && cp dist-dev/plugins/hooks/plugin.js dist/plugins/hooks/ && cp dist-dev/plugins/hooks/lib/*.js dist/plugins/hooks/lib/ && cp dist-dev/plugins/inject-session.js dist/plugins/ && cp dist-dev/plugins/system-logger.js dist/plugins/",
34
35
  "build:analyze": "ANALYZE=true webpack --mode=production",