@rubytech/create-maxy-code 0.1.566 → 0.1.567
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/package.json +1 -1
- package/payload/platform/neo4j/schema.cypher +9 -0
- package/payload/platform/package-lock.json +66 -1
- package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
- package/payload/platform/plugins/admin/hooks/lib/maxy-mcp-plugins.txt +1 -0
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +48 -1
- package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +5 -1
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +6 -0
- package/payload/platform/plugins/docs/references/channel-wake-and-prompt.md +47 -0
- package/payload/platform/plugins/inventory/.claude-plugin/plugin.json +21 -0
- package/payload/platform/plugins/inventory/PLUGIN.md +75 -0
- package/payload/platform/plugins/inventory/lib/mcp-spawn-tee/index.js +204 -0
- package/payload/platform/plugins/inventory/lib/mcp-spawn-tee/package.json +3 -0
- package/payload/platform/plugins/inventory/mcp/dist/index.d.ts +2 -0
- package/payload/platform/plugins/inventory/mcp/dist/index.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/index.js +241 -0
- package/payload/platform/plugins/inventory/mcp/dist/index.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/forecast.d.ts +20 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/forecast.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/forecast.js +29 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/forecast.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/neo4j.d.ts +5 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/neo4j.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/neo4j.js +40 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/neo4j.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/read.d.ts +28 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/read.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/read.js +91 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/read.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/replenish.d.ts +56 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/replenish.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/replenish.js +107 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/replenish.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/types.d.ts +98 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/types.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/types.js +7 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/types.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/write-rejects.d.ts +12 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/write-rejects.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/write-rejects.js +49 -0
- package/payload/platform/plugins/inventory/mcp/dist/lib/write-rejects.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/demand-record.d.ts +20 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/demand-record.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/demand-record.js +53 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/demand-record.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/forecast.d.ts +23 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/forecast.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/forecast.js +18 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/forecast.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/policy-set.d.ts +25 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/policy-set.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/policy-set.js +37 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/policy-set.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/purchase-order-record.d.ts +25 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/purchase-order-record.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/purchase-order-record.js +43 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/purchase-order-record.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/replenish-plan.d.ts +29 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/replenish-plan.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/replenish-plan.js +95 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/replenish-plan.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/stock-record.d.ts +21 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/stock-record.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/stock-record.js +46 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/stock-record.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/supplier-terms-set.d.ts +24 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/supplier-terms-set.d.ts.map +1 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/supplier-terms-set.js +29 -0
- package/payload/platform/plugins/inventory/mcp/dist/tools/supplier-terms-set.js.map +1 -0
- package/payload/platform/plugins/inventory/mcp/package.json +21 -0
- package/payload/platform/plugins/memory/references/schema-retail.md +20 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +8 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +66 -5
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-spawn-model.d.ts +28 -0
- package/payload/platform/services/claude-session-manager/dist/public-spawn-model.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/public-spawn-model.js +58 -0
- package/payload/platform/services/claude-session-manager/dist/public-spawn-model.js.map +1 -0
- package/payload/platform/services/telegram-channel/dist/server.d.ts +5 -0
- package/payload/platform/services/telegram-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/server.js +22 -2
- package/payload/platform/services/telegram-channel/dist/server.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts +34 -2
- package/payload/platform/services/telegram-channel/dist/turn-follow.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/turn-follow.js +150 -14
- package/payload/platform/services/telegram-channel/dist/turn-follow.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/server.d.ts +5 -0
- package/payload/platform/services/webchat-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/server.js +22 -2
- package/payload/platform/services/webchat-channel/dist/server.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/turn-follow.d.ts +34 -2
- package/payload/platform/services/webchat-channel/dist/turn-follow.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/turn-follow.js +150 -14
- package/payload/platform/services/webchat-channel/dist/turn-follow.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.d.ts +10 -2
- package/payload/platform/services/whatsapp-channel/dist/server.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/server.js +45 -6
- package/payload/platform/services/whatsapp-channel/dist/server.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts +34 -2
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.js +153 -15
- package/payload/platform/services/whatsapp-channel/dist/turn-follow.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,+EAA+E;AAC/E,0EAA0E;AAC1E,eAAe;AACf,2EAA2E;AAC3E,uDAAuD;AACvD,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,6EAA6E;AAC7E,8EAA8E;AAC9E,6DAA6D;AAC7D,EAAE;AACF,oEAAoE;AACpE,sDAAsD;AACtD,0EAA0E;AAC1E,qEAAqE;AAErE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,aAAa,EAAuB,MAAM,mBAAmB,CAAA;AAClL,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,yBAAyB,EAAgC,MAAM,iBAAiB,CAAA;AACpL,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oCAAoC,EAAE,MAAM,mBAAmB,CAAA;AAEjH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAA;IACxE,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,GAAG,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAEhF,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,gFAAgF;AAChF,6BAA6B;AAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAA;AAC/D,IAAI,SAAS,GAAkB,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACpF,gFAAgF;AAChF,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,WAAW;AACX,IAAI,YAAY,GAAG,CAAC,CAAA;AACpB,IAAI,eAAe,GAAG,KAAK,CAAA;AAC3B,0EAA0E;AAC1E,gFAAgF;AAChF,6EAA6E;AAC7E,MAAM,kBAAkB,GAAc,EAAE,CAAA;AAExC,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAC9B,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,0EAA0E;AAC1E,2EAA2E;AAC3E,gFAAgF;AAChF,iFAAiF;AACjF,4EAA4E;AAC5E,iDAAiD;AACjD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EACrC;IACE,qEAAqE;IACrE,2EAA2E;IAC3E,uEAAuE;IACvE,yCAAyC;IACzC,YAAY,EAAE;QACZ,YAAY,EAAE;YACZ,gBAAgB,EAAE,EAAE;YACpB,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;QACD,KAAK,EAAE,EAAE;KACV;IACD,YAAY,EAAE,YAAY;CAC3B,CACF,CAAA;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,wEAAwE;AACxE,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAC7E,sEAAsE;AACtE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;IACrB,GAAG,CAAC,sBAAsB,CACxB,mCAA4C,EAC5C,CAAC,KAAK,EAAE,YAAiD,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;QAClC,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,SAAS,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QACnH,IAAI,GAAa,CAAA;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,qCAAqC,EAAE;gBACrE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aAC/D,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,UAAU,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClI,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA8D,CAAA;QAC9G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,MAAM,GAAG,CAAC,YAAY,CAAC;YACrB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;SAClE,CAAC,CAAA;QACF,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,UAAU,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/F,CAAC,CAAU,CACZ,CAAA;AACH,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,uEAAuE;AACvE,0EAA0E;AAC1E,4EAA4E;AAC5E,SAAS;AACT,IAAI,eAA4B,CAAA;AAChC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAChD,eAAe,GAAG,OAAO,CAAA;AAC3B,CAAC,CAAC,CAAA;AACF,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE;IACvB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACjD,eAAe,EAAE,CAAA;AACnB,CAAC,CAAA;AAED,GAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,KAAK,GAAuF,EAAE,CAAA;IACpG,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,6BAA6B;IAC7B,0EAA0E;IAC1E,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,oCAAoC,EAAE;YACnD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4EAA4E;qBAC1F;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,qFAAqF;qBACnG;iBACF;gBACD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC,CAAC,CAAA;AAEF,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,qCAAqC;AAErC,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzD,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACjD,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAC7E,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,SAA8D,CAAA;QACnF,MAAM,IAAI,GAAG,CAAC,EAAE,cAAc,CAAA;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACtF,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACvC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,iCAAiC,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SAC3E,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAgE,CAAA;QAChH,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,2BAA2B,IAAI,+FAA+F,IAAI,CAAC,GAAG,IAAI;gCAC1I,4HAA4H;yBAC/H;qBACF;iBACF,CAAA;YACH,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,yCAAyC,IAAI,oDAAoD,IAAI,2BAA2B;yBACvI;qBACF;iBACF,CAAA;YACH,CAAC;YACD,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAA;QAC1E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACrD,CAAC,CAAC,CAAA;AAEF,4EAA4E;AAC5E,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,6EAA6E;AAC7E,mBAAmB;AACnB,KAAK,UAAU,SAAS;IACtB,MAAM,KAAK,CAAC,GAAG,WAAW,wBAAwB,EAAE;QAClD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;KACnC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,8EAA8E;IAC9E,8EAA8E;IAC9E,sEAAsE;IACtE,MAAM,GAAG,GAAG,GAAG,WAAW,gCAAgC,kBAAkB,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAA;IACpH,SAAS,CAAC;QACR,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;YAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5E,gEAAgE;YAChE,sEAAsE;YACtE,oEAAoE;YACpE,iEAAiE;YACjE,oEAAoE;YACpE,2DAA2D;YAC3D,+DAA+D;YAC/D,sEAAsE;YACtE,MAAM,WAAW,CAAA;YACjB,MAAM,SAAS,EAAE,CAAA;YACjB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;YACjC,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,SAAS,CAAC;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC3C,IAAI,IAAI;oBAAE,MAAK;gBACf,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACnC,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;gBAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;oBACrE,IAAI,CAAC,QAAQ;wBAAE,SAAQ;oBACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;oBAClD,IAAI,CAAC,IAAI;wBAAE,SAAQ,CAAC,iBAAiB;oBACrC,IAAI,OAAuB,CAAA;oBAC3B,IAAI,CAAC;wBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC5B,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAQ;oBACV,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;wBAAE,SAAQ;oBACvC,iEAAiE;oBACjE,oEAAoE;oBACpE,oEAAoE;oBACpE,uEAAuE;oBACvE,+DAA+D;oBAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;oBAC9C,OAAO,CAAC,KAAK,CACX,sCAAsC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,iBAAiB,QAAQ,CAAC,YAAY,EAAE,CAC3G,CAAA;oBACD,qEAAqE;oBACrE,mEAAmE;oBACnE,oEAAoE;oBACpE,sEAAsE;oBACtE,+DAA+D;oBAC/D,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;wBACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;wBACnD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI;4BAC3C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC;4BAClE,CAAC,CAAC,CAAC,CAAA;wBACL,OAAO,CAAC,KAAK,CACX,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAC7B,CAAC,CAAC,uCAAuC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,OAAO,CAAC,SAAS,gBAAgB,WAAW,iBAAiB,QAAQ,CAAC,YAAY,EAAE;4BAC1J,CAAC,CAAC,+CAA+C,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,OAAO,CAAC,SAAS,SAAS,IAAI,EAAE,CACjH,CAAA;oBACH,CAAC;oBACD,uEAAuE;oBACvE,sEAAsE;oBACtE,uDAAuD;oBACvD,IAAI,eAAe,GAAG,CAAC,CAAA;oBACvB,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC;4BACH,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAA;wBAC5C,CAAC;wBAAC,MAAM,CAAC;4BACP,eAAe,GAAG,CAAC,CAAA;wBACrB,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,CAAC,YAAY,CAAC;wBACrB,MAAM,EAAE,8BAAuC;wBAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;qBACtC,CAAC,CAAA;oBACF,8DAA8D;oBAC9D,+DAA+D;oBAC/D,mDAAmD;oBACnD,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,KAAK,IAAI,EAAE;wBACT,IAAI,CAAC;4BACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,2BAA2B,EAAE;gCAC/D,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gCAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;6BACpE,CAAC,CAAA;4BACF,OAAO,CAAC,CAAC,EAAE,CAAA;wBACb,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,KAAK,CAAA;wBACd,CAAC;oBACH,CAAC,EACD;wBACE,QAAQ,EAAE,oBAAoB;wBAC9B,OAAO,EAAE,oBAAoB;wBAC7B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;qBACrD,CACF,CAAA;oBACD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CACX,+CAA+C,GAAG,cAAc,OAAO,CAAC,SAAS,aAAa,oBAAoB,EAAE,CACrH,CAAA;oBACH,CAAC;oBACD,wEAAwE;oBACxE,wEAAwE;oBACxE,yEAAyE;oBACzE,qEAAqE;oBACrE,kEAAkE;oBAClE,sEAAsE;oBACtE,kEAAkE;oBAClE,iDAAiD;oBACjD,IAAI,CAAC,SAAS,IAAI,UAAU;wBAAE,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAA;oBAC3E,IAAI,SAAS,EAAE,CAAC;wBACd,YAAY,EAAE,CAAA;wBACd,uEAAuE;wBACvE,uEAAuE;wBACvE,oEAAoE;wBACpE,yDAAyD;wBACzD,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;wBACpD,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,eAAe,GAAG,IAAI,CAAA;4BACtB,MAAM,UAAU,GAAG,SAAS,CAAA;4BAC5B,MAAM,WAAW,GAAG,eAAe,CAAA;4BACnC,KAAK,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;gCACvD,IAAI,YAAY,IAAI,CAAC;oCAAE,OAAM;gCAC7B,YAAY,EAAE,CAAA;gCACd,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,IAAI,CAAA;gCACtD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;gCACtE,KAAK,KAAK,CAAC,GAAG,WAAW,2BAA2B,EAAE;oCACpD,MAAM,EAAE,MAAM;oCACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oCAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;iCACtJ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;4BACpB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gCACd,iEAAiE;gCACjE,2DAA2D;gCAC3D,gEAAgE;gCAChE,YAAY,GAAG,CAAC,CAAA;gCAChB,eAAe,GAAG,KAAK,CAAA;gCACvB,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAA;4BAC/B,CAAC,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAC5G,CAAA;QACH,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAA;IAC7C,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,0BAA0B;IAC1B,MAAM,gBAAgB,EAAE,CAAA;AAC1B,CAAC;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,wBAAwB;AACxB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7F,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,17 @@ export interface TurnOutcome {
|
|
|
11
11
|
* offsets; `followTurnEnds` overwrites both before calling back. */
|
|
12
12
|
segmentStart: number;
|
|
13
13
|
segmentEnd: number;
|
|
14
|
+
/** Task 2451 — `message.id` of the closing end_turn row; '' when the row
|
|
15
|
+
* carries none. Claude Code 2.1.222 can persist ONE assistant message as
|
|
16
|
+
* several rows, each stamped end_turn, so this is the identity
|
|
17
|
+
* `followTurnEnds` merges a split message on. */
|
|
18
|
+
messageId: string;
|
|
19
|
+
/** Task 2451 — `type:'tool_use'` blocks across EVERY assistant row in the
|
|
20
|
+
* segment. `replied` cannot serve here: it matches only the retired reply
|
|
21
|
+
* tool names, so a turn that called Read or Bash reports replied=false
|
|
22
|
+
* with tool_use present. The hold rule needs "this turn called no tool
|
|
23
|
+
* at all". */
|
|
24
|
+
toolUseBlocks: number;
|
|
14
25
|
/** Task 2364 — the turn's token and thinking counts, for the gateway's
|
|
15
26
|
* op=turn-context line. */
|
|
16
27
|
context: TurnContextCounts;
|
|
@@ -50,13 +61,34 @@ export type OnTurnEnd = (outcome: TurnOutcome) => void;
|
|
|
50
61
|
* claude-session-manager/src/jsonl-path.ts) to avoid a cross-package dep.
|
|
51
62
|
*/
|
|
52
63
|
export declare function findJsonlForSessionId(sessionId: string, env?: NodeJS.ProcessEnv): string | null;
|
|
64
|
+
/**
|
|
65
|
+
* Task 2451 — the follower's live hold state, mutated in place so the owning
|
|
66
|
+
* channel server can log a standing census without the follower importing a
|
|
67
|
+
* logger. A held segment that never resolves emits no event of its own; the
|
|
68
|
+
* census is the only surface that shows it.
|
|
69
|
+
*/
|
|
70
|
+
export interface FollowerState {
|
|
71
|
+
/** True while a thinking-only close is held awaiting the rest of its message. */
|
|
72
|
+
held: boolean;
|
|
73
|
+
/** `message.id` of the held segment; '' when not holding. */
|
|
74
|
+
heldMessageId: string;
|
|
75
|
+
/** Clock value when the hold began; -1 when not holding. */
|
|
76
|
+
heldSinceMs: number;
|
|
77
|
+
/** `message.id` of the last outcome emitted; '' before the first. */
|
|
78
|
+
lastMessageId: string;
|
|
79
|
+
}
|
|
53
80
|
/**
|
|
54
81
|
* Tail `jsonlPath` from `startOffset` for the life of the session, invoking
|
|
55
|
-
* `onTurnEnd` once
|
|
82
|
+
* `onTurnEnd` once per TURN. Task 2451: that is once per assistant end_turn
|
|
83
|
+
* EXCEPT where one message was split across several end_turn rows, which are
|
|
84
|
+
* merged into a single call. It
|
|
56
85
|
* segments the JSONL at each end_turn so a follow-on turn produced from a
|
|
57
86
|
* mid-turn-queued message is reported too. The process dies with the session,
|
|
58
87
|
* so there is no per-turn timeout; the promise resolves only when the file
|
|
59
88
|
* becomes unreadable. Never rejects. (Mirror of the WhatsApp twin.)
|
|
60
89
|
*/
|
|
61
|
-
export declare function followTurnEnds(jsonlPath: string, startOffset: number, onTurnEnd: OnTurnEnd
|
|
90
|
+
export declare function followTurnEnds(jsonlPath: string, startOffset: number, onTurnEnd: OnTurnEnd, opts?: {
|
|
91
|
+
state?: FollowerState;
|
|
92
|
+
now?: () => number;
|
|
93
|
+
}): Promise<void>;
|
|
62
94
|
//# sourceMappingURL=turn-follow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-follow.d.ts","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAA;IACvB;;;yEAGqE;IACrE,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;gCAC4B;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B;
|
|
1
|
+
{"version":3,"file":"turn-follow.d.ts","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAA;IACvB;;;yEAGqE;IACrE,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB;;;sDAGkD;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB;;;;mBAIe;IACf,aAAa,EAAE,MAAM,CAAA;IACrB;gCAC4B;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAYD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;yEAEqE;IACrE,eAAe,EAAE,MAAM,CAAA;IACvB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAA;IACpB;;;6DAGyD;IACzD,cAAc,EAAE,MAAM,CAAA;IACtB;;gEAE4D;IAC5D,aAAa,EAAE,MAAM,CAAA;CACtB;AAOD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CA8EhE;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;AAkBtD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAmBf;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,IAAI,EAAE,OAAO,CAAA;IACb,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAA;CACtB;AAmCD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,IAAI,CAAC,CA+Jf"}
|
|
@@ -40,6 +40,8 @@ export function reduceTurnFromLines(lines) {
|
|
|
40
40
|
let outputTokens = -1;
|
|
41
41
|
let thinkingBlocks = 0;
|
|
42
42
|
let thinkingChars = 0;
|
|
43
|
+
let messageId = '';
|
|
44
|
+
let toolUseBlocks = 0;
|
|
43
45
|
for (const line of lines) {
|
|
44
46
|
if (!line)
|
|
45
47
|
continue;
|
|
@@ -58,6 +60,11 @@ export function reduceTurnFromLines(lines) {
|
|
|
58
60
|
// assistant row in the turn contributes, not only the end_turn row.
|
|
59
61
|
if (msg && Array.isArray(msg.content)) {
|
|
60
62
|
for (const block of msg.content) {
|
|
63
|
+
// Task 2451 — counted here, in the same unguarded pass as thinking, so
|
|
64
|
+
// a row whose content is present but whose shape fails the later guard
|
|
65
|
+
// still contributes its tool calls.
|
|
66
|
+
if (block?.type === 'tool_use')
|
|
67
|
+
toolUseBlocks++;
|
|
61
68
|
if (block?.type !== 'thinking')
|
|
62
69
|
continue;
|
|
63
70
|
thinkingBlocks++;
|
|
@@ -65,18 +72,22 @@ export function reduceTurnFromLines(lines) {
|
|
|
65
72
|
thinkingChars += block.thinking.length;
|
|
66
73
|
}
|
|
67
74
|
}
|
|
68
|
-
//
|
|
69
|
-
//
|
|
75
|
+
// Task 2451 — a segment normally holds exactly one end_turn row, but a MERGED
|
|
76
|
+
// segment holds every end_turn row of one split assistant message. Those rows
|
|
77
|
+
// carry identical `id` and `usage` (measured on msg_011Cdk9NsrGoTd4dEsi25uvq),
|
|
78
|
+
// so re-assigning per row is last-wins over equal values.
|
|
70
79
|
if (isEnd) {
|
|
80
|
+
messageId = typeof msg?.id === 'string' ? msg.id : '';
|
|
71
81
|
cacheReadTokens = usageNum(msg?.usage?.cache_read_input_tokens);
|
|
72
82
|
inputTokens = usageNum(msg?.usage?.input_tokens);
|
|
73
83
|
outputTokens = usageNum(msg?.usage?.output_tokens);
|
|
74
84
|
}
|
|
75
85
|
if (!msg || !Array.isArray(msg.content)) {
|
|
76
|
-
|
|
86
|
+
// Task 2451 — `finalText` is NOT cleared here. It is '' unless an earlier
|
|
87
|
+
// end_turn row of the same merged message already contributed text, and
|
|
88
|
+
// erasing that would drop an answer this segment holds.
|
|
89
|
+
if (isEnd)
|
|
77
90
|
reachedEndTurn = true;
|
|
78
|
-
finalText = '';
|
|
79
|
-
}
|
|
80
91
|
continue;
|
|
81
92
|
}
|
|
82
93
|
let endText = '';
|
|
@@ -90,7 +101,10 @@ export function reduceTurnFromLines(lines) {
|
|
|
90
101
|
}
|
|
91
102
|
if (isEnd) {
|
|
92
103
|
reachedEndTurn = true;
|
|
93
|
-
|
|
104
|
+
// Task 2451 — accumulate rather than assign: a split message is ONE answer,
|
|
105
|
+
// so its text is the concatenation of its rows. Identical to assignment on
|
|
106
|
+
// an ordinary segment, which holds a single end_turn row.
|
|
107
|
+
finalText += endText;
|
|
94
108
|
}
|
|
95
109
|
}
|
|
96
110
|
return {
|
|
@@ -99,6 +113,8 @@ export function reduceTurnFromLines(lines) {
|
|
|
99
113
|
reachedEndTurn,
|
|
100
114
|
segmentStart: -1,
|
|
101
115
|
segmentEnd: -1,
|
|
116
|
+
messageId,
|
|
117
|
+
toolUseBlocks,
|
|
102
118
|
context: { cacheReadTokens, inputTokens, outputTokens, thinkingBlocks, thinkingChars },
|
|
103
119
|
};
|
|
104
120
|
}
|
|
@@ -148,15 +164,52 @@ export function findJsonlForSessionId(sessionId, env = process.env) {
|
|
|
148
164
|
}
|
|
149
165
|
return null;
|
|
150
166
|
}
|
|
167
|
+
/** The `message.id` of an assistant row, or '' for any other row shape. */
|
|
168
|
+
function rowMessageId(line) {
|
|
169
|
+
if (!line)
|
|
170
|
+
return '';
|
|
171
|
+
let ev;
|
|
172
|
+
try {
|
|
173
|
+
ev = JSON.parse(line);
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return '';
|
|
177
|
+
}
|
|
178
|
+
if (ev.type !== 'assistant')
|
|
179
|
+
return '';
|
|
180
|
+
return typeof ev.message?.id === 'string' ? ev.message.id : '';
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Task 2451 — a close reducing to no text, no tool use and at least one thinking
|
|
184
|
+
* block is not a finished turn. Claude Code 2.1.222 persists one assistant
|
|
185
|
+
* message as one row per content block, each stamped end_turn, so the thinking
|
|
186
|
+
* row closes the turn before the text row exists. Measured on account 5bc2c0e2:
|
|
187
|
+
* 89 of 481 end_turn rows are thinking-only and 89 of 89 are followed by a text
|
|
188
|
+
* end_turn row of the same message.
|
|
189
|
+
*/
|
|
190
|
+
function isIncompleteClose(o) {
|
|
191
|
+
// A close with no `message.id` is never held. The hold is released by the
|
|
192
|
+
// first row whose id differs, and `rowMessageId` reports '' for EVERY
|
|
193
|
+
// non-assistant row, so a hold keyed on '' matches the next user row instead
|
|
194
|
+
// of releasing on it: that row joins the held segment, the empty turn takes
|
|
195
|
+
// its inbound, and the real answer arrives with nothing left to consume and is
|
|
196
|
+
// discarded at the server's credit guard. That is precisely the loss this
|
|
197
|
+
// hold exists to prevent, reintroduced by the identity test degenerating.
|
|
198
|
+
if (o.messageId === '')
|
|
199
|
+
return false;
|
|
200
|
+
return o.finalText === '' && o.toolUseBlocks === 0 && o.context.thinkingBlocks >= 1;
|
|
201
|
+
}
|
|
151
202
|
/**
|
|
152
203
|
* Tail `jsonlPath` from `startOffset` for the life of the session, invoking
|
|
153
|
-
* `onTurnEnd` once
|
|
204
|
+
* `onTurnEnd` once per TURN. Task 2451: that is once per assistant end_turn
|
|
205
|
+
* EXCEPT where one message was split across several end_turn rows, which are
|
|
206
|
+
* merged into a single call. It
|
|
154
207
|
* segments the JSONL at each end_turn so a follow-on turn produced from a
|
|
155
208
|
* mid-turn-queued message is reported too. The process dies with the session,
|
|
156
209
|
* so there is no per-turn timeout; the promise resolves only when the file
|
|
157
210
|
* becomes unreadable. Never rejects. (Mirror of the WhatsApp twin.)
|
|
158
211
|
*/
|
|
159
|
-
export async function followTurnEnds(jsonlPath, startOffset, onTurnEnd) {
|
|
212
|
+
export async function followTurnEnds(jsonlPath, startOffset, onTurnEnd, opts = {}) {
|
|
160
213
|
let baseSize;
|
|
161
214
|
try {
|
|
162
215
|
baseSize = statSync(jsonlPath).size;
|
|
@@ -176,6 +229,43 @@ export async function followTurnEnds(jsonlPath, startOffset, onTurnEnd) {
|
|
|
176
229
|
let segStart = Math.min(startOffset, baseSize);
|
|
177
230
|
let segEnd = segStart;
|
|
178
231
|
let segment = [];
|
|
232
|
+
const state = opts.state;
|
|
233
|
+
const now = opts.now ?? (() => Date.now());
|
|
234
|
+
// Task 2451 — the held segment's lines and its byte start. `heldId` is the
|
|
235
|
+
// message identity a later row must match to extend it. Null when not holding.
|
|
236
|
+
let heldSegment = null;
|
|
237
|
+
let heldId = '';
|
|
238
|
+
let heldStart = 0;
|
|
239
|
+
/** Emit an outcome over the given lines and record it on the shared state. */
|
|
240
|
+
const emit = (lines, start, end) => {
|
|
241
|
+
const outcome = reduceTurnFromLines(lines);
|
|
242
|
+
outcome.segmentStart = start;
|
|
243
|
+
outcome.segmentEnd = end;
|
|
244
|
+
if (state)
|
|
245
|
+
state.lastMessageId = outcome.messageId;
|
|
246
|
+
onTurnEnd(outcome);
|
|
247
|
+
};
|
|
248
|
+
/** Release a held segment as its own (empty-answer) turn. */
|
|
249
|
+
const clearHold = () => {
|
|
250
|
+
heldSegment = null;
|
|
251
|
+
heldId = '';
|
|
252
|
+
if (state) {
|
|
253
|
+
state.held = false;
|
|
254
|
+
state.heldMessageId = '';
|
|
255
|
+
state.heldSinceMs = -1;
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
// Declared ahead of `settle`, which calls it: both are const arrow functions
|
|
259
|
+
// in one scope, so the reverse order throws a TDZ ReferenceError on the
|
|
260
|
+
// watcher-error path, which TypeScript does not report.
|
|
261
|
+
const flushHeld = (end) => {
|
|
262
|
+
if (!heldSegment)
|
|
263
|
+
return;
|
|
264
|
+
const lines = heldSegment;
|
|
265
|
+
const start = heldStart;
|
|
266
|
+
clearHold();
|
|
267
|
+
emit(lines, start, end);
|
|
268
|
+
};
|
|
179
269
|
let settled = false;
|
|
180
270
|
const settle = () => {
|
|
181
271
|
if (settled)
|
|
@@ -183,6 +273,10 @@ export async function followTurnEnds(jsonlPath, startOffset, onTurnEnd) {
|
|
|
183
273
|
settled = true;
|
|
184
274
|
watcher.close();
|
|
185
275
|
clearInterval(poll);
|
|
276
|
+
// Task 2451 — a hold outstanding when the session ends is that answer's
|
|
277
|
+
// last chance to be reported. Flush before the promise resolves and the
|
|
278
|
+
// owning server clears its counters.
|
|
279
|
+
flushHeld(segEnd);
|
|
186
280
|
resolve();
|
|
187
281
|
};
|
|
188
282
|
// Poll as well as watch: fs.watch misses appends on some platforms (notably
|
|
@@ -221,16 +315,58 @@ export async function followTurnEnds(jsonlPath, startOffset, onTurnEnd) {
|
|
|
221
315
|
const line = carry.slice(0, nl);
|
|
222
316
|
carry = carry.slice(nl + 1);
|
|
223
317
|
nl = carry.indexOf('\n');
|
|
224
|
-
|
|
318
|
+
// Task 2451 — a row belonging to a different message ends the held one.
|
|
319
|
+
// Releasing here rather than at the next end_turn keeps the hold as short
|
|
320
|
+
// as the transcript allows: a following user or tool row frees it at once.
|
|
321
|
+
// `segEnd` has not yet advanced past this line, so the flushed segment's
|
|
322
|
+
// end offset correctly excludes the releasing row, and `segStart` must
|
|
323
|
+
// move to that same boundary or the next outcome's byte range re-covers
|
|
324
|
+
// the flushed turn (webchat ships those offsets to the gateway).
|
|
325
|
+
if (heldSegment && rowMessageId(line) !== heldId) {
|
|
326
|
+
flushHeld(segEnd);
|
|
327
|
+
segStart = segEnd;
|
|
328
|
+
}
|
|
329
|
+
if (heldSegment) {
|
|
330
|
+
heldSegment.push(line);
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
segment.push(line);
|
|
334
|
+
}
|
|
225
335
|
segEnd += Buffer.byteLength(line, 'utf8') + 1;
|
|
226
|
-
if (isAssistantEndTurn(line))
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
336
|
+
if (!isAssistantEndTurn(line))
|
|
337
|
+
continue;
|
|
338
|
+
if (heldSegment) {
|
|
339
|
+
// Same message.id and it closes again: the rest of the split message
|
|
340
|
+
// has arrived. Emit the merged segment, empty text included — a merge
|
|
341
|
+
// that is still empty is an honest empty-answer turn.
|
|
342
|
+
const lines = heldSegment;
|
|
343
|
+
const start = heldStart;
|
|
344
|
+
clearHold();
|
|
345
|
+
emit(lines, start, segEnd);
|
|
346
|
+
segStart = segEnd;
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
const outcome = reduceTurnFromLines(segment);
|
|
350
|
+
if (isIncompleteClose(outcome)) {
|
|
351
|
+
heldSegment = segment;
|
|
352
|
+
heldId = outcome.messageId;
|
|
353
|
+
heldStart = segStart;
|
|
354
|
+
if (state) {
|
|
355
|
+
state.held = true;
|
|
356
|
+
state.heldMessageId = outcome.messageId;
|
|
357
|
+
state.heldSinceMs = now();
|
|
358
|
+
}
|
|
231
359
|
segment = [];
|
|
232
360
|
segStart = segEnd;
|
|
361
|
+
continue;
|
|
233
362
|
}
|
|
363
|
+
outcome.segmentStart = segStart;
|
|
364
|
+
outcome.segmentEnd = segEnd;
|
|
365
|
+
if (state)
|
|
366
|
+
state.lastMessageId = outcome.messageId;
|
|
367
|
+
onTurnEnd(outcome);
|
|
368
|
+
segment = [];
|
|
369
|
+
segStart = segEnd;
|
|
234
370
|
}
|
|
235
371
|
};
|
|
236
372
|
const watcher = watch(jsonlPath, { persistent: false }, () => drain());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-follow.js","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,qEAAqE;AACrE,EAAE;AACF,gFAAgF;AAChF,wEAAwE;AACxE,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,6BAA6B;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,gFAAgF;AAChF,qEAAqE;AACrE,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"turn-follow.js","sourceRoot":"","sources":["../src/turn-follow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
3
|
import { type WatchGrewFn, type FindJsonlFn } from './jsonl-watch.js';
|
|
4
|
-
import { type OnTurnEnd } from './turn-follow.js';
|
|
4
|
+
import { type OnTurnEnd, type FollowerState } from './turn-follow.js';
|
|
5
5
|
import { parseTargets, type TargetSet } from './targets.js';
|
|
6
6
|
export { parseTargets };
|
|
7
|
-
|
|
7
|
+
/** Task 2451 — how often each follower's hold state is reported. A held segment
|
|
8
|
+
* that never resolves emits nothing of its own, so this census is the only
|
|
9
|
+
* surface that shows it. Exported so tests assert the value without waiting it
|
|
10
|
+
* out. */
|
|
11
|
+
export declare const CENSUS_INTERVAL_MS = 60000;
|
|
12
|
+
export type FollowTurnEndsFn = (jsonlPath: string, startOffset: number, onTurnEnd: OnTurnEnd, opts?: {
|
|
13
|
+
state?: FollowerState;
|
|
14
|
+
now?: () => number;
|
|
15
|
+
}) => Promise<void>;
|
|
8
16
|
export declare const INSTRUCTIONS: string;
|
|
9
17
|
export declare const MULTI_INSTRUCTIONS: string;
|
|
10
18
|
export declare const mcp: Server<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAIlE,OAAO,EAAyC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC5G,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAIlE,OAAO,EAAyC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC5G,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAE,YAAY,EAAgH,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAE3L,OAAO,EAAE,YAAY,EAAE,CAAA;AAmCvB;;;WAGW;AACX,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,MAAM,MAAM,gBAAgB,GAAG,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EAEpB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,KACjD,OAAO,CAAC,IAAI,CAAC,CAAA;AAoBlB,eAAO,MAAM,YAAY,QAkBgE,CAAA;AAMzF,eAAO,MAAM,kBAAkB,QAqB0D,CAAA;AAEzF,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMf,CAAA;AAwBD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAiB3B,CAAA;AAqFD,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAC5C,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,gBAAgB,CAAA;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ThB;AAUD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,SAAS,EAClB,IAAI,CAAC,EAAE;IACL,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,gBAAgB,CAAA;CAClC,GACA,OAAO,CAAC,IAAI,CAAC,CAGf;AA4SD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB1C"}
|
|
@@ -48,6 +48,11 @@ const RECEIPT_ACK_DELAY_MS = 2000;
|
|
|
48
48
|
// drop happens inside the harness during the cold-resume window; by the time a
|
|
49
49
|
// 10 s watch times out that window has passed and a resend is processed.
|
|
50
50
|
const NOTIFICATION_RETRY_TIMEOUT_MS = 10_000;
|
|
51
|
+
/** Task 2451 — how often each follower's hold state is reported. A held segment
|
|
52
|
+
* that never resolves emits nothing of its own, so this census is the only
|
|
53
|
+
* surface that shows it. Exported so tests assert the value without waiting it
|
|
54
|
+
* out. */
|
|
55
|
+
export const CENSUS_INTERVAL_MS = 60_000;
|
|
51
56
|
// Task 1864 — audience-scoping provenance clause, prepended to both server-level
|
|
52
57
|
// instruction constants. The harness injects this server's instructions into the
|
|
53
58
|
// parent PTY and every in-process Agent-tool subagent it dispatches, so the bare
|
|
@@ -429,9 +434,23 @@ export async function subscribeInbound(opts) {
|
|
|
429
434
|
followerStarted = true;
|
|
430
435
|
const followPath = jsonlPath;
|
|
431
436
|
const followStart = turnStartOffset;
|
|
437
|
+
// Task 2451 — a held segment that never resolves emits no event of
|
|
438
|
+
// its own. This census is the only surface that shows it, and the
|
|
439
|
+
// only place credit drift is visible between turns.
|
|
440
|
+
const followerState = { held: false, heldMessageId: '', heldSinceMs: -1, lastMessageId: '' };
|
|
441
|
+
const census = setInterval(() => {
|
|
442
|
+
const heldAgeMs = followerState.held && followerState.heldSinceMs >= 0 ? Date.now() - followerState.heldSinceMs : -1;
|
|
443
|
+
console.error(`[whatsapp-turn-census] op=census sessionId=${sessionId ?? ''} pending=${pendingTurns} held=${followerState.held ? 1 : 0} heldMessageId=${followerState.heldMessageId} heldAgeMs=${heldAgeMs} lastMessageId=${followerState.lastMessageId}`);
|
|
444
|
+
}, CENSUS_INTERVAL_MS);
|
|
445
|
+
census.unref?.();
|
|
432
446
|
void followTurns(followPath, followStart, (outcome) => {
|
|
433
|
-
|
|
447
|
+
// Task 2451 — an answer discarded here was rendered in the
|
|
448
|
+
// reader and never reached the chat. finalBytes>0 is a parity
|
|
449
|
+
// breach; this line is the only place it is countable.
|
|
450
|
+
if (pendingTurns <= 0) {
|
|
451
|
+
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId ?? ''} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-credit`);
|
|
434
452
|
return;
|
|
453
|
+
}
|
|
435
454
|
// Task 2111 — a turn that answered no channel inbound decides
|
|
436
455
|
// nothing and consumes nothing. `followTurnEnds` segments on ANY
|
|
437
456
|
// assistant end_turn, so subagent turns, operator turns driven
|
|
@@ -439,8 +458,13 @@ export async function subscribeInbound(opts) {
|
|
|
439
458
|
// session e59ed04e, 26 of 100 segments hold zero channel rows.
|
|
440
459
|
// Consuming one entry each would take 111 against 85 pushes and
|
|
441
460
|
// steal a waiting person's entry.
|
|
442
|
-
if (outcome.consumedInbounds <= 0)
|
|
461
|
+
if (outcome.consumedInbounds <= 0) {
|
|
462
|
+
// Task 2451 — a turn that answered no channel inbound is not
|
|
463
|
+
// delivered by design, but it is still an outcome discarded
|
|
464
|
+
// in silence. Counted so the exclusion is measurable.
|
|
465
|
+
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId ?? ''} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-consumed-inbound`);
|
|
443
466
|
return;
|
|
467
|
+
}
|
|
444
468
|
// Task 2072 — the FIFO state this decision is made against, read
|
|
445
469
|
// before the decrement and before the splice, so a stale entry is
|
|
446
470
|
// readable from the gateway log without reproducing the drop.
|
|
@@ -481,7 +505,8 @@ export async function subscribeInbound(opts) {
|
|
|
481
505
|
headers: { 'content-type': 'application/json' },
|
|
482
506
|
body: JSON.stringify(buildTurnEndPostBody(SENDER_ID, ACCOUNT_ID, sessionId ?? '', outcome.replied, interactive, finalText, finalBytes, queueDepth, pendingTurnsBefore, consumed.length, source, outcome.context)),
|
|
483
507
|
}).catch(() => { });
|
|
484
|
-
}).finally(() => {
|
|
508
|
+
}, { state: followerState }).finally(() => {
|
|
509
|
+
clearInterval(census);
|
|
485
510
|
// The follower only settles on a stat failure (file unreadable —
|
|
486
511
|
// the session is ending). Any outstanding pendingTurns are no
|
|
487
512
|
// longer followable, so clear them: a replacement follower
|
|
@@ -553,13 +578,26 @@ function makeMultiTurnFollow(targets, followTurns) {
|
|
|
553
578
|
if (followerStarted)
|
|
554
579
|
return;
|
|
555
580
|
followerStarted = true;
|
|
581
|
+
// Task 2451 — see the single-target twin. One state object per follower.
|
|
582
|
+
const followerState = { held: false, heldMessageId: '', heldSinceMs: -1, lastMessageId: '' };
|
|
583
|
+
const census = setInterval(() => {
|
|
584
|
+
const heldAgeMs = followerState.held && followerState.heldSinceMs >= 0 ? Date.now() - followerState.heldSinceMs : -1;
|
|
585
|
+
console.error(`[whatsapp-turn-census] op=census sessionId=${sessionId} pending=${pendingTurns} held=${followerState.held ? 1 : 0} heldMessageId=${followerState.heldMessageId} heldAgeMs=${heldAgeMs} lastMessageId=${followerState.lastMessageId}`);
|
|
586
|
+
}, CENSUS_INTERVAL_MS);
|
|
587
|
+
census.unref?.();
|
|
556
588
|
void followTurns(jsonlPath, turnStartOffset, (outcome) => {
|
|
557
|
-
|
|
589
|
+
// Task 2451 — see the single-target twin: a discarded answer is logged,
|
|
590
|
+
// never dropped on a bare return.
|
|
591
|
+
if (pendingTurns <= 0) {
|
|
592
|
+
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-credit`);
|
|
558
593
|
return;
|
|
594
|
+
}
|
|
559
595
|
// Task 2111 — a turn that answered no channel inbound decides nothing and
|
|
560
596
|
// consumes nothing; see the single-target twin for the measurement.
|
|
561
|
-
if (outcome.consumedInbounds <= 0)
|
|
597
|
+
if (outcome.consumedInbounds <= 0) {
|
|
598
|
+
console.error(`[whatsapp-channel] op=turn-drop sessionId=${sessionId} messageId=${outcome.messageId} finalBytes=${Buffer.byteLength(outcome.finalText.trim(), 'utf8')} reason=no-consumed-inbound`);
|
|
562
599
|
return;
|
|
600
|
+
}
|
|
563
601
|
// Task 2072 — the FIFO state this decision is made against, read before the
|
|
564
602
|
// decrement and before the splice.
|
|
565
603
|
const pendingTurnsBefore = pendingTurns;
|
|
@@ -606,7 +644,8 @@ function makeMultiTurnFollow(targets, followTurns) {
|
|
|
606
644
|
body: JSON.stringify(buildTurnEndPostBody(whatsapp.senderId, whatsapp.accountId, sessionId, outcome.replied, interactiveTurn, finalText, finalBytes, queueDepth, pendingTurnsBefore, consumed.length, turnSource, outcome.context)),
|
|
607
645
|
}).catch(() => { });
|
|
608
646
|
}
|
|
609
|
-
}).finally(() => {
|
|
647
|
+
}, { state: followerState }).finally(() => {
|
|
648
|
+
clearInterval(census);
|
|
610
649
|
// The follower settles only on a stat failure (file unreadable — the
|
|
611
650
|
// session is ending). Clear any outstanding count so a replacement
|
|
612
651
|
// follower started by a later inbound begins clean.
|