@treasuredata/tdx 2026.7.5 → 2026.8.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 (341) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli-categories.js +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/activations.js +1 -1
  8. package/dist/commands/agent-command.js +1 -1
  9. package/dist/commands/agent-test-command.js +1 -1
  10. package/dist/commands/api-command.d.ts.map +1 -1
  11. package/dist/commands/api-command.js +1 -1
  12. package/dist/commands/api-command.js.map +1 -1
  13. package/dist/commands/auth-command.js +1 -1
  14. package/dist/commands/auth-command.js.map +1 -1
  15. package/dist/commands/cas-command.js +1 -1
  16. package/dist/commands/cas-segment-command.js +1 -1
  17. package/dist/commands/chat-command.js +1 -1
  18. package/dist/commands/claude-command.d.ts.map +1 -1
  19. package/dist/commands/claude-command.js +1 -1
  20. package/dist/commands/claude-command.js.map +1 -1
  21. package/dist/commands/claude-statusline-command.js +1 -1
  22. package/dist/commands/claude-usage-command.js +1 -1
  23. package/dist/commands/command.d.ts +8 -0
  24. package/dist/commands/command.d.ts.map +1 -1
  25. package/dist/commands/command.js +1 -1
  26. package/dist/commands/command.js.map +1 -1
  27. package/dist/commands/connection-command.js +1 -1
  28. package/dist/commands/databases.js +1 -1
  29. package/dist/commands/delivery-command.js +1 -1
  30. package/dist/commands/describe.js +1 -1
  31. package/dist/commands/engage-always-on-campaign-pull-command.d.ts +16 -0
  32. package/dist/commands/engage-always-on-campaign-pull-command.d.ts.map +1 -0
  33. package/dist/commands/engage-always-on-campaign-pull-command.js +1 -0
  34. package/dist/commands/engage-always-on-campaign-pull-command.js.map +1 -0
  35. package/dist/commands/engage-always-on-campaign-push-command.d.ts +16 -0
  36. package/dist/commands/engage-always-on-campaign-push-command.d.ts.map +1 -0
  37. package/dist/commands/engage-always-on-campaign-push-command.js +1 -0
  38. package/dist/commands/engage-always-on-campaign-push-command.js.map +1 -0
  39. package/dist/commands/engage-always-on-campaign-validate-command.d.ts +16 -0
  40. package/dist/commands/engage-always-on-campaign-validate-command.d.ts.map +1 -0
  41. package/dist/commands/engage-always-on-campaign-validate-command.js +1 -0
  42. package/dist/commands/engage-always-on-campaign-validate-command.js.map +1 -0
  43. package/dist/commands/engage-campaign-pull-command.js +1 -1
  44. package/dist/commands/engage-campaign-push-command.js +1 -1
  45. package/dist/commands/engage-campaign-validate-command.js +1 -1
  46. package/dist/commands/engage-command.d.ts +1 -1
  47. package/dist/commands/engage-command.js +1 -1
  48. package/dist/commands/engage-template-pull-command.js +1 -1
  49. package/dist/commands/engage-template-push-command.js +1 -1
  50. package/dist/commands/engage-template-validate-command.js +1 -1
  51. package/dist/commands/job-command.js +1 -1
  52. package/dist/commands/journey-command.js +1 -1
  53. package/dist/commands/journey-validate-command.js +1 -1
  54. package/dist/commands/llm-command.js +1 -1
  55. package/dist/commands/mcp-command.js +1 -1
  56. package/dist/commands/parent-segment-command.js +1 -1
  57. package/dist/commands/policy-command.js +1 -1
  58. package/dist/commands/profile-command.js +1 -1
  59. package/dist/commands/profile-command.js.map +1 -1
  60. package/dist/commands/profiles-command.js +1 -1
  61. package/dist/commands/query-command.js +1 -1
  62. package/dist/commands/schedule-command.js +1 -1
  63. package/dist/commands/segment-command.js +1 -1
  64. package/dist/commands/segment-create-command.js +1 -1
  65. package/dist/commands/segment-fields-command.js +1 -1
  66. package/dist/commands/segment-move-command.js +1 -1
  67. package/dist/commands/segment-pull-command.js +1 -1
  68. package/dist/commands/segment-push-command.d.ts.map +1 -1
  69. package/dist/commands/segment-push-command.js +1 -1
  70. package/dist/commands/segment-push-command.js.map +1 -1
  71. package/dist/commands/segment-update-command.js +1 -1
  72. package/dist/commands/segment-use-command.js +1 -1
  73. package/dist/commands/segment-validate-command.js +1 -1
  74. package/dist/commands/segments.js +1 -1
  75. package/dist/commands/show.js +1 -1
  76. package/dist/commands/status-command.d.ts.map +1 -1
  77. package/dist/commands/status-command.js +1 -1
  78. package/dist/commands/status-command.js.map +1 -1
  79. package/dist/commands/table-deleted.js +1 -1
  80. package/dist/commands/tables.js +1 -1
  81. package/dist/commands/unset-command.js +1 -1
  82. package/dist/commands/upgrade-command.js +1 -1
  83. package/dist/commands/use-command.d.ts.map +1 -1
  84. package/dist/commands/use-command.js +1 -1
  85. package/dist/commands/use-command.js.map +1 -1
  86. package/dist/commands/user-command.js +1 -1
  87. package/dist/commands/work-command.js +1 -1
  88. package/dist/commands/workflow-command.js +1 -1
  89. package/dist/core/auth.js +1 -1
  90. package/dist/core/command-output.js +1 -1
  91. package/dist/core/config.js +1 -1
  92. package/dist/core/connection-cache.js +1 -1
  93. package/dist/core/constants.js +1 -1
  94. package/dist/core/credential-cache.js +1 -1
  95. package/dist/core/global-context.d.ts +35 -1
  96. package/dist/core/global-context.d.ts.map +1 -1
  97. package/dist/core/global-context.js +1 -1
  98. package/dist/core/global-context.js.map +1 -1
  99. package/dist/core/keychain.js +1 -1
  100. package/dist/core/oauth-keychain.js +1 -1
  101. package/dist/core/oauth.js +1 -1
  102. package/dist/core/profile.js +1 -1
  103. package/dist/core/project-config.js +1 -1
  104. package/dist/core/session.js +1 -1
  105. package/dist/core/site-mismatch.d.ts +68 -0
  106. package/dist/core/site-mismatch.d.ts.map +1 -0
  107. package/dist/core/site-mismatch.js +1 -0
  108. package/dist/core/site-mismatch.js.map +1 -0
  109. package/dist/core/user-cache.js +1 -1
  110. package/dist/core/version.js +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/mcp/server.js +1 -1
  113. package/dist/mcp/tools/index.js +1 -1
  114. package/dist/mcp/tools/tdx-run.js +1 -1
  115. package/dist/mcp/tools/tdx-search.js +1 -1
  116. package/dist/mcp/tools/work-create-item.js +1 -1
  117. package/dist/mcp/utils.js +1 -1
  118. package/dist/proxy/claude-usage-tracker.js +1 -1
  119. package/dist/proxy/passthrough-server.js +1 -1
  120. package/dist/proxy/sse-usage-parser.js +1 -1
  121. package/dist/sdk/agent/agent-config.js +1 -1
  122. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  123. package/dist/sdk/agent/agent-yaml.js +1 -1
  124. package/dist/sdk/agent/test/evaluator.js +1 -1
  125. package/dist/sdk/agent/test/executor.js +1 -1
  126. package/dist/sdk/agent/test/index.js +1 -1
  127. package/dist/sdk/agent/test/output.js +1 -1
  128. package/dist/sdk/agent/test/parser.js +1 -1
  129. package/dist/sdk/agent/tool-target-registry.js +1 -1
  130. package/dist/sdk/api.js +1 -1
  131. package/dist/sdk/cas/cas-api-client.js +1 -1
  132. package/dist/sdk/cas/cas-audience-schema.js +1 -1
  133. package/dist/sdk/cas/cas-audience-validator.js +1 -1
  134. package/dist/sdk/cas/cas-audience-yaml.js +1 -1
  135. package/dist/sdk/cas/cas-segment-yaml.js +1 -1
  136. package/dist/sdk/cas/index.js +1 -1
  137. package/dist/sdk/cas/pull-workflow.js +1 -1
  138. package/dist/sdk/cas/push-workflow.js +1 -1
  139. package/dist/sdk/cas/validate-files.js +1 -1
  140. package/dist/sdk/client/cdp-api-client.d.ts +6 -6
  141. package/dist/sdk/client/cdp-api-client.d.ts.map +1 -1
  142. package/dist/sdk/client/cdp-api-client.js +1 -1
  143. package/dist/sdk/client/cdp-api-client.js.map +1 -1
  144. package/dist/sdk/client/delivery-api-client.js +1 -1
  145. package/dist/sdk/client/endpoints.js +1 -1
  146. package/dist/sdk/client/engage-api-client.d.ts +1 -1
  147. package/dist/sdk/client/engage-api-client.d.ts.map +1 -1
  148. package/dist/sdk/client/engage-api-client.js +1 -1
  149. package/dist/sdk/client/engage-api-client.js.map +1 -1
  150. package/dist/sdk/client/http-client.js +1 -1
  151. package/dist/sdk/client/llm-api-client.js +1 -1
  152. package/dist/sdk/client/oauth-refresh.js +1 -1
  153. package/dist/sdk/client/rate-limiter.js +1 -1
  154. package/dist/sdk/client/td-api-client.js +1 -1
  155. package/dist/sdk/client/trino-api-client.js +1 -1
  156. package/dist/sdk/client/workflow-client.js +1 -1
  157. package/dist/sdk/connection-validator.d.ts +7 -4
  158. package/dist/sdk/connection-validator.d.ts.map +1 -1
  159. package/dist/sdk/connection-validator.js +1 -1
  160. package/dist/sdk/connection-validator.js.map +1 -1
  161. package/dist/sdk/connection.d.ts +15 -0
  162. package/dist/sdk/connection.d.ts.map +1 -1
  163. package/dist/sdk/connection.js +1 -1
  164. package/dist/sdk/connection.js.map +1 -1
  165. package/dist/sdk/delivery.js +1 -1
  166. package/dist/sdk/engage/always-on-campaign-pull.d.ts +66 -0
  167. package/dist/sdk/engage/always-on-campaign-pull.d.ts.map +1 -0
  168. package/dist/sdk/engage/always-on-campaign-pull.js +1 -0
  169. package/dist/sdk/engage/always-on-campaign-pull.js.map +1 -0
  170. package/dist/sdk/engage/always-on-campaign-push.d.ts +93 -0
  171. package/dist/sdk/engage/always-on-campaign-push.d.ts.map +1 -0
  172. package/dist/sdk/engage/always-on-campaign-push.js +1 -0
  173. package/dist/sdk/engage/always-on-campaign-push.js.map +1 -0
  174. package/dist/sdk/engage/always-on-campaign-validator.d.ts +18 -0
  175. package/dist/sdk/engage/always-on-campaign-validator.d.ts.map +1 -0
  176. package/dist/sdk/engage/always-on-campaign-validator.js +1 -0
  177. package/dist/sdk/engage/always-on-campaign-validator.js.map +1 -0
  178. package/dist/sdk/engage/always-on-campaign-yaml.d.ts +62 -0
  179. package/dist/sdk/engage/always-on-campaign-yaml.d.ts.map +1 -0
  180. package/dist/sdk/engage/always-on-campaign-yaml.js +1 -0
  181. package/dist/sdk/engage/always-on-campaign-yaml.js.map +1 -0
  182. package/dist/sdk/engage/campaign-pull.js +1 -1
  183. package/dist/sdk/engage/campaign-push.js +1 -1
  184. package/dist/sdk/engage/campaign-validator.js +1 -1
  185. package/dist/sdk/engage/campaign-yaml.js +1 -1
  186. package/dist/sdk/engage/campaign-yaml.js.map +1 -1
  187. package/dist/sdk/engage/template-pull.js +1 -1
  188. package/dist/sdk/engage/template-push.js +1 -1
  189. package/dist/sdk/engage/template-validator.js +1 -1
  190. package/dist/sdk/engage/template-yaml.js +1 -1
  191. package/dist/sdk/engage/types/always-on-campaign-schema.d.ts +125 -0
  192. package/dist/sdk/engage/types/always-on-campaign-schema.d.ts.map +1 -0
  193. package/dist/sdk/engage/types/always-on-campaign-schema.js +1 -0
  194. package/dist/sdk/engage/types/always-on-campaign-schema.js.map +1 -0
  195. package/dist/sdk/engage/types/campaign-def.js +1 -1
  196. package/dist/sdk/engage/types/campaign-schema.d.ts +8 -8
  197. package/dist/sdk/engage/types/campaign-schema.d.ts.map +1 -1
  198. package/dist/sdk/engage/types/campaign-schema.js +1 -1
  199. package/dist/sdk/engage/types/campaign-schema.js.map +1 -1
  200. package/dist/sdk/engage/types/template-schema.js +1 -1
  201. package/dist/sdk/engage.d.ts +20 -0
  202. package/dist/sdk/engage.d.ts.map +1 -1
  203. package/dist/sdk/engage.js +1 -1
  204. package/dist/sdk/engage.js.map +1 -1
  205. package/dist/sdk/errors.d.ts +13 -2
  206. package/dist/sdk/errors.d.ts.map +1 -1
  207. package/dist/sdk/errors.js +1 -1
  208. package/dist/sdk/errors.js.map +1 -1
  209. package/dist/sdk/index.js +1 -1
  210. package/dist/sdk/io/index.js +1 -1
  211. package/dist/sdk/io/node-filesystem.js +1 -1
  212. package/dist/sdk/job.js +1 -1
  213. package/dist/sdk/journey.js +1 -1
  214. package/dist/sdk/llm/chat-cache.js +1 -1
  215. package/dist/sdk/llm/index.js +1 -1
  216. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  217. package/dist/sdk/llm/model-factors.d.ts.map +1 -1
  218. package/dist/sdk/llm/model-factors.js +1 -1
  219. package/dist/sdk/llm/model-factors.js.map +1 -1
  220. package/dist/sdk/llm/user-settings.js +1 -1
  221. package/dist/sdk/personalization.js +1 -1
  222. package/dist/sdk/policy.js +1 -1
  223. package/dist/sdk/query/deleted-table-validation.js +1 -1
  224. package/dist/sdk/query/index.js +1 -1
  225. package/dist/sdk/query/sql-parser.js +1 -1
  226. package/dist/sdk/realtime.js +1 -1
  227. package/dist/sdk/schedule.js +1 -1
  228. package/dist/sdk/segment/child-segment-yaml.d.ts +12 -10
  229. package/dist/sdk/segment/child-segment-yaml.d.ts.map +1 -1
  230. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  231. package/dist/sdk/segment/child-segment-yaml.js.map +1 -1
  232. package/dist/sdk/segment/fields-display.js +1 -1
  233. package/dist/sdk/segment/file-discovery.js +1 -1
  234. package/dist/sdk/segment/journey-utils.js +1 -1
  235. package/dist/sdk/segment/journey-validator.js +1 -1
  236. package/dist/sdk/segment/journey-yaml.js +1 -1
  237. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  238. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  239. package/dist/sdk/segment/pull-workflow.js +1 -1
  240. package/dist/sdk/segment/push-recovery.js +1 -1
  241. package/dist/sdk/segment/push-workflow.d.ts.map +1 -1
  242. package/dist/sdk/segment/push-workflow.js +1 -1
  243. package/dist/sdk/segment/push-workflow.js.map +1 -1
  244. package/dist/sdk/segment/resolution-context.js +1 -1
  245. package/dist/sdk/segment/segment-path-parser.js +1 -1
  246. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  247. package/dist/sdk/segment/segment-validator.js +1 -1
  248. package/dist/sdk/segment/target-resolution.js +1 -1
  249. package/dist/sdk/segment/tdx-config.js +1 -1
  250. package/dist/sdk/segment/types/activation-schema.d.ts +66 -7
  251. package/dist/sdk/segment/types/activation-schema.d.ts.map +1 -1
  252. package/dist/sdk/segment/types/activation-schema.js +1 -1
  253. package/dist/sdk/segment/types/activation-schema.js.map +1 -1
  254. package/dist/sdk/segment/types/journey-def.js +1 -1
  255. package/dist/sdk/segment/types/journey-schema.js +1 -1
  256. package/dist/sdk/segment/types/segment-def.d.ts +1 -1
  257. package/dist/sdk/segment/types/segment-def.d.ts.map +1 -1
  258. package/dist/sdk/segment/types/segment-def.js +1 -1
  259. package/dist/sdk/segment/types/segment-def.js.map +1 -1
  260. package/dist/sdk/segment/types/segment-schema.d.ts +110 -1
  261. package/dist/sdk/segment/types/segment-schema.d.ts.map +1 -1
  262. package/dist/sdk/segment/types/segment-schema.js +1 -1
  263. package/dist/sdk/segment/types/segment-schema.js.map +1 -1
  264. package/dist/sdk/segment/validate-files.d.ts +6 -1
  265. package/dist/sdk/segment/validate-files.d.ts.map +1 -1
  266. package/dist/sdk/segment/validate-files.js +1 -1
  267. package/dist/sdk/segment/validate-files.js.map +1 -1
  268. package/dist/sdk/segment/yaml-validator.js +1 -1
  269. package/dist/sdk/segment.js +1 -1
  270. package/dist/sdk/types/cdp.d.ts +7 -3
  271. package/dist/sdk/types/cdp.d.ts.map +1 -1
  272. package/dist/sdk/types/engage.d.ts +31 -5
  273. package/dist/sdk/types/engage.d.ts.map +1 -1
  274. package/dist/sdk/types/index.d.ts +1 -1
  275. package/dist/sdk/types/index.d.ts.map +1 -1
  276. package/dist/sdk/types/index.js +1 -1
  277. package/dist/sdk/types/progress.js +1 -1
  278. package/dist/sdk/types/workspace.js +1 -1
  279. package/dist/sdk/user.js +1 -1
  280. package/dist/sdk/util/format-detector.js +1 -1
  281. package/dist/sdk/util/formatters.js +1 -1
  282. package/dist/sdk/util/index.js +1 -1
  283. package/dist/sdk/util/paginate.js +1 -1
  284. package/dist/sdk/util/tree-formatter.js +1 -1
  285. package/dist/sdk/util/tree-search.js +1 -1
  286. package/dist/sdk/workflow/archive-validation.js +1 -1
  287. package/dist/sdk/workflow/clone-workflow.js +1 -1
  288. package/dist/sdk/workflow/index.js +1 -1
  289. package/dist/sdk/workflow/pull-workflow.js +1 -1
  290. package/dist/sdk/workflow/push-workflow.js +1 -1
  291. package/dist/sdk/workflow/task-graph.js +1 -1
  292. package/dist/sdk/workflow/tdx-config.js +1 -1
  293. package/dist/sdk/workflow/workflow-utils.js +1 -1
  294. package/dist/sdk/workspace/access-tracker.js +1 -1
  295. package/dist/sdk/workspace/frontmatter.js +1 -1
  296. package/dist/sdk/workspace/git.js +1 -1
  297. package/dist/sdk/workspace/index.js +1 -1
  298. package/dist/sdk/workspace/templates.js +1 -1
  299. package/dist/sdk/workspace/weekly.js +1 -1
  300. package/dist/sdk/workspace/wikilinks.js +1 -1
  301. package/dist/test-utils/command-runner.js +1 -1
  302. package/dist/test-utils/factories.d.ts +6 -0
  303. package/dist/test-utils/factories.d.ts.map +1 -1
  304. package/dist/test-utils/factories.js +1 -1
  305. package/dist/test-utils/factories.js.map +1 -1
  306. package/dist/test-utils/fixtures.js +1 -1
  307. package/dist/test-utils/http-mock.js +1 -1
  308. package/dist/test-utils/index.d.ts +1 -1
  309. package/dist/test-utils/index.d.ts.map +1 -1
  310. package/dist/test-utils/index.js +1 -1
  311. package/dist/test-utils/index.js.map +1 -1
  312. package/dist/utils/async.js +1 -1
  313. package/dist/utils/claude-code-state.js +1 -1
  314. package/dist/utils/colors.js +1 -1
  315. package/dist/utils/diff.js +1 -1
  316. package/dist/utils/file-permissions.js +1 -1
  317. package/dist/utils/file-reader.js +1 -1
  318. package/dist/utils/github-releases.js +1 -1
  319. package/dist/utils/global-cache.js +1 -1
  320. package/dist/utils/json-loader.js +1 -1
  321. package/dist/utils/local-cache.js +1 -1
  322. package/dist/utils/logger/formatters/default-formatter.js +1 -1
  323. package/dist/utils/logger/formatters/index.js +1 -1
  324. package/dist/utils/logger/handlers/console-handler.js +1 -1
  325. package/dist/utils/logger/handlers/file-handler.js +1 -1
  326. package/dist/utils/logger/handlers/index.js +1 -1
  327. package/dist/utils/logger/handlers/null-handler.js +1 -1
  328. package/dist/utils/logger/index.js +1 -1
  329. package/dist/utils/logger/logger.js +1 -1
  330. package/dist/utils/logger/types.js +1 -1
  331. package/dist/utils/option-validation.js +1 -1
  332. package/dist/utils/process.js +1 -1
  333. package/dist/utils/prompt.js +1 -1
  334. package/dist/utils/proxy-fetch.js +1 -1
  335. package/dist/utils/spinner.js +1 -1
  336. package/dist/utils/sse-parser.js +1 -1
  337. package/dist/utils/string-utils.js +1 -1
  338. package/dist/utils/table-ref-parser.js +1 -1
  339. package/dist/utils/tdx-logger.js +1 -1
  340. package/dist/utils/version-check.js +1 -1
  341. package/package.json +1 -1
