devchain-cli 0.14.1 → 0.16.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.
- package/README.md +11 -8
- package/dist/cli.js +19 -16
- package/dist/drizzle/0065_next_lady_bullseye.sql +11 -0
- package/dist/drizzle/meta/0065_snapshot.json +5691 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/node_modules/@devchain/codebase-overview/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@devchain/codebase-overview/types.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts +20 -0
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js +77 -0
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js.map +1 -0
- package/dist/node_modules/@devchain/shared/device-key/index.d.ts +2 -0
- package/dist/node_modules/@devchain/shared/device-key/index.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/device-key/index.js +2 -0
- package/dist/node_modules/@devchain/shared/device-key/index.js.map +1 -0
- package/dist/node_modules/@devchain/shared/device-key/keypair.d.ts +23 -0
- package/dist/node_modules/@devchain/shared/device-key/keypair.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/device-key/keypair.js +54 -0
- package/dist/node_modules/@devchain/shared/device-key/keypair.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/aad.d.ts +3 -0
- package/dist/node_modules/@devchain/shared/e2ee/aad.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/aad.js +0 -0
- package/dist/node_modules/@devchain/shared/e2ee/aad.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/base64.d.ts +6 -0
- package/dist/node_modules/@devchain/shared/e2ee/base64.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/base64.js +69 -0
- package/dist/node_modules/@devchain/shared/e2ee/base64.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.d.ts +9 -0
- package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.js +78 -0
- package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/envelope.d.ts +63 -0
- package/dist/node_modules/@devchain/shared/e2ee/envelope.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/envelope.js +64 -0
- package/dist/node_modules/@devchain/shared/e2ee/envelope.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +10 -0
- package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/index.js +10 -0
- package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/key-exchange.d.ts +17 -0
- package/dist/node_modules/@devchain/shared/e2ee/key-exchange.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/key-exchange.js +72 -0
- package/dist/node_modules/@devchain/shared/e2ee/key-exchange.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/keypair.d.ts +13 -0
- package/dist/node_modules/@devchain/shared/e2ee/keypair.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/keypair.js +34 -0
- package/dist/node_modules/@devchain/shared/e2ee/keypair.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +30 -0
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +70 -0
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/safety-number.d.ts +3 -0
- package/dist/node_modules/@devchain/shared/e2ee/safety-number.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/safety-number.js +33 -0
- package/dist/node_modules/@devchain/shared/e2ee/safety-number.js.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/trust.d.ts +22 -0
- package/dist/node_modules/@devchain/shared/e2ee/trust.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/e2ee/trust.js +25 -0
- package/dist/node_modules/@devchain/shared/e2ee/trust.js.map +1 -0
- package/dist/node_modules/@devchain/shared/index.d.ts +3 -0
- package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/index.js +3 -0
- package/dist/node_modules/@devchain/shared/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +14 -6
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js +1 -0
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +99 -0
- package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/tunnel-protocol.js +148 -0
- package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -0
- package/dist/server/app.main.module.js +2 -0
- package/dist/server/app.main.module.js.map +1 -1
- package/dist/server/app.normal.module.js +2 -0
- package/dist/server/app.normal.module.js.map +1 -1
- package/dist/server/common/config/env.config.js +5 -7
- package/dist/server/common/config/env.config.js.map +1 -1
- package/dist/server/common/test/app-bootstrap.helper.js +5 -1
- package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +4 -0
- package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +3 -1
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +16 -3
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -0
- package/dist/server/modules/cloud/cloud.module.js +8 -1
- package/dist/server/modules/cloud/cloud.module.js.map +1 -1
- package/dist/server/modules/cloud/controllers/auth-callback.controller.js +5 -4
- package/dist/server/modules/cloud/controllers/auth-callback.controller.js.map +1 -1
- package/dist/server/modules/cloud/controllers/devices-proxy.controller.js +1 -1
- package/dist/server/modules/cloud/controllers/devices-proxy.controller.js.map +1 -1
- package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js +1 -1
- package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js.map +1 -1
- package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js +1 -1
- package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js.map +1 -1
- package/dist/server/modules/cloud/controllers/store-tokens-error.d.ts +4 -0
- package/dist/server/modules/cloud/controllers/store-tokens-error.js +103 -0
- package/dist/server/modules/cloud/controllers/store-tokens-error.js.map +1 -0
- package/dist/server/modules/cloud/services/cloud-session-manager.service.js +18 -8
- package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -1
- package/dist/server/modules/cloud/services/egress-queue.service.js +2 -2
- package/dist/server/modules/cloud/services/egress-queue.service.js.map +1 -1
- package/dist/server/modules/cloud/services/event-mapper.service.d.ts +9 -1
- package/dist/server/modules/cloud/services/event-mapper.service.js +18 -2
- package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
- package/dist/server/modules/cloud/services/project-activity-reporter.service.js +1 -1
- package/dist/server/modules/cloud/services/project-activity-reporter.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +57 -2
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +20 -0
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +84 -0
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/epic-dto.util.d.ts +3 -0
- package/dist/server/modules/cloud-tunnel/services/epic-dto.util.js +43 -0
- package/dist/server/modules/cloud-tunnel/services/epic-dto.util.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.d.ts +11 -0
- package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.js +32 -0
- package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.d.ts +30 -0
- package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.js +80 -0
- package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +16 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +78 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +112 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +457 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +28 -2
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +143 -5
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +21 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +171 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +12 -5
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +209 -54
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.d.ts +21 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.js +117 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +45 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +126 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +20 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +114 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.d.ts +6 -0
- package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.js +7 -0
- package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +30 -0
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +228 -0
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -0
- package/dist/server/modules/core/core-normal.module.js +2 -9
- package/dist/server/modules/core/core-normal.module.js.map +1 -1
- package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.d.ts +2 -0
- package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js +21 -0
- package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js.map +1 -0
- package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.d.ts +21 -0
- package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js +249 -0
- package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js.map +1 -0
- package/dist/server/modules/core/services/copilot-auth-probe.module.d.ts +2 -0
- package/dist/server/modules/core/services/copilot-auth-probe.module.js +21 -0
- package/dist/server/modules/core/services/copilot-auth-probe.module.js.map +1 -0
- package/dist/server/modules/core/services/copilot-auth-probe.service.d.ts +7 -0
- package/dist/server/modules/core/services/copilot-auth-probe.service.js +63 -0
- package/dist/server/modules/core/services/copilot-auth-probe.service.js.map +1 -0
- package/dist/server/modules/core/services/copilot-trusted-folders.module.d.ts +2 -0
- package/dist/server/modules/core/services/{gemini-trusted-folders.module.js → copilot-trusted-folders.module.js} +9 -9
- package/dist/server/modules/core/services/copilot-trusted-folders.module.js.map +1 -0
- package/dist/server/modules/core/services/copilot-trusted-folders.service.d.ts +22 -0
- package/dist/server/modules/core/services/copilot-trusted-folders.service.js +228 -0
- package/dist/server/modules/core/services/copilot-trusted-folders.service.js.map +1 -0
- package/dist/server/modules/core/services/preflight.service.d.ts +1 -0
- package/dist/server/modules/core/services/preflight.service.js +35 -3
- package/dist/server/modules/core/services/preflight.service.js.map +1 -1
- package/dist/server/modules/core/services/trust-folders-logic.d.ts +11 -0
- package/dist/server/modules/core/services/trust-folders-logic.js +33 -0
- package/dist/server/modules/core/services/trust-folders-logic.js.map +1 -0
- package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.d.ts +19 -0
- package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +63 -0
- package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -0
- package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +19 -0
- package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +85 -0
- package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -0
- package/dist/server/modules/e2ee/e2ee.module.d.ts +2 -0
- package/dist/server/modules/e2ee/e2ee.module.js +27 -0
- package/dist/server/modules/e2ee/e2ee.module.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +36 -0
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +165 -0
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-keypair.service.d.ts +21 -0
- package/dist/server/modules/e2ee/services/e2ee-keypair.service.js +152 -0
- package/dist/server/modules/e2ee/services/e2ee-keypair.service.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +29 -0
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +108 -0
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +36 -0
- package/dist/server/modules/e2ee/services/e2ee-trust.service.js +121 -0
- package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -0
- package/dist/server/modules/epics/services/epics.service.d.ts +1 -0
- package/dist/server/modules/epics/services/epics.service.js +10 -0
- package/dist/server/modules/epics/services/epics.service.js.map +1 -1
- package/dist/server/modules/events/catalog/broadcast-metadata.d.ts +6 -2
- package/dist/server/modules/events/catalog/broadcast-registry.d.ts +2 -2
- package/dist/server/modules/events/catalog/broadcast-registry.js +58 -1
- package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.d.ts +122 -0
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.js +28 -0
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.js.map +1 -0
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.d.ts +18 -0
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.js +13 -0
- package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.js.map +1 -0
- package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +6 -0
- package/dist/server/modules/events/catalog/claude.hooks.session.started.js +2 -0
- package/dist/server/modules/events/catalog/claude.hooks.session.started.js.map +1 -1
- package/dist/server/modules/events/catalog/index.d.ts +106 -10
- package/dist/server/modules/events/catalog/index.js +4 -0
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/project-broadcast.d.ts +7 -0
- package/dist/server/modules/events/catalog/project-broadcast.js +10 -0
- package/dist/server/modules/events/catalog/project-broadcast.js.map +1 -0
- package/dist/server/modules/events/catalog/session.activity.changed.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +5 -2
- package/dist/server/modules/events/catalog/session.transcript.discovered.js +1 -0
- package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -1
- package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +2 -2
- package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +2 -2
- package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +2 -2
- package/dist/server/modules/events/services/catalog-broadcaster.service.js +3 -4
- package/dist/server/modules/events/services/catalog-broadcaster.service.js.map +1 -1
- package/dist/server/modules/hooks/dtos/ask-user-question.dto.d.ts +5 -0
- package/dist/server/modules/hooks/dtos/ask-user-question.dto.js +51 -0
- package/dist/server/modules/hooks/dtos/ask-user-question.dto.js.map +1 -0
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +324 -7
- package/dist/server/modules/hooks/dtos/hook-event.dto.js +57 -9
- package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
- package/dist/server/modules/hooks/hooks.module.js +14 -2
- package/dist/server/modules/hooks/hooks.module.js.map +1 -1
- package/dist/server/modules/hooks/services/copilot-hooks-config.service.d.ts +13 -0
- package/dist/server/modules/hooks/services/copilot-hooks-config.service.js +185 -0
- package/dist/server/modules/hooks/services/copilot-hooks-config.service.js.map +1 -0
- package/dist/server/modules/hooks/services/hooks-config.service.d.ts +1 -0
- package/dist/server/modules/hooks/services/hooks-config.service.js +52 -33
- package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
- package/dist/server/modules/hooks/services/hooks.service.d.ts +6 -1
- package/dist/server/modules/hooks/services/hooks.service.js +86 -3
- package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +38 -0
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +105 -0
- package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -0
- package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +2 -2
- package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -3
- package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +3 -0
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +7 -0
- package/dist/server/modules/projects/dtos/export.dto.d.ts +8 -0
- package/dist/server/modules/projects/dtos/export.dto.js +1 -0
- package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-export.d.ts +1 -0
- package/dist/server/modules/projects/helpers/project-export.js +19 -5
- package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-import-sessions.d.ts +11 -0
- package/dist/server/modules/projects/helpers/project-import-sessions.js +47 -0
- package/dist/server/modules/projects/helpers/project-import-sessions.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-import.d.ts +4 -0
- package/dist/server/modules/projects/helpers/project-import.js +12 -2
- package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +5 -0
- package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +22 -0
- package/dist/server/modules/providers/adapters/antigravity.adapter.js +81 -0
- package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -0
- package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
- package/dist/server/modules/providers/adapters/capabilities/index.js +3 -1
- package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +16 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js +8 -0
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +1 -0
- package/dist/server/modules/providers/adapters/claude.adapter.js +1 -0
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/codex.adapter.d.ts +1 -0
- package/dist/server/modules/providers/adapters/codex.adapter.js +10 -4
- package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +31 -0
- package/dist/server/modules/providers/adapters/copilot.adapter.js +122 -0
- package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -0
- package/dist/server/modules/providers/adapters/index.d.ts +1 -1
- package/dist/server/modules/providers/adapters/index.js +1 -1
- package/dist/server/modules/providers/adapters/index.js.map +1 -1
- package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +4 -1
- package/dist/server/modules/providers/adapters/opencode.adapter.js +3 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +3 -2
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js +8 -5
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +6 -0
- package/dist/server/modules/providers/adapters/provider-adapters.module.js +19 -4
- package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
- package/dist/server/modules/providers/controllers/provider-models.controller.js +3 -2
- package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
- package/dist/server/modules/providers/controllers/providers.controller.d.ts +50 -3
- package/dist/server/modules/providers/controllers/providers.controller.js +12 -3
- package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
- package/dist/server/modules/providers/providers.module.js +1 -0
- package/dist/server/modules/providers/providers.module.js.map +1 -1
- package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.d.ts +17 -0
- package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js +264 -0
- package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js.map +1 -0
- package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +5 -6
- package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -1
- package/dist/server/modules/providers/services/mcp-registration/index.d.ts +1 -0
- package/dist/server/modules/providers/services/mcp-registration/index.js +3 -1
- package/dist/server/modules/providers/services/mcp-registration/index.js.map +1 -1
- package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.d.ts +3 -1
- package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js +6 -1
- package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js.map +1 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +2 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.js +43 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
- package/dist/server/modules/registry/controllers/templates.controller.d.ts +2 -1
- package/dist/server/modules/registry/services/template-cache.service.d.ts +2 -0
- package/dist/server/modules/registry/services/template-cache.service.js +5 -0
- package/dist/server/modules/registry/services/template-cache.service.js.map +1 -1
- package/dist/server/modules/registry/services/unified-template.service.d.ts +1 -0
- package/dist/server/modules/registry/services/unified-template.service.js +9 -1
- package/dist/server/modules/registry/services/unified-template.service.js.map +1 -1
- package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.d.ts +3 -0
- package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js +64 -0
- package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js.map +1 -0
- package/dist/server/modules/seeders/services/data-seeder.service.js +2 -0
- package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
- package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.d.ts +12 -0
- package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js +41 -0
- package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js.map +1 -0
- package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.d.ts +44 -0
- package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +85 -0
- package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +30 -0
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js +268 -0
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.d.ts → copilot-session-reader.adapter.d.ts} +4 -5
- package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.js → copilot-session-reader.adapter.js} +35 -68
- package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +23 -0
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +150 -0
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +16 -2
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +39 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.d.ts +11 -0
- package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js +81 -0
- package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.d.ts +2 -0
- package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.js +9 -0
- package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.js.map +1 -0
- package/dist/server/modules/session-reader/builders/chunk-builder.js +0 -2
- package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -1
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +2 -0
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +1 -0
- package/dist/server/modules/session-reader/data/pricing.json +513 -44
- package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
- package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +6 -0
- package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.d.ts +16 -0
- package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js +307 -0
- package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js.map +1 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +46 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +35 -17
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/{gemini-json.parser.d.ts → copilot-jsonl.parser.d.ts} +4 -3
- package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js +432 -0
- package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js.map +1 -0
- package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.d.ts +25 -0
- package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js +142 -0
- package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js.map +1 -0
- package/dist/server/modules/session-reader/readers/antigravity-model-pricing.d.ts +6 -0
- package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js +35 -0
- package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js.map +1 -0
- package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.d.ts +24 -0
- package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js +80 -0
- package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js.map +1 -0
- package/dist/server/modules/session-reader/readers/copilot-model-pricing.d.ts +10 -0
- package/dist/server/modules/session-reader/readers/copilot-model-pricing.js +37 -0
- package/dist/server/modules/session-reader/readers/copilot-model-pricing.js.map +1 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +69 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js +378 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +1 -0
- package/dist/server/modules/session-reader/readers/protobuf-wire.d.ts +13 -0
- package/dist/server/modules/session-reader/readers/protobuf-wire.js +94 -0
- package/dist/server/modules/session-reader/readers/protobuf-wire.js.map +1 -0
- package/dist/server/modules/session-reader/services/session-cache.service.d.ts +12 -3
- package/dist/server/modules/session-reader/services/session-cache.service.js +104 -19
- package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-reader.service.d.ts +5 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js +51 -16
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +3 -1
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +4 -0
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +109 -8
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.d.ts +10 -0
- package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.js +47 -0
- package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +7 -1
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +177 -28
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
- package/dist/server/modules/session-reader/session-reader.module.d.ts +7 -3
- package/dist/server/modules/session-reader/session-reader.module.js +21 -7
- package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
- package/dist/server/modules/sessions/controllers/sessions.controller.js +2 -22
- package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
- package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +1 -0
- package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
- package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +5 -0
- package/dist/server/modules/sessions/services/active-session-lookup.service.js +12 -0
- package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js +2 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-pool.types.d.ts +2 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -0
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +14 -1
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +18 -0
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +74 -0
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +12 -2
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +12 -3
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +44 -7
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +3 -2
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js +15 -3
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.d.ts +8 -0
- package/dist/server/modules/sessions/services/sessions.service.js +52 -1
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/sessions-lifecycle.module.d.ts +2 -0
- package/dist/server/modules/sessions/sessions-lifecycle.module.js +23 -0
- package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -0
- package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +83 -0
- package/dist/server/modules/storage/db/schema.js +15 -2
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +13 -2
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +1 -0
- package/dist/server/modules/storage/local/delegates/epic.delegate.js +8 -0
- package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +5 -1
- package/dist/server/modules/storage/local/delegates/provider.delegate.js +122 -0
- package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/session.delegate.d.ts +9 -0
- package/dist/server/modules/storage/local/delegates/session.delegate.js +115 -0
- package/dist/server/modules/storage/local/delegates/session.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/local-storage.service.d.ts +10 -0
- package/dist/server/modules/storage/local/local-storage.service.js +20 -0
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +1 -0
- package/dist/server/modules/subscribers/events/event-fields-catalog.js +5 -3
- package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
- package/dist/server/modules/subscribers/services/automation-scheduler.service.js.map +1 -1
- package/dist/server/modules/teams/services/teams.service.d.ts +28 -2
- package/dist/server/modules/teams/services/teams.service.js +175 -0
- package/dist/server/modules/teams/services/teams.service.js.map +1 -1
- package/dist/server/modules/teams/storage/teams.store.d.ts +5 -0
- package/dist/server/modules/teams/storage/teams.store.js +34 -0
- package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +5 -0
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +38 -0
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/pty.service.js +11 -3
- package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +9 -2
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/viewport-capture.d.ts +12 -0
- package/dist/server/modules/terminal/services/terminal-io/viewport-capture.js +50 -0
- package/dist/server/modules/terminal/services/terminal-io/viewport-capture.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +2 -0
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +10 -4
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.d.ts +12 -0
- package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js +55 -0
- package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -0
- package/dist/server/modules/terminal/terminal-viewport.module.d.ts +2 -0
- package/dist/server/modules/terminal/terminal-viewport.module.js +24 -0
- package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -0
- package/dist/server/templates/3-agents-dev.json +198 -160
- package/dist/server/templates/teams-dev.json +285 -225
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-CobRKQBn.js → ReviewDetailPage-BDisSE9l.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-Bb6ZmriH.js → ReviewsPage-3puoJiOQ.js} +1 -1
- package/dist/server/ui/assets/index-CzMrWNAV.css +32 -0
- package/dist/server/ui/assets/index-zlQ1ekQ2.js +1103 -0
- package/dist/server/ui/assets/{useReviewSubscription-DzaIaXy7.js → useReviewSubscription-wTrdkdi0.js} +1 -1
- package/dist/server/ui/favicon.svg +2 -16
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/3-agents-dev.json +198 -160
- package/dist/templates/teams-dev.json +285 -225
- package/package.json +31 -8
- package/dist/server/modules/core/services/gemini-trusted-folders.module.d.ts +0 -2
- package/dist/server/modules/core/services/gemini-trusted-folders.module.js.map +0 -1
- package/dist/server/modules/core/services/gemini-trusted-folders.service.d.ts +0 -26
- package/dist/server/modules/core/services/gemini-trusted-folders.service.js +0 -181
- package/dist/server/modules/core/services/gemini-trusted-folders.service.js.map +0 -1
- package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +0 -27
- package/dist/server/modules/providers/adapters/gemini.adapter.js +0 -119
- package/dist/server/modules/providers/adapters/gemini.adapter.js.map +0 -1
- package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +0 -1
- package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +0 -380
- package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +0 -1
- package/dist/server/ui/assets/index-BV_-Jlz8.js +0 -1095
- package/dist/server/ui/assets/index-C_ZOt0it.css +0 -32
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AntigravityMetricsReader = void 0;
|
|
7
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
8
|
+
const logger_1 = require("../../../common/logging/logger");
|
|
9
|
+
const protobuf_wire_1 = require("./protobuf-wire");
|
|
10
|
+
const logger = (0, logger_1.createLogger)('AntigravityMetricsReader');
|
|
11
|
+
const DEFAULT_BUSY_TIMEOUT_MS = 5_000;
|
|
12
|
+
const DEFAULT_OPEN_RETRIES = 3;
|
|
13
|
+
const OPEN_RETRY_DELAY_MS = 50;
|
|
14
|
+
const WRAPPER_FIELD = 1;
|
|
15
|
+
const USAGE_FIELD = 4;
|
|
16
|
+
const USAGE_INPUT = 2;
|
|
17
|
+
const USAGE_OUTPUT_TOTAL = 3;
|
|
18
|
+
const MODEL_ID_FIELD = 19;
|
|
19
|
+
const DISPLAY_NAME_FIELD = 21;
|
|
20
|
+
class AntigravityMetricsReader {
|
|
21
|
+
constructor(options) {
|
|
22
|
+
this.busyTimeoutMs = options?.busyTimeoutMs ?? DEFAULT_BUSY_TIMEOUT_MS;
|
|
23
|
+
this.openRetries = options?.openRetries ?? DEFAULT_OPEN_RETRIES;
|
|
24
|
+
}
|
|
25
|
+
decode(dbPath, providerSessionId) {
|
|
26
|
+
const result = emptyMetrics();
|
|
27
|
+
try {
|
|
28
|
+
this.withDb(dbPath, (db) => {
|
|
29
|
+
if (!this.hasTable(db, 'gen_metadata') || !this.hasTable(db, 'trajectory_meta')) {
|
|
30
|
+
result.warnings.push('agy metrics: DB schema drift — gen_metadata/trajectory_meta missing (token usage unavailable)');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const cascade = db.prepare('SELECT cascade_id FROM trajectory_meta LIMIT 1').get();
|
|
34
|
+
if (cascade?.cascade_id && cascade.cascade_id !== providerSessionId) {
|
|
35
|
+
result.warnings.push(`agy metrics: .db conversation id mismatch (cascade_id=${cascade.cascade_id} ≠ providerSessionId=${providerSessionId}) — token usage NOT trusted`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const rows = db
|
|
39
|
+
.prepare('SELECT idx, data FROM gen_metadata ORDER BY idx')
|
|
40
|
+
.all();
|
|
41
|
+
if (rows.length === 0) {
|
|
42
|
+
result.warnings.push('agy metrics: no generation metadata rows — token usage unavailable');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
let decodedRows = 0;
|
|
46
|
+
for (const row of rows) {
|
|
47
|
+
try {
|
|
48
|
+
const usage = this.decodeRowUsage(row.data, result);
|
|
49
|
+
if (!usage)
|
|
50
|
+
continue;
|
|
51
|
+
result.inputTokens += usage.input;
|
|
52
|
+
result.outputTokens += usage.output;
|
|
53
|
+
result.lastContextTokens = usage.input + usage.output;
|
|
54
|
+
if (usage.modelId)
|
|
55
|
+
result.modelId = usage.modelId;
|
|
56
|
+
if (usage.displayName)
|
|
57
|
+
result.displayName = usage.displayName;
|
|
58
|
+
decodedRows++;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (error instanceof protobuf_wire_1.ProtobufDecodeError) {
|
|
62
|
+
result.warnings.push(`agy metrics: undecodable protobuf at gen_metadata[${row.idx}] (possible version drift): ${error.message}`);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
result.generationCount = decodedRows;
|
|
69
|
+
if (decodedRows === 0 && result.warnings.length === 0) {
|
|
70
|
+
result.warnings.push('agy metrics: no Usage submessage found in any generation — token usage unavailable');
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
result.warnings.push(`agy metrics: cannot read .db (${String(error?.message ?? error)})`);
|
|
76
|
+
logger.debug({ dbPath, error }, 'agy metrics decode failed');
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
decodeRowUsage(data, _result) {
|
|
81
|
+
const top = (0, protobuf_wire_1.decodeMessage)(data);
|
|
82
|
+
const wrapper = (0, protobuf_wire_1.getMessage)(top, WRAPPER_FIELD);
|
|
83
|
+
if (!wrapper)
|
|
84
|
+
return null;
|
|
85
|
+
const usage = (0, protobuf_wire_1.getMessage)(wrapper, USAGE_FIELD);
|
|
86
|
+
if (!usage)
|
|
87
|
+
return null;
|
|
88
|
+
return {
|
|
89
|
+
input: (0, protobuf_wire_1.getVarint)(usage, USAGE_INPUT) ?? 0,
|
|
90
|
+
output: (0, protobuf_wire_1.getVarint)(usage, USAGE_OUTPUT_TOTAL) ?? 0,
|
|
91
|
+
modelId: (0, protobuf_wire_1.getString)(wrapper, MODEL_ID_FIELD),
|
|
92
|
+
displayName: (0, protobuf_wire_1.getString)(wrapper, DISPLAY_NAME_FIELD),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
withDb(dbPath, fn) {
|
|
96
|
+
let lastError;
|
|
97
|
+
for (let attempt = 0; attempt <= this.openRetries; attempt++) {
|
|
98
|
+
let db;
|
|
99
|
+
try {
|
|
100
|
+
db = new better_sqlite3_1.default(dbPath, { readonly: true, fileMustExist: true });
|
|
101
|
+
db.pragma(`busy_timeout = ${this.busyTimeoutMs}`);
|
|
102
|
+
return fn(db);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
lastError = error;
|
|
106
|
+
const code = error?.code;
|
|
107
|
+
const transient = code === 'SQLITE_BUSY' || code === 'SQLITE_LOCKED';
|
|
108
|
+
if (!transient || attempt === this.openRetries)
|
|
109
|
+
throw error;
|
|
110
|
+
this.sleep(OPEN_RETRY_DELAY_MS * (attempt + 1));
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
db?.close();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
throw lastError;
|
|
117
|
+
}
|
|
118
|
+
hasTable(db, name) {
|
|
119
|
+
const row = db
|
|
120
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name = ?")
|
|
121
|
+
.get(name);
|
|
122
|
+
return row !== undefined;
|
|
123
|
+
}
|
|
124
|
+
sleep(ms) {
|
|
125
|
+
const end = Date.now() + ms;
|
|
126
|
+
while (Date.now() < end) {
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.AntigravityMetricsReader = AntigravityMetricsReader;
|
|
131
|
+
function emptyMetrics() {
|
|
132
|
+
return {
|
|
133
|
+
inputTokens: 0,
|
|
134
|
+
outputTokens: 0,
|
|
135
|
+
cacheReadTokens: 0,
|
|
136
|
+
cacheCreationTokens: 0,
|
|
137
|
+
generationCount: 0,
|
|
138
|
+
lastContextTokens: 0,
|
|
139
|
+
warnings: [],
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=antigravity-metrics.reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-metrics.reader.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/antigravity-metrics.reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapAgyModelToPricing = mapAgyModelToPricing;
|
|
4
|
+
const GPT_OSS_CONTEXT_WINDOW = 131_072;
|
|
5
|
+
const FAMILY_RULES = [
|
|
6
|
+
{
|
|
7
|
+
test: /gemini.*3\.5.*flash|gemini-3-flash/,
|
|
8
|
+
mapping: { pricingKey: 'gemini-3.5-flash', isFree: false },
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
test: /gemini.*3\.1.*pro|gemini-3-pro/,
|
|
12
|
+
mapping: { pricingKey: 'gemini-3.1-pro-preview', isFree: false },
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
test: /claude.*sonnet.*4\.6|sonnet-4-6/,
|
|
16
|
+
mapping: { pricingKey: 'claude-sonnet-4-6', isFree: false },
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
test: /claude.*opus.*4\.6|opus-4-6/,
|
|
20
|
+
mapping: { pricingKey: 'claude-opus-4-6', isFree: false },
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
test: /gpt-?oss.*120b/,
|
|
24
|
+
mapping: { pricingKey: null, isFree: true, freeContextWindow: GPT_OSS_CONTEXT_WINDOW },
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
function mapAgyModelToPricing(displayName, modelId) {
|
|
28
|
+
const haystack = `${displayName ?? ''} ${modelId ?? ''}`.toLowerCase();
|
|
29
|
+
for (const rule of FAMILY_RULES) {
|
|
30
|
+
if (rule.test.test(haystack))
|
|
31
|
+
return rule.mapping;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=antigravity-model-pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-model-pricing.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/antigravity-model-pricing.ts"],"names":[],"mappings":";;AA6DA,oDASC;AAjDD,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAYvC,MAAM,YAAY,GAAwD;IACxE;QACE,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;KAC3D;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,KAAK,EAAE;KACjE;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE;KAC5D;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE;KAC1D;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;KACvF;CACF,CAAC;AAOF,SAAgB,oBAAoB,CAClC,WAAoB,EACpB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { UnifiedSession } from '../dtos/unified-session.types';
|
|
2
|
+
import type { PricingServiceInterface } from '../services/pricing.interface';
|
|
3
|
+
export interface AntigravityFileStat {
|
|
4
|
+
mtimeMs: number;
|
|
5
|
+
size: number;
|
|
6
|
+
}
|
|
7
|
+
export interface AntigravityFreshness {
|
|
8
|
+
maxUpdated: number;
|
|
9
|
+
jsonl: AntigravityFileStat;
|
|
10
|
+
db: AntigravityFileStat;
|
|
11
|
+
}
|
|
12
|
+
export interface AntigravitySessionRead {
|
|
13
|
+
session: UnifiedSession;
|
|
14
|
+
sizeBytes: number;
|
|
15
|
+
freshness: AntigravityFreshness;
|
|
16
|
+
}
|
|
17
|
+
export declare class AntigravityTranscriptReader {
|
|
18
|
+
private readonly pricing?;
|
|
19
|
+
constructor(pricing?: PricingServiceInterface | undefined);
|
|
20
|
+
resolveJsonlPath(dbPath: string, convId: string): string;
|
|
21
|
+
readSession(dbPath: string, convId: string): Promise<AntigravitySessionRead>;
|
|
22
|
+
getFreshness(dbPath: string, convId: string): Promise<AntigravityFreshness>;
|
|
23
|
+
private statSafe;
|
|
24
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AntigravityTranscriptReader = void 0;
|
|
37
|
+
const fs = __importStar(require("node:fs/promises"));
|
|
38
|
+
const path = __importStar(require("node:path"));
|
|
39
|
+
const antigravity_jsonl_parser_1 = require("../parsers/antigravity-jsonl.parser");
|
|
40
|
+
const PROVIDER_NAME = 'agy';
|
|
41
|
+
class AntigravityTranscriptReader {
|
|
42
|
+
constructor(pricing) {
|
|
43
|
+
this.pricing = pricing;
|
|
44
|
+
}
|
|
45
|
+
resolveJsonlPath(dbPath, convId) {
|
|
46
|
+
const agyRoot = path.dirname(path.dirname(dbPath));
|
|
47
|
+
return path.join(agyRoot, 'brain', convId, '.system_generated', 'logs', 'transcript_full.jsonl');
|
|
48
|
+
}
|
|
49
|
+
async readSession(dbPath, convId) {
|
|
50
|
+
const jsonlPath = this.resolveJsonlPath(dbPath, convId);
|
|
51
|
+
const parsed = await (0, antigravity_jsonl_parser_1.parseAntigravityJsonl)(jsonlPath, { pricingService: this.pricing });
|
|
52
|
+
const session = {
|
|
53
|
+
id: convId,
|
|
54
|
+
providerName: PROVIDER_NAME,
|
|
55
|
+
filePath: dbPath,
|
|
56
|
+
messages: parsed.messages,
|
|
57
|
+
metrics: parsed.metrics,
|
|
58
|
+
isOngoing: parsed.metrics.isOngoing,
|
|
59
|
+
warnings: parsed.warnings,
|
|
60
|
+
};
|
|
61
|
+
const freshness = await this.getFreshness(dbPath, convId);
|
|
62
|
+
return { session, sizeBytes: parsed.bytesRead, freshness };
|
|
63
|
+
}
|
|
64
|
+
async getFreshness(dbPath, convId) {
|
|
65
|
+
const jsonlPath = this.resolveJsonlPath(dbPath, convId);
|
|
66
|
+
const [jsonl, db] = await Promise.all([this.statSafe(jsonlPath), this.statSafe(dbPath)]);
|
|
67
|
+
return { maxUpdated: Math.max(jsonl.mtimeMs, db.mtimeMs), jsonl, db };
|
|
68
|
+
}
|
|
69
|
+
async statSafe(filePath) {
|
|
70
|
+
try {
|
|
71
|
+
const stat = await fs.stat(filePath);
|
|
72
|
+
return { mtimeMs: stat.mtime.getTime(), size: stat.size };
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return { mtimeMs: 0, size: 0 };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.AntigravityTranscriptReader = AntigravityTranscriptReader;
|
|
80
|
+
//# sourceMappingURL=antigravity-transcript.reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-transcript.reader.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/antigravity-transcript.reader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,qDAAuC;AACvC,gDAAkC;AAGlC,kFAA4E;AAE5E,MAAM,aAAa,GAAG,KAAK,CAAC;AA8B5B,MAAa,2BAA2B;IACtC,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;IAAG,CAAC;IAOlE,gBAAgB,CAAC,MAAc,EAAE,MAAc;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,EACP,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,MAAM,EACN,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,MAAc;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAA,gDAAqB,EAAC,SAAS,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAExF,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,MAAM;YACV,YAAY,EAAE,aAAa;YAE3B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;IAC7D,CAAC;IAMD,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAGO,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AA3DD,kEA2DC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import type { PricingServiceInterface } from '../services/pricing.interface';
|
|
3
|
+
export declare function mapCopilotModelToPricing(modelId?: string | null): string | null;
|
|
4
|
+
export interface CopilotPricingUsage {
|
|
5
|
+
inputTokens: number;
|
|
6
|
+
outputTokens: number;
|
|
7
|
+
cacheReadTokens: number;
|
|
8
|
+
cacheCreationTokens: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function calculateCopilotMessageCost(modelId: string | null | undefined, usage: CopilotPricingUsage, pricingService: PricingServiceInterface, log?: Pick<Logger, 'warn'>): number;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapCopilotModelToPricing = mapCopilotModelToPricing;
|
|
4
|
+
exports.calculateCopilotMessageCost = calculateCopilotMessageCost;
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const logger = new common_1.Logger('CopilotModelPricing');
|
|
7
|
+
const FAMILY_RULES = [
|
|
8
|
+
{ test: /claude.*haiku.*4[.\-]?5|haiku-4-5/, pricingKey: 'claude-haiku-4-5' },
|
|
9
|
+
{ test: /claude.*sonnet.*4[.\-]?5|sonnet-4-5/, pricingKey: 'claude-sonnet-4-5' },
|
|
10
|
+
{ test: /claude.*opus.*4[.\-]?5|opus-4-5/, pricingKey: 'claude-opus-4-5' },
|
|
11
|
+
{ test: /gpt-?5-?mini/, pricingKey: 'gpt-5-mini' },
|
|
12
|
+
{ test: /gpt-?5/, pricingKey: 'gpt-5' },
|
|
13
|
+
{ test: /gemini.*2[.\-]?5.*pro/, pricingKey: 'gemini-2.5-pro' },
|
|
14
|
+
{ test: /gemini.*2[.\-]?5.*flash/, pricingKey: 'gemini-2.5-flash' },
|
|
15
|
+
];
|
|
16
|
+
function mapCopilotModelToPricing(modelId) {
|
|
17
|
+
if (!modelId)
|
|
18
|
+
return null;
|
|
19
|
+
const haystack = modelId.trim().toLowerCase();
|
|
20
|
+
if (haystack.length === 0 || haystack === 'auto')
|
|
21
|
+
return null;
|
|
22
|
+
for (const rule of FAMILY_RULES) {
|
|
23
|
+
if (rule.test.test(haystack))
|
|
24
|
+
return rule.pricingKey;
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
function calculateCopilotMessageCost(modelId, usage, pricingService, log = logger) {
|
|
29
|
+
const pricingKey = mapCopilotModelToPricing(modelId);
|
|
30
|
+
if (!pricingKey) {
|
|
31
|
+
log.warn(`No USD pricing mapping for Copilot model "${modelId ?? ''}" — cost reported as $0 ` +
|
|
32
|
+
`(not folded into parity). Add a family rule in copilot-model-pricing.ts.`);
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
return pricingService.calculateMessageCost(pricingKey, usage.inputTokens, usage.outputTokens, usage.cacheReadTokens, usage.cacheCreationTokens);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=copilot-model-pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copilot-model-pricing.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/copilot-model-pricing.ts"],"names":[],"mappings":";;AAmDA,4DAQC;AAiBD,kEAqBC;AAjGD,2CAAwC;AA2BxC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC;AAOjD,MAAM,YAAY,GAAgD;IAGhE,EAAE,IAAI,EAAE,mCAAmC,EAAE,UAAU,EAAE,kBAAkB,EAAE;IAC7E,EAAE,IAAI,EAAE,qCAAqC,EAAE,UAAU,EAAE,mBAAmB,EAAE;IAChF,EAAE,IAAI,EAAE,iCAAiC,EAAE,UAAU,EAAE,iBAAiB,EAAE;IAC1E,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE;IACvC,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,gBAAgB,EAAE;IAC/D,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,kBAAkB,EAAE;CACpE,CAAC;AAOF,SAAgB,wBAAwB,CAAC,OAAuB;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,SAAgB,2BAA2B,CACzC,OAAkC,EAClC,KAA0B,EAC1B,cAAuC,EACvC,MAA4B,MAAM;IAElC,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CACN,6CAA6C,OAAO,IAAI,EAAE,0BAA0B;YAClF,0EAA0E,CAC7E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,cAAc,CAAC,oBAAoB,CACxC,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,mBAAmB,CAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { UnifiedSession } from '../dtos/unified-session.types';
|
|
2
|
+
import type { PricingServiceInterface } from '../services/pricing.interface';
|
|
3
|
+
export interface OpencodeFreshness {
|
|
4
|
+
count: number;
|
|
5
|
+
maxUpdated: number;
|
|
6
|
+
}
|
|
7
|
+
export interface OpencodeSessionRead {
|
|
8
|
+
session: UnifiedSession;
|
|
9
|
+
sizeBytes: number;
|
|
10
|
+
freshness: OpencodeFreshness;
|
|
11
|
+
}
|
|
12
|
+
export interface OpencodeSessionCandidate {
|
|
13
|
+
providerSessionId: string;
|
|
14
|
+
directory: string;
|
|
15
|
+
timeCreated: number;
|
|
16
|
+
timeUpdated: number;
|
|
17
|
+
}
|
|
18
|
+
export interface OpencodeReaderOptions {
|
|
19
|
+
maxToolOutputChars?: number;
|
|
20
|
+
busyTimeoutMs?: number;
|
|
21
|
+
openRetries?: number;
|
|
22
|
+
}
|
|
23
|
+
interface SessionRow {
|
|
24
|
+
id: string;
|
|
25
|
+
title: string | null;
|
|
26
|
+
model: string | null;
|
|
27
|
+
agent: string | null;
|
|
28
|
+
parent_id: string | null;
|
|
29
|
+
time_created: number;
|
|
30
|
+
time_updated: number;
|
|
31
|
+
}
|
|
32
|
+
interface MessageRow {
|
|
33
|
+
id: string;
|
|
34
|
+
time_created: number;
|
|
35
|
+
time_updated: number;
|
|
36
|
+
data: string;
|
|
37
|
+
}
|
|
38
|
+
interface PartRow {
|
|
39
|
+
id: string;
|
|
40
|
+
message_id: string;
|
|
41
|
+
time_updated: number;
|
|
42
|
+
data: string;
|
|
43
|
+
}
|
|
44
|
+
export declare class OpencodeSqliteReader {
|
|
45
|
+
private readonly pricing?;
|
|
46
|
+
private readonly maxToolOutputChars;
|
|
47
|
+
private readonly busyTimeoutMs;
|
|
48
|
+
private readonly openRetries;
|
|
49
|
+
constructor(pricing?: PricingServiceInterface | undefined, options?: OpencodeReaderOptions);
|
|
50
|
+
readSession(dbPath: string, providerSessionId: string): OpencodeSessionRead;
|
|
51
|
+
getFreshness(dbPath: string, providerSessionId: string): OpencodeFreshness;
|
|
52
|
+
findSessionCandidates(dbPath: string, params: {
|
|
53
|
+
directory: string;
|
|
54
|
+
startedAtMs: number;
|
|
55
|
+
windowMs: number;
|
|
56
|
+
}): OpencodeSessionCandidate[];
|
|
57
|
+
private withDb;
|
|
58
|
+
private isTransientLock;
|
|
59
|
+
private wrapOpenError;
|
|
60
|
+
private sleep;
|
|
61
|
+
private assertSchema;
|
|
62
|
+
private assertColumns;
|
|
63
|
+
}
|
|
64
|
+
interface NormalizeOptions {
|
|
65
|
+
pricing?: PricingServiceInterface;
|
|
66
|
+
maxToolOutputChars?: number;
|
|
67
|
+
}
|
|
68
|
+
export declare function normalizeOpencodeSession(dbPath: string, sessionRow: SessionRow, messageRows: MessageRow[], partRows: PartRow[], options?: NormalizeOptions): OpencodeSessionRead;
|
|
69
|
+
export {};
|