@defai.digital/ax-cli 4.4.6 → 4.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/ax-cli +1 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -9
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts +27 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +591 -0
- package/dist/setup.js.map +1 -0
- package/package.json +43 -135
- package/LICENSE +0 -22
- package/README.md +0 -387
- package/config-defaults/messages.yaml +0 -75
- package/config-defaults/models.yaml +0 -57
- package/config-defaults/prompts.yaml +0 -948
- package/config-defaults/settings.yaml +0 -157
- package/dist/agent/agent-executor.d.ts +0 -61
- package/dist/agent/agent-executor.js +0 -194
- package/dist/agent/agent-executor.js.map +0 -1
- package/dist/agent/agent-router.d.ts +0 -68
- package/dist/agent/agent-router.js +0 -242
- package/dist/agent/agent-router.js.map +0 -1
- package/dist/agent/context-manager.d.ts +0 -122
- package/dist/agent/context-manager.js +0 -406
- package/dist/agent/context-manager.js.map +0 -1
- package/dist/agent/core/index.d.ts +0 -8
- package/dist/agent/core/index.js +0 -9
- package/dist/agent/core/index.js.map +0 -1
- package/dist/agent/core/types.d.ts +0 -92
- package/dist/agent/core/types.js +0 -11
- package/dist/agent/core/types.js.map +0 -1
- package/dist/agent/dependency-resolver.d.ts +0 -90
- package/dist/agent/dependency-resolver.js +0 -366
- package/dist/agent/dependency-resolver.js.map +0 -1
- package/dist/agent/execution/index.d.ts +0 -9
- package/dist/agent/execution/index.js +0 -9
- package/dist/agent/execution/index.js.map +0 -1
- package/dist/agent/execution/tool-executor.d.ts +0 -93
- package/dist/agent/execution/tool-executor.js +0 -552
- package/dist/agent/execution/tool-executor.js.map +0 -1
- package/dist/agent/index.d.ts +0 -14
- package/dist/agent/index.js +0 -145
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/llm-agent.d.ts +0 -368
- package/dist/agent/llm-agent.js +0 -1931
- package/dist/agent/llm-agent.js.map +0 -1
- package/dist/agent/loop-detector.d.ts +0 -72
- package/dist/agent/loop-detector.js +0 -335
- package/dist/agent/loop-detector.js.map +0 -1
- package/dist/agent/parallel-tools.d.ts +0 -69
- package/dist/agent/parallel-tools.js +0 -188
- package/dist/agent/parallel-tools.js.map +0 -1
- package/dist/agent/planning/index.d.ts +0 -9
- package/dist/agent/planning/index.js +0 -9
- package/dist/agent/planning/index.js.map +0 -1
- package/dist/agent/planning/plan-executor.d.ts +0 -79
- package/dist/agent/planning/plan-executor.js +0 -240
- package/dist/agent/planning/plan-executor.js.map +0 -1
- package/dist/agent/progress-tracker.d.ts +0 -94
- package/dist/agent/progress-tracker.js +0 -225
- package/dist/agent/progress-tracker.js.map +0 -1
- package/dist/agent/specialized/analysis-agent.d.ts +0 -11
- package/dist/agent/specialized/analysis-agent.js +0 -24
- package/dist/agent/specialized/analysis-agent.js.map +0 -1
- package/dist/agent/specialized/debug-agent.d.ts +0 -11
- package/dist/agent/specialized/debug-agent.js +0 -46
- package/dist/agent/specialized/debug-agent.js.map +0 -1
- package/dist/agent/specialized/documentation-agent.d.ts +0 -11
- package/dist/agent/specialized/documentation-agent.js +0 -24
- package/dist/agent/specialized/documentation-agent.js.map +0 -1
- package/dist/agent/specialized/index.d.ts +0 -11
- package/dist/agent/specialized/index.js +0 -12
- package/dist/agent/specialized/index.js.map +0 -1
- package/dist/agent/specialized/performance-agent.d.ts +0 -11
- package/dist/agent/specialized/performance-agent.js +0 -24
- package/dist/agent/specialized/performance-agent.js.map +0 -1
- package/dist/agent/specialized/refactoring-agent.d.ts +0 -11
- package/dist/agent/specialized/refactoring-agent.js +0 -24
- package/dist/agent/specialized/refactoring-agent.js.map +0 -1
- package/dist/agent/specialized/testing-agent.d.ts +0 -11
- package/dist/agent/specialized/testing-agent.js +0 -24
- package/dist/agent/specialized/testing-agent.js.map +0 -1
- package/dist/agent/status-reporter.d.ts +0 -114
- package/dist/agent/status-reporter.js +0 -335
- package/dist/agent/status-reporter.js.map +0 -1
- package/dist/agent/streaming/index.d.ts +0 -9
- package/dist/agent/streaming/index.js +0 -9
- package/dist/agent/streaming/index.js.map +0 -1
- package/dist/agent/streaming/stream-handler.d.ts +0 -62
- package/dist/agent/streaming/stream-handler.js +0 -217
- package/dist/agent/streaming/stream-handler.js.map +0 -1
- package/dist/agent/subagent-orchestrator.d.ts +0 -166
- package/dist/agent/subagent-orchestrator.js +0 -487
- package/dist/agent/subagent-orchestrator.js.map +0 -1
- package/dist/agent/subagent-types.d.ts +0 -261
- package/dist/agent/subagent-types.js +0 -257
- package/dist/agent/subagent-types.js.map +0 -1
- package/dist/agent/subagent.d.ts +0 -116
- package/dist/agent/subagent.js +0 -507
- package/dist/agent/subagent.js.map +0 -1
- package/dist/checkpoint/index.d.ts +0 -9
- package/dist/checkpoint/index.js +0 -11
- package/dist/checkpoint/index.js.map +0 -1
- package/dist/checkpoint/manager.d.ts +0 -101
- package/dist/checkpoint/manager.js +0 -407
- package/dist/checkpoint/manager.js.map +0 -1
- package/dist/checkpoint/storage.d.ts +0 -39
- package/dist/checkpoint/storage.js +0 -350
- package/dist/checkpoint/storage.js.map +0 -1
- package/dist/checkpoint/types.d.ts +0 -111
- package/dist/checkpoint/types.js +0 -17
- package/dist/checkpoint/types.js.map +0 -1
- package/dist/commands/cache.d.ts +0 -7
- package/dist/commands/cache.js +0 -284
- package/dist/commands/cache.js.map +0 -1
- package/dist/commands/custom-commands.d.ts +0 -77
- package/dist/commands/custom-commands.js +0 -251
- package/dist/commands/custom-commands.js.map +0 -1
- package/dist/commands/design.d.ts +0 -18
- package/dist/commands/design.js +0 -511
- package/dist/commands/design.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -6
- package/dist/commands/doctor.js +0 -773
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/frontend.d.ts +0 -9
- package/dist/commands/frontend.js +0 -645
- package/dist/commands/frontend.js.map +0 -1
- package/dist/commands/init/wizard.d.ts +0 -55
- package/dist/commands/init/wizard.js +0 -189
- package/dist/commands/init/wizard.js.map +0 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.js +0 -195
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp-migrate.d.ts +0 -9
- package/dist/commands/mcp-migrate.js +0 -175
- package/dist/commands/mcp-migrate.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -2
- package/dist/commands/mcp.js +0 -1292
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -6
- package/dist/commands/memory.js +0 -555
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/models.d.ts +0 -5
- package/dist/commands/models.js +0 -213
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/plan.d.ts +0 -43
- package/dist/commands/plan.js +0 -362
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/rewind.d.ts +0 -19
- package/dist/commands/rewind.js +0 -221
- package/dist/commands/rewind.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -14
- package/dist/commands/setup.js +0 -733
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/status.d.ts +0 -7
- package/dist/commands/status.js +0 -437
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/templates.d.ts +0 -5
- package/dist/commands/templates.js +0 -245
- package/dist/commands/templates.js.map +0 -1
- package/dist/commands/update.d.ts +0 -49
- package/dist/commands/update.js +0 -366
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -8
- package/dist/commands/usage.js +0 -264
- package/dist/commands/usage.js.map +0 -1
- package/dist/commands/vscode.d.ts +0 -7
- package/dist/commands/vscode.js +0 -419
- package/dist/commands/vscode.js.map +0 -1
- package/dist/constants.d.ts +0 -236
- package/dist/constants.js +0 -288
- package/dist/constants.js.map +0 -1
- package/dist/design/figma-alias.d.ts +0 -170
- package/dist/design/figma-alias.js +0 -577
- package/dist/design/figma-alias.js.map +0 -1
- package/dist/design/figma-audit.d.ts +0 -40
- package/dist/design/figma-audit.js +0 -383
- package/dist/design/figma-audit.js.map +0 -1
- package/dist/design/figma-client.d.ts +0 -131
- package/dist/design/figma-client.js +0 -369
- package/dist/design/figma-client.js.map +0 -1
- package/dist/design/figma-map.d.ts +0 -29
- package/dist/design/figma-map.js +0 -346
- package/dist/design/figma-map.js.map +0 -1
- package/dist/design/figma-tokens.d.ts +0 -73
- package/dist/design/figma-tokens.js +0 -448
- package/dist/design/figma-tokens.js.map +0 -1
- package/dist/design/index.d.ts +0 -13
- package/dist/design/index.js +0 -20
- package/dist/design/index.js.map +0 -1
- package/dist/design/types.d.ts +0 -98
- package/dist/design/types.js +0 -9
- package/dist/design/types.js.map +0 -1
- package/dist/hooks/hook-runner.d.ts +0 -142
- package/dist/hooks/hook-runner.js +0 -436
- package/dist/hooks/hook-runner.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -9
- package/dist/hooks/index.js +0 -10
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/manager.d.ts +0 -84
- package/dist/hooks/manager.js +0 -348
- package/dist/hooks/manager.js.map +0 -1
- package/dist/hooks/types.d.ts +0 -134
- package/dist/hooks/types.js +0 -9
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/ipc/index.d.ts +0 -9
- package/dist/ipc/index.js +0 -10
- package/dist/ipc/index.js.map +0 -1
- package/dist/ipc/vscode-client.d.ts +0 -200
- package/dist/ipc/vscode-client.js +0 -495
- package/dist/ipc/vscode-client.js.map +0 -1
- package/dist/llm/client.d.ts +0 -205
- package/dist/llm/client.js +0 -735
- package/dist/llm/client.js.map +0 -1
- package/dist/llm/tools.d.ts +0 -102
- package/dist/llm/tools.js +0 -275
- package/dist/llm/tools.js.map +0 -1
- package/dist/llm/types.d.ts +0 -428
- package/dist/llm/types.js +0 -194
- package/dist/llm/types.js.map +0 -1
- package/dist/mcp/automatosx-auto-discovery.d.ts +0 -66
- package/dist/mcp/automatosx-auto-discovery.js +0 -169
- package/dist/mcp/automatosx-auto-discovery.js.map +0 -1
- package/dist/mcp/automatosx-loader.d.ts +0 -99
- package/dist/mcp/automatosx-loader.js +0 -250
- package/dist/mcp/automatosx-loader.js.map +0 -1
- package/dist/mcp/cancellation.d.ts +0 -182
- package/dist/mcp/cancellation.js +0 -275
- package/dist/mcp/cancellation.js.map +0 -1
- package/dist/mcp/client-v2.d.ts +0 -500
- package/dist/mcp/client-v2.js +0 -1433
- package/dist/mcp/client-v2.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -170
- package/dist/mcp/client.js +0 -232
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/config-detector.d.ts +0 -90
- package/dist/mcp/config-detector.js +0 -250
- package/dist/mcp/config-detector.js.map +0 -1
- package/dist/mcp/config-migrator.d.ts +0 -68
- package/dist/mcp/config-migrator.js +0 -291
- package/dist/mcp/config-migrator.js.map +0 -1
- package/dist/mcp/config.d.ts +0 -24
- package/dist/mcp/config.js +0 -273
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/constants.d.ts +0 -66
- package/dist/mcp/constants.js +0 -85
- package/dist/mcp/constants.js.map +0 -1
- package/dist/mcp/content-length-transport.d.ts +0 -106
- package/dist/mcp/content-length-transport.js +0 -413
- package/dist/mcp/content-length-transport.js.map +0 -1
- package/dist/mcp/debug.d.ts +0 -211
- package/dist/mcp/debug.js +0 -404
- package/dist/mcp/debug.js.map +0 -1
- package/dist/mcp/error-formatter.d.ts +0 -40
- package/dist/mcp/error-formatter.js +0 -207
- package/dist/mcp/error-formatter.js.map +0 -1
- package/dist/mcp/error-remediation.d.ts +0 -45
- package/dist/mcp/error-remediation.js +0 -291
- package/dist/mcp/error-remediation.js.map +0 -1
- package/dist/mcp/health.d.ts +0 -120
- package/dist/mcp/health.js +0 -267
- package/dist/mcp/health.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -56
- package/dist/mcp/index.js +0 -89
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/invariants.d.ts +0 -141
- package/dist/mcp/invariants.js +0 -243
- package/dist/mcp/invariants.js.map +0 -1
- package/dist/mcp/mutex-safe.d.ts +0 -151
- package/dist/mcp/mutex-safe.js +0 -260
- package/dist/mcp/mutex-safe.js.map +0 -1
- package/dist/mcp/progress.d.ts +0 -155
- package/dist/mcp/progress.js +0 -252
- package/dist/mcp/progress.js.map +0 -1
- package/dist/mcp/prompts.d.ts +0 -68
- package/dist/mcp/prompts.js +0 -129
- package/dist/mcp/prompts.js.map +0 -1
- package/dist/mcp/provider-mcp-loader.d.ts +0 -130
- package/dist/mcp/provider-mcp-loader.js +0 -292
- package/dist/mcp/provider-mcp-loader.js.map +0 -1
- package/dist/mcp/reconnection.d.ts +0 -101
- package/dist/mcp/reconnection.js +0 -253
- package/dist/mcp/reconnection.js.map +0 -1
- package/dist/mcp/registry.d.ts +0 -75
- package/dist/mcp/registry.js +0 -276
- package/dist/mcp/registry.js.map +0 -1
- package/dist/mcp/resources.d.ts +0 -58
- package/dist/mcp/resources.js +0 -144
- package/dist/mcp/resources.js.map +0 -1
- package/dist/mcp/schema-validator.d.ts +0 -82
- package/dist/mcp/schema-validator.js +0 -161
- package/dist/mcp/schema-validator.js.map +0 -1
- package/dist/mcp/ssrf-protection.d.ts +0 -86
- package/dist/mcp/ssrf-protection.js +0 -311
- package/dist/mcp/ssrf-protection.js.map +0 -1
- package/dist/mcp/subscriptions.d.ts +0 -168
- package/dist/mcp/subscriptions.js +0 -248
- package/dist/mcp/subscriptions.js.map +0 -1
- package/dist/mcp/templates.d.ts +0 -52
- package/dist/mcp/templates.js +0 -627
- package/dist/mcp/templates.js.map +0 -1
- package/dist/mcp/transports.d.ts +0 -80
- package/dist/mcp/transports.js +0 -237
- package/dist/mcp/transports.js.map +0 -1
- package/dist/mcp/type-safety.d.ts +0 -225
- package/dist/mcp/type-safety.js +0 -237
- package/dist/mcp/type-safety.js.map +0 -1
- package/dist/mcp/validation.d.ts +0 -29
- package/dist/mcp/validation.js +0 -339
- package/dist/mcp/validation.js.map +0 -1
- package/dist/mcp/zai-detector.d.ts +0 -63
- package/dist/mcp/zai-detector.js +0 -193
- package/dist/mcp/zai-detector.js.map +0 -1
- package/dist/mcp/zai-templates.d.ts +0 -90
- package/dist/mcp/zai-templates.js +0 -157
- package/dist/mcp/zai-templates.js.map +0 -1
- package/dist/memory/context-generator.d.ts +0 -84
- package/dist/memory/context-generator.js +0 -546
- package/dist/memory/context-generator.js.map +0 -1
- package/dist/memory/context-injector.d.ts +0 -97
- package/dist/memory/context-injector.js +0 -159
- package/dist/memory/context-injector.js.map +0 -1
- package/dist/memory/context-store.d.ts +0 -103
- package/dist/memory/context-store.js +0 -264
- package/dist/memory/context-store.js.map +0 -1
- package/dist/memory/index.d.ts +0 -43
- package/dist/memory/index.js +0 -49
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/provider-context-store.d.ts +0 -127
- package/dist/memory/provider-context-store.js +0 -385
- package/dist/memory/provider-context-store.js.map +0 -1
- package/dist/memory/schemas.d.ts +0 -118
- package/dist/memory/schemas.js +0 -106
- package/dist/memory/schemas.js.map +0 -1
- package/dist/memory/stats-collector.d.ts +0 -73
- package/dist/memory/stats-collector.js +0 -170
- package/dist/memory/stats-collector.js.map +0 -1
- package/dist/memory/types.d.ts +0 -177
- package/dist/memory/types.js +0 -73
- package/dist/memory/types.js.map +0 -1
- package/dist/permissions/index.d.ts +0 -6
- package/dist/permissions/index.js +0 -7
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-manager.d.ts +0 -149
- package/dist/permissions/permission-manager.js +0 -410
- package/dist/permissions/permission-manager.js.map +0 -1
- package/dist/planner/dependency-resolver.d.ts +0 -72
- package/dist/planner/dependency-resolver.js +0 -272
- package/dist/planner/dependency-resolver.js.map +0 -1
- package/dist/planner/index.d.ts +0 -12
- package/dist/planner/index.js +0 -28
- package/dist/planner/index.js.map +0 -1
- package/dist/planner/plan-generator.d.ts +0 -74
- package/dist/planner/plan-generator.js +0 -244
- package/dist/planner/plan-generator.js.map +0 -1
- package/dist/planner/plan-storage.d.ts +0 -113
- package/dist/planner/plan-storage.js +0 -398
- package/dist/planner/plan-storage.js.map +0 -1
- package/dist/planner/prompts/planning-prompt.d.ts +0 -62
- package/dist/planner/prompts/planning-prompt.js +0 -414
- package/dist/planner/prompts/planning-prompt.js.map +0 -1
- package/dist/planner/task-planner.d.ts +0 -139
- package/dist/planner/task-planner.js +0 -532
- package/dist/planner/task-planner.js.map +0 -1
- package/dist/planner/token-estimator.d.ts +0 -63
- package/dist/planner/token-estimator.js +0 -295
- package/dist/planner/token-estimator.js.map +0 -1
- package/dist/planner/types.d.ts +0 -425
- package/dist/planner/types.js +0 -213
- package/dist/planner/types.js.map +0 -1
- package/dist/provider/config.d.ts +0 -227
- package/dist/provider/config.js +0 -430
- package/dist/provider/config.js.map +0 -1
- package/dist/schemas/api-schemas.d.ts +0 -45
- package/dist/schemas/api-schemas.js +0 -129
- package/dist/schemas/api-schemas.js.map +0 -1
- package/dist/schemas/confirmation-schemas.d.ts +0 -39
- package/dist/schemas/confirmation-schemas.js +0 -48
- package/dist/schemas/confirmation-schemas.js.map +0 -1
- package/dist/schemas/index-unified.d.ts +0 -12
- package/dist/schemas/index-unified.js +0 -17
- package/dist/schemas/index-unified.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -83
- package/dist/schemas/index.js +0 -139
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/settings-schemas.d.ts +0 -186
- package/dist/schemas/settings-schemas.js +0 -324
- package/dist/schemas/settings-schemas.js.map +0 -1
- package/dist/schemas/tool-schemas.d.ts +0 -127
- package/dist/schemas/tool-schemas.js +0 -84
- package/dist/schemas/tool-schemas.js.map +0 -1
- package/dist/schemas/yaml-schemas.d.ts +0 -231
- package/dist/schemas/yaml-schemas.js +0 -199
- package/dist/schemas/yaml-schemas.js.map +0 -1
- package/dist/sdk/errors.d.ts +0 -100
- package/dist/sdk/errors.js +0 -138
- package/dist/sdk/errors.js.map +0 -1
- package/dist/sdk/index.d.ts +0 -901
- package/dist/sdk/index.js +0 -1272
- package/dist/sdk/index.js.map +0 -1
- package/dist/sdk/progress-reporter.d.ts +0 -123
- package/dist/sdk/progress-reporter.js +0 -220
- package/dist/sdk/progress-reporter.js.map +0 -1
- package/dist/sdk/testing.d.ts +0 -427
- package/dist/sdk/testing.js +0 -725
- package/dist/sdk/testing.js.map +0 -1
- package/dist/sdk/tool-registry.d.ts +0 -194
- package/dist/sdk/tool-registry.js +0 -326
- package/dist/sdk/tool-registry.js.map +0 -1
- package/dist/sdk/types.d.ts +0 -53
- package/dist/sdk/types.js +0 -8
- package/dist/sdk/types.js.map +0 -1
- package/dist/sdk/unified-logger.d.ts +0 -173
- package/dist/sdk/unified-logger.js +0 -327
- package/dist/sdk/unified-logger.js.map +0 -1
- package/dist/sdk/version.d.ts +0 -163
- package/dist/sdk/version.js +0 -205
- package/dist/sdk/version.js.map +0 -1
- package/dist/tools/ask-user.d.ts +0 -126
- package/dist/tools/ask-user.js +0 -290
- package/dist/tools/ask-user.js.map +0 -1
- package/dist/tools/ax-agent.d.ts +0 -71
- package/dist/tools/ax-agent.js +0 -283
- package/dist/tools/ax-agent.js.map +0 -1
- package/dist/tools/bash-output.d.ts +0 -25
- package/dist/tools/bash-output.js +0 -146
- package/dist/tools/bash-output.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -67
- package/dist/tools/bash.js +0 -522
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/confirmation-tool.d.ts +0 -16
- package/dist/tools/confirmation-tool.js +0 -76
- package/dist/tools/confirmation-tool.js.map +0 -1
- package/dist/tools/definitions/ask-user.d.ts +0 -8
- package/dist/tools/definitions/ask-user.js +0 -168
- package/dist/tools/definitions/ask-user.js.map +0 -1
- package/dist/tools/definitions/ax-agent.d.ts +0 -8
- package/dist/tools/definitions/ax-agent.js +0 -276
- package/dist/tools/definitions/ax-agent.js.map +0 -1
- package/dist/tools/definitions/bash-output.d.ts +0 -7
- package/dist/tools/definitions/bash-output.js +0 -78
- package/dist/tools/definitions/bash-output.js.map +0 -1
- package/dist/tools/definitions/bash.d.ts +0 -8
- package/dist/tools/definitions/bash.js +0 -152
- package/dist/tools/definitions/bash.js.map +0 -1
- package/dist/tools/definitions/create-file.d.ts +0 -7
- package/dist/tools/definitions/create-file.js +0 -129
- package/dist/tools/definitions/create-file.js.map +0 -1
- package/dist/tools/definitions/design.d.ts +0 -12
- package/dist/tools/definitions/design.js +0 -368
- package/dist/tools/definitions/design.js.map +0 -1
- package/dist/tools/definitions/index.d.ts +0 -49
- package/dist/tools/definitions/index.js +0 -87
- package/dist/tools/definitions/index.js.map +0 -1
- package/dist/tools/definitions/multi-edit.d.ts +0 -7
- package/dist/tools/definitions/multi-edit.js +0 -123
- package/dist/tools/definitions/multi-edit.js.map +0 -1
- package/dist/tools/definitions/search.d.ts +0 -7
- package/dist/tools/definitions/search.js +0 -159
- package/dist/tools/definitions/search.js.map +0 -1
- package/dist/tools/definitions/str-replace-editor.d.ts +0 -7
- package/dist/tools/definitions/str-replace-editor.js +0 -145
- package/dist/tools/definitions/str-replace-editor.js.map +0 -1
- package/dist/tools/definitions/todo.d.ts +0 -8
- package/dist/tools/definitions/todo.js +0 -261
- package/dist/tools/definitions/todo.js.map +0 -1
- package/dist/tools/definitions/view-file.d.ts +0 -7
- package/dist/tools/definitions/view-file.js +0 -111
- package/dist/tools/definitions/view-file.js.map +0 -1
- package/dist/tools/design-tool.d.ts +0 -68
- package/dist/tools/design-tool.js +0 -299
- package/dist/tools/design-tool.js.map +0 -1
- package/dist/tools/format-generators.d.ts +0 -62
- package/dist/tools/format-generators.js +0 -291
- package/dist/tools/format-generators.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.js +0 -11
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/priority-registry.d.ts +0 -124
- package/dist/tools/priority-registry.js +0 -401
- package/dist/tools/priority-registry.js.map +0 -1
- package/dist/tools/priority.d.ts +0 -158
- package/dist/tools/priority.js +0 -350
- package/dist/tools/priority.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -146
- package/dist/tools/registry.js +0 -171
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/search.d.ts +0 -85
- package/dist/tools/search.js +0 -430
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/text-editor.d.ts +0 -87
- package/dist/tools/text-editor.js +0 -1369
- package/dist/tools/text-editor.js.map +0 -1
- package/dist/tools/todo-tool.d.ts +0 -20
- package/dist/tools/todo-tool.js +0 -186
- package/dist/tools/todo-tool.js.map +0 -1
- package/dist/tools/types.d.ts +0 -175
- package/dist/tools/types.js +0 -11
- package/dist/tools/types.js.map +0 -1
- package/dist/types/index.d.ts +0 -30
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/project-analysis.d.ts +0 -84
- package/dist/types/project-analysis.js +0 -5
- package/dist/types/project-analysis.js.map +0 -1
- package/dist/types/template.d.ts +0 -53
- package/dist/types/template.js +0 -5
- package/dist/types/template.js.map +0 -1
- package/dist/ui/app.d.ts +0 -7
- package/dist/ui/app.js +0 -102
- package/dist/ui/app.js.map +0 -1
- package/dist/ui/components/api-key-input.d.ts +0 -7
- package/dist/ui/components/api-key-input.js +0 -92
- package/dist/ui/components/api-key-input.js.map +0 -1
- package/dist/ui/components/chat-history.d.ts +0 -12
- package/dist/ui/components/chat-history.js +0 -391
- package/dist/ui/components/chat-history.js.map +0 -1
- package/dist/ui/components/chat-input.d.ts +0 -13
- package/dist/ui/components/chat-input.js +0 -179
- package/dist/ui/components/chat-input.js.map +0 -1
- package/dist/ui/components/chat-interface.d.ts +0 -11
- package/dist/ui/components/chat-interface.js +0 -830
- package/dist/ui/components/chat-interface.js.map +0 -1
- package/dist/ui/components/collapsible-tool-result.d.ts +0 -42
- package/dist/ui/components/collapsible-tool-result.js +0 -216
- package/dist/ui/components/collapsible-tool-result.js.map +0 -1
- package/dist/ui/components/command-suggestions.d.ts +0 -29
- package/dist/ui/components/command-suggestions.js +0 -88
- package/dist/ui/components/command-suggestions.js.map +0 -1
- package/dist/ui/components/confirmation-dialog.d.ts +0 -11
- package/dist/ui/components/confirmation-dialog.js +0 -100
- package/dist/ui/components/confirmation-dialog.js.map +0 -1
- package/dist/ui/components/context-breakdown.d.ts +0 -23
- package/dist/ui/components/context-breakdown.js +0 -124
- package/dist/ui/components/context-breakdown.js.map +0 -1
- package/dist/ui/components/diff-renderer.d.ts +0 -13
- package/dist/ui/components/diff-renderer.js +0 -192
- package/dist/ui/components/diff-renderer.js.map +0 -1
- package/dist/ui/components/index.d.ts +0 -18
- package/dist/ui/components/index.js +0 -20
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/components/keyboard-help.d.ts +0 -17
- package/dist/ui/components/keyboard-help.js +0 -122
- package/dist/ui/components/keyboard-help.js.map +0 -1
- package/dist/ui/components/keyboard-hints.d.ts +0 -35
- package/dist/ui/components/keyboard-hints.js +0 -142
- package/dist/ui/components/keyboard-hints.js.map +0 -1
- package/dist/ui/components/loading-spinner.d.ts +0 -9
- package/dist/ui/components/loading-spinner.js +0 -120
- package/dist/ui/components/loading-spinner.js.map +0 -1
- package/dist/ui/components/mcp-dashboard.d.ts +0 -15
- package/dist/ui/components/mcp-dashboard.js +0 -520
- package/dist/ui/components/mcp-dashboard.js.map +0 -1
- package/dist/ui/components/mcp-status.d.ts +0 -5
- package/dist/ui/components/mcp-status.js +0 -58
- package/dist/ui/components/mcp-status.js.map +0 -1
- package/dist/ui/components/model-selection.d.ts +0 -12
- package/dist/ui/components/model-selection.js +0 -17
- package/dist/ui/components/model-selection.js.map +0 -1
- package/dist/ui/components/phase-progress.d.ts +0 -21
- package/dist/ui/components/phase-progress.js +0 -185
- package/dist/ui/components/phase-progress.js.map +0 -1
- package/dist/ui/components/question-dialog.d.ts +0 -17
- package/dist/ui/components/question-dialog.js +0 -181
- package/dist/ui/components/question-dialog.js.map +0 -1
- package/dist/ui/components/quick-actions.d.ts +0 -12
- package/dist/ui/components/quick-actions.js +0 -171
- package/dist/ui/components/quick-actions.js.map +0 -1
- package/dist/ui/components/reasoning-display.d.ts +0 -36
- package/dist/ui/components/reasoning-display.js +0 -46
- package/dist/ui/components/reasoning-display.js.map +0 -1
- package/dist/ui/components/status-bar.d.ts +0 -47
- package/dist/ui/components/status-bar.js +0 -310
- package/dist/ui/components/status-bar.js.map +0 -1
- package/dist/ui/components/subagent-monitor.d.ts +0 -41
- package/dist/ui/components/subagent-monitor.js +0 -122
- package/dist/ui/components/subagent-monitor.js.map +0 -1
- package/dist/ui/components/toast-notification.d.ts +0 -197
- package/dist/ui/components/toast-notification.js +0 -190
- package/dist/ui/components/toast-notification.js.map +0 -1
- package/dist/ui/components/tool-group-display.d.ts +0 -19
- package/dist/ui/components/tool-group-display.js +0 -222
- package/dist/ui/components/tool-group-display.js.map +0 -1
- package/dist/ui/components/virtualized-chat-history.d.ts +0 -33
- package/dist/ui/components/virtualized-chat-history.js +0 -182
- package/dist/ui/components/virtualized-chat-history.js.map +0 -1
- package/dist/ui/components/welcome-panel.d.ts +0 -11
- package/dist/ui/components/welcome-panel.js +0 -225
- package/dist/ui/components/welcome-panel.js.map +0 -1
- package/dist/ui/hooks/use-chat-reducer.d.ts +0 -69
- package/dist/ui/hooks/use-chat-reducer.js +0 -118
- package/dist/ui/hooks/use-chat-reducer.js.map +0 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +0 -53
- package/dist/ui/hooks/use-enhanced-input.js +0 -1275
- package/dist/ui/hooks/use-enhanced-input.js.map +0 -1
- package/dist/ui/hooks/use-input-handler.d.ts +0 -79
- package/dist/ui/hooks/use-input-handler.js +0 -2251
- package/dist/ui/hooks/use-input-handler.js.map +0 -1
- package/dist/ui/hooks/use-input-history.d.ts +0 -9
- package/dist/ui/hooks/use-input-history.js +0 -168
- package/dist/ui/hooks/use-input-history.js.map +0 -1
- package/dist/ui/shared/max-sized-box.d.ts +0 -17
- package/dist/ui/shared/max-sized-box.js +0 -14
- package/dist/ui/shared/max-sized-box.js.map +0 -1
- package/dist/ui/themes/index.d.ts +0 -5
- package/dist/ui/themes/index.js +0 -5
- package/dist/ui/themes/index.js.map +0 -1
- package/dist/ui/themes/theme-registry.d.ts +0 -55
- package/dist/ui/themes/theme-registry.js +0 -202
- package/dist/ui/themes/theme-registry.js.map +0 -1
- package/dist/ui/utils/bracketed-paste-handler.d.ts +0 -97
- package/dist/ui/utils/bracketed-paste-handler.js +0 -322
- package/dist/ui/utils/bracketed-paste-handler.js.map +0 -1
- package/dist/ui/utils/change-summarizer.d.ts +0 -20
- package/dist/ui/utils/change-summarizer.js +0 -282
- package/dist/ui/utils/change-summarizer.js.map +0 -1
- package/dist/ui/utils/code-colorizer.d.ts +0 -9
- package/dist/ui/utils/code-colorizer.js +0 -13
- package/dist/ui/utils/code-colorizer.js.map +0 -1
- package/dist/ui/utils/colors.d.ts +0 -41
- package/dist/ui/utils/colors.js +0 -80
- package/dist/ui/utils/colors.js.map +0 -1
- package/dist/ui/utils/image-handler.d.ts +0 -29
- package/dist/ui/utils/image-handler.js +0 -129
- package/dist/ui/utils/image-handler.js.map +0 -1
- package/dist/ui/utils/markdown-renderer.d.ts +0 -4
- package/dist/ui/utils/markdown-renderer.js +0 -40
- package/dist/ui/utils/markdown-renderer.js.map +0 -1
- package/dist/ui/utils/semantic-action-detector.d.ts +0 -49
- package/dist/ui/utils/semantic-action-detector.js +0 -339
- package/dist/ui/utils/semantic-action-detector.js.map +0 -1
- package/dist/ui/utils/tool-grouper.d.ts +0 -94
- package/dist/ui/utils/tool-grouper.js +0 -618
- package/dist/ui/utils/tool-grouper.js.map +0 -1
- package/dist/utils/api-error.d.ts +0 -61
- package/dist/utils/api-error.js +0 -176
- package/dist/utils/api-error.js.map +0 -1
- package/dist/utils/audit-logger.d.ts +0 -206
- package/dist/utils/audit-logger.js +0 -286
- package/dist/utils/audit-logger.js.map +0 -1
- package/dist/utils/auto-accept-logger.d.ts +0 -175
- package/dist/utils/auto-accept-logger.js +0 -423
- package/dist/utils/auto-accept-logger.js.map +0 -1
- package/dist/utils/automatosx-detector.d.ts +0 -19
- package/dist/utils/automatosx-detector.js +0 -52
- package/dist/utils/automatosx-detector.js.map +0 -1
- package/dist/utils/background-task-manager.d.ts +0 -114
- package/dist/utils/background-task-manager.js +0 -470
- package/dist/utils/background-task-manager.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -77
- package/dist/utils/cache.js +0 -180
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/command-security.d.ts +0 -85
- package/dist/utils/command-security.js +0 -210
- package/dist/utils/command-security.js.map +0 -1
- package/dist/utils/config-loader.d.ts +0 -190
- package/dist/utils/config-loader.js +0 -108
- package/dist/utils/config-loader.js.map +0 -1
- package/dist/utils/confirmation-service.d.ts +0 -51
- package/dist/utils/confirmation-service.js +0 -220
- package/dist/utils/confirmation-service.js.map +0 -1
- package/dist/utils/console-messenger.d.ts +0 -80
- package/dist/utils/console-messenger.js +0 -142
- package/dist/utils/console-messenger.js.map +0 -1
- package/dist/utils/custom-instructions.d.ts +0 -1
- package/dist/utils/custom-instructions.js +0 -24
- package/dist/utils/custom-instructions.js.map +0 -1
- package/dist/utils/encryption.d.ts +0 -86
- package/dist/utils/encryption.js +0 -236
- package/dist/utils/encryption.js.map +0 -1
- package/dist/utils/enhanced-error-messages.d.ts +0 -33
- package/dist/utils/enhanced-error-messages.js +0 -440
- package/dist/utils/enhanced-error-messages.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -65
- package/dist/utils/error-handler.js +0 -148
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/error-translator.d.ts +0 -25
- package/dist/utils/error-translator.js +0 -203
- package/dist/utils/error-translator.js.map +0 -1
- package/dist/utils/external-editor.d.ts +0 -47
- package/dist/utils/external-editor.js +0 -179
- package/dist/utils/external-editor.js.map +0 -1
- package/dist/utils/file-cache.d.ts +0 -148
- package/dist/utils/file-cache.js +0 -413
- package/dist/utils/file-cache.js.map +0 -1
- package/dist/utils/file-lock.d.ts +0 -141
- package/dist/utils/file-lock.js +0 -554
- package/dist/utils/file-lock.js.map +0 -1
- package/dist/utils/file-mentions.d.ts +0 -68
- package/dist/utils/file-mentions.js +0 -225
- package/dist/utils/file-mentions.js.map +0 -1
- package/dist/utils/history-manager.d.ts +0 -52
- package/dist/utils/history-manager.js +0 -211
- package/dist/utils/history-manager.js.map +0 -1
- package/dist/utils/history-migration.d.ts +0 -9
- package/dist/utils/history-migration.js +0 -37
- package/dist/utils/history-migration.js.map +0 -1
- package/dist/utils/image-processor.d.ts +0 -33
- package/dist/utils/image-processor.js +0 -124
- package/dist/utils/image-processor.js.map +0 -1
- package/dist/utils/index.d.ts +0 -92
- package/dist/utils/index.js +0 -111
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/init-previewer.d.ts +0 -56
- package/dist/utils/init-previewer.js +0 -239
- package/dist/utils/init-previewer.js.map +0 -1
- package/dist/utils/init-validator.d.ts +0 -65
- package/dist/utils/init-validator.js +0 -252
- package/dist/utils/init-validator.js.map +0 -1
- package/dist/utils/input-sanitizer.d.ts +0 -210
- package/dist/utils/input-sanitizer.js +0 -362
- package/dist/utils/input-sanitizer.js.map +0 -1
- package/dist/utils/instruction-generator.d.ts +0 -21
- package/dist/utils/instruction-generator.js +0 -233
- package/dist/utils/instruction-generator.js.map +0 -1
- package/dist/utils/json-utils.d.ts +0 -72
- package/dist/utils/json-utils.js +0 -226
- package/dist/utils/json-utils.js.map +0 -1
- package/dist/utils/llm-optimized-instruction-generator.d.ts +0 -36
- package/dist/utils/llm-optimized-instruction-generator.js +0 -365
- package/dist/utils/llm-optimized-instruction-generator.js.map +0 -1
- package/dist/utils/message-optimizer.d.ts +0 -100
- package/dist/utils/message-optimizer.js +0 -297
- package/dist/utils/message-optimizer.js.map +0 -1
- package/dist/utils/onboarding-manager.d.ts +0 -45
- package/dist/utils/onboarding-manager.js +0 -131
- package/dist/utils/onboarding-manager.js.map +0 -1
- package/dist/utils/parallel-analyzer.d.ts +0 -123
- package/dist/utils/parallel-analyzer.js +0 -241
- package/dist/utils/parallel-analyzer.js.map +0 -1
- package/dist/utils/paste-utils.d.ts +0 -99
- package/dist/utils/paste-utils.js +0 -295
- package/dist/utils/paste-utils.js.map +0 -1
- package/dist/utils/path-helpers.d.ts +0 -8
- package/dist/utils/path-helpers.js +0 -35
- package/dist/utils/path-helpers.js.map +0 -1
- package/dist/utils/path-security.d.ts +0 -92
- package/dist/utils/path-security.js +0 -300
- package/dist/utils/path-security.js.map +0 -1
- package/dist/utils/path-utils.d.ts +0 -83
- package/dist/utils/path-utils.js +0 -122
- package/dist/utils/path-utils.js.map +0 -1
- package/dist/utils/path-validator.d.ts +0 -66
- package/dist/utils/path-validator.js +0 -141
- package/dist/utils/path-validator.js.map +0 -1
- package/dist/utils/performance.d.ts +0 -74
- package/dist/utils/performance.js +0 -133
- package/dist/utils/performance.js.map +0 -1
- package/dist/utils/process-pool.d.ts +0 -109
- package/dist/utils/process-pool.js +0 -332
- package/dist/utils/process-pool.js.map +0 -1
- package/dist/utils/progress-tracker.d.ts +0 -51
- package/dist/utils/progress-tracker.js +0 -152
- package/dist/utils/progress-tracker.js.map +0 -1
- package/dist/utils/project-analyzer.d.ts +0 -49
- package/dist/utils/project-analyzer.js +0 -396
- package/dist/utils/project-analyzer.js.map +0 -1
- package/dist/utils/prompt-builder.d.ts +0 -14
- package/dist/utils/prompt-builder.js +0 -100
- package/dist/utils/prompt-builder.js.map +0 -1
- package/dist/utils/provider-context.d.ts +0 -243
- package/dist/utils/provider-context.js +0 -421
- package/dist/utils/provider-context.js.map +0 -1
- package/dist/utils/provider-file-cache.d.ts +0 -91
- package/dist/utils/provider-file-cache.js +0 -165
- package/dist/utils/provider-file-cache.js.map +0 -1
- package/dist/utils/provider-settings.d.ts +0 -181
- package/dist/utils/provider-settings.js +0 -450
- package/dist/utils/provider-settings.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -222
- package/dist/utils/rate-limiter.js +0 -338
- package/dist/utils/rate-limiter.js.map +0 -1
- package/dist/utils/retry-helper.d.ts +0 -81
- package/dist/utils/retry-helper.js +0 -244
- package/dist/utils/retry-helper.js.map +0 -1
- package/dist/utils/safety-rules.d.ts +0 -64
- package/dist/utils/safety-rules.js +0 -225
- package/dist/utils/safety-rules.js.map +0 -1
- package/dist/utils/settings-manager.d.ts +0 -256
- package/dist/utils/settings-manager.js +0 -967
- package/dist/utils/settings-manager.js.map +0 -1
- package/dist/utils/setup-validator.d.ts +0 -47
- package/dist/utils/setup-validator.js +0 -304
- package/dist/utils/setup-validator.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -19
- package/dist/utils/string-utils.js +0 -28
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/template-manager.d.ts +0 -62
- package/dist/utils/template-manager.js +0 -366
- package/dist/utils/template-manager.js.map +0 -1
- package/dist/utils/text-utils.d.ts +0 -82
- package/dist/utils/text-utils.js +0 -203
- package/dist/utils/text-utils.js.map +0 -1
- package/dist/utils/token-counter.d.ts +0 -76
- package/dist/utils/token-counter.js +0 -231
- package/dist/utils/token-counter.js.map +0 -1
- package/dist/utils/usage-tracker.d.ts +0 -78
- package/dist/utils/usage-tracker.js +0 -126
- package/dist/utils/usage-tracker.js.map +0 -1
- package/dist/utils/version.d.ts +0 -14
- package/dist/utils/version.js +0 -70
- package/dist/utils/version.js.map +0 -1
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { ChatCompletionMessageParam } from 'openai/resources/chat.js';
|
|
2
|
-
export declare class TokenCounter {
|
|
3
|
-
private encoder;
|
|
4
|
-
private cache;
|
|
5
|
-
private fingerprintToHashCache;
|
|
6
|
-
private model;
|
|
7
|
-
private disposed;
|
|
8
|
-
constructor(model?: string);
|
|
9
|
-
/**
|
|
10
|
-
* Create quick fingerprint to avoid redundant hashing
|
|
11
|
-
* Uses length and first/last chars for fast identity check
|
|
12
|
-
*/
|
|
13
|
-
private quickFingerprint;
|
|
14
|
-
/**
|
|
15
|
-
* Create cache key from text
|
|
16
|
-
* For long texts, use hash to avoid storing large keys in memory
|
|
17
|
-
* CACHE FIX: Include model prefix to prevent cross-model cache pollution
|
|
18
|
-
*/
|
|
19
|
-
private createCacheKey;
|
|
20
|
-
/**
|
|
21
|
-
* Count tokens in a string with LRU caching for performance
|
|
22
|
-
*/
|
|
23
|
-
countTokens(text: string): number;
|
|
24
|
-
/**
|
|
25
|
-
* Count tokens in messages array (for chat completions)
|
|
26
|
-
*/
|
|
27
|
-
countMessageTokens(messages: ChatCompletionMessageParam[]): number;
|
|
28
|
-
/**
|
|
29
|
-
* Estimate tokens for streaming content
|
|
30
|
-
* This is an approximation since we don't have the full response yet
|
|
31
|
-
*/
|
|
32
|
-
estimateStreamingTokens(accumulatedContent: string): number;
|
|
33
|
-
/**
|
|
34
|
-
* Clean up resources
|
|
35
|
-
*/
|
|
36
|
-
dispose(): void;
|
|
37
|
-
/**
|
|
38
|
-
* Get cache statistics
|
|
39
|
-
*/
|
|
40
|
-
getCacheStats(): {
|
|
41
|
-
size: number;
|
|
42
|
-
maxSize: number;
|
|
43
|
-
ttl?: number;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Whether this instance has been disposed
|
|
47
|
-
*/
|
|
48
|
-
isDisposed(): boolean;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Format token count for display (e.g., 1.2k for 1200)
|
|
52
|
-
* @param count - The token count to format
|
|
53
|
-
* @param options - Formatting options
|
|
54
|
-
* @param options.suffix - Whether to add " tokens" suffix (default: false)
|
|
55
|
-
* @param options.uppercase - Whether to use uppercase K/M (default: false)
|
|
56
|
-
*/
|
|
57
|
-
export declare function formatTokenCount(count: number, options?: {
|
|
58
|
-
suffix?: boolean;
|
|
59
|
-
uppercase?: boolean;
|
|
60
|
-
}): string;
|
|
61
|
-
/**
|
|
62
|
-
* Get or create a singleton token counter for the specified model
|
|
63
|
-
* Reuses encoder instances to avoid expensive tiktoken initialization
|
|
64
|
-
*
|
|
65
|
-
* @param model - Model name (defaults to TOKEN_CONFIG.DEFAULT_MODEL)
|
|
66
|
-
* @returns Singleton TokenCounter instance for the model
|
|
67
|
-
*/
|
|
68
|
-
export declare function getTokenCounter(model?: string): TokenCounter;
|
|
69
|
-
/**
|
|
70
|
-
* Create a token counter instance
|
|
71
|
-
*
|
|
72
|
-
* @deprecated Use getTokenCounter() instead for better performance (singleton pattern)
|
|
73
|
-
* @param model - Model name
|
|
74
|
-
* @returns New or singleton TokenCounter instance
|
|
75
|
-
*/
|
|
76
|
-
export declare function createTokenCounter(model?: string): TokenCounter;
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import { get_encoding, encoding_for_model } from 'tiktoken';
|
|
2
|
-
import { TOKEN_CONFIG } from '../constants.js';
|
|
3
|
-
import { LRUCache } from './cache.js';
|
|
4
|
-
import * as crypto from 'crypto';
|
|
5
|
-
export class TokenCounter {
|
|
6
|
-
encoder;
|
|
7
|
-
cache;
|
|
8
|
-
fingerprintToHashCache = new Map();
|
|
9
|
-
model; // CACHE FIX: Track model for cache key prefix
|
|
10
|
-
disposed = false; // Prevent use-after-dispose when singleton is reused
|
|
11
|
-
constructor(model = TOKEN_CONFIG.DEFAULT_MODEL) {
|
|
12
|
-
this.model = model;
|
|
13
|
-
try {
|
|
14
|
-
// Try to get encoding for specific model
|
|
15
|
-
this.encoder = encoding_for_model(model);
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
// Fallback to cl100k_base (used by GPT-4 and most modern models)
|
|
19
|
-
this.encoder = get_encoding(TOKEN_CONFIG.DEFAULT_ENCODING);
|
|
20
|
-
}
|
|
21
|
-
// Initialize cache with configured limit
|
|
22
|
-
this.cache = new LRUCache({ maxSize: TOKEN_CONFIG.CACHE_MAX_SIZE });
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Create quick fingerprint to avoid redundant hashing
|
|
26
|
-
* Uses length and first/last chars for fast identity check
|
|
27
|
-
*/
|
|
28
|
-
quickFingerprint(text) {
|
|
29
|
-
// LOGIC FIX: Handle edge cases to avoid NaN in fingerprint
|
|
30
|
-
if (text.length === 0)
|
|
31
|
-
return "0:0:0";
|
|
32
|
-
if (text.length === 1)
|
|
33
|
-
return `1:${text.charCodeAt(0)}:${text.charCodeAt(0)}`;
|
|
34
|
-
return `${text.length}:${text.charCodeAt(0)}:${text.charCodeAt(text.length - 1)}`;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Create cache key from text
|
|
38
|
-
* For long texts, use hash to avoid storing large keys in memory
|
|
39
|
-
* CACHE FIX: Include model prefix to prevent cross-model cache pollution
|
|
40
|
-
*/
|
|
41
|
-
createCacheKey(text) {
|
|
42
|
-
// CACHE FIX: Prefix all cache keys with model to ensure cache isolation
|
|
43
|
-
const modelPrefix = `${this.model}:`;
|
|
44
|
-
// For short texts (< 1KB), use text directly as key
|
|
45
|
-
if (text.length < 1024) {
|
|
46
|
-
return modelPrefix + text;
|
|
47
|
-
}
|
|
48
|
-
// Use fingerprint to check if we've already hashed this text
|
|
49
|
-
const fingerprint = this.quickFingerprint(text);
|
|
50
|
-
const fingerprintKey = modelPrefix + fingerprint;
|
|
51
|
-
const cached = this.fingerprintToHashCache.get(fingerprintKey);
|
|
52
|
-
if (cached) {
|
|
53
|
-
return cached;
|
|
54
|
-
}
|
|
55
|
-
// For longer texts, use SHA-256 hash to reduce memory footprint
|
|
56
|
-
// A 10KB text becomes a 64-char hash, saving ~9.9KB per cache entry
|
|
57
|
-
const hash = crypto.createHash('sha256').update(text).digest('hex');
|
|
58
|
-
const cacheKey = modelPrefix + hash;
|
|
59
|
-
// Limit fingerprint cache size to prevent unbounded growth
|
|
60
|
-
if (this.fingerprintToHashCache.size > 1000) {
|
|
61
|
-
// More efficient: use iterator instead of Array.from() to avoid creating full array
|
|
62
|
-
let deleted = 0;
|
|
63
|
-
for (const key of this.fingerprintToHashCache.keys()) {
|
|
64
|
-
this.fingerprintToHashCache.delete(key);
|
|
65
|
-
deleted++;
|
|
66
|
-
if (deleted >= 100)
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
// CACHE FIX: Store with model-prefixed key
|
|
71
|
-
this.fingerprintToHashCache.set(fingerprintKey, cacheKey);
|
|
72
|
-
return cacheKey;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Count tokens in a string with LRU caching for performance
|
|
76
|
-
*/
|
|
77
|
-
countTokens(text) {
|
|
78
|
-
if (this.disposed) {
|
|
79
|
-
throw new Error('TokenCounter has been disposed');
|
|
80
|
-
}
|
|
81
|
-
// CRITICAL FIX: Early return for empty strings without caching
|
|
82
|
-
// Prevents cache pollution where all empty strings share same cache key
|
|
83
|
-
if (!text)
|
|
84
|
-
return 0;
|
|
85
|
-
// Check cache first using efficient key
|
|
86
|
-
const cacheKey = this.createCacheKey(text);
|
|
87
|
-
const cached = this.cache.get(cacheKey);
|
|
88
|
-
if (cached !== undefined) {
|
|
89
|
-
return cached;
|
|
90
|
-
}
|
|
91
|
-
// Count tokens
|
|
92
|
-
const count = this.encoder.encode(text).length;
|
|
93
|
-
// CRITICAL FIX: Only cache non-empty strings
|
|
94
|
-
// Empty strings return early above, but this guards against zero-length edge cases
|
|
95
|
-
if (text.length > 0) {
|
|
96
|
-
this.cache.set(cacheKey, count);
|
|
97
|
-
}
|
|
98
|
-
return count;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Count tokens in messages array (for chat completions)
|
|
102
|
-
*/
|
|
103
|
-
countMessageTokens(messages) {
|
|
104
|
-
if (this.disposed) {
|
|
105
|
-
throw new Error('TokenCounter has been disposed');
|
|
106
|
-
}
|
|
107
|
-
let totalTokens = 0;
|
|
108
|
-
for (const message of messages) {
|
|
109
|
-
// Every message follows <|start|>{role/name}\n{content}<|end|>\n
|
|
110
|
-
totalTokens += TOKEN_CONFIG.TOKENS_PER_MESSAGE;
|
|
111
|
-
if (message.content) {
|
|
112
|
-
if (typeof message.content === 'string') {
|
|
113
|
-
totalTokens += this.countTokens(message.content);
|
|
114
|
-
}
|
|
115
|
-
else if (Array.isArray(message.content)) {
|
|
116
|
-
for (const part of message.content) {
|
|
117
|
-
if (part.type === 'text' && part.text) {
|
|
118
|
-
totalTokens += this.countTokens(part.text);
|
|
119
|
-
}
|
|
120
|
-
else if (part.type === 'image_url') {
|
|
121
|
-
// Images consume approximately 1000 tokens each (based on z.ai docs)
|
|
122
|
-
// This is an estimate as actual cost may vary by image size
|
|
123
|
-
totalTokens += TOKEN_CONFIG.TOKENS_PER_IMAGE ?? 1000;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
// Fallback for unexpected content types - stringify and count
|
|
129
|
-
totalTokens += this.countTokens(String(message.content));
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
if (message.role) {
|
|
133
|
-
totalTokens += this.countTokens(message.role);
|
|
134
|
-
}
|
|
135
|
-
// Add extra tokens for tool calls if present
|
|
136
|
-
if ((message.role === 'assistant' || message.role === 'tool') && 'tool_calls' in message && Array.isArray(message.tool_calls) && message.tool_calls.length > 0) {
|
|
137
|
-
totalTokens += this.countTokens(JSON.stringify(message.tool_calls));
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
totalTokens += TOKEN_CONFIG.TOKENS_FOR_REPLY_PRIMING;
|
|
141
|
-
return totalTokens;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Estimate tokens for streaming content
|
|
145
|
-
* This is an approximation since we don't have the full response yet
|
|
146
|
-
*/
|
|
147
|
-
estimateStreamingTokens(accumulatedContent) {
|
|
148
|
-
return this.countTokens(accumulatedContent);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Clean up resources
|
|
152
|
-
*/
|
|
153
|
-
dispose() {
|
|
154
|
-
if (this.disposed)
|
|
155
|
-
return;
|
|
156
|
-
this.cache.clear();
|
|
157
|
-
this.fingerprintToHashCache.clear();
|
|
158
|
-
this.encoder.free();
|
|
159
|
-
this.disposed = true;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Get cache statistics
|
|
163
|
-
*/
|
|
164
|
-
getCacheStats() {
|
|
165
|
-
return this.cache.stats();
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Whether this instance has been disposed
|
|
169
|
-
*/
|
|
170
|
-
isDisposed() {
|
|
171
|
-
return this.disposed;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Format token count for display (e.g., 1.2k for 1200)
|
|
176
|
-
* @param count - The token count to format
|
|
177
|
-
* @param options - Formatting options
|
|
178
|
-
* @param options.suffix - Whether to add " tokens" suffix (default: false)
|
|
179
|
-
* @param options.uppercase - Whether to use uppercase K/M (default: false)
|
|
180
|
-
*/
|
|
181
|
-
export function formatTokenCount(count, options) {
|
|
182
|
-
// CRITICAL FIX: Handle edge cases (NaN, Infinity, negative numbers)
|
|
183
|
-
// Prevents potential issues with invalid token counts
|
|
184
|
-
if (!Number.isFinite(count) || count < 0) {
|
|
185
|
-
return options?.suffix ? '0 tokens' : '0';
|
|
186
|
-
}
|
|
187
|
-
const suffix = options?.suffix ? ' tokens' : '';
|
|
188
|
-
const kChar = options?.uppercase ? 'K' : 'k';
|
|
189
|
-
const mChar = options?.uppercase ? 'M' : 'm';
|
|
190
|
-
if (count <= 999) {
|
|
191
|
-
return `${Math.floor(count)}${suffix}`;
|
|
192
|
-
}
|
|
193
|
-
if (count < 1_000_000) {
|
|
194
|
-
const k = count / 1000;
|
|
195
|
-
const formatted = k % 1 === 0 ? `${Math.floor(k)}${kChar}` : `${k.toFixed(1)}${kChar}`;
|
|
196
|
-
return `${formatted}${suffix}`;
|
|
197
|
-
}
|
|
198
|
-
const m = count / 1_000_000;
|
|
199
|
-
const formatted = m % 1 === 0 ? `${Math.floor(m)}${mChar}` : `${m.toFixed(1)}${mChar}`;
|
|
200
|
-
return `${formatted}${suffix}`;
|
|
201
|
-
}
|
|
202
|
-
// Singleton instances keyed by model
|
|
203
|
-
const tokenCounterInstances = new Map();
|
|
204
|
-
/**
|
|
205
|
-
* Get or create a singleton token counter for the specified model
|
|
206
|
-
* Reuses encoder instances to avoid expensive tiktoken initialization
|
|
207
|
-
*
|
|
208
|
-
* @param model - Model name (defaults to TOKEN_CONFIG.DEFAULT_MODEL)
|
|
209
|
-
* @returns Singleton TokenCounter instance for the model
|
|
210
|
-
*/
|
|
211
|
-
export function getTokenCounter(model) {
|
|
212
|
-
const key = model || TOKEN_CONFIG.DEFAULT_MODEL;
|
|
213
|
-
let instance = tokenCounterInstances.get(key);
|
|
214
|
-
if (!instance || instance.isDisposed()) {
|
|
215
|
-
instance = new TokenCounter(key);
|
|
216
|
-
tokenCounterInstances.set(key, instance);
|
|
217
|
-
}
|
|
218
|
-
return instance;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Create a token counter instance
|
|
222
|
-
*
|
|
223
|
-
* @deprecated Use getTokenCounter() instead for better performance (singleton pattern)
|
|
224
|
-
* @param model - Model name
|
|
225
|
-
* @returns New or singleton TokenCounter instance
|
|
226
|
-
*/
|
|
227
|
-
export function createTokenCounter(model) {
|
|
228
|
-
// Redirect to singleton for backwards compatibility and performance
|
|
229
|
-
return getTokenCounter(model);
|
|
230
|
-
}
|
|
231
|
-
//# sourceMappingURL=token-counter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-counter.js","sourceRoot":"","sources":["../../src/utils/token-counter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Usage Tracker - Session-based API usage tracking
|
|
3
|
-
*
|
|
4
|
-
* Tracks token usage across API calls in the current session.
|
|
5
|
-
* Phase 1: Support for z.ai and session-based tracking
|
|
6
|
-
* Phase 2: Add support for historical tracking and other providers
|
|
7
|
-
*/
|
|
8
|
-
export interface UsageStats {
|
|
9
|
-
requests: number;
|
|
10
|
-
promptTokens: number;
|
|
11
|
-
completionTokens: number;
|
|
12
|
-
totalTokens: number;
|
|
13
|
-
reasoningTokens: number;
|
|
14
|
-
/** Tokens served from cache (50% cost savings) */
|
|
15
|
-
cachedTokens: number;
|
|
16
|
-
}
|
|
17
|
-
export interface SessionStats {
|
|
18
|
-
totalRequests: number;
|
|
19
|
-
totalPromptTokens: number;
|
|
20
|
-
totalCompletionTokens: number;
|
|
21
|
-
totalTokens: number;
|
|
22
|
-
totalReasoningTokens: number;
|
|
23
|
-
/** Total tokens served from cache across all requests */
|
|
24
|
-
totalCachedTokens: number;
|
|
25
|
-
byModel: Map<string, UsageStats>;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* UsageTracker - Singleton for tracking API usage
|
|
29
|
-
*/
|
|
30
|
-
export declare class UsageTracker {
|
|
31
|
-
private static instance;
|
|
32
|
-
private sessionStats;
|
|
33
|
-
private constructor();
|
|
34
|
-
/**
|
|
35
|
-
* Get singleton instance
|
|
36
|
-
*/
|
|
37
|
-
static getInstance(): UsageTracker;
|
|
38
|
-
/**
|
|
39
|
-
* Track usage from API response
|
|
40
|
-
*
|
|
41
|
-
* @param model - The model identifier
|
|
42
|
-
* @param usage - Usage data from API response including prompt_tokens_details for cache info
|
|
43
|
-
*/
|
|
44
|
-
trackUsage(model: string, usage: {
|
|
45
|
-
prompt_tokens?: number;
|
|
46
|
-
completion_tokens?: number;
|
|
47
|
-
total_tokens?: number;
|
|
48
|
-
reasoning_tokens?: number;
|
|
49
|
-
/** xAI API returns cached token info in prompt_tokens_details */
|
|
50
|
-
prompt_tokens_details?: {
|
|
51
|
-
cached_tokens?: number;
|
|
52
|
-
};
|
|
53
|
-
}): void;
|
|
54
|
-
/**
|
|
55
|
-
* Get current session statistics
|
|
56
|
-
*/
|
|
57
|
-
getSessionStats(): SessionStats;
|
|
58
|
-
/**
|
|
59
|
-
* Reset session statistics
|
|
60
|
-
*/
|
|
61
|
-
resetSession(): void;
|
|
62
|
-
/**
|
|
63
|
-
* Get estimated cost savings from caching
|
|
64
|
-
* Cached tokens are typically billed at reduced rates compared to standard input tokens
|
|
65
|
-
*/
|
|
66
|
-
getCacheSavings(): {
|
|
67
|
-
cachedTokens: number;
|
|
68
|
-
estimatedSavings: number;
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Get statistics for a specific model
|
|
72
|
-
*/
|
|
73
|
-
getModelStats(model: string): UsageStats | null;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get the singleton usage tracker instance
|
|
77
|
-
*/
|
|
78
|
-
export declare function getUsageTracker(): UsageTracker;
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Usage Tracker - Session-based API usage tracking
|
|
3
|
-
*
|
|
4
|
-
* Tracks token usage across API calls in the current session.
|
|
5
|
-
* Phase 1: Support for z.ai and session-based tracking
|
|
6
|
-
* Phase 2: Add support for historical tracking and other providers
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* UsageTracker - Singleton for tracking API usage
|
|
10
|
-
*/
|
|
11
|
-
export class UsageTracker {
|
|
12
|
-
static instance = null;
|
|
13
|
-
sessionStats = {
|
|
14
|
-
totalRequests: 0,
|
|
15
|
-
totalPromptTokens: 0,
|
|
16
|
-
totalCompletionTokens: 0,
|
|
17
|
-
totalTokens: 0,
|
|
18
|
-
totalReasoningTokens: 0,
|
|
19
|
-
totalCachedTokens: 0,
|
|
20
|
-
byModel: new Map()
|
|
21
|
-
};
|
|
22
|
-
constructor() {
|
|
23
|
-
// Private constructor for singleton
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Get singleton instance
|
|
27
|
-
*/
|
|
28
|
-
static getInstance() {
|
|
29
|
-
if (!UsageTracker.instance) {
|
|
30
|
-
UsageTracker.instance = new UsageTracker();
|
|
31
|
-
}
|
|
32
|
-
return UsageTracker.instance;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Track usage from API response
|
|
36
|
-
*
|
|
37
|
-
* @param model - The model identifier
|
|
38
|
-
* @param usage - Usage data from API response including prompt_tokens_details for cache info
|
|
39
|
-
*/
|
|
40
|
-
trackUsage(model, usage) {
|
|
41
|
-
const promptTokens = usage.prompt_tokens || 0;
|
|
42
|
-
const completionTokens = usage.completion_tokens || 0;
|
|
43
|
-
const totalTokens = usage.total_tokens || (promptTokens + completionTokens);
|
|
44
|
-
const reasoningTokens = usage.reasoning_tokens || 0;
|
|
45
|
-
// Extract cached tokens from prompt_tokens_details (xAI API format)
|
|
46
|
-
const cachedTokens = usage.prompt_tokens_details?.cached_tokens || 0;
|
|
47
|
-
// Update total stats
|
|
48
|
-
this.sessionStats.totalRequests++;
|
|
49
|
-
this.sessionStats.totalPromptTokens += promptTokens;
|
|
50
|
-
this.sessionStats.totalCompletionTokens += completionTokens;
|
|
51
|
-
this.sessionStats.totalTokens += totalTokens;
|
|
52
|
-
this.sessionStats.totalReasoningTokens += reasoningTokens;
|
|
53
|
-
this.sessionStats.totalCachedTokens += cachedTokens;
|
|
54
|
-
// Update per-model stats
|
|
55
|
-
const modelStats = this.sessionStats.byModel.get(model) || {
|
|
56
|
-
requests: 0,
|
|
57
|
-
promptTokens: 0,
|
|
58
|
-
completionTokens: 0,
|
|
59
|
-
totalTokens: 0,
|
|
60
|
-
reasoningTokens: 0,
|
|
61
|
-
cachedTokens: 0
|
|
62
|
-
};
|
|
63
|
-
modelStats.requests++;
|
|
64
|
-
modelStats.promptTokens += promptTokens;
|
|
65
|
-
modelStats.completionTokens += completionTokens;
|
|
66
|
-
modelStats.totalTokens += totalTokens;
|
|
67
|
-
modelStats.reasoningTokens += reasoningTokens;
|
|
68
|
-
modelStats.cachedTokens += cachedTokens;
|
|
69
|
-
this.sessionStats.byModel.set(model, modelStats);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Get current session statistics
|
|
73
|
-
*/
|
|
74
|
-
getSessionStats() {
|
|
75
|
-
// Deep copy to prevent external mutation of stats
|
|
76
|
-
const modelsCopy = new Map();
|
|
77
|
-
for (const [model, stats] of this.sessionStats.byModel.entries()) {
|
|
78
|
-
modelsCopy.set(model, { ...stats });
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
...this.sessionStats,
|
|
82
|
-
byModel: modelsCopy
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Reset session statistics
|
|
87
|
-
*/
|
|
88
|
-
resetSession() {
|
|
89
|
-
this.sessionStats = {
|
|
90
|
-
totalRequests: 0,
|
|
91
|
-
totalPromptTokens: 0,
|
|
92
|
-
totalCompletionTokens: 0,
|
|
93
|
-
totalTokens: 0,
|
|
94
|
-
totalReasoningTokens: 0,
|
|
95
|
-
totalCachedTokens: 0,
|
|
96
|
-
byModel: new Map()
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get estimated cost savings from caching
|
|
101
|
-
* Cached tokens are typically billed at reduced rates compared to standard input tokens
|
|
102
|
-
*/
|
|
103
|
-
getCacheSavings() {
|
|
104
|
-
const cachedTokens = this.sessionStats.totalCachedTokens;
|
|
105
|
-
// Estimated savings calculation based on typical pricing difference
|
|
106
|
-
// Standard input: ~$1.00 per 1M tokens ($0.001 per 1K tokens)
|
|
107
|
-
// Cached input: ~$0.25 per 1M tokens ($0.00025 per 1K tokens)
|
|
108
|
-
// Savings per token: ($0.001 - $0.00025) / 1000 = $0.00000075 per token
|
|
109
|
-
const savingsPerToken = 0.00000075;
|
|
110
|
-
const estimatedSavings = cachedTokens * savingsPerToken;
|
|
111
|
-
return { cachedTokens, estimatedSavings };
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Get statistics for a specific model
|
|
115
|
-
*/
|
|
116
|
-
getModelStats(model) {
|
|
117
|
-
return this.sessionStats.byModel.get(model) || null;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Get the singleton usage tracker instance
|
|
122
|
-
*/
|
|
123
|
-
export function getUsageTracker() {
|
|
124
|
-
return UsageTracker.getInstance();
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=usage-tracker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../../src/utils/usage-tracker.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/version.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get CLI version from package.json
|
|
3
|
-
* This is the version of the command-line tool
|
|
4
|
-
*/
|
|
5
|
-
export declare function getVersion(): string;
|
|
6
|
-
/**
|
|
7
|
-
* Get SDK version from package.json
|
|
8
|
-
* This is the version of the programmatic API
|
|
9
|
-
*/
|
|
10
|
-
export declare function getSDKVersion(): string;
|
|
11
|
-
/**
|
|
12
|
-
* Get formatted version string showing both CLI and SDK versions
|
|
13
|
-
*/
|
|
14
|
-
export declare function getVersionString(): string;
|
package/dist/utils/version.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from 'fs';
|
|
2
|
-
import { join, dirname } from 'path';
|
|
3
|
-
import { fileURLToPath } from 'url';
|
|
4
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
-
const __dirname = dirname(__filename);
|
|
6
|
-
/**
|
|
7
|
-
* Get CLI version from package.json
|
|
8
|
-
* This is the version of the command-line tool
|
|
9
|
-
*/
|
|
10
|
-
export function getVersion() {
|
|
11
|
-
try {
|
|
12
|
-
const pkg = getPackageJson();
|
|
13
|
-
return pkg.version || 'unknown';
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
console.error('Failed to read version from package.json:', error);
|
|
17
|
-
return 'unknown';
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get SDK version from package.json
|
|
22
|
-
* This is the version of the programmatic API
|
|
23
|
-
*/
|
|
24
|
-
export function getSDKVersion() {
|
|
25
|
-
try {
|
|
26
|
-
const pkg = getPackageJson();
|
|
27
|
-
return pkg.sdkVersion || pkg.version || 'unknown';
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
console.error('Failed to read SDK version from package.json:', error);
|
|
31
|
-
return 'unknown';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Get formatted version string showing both CLI and SDK versions
|
|
36
|
-
*/
|
|
37
|
-
export function getVersionString() {
|
|
38
|
-
const cliVersion = getVersion();
|
|
39
|
-
const sdkVersion = getSDKVersion();
|
|
40
|
-
if (cliVersion === sdkVersion) {
|
|
41
|
-
return `v${cliVersion}`;
|
|
42
|
-
}
|
|
43
|
-
return `v${cliVersion} (SDK v${sdkVersion})`;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get package.json data
|
|
47
|
-
* @internal
|
|
48
|
-
*/
|
|
49
|
-
function getPackageJson() {
|
|
50
|
-
// In development: src/utils/version.ts -> ../../package.json
|
|
51
|
-
// In production: dist/utils/version.js -> ../../package.json
|
|
52
|
-
const possiblePaths = [
|
|
53
|
-
join(__dirname, '../../package.json'), // From src/utils or dist/utils
|
|
54
|
-
join(__dirname, '../package.json'), // Fallback
|
|
55
|
-
];
|
|
56
|
-
for (const pkgPath of possiblePaths) {
|
|
57
|
-
try {
|
|
58
|
-
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
59
|
-
if (pkg.version) {
|
|
60
|
-
return pkg;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
// Try next path
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
throw new Error('package.json not found in any expected location');
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAOtC;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,IAAI,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,IAAI,UAAU,UAAU,UAAU,GAAG,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc;IACrB,6DAA6D;IAC7D,6DAA6D;IAC7D,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAG,+BAA+B;QACvE,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAM,WAAW;KACpD,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAgB,CAAC;YACrE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;YAChB,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACrE,CAAC"}
|