@@ -1 +1 @@
1
- function a77_0x51b0(){const _0x447099=['enum','title','deprecated','424zQobcQ','Document\x20kind\x20(default:\x20\x22item\x22)','filePath','review','2998605BaJUIp','479RPAXiO','Priority\x20level','string','Template\x20name\x20from\x20templates/\x20folder','181452lrSDur','replace','guide','Item\x20title\x20(required)','optional','130thvjDq','1273789bERsNt','void','backlog','high','accepted','todo','546243qTABty','1970IeaiFK','kind','planning','5821067vCnNhH','in_progress','low','design_review','superseded','fileName','createDocument','reference','108369YHMaqg','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','4LKiYkh','jira','proposed','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','describe','medium','priority','body'];a77_0x51b0=function(){return _0x447099;};return a77_0x51b0();}const a77_0x1d7ea8=a77_0x29ba;(function(_0xe67462,_0x485ab1){const _0x1ffe95=a77_0x29ba,_0x46bc71=_0xe67462();while(!![]){try{const _0x3c5be3=parseInt(_0x1ffe95(0x18b))/0x1*(parseInt(_0x1ffe95(0x19c))/0x2)+-parseInt(_0x1ffe95(0x19b))/0x3+-parseInt(_0x1ffe95(0x17b))/0x4*(-parseInt(_0x1ffe95(0x18a))/0x5)+-parseInt(_0x1ffe95(0x18f))/0x6+-parseInt(_0x1ffe95(0x19f))/0x7+parseInt(_0x1ffe95(0x186))/0x8*(-parseInt(_0x1ffe95(0x1a7))/0x9)+parseInt(_0x1ffe95(0x194))/0xa*(parseInt(_0x1ffe95(0x195))/0xb);if(_0x3c5be3===_0x485ab1)break;else _0x46bc71['push'](_0x46bc71['shift']());}catch(_0x5388e0){_0x46bc71['push'](_0x46bc71['shift']());}}}(a77_0x51b0,0xda77e));import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=[a77_0x1d7ea8(0x197),a77_0x1d7ea8(0x19a),a77_0x1d7ea8(0x19e),a77_0x1d7ea8(0x1a2),a77_0x1d7ea8(0x1a0),a77_0x1d7ea8(0x189),'done',a77_0x1d7ea8(0x196)],GUIDE_STATUSES=[a77_0x1d7ea8(0x17d),a77_0x1d7ea8(0x199),a77_0x1d7ea8(0x185),a77_0x1d7ea8(0x1a3)];function a77_0x29ba(_0xb5f725,_0x35e00d){_0xb5f725=_0xb5f725-0x17b;const _0x51b0e4=a77_0x51b0();let _0x29bae3=_0x51b0e4[_0xb5f725];return _0x29bae3;}export const WorkCreateItemInputSchema=z['object']({'title':z[a77_0x1d7ea8(0x18d)]()[a77_0x1d7ea8(0x17f)](a77_0x1d7ea8(0x192)),'kind':z[a77_0x1d7ea8(0x183)](['item','note',a77_0x1d7ea8(0x191),a77_0x1d7ea8(0x1a6)])[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)](a77_0x1d7ea8(0x187)),'status':z['enum']([...TASK_STATUSES,...GUIDE_STATUSES])[a77_0x1d7ea8(0x193)]()['describe']('Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)'),'tags':z['array'](z[a77_0x1d7ea8(0x18d)]())[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)]('Tags\x20for\x20the\x20item'),'priority':z[a77_0x1d7ea8(0x183)](['critical',a77_0x1d7ea8(0x198),a77_0x1d7ea8(0x180),a77_0x1d7ea8(0x1a1)])[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)](a77_0x1d7ea8(0x18c)),'body':z[a77_0x1d7ea8(0x18d)]()[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)]('Markdown\x20body\x20content'),'template':z[a77_0x1d7ea8(0x18d)]()[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)](a77_0x1d7ea8(0x18e)),'github':z[a77_0x1d7ea8(0x18d)]()[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)]('GitHub\x20PR/issue\x20reference\x20(owner/repo#number)'),'jira':z[a77_0x1d7ea8(0x18d)]()[a77_0x1d7ea8(0x193)]()[a77_0x1d7ea8(0x17f)](a77_0x1d7ea8(0x17e))});export function executeWorkCreateItem(_0x524c96){const _0x540c28=a77_0x1d7ea8,_0x296e73=resolveWorkspacePath();if(!_0x296e73)return{'success':![],'error':_0x540c28(0x1a8)};const _0x51bc6c=new WorkspaceSDK(_0x296e73),_0x3c227a={'title':_0x524c96[_0x540c28(0x184)],'kind':_0x524c96[_0x540c28(0x19d)]||'item','status':_0x524c96['status'],'tags':_0x524c96['tags'],'priority':_0x524c96[_0x540c28(0x181)],'body':_0x524c96[_0x540c28(0x182)],'template':_0x524c96['template'],'github':_0x524c96['github'],'jira':_0x524c96[_0x540c28(0x17c)]},_0x43bd44=_0x51bc6c[_0x540c28(0x1a5)](_0x3c227a);return{'success':!![],'path':_0x43bd44[_0x540c28(0x188)],'slug':_0x43bd44[_0x540c28(0x1a4)][_0x540c28(0x190)](/\.md$/,'')};}
1
+ const a81_0x4623d4=a81_0x5446;(function(_0x4d6c01,_0x3aeb69){const _0x3ac94a=a81_0x5446,_0x373910=_0x4d6c01();while(!![]){try{const _0x1b2aa2=parseInt(_0x3ac94a(0xe8))/0x1+parseInt(_0x3ac94a(0xed))/0x2+-parseInt(_0x3ac94a(0xdf))/0x3*(parseInt(_0x3ac94a(0xd2))/0x4)+-parseInt(_0x3ac94a(0xf8))/0x5+parseInt(_0x3ac94a(0xe0))/0x6+parseInt(_0x3ac94a(0xd9))/0x7*(-parseInt(_0x3ac94a(0xe2))/0x8)+-parseInt(_0x3ac94a(0xf0))/0x9*(-parseInt(_0x3ac94a(0xe3))/0xa);if(_0x1b2aa2===_0x3aeb69)break;else _0x373910['push'](_0x373910['shift']());}catch(_0x1f4a6a){_0x373910['push'](_0x373910['shift']());}}}(a81_0xd5f3,0x5656b));function a81_0x5446(_0x422a6b,_0x1cbb6a){_0x422a6b=_0x422a6b-0xd0;const _0xd5f381=a81_0xd5f3();let _0x5446b2=_0xd5f381[_0x422a6b];return _0x5446b2;}import{z}from'zod';function a81_0xd5f3(){const _0x2804c4=['superseded','review','Template\x20name\x20from\x20templates/\x20folder','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','fileName','done','github','3876kxaste','critical','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','in_progress','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','replace','proposed','14xCYwcy','array','createDocument','status','optional','low','2037iXGMFs','2820240EMOHVG','kind','805544zTESjy','10JdamaN','design_review','high','reference','filePath','551338PuFRfV','Tags\x20for\x20the\x20item','string','enum','item','1039822yPCYLK','deprecated','planning','755145MsmEgc','Document\x20kind\x20(default:\x20\x22item\x22)','Markdown\x20body\x20content','priority','describe','accepted','void','object','2061070UyNRPO'];a81_0xd5f3=function(){return _0x2804c4;};return a81_0xd5f3();}import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=['backlog','todo',a81_0x4623d4(0xef),a81_0x4623d4(0xe4),a81_0x4623d4(0xd5),a81_0x4623d4(0xfa),a81_0x4623d4(0xd0),a81_0x4623d4(0xf6)],GUIDE_STATUSES=[a81_0x4623d4(0xd8),a81_0x4623d4(0xf5),a81_0x4623d4(0xee),a81_0x4623d4(0xf9)];export const WorkCreateItemInputSchema=z[a81_0x4623d4(0xf7)]({'title':z['string']()[a81_0x4623d4(0xf4)]('Item\x20title\x20(required)'),'kind':z[a81_0x4623d4(0xeb)]([a81_0x4623d4(0xec),'note','guide',a81_0x4623d4(0xe6)])[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xf1)),'status':z[a81_0x4623d4(0xeb)]([...TASK_STATUSES,...GUIDE_STATUSES])[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)]('Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)'),'tags':z[a81_0x4623d4(0xda)](z['string']())[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xe9)),'priority':z[a81_0x4623d4(0xeb)]([a81_0x4623d4(0xd3),a81_0x4623d4(0xe5),'medium',a81_0x4623d4(0xde)])[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)]('Priority\x20level'),'body':z['string']()[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xf2)),'template':z[a81_0x4623d4(0xea)]()['optional']()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xfb)),'github':z[a81_0x4623d4(0xea)]()[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xd4)),'jira':z['string']()['optional']()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xd6))});export function executeWorkCreateItem(_0x120051){const _0x1adbaa=a81_0x4623d4,_0x3646e8=resolveWorkspacePath();if(!_0x3646e8)return{'success':![],'error':_0x1adbaa(0xfc)};const _0x28d7de=new WorkspaceSDK(_0x3646e8),_0xbfb324={'title':_0x120051['title'],'kind':_0x120051[_0x1adbaa(0xe1)]||_0x1adbaa(0xec),'status':_0x120051[_0x1adbaa(0xdc)],'tags':_0x120051['tags'],'priority':_0x120051[_0x1adbaa(0xf3)],'body':_0x120051['body'],'template':_0x120051['template'],'github':_0x120051[_0x1adbaa(0xd1)],'jira':_0x120051['jira']},_0x1a00f5=_0x28d7de[_0x1adbaa(0xdb)](_0xbfb324);return{'success':!![],'path':_0x1a00f5[_0x1adbaa(0xe7)],'slug':_0x1a00f5[_0x1adbaa(0xfd)][_0x1adbaa(0xd7)](/\.md$/,'')};}
package/dist/mcp/utils.js CHANGED
@@ -1 +1 @@
1
- const a78_0x436088=a78_0x1641;(function(_0x40022d,_0x16471a){const _0x3b34fb=a78_0x1641,_0x283e32=_0x40022d();while(!![]){try{const _0x2eb8fa=-parseInt(_0x3b34fb(0x121))/0x1*(parseInt(_0x3b34fb(0x125))/0x2)+parseInt(_0x3b34fb(0x124))/0x3+parseInt(_0x3b34fb(0x123))/0x4*(-parseInt(_0x3b34fb(0x130))/0x5)+parseInt(_0x3b34fb(0x12e))/0x6+-parseInt(_0x3b34fb(0x138))/0x7+-parseInt(_0x3b34fb(0x134))/0x8+parseInt(_0x3b34fb(0x127))/0x9*(parseInt(_0x3b34fb(0x12d))/0xa);if(_0x2eb8fa===_0x16471a)break;else _0x283e32['push'](_0x283e32['shift']());}catch(_0x44e6c4){_0x283e32['push'](_0x283e32['shift']());}}}(a78_0xbcd0,0xc915e));function a78_0xbcd0(){const _0x2fba90=['startsWith','6934330FjjpXT','8228460CFUeix','profile\x20create','145oYjKTX','profile\x20delete','auth\x20setup','Cannot\x20run\x20MCP\x20server\x20recursively','9847112zilxUC','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','auth\x20login','--profile','9051623CucTgc','auth\x20clear','includes','replace','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','join','trimEnd','149KXdSHf','mcp','169028QRdpOK','2735700fYiEMI','15804qDSZcG','profile\x20remove','45bgVBBl','length','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','slice','toLowerCase'];a78_0xbcd0=function(){return _0x2fba90;};return a78_0xbcd0();}const BLOCKED_COMMANDS=[a78_0x436088(0x132),a78_0x436088(0x136),'auth\x20clear',a78_0x436088(0x12f),a78_0x436088(0x131),a78_0x436088(0x126),a78_0x436088(0x122)],BLOCKED_FLAGS=[a78_0x436088(0x137),'-p'];export function hasBlockedFlag(_0x22cd33){const _0x3446aa=a78_0x436088;for(const _0x4f46da of _0x22cd33){const _0x1ddc56=_0x4f46da[_0x3446aa(0x12b)]();for(const _0x3e2f6a of BLOCKED_FLAGS){if(_0x1ddc56===_0x3e2f6a||_0x1ddc56[_0x3446aa(0x12c)](_0x3e2f6a+'='))return!![];}}return![];}export function isBlockedCommand(_0x39b119){const _0x42ef47=a78_0x436088;if(_0x39b119[_0x42ef47(0x128)]===0x0)return![];if(hasBlockedFlag(_0x39b119))return!![];const _0x27db9e=_0x39b119['slice'](0x0,0x2)[_0x42ef47(0x11f)]('\x20')[_0x42ef47(0x12b)]();for(const _0x4fc2c9 of BLOCKED_COMMANDS){if(_0x27db9e[_0x42ef47(0x12c)](_0x4fc2c9))return!![];}const _0xee193d=_0x39b119[0x0][_0x42ef47(0x12b)]();for(const _0x4b36e3 of BLOCKED_COMMANDS){if(!_0x4b36e3[_0x42ef47(0x13a)]('\x20')&&_0xee193d===_0x4b36e3)return!![];}return![];}function a78_0x1641(_0x5a8962,_0x4cf8ce){_0x5a8962=_0x5a8962-0x11f;const _0xbcd0ca=a78_0xbcd0();let _0x1641dd=_0xbcd0ca[_0x5a8962];return _0x1641dd;}export function getBlockedReason(_0x498942){const _0x3bf1a5=a78_0x436088;if(!isBlockedCommand(_0x498942))return undefined;if(hasBlockedFlag(_0x498942))return _0x3bf1a5(0x129);const _0x4210c0=_0x498942[_0x3bf1a5(0x12a)](0x0,0x2)[_0x3bf1a5(0x11f)]('\x20')['toLowerCase'](),_0x5490ed=_0x498942[0x0][_0x3bf1a5(0x12b)]();if(_0x4210c0[_0x3bf1a5(0x12c)](_0x3bf1a5(0x132))||_0x4210c0[_0x3bf1a5(0x12c)]('auth\x20login')||_0x4210c0[_0x3bf1a5(0x12c)](_0x3bf1a5(0x139)))return _0x3bf1a5(0x13c);if(_0x4210c0[_0x3bf1a5(0x12c)]('profile\x20create')||_0x4210c0[_0x3bf1a5(0x12c)](_0x3bf1a5(0x131))||_0x4210c0[_0x3bf1a5(0x12c)](_0x3bf1a5(0x126)))return'Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP';if(_0x5490ed===_0x3bf1a5(0x122))return _0x3bf1a5(0x133);return _0x3bf1a5(0x135);}export function formatOutput(_0x1250c6){const _0x5831ac=a78_0x436088,_0x44dca5=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x1d8111=_0x1250c6[_0x5831ac(0x13b)](_0x44dca5,'');return _0x1d8111=_0x1d8111[_0x5831ac(0x13b)](/\r\n/g,'\x0a')[_0x5831ac(0x13b)](/\r/g,'\x0a'),_0x1d8111=_0x1d8111[_0x5831ac(0x120)](),_0x1d8111;}
1
+ const a82_0x4a4a30=a82_0x11df;function a82_0x1e1b(){const _0x38ab65=['auth\x20login','7iRukuA','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','auth\x20setup','join','trimEnd','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','mcp','1096732htQjaj','10mmfnrC','auth\x20clear','4710756KZvyir','profile\x20remove','--profile','30250701GoRoZq','3821622ehEKZS','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','toLowerCase','Cannot\x20run\x20MCP\x20server\x20recursively','length','slice','2635326krjhZu','profile\x20create','2040808IYYpCZ','138350XeLLkS','replace','startsWith'];a82_0x1e1b=function(){return _0x38ab65;};return a82_0x1e1b();}(function(_0x2a3b59,_0x34f0f0){const _0x4717af=a82_0x11df,_0x43e6d3=_0x2a3b59();while(!![]){try{const _0x19306d=parseInt(_0x4717af(0x155))/0x1+parseInt(_0x4717af(0x165))/0x2+-parseInt(_0x4717af(0x15c))/0x3+-parseInt(_0x4717af(0x158))/0x4+parseInt(_0x4717af(0x156))/0x5*(-parseInt(_0x4717af(0x162))/0x6)+-parseInt(_0x4717af(0x14d))/0x7*(parseInt(_0x4717af(0x164))/0x8)+parseInt(_0x4717af(0x15b))/0x9;if(_0x19306d===_0x34f0f0)break;else _0x43e6d3['push'](_0x43e6d3['shift']());}catch(_0x2a5db0){_0x43e6d3['push'](_0x43e6d3['shift']());}}}(a82_0x1e1b,0xe5fa6));const BLOCKED_COMMANDS=[a82_0x4a4a30(0x150),a82_0x4a4a30(0x14c),a82_0x4a4a30(0x157),a82_0x4a4a30(0x163),'profile\x20delete','profile\x20remove',a82_0x4a4a30(0x154)],BLOCKED_FLAGS=[a82_0x4a4a30(0x15a),'-p'];export function hasBlockedFlag(_0x1eaa8b){const _0x12d490=a82_0x4a4a30;for(const _0x191b33 of _0x1eaa8b){const _0x4aa7bf=_0x191b33[_0x12d490(0x15e)]();for(const _0x5940b3 of BLOCKED_FLAGS){if(_0x4aa7bf===_0x5940b3||_0x4aa7bf[_0x12d490(0x14b)](_0x5940b3+'='))return!![];}}return![];}function a82_0x11df(_0x1f1c5f,_0x4d8794){_0x1f1c5f=_0x1f1c5f-0x14b;const _0x1e1b2d=a82_0x1e1b();let _0x11dfe5=_0x1e1b2d[_0x1f1c5f];return _0x11dfe5;}export function isBlockedCommand(_0x3a89c7){const _0xed51d0=a82_0x4a4a30;if(_0x3a89c7[_0xed51d0(0x160)]===0x0)return![];if(hasBlockedFlag(_0x3a89c7))return!![];const _0x457681=_0x3a89c7[_0xed51d0(0x161)](0x0,0x2)[_0xed51d0(0x151)]('\x20')[_0xed51d0(0x15e)]();for(const _0x576c95 of BLOCKED_COMMANDS){if(_0x457681['startsWith'](_0x576c95))return!![];}const _0x279816=_0x3a89c7[0x0][_0xed51d0(0x15e)]();for(const _0x3119f1 of BLOCKED_COMMANDS){if(!_0x3119f1['includes']('\x20')&&_0x279816===_0x3119f1)return!![];}return![];}export function getBlockedReason(_0x2604e7){const _0x596c95=a82_0x4a4a30;if(!isBlockedCommand(_0x2604e7))return undefined;if(hasBlockedFlag(_0x2604e7))return _0x596c95(0x15d);const _0x4b89b4=_0x2604e7[_0x596c95(0x161)](0x0,0x2)[_0x596c95(0x151)]('\x20')[_0x596c95(0x15e)](),_0x325e19=_0x2604e7[0x0][_0x596c95(0x15e)]();if(_0x4b89b4[_0x596c95(0x14b)]('auth\x20setup')||_0x4b89b4['startsWith'](_0x596c95(0x14c))||_0x4b89b4[_0x596c95(0x14b)]('auth\x20clear'))return _0x596c95(0x14f);if(_0x4b89b4['startsWith'](_0x596c95(0x163))||_0x4b89b4[_0x596c95(0x14b)]('profile\x20delete')||_0x4b89b4[_0x596c95(0x14b)](_0x596c95(0x159)))return _0x596c95(0x153);if(_0x325e19===_0x596c95(0x154))return _0x596c95(0x15f);return _0x596c95(0x14e);}export function formatOutput(_0x5bc09d){const _0x200933=a82_0x4a4a30,_0x27742a=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x4f8e7a=_0x5bc09d[_0x200933(0x166)](_0x27742a,'');return _0x4f8e7a=_0x4f8e7a[_0x200933(0x166)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'),_0x4f8e7a=_0x4f8e7a[_0x200933(0x152)](),_0x4f8e7a;}
@@ -1 +1 @@
1
- (function(_0x2f37ba,_0x12566d){const _0xd967e8=a79_0x3040,_0x248da5=_0x2f37ba();while(!![]){try{const _0x33d8ff=parseInt(_0xd967e8(0x200))/0x1*(-parseInt(_0xd967e8(0x1e0))/0x2)+-parseInt(_0xd967e8(0x1fb))/0x3*(-parseInt(_0xd967e8(0x1df))/0x4)+parseInt(_0xd967e8(0x207))/0x5*(parseInt(_0xd967e8(0x206))/0x6)+parseInt(_0xd967e8(0x20a))/0x7+-parseInt(_0xd967e8(0x20e))/0x8+parseInt(_0xd967e8(0x210))/0x9+parseInt(_0xd967e8(0x202))/0xa*(parseInt(_0xd967e8(0x1e3))/0xb);if(_0x33d8ff===_0x12566d)break;else _0x248da5['push'](_0x248da5['shift']());}catch(_0x3d97d1){_0x248da5['push'](_0x248da5['shift']());}}}(a79_0x1813,0xd7993));function a79_0x3040(_0x56dc1d,_0x4886e0){_0x56dc1d=_0x56dc1d-0x1db;const _0x1813c3=a79_0x1813();let _0x30404d=_0x1813c3[_0x56dc1d];return _0x30404d;}import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x4e3b3d=a79_0x3040;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel['WARN'],!![]),await usageLogger[_0x4e3b3d(0x216)]()),usageLogger;}function getUsageDir(){const _0x5dcec1=a79_0x3040;return join(getGlobalCacheDir(),_0x5dcec1(0x1ff));}function sanitizeSessionId(_0x1b5f0f){const _0x5bfb09=a79_0x3040;return _0x1b5f0f[_0x5bfb09(0x1e1)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x52e8a4){const _0x4aa0ee=a79_0x3040,_0x24d1f2=getUsageDir(),_0x528f29=sanitizeSessionId(_0x52e8a4),_0x3b6340=resolve(_0x24d1f2,_0x528f29+_0x4aa0ee(0x215));if(!_0x3b6340['startsWith'](_0x24d1f2))throw new Error('Invalid\x20session\x20ID:\x20path\x20traversal\x20detected');return _0x3b6340;}function getStatsCachePath(){const _0x4f87af=a79_0x3040;return join(getUsageDir(),_0x4f87af(0x1e9));}async function ensureUsageDir(){const _0x1744fb=getUsageDir();!existsSync(_0x1744fb)&&await mkdir(_0x1744fb,{'recursive':!![]});}export async function appendUsageEntry(_0xd7c504,_0x4dae42){const _0x51bbd0=a79_0x3040,_0x25a14e=sanitizeSessionId(_0xd7c504);await ensureUsageDir();const _0x297a86=getSafeJsonlPath(_0x25a14e),_0x4a8a08=JSON['stringify'](_0x4dae42)+'\x0a';await appendFile(_0x297a86,_0x4a8a08,_0x51bbd0(0x1eb));}async function readSessionJsonl(_0x1102bb){const _0x954ec=a79_0x3040,_0x3ea0a9=getSafeJsonlPath(_0x1102bb);if(!existsSync(_0x3ea0a9))return[];try{const _0x4dd434=await readFile(_0x3ea0a9,_0x954ec(0x1eb)),_0x40a0c5=_0x4dd434[_0x954ec(0x20d)]()[_0x954ec(0x1f4)]('\x0a')[_0x954ec(0x1f6)](Boolean);return _0x40a0c5[_0x954ec(0x205)](_0x331856=>{const _0x33e4d8=_0x954ec;try{return JSON[_0x33e4d8(0x1f9)](_0x331856);}catch{return null;}})['filter'](_0x44b9f2=>_0x44b9f2!==null);}catch(_0x445171){const _0x966fec=await getLogger();return _0x966fec[_0x954ec(0x1de)]('Failed\x20to\x20read\x20usage\x20file\x20'+_0x1102bb+_0x954ec(0x1f0),_0x445171 instanceof Error?_0x445171[_0x954ec(0x1f1)]:String(_0x445171)),[];}}async function getAllSessionFiles(){const _0x1d2838=a79_0x3040,_0xb644ee=getUsageDir();if(!existsSync(_0xb644ee))return[];try{const _0x2f6008=await readdir(_0xb644ee);return _0x2f6008[_0x1d2838(0x1f6)](_0x2a236e=>_0x2a236e[_0x1d2838(0x212)](_0x1d2838(0x215)))[_0x1d2838(0x205)](_0x1c7e0b=>_0x1c7e0b[_0x1d2838(0x1e1)](_0x1d2838(0x215),''));}catch(_0x2fd88d){const _0x559b92=await getLogger();return _0x559b92[_0x1d2838(0x1de)](_0x1d2838(0x208),_0x2fd88d instanceof Error?_0x2fd88d['message']:String(_0x2fd88d)),[];}}async function readStatsCache(){const _0x47d464=a79_0x3040,_0x55605c=getStatsCachePath();if(!existsSync(_0x55605c))return null;try{const _0x24a81a=await readFile(_0x55605c,_0x47d464(0x1eb)),_0x237b47=JSON[_0x47d464(0x1f9)](_0x24a81a),_0x334bdd=Object[_0x47d464(0x1e4)](_0x237b47[_0x47d464(0x211)]||{})[0x0];if(_0x334bdd&&'totalChatUnits'in _0x334bdd)return null;return _0x237b47;}catch{return null;}}async function writeStatsCache(_0x1d593e){const _0x226f74=a79_0x3040;await ensureUsageDir();const _0x434c29=getStatsCachePath();await writeFile(_0x434c29,JSON[_0x226f74(0x20b)](_0x1d593e,null,0x2),_0x226f74(0x1eb));}async function isCacheUpToDate(_0x141d0b,_0x15b2f9){const _0x5615eb=a79_0x3040,_0x167aeb=_0x141d0b[_0x5615eb(0x211)][_0x15b2f9];if(!_0x167aeb)return![];const _0x4b1d07=getSafeJsonlPath(_0x15b2f9);if(!existsSync(_0x4b1d07))return!![];try{const _0x5007a0=await stat(_0x4b1d07),_0x445a33=new Date(_0x167aeb[_0x5615eb(0x1dc)])[_0x5615eb(0x1f8)](),_0x1c50af=_0x5007a0['mtime'][_0x5615eb(0x1f8)]();return _0x445a33>_0x1c50af;}catch{return![];}}function a79_0x1813(){const _0x2e8de5=['getMonth','map','24SbSjeW','409040TDJoZT','Failed\x20to\x20read\x20usage\x20directory:','monthly','855631eHpKog','stringify','monthCredits','trim','1133816PvvWao','getFullYear','2928177XbPPyn','sessions','endsWith','month','profiles','.jsonl','init','todayCredits','sort','tdx-claude','profile','latestContextTokensBySignature','lastUpdatedAt','object','warn','397820gMnsEk','358BWWSPt','replace','credits','979pWJoWo','values','reduce','todayDate','lastUsedAt','daily','stats-cache.json','timestamp','utf-8','source','length','totalCredits','toISOString','.jsonl:','message','entries','contextSignature','split','outputTokens','filter','Failed\x20to\x20process\x20session\x20','getTime','parse','default','51AZuInv','cacheReadInputTokens','max','slice','claude-usage','8458GGNgUd','entryCount','8230nPCADi','sources'];a79_0x1813=function(){return _0x2e8de5;};return a79_0x1813();}export async function rebuildCache(){const _0x2649b6=a79_0x3040,_0x3ee792=new Date(),_0x182049=_0x3ee792['toISOString']()[_0x2649b6(0x1fe)](0x0,0xa),_0x41e0f7=_0x3ee792['toISOString']()[_0x2649b6(0x1fe)](0x0,0x7),_0x4077ca={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x3ee792['toISOString']()},_0x350640=await getAllSessionFiles();for(const _0x221f62 of _0x350640){try{const _0x42abc2=await readSessionJsonl(_0x221f62);if(_0x42abc2['length']===0x0)continue;let _0x873961=0x0;const _0x369ea6={};let _0x50a418='';for(const _0x18364f of _0x42abc2){const _0x3c8b69=_0x18364f['cacheCreationInputTokens']??0x0,_0x5e15f4=_0x18364f[_0x2649b6(0x1fc)]??0x0,_0x3dc678=_0x18364f['inputTokens']+_0x3c8b69+_0x5e15f4,_0x327d4e=getModelPricing(_0x18364f['model'],_0x3dc678),_0x5b446a=calculateTokenCost(_0x18364f['inputTokens'],_0x18364f[_0x2649b6(0x1f5)],_0x3c8b69,_0x5e15f4,_0x327d4e),_0xb555eb=usdToAiCredits(_0x5b446a);_0x873961+=_0xb555eb;const _0x5f299c=_0x18364f[_0x2649b6(0x1f3)]||'default';_0x369ea6[_0x5f299c]=_0x3dc678;_0x18364f['timestamp']>_0x50a418&&(_0x50a418=_0x18364f[_0x2649b6(0x1ea)]);const _0x33b0ca=_0x18364f[_0x2649b6(0x1ea)]['slice'](0x0,0xa);!_0x4077ca['daily'][_0x33b0ca]&&(_0x4077ca['daily'][_0x33b0ca]={'totalCredits':0x0,'entryCount':0x0});_0x4077ca[_0x2649b6(0x1e8)][_0x33b0ca]['totalCredits']+=_0xb555eb,_0x4077ca[_0x2649b6(0x1e8)][_0x33b0ca][_0x2649b6(0x201)]+=0x1;const _0x4a60d8=_0x18364f[_0x2649b6(0x1ea)]['slice'](0x0,0x7);!_0x4077ca[_0x2649b6(0x209)][_0x4a60d8]&&(_0x4077ca['monthly'][_0x4a60d8]={'totalCredits':0x0,'entryCount':0x0});_0x4077ca[_0x2649b6(0x209)][_0x4a60d8][_0x2649b6(0x1ee)]+=_0xb555eb,_0x4077ca['monthly'][_0x4a60d8][_0x2649b6(0x201)]+=0x1;const _0x4c2d54=_0x18364f[_0x2649b6(0x21a)]||_0x2649b6(0x1fa);!_0x4077ca[_0x2649b6(0x214)][_0x4c2d54]&&(_0x4077ca[_0x2649b6(0x214)][_0x4c2d54]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x182049,'monthCredits':0x0,'month':_0x41e0f7});_0x4077ca[_0x2649b6(0x214)][_0x4c2d54]['totalCredits']+=_0xb555eb,_0x4077ca['profiles'][_0x4c2d54][_0x2649b6(0x201)]+=0x1;_0x18364f[_0x2649b6(0x1ea)]>_0x4077ca[_0x2649b6(0x214)][_0x4c2d54][_0x2649b6(0x1e7)]&&(_0x4077ca['profiles'][_0x4c2d54][_0x2649b6(0x1e7)]=_0x18364f[_0x2649b6(0x1ea)]);_0x33b0ca===_0x182049&&(_0x4077ca['profiles'][_0x4c2d54][_0x2649b6(0x217)]+=_0xb555eb);_0x4a60d8===_0x41e0f7&&(_0x4077ca[_0x2649b6(0x214)][_0x4c2d54][_0x2649b6(0x20c)]+=_0xb555eb);const _0x192acc=_0x18364f[_0x2649b6(0x1ec)]||_0x2649b6(0x219);!_0x4077ca[_0x2649b6(0x203)][_0x192acc]&&(_0x4077ca[_0x2649b6(0x203)][_0x192acc]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x182049,'monthCredits':0x0,'month':_0x41e0f7}),_0x4077ca[_0x2649b6(0x203)][_0x192acc][_0x2649b6(0x1ee)]+=_0xb555eb,_0x4077ca[_0x2649b6(0x203)][_0x192acc][_0x2649b6(0x201)]+=0x1,_0x33b0ca===_0x182049&&(_0x4077ca['sources'][_0x192acc][_0x2649b6(0x217)]+=_0xb555eb),_0x4a60d8===_0x41e0f7&&(_0x4077ca[_0x2649b6(0x203)][_0x192acc][_0x2649b6(0x20c)]+=_0xb555eb);}_0x4077ca[_0x2649b6(0x211)][_0x221f62]={'totalCredits':_0x873961,'latestContextTokensBySignature':_0x369ea6,'createdAt':_0x42abc2[0x0]['timestamp'],'lastUpdatedAt':_0x50a418};}catch(_0x291e5){const _0x190e62=await getLogger();_0x190e62[_0x2649b6(0x1de)](_0x2649b6(0x1f7)+_0x221f62+':',_0x291e5 instanceof Error?_0x291e5[_0x2649b6(0x1f1)]:String(_0x291e5));continue;}}return cleanupOldEntries(_0x4077ca),await writeStatsCache(_0x4077ca),_0x4077ca;}function cleanupOldEntries(_0x331dd6){const _0x46fc08=a79_0x3040,_0x405ccb=new Date(),_0x134821=new Date(_0x405ccb['getTime']()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x4ba021 of Object['keys'](_0x331dd6[_0x46fc08(0x1e8)])){new Date(_0x4ba021)<_0x134821&&delete _0x331dd6[_0x46fc08(0x1e8)][_0x4ba021];}const _0x1da065=new Date(_0x405ccb[_0x46fc08(0x20f)]()-0x1,_0x405ccb[_0x46fc08(0x204)](),0x1);for(const _0x235e83 of Object['keys'](_0x331dd6['monthly'])){const [_0x50bf81,_0x1fa181]=_0x235e83[_0x46fc08(0x1f4)]('-')['map'](Number),_0x1417b7=new Date(_0x50bf81,_0x1fa181-0x1,0x1);_0x1417b7<_0x1da065&&delete _0x331dd6[_0x46fc08(0x209)][_0x235e83];}const _0x31ecad=new Date(_0x405ccb[_0x46fc08(0x1f8)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x38d638,_0x194b4f]of Object['entries'](_0x331dd6['sessions'])){new Date(_0x194b4f[_0x46fc08(0x1dc)])<_0x31ecad&&delete _0x331dd6[_0x46fc08(0x211)][_0x38d638];}}export async function getOrUpdateCache(_0x4edb9e){const _0x16dddd=_0x4edb9e?sanitizeSessionId(_0x4edb9e):undefined,_0x38ac57=await readStatsCache();if(!_0x38ac57)return rebuildCache();if(_0x16dddd){const _0x57748b=await isCacheUpToDate(_0x38ac57,_0x16dddd);if(!_0x57748b)return rebuildCache();}return _0x38ac57;}export async function getSessionCredits(_0x2b6f36){const _0x1aeaa3=a79_0x3040,_0x25caec=sanitizeSessionId(_0x2b6f36),_0x2e5861=await getOrUpdateCache(_0x25caec),_0xa3404=_0x2e5861[_0x1aeaa3(0x211)][_0x25caec];if(!_0xa3404)return 0x0;return _0xa3404[_0x1aeaa3(0x1ee)];}export async function getTodayCredits(){const _0x597774=a79_0x3040,_0x4fde01=await getOrUpdateCache(),_0x5329cb=new Date()['toISOString']()['slice'](0x0,0xa),_0x225d45=_0x4fde01['daily'][_0x5329cb];if(!_0x225d45)return 0x0;return _0x225d45[_0x597774(0x1ee)];}export async function getMonthCredits(){const _0x17f277=a79_0x3040,_0x5709e9=await getOrUpdateCache(),_0x3d76a7=new Date()[_0x17f277(0x1ef)]()[_0x17f277(0x1fe)](0x0,0x7),_0x1e2c26=_0x5709e9[_0x17f277(0x209)][_0x3d76a7];if(!_0x1e2c26)return 0x0;return _0x1e2c26[_0x17f277(0x1ee)];}export async function getSessionStats(_0x5b423f){const _0x6aa52b=a79_0x3040,_0x355ca3=sanitizeSessionId(_0x5b423f),_0x3c686c=await getOrUpdateCache(_0x355ca3);return _0x3c686c[_0x6aa52b(0x211)][_0x355ca3]||null;}function getMaxLatestContextTokens(_0x363d4b){const _0x420473=a79_0x3040,_0x1f6b98=Object[_0x420473(0x1e4)](_0x363d4b);if(_0x1f6b98[_0x420473(0x1ed)]===0x0)return 0x0;return Math[_0x420473(0x1fd)](..._0x1f6b98);}export async function getUsageStats(_0x105a8a,_0x3db66d){const _0x5bb584=a79_0x3040,_0x2f8078=sanitizeSessionId(_0x105a8a),_0x25cc84=await getOrUpdateCache(_0x2f8078),_0x2ca703=_0x25cc84['sessions'][_0x2f8078],_0x2e1d3f=new Date()[_0x5bb584(0x1ef)]()['slice'](0x0,0xa),_0x2d891f=new Date()[_0x5bb584(0x1ef)]()['slice'](0x0,0x7);if(_0x3db66d){const _0x416634=_0x25cc84['profiles']?.[_0x3db66d],_0xa6be6c=_0x416634?.[_0x5bb584(0x1e6)]===_0x2e1d3f?_0x416634[_0x5bb584(0x217)]:0x0,_0x5bdde6=_0x416634?.[_0x5bb584(0x213)]===_0x2d891f?_0x416634[_0x5bb584(0x20c)]:0x0;return{'sessionCredits':_0x2ca703?_0x2ca703[_0x5bb584(0x1ee)]:0x0,'todayCredits':_0xa6be6c,'monthCredits':_0x5bdde6,'latestContextTokens':_0x2ca703?getMaxLatestContextTokens(_0x2ca703[_0x5bb584(0x1db)]):0x0};}return{'sessionCredits':_0x2ca703?_0x2ca703[_0x5bb584(0x1ee)]:0x0,'todayCredits':_0x25cc84[_0x5bb584(0x1e8)][_0x2e1d3f]?_0x25cc84[_0x5bb584(0x1e8)][_0x2e1d3f][_0x5bb584(0x1ee)]:0x0,'monthCredits':_0x25cc84['monthly'][_0x2d891f]?_0x25cc84['monthly'][_0x2d891f][_0x5bb584(0x1ee)]:0x0,'latestContextTokens':_0x2ca703?getMaxLatestContextTokens(_0x2ca703['latestContextTokensBySignature']):0x0};}export async function getAllProfileStats(){const _0x1f9b49=a79_0x3040,_0x550748=await getOrUpdateCache(),_0x4bc61c=_0x550748[_0x1f9b49(0x214)]||{};return Object[_0x1f9b49(0x1f2)](_0x4bc61c)[_0x1f9b49(0x1f6)](([,_0x278550])=>_0x278550&&typeof _0x278550===_0x1f9b49(0x1dd))[_0x1f9b49(0x205)](([_0x22c31c,_0x52493d])=>({'profile':_0x22c31c,'credits':_0x52493d['totalCredits']||0x0,'entryCount':_0x52493d['entryCount']||0x0,'lastUsedAt':_0x52493d['lastUsedAt']||''}))[_0x1f9b49(0x218)]((_0x142775,_0x3d5d18)=>_0x3d5d18['credits']-_0x142775['credits']);}export async function getAllSourceStats(){const _0x4dd56c=a79_0x3040,_0x242486=await getOrUpdateCache(),_0x61dab1=_0x242486[_0x4dd56c(0x203)]||{},_0x26e522=new Date()[_0x4dd56c(0x1ef)]()[_0x4dd56c(0x1fe)](0x0,0xa),_0x5960d6=new Date()[_0x4dd56c(0x1ef)]()[_0x4dd56c(0x1fe)](0x0,0x7);return Object[_0x4dd56c(0x1f2)](_0x61dab1)[_0x4dd56c(0x1f6)](([,_0x5a2956])=>_0x5a2956&&typeof _0x5a2956==='object')['map'](([_0x14341f,_0x1f8d07])=>({'source':_0x14341f,'credits':_0x1f8d07['totalCredits']||0x0,'todayCredits':_0x1f8d07['todayDate']===_0x26e522?_0x1f8d07['todayCredits']||0x0:0x0,'monthCredits':_0x1f8d07['month']===_0x5960d6?_0x1f8d07['monthCredits']||0x0:0x0,'entryCount':_0x1f8d07[_0x4dd56c(0x201)]||0x0}))[_0x4dd56c(0x218)]((_0x5e7fc7,_0x560945)=>_0x560945[_0x4dd56c(0x1e2)]-_0x5e7fc7[_0x4dd56c(0x1e2)]);}export async function getUsageSummary(){const _0x2ea20e=a79_0x3040,_0x2312cd=await getOrUpdateCache(),_0x29f540=_0x2312cd[_0x2ea20e(0x214)]||{},_0x557736=new Date()[_0x2ea20e(0x1ef)]()[_0x2ea20e(0x1fe)](0x0,0xa),_0x4b4dce=new Date()[_0x2ea20e(0x1ef)]()[_0x2ea20e(0x1fe)](0x0,0x7),_0x46da64=Object[_0x2ea20e(0x1e4)](_0x29f540)[_0x2ea20e(0x1f6)](_0xc7124d=>_0xc7124d&&typeof _0xc7124d===_0x2ea20e(0x1dd)),_0x3b5d05=_0x46da64[_0x2ea20e(0x1e5)]((_0x337d91,_0x3bd3e5)=>_0x337d91+(_0x3bd3e5['totalCredits']||0x0),0x0);return{'todayCredits':_0x2312cd[_0x2ea20e(0x1e8)][_0x557736]?_0x2312cd[_0x2ea20e(0x1e8)][_0x557736][_0x2ea20e(0x1ee)]||0x0:0x0,'monthCredits':_0x2312cd[_0x2ea20e(0x209)][_0x4b4dce]?_0x2312cd['monthly'][_0x4b4dce][_0x2ea20e(0x1ee)]||0x0:0x0,'totalCredits':_0x3b5d05,'profileCount':_0x46da64[_0x2ea20e(0x1ed)]};}
1
+ (function(_0x360ef9,_0x592443){const _0x3f4340=a83_0x1f2d,_0xa0ffc5=_0x360ef9();while(!![]){try{const _0x54e89a=-parseInt(_0x3f4340(0x13d))/0x1+parseInt(_0x3f4340(0x167))/0x2+parseInt(_0x3f4340(0x135))/0x3*(-parseInt(_0x3f4340(0x165))/0x4)+-parseInt(_0x3f4340(0x136))/0x5+parseInt(_0x3f4340(0x161))/0x6*(parseInt(_0x3f4340(0x13e))/0x7)+-parseInt(_0x3f4340(0x151))/0x8*(-parseInt(_0x3f4340(0x13b))/0x9)+-parseInt(_0x3f4340(0x137))/0xa;if(_0x54e89a===_0x592443)break;else _0xa0ffc5['push'](_0xa0ffc5['shift']());}catch(_0x1b08c8){_0xa0ffc5['push'](_0xa0ffc5['shift']());}}}(a83_0x3654,0x3371f));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x2c0bd7=a83_0x1f2d;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x2c0bd7(0x15d)],!![]),await usageLogger[_0x2c0bd7(0x14e)]()),usageLogger;}function getUsageDir(){const _0x13ec1c=a83_0x1f2d;return join(getGlobalCacheDir(),_0x13ec1c(0x154));}function a83_0x3654(){const _0x301891=['WARN','reduce','month','cacheCreationInputTokens','90fooHfv','profiles','keys','endsWith','4tDhscM','contextSignature','531500QGRRmT','startsWith','monthCredits','daily','sessions','filter','values','slice','Failed\x20to\x20read\x20usage\x20file\x20','inputTokens','model','156603dpSeOP','594845wvMsBq','1667660YveiDh','timestamp','parse','totalCredits','99IRIqOh','credits','25174xNcNwo','98602oQvgtH','entries','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','.jsonl','getTime','default','Failed\x20to\x20read\x20usage\x20directory:','latestContextTokensBySignature','map','message','stringify','toISOString','tdx-claude','object','cacheReadInputTokens','monthly','init','utf-8','length','70392IXEMXz','stats-cache.json','profile','claude-usage','sources','replace','lastUpdatedAt','entryCount','sort','warn','todayCredits','.jsonl:'];a83_0x3654=function(){return _0x301891;};return a83_0x3654();}function sanitizeSessionId(_0x925d99){const _0x49e522=a83_0x1f2d;return _0x925d99[_0x49e522(0x156)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x53430b){const _0x4eca6f=a83_0x1f2d,_0x267596=getUsageDir(),_0x5f2687=sanitizeSessionId(_0x53430b),_0x21da6c=resolve(_0x267596,_0x5f2687+_0x4eca6f(0x141));if(!_0x21da6c[_0x4eca6f(0x168)](_0x267596))throw new Error(_0x4eca6f(0x140));return _0x21da6c;}function getStatsCachePath(){const _0xeacfc8=a83_0x1f2d;return join(getUsageDir(),_0xeacfc8(0x152));}async function ensureUsageDir(){const _0x1e0bb9=getUsageDir();!existsSync(_0x1e0bb9)&&await mkdir(_0x1e0bb9,{'recursive':!![]});}export async function appendUsageEntry(_0x4ee531,_0x377849){const _0x5e2e28=a83_0x1f2d,_0x20fd7e=sanitizeSessionId(_0x4ee531);await ensureUsageDir();const _0x29201f=getSafeJsonlPath(_0x20fd7e),_0x590e45=JSON[_0x5e2e28(0x148)](_0x377849)+'\x0a';await appendFile(_0x29201f,_0x590e45,'utf-8');}async function readSessionJsonl(_0xa600a7){const _0x5150e1=a83_0x1f2d,_0x1d3f86=getSafeJsonlPath(_0xa600a7);if(!existsSync(_0x1d3f86))return[];try{const _0x435716=await readFile(_0x1d3f86,_0x5150e1(0x14f)),_0x5152fb=_0x435716['trim']()['split']('\x0a')['filter'](Boolean);return _0x5152fb[_0x5150e1(0x146)](_0x281224=>{const _0x197fde=_0x5150e1;try{return JSON[_0x197fde(0x139)](_0x281224);}catch{return null;}})[_0x5150e1(0x16c)](_0x619999=>_0x619999!==null);}catch(_0x2ee5b9){const _0x5eaabd=await getLogger();return _0x5eaabd[_0x5150e1(0x15a)](_0x5150e1(0x132)+_0xa600a7+_0x5150e1(0x15c),_0x2ee5b9 instanceof Error?_0x2ee5b9[_0x5150e1(0x147)]:String(_0x2ee5b9)),[];}}async function getAllSessionFiles(){const _0x475407=a83_0x1f2d,_0x4aa267=getUsageDir();if(!existsSync(_0x4aa267))return[];try{const _0x15d6c4=await readdir(_0x4aa267);return _0x15d6c4[_0x475407(0x16c)](_0x5d3615=>_0x5d3615[_0x475407(0x164)]('.jsonl'))[_0x475407(0x146)](_0x42e10b=>_0x42e10b[_0x475407(0x156)](_0x475407(0x141),''));}catch(_0x33d5b9){const _0x573172=await getLogger();return _0x573172['warn'](_0x475407(0x144),_0x33d5b9 instanceof Error?_0x33d5b9[_0x475407(0x147)]:String(_0x33d5b9)),[];}}async function readStatsCache(){const _0x46c92d=a83_0x1f2d,_0x46765a=getStatsCachePath();if(!existsSync(_0x46765a))return null;try{const _0x155424=await readFile(_0x46765a,'utf-8'),_0x5677d7=JSON[_0x46c92d(0x139)](_0x155424),_0x22532d=Object[_0x46c92d(0x16d)](_0x5677d7[_0x46c92d(0x16b)]||{})[0x0];if(_0x22532d&&'totalChatUnits'in _0x22532d)return null;return _0x5677d7;}catch{return null;}}async function writeStatsCache(_0x662d0){const _0xf31715=a83_0x1f2d;await ensureUsageDir();const _0x335012=getStatsCachePath();await writeFile(_0x335012,JSON[_0xf31715(0x148)](_0x662d0,null,0x2),_0xf31715(0x14f));}async function isCacheUpToDate(_0x211c4b,_0x8aa1b3){const _0x58f13d=a83_0x1f2d,_0x3ed71a=_0x211c4b[_0x58f13d(0x16b)][_0x8aa1b3];if(!_0x3ed71a)return![];const _0x490542=getSafeJsonlPath(_0x8aa1b3);if(!existsSync(_0x490542))return!![];try{const _0x42134d=await stat(_0x490542),_0x4557a6=new Date(_0x3ed71a[_0x58f13d(0x157)])[_0x58f13d(0x142)](),_0x89cd75=_0x42134d['mtime'][_0x58f13d(0x142)]();return _0x4557a6>_0x89cd75;}catch{return![];}}export async function rebuildCache(){const _0x5cb7e7=a83_0x1f2d,_0x299f95=new Date(),_0x2beadd=_0x299f95[_0x5cb7e7(0x149)]()[_0x5cb7e7(0x16e)](0x0,0xa),_0x5ba90f=_0x299f95[_0x5cb7e7(0x149)]()[_0x5cb7e7(0x16e)](0x0,0x7),_0x20f4c0={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x299f95[_0x5cb7e7(0x149)]()},_0x2a12e8=await getAllSessionFiles();for(const _0x1f95d2 of _0x2a12e8){try{const _0x1f7f4c=await readSessionJsonl(_0x1f95d2);if(_0x1f7f4c[_0x5cb7e7(0x150)]===0x0)continue;let _0x2e3de2=0x0;const _0xc55c1d={};let _0x307caa='';for(const _0x421677 of _0x1f7f4c){const _0xfedc7b=_0x421677[_0x5cb7e7(0x160)]??0x0,_0x14ad12=_0x421677[_0x5cb7e7(0x14c)]??0x0,_0x5b8696=_0x421677[_0x5cb7e7(0x133)]+_0xfedc7b+_0x14ad12,_0x25a845=getModelPricing(_0x421677[_0x5cb7e7(0x134)],_0x5b8696),_0x3373b7=calculateTokenCost(_0x421677[_0x5cb7e7(0x133)],_0x421677['outputTokens'],_0xfedc7b,_0x14ad12,_0x25a845),_0x35065c=usdToAiCredits(_0x3373b7);_0x2e3de2+=_0x35065c;const _0x297b51=_0x421677[_0x5cb7e7(0x166)]||_0x5cb7e7(0x143);_0xc55c1d[_0x297b51]=_0x5b8696;_0x421677[_0x5cb7e7(0x138)]>_0x307caa&&(_0x307caa=_0x421677[_0x5cb7e7(0x138)]);const _0x547ac9=_0x421677[_0x5cb7e7(0x138)][_0x5cb7e7(0x16e)](0x0,0xa);!_0x20f4c0['daily'][_0x547ac9]&&(_0x20f4c0[_0x5cb7e7(0x16a)][_0x547ac9]={'totalCredits':0x0,'entryCount':0x0});_0x20f4c0[_0x5cb7e7(0x16a)][_0x547ac9]['totalCredits']+=_0x35065c,_0x20f4c0[_0x5cb7e7(0x16a)][_0x547ac9]['entryCount']+=0x1;const _0x293bb5=_0x421677[_0x5cb7e7(0x138)]['slice'](0x0,0x7);!_0x20f4c0[_0x5cb7e7(0x14d)][_0x293bb5]&&(_0x20f4c0[_0x5cb7e7(0x14d)][_0x293bb5]={'totalCredits':0x0,'entryCount':0x0});_0x20f4c0[_0x5cb7e7(0x14d)][_0x293bb5]['totalCredits']+=_0x35065c,_0x20f4c0['monthly'][_0x293bb5][_0x5cb7e7(0x158)]+=0x1;const _0x3866d9=_0x421677[_0x5cb7e7(0x153)]||_0x5cb7e7(0x143);!_0x20f4c0['profiles'][_0x3866d9]&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x2beadd,'monthCredits':0x0,'month':_0x5ba90f});_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9][_0x5cb7e7(0x13a)]+=_0x35065c,_0x20f4c0['profiles'][_0x3866d9][_0x5cb7e7(0x158)]+=0x1;_0x421677[_0x5cb7e7(0x138)]>_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9]['lastUsedAt']&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9]['lastUsedAt']=_0x421677[_0x5cb7e7(0x138)]);_0x547ac9===_0x2beadd&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9][_0x5cb7e7(0x15b)]+=_0x35065c);_0x293bb5===_0x5ba90f&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9][_0x5cb7e7(0x169)]+=_0x35065c);const _0x10b236=_0x421677['source']||_0x5cb7e7(0x14a);!_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236]&&(_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x2beadd,'monthCredits':0x0,'month':_0x5ba90f}),_0x20f4c0['sources'][_0x10b236][_0x5cb7e7(0x13a)]+=_0x35065c,_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236][_0x5cb7e7(0x158)]+=0x1,_0x547ac9===_0x2beadd&&(_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236][_0x5cb7e7(0x15b)]+=_0x35065c),_0x293bb5===_0x5ba90f&&(_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236][_0x5cb7e7(0x169)]+=_0x35065c);}_0x20f4c0['sessions'][_0x1f95d2]={'totalCredits':_0x2e3de2,'latestContextTokensBySignature':_0xc55c1d,'createdAt':_0x1f7f4c[0x0]['timestamp'],'lastUpdatedAt':_0x307caa};}catch(_0x37a91b){const _0x573ce6=await getLogger();_0x573ce6[_0x5cb7e7(0x15a)]('Failed\x20to\x20process\x20session\x20'+_0x1f95d2+':',_0x37a91b instanceof Error?_0x37a91b[_0x5cb7e7(0x147)]:String(_0x37a91b));continue;}}return cleanupOldEntries(_0x20f4c0),await writeStatsCache(_0x20f4c0),_0x20f4c0;}function cleanupOldEntries(_0x23b381){const _0x5e5205=a83_0x1f2d,_0x357cbe=new Date(),_0x5b9012=new Date(_0x357cbe[_0x5e5205(0x142)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x6210fe of Object['keys'](_0x23b381[_0x5e5205(0x16a)])){new Date(_0x6210fe)<_0x5b9012&&delete _0x23b381[_0x5e5205(0x16a)][_0x6210fe];}const _0x27bee5=new Date(_0x357cbe['getFullYear']()-0x1,_0x357cbe['getMonth'](),0x1);for(const _0x5073d0 of Object[_0x5e5205(0x163)](_0x23b381[_0x5e5205(0x14d)])){const [_0x42c580,_0xd1f570]=_0x5073d0['split']('-')['map'](Number),_0x4b7c6c=new Date(_0x42c580,_0xd1f570-0x1,0x1);_0x4b7c6c<_0x27bee5&&delete _0x23b381[_0x5e5205(0x14d)][_0x5073d0];}const _0x34ff87=new Date(_0x357cbe[_0x5e5205(0x142)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x20240b,_0x4eb6e1]of Object[_0x5e5205(0x13f)](_0x23b381[_0x5e5205(0x16b)])){new Date(_0x4eb6e1[_0x5e5205(0x157)])<_0x34ff87&&delete _0x23b381[_0x5e5205(0x16b)][_0x20240b];}}export async function getOrUpdateCache(_0x99b3cc){const _0x1fae78=_0x99b3cc?sanitizeSessionId(_0x99b3cc):undefined,_0x279a1d=await readStatsCache();if(!_0x279a1d)return rebuildCache();if(_0x1fae78){const _0x17d1fe=await isCacheUpToDate(_0x279a1d,_0x1fae78);if(!_0x17d1fe)return rebuildCache();}return _0x279a1d;}export async function getSessionCredits(_0x17635f){const _0x3fd85d=a83_0x1f2d,_0x39efda=sanitizeSessionId(_0x17635f),_0x2b495b=await getOrUpdateCache(_0x39efda),_0xbe2ca9=_0x2b495b[_0x3fd85d(0x16b)][_0x39efda];if(!_0xbe2ca9)return 0x0;return _0xbe2ca9[_0x3fd85d(0x13a)];}function a83_0x1f2d(_0x1b1317,_0x4d2402){_0x1b1317=_0x1b1317-0x132;const _0x3654e6=a83_0x3654();let _0x1f2d7d=_0x3654e6[_0x1b1317];return _0x1f2d7d;}export async function getTodayCredits(){const _0x2845aa=a83_0x1f2d,_0x3b04d3=await getOrUpdateCache(),_0x6f74dc=new Date()[_0x2845aa(0x149)]()[_0x2845aa(0x16e)](0x0,0xa),_0x33aad4=_0x3b04d3[_0x2845aa(0x16a)][_0x6f74dc];if(!_0x33aad4)return 0x0;return _0x33aad4[_0x2845aa(0x13a)];}export async function getMonthCredits(){const _0x18133d=a83_0x1f2d,_0x225d3d=await getOrUpdateCache(),_0xce5001=new Date()[_0x18133d(0x149)]()[_0x18133d(0x16e)](0x0,0x7),_0x4aaa75=_0x225d3d[_0x18133d(0x14d)][_0xce5001];if(!_0x4aaa75)return 0x0;return _0x4aaa75['totalCredits'];}export async function getSessionStats(_0xcb370e){const _0x24622e=a83_0x1f2d,_0x451d24=sanitizeSessionId(_0xcb370e),_0x565c71=await getOrUpdateCache(_0x451d24);return _0x565c71[_0x24622e(0x16b)][_0x451d24]||null;}function getMaxLatestContextTokens(_0x9637f0){const _0xeb7995=a83_0x1f2d,_0xb6ade9=Object[_0xeb7995(0x16d)](_0x9637f0);if(_0xb6ade9[_0xeb7995(0x150)]===0x0)return 0x0;return Math['max'](..._0xb6ade9);}export async function getUsageStats(_0x442847,_0x5b6405){const _0x35bb4b=a83_0x1f2d,_0x41f452=sanitizeSessionId(_0x442847),_0x2d561f=await getOrUpdateCache(_0x41f452),_0x5ac04c=_0x2d561f[_0x35bb4b(0x16b)][_0x41f452],_0x1a1b83=new Date()[_0x35bb4b(0x149)]()[_0x35bb4b(0x16e)](0x0,0xa),_0x3ea8fd=new Date()['toISOString']()[_0x35bb4b(0x16e)](0x0,0x7);if(_0x5b6405){const _0x421756=_0x2d561f['profiles']?.[_0x5b6405],_0x2ce4e4=_0x421756?.['todayDate']===_0x1a1b83?_0x421756[_0x35bb4b(0x15b)]:0x0,_0x4e9495=_0x421756?.[_0x35bb4b(0x15f)]===_0x3ea8fd?_0x421756['monthCredits']:0x0;return{'sessionCredits':_0x5ac04c?_0x5ac04c[_0x35bb4b(0x13a)]:0x0,'todayCredits':_0x2ce4e4,'monthCredits':_0x4e9495,'latestContextTokens':_0x5ac04c?getMaxLatestContextTokens(_0x5ac04c[_0x35bb4b(0x145)]):0x0};}return{'sessionCredits':_0x5ac04c?_0x5ac04c['totalCredits']:0x0,'todayCredits':_0x2d561f[_0x35bb4b(0x16a)][_0x1a1b83]?_0x2d561f[_0x35bb4b(0x16a)][_0x1a1b83]['totalCredits']:0x0,'monthCredits':_0x2d561f[_0x35bb4b(0x14d)][_0x3ea8fd]?_0x2d561f[_0x35bb4b(0x14d)][_0x3ea8fd]['totalCredits']:0x0,'latestContextTokens':_0x5ac04c?getMaxLatestContextTokens(_0x5ac04c[_0x35bb4b(0x145)]):0x0};}export async function getAllProfileStats(){const _0x3930b3=a83_0x1f2d,_0x49e9a8=await getOrUpdateCache(),_0x2bb363=_0x49e9a8['profiles']||{};return Object['entries'](_0x2bb363)[_0x3930b3(0x16c)](([,_0x5157ec])=>_0x5157ec&&typeof _0x5157ec===_0x3930b3(0x14b))[_0x3930b3(0x146)](([_0x1f99aa,_0x37352f])=>({'profile':_0x1f99aa,'credits':_0x37352f[_0x3930b3(0x13a)]||0x0,'entryCount':_0x37352f[_0x3930b3(0x158)]||0x0,'lastUsedAt':_0x37352f['lastUsedAt']||''}))[_0x3930b3(0x159)]((_0x17f83b,_0x4de60c)=>_0x4de60c[_0x3930b3(0x13c)]-_0x17f83b[_0x3930b3(0x13c)]);}export async function getAllSourceStats(){const _0x5586af=a83_0x1f2d,_0xccec6b=await getOrUpdateCache(),_0x1cd0b6=_0xccec6b[_0x5586af(0x155)]||{},_0x2f4e61=new Date()['toISOString']()[_0x5586af(0x16e)](0x0,0xa),_0x5d11ff=new Date()['toISOString']()['slice'](0x0,0x7);return Object[_0x5586af(0x13f)](_0x1cd0b6)[_0x5586af(0x16c)](([,_0xc46881])=>_0xc46881&&typeof _0xc46881==='object')[_0x5586af(0x146)](([_0x1a14c7,_0x4bc398])=>({'source':_0x1a14c7,'credits':_0x4bc398[_0x5586af(0x13a)]||0x0,'todayCredits':_0x4bc398['todayDate']===_0x2f4e61?_0x4bc398[_0x5586af(0x15b)]||0x0:0x0,'monthCredits':_0x4bc398[_0x5586af(0x15f)]===_0x5d11ff?_0x4bc398[_0x5586af(0x169)]||0x0:0x0,'entryCount':_0x4bc398[_0x5586af(0x158)]||0x0}))[_0x5586af(0x159)]((_0x421e09,_0x361a91)=>_0x361a91[_0x5586af(0x13c)]-_0x421e09[_0x5586af(0x13c)]);}export async function getUsageSummary(){const _0xab84f0=a83_0x1f2d,_0x48e565=await getOrUpdateCache(),_0x472a93=_0x48e565['profiles']||{},_0x43bd80=new Date()[_0xab84f0(0x149)]()[_0xab84f0(0x16e)](0x0,0xa),_0x588ae8=new Date()[_0xab84f0(0x149)]()['slice'](0x0,0x7),_0x3c6350=Object[_0xab84f0(0x16d)](_0x472a93)[_0xab84f0(0x16c)](_0x47063d=>_0x47063d&&typeof _0x47063d===_0xab84f0(0x14b)),_0x2b6ff0=_0x3c6350[_0xab84f0(0x15e)]((_0xa11e,_0x46dcd7)=>_0xa11e+(_0x46dcd7['totalCredits']||0x0),0x0);return{'todayCredits':_0x48e565[_0xab84f0(0x16a)][_0x43bd80]?_0x48e565[_0xab84f0(0x16a)][_0x43bd80]['totalCredits']||0x0:0x0,'monthCredits':_0x48e565[_0xab84f0(0x14d)][_0x588ae8]?_0x48e565[_0xab84f0(0x14d)][_0x588ae8][_0xab84f0(0x13a)]||0x0:0x0,'totalCredits':_0x2b6ff0,'profileCount':_0x3c6350[_0xab84f0(0x150)]};}
@@ -1 +1 @@
1
- const a80_0x172ccf=a80_0x2d58;(function(_0x2771da,_0x1c0df7){const _0x3c2df0=a80_0x2d58,_0x54e3a6=_0x2771da();while(!![]){try{const _0x43bb03=parseInt(_0x3c2df0(0x141))/0x1*(-parseInt(_0x3c2df0(0xf2))/0x2)+-parseInt(_0x3c2df0(0x129))/0x3+parseInt(_0x3c2df0(0xed))/0x4+-parseInt(_0x3c2df0(0xee))/0x5*(parseInt(_0x3c2df0(0xc9))/0x6)+-parseInt(_0x3c2df0(0x121))/0x7*(parseInt(_0x3c2df0(0x12c))/0x8)+-parseInt(_0x3c2df0(0x142))/0x9*(-parseInt(_0x3c2df0(0x157))/0xa)+parseInt(_0x3c2df0(0x119))/0xb;if(_0x43bb03===_0x1c0df7)break;else _0x54e3a6['push'](_0x54e3a6['shift']());}catch(_0x52978f){_0x54e3a6['push'](_0x54e3a6['shift']());}}}(a80_0xed59,0x54cb4));import a80_0x77320a from'fastify';import a80_0x1753ec from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';import{createProxyFetch,maskProxyCredentials}from'../utils/proxy-fetch.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a80_0x172ccf(0x105)+(isExperimentalAvailable()?'|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a':'')+'|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|';function extractSessionUUID(_0x1ceb46){const _0x1ddfe9=a80_0x172ccf,_0x5c5884=_0x1ceb46[_0x1ddfe9(0xc1)](/_session_([a-f0-9-]+)$/i);if(_0x5c5884)return _0x5c5884[0x1];return _0x1ceb46;}function a80_0x2d58(_0x3225ab,_0x2f839f){_0x3225ab=_0x3225ab-0xb4;const _0xed59ef=a80_0xed59();let _0x2d58f5=_0xed59ef[_0x3225ab];return _0x2d58f5;}export function injectSystemPrompt(_0x3ed5e5,_0x49a96e){const _0x234cd2=a80_0x172ccf,_0x4d130d=_0x3ed5e5[_0x234cd2(0x136)];if(!_0x4d130d)return{..._0x3ed5e5,'system':_0x49a96e};if(typeof _0x4d130d===_0x234cd2(0x10b))return{..._0x3ed5e5,'system':_0x4d130d+'\x0a\x0a'+_0x49a96e};if(Array[_0x234cd2(0x11a)](_0x4d130d)){const _0xa2cde5={'type':_0x234cd2(0x11d),'text':_0x49a96e};return{..._0x3ed5e5,'system':[..._0x4d130d,_0xa2cde5]};}return _0x3ed5e5;}function a80_0xed59(){const _0x4e158f=['method','body','expires_at','model',',\x20model=','GET','Forwarding\x20to:\x20','includes','127.0.0.1','handleStreamingResponse','access_token','[PASSTHROUGH\x20PROXY\x20ERROR]:','read','tdx-claude','Stream\x20interrupted','_boundPort','refresh_token','2240664xtzIJG','7975mjRRcF','setupRoutes','keep-alive','auth','302638SMbIkQ','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','startPort','host','tdx','logger','decode',',\x20cache_read=','llmProxyUrl','expiresAt','stringify','code','debug','info','EADDRINUSE','Authorization','timeout_error',',\x20output=','Server\x20has\x20not\x20been\x20started\x20yet','You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20AI\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20AI\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a','proxyFetch','POST','processChunk','Unknown\x20error','setErrorHandler','string','setupMiddleware','tdx/','proxyReady','http://127.0.0.1:','timeoutMs','stream_error','oauth','header','handleCountTokens','connection','User-Agent','end','post','309485FmcdBo','isArray','port','headers','text','authorization','\x20in\x20use,\x20trying\x20next...','number','31094WuulZW','[PASSTHROUGH]\x20Usage:\x20input=','message','proxy','refreshTimer','text/event-stream','[PASSTHROUGH]\x20Stream\x20error:','X-TD-Client','1464774xnMdPn','[PASSTHROUGH]\x20Upstream\x20error:\x20','outputTokens','112lOoTER','setupJsonParser','messages','Pass-through\x20proxy\x20server\x20stopped','addContentTypeParser','transfer-encoding','type','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','consoleUrl','Port\x20','system','startTokenRefreshTimer','max_tokens','default','timeout','No\x20available\x20port\x20found\x20between\x20','length','SKIP_HEADERS','toISOString','TimeoutError','get','2zezrwo','108xDwiyZ','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','user-agent','cache_read_input_tokens','url','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','join','usage','entries','toLowerCase','cacheCreationInputTokens','application/json','inputTokens','error','unknown','x-api-key','stream','metadata','content-length','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','OPTIONS','514070VbdPbM','apiKey',',\x20cache_create=','accessToken','x-td-','output_tokens','start','name','refreshTokenIfNeeded','refreshToken','handleMessages','input_tokens','status','Error\x20body:\x20','send','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','then','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','match','slice','profile','config','getFetch','[PASSTHROUGH]\x20Using\x20proxy:\x20','createServer','listen','18qvXhtJ','maxPortAttempts','buildForwardHeaders','raw','Bearer\x20','server','api_error','indexOf','parse','register','[PASSTHROUGH]\x20','logUsage','cacheReadInputTokens','write','cache_creation_input_tokens','test','Content-Type','/v1/messages','no-cache'];a80_0xed59=function(){return _0x4e158f;};return a80_0xed59();}export function shouldInjectSystemPrompt(_0x3d8978){const _0x3302c=a80_0x172ccf;return!_0x3d8978['toLowerCase']()[_0x3302c(0xe3)]('haiku');}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x98e33f){const _0x24bc3b=a80_0x172ccf,_0xb81306=_0x98e33f[_0x24bc3b(0x14b)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x24bc3b(0xd8)](_0xb81306);}export function padMaxTokensForReasoningModel(_0x297c97,_0x30295f){const _0x50e701=a80_0x172ccf;if(!isOpenAIReasoningModel(_0x30295f))return _0x297c97;const _0x12c180=typeof _0x297c97[_0x50e701(0x138)]===_0x50e701(0x120)?_0x297c97[_0x50e701(0x138)]:0x0;if(_0x12c180>=MIN_REASONING_MAX_TOKENS)return _0x297c97;return{..._0x297c97,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x6e0b9c){const _0x39574f=a80_0x172ccf;return _0x6e0b9c[_0x39574f(0x152)]===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a80_0x172ccf(0xce)];['config'];[a80_0x172ccf(0xf7)];[a80_0x172ccf(0xeb)];[a80_0x172ccf(0x125)];[a80_0x172ccf(0x106)];[a80_0x172ccf(0x10e)];constructor(_0x359e54){const _0x5ddbe9=a80_0x172ccf;this[_0x5ddbe9(0xc4)]=_0x359e54,this['logger']=_0x359e54['logger'],this['server']=this['createServer'](),_0x359e54['proxy']&&(this[_0x5ddbe9(0x10e)]=createProxyFetch(_0x359e54[_0x5ddbe9(0x124)])[_0x5ddbe9(0xbf)](_0x4da9b5=>{const _0xc84d8b=_0x5ddbe9;this[_0xc84d8b(0x106)]=_0x4da9b5;}),this[_0x5ddbe9(0xf7)][_0x5ddbe9(0xff)](_0x5ddbe9(0xc6)+maskProxyCredentials(_0x359e54['proxy'])));}async[a80_0x172ccf(0xc5)](){const _0x2622aa=a80_0x172ccf;return this[_0x2622aa(0x10e)]&&await this[_0x2622aa(0x10e)],this['proxyFetch']??fetch;}get[a80_0x172ccf(0x11b)](){const _0x5d63f8=a80_0x172ccf;if(this['_boundPort']===undefined)throw new Error(_0x5d63f8(0x104));return this[_0x5d63f8(0xeb)];}[a80_0x172ccf(0xc7)](){const _0x2c764d=a80_0x172ccf,_0x2ffd6e=a80_0x77320a({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x2c764d(0xce)]=_0x2ffd6e,this[_0x2c764d(0x12d)](),this[_0x2c764d(0x10c)](),this[_0x2c764d(0xef)](),_0x2ffd6e;}[a80_0x172ccf(0x12d)](){const _0x411c73=a80_0x172ccf;this[_0x411c73(0xce)][_0x411c73(0x130)](_0x411c73(0x14d),{'parseAs':_0x411c73(0x10b)},(_0x41a290,_0x1a969e,_0x2825a4)=>{const _0x2b6cd5=_0x411c73;try{const _0x2f1f71=JSON[_0x2b6cd5(0xd1)](_0x1a969e);_0x2825a4(null,_0x2f1f71);}catch(_0x228213){_0x2825a4(_0x228213,undefined);}});}['setupMiddleware'](){const _0x538684=a80_0x172ccf;this[_0x538684(0xce)][_0x538684(0xd2)](a80_0x1753ec,{'origin':!![],'methods':[_0x538684(0xe1),'POST',_0x538684(0x156)],'allowedHeaders':['Content-Type',_0x538684(0x101),'anthropic-version',_0x538684(0x151)]}),this[_0x538684(0xce)][_0x538684(0x10a)]((_0x52610d,_0x5da3b3,_0x3205a3)=>{const _0x11e825=_0x538684,_0x17e6c3=_0x52610d instanceof Error?_0x52610d[_0x11e825(0x123)]:_0x11e825(0x109);this['logger'][_0x11e825(0x14f)](_0x11e825(0xe7),_0x52610d),_0x3205a3[_0x11e825(0xfd)](0x1f4)[_0x11e825(0xbd)]({'type':_0x11e825(0x14f),'error':{'type':_0x11e825(0xcf),'message':_0x17e6c3}});});}[a80_0x172ccf(0xef)](){const _0x2e9ba3=a80_0x172ccf;this[_0x2e9ba3(0xce)][_0x2e9ba3(0x140)]('/health',async()=>{return{'status':'ok','message':'TD\x20LLM\x20Pass-through\x20Proxy\x20Server'};}),this[_0x2e9ba3(0xce)][_0x2e9ba3(0x118)](_0x2e9ba3(0xda),async(_0x31b324,_0x337ee8)=>{const _0x2ab254=_0x2e9ba3;return this[_0x2ab254(0xb9)](_0x31b324,_0x337ee8);}),this[_0x2e9ba3(0xce)][_0x2e9ba3(0x118)]('/v1/messages/count_tokens',async(_0x3326f9,_0x5a7b54)=>{const _0x5c36b2=_0x2e9ba3;return this[_0x5c36b2(0x114)](_0x3326f9,_0x5a7b54);});}static ['SKIP_HEADERS']=new Set([a80_0x172ccf(0xf5),a80_0x172ccf(0x115),a80_0x172ccf(0x154),a80_0x172ccf(0x131),a80_0x172ccf(0x11e),a80_0x172ccf(0x151),a80_0x172ccf(0x144)]);[a80_0x172ccf(0xcb)](_0x1074da){const _0xbc379f=a80_0x172ccf,_0x4b65ac={};for(const [_0x35276d,_0x5a5de5]of Object[_0xbc379f(0x14a)](_0x1074da[_0xbc379f(0x11c)])){const _0x2ff3d4=_0x35276d['toLowerCase']();if(PassThroughProxyServer[_0xbc379f(0x13d)]['has'](_0x2ff3d4))continue;if(_0x2ff3d4['startsWith'](_0xbc379f(0x15b)))continue;if(typeof _0x5a5de5===_0xbc379f(0x10b))_0x4b65ac[_0x35276d]=_0x5a5de5;else Array[_0xbc379f(0x11a)](_0x5a5de5)&&(_0x4b65ac[_0x35276d]=_0x5a5de5[_0xbc379f(0x148)](',\x20'));}const _0x4660d8=getVersion(),{auth:_0x1035cf}=this['config'];return _0x4b65ac[_0xbc379f(0x101)]=_0x1035cf['type']==='oauth'?_0xbc379f(0xcd)+_0x1035cf[_0xbc379f(0x15a)]:'TD1\x20'+_0x1035cf[_0xbc379f(0x158)],_0x4b65ac[_0xbc379f(0x116)]=_0xbc379f(0x10d)+_0x4660d8,_0x4b65ac[_0xbc379f(0x128)]=_0xbc379f(0xf6),_0x4b65ac['X-TD-Client-Version']=_0x4660d8,_0x4b65ac;}async[a80_0x172ccf(0xb9)](_0x1497b3,_0xcb5d3c){const _0xeca01c=a80_0x172ccf,_0xa39f2=_0x1497b3[_0xeca01c(0xdd)],_0x5c213e=requestsStream(_0xa39f2),_0x4abe93=_0xa39f2[_0xeca01c(0x153)],_0x1cebf2=_0x4abe93?.['user_id']||_0xeca01c(0x139),_0x5d1c6c=extractSessionUUID(_0x1cebf2),_0x7a0539=_0xa39f2[_0xeca01c(0xdf)]||'unknown',_0x391283=shouldInjectSystemPrompt(_0x7a0539)?injectSystemPrompt(_0xa39f2,TDX_SYSTEM_PROMPT):_0xa39f2,_0x4c2e98=padMaxTokensForReasoningModel(_0x391283,_0x7a0539),_0x3933f9=JSON[_0xeca01c(0xfc)](_0x4c2e98),_0x41a3e8=Array[_0xeca01c(0x11a)](_0xa39f2[_0xeca01c(0x12e)])?_0xa39f2['messages'][_0xeca01c(0x13c)]:0x0;this['logger'][_0xeca01c(0xff)](_0xeca01c(0xd3)+_0x1497b3[_0xeca01c(0xdc)]+'\x20'+_0x1497b3['url']+':\x20messages='+_0x41a3e8+_0xeca01c(0xe0)+_0x7a0539+',\x20stream='+_0x5c213e);const _0x3e96a4=_0x1497b3[_0xeca01c(0x146)][_0xeca01c(0xe3)]('?')?_0x1497b3['url'][_0xeca01c(0xc2)](_0x1497b3['url'][_0xeca01c(0xd0)]('?')):'',_0x2e62f9=this[_0xeca01c(0xc4)]['llmProxyUrl']+_0xeca01c(0xda)+_0x3e96a4,_0x922b22=this['buildForwardHeaders'](_0x1497b3);this[_0xeca01c(0xf7)][_0xeca01c(0xfe)](_0xeca01c(0xe2)+_0x2e62f9);const _0x558b15=this[_0xeca01c(0xc4)][_0xeca01c(0x110)]||DEFAULT_TIMEOUT_MS;try{const _0x4e8395=await this['getFetch'](),_0x5ef2f7=await _0x4e8395(_0x2e62f9,{'method':'POST','headers':_0x922b22,'body':_0x3933f9,'signal':AbortSignal['timeout'](_0x558b15)});if(!_0x5ef2f7['ok']){const _0x412f63=await _0x5ef2f7[_0xeca01c(0x11d)]();return this[_0xeca01c(0xf7)]['error'](_0xeca01c(0x12a)+_0x5ef2f7[_0xeca01c(0xbb)]+'\x20'+_0x5ef2f7['statusText']),this['logger'][_0xeca01c(0xfe)](_0xeca01c(0xbc)+_0x412f63),_0xcb5d3c[_0xeca01c(0xfd)](_0x5ef2f7[_0xeca01c(0xbb)]),_0xcb5d3c[_0xeca01c(0x113)]('Content-Type',_0x5ef2f7[_0xeca01c(0x11c)][_0xeca01c(0x140)]('Content-Type')||_0xeca01c(0x14d)),_0xcb5d3c[_0xeca01c(0xbd)](_0x412f63);}if(_0x5c213e&&_0x5ef2f7[_0xeca01c(0xdd)])await this[_0xeca01c(0xe5)](_0x5ef2f7['body'],_0xcb5d3c,_0x5d1c6c,_0x7a0539);else{const _0x4dc006=await _0x5ef2f7['text']();_0xcb5d3c[_0xeca01c(0x113)]('Content-Type',_0x5ef2f7['headers'][_0xeca01c(0x140)](_0xeca01c(0xd9))||_0xeca01c(0x14d));try{const _0x424568=JSON[_0xeca01c(0xd1)](_0x4dc006);_0x424568['usage']&&await this[_0xeca01c(0xd4)](_0x5d1c6c,_0x7a0539,_0x424568[_0xeca01c(0x149)][_0xeca01c(0xba)]||0x0,_0x424568[_0xeca01c(0x149)][_0xeca01c(0xb4)]||0x0,_0x424568[_0xeca01c(0x149)][_0xeca01c(0xd7)],_0x424568[_0xeca01c(0x149)][_0xeca01c(0x145)]);}catch{}return _0xcb5d3c[_0xeca01c(0xbd)](_0x4dc006);}}catch(_0x38e5bd){const _0x26d986=_0x38e5bd instanceof Error?_0x38e5bd[_0xeca01c(0x123)]:_0xeca01c(0x109),_0x3b1aa9=_0x38e5bd instanceof Error&&_0x38e5bd[_0xeca01c(0xb6)]===_0xeca01c(0x13f);this[_0xeca01c(0xf7)][_0xeca01c(0x14f)](_0xeca01c(0x133),_0x38e5bd),_0xcb5d3c[_0xeca01c(0xfd)](_0x3b1aa9?0x1f8:0x1f7)[_0xeca01c(0xbd)]({'type':'error','error':{'type':_0x3b1aa9?_0xeca01c(0x102):_0xeca01c(0xcf),'message':_0x3b1aa9?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x558b15+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x26d986}});}}async['handleStreamingResponse'](_0x206126,_0x3a43e6,_0x3b0e4f,_0x4647c4){const _0xd0788a=a80_0x172ccf;_0x3a43e6[_0xd0788a(0xcc)]['writeHead'](0xc8,{'Content-Type':_0xd0788a(0x126),'Cache-Control':_0xd0788a(0xdb),'Connection':_0xd0788a(0xf0)});const _0xe629d8=new SSEUsageTracker(),_0x66a8a6=_0x206126['getReader'](),_0x20f858=new TextDecoder();try{while(!![]){const {done:_0x352727,value:_0x4afa35}=await _0x66a8a6[_0xd0788a(0xe8)]();if(_0x352727)break;const _0x420fcb=_0x20f858[_0xd0788a(0xf8)](_0x4afa35,{'stream':!![]});_0xe629d8[_0xd0788a(0x108)](_0x420fcb),_0x3a43e6['raw'][_0xd0788a(0xd6)](_0x420fcb);}_0xe629d8['flush']();const _0x27b293=_0xe629d8['getUsage']();(_0x27b293[_0xd0788a(0x14e)]>0x0||_0x27b293['outputTokens']>0x0)&&await this[_0xd0788a(0xd4)](_0x3b0e4f,_0x4647c4,_0x27b293[_0xd0788a(0x14e)],_0x27b293[_0xd0788a(0x12b)],_0x27b293[_0xd0788a(0x14c)],_0x27b293[_0xd0788a(0xd5)]);}catch(_0x1c4c1e){this[_0xd0788a(0xf7)][_0xd0788a(0x14f)](_0xd0788a(0x127),_0x1c4c1e);const _0x559dca='event:\x20error\x0adata:\x20'+JSON[_0xd0788a(0xfc)]({'type':_0xd0788a(0x14f),'error':{'type':_0xd0788a(0x111),'message':_0xd0788a(0xea)}})+'\x0a\x0a';_0x3a43e6['raw'][_0xd0788a(0xd6)](_0x559dca);}finally{_0x3a43e6[_0xd0788a(0xcc)][_0xd0788a(0x117)]();}}async[a80_0x172ccf(0x114)](_0xfb308e,_0x422185){const _0x362991=a80_0x172ccf,_0x1ee140=_0xfb308e['body'],_0x34f5c3=_0xfb308e['url']['includes']('?')?_0xfb308e[_0x362991(0x146)]['slice'](_0xfb308e['url'][_0x362991(0xd0)]('?')):'',_0x4c429f=this[_0x362991(0xc4)]['llmProxyUrl']+'/v1/messages/count_tokens'+_0x34f5c3,_0x4e15e3=this[_0x362991(0xcb)](_0xfb308e),_0x5ddb54=_0x1ee140[_0x362991(0xdf)]||_0x362991(0x150),_0x4e3827=shouldInjectSystemPrompt(_0x5ddb54)?injectSystemPrompt(_0x1ee140,TDX_SYSTEM_PROMPT):_0x1ee140,_0x2db9e4=JSON[_0x362991(0xfc)](_0x4e3827);this[_0x362991(0xf7)][_0x362991(0xfe)](_0x362991(0xf3)+_0x4c429f);const _0x365777=this[_0x362991(0xc4)][_0x362991(0x110)]||DEFAULT_TIMEOUT_MS;try{const _0x120e06=await this['getFetch'](),_0x459243=await _0x120e06(_0x4c429f,{'method':_0x362991(0x107),'headers':_0x4e15e3,'body':_0x2db9e4,'signal':AbortSignal[_0x362991(0x13a)](_0x365777)}),_0x1c625d=await _0x459243[_0x362991(0x11d)]();return _0x422185[_0x362991(0xfd)](_0x459243[_0x362991(0xbb)]),_0x422185['header'](_0x362991(0xd9),_0x459243[_0x362991(0x11c)][_0x362991(0x140)](_0x362991(0xd9))||_0x362991(0x14d)),_0x422185[_0x362991(0xbd)](_0x1c625d);}catch(_0x378f14){const _0x50921b=_0x378f14 instanceof Error?_0x378f14['message']:_0x362991(0x109),_0x4e34f9=_0x378f14 instanceof Error&&_0x378f14['name']===_0x362991(0x13f);this[_0x362991(0xf7)][_0x362991(0x14f)](_0x362991(0xc0),_0x378f14),_0x422185['code'](_0x4e34f9?0x1f8:0x1f7)[_0x362991(0xbd)]({'type':'error','error':{'type':_0x4e34f9?_0x362991(0x102):_0x362991(0xcf),'message':_0x4e34f9?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x365777+'ms':_0x362991(0xbe)+_0x50921b}});}}async['logUsage'](_0x32324a,_0x339f97,_0x4d578f,_0x1b0244,_0xc878e0,_0x4711a8){const _0x4d928e=a80_0x172ccf,_0x4ef778={'timestamp':new Date()[_0x4d928e(0x13e)](),'model':_0x339f97,'inputTokens':_0x4d578f,'outputTokens':_0x1b0244,'cacheCreationInputTokens':_0xc878e0,'cacheReadInputTokens':_0x4711a8,'profile':this[_0x4d928e(0xc4)][_0x4d928e(0xc3)],'source':_0x4d928e(0xe9)},_0x2dcdf2=_0xc878e0||_0x4711a8?_0x4d928e(0x159)+(_0xc878e0||0x0)+_0x4d928e(0xf9)+(_0x4711a8||0x0):'';this[_0x4d928e(0xf7)][_0x4d928e(0xfe)](_0x4d928e(0x122)+_0x4d578f+_0x4d928e(0x103)+_0x1b0244+_0x2dcdf2+_0x4d928e(0xe0)+_0x339f97);try{await appendUsageEntry(_0x32324a,_0x4ef778);}catch(_0xa8227d){this[_0x4d928e(0xf7)][_0x4d928e(0x14f)](_0x4d928e(0x147),_0xa8227d);}}['startTokenRefreshTimer'](){const _0x58c0f4=a80_0x172ccf;if(this[_0x58c0f4(0xc4)][_0x58c0f4(0xf1)][_0x58c0f4(0x132)]!==_0x58c0f4(0x112))return;this['refreshTimer']=setInterval(()=>{void this['refreshTokenIfNeeded']();},TOKEN_REFRESH_INTERVAL_MS),this['refreshTimer']['unref']();}async[a80_0x172ccf(0xb7)](){const _0x3e93b5=a80_0x172ccf,{auth:_0x2a13e4}=this[_0x3e93b5(0xc4)];if(_0x2a13e4[_0x3e93b5(0x132)]!==_0x3e93b5(0x112))return;const _0x2ade5d=!_0x2a13e4[_0x3e93b5(0xfb)]||_0x2a13e4['expiresAt']<Date['now']()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x2ade5d)return;try{const _0x5d675a=await refreshAccessToken(_0x2a13e4[_0x3e93b5(0x134)],_0x2a13e4[_0x3e93b5(0xb8)],{'proxy':this[_0x3e93b5(0xc4)][_0x3e93b5(0x124)]});_0x2a13e4['accessToken']=_0x5d675a[_0x3e93b5(0xe6)],_0x2a13e4[_0x3e93b5(0xb8)]=_0x5d675a[_0x3e93b5(0xec)],_0x2a13e4[_0x3e93b5(0xfb)]=_0x5d675a[_0x3e93b5(0xde)],await saveOAuthTokens(_0x5d675a,this[_0x3e93b5(0xc4)][_0x3e93b5(0xc3)]),this['logger'][_0x3e93b5(0xff)](_0x3e93b5(0x155));}catch(_0x4aea08){this[_0x3e93b5(0xf7)][_0x3e93b5(0x14f)](_0x3e93b5(0x143),_0x4aea08);}}async[a80_0x172ccf(0xb5)](){const _0x15363b=a80_0x172ccf,_0x63d4cd=this[_0x15363b(0xc4)][_0x15363b(0xca)]??0x64;for(let _0x552dac=0x0;_0x552dac<_0x63d4cd;_0x552dac++){const _0x3af97a=this[_0x15363b(0xc4)][_0x15363b(0xf4)]+_0x552dac;try{await this[_0x15363b(0xce)][_0x15363b(0xc8)]({'port':_0x3af97a,'host':_0x15363b(0xe4)}),this['_boundPort']=_0x3af97a,this[_0x15363b(0xf7)][_0x15363b(0xff)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x3af97a),this[_0x15363b(0xf7)]['info'](_0x15363b(0xe2)+this[_0x15363b(0xc4)][_0x15363b(0xfa)]),this[_0x15363b(0x137)]();return;}catch(_0x4980f5){const _0x4390e1=_0x4980f5 instanceof Error&&_0x15363b(0xfd)in _0x4980f5&&_0x4980f5['code']===_0x15363b(0x100);if(!_0x4390e1)throw _0x4980f5;this[_0x15363b(0xf7)][_0x15363b(0xfe)](_0x15363b(0x135)+_0x3af97a+_0x15363b(0x11f)),this['createServer']();}}const _0x27ba67=this[_0x15363b(0xc4)][_0x15363b(0xf4)]+_0x63d4cd-0x1;throw new Error(_0x15363b(0x13b)+this[_0x15363b(0xc4)][_0x15363b(0xf4)]+'\x20and\x20'+_0x27ba67);}async['stop'](){const _0x50ce02=a80_0x172ccf;this[_0x50ce02(0x125)]&&(clearInterval(this[_0x50ce02(0x125)]),this[_0x50ce02(0x125)]=undefined),await this[_0x50ce02(0xce)]['close'](),this[_0x50ce02(0xf7)][_0x50ce02(0xff)](_0x50ce02(0x12f));}['getAddress'](){const _0x360e82=a80_0x172ccf;return _0x360e82(0x10f)+this[_0x360e82(0x11b)];}}
1
+ const a84_0x3289bf=a84_0x1b9c;(function(_0x2c7b84,_0x500be6){const _0x33488a=a84_0x1b9c,_0x59d7b5=_0x2c7b84();while(!![]){try{const _0x48373b=-parseInt(_0x33488a(0x193))/0x1*(parseInt(_0x33488a(0x1ed))/0x2)+parseInt(_0x33488a(0x173))/0x3+parseInt(_0x33488a(0x1e6))/0x4*(-parseInt(_0x33488a(0x1ad))/0x5)+-parseInt(_0x33488a(0x1e3))/0x6+parseInt(_0x33488a(0x178))/0x7+-parseInt(_0x33488a(0x1b6))/0x8+parseInt(_0x33488a(0x1fe))/0x9;if(_0x48373b===_0x500be6)break;else _0x59d7b5['push'](_0x59d7b5['shift']());}catch(_0x1590a9){_0x59d7b5['push'](_0x59d7b5['shift']());}}}(a84_0x2255,0xbf936));import a84_0xb0e3dd from'fastify';import a84_0x3bdba6 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';import{createProxyFetch,maskProxyCredentials}from'../utils/proxy-fetch.js';function a84_0x2255(){const _0x38e7fb=['[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','refreshTokenIfNeeded','5DyKWIV','metadata','X-TD-Client','test','keep-alive','[PASSTHROUGH]\x20Using\x20proxy:\x20','maxPortAttempts','stream_error','Content-Type',',\x20cache_read=','url','apiKey','no-cache','getAddress','text','debug','tdx-claude','[PASSTHROUGH]\x20','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','user_id','inputTokens','post','profile','POST','consoleUrl','read','2355580xNUgFi','api_error','send','config','x-api-key','timeout','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','setupJsonParser','\x20and\x20','1981240jpxjrW','listen','isArray','output_tokens','type','method','transfer-encoding','max_tokens','TD1\x20','host','outputTokens','timeout_error','user-agent','header','register','getReader','TimeoutError','logger','Unknown\x20error','system','getUsage','code','auth','content-length','expiresAt','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','[PASSTHROUGH]\x20Upstream\x20error:\x20','startPort','Forwarding\x20to:\x20','unref','raw','setupRoutes','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','event:\x20error\x0adata:\x20','unknown','name','EADDRINUSE','buildForwardHeaders','status','headers','haiku','authorization','info','logUsage','Server\x20has\x20not\x20been\x20started\x20yet','5451300mtiSCN','application/json','timeoutMs','8yLtCcW','cacheReadInputTokens','cacheCreationInputTokens','now','flush','messages','join','404690qvVMKO','get','llmProxyUrl','error','model','addContentTypeParser','port','expires_at','\x20in\x20use,\x20trying\x20next...','connection','toISOString','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','server','handleStreamingResponse','|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|','accessToken','[PASSTHROUGH]\x20Usage:\x20input=','18031752AolKAk','proxyReady','includes','access_token','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','close','tdx','handleCountTokens','toLowerCase','Bearer\x20','[PASSTHROUGH]\x20Stream\x20error:','OPTIONS','string','x-td-','indexOf','No\x20available\x20port\x20found\x20between\x20','statusText','setupMiddleware','User-Agent','GET','SKIP_HEADERS',',\x20model=','write','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','Pass-through\x20proxy\x20server\x20stopped','message','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','has','usage','1910706FfzZXX','getFetch','createServer','refreshToken','length','8780982FUKRBX','stringify','proxyFetch','X-TD-Client-Version','body','parse','start','startsWith','Authorization','cache_creation_input_tokens','slice','Port\x20','text/event-stream','number','end','/v1/messages/count_tokens','proxy','handleMessages','refreshTimer','_boundPort','setErrorHandler',',\x20output=','oauth','match','/v1/messages'];a84_0x2255=function(){return _0x38e7fb;};return a84_0x2255();}function a84_0x1b9c(_0xa34c3c,_0x16f4ca){_0xa34c3c=_0xa34c3c-0x15c;const _0x22550e=a84_0x2255();let _0x1b9c00=_0x22550e[_0xa34c3c];return _0x1b9c00;}const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT='You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20AI\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20AI\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a'+(isExperimentalAvailable()?a84_0x3289bf(0x1cf):'')+a84_0x3289bf(0x1fb);function extractSessionUUID(_0x5e2c1f){const _0x5958f1=a84_0x3289bf,_0x941233=_0x5e2c1f[_0x5958f1(0x18f)](/_session_([a-f0-9-]+)$/i);if(_0x941233)return _0x941233[0x1];return _0x5e2c1f;}export function injectSystemPrompt(_0x51e327,_0x25955a){const _0x496246=a84_0x3289bf,_0x545809=_0x51e327[_0x496246(0x1c9)];if(!_0x545809)return{..._0x51e327,'system':_0x25955a};if(typeof _0x545809===_0x496246(0x162))return{..._0x51e327,'system':_0x545809+'\x0a\x0a'+_0x25955a};if(Array[_0x496246(0x1b8)](_0x545809)){const _0x28528f={'type':_0x496246(0x1a1),'text':_0x25955a};return{..._0x51e327,'system':[..._0x545809,_0x28528f]};}return _0x51e327;}export function shouldInjectSystemPrompt(_0x24adbb){const _0x31b2b5=a84_0x3289bf;return!_0x24adbb[_0x31b2b5(0x15e)]()['includes'](_0x31b2b5(0x1de));}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x1e0555){const _0x388466=a84_0x3289bf,_0x2352f3=_0x1e0555[_0x388466(0x15e)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x388466(0x196)](_0x2352f3);}export function padMaxTokensForReasoningModel(_0x183b15,_0x5a7f05){const _0x3204ed=a84_0x3289bf;if(!isOpenAIReasoningModel(_0x5a7f05))return _0x183b15;const _0x31c7f8=typeof _0x183b15[_0x3204ed(0x1bd)]===_0x3204ed(0x185)?_0x183b15['max_tokens']:0x0;if(_0x31c7f8>=MIN_REASONING_MAX_TOKENS)return _0x183b15;return{..._0x183b15,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x3bffbd){return _0x3bffbd['stream']===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{['server'];[a84_0x3289bf(0x1b0)];[a84_0x3289bf(0x1c7)];[a84_0x3289bf(0x18b)];[a84_0x3289bf(0x18a)];[a84_0x3289bf(0x17a)];[a84_0x3289bf(0x1ff)];constructor(_0xa8af7d){const _0x464b61=a84_0x3289bf;this[_0x464b61(0x1b0)]=_0xa8af7d,this['logger']=_0xa8af7d[_0x464b61(0x1c7)],this[_0x464b61(0x1f9)]=this[_0x464b61(0x175)](),_0xa8af7d[_0x464b61(0x188)]&&(this['proxyReady']=createProxyFetch(_0xa8af7d[_0x464b61(0x188)])['then'](_0x21a531=>{const _0x52e1f6=_0x464b61;this[_0x52e1f6(0x17a)]=_0x21a531;}),this['logger'][_0x464b61(0x1e0)](_0x464b61(0x198)+maskProxyCredentials(_0xa8af7d[_0x464b61(0x188)])));}async[a84_0x3289bf(0x174)](){const _0x16a255=a84_0x3289bf;return this[_0x16a255(0x1ff)]&&await this[_0x16a255(0x1ff)],this['proxyFetch']??fetch;}get[a84_0x3289bf(0x1f3)](){const _0x33b5da=a84_0x3289bf;if(this['_boundPort']===undefined)throw new Error(_0x33b5da(0x1e2));return this[_0x33b5da(0x18b)];}[a84_0x3289bf(0x175)](){const _0x27a708=a84_0x3289bf,_0x4bcb30=a84_0xb0e3dd({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x27a708(0x1f9)]=_0x4bcb30,this[_0x27a708(0x1b4)](),this[_0x27a708(0x167)](),this['setupRoutes'](),_0x4bcb30;}['setupJsonParser'](){const _0x65e227=a84_0x3289bf;this[_0x65e227(0x1f9)][_0x65e227(0x1f2)]('application/json',{'parseAs':_0x65e227(0x162)},(_0xc88075,_0x454586,_0x28a03f)=>{const _0x331406=_0x65e227;try{const _0x2965a6=JSON[_0x331406(0x17d)](_0x454586);_0x28a03f(null,_0x2965a6);}catch(_0x44f544){_0x28a03f(_0x44f544,undefined);}});}[a84_0x3289bf(0x167)](){const _0xcfe02d=a84_0x3289bf;this[_0xcfe02d(0x1f9)][_0xcfe02d(0x1c4)](a84_0x3bdba6,{'origin':!![],'methods':[_0xcfe02d(0x169),_0xcfe02d(0x1aa),_0xcfe02d(0x161)],'allowedHeaders':['Content-Type',_0xcfe02d(0x180),'anthropic-version',_0xcfe02d(0x1b1)]}),this['server'][_0xcfe02d(0x18c)]((_0xa92437,_0x3c7d3a,_0x4a75a6)=>{const _0x42f0e3=_0xcfe02d,_0x35e19d=_0xa92437 instanceof Error?_0xa92437['message']:_0x42f0e3(0x1c8);this['logger'][_0x42f0e3(0x1f0)]('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0xa92437),_0x4a75a6[_0x42f0e3(0x1cb)](0x1f4)[_0x42f0e3(0x1af)]({'type':_0x42f0e3(0x1f0),'error':{'type':_0x42f0e3(0x1ae),'message':_0x35e19d}});});}[a84_0x3289bf(0x1d5)](){const _0x43ad24=a84_0x3289bf;this[_0x43ad24(0x1f9)][_0x43ad24(0x1ee)]('/health',async()=>{const _0x5a72cb=_0x43ad24;return{'status':'ok','message':_0x5a72cb(0x1f8)};}),this[_0x43ad24(0x1f9)][_0x43ad24(0x1a8)](_0x43ad24(0x190),async(_0x1c475f,_0x1aaeb4)=>{const _0x2e6f07=_0x43ad24;return this[_0x2e6f07(0x189)](_0x1c475f,_0x1aaeb4);}),this['server']['post']('/v1/messages/count_tokens',async(_0x6f5fb,_0x46b3f4)=>{const _0x26be70=_0x43ad24;return this[_0x26be70(0x15d)](_0x6f5fb,_0x46b3f4);});}static ['SKIP_HEADERS']=new Set([a84_0x3289bf(0x1bf),a84_0x3289bf(0x1f6),a84_0x3289bf(0x1cd),a84_0x3289bf(0x1bc),a84_0x3289bf(0x1df),a84_0x3289bf(0x1b1),a84_0x3289bf(0x1c2)]);[a84_0x3289bf(0x1db)](_0x5b18f0){const _0x22fc2e=a84_0x3289bf,_0x351c73={};for(const [_0x38af6a,_0x1a1579]of Object['entries'](_0x5b18f0[_0x22fc2e(0x1dd)])){const _0x90bee7=_0x38af6a[_0x22fc2e(0x15e)]();if(PassThroughProxyServer[_0x22fc2e(0x16a)][_0x22fc2e(0x171)](_0x90bee7))continue;if(_0x90bee7[_0x22fc2e(0x17f)](_0x22fc2e(0x163)))continue;if(typeof _0x1a1579==='string')_0x351c73[_0x38af6a]=_0x1a1579;else Array[_0x22fc2e(0x1b8)](_0x1a1579)&&(_0x351c73[_0x38af6a]=_0x1a1579[_0x22fc2e(0x1ec)](',\x20'));}const _0x4af197=getVersion(),{auth:_0x537b3d}=this[_0x22fc2e(0x1b0)];return _0x351c73[_0x22fc2e(0x180)]=_0x537b3d[_0x22fc2e(0x1ba)]===_0x22fc2e(0x18e)?_0x22fc2e(0x15f)+_0x537b3d[_0x22fc2e(0x1fc)]:_0x22fc2e(0x1be)+_0x537b3d[_0x22fc2e(0x19e)],_0x351c73[_0x22fc2e(0x168)]='tdx/'+_0x4af197,_0x351c73[_0x22fc2e(0x195)]=_0x22fc2e(0x15c),_0x351c73[_0x22fc2e(0x17b)]=_0x4af197,_0x351c73;}async[a84_0x3289bf(0x189)](_0x125932,_0x9406e9){const _0x4e7d63=a84_0x3289bf,_0x20ecf3=_0x125932[_0x4e7d63(0x17c)],_0x377033=requestsStream(_0x20ecf3),_0x523f15=_0x20ecf3[_0x4e7d63(0x194)],_0x13dc44=_0x523f15?.[_0x4e7d63(0x1a6)]||'default',_0x5a48a0=extractSessionUUID(_0x13dc44),_0x5a0185=_0x20ecf3[_0x4e7d63(0x1f1)]||_0x4e7d63(0x1d8),_0x53e12c=shouldInjectSystemPrompt(_0x5a0185)?injectSystemPrompt(_0x20ecf3,TDX_SYSTEM_PROMPT):_0x20ecf3,_0x23cf5c=padMaxTokensForReasoningModel(_0x53e12c,_0x5a0185),_0x22283f=JSON['stringify'](_0x23cf5c),_0x729043=Array['isArray'](_0x20ecf3[_0x4e7d63(0x1eb)])?_0x20ecf3[_0x4e7d63(0x1eb)][_0x4e7d63(0x177)]:0x0;this['logger']['info'](_0x4e7d63(0x1a4)+_0x125932[_0x4e7d63(0x1bb)]+'\x20'+_0x125932['url']+':\x20messages='+_0x729043+_0x4e7d63(0x16b)+_0x5a0185+',\x20stream='+_0x377033);const _0x395c02=_0x125932[_0x4e7d63(0x19d)][_0x4e7d63(0x200)]('?')?_0x125932[_0x4e7d63(0x19d)]['slice'](_0x125932['url'][_0x4e7d63(0x164)]('?')):'',_0x53ea1d=this[_0x4e7d63(0x1b0)][_0x4e7d63(0x1ef)]+_0x4e7d63(0x190)+_0x395c02,_0x13b58c=this['buildForwardHeaders'](_0x125932);this[_0x4e7d63(0x1c7)][_0x4e7d63(0x1a2)](_0x4e7d63(0x1d2)+_0x53ea1d);const _0x4d2685=this[_0x4e7d63(0x1b0)][_0x4e7d63(0x1e5)]||DEFAULT_TIMEOUT_MS;try{const _0x57f71d=await this['getFetch'](),_0x46e758=await _0x57f71d(_0x53ea1d,{'method':_0x4e7d63(0x1aa),'headers':_0x13b58c,'body':_0x22283f,'signal':AbortSignal[_0x4e7d63(0x1b2)](_0x4d2685)});if(!_0x46e758['ok']){const _0x5a9dec=await _0x46e758['text']();return this[_0x4e7d63(0x1c7)]['error'](_0x4e7d63(0x1d0)+_0x46e758[_0x4e7d63(0x1dc)]+'\x20'+_0x46e758[_0x4e7d63(0x166)]),this[_0x4e7d63(0x1c7)][_0x4e7d63(0x1a2)]('Error\x20body:\x20'+_0x5a9dec),_0x9406e9['code'](_0x46e758[_0x4e7d63(0x1dc)]),_0x9406e9[_0x4e7d63(0x1c3)](_0x4e7d63(0x19b),_0x46e758[_0x4e7d63(0x1dd)]['get'](_0x4e7d63(0x19b))||_0x4e7d63(0x1e4)),_0x9406e9[_0x4e7d63(0x1af)](_0x5a9dec);}if(_0x377033&&_0x46e758[_0x4e7d63(0x17c)])await this[_0x4e7d63(0x1fa)](_0x46e758[_0x4e7d63(0x17c)],_0x9406e9,_0x5a48a0,_0x5a0185);else{const _0x210bfd=await _0x46e758[_0x4e7d63(0x1a1)]();_0x9406e9['header'](_0x4e7d63(0x19b),_0x46e758[_0x4e7d63(0x1dd)][_0x4e7d63(0x1ee)]('Content-Type')||_0x4e7d63(0x1e4));try{const _0x1707b4=JSON['parse'](_0x210bfd);_0x1707b4[_0x4e7d63(0x172)]&&await this[_0x4e7d63(0x1e1)](_0x5a48a0,_0x5a0185,_0x1707b4[_0x4e7d63(0x172)]['input_tokens']||0x0,_0x1707b4['usage'][_0x4e7d63(0x1b9)]||0x0,_0x1707b4[_0x4e7d63(0x172)][_0x4e7d63(0x181)],_0x1707b4['usage']['cache_read_input_tokens']);}catch{}return _0x9406e9['send'](_0x210bfd);}}catch(_0x2d4bb4){const _0x1e4ded=_0x2d4bb4 instanceof Error?_0x2d4bb4[_0x4e7d63(0x16f)]:'Unknown\x20error',_0x2cadb0=_0x2d4bb4 instanceof Error&&_0x2d4bb4[_0x4e7d63(0x1d9)]==='TimeoutError';this[_0x4e7d63(0x1c7)][_0x4e7d63(0x1f0)](_0x4e7d63(0x1d6),_0x2d4bb4),_0x9406e9['code'](_0x2cadb0?0x1f8:0x1f7)[_0x4e7d63(0x1af)]({'type':_0x4e7d63(0x1f0),'error':{'type':_0x2cadb0?'timeout_error':_0x4e7d63(0x1ae),'message':_0x2cadb0?_0x4e7d63(0x1b3)+_0x4d2685+'ms':_0x4e7d63(0x170)+_0x1e4ded}});}}async[a84_0x3289bf(0x1fa)](_0x2a97d7,_0x3a2378,_0x56a505,_0x4366e5){const _0x3a5be1=a84_0x3289bf;_0x3a2378[_0x3a5be1(0x1d4)]['writeHead'](0xc8,{'Content-Type':_0x3a5be1(0x184),'Cache-Control':_0x3a5be1(0x19f),'Connection':_0x3a5be1(0x197)});const _0x25d0f8=new SSEUsageTracker(),_0x336a64=_0x2a97d7[_0x3a5be1(0x1c5)](),_0x13ce20=new TextDecoder();try{while(!![]){const {done:_0x3a4ce2,value:_0x5970f2}=await _0x336a64[_0x3a5be1(0x1ac)]();if(_0x3a4ce2)break;const _0x1bda53=_0x13ce20['decode'](_0x5970f2,{'stream':!![]});_0x25d0f8['processChunk'](_0x1bda53),_0x3a2378[_0x3a5be1(0x1d4)][_0x3a5be1(0x16c)](_0x1bda53);}_0x25d0f8[_0x3a5be1(0x1ea)]();const _0x13a9d5=_0x25d0f8[_0x3a5be1(0x1ca)]();(_0x13a9d5[_0x3a5be1(0x1a7)]>0x0||_0x13a9d5[_0x3a5be1(0x1c0)]>0x0)&&await this[_0x3a5be1(0x1e1)](_0x56a505,_0x4366e5,_0x13a9d5[_0x3a5be1(0x1a7)],_0x13a9d5['outputTokens'],_0x13a9d5[_0x3a5be1(0x1e8)],_0x13a9d5[_0x3a5be1(0x1e7)]);}catch(_0x4ae4dc){this['logger'][_0x3a5be1(0x1f0)](_0x3a5be1(0x160),_0x4ae4dc);const _0x317dc0=_0x3a5be1(0x1d7)+JSON[_0x3a5be1(0x179)]({'type':'error','error':{'type':_0x3a5be1(0x19a),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x3a2378['raw'][_0x3a5be1(0x16c)](_0x317dc0);}finally{_0x3a2378[_0x3a5be1(0x1d4)][_0x3a5be1(0x186)]();}}async['handleCountTokens'](_0x50185f,_0x7879c0){const _0x541246=a84_0x3289bf,_0x3eb32f=_0x50185f[_0x541246(0x17c)],_0x184e14=_0x50185f['url'][_0x541246(0x200)]('?')?_0x50185f[_0x541246(0x19d)][_0x541246(0x182)](_0x50185f[_0x541246(0x19d)]['indexOf']('?')):'',_0x5b4b18=this[_0x541246(0x1b0)][_0x541246(0x1ef)]+_0x541246(0x187)+_0x184e14,_0x1d996f=this['buildForwardHeaders'](_0x50185f),_0x4b0649=_0x3eb32f[_0x541246(0x1f1)]||_0x541246(0x1d8),_0x5dc4ca=shouldInjectSystemPrompt(_0x4b0649)?injectSystemPrompt(_0x3eb32f,TDX_SYSTEM_PROMPT):_0x3eb32f,_0xa4b8f0=JSON[_0x541246(0x179)](_0x5dc4ca);this[_0x541246(0x1c7)][_0x541246(0x1a2)]('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x5b4b18);const _0x2934c1=this[_0x541246(0x1b0)][_0x541246(0x1e5)]||DEFAULT_TIMEOUT_MS;try{const _0x5296a8=await this[_0x541246(0x174)](),_0x429344=await _0x5296a8(_0x5b4b18,{'method':_0x541246(0x1aa),'headers':_0x1d996f,'body':_0xa4b8f0,'signal':AbortSignal[_0x541246(0x1b2)](_0x2934c1)}),_0xa4d8a9=await _0x429344[_0x541246(0x1a1)]();return _0x7879c0[_0x541246(0x1cb)](_0x429344[_0x541246(0x1dc)]),_0x7879c0[_0x541246(0x1c3)](_0x541246(0x19b),_0x429344[_0x541246(0x1dd)][_0x541246(0x1ee)](_0x541246(0x19b))||_0x541246(0x1e4)),_0x7879c0[_0x541246(0x1af)](_0xa4d8a9);}catch(_0x55641e){const _0x45b5ab=_0x55641e instanceof Error?_0x55641e[_0x541246(0x16f)]:_0x541246(0x1c8),_0x2d9f84=_0x55641e instanceof Error&&_0x55641e[_0x541246(0x1d9)]===_0x541246(0x1c6);this[_0x541246(0x1c7)][_0x541246(0x1f0)](_0x541246(0x1a5),_0x55641e),_0x7879c0[_0x541246(0x1cb)](_0x2d9f84?0x1f8:0x1f7)[_0x541246(0x1af)]({'type':_0x541246(0x1f0),'error':{'type':_0x2d9f84?_0x541246(0x1c1):_0x541246(0x1ae),'message':_0x2d9f84?_0x541246(0x1b3)+_0x2934c1+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x45b5ab}});}}async[a84_0x3289bf(0x1e1)](_0x5b37aa,_0xe566fa,_0x457f39,_0x1e4c02,_0x11105c,_0x495c77){const _0x4c4172=a84_0x3289bf,_0x4d01bb={'timestamp':new Date()[_0x4c4172(0x1f7)](),'model':_0xe566fa,'inputTokens':_0x457f39,'outputTokens':_0x1e4c02,'cacheCreationInputTokens':_0x11105c,'cacheReadInputTokens':_0x495c77,'profile':this[_0x4c4172(0x1b0)][_0x4c4172(0x1a9)],'source':_0x4c4172(0x1a3)},_0x5385e9=_0x11105c||_0x495c77?',\x20cache_create='+(_0x11105c||0x0)+_0x4c4172(0x19c)+(_0x495c77||0x0):'';this[_0x4c4172(0x1c7)][_0x4c4172(0x1a2)](_0x4c4172(0x1fd)+_0x457f39+_0x4c4172(0x18d)+_0x1e4c02+_0x5385e9+',\x20model='+_0xe566fa);try{await appendUsageEntry(_0x5b37aa,_0x4d01bb);}catch(_0x385a60){this['logger'][_0x4c4172(0x1f0)](_0x4c4172(0x191),_0x385a60);}}['startTokenRefreshTimer'](){const _0x5edf46=a84_0x3289bf;if(this['config'][_0x5edf46(0x1cc)][_0x5edf46(0x1ba)]!==_0x5edf46(0x18e))return;this['refreshTimer']=setInterval(()=>{const _0x3dcc87=_0x5edf46;void this[_0x3dcc87(0x192)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x5edf46(0x18a)][_0x5edf46(0x1d3)]();}async[a84_0x3289bf(0x192)](){const _0x308796=a84_0x3289bf,{auth:_0x5aef7e}=this[_0x308796(0x1b0)];if(_0x5aef7e[_0x308796(0x1ba)]!==_0x308796(0x18e))return;const _0x1d9c16=!_0x5aef7e[_0x308796(0x1ce)]||_0x5aef7e[_0x308796(0x1ce)]<Date[_0x308796(0x1e9)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x1d9c16)return;try{const _0x20c6b9=await refreshAccessToken(_0x5aef7e[_0x308796(0x1ab)],_0x5aef7e['refreshToken'],{'proxy':this[_0x308796(0x1b0)][_0x308796(0x188)]});_0x5aef7e[_0x308796(0x1fc)]=_0x20c6b9[_0x308796(0x201)],_0x5aef7e[_0x308796(0x176)]=_0x20c6b9['refresh_token'],_0x5aef7e[_0x308796(0x1ce)]=_0x20c6b9[_0x308796(0x1f4)],await saveOAuthTokens(_0x20c6b9,this[_0x308796(0x1b0)]['profile']),this[_0x308796(0x1c7)]['info']('[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully');}catch(_0x3ce072){this[_0x308796(0x1c7)][_0x308796(0x1f0)](_0x308796(0x16d),_0x3ce072);}}async[a84_0x3289bf(0x17e)](){const _0x79ba5b=a84_0x3289bf,_0x21cf73=this[_0x79ba5b(0x1b0)][_0x79ba5b(0x199)]??0x64;for(let _0x4ee114=0x0;_0x4ee114<_0x21cf73;_0x4ee114++){const _0x3f443b=this[_0x79ba5b(0x1b0)][_0x79ba5b(0x1d1)]+_0x4ee114;try{await this[_0x79ba5b(0x1f9)][_0x79ba5b(0x1b7)]({'port':_0x3f443b,'host':'127.0.0.1'}),this['_boundPort']=_0x3f443b,this[_0x79ba5b(0x1c7)][_0x79ba5b(0x1e0)](_0x79ba5b(0x202)+_0x3f443b),this[_0x79ba5b(0x1c7)][_0x79ba5b(0x1e0)](_0x79ba5b(0x1d2)+this[_0x79ba5b(0x1b0)][_0x79ba5b(0x1ef)]),this['startTokenRefreshTimer']();return;}catch(_0x8158f){const _0x33a29a=_0x8158f instanceof Error&&_0x79ba5b(0x1cb)in _0x8158f&&_0x8158f[_0x79ba5b(0x1cb)]===_0x79ba5b(0x1da);if(!_0x33a29a)throw _0x8158f;this[_0x79ba5b(0x1c7)]['debug'](_0x79ba5b(0x183)+_0x3f443b+_0x79ba5b(0x1f5)),this[_0x79ba5b(0x175)]();}}const _0x51809c=this[_0x79ba5b(0x1b0)]['startPort']+_0x21cf73-0x1;throw new Error(_0x79ba5b(0x165)+this[_0x79ba5b(0x1b0)][_0x79ba5b(0x1d1)]+_0x79ba5b(0x1b5)+_0x51809c);}async['stop'](){const _0x1595d0=a84_0x3289bf;this[_0x1595d0(0x18a)]&&(clearInterval(this[_0x1595d0(0x18a)]),this[_0x1595d0(0x18a)]=undefined),await this[_0x1595d0(0x1f9)][_0x1595d0(0x203)](),this[_0x1595d0(0x1c7)][_0x1595d0(0x1e0)](_0x1595d0(0x16e));}[a84_0x3289bf(0x1a0)](){const _0x13cd18=a84_0x3289bf;return'http://127.0.0.1:'+this[_0x13cd18(0x1f3)];}}
@@ -1 +1 @@
1
- function a81_0x3fa3(_0x52c61d,_0xcde33){_0x52c61d=_0x52c61d-0x151;const _0x20ceb5=a81_0x20ce();let _0x3fa310=_0x20ceb5[_0x52c61d];return _0x3fa310;}const a81_0x3320fd=a81_0x3fa3;(function(_0x37d46c,_0x46c5cb){const _0x4eaed3=a81_0x3fa3,_0x15aa91=_0x37d46c();while(!![]){try{const _0x9857da=parseInt(_0x4eaed3(0x175))/0x1+parseInt(_0x4eaed3(0x163))/0x2*(-parseInt(_0x4eaed3(0x167))/0x3)+parseInt(_0x4eaed3(0x16e))/0x4*(parseInt(_0x4eaed3(0x151))/0x5)+-parseInt(_0x4eaed3(0x15d))/0x6*(parseInt(_0x4eaed3(0x17a))/0x7)+-parseInt(_0x4eaed3(0x178))/0x8*(-parseInt(_0x4eaed3(0x153))/0x9)+parseInt(_0x4eaed3(0x16a))/0xa+-parseInt(_0x4eaed3(0x161))/0xb*(-parseInt(_0x4eaed3(0x16d))/0xc);if(_0x9857da===_0x46c5cb)break;else _0x15aa91['push'](_0x15aa91['shift']());}catch(_0x163326){_0x15aa91['push'](_0x15aa91['shift']());}}}(a81_0x20ce,0xb6694));export function parseSSEChunk(_0x34b887){const _0x20b065=a81_0x3fa3,_0x48523e=[],_0x50660e=_0x34b887[_0x20b065(0x16b)]('\x0a\x0a'),_0xa03d9e=_0x50660e[_0x20b065(0x170)]()||'';for(const _0x1701d1 of _0x50660e){if(!_0x1701d1[_0x20b065(0x165)]())continue;const _0x16637f={},_0x3f5dd6=_0x1701d1[_0x20b065(0x16b)]('\x0a');for(const _0x4d80cb of _0x3f5dd6){if(_0x4d80cb[_0x20b065(0x157)](_0x20b065(0x15f)))_0x16637f[_0x20b065(0x173)]=_0x4d80cb[_0x20b065(0x166)](0x7);else _0x4d80cb[_0x20b065(0x157)](_0x20b065(0x168))&&(_0x16637f[_0x20b065(0x158)]=_0x4d80cb['slice'](0x6));}(_0x16637f[_0x20b065(0x173)]||_0x16637f['data'])&&_0x48523e[_0x20b065(0x15c)](_0x16637f);}return{'events':_0x48523e,'remaining':_0xa03d9e};}export function extractMessageStartUsage(_0x17b7bb){const _0x4e4540=a81_0x3fa3;try{const _0xcc633b=JSON[_0x4e4540(0x152)](_0x17b7bb);if(_0xcc633b[_0x4e4540(0x159)]===_0x4e4540(0x179)&&_0xcc633b[_0x4e4540(0x171)]?.[_0x4e4540(0x176)]){const _0x438f82=_0xcc633b[_0x4e4540(0x171)]['usage'];return{'inputTokens':_0x438f82[_0x4e4540(0x169)]||0x0,'outputTokens':_0x438f82[_0x4e4540(0x162)]||0x0,'cacheCreationInputTokens':_0x438f82[_0x4e4540(0x15a)],'cacheReadInputTokens':_0x438f82[_0x4e4540(0x160)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x826c4f){const _0x175ff0=a81_0x3fa3;try{const _0x72f0eb=JSON['parse'](_0x826c4f);if(_0x72f0eb['type']==='message_delta'&&_0x72f0eb[_0x175ff0(0x176)]){const _0x543cda=_0x72f0eb['usage'];return{'inputTokens':_0x543cda['input_tokens']||0x0,'outputTokens':_0x543cda['output_tokens']||0x0,'cacheCreationInputTokens':_0x543cda[_0x175ff0(0x15a)],'cacheReadInputTokens':_0x543cda['cache_read_input_tokens']};}}catch{}return null;}function a81_0x20ce(){const _0x5c4a78=['outputTokens','startsWith','data','type','cache_creation_input_tokens','inputTokens','push','1272rcOjZC','max','event:\x20','cache_read_input_tokens','11PYSaId','output_tokens','28862RoUxRb','onRawUsage','trim','slice','309eJgvBj','data:\x20','input_tokens','1805740ATdWKS','split','updateFromUsage','9200652jzrpDQ','512188bQtpUA','flush','pop','message','message_delta','event','reset','647638oFZrcU','usage','cacheCreationInputTokens','1802968zKkJRr','message_start','28805BndHni','15XdYKaM','parse','45LYhWSI','buffer','cacheReadInputTokens'];a81_0x20ce=function(){return _0x5c4a78;};return a81_0x20ce();}export function extractUsageFromEvent(_0x4614b0){const _0x53fa9d=a81_0x3fa3;if(!_0x4614b0[_0x53fa9d(0x158)])return null;if(_0x4614b0[_0x53fa9d(0x173)]===_0x53fa9d(0x179))return extractMessageStartUsage(_0x4614b0[_0x53fa9d(0x158)]);if(_0x4614b0[_0x53fa9d(0x173)]===_0x53fa9d(0x172))return extractMessageDeltaUsage(_0x4614b0[_0x53fa9d(0x158)]);return null;}export class SSEUsageTracker{[a81_0x3320fd(0x15b)]=0x0;[a81_0x3320fd(0x156)]=0x0;[a81_0x3320fd(0x177)];[a81_0x3320fd(0x155)];['buffer']='';['updateFromUsage'](_0x230c06){const _0xd9eaba=a81_0x3320fd;this[_0xd9eaba(0x15b)]=Math[_0xd9eaba(0x15e)](this[_0xd9eaba(0x15b)],_0x230c06[_0xd9eaba(0x15b)]),this[_0xd9eaba(0x156)]=Math[_0xd9eaba(0x15e)](this[_0xd9eaba(0x156)],_0x230c06[_0xd9eaba(0x156)]),_0x230c06[_0xd9eaba(0x177)]!==undefined&&(this[_0xd9eaba(0x177)]=Math[_0xd9eaba(0x15e)](this[_0xd9eaba(0x177)]??0x0,_0x230c06[_0xd9eaba(0x177)])),_0x230c06[_0xd9eaba(0x155)]!==undefined&&(this[_0xd9eaba(0x155)]=Math[_0xd9eaba(0x15e)](this[_0xd9eaba(0x155)]??0x0,_0x230c06['cacheReadInputTokens']));}[a81_0x3320fd(0x164)];['processChunk'](_0x4929e5){const _0x13dfdb=a81_0x3320fd;this[_0x13dfdb(0x154)]+=_0x4929e5;const {events:_0x418ebc,remaining:_0x137f41}=parseSSEChunk(this[_0x13dfdb(0x154)]);this['buffer']=_0x137f41;for(const _0x40a1db of _0x418ebc){const _0x1f8f96=extractUsageFromEvent(_0x40a1db);_0x1f8f96&&(this['onRawUsage']?.(_0x40a1db[_0x13dfdb(0x173)]||'unknown',_0x40a1db[_0x13dfdb(0x158)]||'',_0x1f8f96),this['updateFromUsage'](_0x1f8f96));}return _0x4929e5;}[a81_0x3320fd(0x16f)](){const _0xe94554=a81_0x3320fd;if(this['buffer']['trim']()){const {events:_0x455d94}=parseSSEChunk(this[_0xe94554(0x154)]+'\x0a\x0a');for(const _0xe85261 of _0x455d94){const _0x52dd4d=extractUsageFromEvent(_0xe85261);_0x52dd4d&&this[_0xe94554(0x16c)](_0x52dd4d);}this[_0xe94554(0x154)]='';}}['getUsage'](){const _0x535ed6=a81_0x3320fd;return{'inputTokens':this[_0x535ed6(0x15b)],'outputTokens':this['outputTokens'],'cacheCreationInputTokens':this['cacheCreationInputTokens'],'cacheReadInputTokens':this[_0x535ed6(0x155)]};}[a81_0x3320fd(0x174)](){const _0x3b292f=a81_0x3320fd;this[_0x3b292f(0x15b)]=0x0,this['outputTokens']=0x0,this['cacheCreationInputTokens']=undefined,this['cacheReadInputTokens']=undefined,this[_0x3b292f(0x154)]='';}}
1
+ const a85_0x2669ae=a85_0x5547;(function(_0x199593,_0x4ab6cc){const _0x3cbdab=a85_0x5547,_0x1340e0=_0x199593();while(!![]){try{const _0x2faae7=-parseInt(_0x3cbdab(0x161))/0x1*(parseInt(_0x3cbdab(0x173))/0x2)+parseInt(_0x3cbdab(0x14c))/0x3+parseInt(_0x3cbdab(0x162))/0x4*(parseInt(_0x3cbdab(0x155))/0x5)+-parseInt(_0x3cbdab(0x15b))/0x6*(parseInt(_0x3cbdab(0x16b))/0x7)+-parseInt(_0x3cbdab(0x16c))/0x8*(parseInt(_0x3cbdab(0x169))/0x9)+parseInt(_0x3cbdab(0x165))/0xa*(-parseInt(_0x3cbdab(0x157))/0xb)+parseInt(_0x3cbdab(0x156))/0xc*(parseInt(_0x3cbdab(0x164))/0xd);if(_0x2faae7===_0x4ab6cc)break;else _0x1340e0['push'](_0x1340e0['shift']());}catch(_0x511e2d){_0x1340e0['push'](_0x1340e0['shift']());}}}(a85_0x5ba7,0xa98aa));export function parseSSEChunk(_0xa54cee){const _0x55aeb2=a85_0x5547,_0x2f1a2a=[],_0x3086f7=_0xa54cee['split']('\x0a\x0a'),_0x3dc877=_0x3086f7[_0x55aeb2(0x14e)]()||'';for(const _0x4635c1 of _0x3086f7){if(!_0x4635c1[_0x55aeb2(0x170)]())continue;const _0x8a65b2={},_0x4154f1=_0x4635c1[_0x55aeb2(0x167)]('\x0a');for(const _0xa8a266 of _0x4154f1){if(_0xa8a266[_0x55aeb2(0x16f)](_0x55aeb2(0x16d)))_0x8a65b2[_0x55aeb2(0x14f)]=_0xa8a266[_0x55aeb2(0x153)](0x7);else _0xa8a266['startsWith'](_0x55aeb2(0x14d))&&(_0x8a65b2[_0x55aeb2(0x166)]=_0xa8a266[_0x55aeb2(0x153)](0x6));}(_0x8a65b2[_0x55aeb2(0x14f)]||_0x8a65b2[_0x55aeb2(0x166)])&&_0x2f1a2a[_0x55aeb2(0x15a)](_0x8a65b2);}return{'events':_0x2f1a2a,'remaining':_0x3dc877};}export function extractMessageStartUsage(_0x598547){const _0x41b6a9=a85_0x5547;try{const _0x36260e=JSON[_0x41b6a9(0x16e)](_0x598547);if(_0x36260e[_0x41b6a9(0x15f)]===_0x41b6a9(0x15e)&&_0x36260e[_0x41b6a9(0x168)]?.['usage']){const _0x37a56d=_0x36260e['message'][_0x41b6a9(0x16a)];return{'inputTokens':_0x37a56d['input_tokens']||0x0,'outputTokens':_0x37a56d[_0x41b6a9(0x160)]||0x0,'cacheCreationInputTokens':_0x37a56d['cache_creation_input_tokens'],'cacheReadInputTokens':_0x37a56d[_0x41b6a9(0x172)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x1d5933){const _0x294759=a85_0x5547;try{const _0x6af645=JSON[_0x294759(0x16e)](_0x1d5933);if(_0x6af645['type']==='message_delta'&&_0x6af645[_0x294759(0x16a)]){const _0x5a2d32=_0x6af645[_0x294759(0x16a)];return{'inputTokens':_0x5a2d32[_0x294759(0x176)]||0x0,'outputTokens':_0x5a2d32[_0x294759(0x160)]||0x0,'cacheCreationInputTokens':_0x5a2d32[_0x294759(0x171)],'cacheReadInputTokens':_0x5a2d32[_0x294759(0x172)]};}}catch{}return null;}export function extractUsageFromEvent(_0x572d75){const _0x49dbd6=a85_0x5547;if(!_0x572d75[_0x49dbd6(0x166)])return null;if(_0x572d75[_0x49dbd6(0x14f)]===_0x49dbd6(0x15e))return extractMessageStartUsage(_0x572d75[_0x49dbd6(0x166)]);if(_0x572d75[_0x49dbd6(0x14f)]==='message_delta')return extractMessageDeltaUsage(_0x572d75['data']);return null;}function a85_0x5547(_0x5e4b9a,_0x16f2de){_0x5e4b9a=_0x5e4b9a-0x14c;const _0x5ba7f5=a85_0x5ba7();let _0x55472e=_0x5ba7f5[_0x5e4b9a];return _0x55472e;}function a85_0x5ba7(){const _0x2115cd=['event:\x20','parse','startsWith','trim','cache_creation_input_tokens','cache_read_input_tokens','2GpFmFQ','inputTokens','flush','input_tokens','2205348ZzGFSp','data:\x20','pop','event','outputTokens','updateFromUsage','unknown','slice','cacheCreationInputTokens','2921195QolJVc','17106360mzpADF','33242zYlDrG','reset','max','push','6bTPpuZ','buffer','onRawUsage','message_start','type','output_tokens','771742oHAThf','8EenFXl','cacheReadInputTokens','26FkhMfy','2140mbQMeV','data','split','message','63594NovXTC','usage','9440788QSfCPy','1464IgYJis'];a85_0x5ba7=function(){return _0x2115cd;};return a85_0x5ba7();}export class SSEUsageTracker{[a85_0x2669ae(0x174)]=0x0;['outputTokens']=0x0;[a85_0x2669ae(0x154)];[a85_0x2669ae(0x163)];['buffer']='';['updateFromUsage'](_0x44b154){const _0x3d2437=a85_0x2669ae;this[_0x3d2437(0x174)]=Math[_0x3d2437(0x159)](this[_0x3d2437(0x174)],_0x44b154[_0x3d2437(0x174)]),this[_0x3d2437(0x150)]=Math[_0x3d2437(0x159)](this[_0x3d2437(0x150)],_0x44b154['outputTokens']),_0x44b154[_0x3d2437(0x154)]!==undefined&&(this[_0x3d2437(0x154)]=Math[_0x3d2437(0x159)](this[_0x3d2437(0x154)]??0x0,_0x44b154[_0x3d2437(0x154)])),_0x44b154[_0x3d2437(0x163)]!==undefined&&(this['cacheReadInputTokens']=Math[_0x3d2437(0x159)](this[_0x3d2437(0x163)]??0x0,_0x44b154[_0x3d2437(0x163)]));}[a85_0x2669ae(0x15d)];['processChunk'](_0x812b4){const _0x4832bd=a85_0x2669ae;this[_0x4832bd(0x15c)]+=_0x812b4;const {events:_0x5875fc,remaining:_0x1ec80a}=parseSSEChunk(this[_0x4832bd(0x15c)]);this['buffer']=_0x1ec80a;for(const _0x542404 of _0x5875fc){const _0x2dfcd9=extractUsageFromEvent(_0x542404);_0x2dfcd9&&(this[_0x4832bd(0x15d)]?.(_0x542404[_0x4832bd(0x14f)]||_0x4832bd(0x152),_0x542404[_0x4832bd(0x166)]||'',_0x2dfcd9),this[_0x4832bd(0x151)](_0x2dfcd9));}return _0x812b4;}[a85_0x2669ae(0x175)](){const _0x2952c2=a85_0x2669ae;if(this[_0x2952c2(0x15c)][_0x2952c2(0x170)]()){const {events:_0x205d73}=parseSSEChunk(this['buffer']+'\x0a\x0a');for(const _0x4cdcf of _0x205d73){const _0x313987=extractUsageFromEvent(_0x4cdcf);_0x313987&&this['updateFromUsage'](_0x313987);}this[_0x2952c2(0x15c)]='';}}['getUsage'](){const _0x34b925=a85_0x2669ae;return{'inputTokens':this[_0x34b925(0x174)],'outputTokens':this['outputTokens'],'cacheCreationInputTokens':this[_0x34b925(0x154)],'cacheReadInputTokens':this[_0x34b925(0x163)]};}[a85_0x2669ae(0x158)](){const _0x32dd05=a85_0x2669ae;this[_0x32dd05(0x174)]=0x0,this[_0x32dd05(0x150)]=0x0,this[_0x32dd05(0x154)]=undefined,this[_0x32dd05(0x163)]=undefined,this[_0x32dd05(0x15c)]='';}}
@@ -1 +1 @@
1
- const a82_0x9b8e0e=a82_0xc58e;(function(_0x31aad9,_0xd14fc6){const _0x5ed108=a82_0xc58e,_0xa061bd=_0x31aad9();while(!![]){try{const _0x417f6f=-parseInt(_0x5ed108(0x1c0))/0x1+-parseInt(_0x5ed108(0x1d9))/0x2*(parseInt(_0x5ed108(0x1c4))/0x3)+parseInt(_0x5ed108(0x1e5))/0x4*(-parseInt(_0x5ed108(0x1c2))/0x5)+parseInt(_0x5ed108(0x1e2))/0x6+-parseInt(_0x5ed108(0x1d1))/0x7+parseInt(_0x5ed108(0x1cf))/0x8*(parseInt(_0x5ed108(0x1ce))/0x9)+-parseInt(_0x5ed108(0x1cd))/0xa*(-parseInt(_0x5ed108(0x1b9))/0xb);if(_0x417f6f===_0xd14fc6)break;else _0xa061bd['push'](_0xa061bd['shift']());}catch(_0x558bf5){_0xa061bd['push'](_0xa061bd['shift']());}}}(a82_0x57f2,0x99293));import{existsSync,readFileSync,readdirSync}from'fs';function a82_0x57f2(){const _0x3d96d7=['map','object','FORM_INTERFACES','arg-dir','149540buJFEj','Invalid\x20JSON\x20in\x20','174595wlFZLS','string','3vXCJIv','isDirectory','root','arg','name','length','filter','no_tests','llm_project','10PxvDCs','9YfzFrb','7881320eCUZKq','Current\x20context\x20has\x20llm_project=\x22','8387267ebNexJ','cwd','multiple_agents','cwd-config','dirname','EXPERIMENTAL_KNOWLEDGE_BASES','form_interfaces','join','516504opvPGG','agents','EXPERIMENTAL_ARTIFACTS','context','KNOWLEDGE_BASES','Invalid\x20tdx.json:\x20expected\x20object','no_local_folder','utf-8','agent.yml','1969698wsfdhS','Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field','tdx.json','52ulDwal','prompts','local','15112009ZjJRYL','parse','PROMPTS'];a82_0x57f2=function(){return _0x3d96d7;};return a82_0x57f2();}import a82_0xbd44f7 from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE=a82_0x9b8e0e(0x1e4),AGENTS_DIR=a82_0x9b8e0e(0x1da);export function findAgentConfigPath(_0x429610=process[a82_0x9b8e0e(0x1d2)]()){const _0x3ae110=a82_0x9b8e0e;let _0x138d91=a82_0xbd44f7['resolve'](_0x429610);const _0x132fdc=a82_0xbd44f7[_0x3ae110(0x1ba)](_0x138d91)[_0x3ae110(0x1c6)];while(_0x138d91!==_0x132fdc){const _0x302923=a82_0xbd44f7[_0x3ae110(0x1d8)](_0x138d91,TDX_CONFIG_FILE);if(existsSync(_0x302923))try{const _0xcee2c4=readFileSync(_0x302923,_0x3ae110(0x1e0)),_0x50e474=JSON[_0x3ae110(0x1ba)](_0xcee2c4);if(_0x50e474[_0x3ae110(0x1cc)])return _0x302923;}catch{}_0x138d91=a82_0xbd44f7[_0x3ae110(0x1d5)](_0x138d91);}return null;}export function loadAgentConfig(_0x3557bf){const _0x255f75=a82_0x9b8e0e,_0x2a3038=readFileSync(_0x3557bf,_0x255f75(0x1e0));let _0x3e845a;try{_0x3e845a=JSON['parse'](_0x2a3038);}catch{throw new Error(_0x255f75(0x1c1)+_0x3557bf);}if(!_0x3e845a||typeof _0x3e845a!==_0x255f75(0x1bd))throw new Error(_0x255f75(0x1de));const _0x5e8197=_0x3e845a;if(!_0x5e8197[_0x255f75(0x1cc)]||typeof _0x5e8197[_0x255f75(0x1cc)]!==_0x255f75(0x1c3))throw new Error(_0x255f75(0x1e3));return{'llm_project':_0x5e8197[_0x255f75(0x1cc)]};}export function findAgentConfig(_0x3da1e1=process[a82_0x9b8e0e(0x1d2)]()){const _0x46f54d=a82_0x9b8e0e,_0x485e7a=findAgentConfigPath(_0x3da1e1);if(!_0x485e7a)throw new Error('No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.');const _0xa4d556=loadAgentConfig(_0x485e7a),_0x3c0a9c=a82_0xbd44f7[_0x46f54d(0x1d5)](_0x485e7a);return{'config':_0xa4d556,'configPath':_0x485e7a,'configDir':_0x3c0a9c};}export function getAgentProjectDir(_0x37d930,_0x320319=process[a82_0x9b8e0e(0x1d2)]()){const _0x17ee96=a82_0x9b8e0e;return a82_0xbd44f7[_0x17ee96(0x1d8)](_0x320319,AGENTS_DIR,_0x37d930);}export function getAgentConfigPath(_0x26df50,_0x42e0aa=process[a82_0x9b8e0e(0x1d2)]()){return a82_0xbd44f7['join'](getAgentProjectDir(_0x26df50,_0x42e0aa),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x18f68a){const _0x59f17e={'llm_project':_0x18f68a};return JSON['stringify'](_0x59f17e,null,0x2)+'\x0a';}export function isAgentDir(_0x28c036){const _0x59e964=a82_0x9b8e0e;return existsSync(a82_0xbd44f7[_0x59e964(0x1d8)](_0x28c036,_0x59e964(0x1e1)));}function a82_0xc58e(_0x35ad77,_0x413d97){_0x35ad77=_0x35ad77-0x1b8;const _0x57f235=a82_0x57f2();let _0xc58ed5=_0x57f235[_0x35ad77];return _0xc58ed5;}export function isAgentYamlPath(_0x5c94ff){const _0x218b15=a82_0x9b8e0e;return a82_0xbd44f7['basename'](_0x5c94ff)===_0x218b15(0x1e1);}export function getAgentDirFromYamlPath(_0x229938){const _0x84db45=a82_0x9b8e0e;return a82_0xbd44f7[_0x84db45(0x1d5)](_0x229938);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':'knowledge_bases','PROMPTS':a82_0x9b8e0e(0x1e6),'INTEGRATIONS':'integrations','EXPERIMENTAL_KNOWLEDGE_BASES':'experimental_knowledge_bases','EXPERIMENTAL_ARTIFACTS':'experimental_artifacts','FORM_INTERFACES':a82_0x9b8e0e(0x1d7),'CHAT_INTERFACES':'chat_interfaces'};export function getKnowledgeBasesDir(_0x496e93){const _0xf58a80=a82_0x9b8e0e;return a82_0xbd44f7[_0xf58a80(0x1d8)](_0x496e93,PROJECT_SUBDIRS[_0xf58a80(0x1dd)]);}export function getPromptsDir(_0x135734){const _0x20ca97=a82_0x9b8e0e;return a82_0xbd44f7[_0x20ca97(0x1d8)](_0x135734,PROJECT_SUBDIRS[_0x20ca97(0x1bb)]);}export function getIntegrationsDir(_0x3a93b0){const _0x331cf8=a82_0x9b8e0e;return a82_0xbd44f7[_0x331cf8(0x1d8)](_0x3a93b0,PROJECT_SUBDIRS['INTEGRATIONS']);}export function getExperimentalKnowledgeBasesDir(_0x49d0a8){const _0x12da82=a82_0x9b8e0e;return a82_0xbd44f7[_0x12da82(0x1d8)](_0x49d0a8,PROJECT_SUBDIRS[_0x12da82(0x1d6)]);}export function getExperimentalArtifactsDir(_0x4a91fe){const _0x43311b=a82_0x9b8e0e;return a82_0xbd44f7['join'](_0x4a91fe,PROJECT_SUBDIRS[_0x43311b(0x1db)]);}export function getFormInterfacesDir(_0x64c3ac){const _0xc339d2=a82_0x9b8e0e;return a82_0xbd44f7['join'](_0x64c3ac,PROJECT_SUBDIRS[_0xc339d2(0x1be)]);}export function getChatInterfacesDir(_0x49701e){const _0x2b9c83=a82_0x9b8e0e;return a82_0xbd44f7[_0x2b9c83(0x1d8)](_0x49701e,PROJECT_SUBDIRS['CHAT_INTERFACES']);}export function resolveAgentPullArgs(_0x3d4a0e){const _0x566178=a82_0x9b8e0e,{arg:_0x1ee3d7,agentNameArg:_0x4e7be3,agentFlag:_0x573b61,contextProject:_0x3f589d,argDirConfig:_0x1d008d,cwdConfigPath:_0x397a7a,cwdConfig:_0x2df4a6}=_0x3d4a0e,_0x31a821=_0x4e7be3||_0x573b61;if(_0x1ee3d7){if(_0x1d008d)return{'projectNameOrId':_0x1d008d[_0x566178(0x1cc)],'targetAgentName':_0x31a821,'existingOutputDir':_0x1ee3d7,'source':_0x566178(0x1bf)};return{'projectNameOrId':_0x1ee3d7,'targetAgentName':_0x31a821,'source':_0x566178(0x1c7)};}if(_0x573b61&&_0x3f589d)return{'projectNameOrId':_0x3f589d,'targetAgentName':_0x573b61,'source':_0x566178(0x1dc)};if(_0x397a7a&&_0x2df4a6)return{'projectNameOrId':_0x2df4a6['llm_project'],'targetAgentName':_0x31a821,'existingOutputDir':a82_0xbd44f7[_0x566178(0x1d5)](_0x397a7a),'source':_0x566178(0x1d4)};return{'projectNameOrId':_0x3f589d,'targetAgentName':_0x31a821,'source':_0x3f589d?_0x566178(0x1dc):undefined};}export function resolveProjectFromContext(_0x36481b,_0x3ebda9,_0x375a95){const _0x982bf9=a82_0x9b8e0e,_0xf50280=_0x375a95?.['requireFile'],_0x31aaa5=findAgentConfigPath(a82_0xbd44f7['resolve'](_0x36481b));if(_0x31aaa5)return{'found':!![],'projectDir':a82_0xbd44f7[_0x982bf9(0x1d5)](_0x31aaa5),'configPath':_0x31aaa5,'source':_0x982bf9(0x1b8)};if(!_0x3ebda9)return{'found':![],'reason':'no_context','message':'No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.'};const _0xda36f9=sanitizeForFilesystem(_0x3ebda9),_0x5af544=a82_0xbd44f7['join'](process[_0x982bf9(0x1d2)](),AGENTS_DIR);let _0x12b4b9=a82_0xbd44f7[_0x982bf9(0x1d8)](_0x5af544,_0xda36f9),_0x482657=a82_0xbd44f7[_0x982bf9(0x1d8)](_0x12b4b9,TDX_CONFIG_FILE);if(!existsSync(_0x12b4b9)){const _0x787f28=normalizeName(_0x3ebda9),_0x308b43=a82_0xbd44f7[_0x982bf9(0x1d8)](_0x5af544,_0x787f28);existsSync(_0x308b43)&&(_0x12b4b9=_0x308b43,_0x482657=a82_0xbd44f7[_0x982bf9(0x1d8)](_0x12b4b9,TDX_CONFIG_FILE));}if(!existsSync(_0x12b4b9))return{'found':![],'reason':_0x982bf9(0x1df),'llmProject':_0x3ebda9,'message':_0x982bf9(0x1d0)+_0x3ebda9+'\x22\x20but\x20no\x20local\x20folder\x20found.'};if(_0xf50280){const _0x39eb9c=readdirSync(_0x12b4b9,{'withFileTypes':!![]}),_0xc0fdb2=_0x39eb9c['filter'](_0x2017d1=>_0x2017d1[_0x982bf9(0x1c5)]())[_0x982bf9(0x1bc)](_0x7028e5=>_0x7028e5[_0x982bf9(0x1c8)])[_0x982bf9(0x1ca)](_0x13ba75=>{const _0x39aff6=_0x982bf9,_0x5bcaa6=a82_0xbd44f7[_0x39aff6(0x1d8)](_0x12b4b9,_0x13ba75,_0xf50280);return existsSync(_0x5bcaa6);});if(_0xc0fdb2['length']===0x0)return{'found':![],'reason':_0x982bf9(0x1cb),'llmProject':_0x3ebda9,'projectDir':_0x12b4b9};if(_0xc0fdb2[_0x982bf9(0x1c9)]>0x1)return{'found':![],'reason':_0x982bf9(0x1d3),'llmProject':_0x3ebda9,'agentDirs':_0xc0fdb2,'projectDir':_0x12b4b9};return{'found':!![],'projectDir':a82_0xbd44f7[_0x982bf9(0x1d8)](_0x12b4b9,_0xc0fdb2[0x0]),'configPath':_0x482657,'source':_0x982bf9(0x1dc)};}return{'found':!![],'projectDir':_0x12b4b9,'configPath':_0x482657,'source':_0x982bf9(0x1dc)};}
1
+ function a86_0x2a9e(){const _0x59cfc5=['Current\x20context\x20has\x20llm_project=\x22','utf-8','chat_interfaces','no_tests','arg-dir','name','\x22\x20but\x20no\x20local\x20folder\x20found.','arg','string','resolve','345sEeiAH','783jooSkV','parse','No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.','tdx.json','requireFile','isDirectory','KNOWLEDGE_BASES','Invalid\x20tdx.json:\x20expected\x20object','37050200tkBicV','integrations','agents','32072jQSmdE','cwd','3414OkLQox','346vLYACG','no_local_folder','length','Invalid\x20JSON\x20in\x20','No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.','experimental_knowledge_bases','agent.yml','8286860wSqNtB','PROMPTS','dirname','4642hznJTn','knowledge_bases','cwd-config','local','context','3728fgYcLh','9580ZfXbdI','prompts','filter','multiple_agents','EXPERIMENTAL_KNOWLEDGE_BASES','join','EXPERIMENTAL_ARTIFACTS','form_interfaces','llm_project','8511412HkCDMO'];a86_0x2a9e=function(){return _0x59cfc5;};return a86_0x2a9e();}const a86_0x39bd20=a86_0x25a0;(function(_0x45ee9,_0x244435){const _0x28ff85=a86_0x25a0,_0x68b5f6=_0x45ee9();while(!![]){try{const _0x25dabe=-parseInt(_0x28ff85(0xa2))/0x1*(parseInt(_0x28ff85(0x98))/0x2)+parseInt(_0x28ff85(0x89))/0x3*(-parseInt(_0x28ff85(0x95))/0x4)+-parseInt(_0x28ff85(0x75))/0x5*(-parseInt(_0x28ff85(0x97))/0x6)+-parseInt(_0x28ff85(0x7e))/0x7+parseInt(_0x28ff85(0x74))/0x8*(-parseInt(_0x28ff85(0x8a))/0x9)+-parseInt(_0x28ff85(0x9f))/0xa+parseInt(_0x28ff85(0x92))/0xb;if(_0x25dabe===_0x244435)break;else _0x68b5f6['push'](_0x68b5f6['shift']());}catch(_0x1e2c0a){_0x68b5f6['push'](_0x68b5f6['shift']());}}}(a86_0x2a9e,0x9e3bc));import{existsSync,readFileSync,readdirSync}from'fs';function a86_0x25a0(_0x230681,_0x29298e){_0x230681=_0x230681-0x71;const _0x2a9ee4=a86_0x2a9e();let _0x25a0d8=_0x2a9ee4[_0x230681];return _0x25a0d8;}import a86_0x38fde1 from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE=a86_0x39bd20(0x8d),AGENTS_DIR=a86_0x39bd20(0x94);export function findAgentConfigPath(_0x4b6692=process['cwd']()){const _0x3792bb=a86_0x39bd20;let _0x553c7d=a86_0x38fde1[_0x3792bb(0x88)](_0x4b6692);const _0x4dc21d=a86_0x38fde1['parse'](_0x553c7d)['root'];while(_0x553c7d!==_0x4dc21d){const _0x3e3c26=a86_0x38fde1[_0x3792bb(0x7a)](_0x553c7d,TDX_CONFIG_FILE);if(existsSync(_0x3e3c26))try{const _0x157d99=readFileSync(_0x3e3c26,_0x3792bb(0x80)),_0x102cb7=JSON['parse'](_0x157d99);if(_0x102cb7[_0x3792bb(0x7d)])return _0x3e3c26;}catch{}_0x553c7d=a86_0x38fde1[_0x3792bb(0xa1)](_0x553c7d);}return null;}export function loadAgentConfig(_0x1b0d7a){const _0x1f32d3=a86_0x39bd20,_0x2e21b8=readFileSync(_0x1b0d7a,_0x1f32d3(0x80));let _0x3189fa;try{_0x3189fa=JSON[_0x1f32d3(0x8b)](_0x2e21b8);}catch{throw new Error(_0x1f32d3(0x9b)+_0x1b0d7a);}if(!_0x3189fa||typeof _0x3189fa!=='object')throw new Error(_0x1f32d3(0x91));const _0x2e8f7b=_0x3189fa;if(!_0x2e8f7b[_0x1f32d3(0x7d)]||typeof _0x2e8f7b['llm_project']!==_0x1f32d3(0x87))throw new Error('Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field');return{'llm_project':_0x2e8f7b['llm_project']};}export function findAgentConfig(_0x10eab9=process[a86_0x39bd20(0x96)]()){const _0x199bcf=a86_0x39bd20,_0x3e0b0b=findAgentConfigPath(_0x10eab9);if(!_0x3e0b0b)throw new Error(_0x199bcf(0x9c));const _0x349831=loadAgentConfig(_0x3e0b0b),_0x1256c3=a86_0x38fde1[_0x199bcf(0xa1)](_0x3e0b0b);return{'config':_0x349831,'configPath':_0x3e0b0b,'configDir':_0x1256c3};}export function getAgentProjectDir(_0x4c2699,_0x57ac08=process[a86_0x39bd20(0x96)]()){return a86_0x38fde1['join'](_0x57ac08,AGENTS_DIR,_0x4c2699);}export function getAgentConfigPath(_0x132cf7,_0x4a8a27=process['cwd']()){const _0x53a4b4=a86_0x39bd20;return a86_0x38fde1[_0x53a4b4(0x7a)](getAgentProjectDir(_0x132cf7,_0x4a8a27),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x6bbbe){const _0x2c1f3a={'llm_project':_0x6bbbe};return JSON['stringify'](_0x2c1f3a,null,0x2)+'\x0a';}export function isAgentDir(_0x222807){const _0x23b8e8=a86_0x39bd20;return existsSync(a86_0x38fde1[_0x23b8e8(0x7a)](_0x222807,_0x23b8e8(0x9e)));}export function isAgentYamlPath(_0x7f2533){return a86_0x38fde1['basename'](_0x7f2533)==='agent.yml';}export function getAgentDirFromYamlPath(_0x3113ce){return a86_0x38fde1['dirname'](_0x3113ce);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':a86_0x39bd20(0xa3),'PROMPTS':a86_0x39bd20(0x76),'INTEGRATIONS':a86_0x39bd20(0x93),'EXPERIMENTAL_KNOWLEDGE_BASES':a86_0x39bd20(0x9d),'EXPERIMENTAL_ARTIFACTS':'experimental_artifacts','FORM_INTERFACES':a86_0x39bd20(0x7c),'CHAT_INTERFACES':a86_0x39bd20(0x81)};export function getKnowledgeBasesDir(_0x5130a1){const _0x350f49=a86_0x39bd20;return a86_0x38fde1[_0x350f49(0x7a)](_0x5130a1,PROJECT_SUBDIRS[_0x350f49(0x90)]);}export function getPromptsDir(_0x3fc0f6){const _0x33a1e7=a86_0x39bd20;return a86_0x38fde1[_0x33a1e7(0x7a)](_0x3fc0f6,PROJECT_SUBDIRS[_0x33a1e7(0xa0)]);}export function getIntegrationsDir(_0x5a7470){const _0x200bef=a86_0x39bd20;return a86_0x38fde1[_0x200bef(0x7a)](_0x5a7470,PROJECT_SUBDIRS['INTEGRATIONS']);}export function getExperimentalKnowledgeBasesDir(_0x315cfb){const _0x44c0b9=a86_0x39bd20;return a86_0x38fde1[_0x44c0b9(0x7a)](_0x315cfb,PROJECT_SUBDIRS[_0x44c0b9(0x79)]);}export function getExperimentalArtifactsDir(_0x1932b5){const _0x36cf89=a86_0x39bd20;return a86_0x38fde1[_0x36cf89(0x7a)](_0x1932b5,PROJECT_SUBDIRS[_0x36cf89(0x7b)]);}export function getFormInterfacesDir(_0x16b90b){const _0x23cb4c=a86_0x39bd20;return a86_0x38fde1[_0x23cb4c(0x7a)](_0x16b90b,PROJECT_SUBDIRS['FORM_INTERFACES']);}export function getChatInterfacesDir(_0x2f4702){const _0xd6628d=a86_0x39bd20;return a86_0x38fde1[_0xd6628d(0x7a)](_0x2f4702,PROJECT_SUBDIRS['CHAT_INTERFACES']);}export function resolveAgentPullArgs(_0x341f99){const _0x32875d=a86_0x39bd20,{arg:_0x5d6b11,agentNameArg:_0x1581bc,agentFlag:_0x22e4f9,contextProject:_0x19ef88,argDirConfig:_0x2307aa,cwdConfigPath:_0x2464d1,cwdConfig:_0x59a1c6}=_0x341f99,_0x11704e=_0x1581bc||_0x22e4f9;if(_0x5d6b11){if(_0x2307aa)return{'projectNameOrId':_0x2307aa[_0x32875d(0x7d)],'targetAgentName':_0x11704e,'existingOutputDir':_0x5d6b11,'source':_0x32875d(0x83)};return{'projectNameOrId':_0x5d6b11,'targetAgentName':_0x11704e,'source':_0x32875d(0x86)};}if(_0x22e4f9&&_0x19ef88)return{'projectNameOrId':_0x19ef88,'targetAgentName':_0x22e4f9,'source':_0x32875d(0x73)};if(_0x2464d1&&_0x59a1c6)return{'projectNameOrId':_0x59a1c6[_0x32875d(0x7d)],'targetAgentName':_0x11704e,'existingOutputDir':a86_0x38fde1[_0x32875d(0xa1)](_0x2464d1),'source':_0x32875d(0x71)};return{'projectNameOrId':_0x19ef88,'targetAgentName':_0x11704e,'source':_0x19ef88?_0x32875d(0x73):undefined};}export function resolveProjectFromContext(_0x15332a,_0x2fb3b6,_0x14be80){const _0x51240a=a86_0x39bd20,_0x14abd5=_0x14be80?.[_0x51240a(0x8e)],_0x4d63e3=findAgentConfigPath(a86_0x38fde1[_0x51240a(0x88)](_0x15332a));if(_0x4d63e3)return{'found':!![],'projectDir':a86_0x38fde1[_0x51240a(0xa1)](_0x4d63e3),'configPath':_0x4d63e3,'source':_0x51240a(0x72)};if(!_0x2fb3b6)return{'found':![],'reason':'no_context','message':_0x51240a(0x8c)};const _0x13422d=sanitizeForFilesystem(_0x2fb3b6),_0x50abb7=a86_0x38fde1['join'](process['cwd'](),AGENTS_DIR);let _0x47ac07=a86_0x38fde1[_0x51240a(0x7a)](_0x50abb7,_0x13422d),_0xf24b0d=a86_0x38fde1[_0x51240a(0x7a)](_0x47ac07,TDX_CONFIG_FILE);if(!existsSync(_0x47ac07)){const _0x193d89=normalizeName(_0x2fb3b6),_0x37f70c=a86_0x38fde1[_0x51240a(0x7a)](_0x50abb7,_0x193d89);existsSync(_0x37f70c)&&(_0x47ac07=_0x37f70c,_0xf24b0d=a86_0x38fde1['join'](_0x47ac07,TDX_CONFIG_FILE));}if(!existsSync(_0x47ac07))return{'found':![],'reason':_0x51240a(0x99),'llmProject':_0x2fb3b6,'message':_0x51240a(0x7f)+_0x2fb3b6+_0x51240a(0x85)};if(_0x14abd5){const _0x222e56=readdirSync(_0x47ac07,{'withFileTypes':!![]}),_0x2053d1=_0x222e56[_0x51240a(0x77)](_0x35b180=>_0x35b180[_0x51240a(0x8f)]())['map'](_0x23f918=>_0x23f918[_0x51240a(0x84)])['filter'](_0x2a2e8f=>{const _0x590590=_0x51240a,_0x16546e=a86_0x38fde1[_0x590590(0x7a)](_0x47ac07,_0x2a2e8f,_0x14abd5);return existsSync(_0x16546e);});if(_0x2053d1[_0x51240a(0x9a)]===0x0)return{'found':![],'reason':_0x51240a(0x82),'llmProject':_0x2fb3b6,'projectDir':_0x47ac07};if(_0x2053d1[_0x51240a(0x9a)]>0x1)return{'found':![],'reason':_0x51240a(0x78),'llmProject':_0x2fb3b6,'agentDirs':_0x2053d1,'projectDir':_0x47ac07};return{'found':!![],'projectDir':a86_0x38fde1[_0x51240a(0x7a)](_0x47ac07,_0x2053d1[0x0]),'configPath':_0xf24b0d,'source':_0x51240a(0x73)};}return{'found':!![],'projectDir':_0x47ac07,'configPath':_0xf24b0d,'source':_0x51240a(0x73)};}
@@ -1 +1 @@
1
- (function(_0x518546,_0x1eff18){const _0x36bc9d=a83_0x1295,_0x2d8985=_0x518546();while(!![]){try{const _0x448b22=parseInt(_0x36bc9d(0x1d9))/0x1+parseInt(_0x36bc9d(0x1de))/0x2+parseInt(_0x36bc9d(0x1d8))/0x3+-parseInt(_0x36bc9d(0x1df))/0x4*(-parseInt(_0x36bc9d(0x1d5))/0x5)+parseInt(_0x36bc9d(0x1dc))/0x6+-parseInt(_0x36bc9d(0x1da))/0x7*(parseInt(_0x36bc9d(0x1d4))/0x8)+parseInt(_0x36bc9d(0x1d3))/0x9;if(_0x448b22===_0x1eff18)break;else _0x2d8985['push'](_0x2d8985['shift']());}catch(_0x25a18f){_0x2d8985['push'](_0x2d8985['shift']());}}}(a83_0x1e78,0xcd769));export function parseAgentRef(_0x6f6b2f){const _0x59c391=a83_0x1295;if(!_0x6f6b2f||_0x6f6b2f[_0x59c391(0x1d1)]()==='')throw new Error(_0x59c391(0x1dd));const _0x54cc80=_0x6f6b2f['trim'](),_0x2ad200=_0x54cc80['split']('/');if(_0x2ad200[_0x59c391(0x1d7)]===0x1)return{'projectName':_0x2ad200[0x0],'agentName':undefined};else{if(_0x2ad200[_0x59c391(0x1d7)]===0x2){const [_0x5e3632,_0x320a78]=_0x2ad200;if(!_0x5e3632||_0x5e3632[_0x59c391(0x1d1)]()==='')throw new Error(_0x59c391(0x1d6));if(!_0x320a78||_0x320a78[_0x59c391(0x1d1)]()==='')throw new Error(_0x59c391(0x1db));return{'projectName':_0x5e3632[_0x59c391(0x1d1)](),'agentName':_0x320a78[_0x59c391(0x1d1)]()};}else throw new Error(_0x59c391(0x1d2)+_0x6f6b2f+'.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22');}}function a83_0x1295(_0x1b1f7d,_0x485eeb){_0x1b1f7d=_0x1b1f7d-0x1d1;const _0x1e7819=a83_0x1e78();let _0x1295a0=_0x1e7819[_0x1b1f7d];return _0x1295a0;}function a83_0x1e78(){const _0x2f7b47=['Agent\x20name\x20cannot\x20be\x20empty','60834ncaWDs','Agent\x20reference\x20cannot\x20be\x20empty','606930DnoWIb','158684VvGfFk','trim','Invalid\x20agent\x20reference\x20format:\x20','4587930PWLGja','54904zMIgfO','30uyLgxL','Project\x20name\x20cannot\x20be\x20empty','length','1526148uRhboI','143062YAwrJA','889XIImyo'];a83_0x1e78=function(){return _0x2f7b47;};return a83_0x1e78();}
1
+ function a87_0x461b(_0x281989,_0x4a8e7e){_0x281989=_0x281989-0xf9;const _0x3c7cba=a87_0x3c7c();let _0x461bd6=_0x3c7cba[_0x281989];return _0x461bd6;}function a87_0x3c7c(){const _0x3ee345=['54UrDbXD','Agent\x20name\x20cannot\x20be\x20empty','581guvgMa','1848052jaXqoa','4707152SwZTck','7494lwqiqX','30928hgwzVI','4798nLgwZw','split','2655cOcSRB','Agent\x20reference\x20cannot\x20be\x20empty','trim','length','1703370vNbRZg','32139657SLLslU','789Wmoqgl'];a87_0x3c7c=function(){return _0x3ee345;};return a87_0x3c7c();}(function(_0x14d6cb,_0x44f4bb){const _0xb39521=a87_0x461b,_0x176e2d=_0x14d6cb();while(!![]){try{const _0x484e38=parseInt(_0xb39521(0x103))/0x1+parseInt(_0xb39521(0x107))/0x2*(-parseInt(_0xb39521(0xff))/0x3)+-parseInt(_0xb39521(0x104))/0x4+-parseInt(_0xb39521(0xf9))/0x5*(parseInt(_0xb39521(0x105))/0x6)+parseInt(_0xb39521(0x102))/0x7*(-parseInt(_0xb39521(0x106))/0x8)+-parseInt(_0xb39521(0x100))/0x9*(parseInt(_0xb39521(0xfd))/0xa)+parseInt(_0xb39521(0xfe))/0xb;if(_0x484e38===_0x44f4bb)break;else _0x176e2d['push'](_0x176e2d['shift']());}catch(_0x5d687f){_0x176e2d['push'](_0x176e2d['shift']());}}}(a87_0x3c7c,0xe965b));export function parseAgentRef(_0x7c049e){const _0x4ce728=a87_0x461b;if(!_0x7c049e||_0x7c049e[_0x4ce728(0xfb)]()==='')throw new Error(_0x4ce728(0xfa));const _0x526433=_0x7c049e[_0x4ce728(0xfb)](),_0x49ad8e=_0x526433[_0x4ce728(0x108)]('/');if(_0x49ad8e[_0x4ce728(0xfc)]===0x1)return{'projectName':_0x49ad8e[0x0],'agentName':undefined};else{if(_0x49ad8e['length']===0x2){const [_0x204164,_0x2a2afc]=_0x49ad8e;if(!_0x204164||_0x204164[_0x4ce728(0xfb)]()==='')throw new Error('Project\x20name\x20cannot\x20be\x20empty');if(!_0x2a2afc||_0x2a2afc[_0x4ce728(0xfb)]()==='')throw new Error(_0x4ce728(0x101));return{'projectName':_0x204164['trim'](),'agentName':_0x2a2afc[_0x4ce728(0xfb)]()};}else throw new Error('Invalid\x20agent\x20reference\x20format:\x20'+_0x7c049e+'.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22');}}