prismalens 0.5.0-rc.3 → 0.5.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 +2 -10
- package/dist/bin/prismalens.js +23 -12
- package/dist/chunk-HKIFAYVZ.js +53 -0
- package/dist/src/cli/doctor.js +165 -115
- package/dist/src/cli/up-console.js +16 -0
- package/dist/src/cli/up.js +41 -2
- package/node_modules/@prismalens/api/dist/src/app.controller.js +2 -1
- package/node_modules/@prismalens/api/dist/src/app.module.js +2 -15
- package/node_modules/@prismalens/api/dist/src/core/auth/auth.guard.js +1 -4
- package/node_modules/@prismalens/api/dist/src/core/auth/auth.service.js +6 -36
- package/node_modules/@prismalens/api/dist/src/core/auth/index.js +1 -1
- package/node_modules/@prismalens/api/dist/src/core/auth/orpc-auth.utils.js +0 -28
- package/node_modules/@prismalens/api/dist/src/{infrastructure/dev-seed/dev-seed.module.js → core/harness/harness-probe.service.js} +17 -14
- package/node_modules/@prismalens/api/dist/src/{modules/deployments/deployments.module.js → core/harness/harness.module.js} +11 -11
- package/node_modules/@prismalens/api/dist/src/core/harness/harness.service.js +94 -0
- package/node_modules/@prismalens/api/dist/src/core/harness/repo-source.service.js +191 -0
- package/node_modules/@prismalens/api/dist/src/core/prisma/prisma.service.js +3 -27
- package/node_modules/@prismalens/api/dist/src/core/settings/settings.controller.js +13 -66
- package/node_modules/@prismalens/api/dist/src/core/settings/settings.module.js +4 -4
- package/node_modules/@prismalens/api/dist/src/core/settings/settings.service.js +2 -166
- package/node_modules/@prismalens/api/dist/src/core/setup/setup.controller.js +8 -11
- package/node_modules/@prismalens/api/dist/src/core/setup/setup.module.js +2 -2
- package/node_modules/@prismalens/api/dist/src/core/users/users.service.js +4 -15
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/dispatch.module.js +14 -1
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/dispatch.service.js +119 -37
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/dispatcher.js +7 -69
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/in-process-runner.js +47 -0
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/investigation-run.js +386 -0
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/job-store.js +22 -82
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/prisma-investigation-store.js +106 -0
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/run-ports.js +2 -0
- package/node_modules/@prismalens/api/dist/src/infrastructure/health/health.controller.js +2 -5
- package/node_modules/@prismalens/api/dist/src/main.js +10 -6
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/alert-mapping.module.js +0 -2
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/alert-mapping.service.js +11 -302
- package/node_modules/@prismalens/api/dist/src/modules/alerts/alerts.controller.js +9 -39
- package/node_modules/@prismalens/api/dist/src/modules/alerts/alerts.module.js +6 -5
- package/node_modules/@prismalens/api/dist/src/modules/alerts/alerts.service.js +60 -1
- package/node_modules/@prismalens/api/dist/src/modules/alerts/incident-correlation.service.js +107 -0
- package/node_modules/@prismalens/api/dist/src/modules/incidents/incidents.controller.js +17 -52
- package/node_modules/@prismalens/api/dist/src/modules/incidents/incidents.module.js +2 -2
- package/node_modules/@prismalens/api/dist/src/modules/incidents/incidents.service.js +0 -66
- package/node_modules/@prismalens/api/dist/src/modules/integrations/integrations.controller.js +5 -9
- package/node_modules/@prismalens/api/dist/src/modules/integrations/integrations.module.js +3 -10
- package/node_modules/@prismalens/api/dist/src/modules/integrations/integrations.service.js +25 -20
- package/node_modules/@prismalens/api/dist/src/modules/integrations/token-refresh.processor.js +0 -6
- package/node_modules/@prismalens/api/dist/src/modules/investigations/dto/index.js +3 -0
- package/node_modules/@prismalens/api/dist/src/modules/investigations/investigation-trigger.service.js +65 -142
- package/node_modules/@prismalens/api/dist/src/modules/investigations/investigation-update.service.js +1 -30
- package/node_modules/@prismalens/api/dist/src/modules/investigations/investigations.controller.js +1 -1
- package/node_modules/@prismalens/api/dist/src/modules/investigations/investigations.module.js +0 -2
- package/node_modules/@prismalens/api/dist/src/modules/investigations/investigations.service.js +24 -7
- package/node_modules/@prismalens/api/dist/src/modules/openapi/openapi.controller.js +1 -10
- package/node_modules/@prismalens/api/dist/src/modules/overlay/overlay.service.js +5 -30
- package/node_modules/@prismalens/api/dist/src/modules/recommendations/recommendations.controller.js +1 -0
- package/node_modules/@prismalens/api/dist/src/modules/recommendations/recommendations.service.js +4 -0
- package/node_modules/@prismalens/api/dist/src/modules/repositories/repositories.controller.js +5 -15
- package/node_modules/@prismalens/api/dist/src/modules/repositories/repositories.module.js +3 -1
- package/node_modules/@prismalens/api/dist/src/modules/repositories/repositories.service.js +101 -3
- package/node_modules/@prismalens/api/dist/src/modules/repositories/serialize-repository.js +12 -0
- package/node_modules/@prismalens/api/dist/src/modules/services/dto/create-service.dto.js +0 -6
- package/node_modules/@prismalens/api/dist/src/modules/services/dto/update-service.dto.js +0 -6
- package/node_modules/@prismalens/api/dist/src/modules/services/services.controller.js +5 -57
- package/node_modules/@prismalens/api/dist/src/modules/services/services.service.js +0 -33
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/dto/generic-webhook.dto.js +1 -167
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/dto/index.js +1 -1
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/render-webhook-signature.guard.js +3 -2
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/webhook-signature.guard.js +44 -24
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/webhook-throttle.guard.js +22 -0
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/webhooks.controller.js +16 -3
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/webhooks.module.js +0 -2
- package/node_modules/@prismalens/api/dist/src/modules/webhooks/webhooks.service.js +37 -123
- package/node_modules/@prismalens/api/dist/src/shared/enums/index.js +1 -2
- package/node_modules/@prismalens/api/dist/src/shared/utils/service-version.js +21 -0
- package/node_modules/@prismalens/api/public/assets/ClientOnly-oQFvh3ix.js +1 -0
- package/node_modules/@prismalens/api/public/assets/InvestigationPanel-BvmE4cR6.js +1 -0
- package/node_modules/@prismalens/api/public/assets/MutationError-KTNVqQEE.js +1 -0
- package/node_modules/@prismalens/api/public/assets/ServiceFormDialog-C7dLyL7N.js +1 -0
- package/node_modules/@prismalens/api/public/assets/_authenticated-BppNdFba.js +1 -0
- package/node_modules/@prismalens/api/public/assets/_authenticated-wCisuJM_.js +1 -0
- package/node_modules/@prismalens/api/public/assets/_id-BrdzzQIF.js +1 -0
- package/node_modules/@prismalens/api/public/assets/_id-C8NXhNAK.js +1 -0
- package/node_modules/@prismalens/api/public/assets/_id-CK1erj0d.js +1 -0
- package/node_modules/@prismalens/api/public/assets/alert-CS2Wmto0.js +1 -0
- package/node_modules/@prismalens/api/public/assets/alerts-CQ_N0W0-.js +1 -0
- package/node_modules/@prismalens/api/public/assets/app-B7_kgVWH.css +2 -0
- package/node_modules/@prismalens/api/public/assets/arrow-left-BOFDa8ux.js +1 -0
- package/node_modules/@prismalens/api/public/assets/auth-wZ7azlRE.js +3 -0
- package/node_modules/@prismalens/api/public/assets/button-BpffP5tM.js +1 -0
- package/node_modules/@prismalens/api/public/assets/card-CReVHG_n.js +1 -0
- package/node_modules/@prismalens/api/public/assets/chevron-right-BOWPjY4S.js +1 -0
- package/node_modules/@prismalens/api/public/assets/circle-check-big-cg0UNmWv.js +1 -0
- package/node_modules/@prismalens/api/public/assets/circle-x-DKryDPn4.js +1 -0
- package/node_modules/@prismalens/api/public/assets/collapsible-DdpheXBx.js +1 -0
- package/node_modules/@prismalens/api/public/assets/configure-C1u6gEO2.js +1 -0
- package/node_modules/@prismalens/api/public/assets/dist-CqgV8s4C.js +1 -0
- package/node_modules/@prismalens/api/public/assets/dist-I12loRoA.js +41 -0
- package/node_modules/@prismalens/api/public/assets/empty-state-KM3G8QLx.js +1 -0
- package/node_modules/@prismalens/api/public/assets/external-link-DhpTX__a.js +1 -0
- package/node_modules/@prismalens/api/public/assets/eye-dV62okMp.js +1 -0
- package/node_modules/@prismalens/api/public/assets/folder-git-2-B4vrLWuH.js +1 -0
- package/node_modules/@prismalens/api/public/assets/git-branch-81sGnyw5.js +1 -0
- package/node_modules/@prismalens/api/public/assets/github-icon-CVmm6oeW.js +1 -0
- package/node_modules/@prismalens/api/public/assets/hooks-Cf_sMPxR.js +1 -0
- package/node_modules/@prismalens/api/public/assets/incidents-PxIr2Mj_.js +1 -0
- package/node_modules/@prismalens/api/public/assets/incidents-snzRV5Kv.js +55 -0
- package/node_modules/@prismalens/api/public/assets/index-CpSQ0CqN.js +18 -0
- package/node_modules/@prismalens/api/public/assets/integration-icons-BFpnKW2W.js +1 -0
- package/node_modules/@prismalens/api/public/assets/label-Dgrl4rFp.js +1 -0
- package/node_modules/@prismalens/api/public/assets/layout-CSTP97CY.js +1 -0
- package/node_modules/@prismalens/api/public/assets/lib-CxLMTIZP.js +4 -0
- package/node_modules/@prismalens/api/public/assets/link-CYimRxHJ.js +1 -0
- package/node_modules/@prismalens/api/public/assets/list-CNt7sLLg.js +1 -0
- package/node_modules/@prismalens/api/public/assets/login-Cx_HB4n6.js +1 -0
- package/node_modules/@prismalens/api/public/assets/orpc-client-D4Uc7lTE.js +58 -0
- package/node_modules/@prismalens/api/public/assets/preload-helper-ZV40CQ2j.js +1 -0
- package/node_modules/@prismalens/api/public/assets/progress-jWV8sxYw.js +6 -0
- package/node_modules/@prismalens/api/public/assets/radio-group-CtY79PeV.js +1 -0
- package/node_modules/@prismalens/api/public/assets/refresh-cw-DMSsuw7T.js +1 -0
- package/node_modules/@prismalens/api/public/assets/select-C5DNoS_d.js +1 -0
- package/node_modules/@prismalens/api/public/assets/services-nMYHaqTp.js +1 -0
- package/node_modules/@prismalens/api/public/assets/settings-2-DUzYfEmR.js +1 -0
- package/node_modules/@prismalens/api/public/assets/settings-ClDES8rE.js +1 -0
- package/node_modules/@prismalens/api/public/assets/setup-BXY21KAX.js +1 -0
- package/node_modules/@prismalens/api/public/assets/setup-CxS2DteT.js +1 -0
- package/node_modules/@prismalens/api/public/assets/skeleton-_nFhh22s.js +1 -0
- package/node_modules/@prismalens/api/public/assets/table-BgvCpLYs.js +1 -0
- package/node_modules/@prismalens/api/public/assets/tabs-fi3R6fmK.js +1 -0
- package/node_modules/@prismalens/api/public/assets/textarea-CAM3kKS0.js +1 -0
- package/node_modules/@prismalens/api/public/assets/tooltip-DTm50KM9.js +1 -0
- package/node_modules/@prismalens/api/public/assets/use-investigations-orpc-Ck0Rl3_n.js +1 -0
- package/node_modules/@prismalens/api/public/assets/useNavigate-CdMJ9pQ0.js +1 -0
- package/node_modules/@prismalens/api/public/assets/{with-selector-DN3lmfWr.js → useRouter-B64lGpJS.js} +1 -1
- package/node_modules/@prismalens/api/public/assets/useSelector-CLaKw48R.js +1 -0
- package/node_modules/@prismalens/api/public/assets/wrench-DZZjIXsU.js +1 -0
- package/node_modules/@prismalens/api/public/index.html +0 -0
- package/node_modules/@prismalens/auth/dist/auth.js +32 -62
- package/node_modules/@prismalens/auth/dist/client.js +1 -9
- package/node_modules/@prismalens/auth/dist/index.js +0 -1
- package/node_modules/@prismalens/config/dist/env/database.js +1 -64
- package/node_modules/@prismalens/config/dist/env/deployment.js +0 -37
- package/node_modules/@prismalens/config/dist/env/dispatch.js +3 -86
- package/node_modules/@prismalens/config/dist/env/index.js +0 -4
- package/node_modules/@prismalens/config/dist/env/logging.js +14 -47
- package/node_modules/@prismalens/config/dist/env/server.js +3 -3
- package/node_modules/@prismalens/config/dist/harness-selection.js +83 -144
- package/node_modules/@prismalens/config/dist/harness.js +1 -6
- package/node_modules/@prismalens/config/dist/index.js +8 -62
- package/node_modules/@prismalens/config/dist/investigation.js +3 -33
- package/node_modules/@prismalens/config/dist/providers/harness.js +209 -75
- package/node_modules/@prismalens/config/dist/utils/database-url.js +4 -46
- package/node_modules/@prismalens/config/dist/utils/encryption-key.js +7 -7
- package/node_modules/@prismalens/config/dist/utils/secrets.js +1 -1
- package/node_modules/@prismalens/config/package.json +0 -20
- package/node_modules/@prismalens/contracts/dist/contracts/incidents.js +1 -54
- package/node_modules/@prismalens/contracts/dist/contracts/index.js +0 -15
- package/node_modules/@prismalens/contracts/dist/contracts/repositories.js +14 -1
- package/node_modules/@prismalens/contracts/dist/contracts/services.js +1 -20
- package/node_modules/@prismalens/contracts/dist/contracts/settings.js +43 -163
- package/node_modules/@prismalens/contracts/dist/contracts/setup.js +3 -4
- package/node_modules/@prismalens/contracts/dist/schemas/common.js +0 -22
- package/node_modules/@prismalens/contracts/dist/schemas/incident.js +9 -24
- package/node_modules/@prismalens/contracts/dist/schemas/index.js +0 -6
- package/node_modules/@prismalens/contracts/dist/schemas/integration.js +1 -10
- package/node_modules/@prismalens/contracts/dist/schemas/investigation.js +12 -26
- package/node_modules/@prismalens/contracts/dist/schemas/repository.js +23 -2
- package/node_modules/@prismalens/contracts/dist/schemas/service.js +1 -42
- package/node_modules/@prismalens/contracts/dist/schemas/settings.js +47 -247
- package/node_modules/@prismalens/database/dist/client.js +7 -34
- package/node_modules/@prismalens/database/dist/prisma/generated/internal/class.js +4 -4
- package/node_modules/@prismalens/database/dist/prisma/generated/internal/prismaNamespace.js +15 -154
- package/node_modules/@prismalens/database/dist/prisma/generated/models/AlertSourceAlert.js +2 -0
- package/node_modules/@prismalens/database/dist/prisma/seeds/demo-data.js +0 -39
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/{20260803122809_init → 20260911192405_init}/migration.sql +32 -286
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/app.prisma +488 -620
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/auth.prisma +99 -159
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/integrations.prisma +101 -156
- package/node_modules/@prismalens/database/dist/src/migrator/migration-source.js +5 -5
- package/node_modules/@prismalens/database/dist/src/migrator/runner.js +0 -0
- package/node_modules/@prismalens/engine/dist/index.js +9 -18
- package/node_modules/@prismalens/engine/dist/run/conductor.js +45 -0
- package/node_modules/@prismalens/engine/dist/run/fence.js +103 -0
- package/node_modules/@prismalens/engine/dist/run/harness-doctor.js +111 -0
- package/node_modules/@prismalens/engine/dist/run/investigate.js +194 -0
- package/node_modules/@prismalens/engine/dist/run/permission.js +157 -0
- package/node_modules/@prismalens/engine/dist/run/prompt.js +68 -0
- package/node_modules/@prismalens/engine/dist/run/report.js +96 -0
- package/node_modules/@prismalens/engine/dist/runner/acp-client.js +250 -247
- package/node_modules/@prismalens/engine/dist/sandbox/process-floor.js +6 -4
- package/node_modules/@prismalens/integrations/dist/index.js +2 -4
- package/node_modules/@prismalens/integrations/dist/providers/index.js +0 -3
- package/node_modules/@prismalens/integrations/dist/templates/index.js +0 -10
- package/node_modules/@prismalens/logger/dist/core/context.js +21 -111
- package/node_modules/@prismalens/logger/dist/core/logger.js +120 -203
- package/node_modules/@prismalens/logger/dist/index.js +1 -59
- package/node_modules/@prismalens/logger/dist/integrations/nestjs/index.js +154 -3
- package/node_modules/@prismalens/logger/dist/integrations/standalone/index.js +12 -1
- package/node_modules/@prismalens/logger/package.json +1 -1
- package/package.json +6 -21
- package/dist/chunk-5STPIUCJ.js +0 -150
- package/dist/chunk-HPE5CTO4.js +0 -22
- package/dist/chunk-JX2QAP6S.js +0 -574
- package/dist/chunk-LAYYJBZ5.js +0 -232
- package/dist/chunk-TSW5RW5B.js +0 -476
- package/dist/chunk-VI32U36Y.js +0 -161
- package/dist/src/cli/auth.js +0 -115
- package/dist/src/cli/grouping.js +0 -10
- package/dist/src/cli/init.js +0 -102
- package/dist/src/cli/investigate.js +0 -18
- package/dist/src/cli/listen.js +0 -490
- package/dist/src/cli/report.js +0 -74
- package/dist/src/cli/serve.js +0 -267
- package/dist/src/cli/status.js +0 -92
- package/node_modules/@prismalens/api/dist/src/core/license/decorators.js +0 -24
- package/node_modules/@prismalens/api/dist/src/core/license/license.constants.js +0 -60
- package/node_modules/@prismalens/api/dist/src/core/license/license.controller.js +0 -122
- package/node_modules/@prismalens/api/dist/src/core/license/license.guard.js +0 -96
- package/node_modules/@prismalens/api/dist/src/core/license/license.module.js +0 -37
- package/node_modules/@prismalens/api/dist/src/core/license/license.service.js +0 -252
- package/node_modules/@prismalens/api/dist/src/core/settings/llm-settings.service.js +0 -482
- package/node_modules/@prismalens/api/dist/src/infrastructure/dev-seed/dev-seed.service.js +0 -60
- package/node_modules/@prismalens/api/dist/src/infrastructure/dispatch/fork-runner.js +0 -153
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/dto/create-timeline-entry.dto.js +0 -48
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/dto/index.js +0 -5
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/guards/internal.guard.js +0 -41
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/internal-integrations.controller.js +0 -60
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/internal-investigations.controller.js +0 -126
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/internal-settings.controller.js +0 -49
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/internal-timeline.controller.js +0 -52
- package/node_modules/@prismalens/api/dist/src/infrastructure/internal/internal.module.js +0 -45
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/alert-mapping.controller.js +0 -124
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/dto/create-mapping-rule.dto.js +0 -9
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/dto/index.js +0 -3
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/dto/test-mapping.dto.js +0 -8
- package/node_modules/@prismalens/api/dist/src/modules/alert-mapping/dto/update-mapping-rule.dto.js +0 -9
- package/node_modules/@prismalens/api/dist/src/modules/correlation/correlation.controller.js +0 -108
- package/node_modules/@prismalens/api/dist/src/modules/correlation/correlation.module.js +0 -22
- package/node_modules/@prismalens/api/dist/src/modules/correlation/correlation.service.js +0 -391
- package/node_modules/@prismalens/api/dist/src/modules/correlation/dto/create-correlation-rule.dto.js +0 -97
- package/node_modules/@prismalens/api/dist/src/modules/correlation/dto/index.js +0 -3
- package/node_modules/@prismalens/api/dist/src/modules/correlation/dto/update-correlation-rule.dto.js +0 -98
- package/node_modules/@prismalens/api/dist/src/modules/deployments/deployments.controller.js +0 -95
- package/node_modules/@prismalens/api/dist/src/modules/deployments/deployments.service.js +0 -140
- package/node_modules/@prismalens/api/dist/src/modules/deployments/dto/create-deployment.dto.js +0 -92
- package/node_modules/@prismalens/api/dist/src/modules/deployments/dto/index.js +0 -3
- package/node_modules/@prismalens/api/dist/src/modules/deployments/dto/link-deployment.dto.js +0 -18
- package/node_modules/@prismalens/api/dist/src/modules/integrations/oauth/oauth.controller.js +0 -156
- package/node_modules/@prismalens/api/dist/src/modules/integrations/oauth/oauth.service.js +0 -240
- package/node_modules/@prismalens/api/dist/src/modules/postmortems/dto/index.js +0 -2
- package/node_modules/@prismalens/api/dist/src/modules/postmortems/postmortems.controller.js +0 -96
- package/node_modules/@prismalens/api/dist/src/modules/postmortems/postmortems.module.js +0 -20
- package/node_modules/@prismalens/api/dist/src/modules/postmortems/postmortems.service.js +0 -185
- package/node_modules/@prismalens/api/dist/src/modules/service-discovery/dto/accept-bulk-suggestions.dto.js +0 -5
- package/node_modules/@prismalens/api/dist/src/modules/service-discovery/dto/accept-suggestion.dto.js +0 -8
- package/node_modules/@prismalens/api/dist/src/modules/service-discovery/dto/index.js +0 -3
- package/node_modules/@prismalens/api/dist/src/modules/service-discovery/service-discovery.controller.js +0 -127
- package/node_modules/@prismalens/api/dist/src/modules/service-discovery/service-discovery.module.js +0 -23
- package/node_modules/@prismalens/api/dist/src/modules/service-discovery/service-discovery.service.js +0 -478
- package/node_modules/@prismalens/api/public/assets/ClientOnly--uuL8w7N.js +0 -1
- package/node_modules/@prismalens/api/public/assets/InvestigationCanvas-8hax8RNO.css +0 -1
- package/node_modules/@prismalens/api/public/assets/InvestigationCanvas-C_bAYN9b.js +0 -3
- package/node_modules/@prismalens/api/public/assets/MutationError-DofydSmV.js +0 -1
- package/node_modules/@prismalens/api/public/assets/ProviderModelSelector-CJ0qASMh.js +0 -1
- package/node_modules/@prismalens/api/public/assets/QueryClientProvider-Bnoyi3cC.js +0 -1
- package/node_modules/@prismalens/api/public/assets/ServiceFormDialog-BGAnaFD5.js +0 -1
- package/node_modules/@prismalens/api/public/assets/StatusBadge-CuxMis2U.js +0 -1
- package/node_modules/@prismalens/api/public/assets/_authenticated-DDiluGEJ.js +0 -1
- package/node_modules/@prismalens/api/public/assets/_authenticated-DG29lzFO.js +0 -1
- package/node_modules/@prismalens/api/public/assets/_id-BZgKjDSr.js +0 -1
- package/node_modules/@prismalens/api/public/assets/_id-Bp1SOsp0.js +0 -2
- package/node_modules/@prismalens/api/public/assets/_id-DfKd__19.js +0 -1
- package/node_modules/@prismalens/api/public/assets/activity-BuLacqc6.js +0 -1
- package/node_modules/@prismalens/api/public/assets/alert-CHk0q15J.js +0 -1
- package/node_modules/@prismalens/api/public/assets/alert-dialog-BA8-OT8H.js +0 -1
- package/node_modules/@prismalens/api/public/assets/alerts-I7fXI9M2.js +0 -1
- package/node_modules/@prismalens/api/public/assets/app-BakPloki.css +0 -2
- package/node_modules/@prismalens/api/public/assets/arrow-left-BEsyjQit.js +0 -1
- package/node_modules/@prismalens/api/public/assets/auth-PprCBILI.js +0 -3
- package/node_modules/@prismalens/api/public/assets/badge-DMkG1K8F.js +0 -1
- package/node_modules/@prismalens/api/public/assets/bell-CfLfMv3R.js +0 -1
- package/node_modules/@prismalens/api/public/assets/button-D2Hz_xyq.js +0 -1
- package/node_modules/@prismalens/api/public/assets/card-Cna4whU5.js +0 -1
- package/node_modules/@prismalens/api/public/assets/checkbox-BfuJ54I9.js +0 -1
- package/node_modules/@prismalens/api/public/assets/chevron-right-bRNDjfxy.js +0 -1
- package/node_modules/@prismalens/api/public/assets/circle-CH7vaplC.js +0 -1
- package/node_modules/@prismalens/api/public/assets/circle-alert-DJkh1udP.js +0 -1
- package/node_modules/@prismalens/api/public/assets/circle-check-big-CPrY1SEO.js +0 -1
- package/node_modules/@prismalens/api/public/assets/circle-x-B273d2QJ.js +0 -1
- package/node_modules/@prismalens/api/public/assets/clock-DAtaxeP6.js +0 -1
- package/node_modules/@prismalens/api/public/assets/collapsible-l-qFEiHy.js +0 -1
- package/node_modules/@prismalens/api/public/assets/colors-Be4TmXLI.js +0 -1
- package/node_modules/@prismalens/api/public/assets/configure-CQoLKSPY.js +0 -1
- package/node_modules/@prismalens/api/public/assets/data-table-CdnF2qvm.js +0 -1
- package/node_modules/@prismalens/api/public/assets/dialog-X6gzvSob.js +0 -1
- package/node_modules/@prismalens/api/public/assets/discovery-387bL0Kx.js +0 -1
- package/node_modules/@prismalens/api/public/assets/dist-BpIEu0WE.js +0 -1
- package/node_modules/@prismalens/api/public/assets/dist-Bt-jpUxe.js +0 -1
- package/node_modules/@prismalens/api/public/assets/dist-C0Nws1y1.js +0 -58
- package/node_modules/@prismalens/api/public/assets/dist-K73G-mB9.js +0 -1
- package/node_modules/@prismalens/api/public/assets/empty-state-9sIQayEY.js +0 -1
- package/node_modules/@prismalens/api/public/assets/es2015-D9TnfkKS.js +0 -41
- package/node_modules/@prismalens/api/public/assets/external-link-DA-gFnPk.js +0 -1
- package/node_modules/@prismalens/api/public/assets/eye-h_TVSVZd.js +0 -1
- package/node_modules/@prismalens/api/public/assets/file-text-C1o0mAUv.js +0 -1
- package/node_modules/@prismalens/api/public/assets/folder-git-2-BmdRnJl-.js +0 -1
- package/node_modules/@prismalens/api/public/assets/folder-search-C2Iconnw.js +0 -1
- package/node_modules/@prismalens/api/public/assets/formatDistanceToNow-DbVS63WF.js +0 -1
- package/node_modules/@prismalens/api/public/assets/get-error-message-XWlcOfOx.js +0 -1
- package/node_modules/@prismalens/api/public/assets/git-branch-Cmr0C5H4.js +0 -1
- package/node_modules/@prismalens/api/public/assets/github-icon-D4qdxz0P.js +0 -1
- package/node_modules/@prismalens/api/public/assets/hooks-HSo-Xah7.js +0 -1
- package/node_modules/@prismalens/api/public/assets/incidents-CEAmuISe.js +0 -55
- package/node_modules/@prismalens/api/public/assets/incidents-DXCoOp6i.js +0 -1
- package/node_modules/@prismalens/api/public/assets/index-C6ifHSSV.js +0 -18
- package/node_modules/@prismalens/api/public/assets/info-sj1xshTP.js +0 -1
- package/node_modules/@prismalens/api/public/assets/integration-icons-DL9MhOUq.js +0 -1
- package/node_modules/@prismalens/api/public/assets/investigation.utils-CtRyOucp.js +0 -1
- package/node_modules/@prismalens/api/public/assets/investigations-Ct7ggKUL.js +0 -1
- package/node_modules/@prismalens/api/public/assets/label-DUe0_M5w.js +0 -1
- package/node_modules/@prismalens/api/public/assets/layout-8XkK6xCm.js +0 -1
- package/node_modules/@prismalens/api/public/assets/lib-hSGK_-Di.js +0 -4
- package/node_modules/@prismalens/api/public/assets/lightbulb-DyOhvTqC.js +0 -1
- package/node_modules/@prismalens/api/public/assets/link-2-azNSustB.js +0 -1
- package/node_modules/@prismalens/api/public/assets/link-DAKk993b.js +0 -1
- package/node_modules/@prismalens/api/public/assets/list-DoJv1VuU.js +0 -1
- package/node_modules/@prismalens/api/public/assets/loader-circle-CcKe4gfe.js +0 -1
- package/node_modules/@prismalens/api/public/assets/login-DO7PNVar.js +0 -1
- package/node_modules/@prismalens/api/public/assets/matchContext-DqfdXpUw.js +0 -1
- package/node_modules/@prismalens/api/public/assets/message-square-DyJRCl0Z.js +0 -1
- package/node_modules/@prismalens/api/public/assets/play-Cl-dxWuH.js +0 -1
- package/node_modules/@prismalens/api/public/assets/preload-helper-59OHQnZM.js +0 -1
- package/node_modules/@prismalens/api/public/assets/progress-A42Syy0x.js +0 -6
- package/node_modules/@prismalens/api/public/assets/radio-group-BQfzcwy8.js +0 -1
- package/node_modules/@prismalens/api/public/assets/refresh-cw-BUJxeVPZ.js +0 -1
- package/node_modules/@prismalens/api/public/assets/rocket-CUKTT3ej.js +0 -1
- package/node_modules/@prismalens/api/public/assets/route-D-xTKyaj.js +0 -1
- package/node_modules/@prismalens/api/public/assets/rules-BSubMMLl.js +0 -1
- package/node_modules/@prismalens/api/public/assets/scroll-area-Bj44m0hK.js +0 -1
- package/node_modules/@prismalens/api/public/assets/search-jT7oUTz9.js +0 -1
- package/node_modules/@prismalens/api/public/assets/select-D7c5_kMt.js +0 -1
- package/node_modules/@prismalens/api/public/assets/server-DdoEdVKT.js +0 -1
- package/node_modules/@prismalens/api/public/assets/services-BKUnNJxS.js +0 -1
- package/node_modules/@prismalens/api/public/assets/settings-2-COWS2MJc.js +0 -1
- package/node_modules/@prismalens/api/public/assets/settings-ezMAMfEr.js +0 -1
- package/node_modules/@prismalens/api/public/assets/setup-BZXgl_6q.js +0 -1
- package/node_modules/@prismalens/api/public/assets/setup-BnKiWfqc.js +0 -1
- package/node_modules/@prismalens/api/public/assets/skeleton-uHoNuB0v.js +0 -1
- package/node_modules/@prismalens/api/public/assets/sparkles-BzLskqFE.js +0 -1
- package/node_modules/@prismalens/api/public/assets/star-B5Q6OHL-.js +0 -1
- package/node_modules/@prismalens/api/public/assets/string-Bg7bf2KD.js +0 -1
- package/node_modules/@prismalens/api/public/assets/table-BHtdhI9A.js +0 -1
- package/node_modules/@prismalens/api/public/assets/tabs-BiYYAjVK.js +0 -1
- package/node_modules/@prismalens/api/public/assets/tooltip-VBwtg-Ny.js +0 -1
- package/node_modules/@prismalens/api/public/assets/trash-2-CJHwWyOB.js +0 -1
- package/node_modules/@prismalens/api/public/assets/use-investigations-orpc-B0ibXwvk.js +0 -1
- package/node_modules/@prismalens/api/public/assets/useNavigate-CF6X-lNP.js +0 -1
- package/node_modules/@prismalens/api/public/assets/useSearch-DLSAMJMr.js +0 -1
- package/node_modules/@prismalens/api/public/assets/useStore-BGoeuanS.js +0 -1
- package/node_modules/@prismalens/api/public/assets/zap-DOu38RFi.js +0 -1
- package/node_modules/@prismalens/auth/dist/roles.js +0 -12
- package/node_modules/@prismalens/config/dist/auth-store.js +0 -65
- package/node_modules/@prismalens/config/dist/credentials.js +0 -56
- package/node_modules/@prismalens/config/dist/env/langsmith.js +0 -29
- package/node_modules/@prismalens/config/dist/env/llm.js +0 -32
- package/node_modules/@prismalens/config/dist/env/skills.js +0 -66
- package/node_modules/@prismalens/config/dist/env/worker.js +0 -15
- package/node_modules/@prismalens/config/dist/harness-auth.js +0 -92
- package/node_modules/@prismalens/config/dist/llm.js +0 -23
- package/node_modules/@prismalens/config/dist/model.js +0 -101
- package/node_modules/@prismalens/config/dist/providers/llm.js +0 -170
- package/node_modules/@prismalens/config/dist/utils/repo.js +0 -228
- package/node_modules/@prismalens/contracts/dist/contracts/alert-mapping.js +0 -102
- package/node_modules/@prismalens/contracts/dist/contracts/correlation.js +0 -89
- package/node_modules/@prismalens/contracts/dist/contracts/deployments.js +0 -109
- package/node_modules/@prismalens/contracts/dist/contracts/postmortems.js +0 -92
- package/node_modules/@prismalens/contracts/dist/contracts/service-discovery.js +0 -102
- package/node_modules/@prismalens/contracts/dist/schemas/alert-mapping.js +0 -126
- package/node_modules/@prismalens/contracts/dist/schemas/correlation.js +0 -52
- package/node_modules/@prismalens/contracts/dist/schemas/deployment.js +0 -49
- package/node_modules/@prismalens/contracts/dist/schemas/license.js +0 -29
- package/node_modules/@prismalens/contracts/dist/schemas/postmortem.js +0 -71
- package/node_modules/@prismalens/contracts/dist/schemas/service-discovery.js +0 -74
- package/node_modules/@prismalens/database/dist/prisma/generated/models/AlertMappingRule.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/CorrelationRule.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/Deployment.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/Invitation.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/LicenseInfo.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/Member.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/OAuthState.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/Organization.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/Postmortem.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/generated/models/ServiceSuggestion.js +0 -2
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/20260803122809_init/migration.sql +0 -1058
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/20260811182203_drop_agent_tool_executions/migration.sql +0 -23
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/20260812180006_alert_dedup_key_not_unique/migration.sql +0 -5
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/20260822161331_alert_external_id_not_unique/migration.sql +0 -5
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/20260823073903_account_issuer/migration.sql +0 -14
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/20260826180000_account_issuer_account_id_unique/migration.sql +0 -22
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/app.prisma +0 -981
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/auth.prisma +0 -159
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/integrations.prisma +0 -187
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/main.prisma +0 -17
- package/node_modules/@prismalens/database/dist/prisma/pg/schema/migration_lock.toml +0 -3
- package/node_modules/@prismalens/database/dist/prisma/seed.js +0 -24
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/20260811182203_drop_agent_tool_executions/migration.sql +0 -16
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/20260812180006_alert_dedup_key_not_unique/migration.sql +0 -5
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/20260822161331_alert_external_id_not_unique/migration.sql +0 -5
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/20260823073903_account_issuer/migration.sql +0 -32
- package/node_modules/@prismalens/database/dist/prisma/sqlite/schema/20260826180000_account_issuer_account_id_unique/migration.sql +0 -2
- package/node_modules/@prismalens/engine/dist/adapter/claude-code-adapter.js +0 -195
- package/node_modules/@prismalens/engine/dist/config/resolve.js +0 -212
- package/node_modules/@prismalens/engine/dist/runner/acp-run-branch.js +0 -46
- package/node_modules/@prismalens/engine/dist/runner/claude-code-runner.js +0 -147
- package/node_modules/@prismalens/engine/dist/runner/claude-code-sandbox-spawn.js +0 -61
- package/node_modules/@prismalens/engine/dist/supervisor/alert-source.js +0 -47
- package/node_modules/@prismalens/engine/dist/supervisor/conductor.js +0 -88
- package/node_modules/@prismalens/engine/dist/supervisor/decompose.js +0 -364
- package/node_modules/@prismalens/engine/dist/supervisor/fan-out.js +0 -164
- package/node_modules/@prismalens/engine/dist/supervisor/investigate.js +0 -405
- package/node_modules/@prismalens/engine/dist/supervisor/synthesize.js +0 -486
- package/node_modules/@prismalens/engine/dist/tools/provisioning.js +0 -13
- package/node_modules/@prismalens/engine/dist/tools/types.js +0 -4
- package/node_modules/@prismalens/integrations/dist/providers/vercel/index.js +0 -4
- package/node_modules/@prismalens/integrations/dist/providers/vercel/vercel.adapter.js +0 -109
- package/node_modules/@prismalens/integrations/dist/templates/prometheus.js +0 -62
- package/node_modules/@prismalens/integrations/dist/templates/slack.js +0 -110
- package/node_modules/@prismalens/integrations/dist/templates/vercel.js +0 -47
- package/node_modules/@prismalens/logger/dist/core/formatter.js +0 -128
- package/node_modules/@prismalens/logger/dist/core/index.js +0 -7
- package/node_modules/@prismalens/logger/dist/core/sampler.js +0 -134
- package/node_modules/@prismalens/logger/dist/integrations/nestjs/logger.module.js +0 -140
- package/node_modules/@prismalens/logger/dist/integrations/nestjs/logger.service.js +0 -181
- package/node_modules/@prismalens/logger/dist/integrations/nestjs/request.interceptor.js +0 -209
- package/node_modules/@prismalens/logger/dist/integrations/standalone/create-logger.js +0 -105
- package/node_modules/@prismalens/logger/dist/transports/console.transport.js +0 -24
- package/node_modules/@prismalens/logger/dist/transports/file.transport.js +0 -147
- package/node_modules/@prismalens/logger/dist/transports/index.js +0 -6
- package/node_modules/@prismalens/logger/dist/transports/transport.js +0 -4
- package/node_modules/@prismalens/logger/dist/types/index.js +0 -6
- package/node_modules/@prismalens/logger/dist/types/log-entry.js +0 -4
- package/node_modules/@prismalens/logger/dist/types/sampling.js +0 -4
- package/node_modules/@prismalens/logger/dist/types/wide-event.js +0 -4
- package/node_modules/@prismalens/logger/dist/utils/id-generator.js +0 -27
- package/node_modules/@prismalens/logger/dist/utils/index.js +0 -6
- package/node_modules/@prismalens/logger/dist/utils/redaction.js +0 -186
- package/node_modules/@prismalens/logger/dist/utils/truncation.js +0 -106
- package/node_modules/@prismalens/worker/dist/config.js +0 -5
- package/node_modules/@prismalens/worker/dist/db-investigation-store.js +0 -233
- package/node_modules/@prismalens/worker/dist/index.js +0 -162
- package/node_modules/@prismalens/worker/dist/internal-url.js +0 -20
- package/node_modules/@prismalens/worker/dist/orpc-client.js +0 -20
- package/node_modules/@prismalens/worker/dist/processor.js +0 -743
- package/node_modules/@prismalens/worker/dist/protocol.js +0 -13
- package/node_modules/@prismalens/worker/dist/types.js +0 -3
- package/node_modules/@prismalens/worker/package.json +0 -23
- /package/node_modules/@prismalens/api/dist/src/{infrastructure/internal → modules/investigations}/dto/investigation-result.dto.js +0 -0
- /package/node_modules/@prismalens/api/dist/src/{infrastructure/internal → modules/investigations}/dto/recommendation.dto.js +0 -0
- /package/node_modules/@prismalens/api/dist/src/{infrastructure/internal → modules/investigations}/dto/update-investigation-status.dto.js +0 -0
package/README.md
CHANGED
|
@@ -12,12 +12,11 @@ npm install -g prismalens
|
|
|
12
12
|
|
|
13
13
|
## Quick start
|
|
14
14
|
|
|
15
|
-
Check the environment, then start the web interface
|
|
15
|
+
Check the environment, then start the web interface:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
prismalens doctor
|
|
19
19
|
pl up
|
|
20
|
-
pl investigate --repo . --query "checkout latency spike after 14:00 UTC"
|
|
21
20
|
```
|
|
22
21
|
|
|
23
22
|
## Commands
|
|
@@ -25,14 +24,7 @@ pl investigate --repo . --query "checkout latency spike after 14:00 UTC"
|
|
|
25
24
|
| Command | Description |
|
|
26
25
|
| --- | --- |
|
|
27
26
|
| `up` | Run PrismaLens as a single process serving the API and web dashboard. |
|
|
28
|
-
| `
|
|
29
|
-
| `listen` | Start a local HTTP webhook receiver for incoming Alertmanager alerts. |
|
|
30
|
-
| `serve` | Run the JSON-RPC server over stdio for desktop and API integrations. |
|
|
31
|
-
| `doctor` | Preflight-check the environment for harness binaries and credentials. |
|
|
32
|
-
| `init` | Scaffold a default configuration file in the current directory. |
|
|
33
|
-
| `status` | List recent investigation runs and their execution states. |
|
|
34
|
-
| `report` | Display the stored investigation report for a specific run ID. |
|
|
35
|
-
| `auth` | Manage stored credentials for model providers. |
|
|
27
|
+
| `doctor` | Preflight-check the environment: a harness binary on PATH, and its ACP handshake (answers ACP, sign in needed, no answer in 10s, or failed to start). |
|
|
36
28
|
|
|
37
29
|
## Documentation
|
|
38
30
|
|
package/dist/bin/prismalens.js
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
cliVersion
|
|
4
|
-
} from "../chunk-HPE5CTO4.js";
|
|
5
2
|
|
|
6
3
|
// bin/prismalens.ts
|
|
7
4
|
import { defineCommand, runMain, showUsage } from "citty";
|
|
8
5
|
import consola from "consola";
|
|
6
|
+
|
|
7
|
+
// src/version.ts
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { dirname, join } from "node:path";
|
|
10
|
+
import { fileURLToPath } from "node:url";
|
|
11
|
+
function cliVersion() {
|
|
12
|
+
let dir = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
for (let i = 0; i < 4; i++) {
|
|
14
|
+
try {
|
|
15
|
+
const pkg = JSON.parse(
|
|
16
|
+
readFileSync(join(dir, "package.json"), "utf8")
|
|
17
|
+
);
|
|
18
|
+
if (pkg.name === "prismalens" && pkg.version) return pkg.version;
|
|
19
|
+
} catch {
|
|
20
|
+
}
|
|
21
|
+
dir = dirname(dir);
|
|
22
|
+
}
|
|
23
|
+
return "0.0.0";
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// bin/prismalens.ts
|
|
9
27
|
globalThis.AI_SDK_LOG_WARNINGS = false;
|
|
10
28
|
var originalEmit = process.emit;
|
|
11
29
|
process.emit = ((name, ...args) => {
|
|
@@ -22,18 +40,11 @@ var main = defineCommand({
|
|
|
22
40
|
meta: {
|
|
23
41
|
name: "prismalens",
|
|
24
42
|
version: cliVersion(),
|
|
25
|
-
description: "
|
|
43
|
+
description: "Run and check a PrismaLens install"
|
|
26
44
|
},
|
|
27
45
|
subCommands: {
|
|
28
46
|
up: lazy("up"),
|
|
29
|
-
|
|
30
|
-
listen: lazy("listen"),
|
|
31
|
-
serve: lazy("serve"),
|
|
32
|
-
doctor: lazy("doctor"),
|
|
33
|
-
init: lazy("init"),
|
|
34
|
-
status: lazy("status"),
|
|
35
|
-
report: lazy("report"),
|
|
36
|
-
auth: lazy("auth")
|
|
47
|
+
doctor: lazy("doctor")
|
|
37
48
|
}
|
|
38
49
|
});
|
|
39
50
|
runMain(main, {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// src/cli/up-console.ts
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
var DEFAULT_LOG_DIR = "logs";
|
|
4
|
+
function resolveConsoleMode(env, verboseFlag) {
|
|
5
|
+
if (verboseFlag) return "verbose";
|
|
6
|
+
return env.PRISMALENS_LOG_CONSOLE === "verbose" ? "verbose" : "quiet";
|
|
7
|
+
}
|
|
8
|
+
function resolveLogDir(env, workspaceDir) {
|
|
9
|
+
return env.PRISMALENS_LOG_FILE_LOCATION || join(workspaceDir, DEFAULT_LOG_DIR);
|
|
10
|
+
}
|
|
11
|
+
function resolveBind(env) {
|
|
12
|
+
const port = Number(env.PRISMALENS_PORT) || 3001;
|
|
13
|
+
const host = env.PRISMALENS_HOST || "127.0.0.1";
|
|
14
|
+
const protocol = env.PRISMALENS_PROTOCOL === "https" ? "https" : "http";
|
|
15
|
+
return { host, port, protocol };
|
|
16
|
+
}
|
|
17
|
+
var isWildcard = (host) => host === "0.0.0.0" || host === "::";
|
|
18
|
+
var urlHost = (host) => host.includes(":") ? `[${host}]` : host;
|
|
19
|
+
function displayUrl(bind) {
|
|
20
|
+
const shown = isWildcard(bind.host) || bind.host === "127.0.0.1" ? "localhost" : urlHost(bind.host);
|
|
21
|
+
return `${bind.protocol}://${shown}:${bind.port}`;
|
|
22
|
+
}
|
|
23
|
+
function healthUrl(bind) {
|
|
24
|
+
const host = isWildcard(bind.host) ? "127.0.0.1" : urlHost(bind.host);
|
|
25
|
+
return `${bind.protocol}://${host}:${bind.port}/health`;
|
|
26
|
+
}
|
|
27
|
+
async function waitForReady(healthUrl2, opts = {}) {
|
|
28
|
+
const timeoutMs = opts.timeoutMs ?? 6e4;
|
|
29
|
+
const intervalMs = opts.intervalMs ?? 250;
|
|
30
|
+
const fetchImpl = opts.fetchImpl ?? fetch;
|
|
31
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
32
|
+
const deadline = Date.now() + timeoutMs;
|
|
33
|
+
while (Date.now() < deadline) {
|
|
34
|
+
try {
|
|
35
|
+
const res = await fetchImpl(healthUrl2, {
|
|
36
|
+
signal: AbortSignal.timeout(intervalMs * 4)
|
|
37
|
+
});
|
|
38
|
+
if (res.status === 200) return true;
|
|
39
|
+
} catch {
|
|
40
|
+
}
|
|
41
|
+
await sleep(intervalMs);
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export {
|
|
47
|
+
resolveConsoleMode,
|
|
48
|
+
resolveLogDir,
|
|
49
|
+
resolveBind,
|
|
50
|
+
displayUrl,
|
|
51
|
+
healthUrl,
|
|
52
|
+
waitForReady
|
|
53
|
+
};
|
package/dist/src/cli/doctor.js
CHANGED
|
@@ -1,160 +1,203 @@
|
|
|
1
|
-
import {
|
|
2
|
-
loadConfig
|
|
3
|
-
} from "../../chunk-VI32U36Y.js";
|
|
4
|
-
import {
|
|
5
|
-
resolveBaseDir
|
|
6
|
-
} from "../../chunk-TSW5RW5B.js";
|
|
7
|
-
import "../../chunk-5STPIUCJ.js";
|
|
8
1
|
import {
|
|
9
2
|
assertKnownFlags
|
|
10
3
|
} from "../../chunk-PTBCAI34.js";
|
|
11
4
|
|
|
12
5
|
// src/cli/doctor.ts
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
import { existsSync } from "node:fs";
|
|
7
|
+
import { delimiter, join } from "node:path";
|
|
8
|
+
import {
|
|
9
|
+
ensureAppDataDir,
|
|
10
|
+
getAppDataDir,
|
|
11
|
+
secretFileName
|
|
12
|
+
} from "@prismalens/config";
|
|
13
|
+
import {
|
|
14
|
+
HARNESS_REGISTRY,
|
|
15
|
+
resolveHarnessModel
|
|
16
|
+
} from "@prismalens/config/harness";
|
|
18
17
|
import {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
installHints,
|
|
19
|
+
isOnPath,
|
|
20
|
+
resolveHarnessSelection,
|
|
21
|
+
resolveOnPath
|
|
22
|
+
} from "@prismalens/config/harness-selection";
|
|
23
|
+
import { isSrtAvailable, probeHarness } from "@prismalens/engine";
|
|
23
24
|
import { defineCommand } from "citty";
|
|
24
25
|
import consola from "consola";
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
const
|
|
26
|
+
var MIN_NODE_MAJOR = 22;
|
|
27
|
+
var MIN_NODE_MINOR = 13;
|
|
28
|
+
function checkNodeVersion() {
|
|
29
|
+
const [major, minor] = process.versions.node.split(".").map(Number);
|
|
30
|
+
const pass = major > MIN_NODE_MAJOR || major === MIN_NODE_MAJOR && minor >= MIN_NODE_MINOR;
|
|
30
31
|
return {
|
|
31
|
-
name: "
|
|
32
|
+
name: "Node version",
|
|
32
33
|
pass,
|
|
33
|
-
detail: pass ? `${
|
|
34
|
+
detail: pass ? `${process.versions.node} (>= ${MIN_NODE_MAJOR}.${MIN_NODE_MINOR} required)` : `${process.versions.node} \u2014 prismalens requires Node >= ${MIN_NODE_MAJOR}.${MIN_NODE_MINOR}`,
|
|
34
35
|
hard: true
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (providerId) {
|
|
41
|
-
creds = resolveCredentials(providerId, config.synth.base_url);
|
|
42
|
-
} else {
|
|
43
|
-
for (const id of AUTO_SELECT_PROVIDER_IDS) {
|
|
44
|
-
const candidate = resolveCredentials(id, config.synth.base_url);
|
|
45
|
-
if (candidate.source !== "none") {
|
|
46
|
-
providerId = id;
|
|
47
|
-
creds = candidate;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (!creds) {
|
|
52
|
-
creds = { providerId: "ollama", source: "none" };
|
|
53
|
-
providerId = "ollama";
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (creds.source === "none") {
|
|
57
|
-
return {
|
|
58
|
-
name: "LLM credential",
|
|
59
|
-
pass: false,
|
|
60
|
-
detail: "none (reports will be RAW harness pass-through) \u2014 not verified",
|
|
61
|
-
hard: false
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
const providerName = LLM_PROVIDERS[providerId].name;
|
|
65
|
-
if (noPing) {
|
|
66
|
-
return {
|
|
67
|
-
name: "LLM credential",
|
|
68
|
-
pass: true,
|
|
69
|
-
detail: `${providerName} (source: ${creds.source}) \u2014 ping skipped`,
|
|
70
|
-
hard: false
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
const ping = await pingModel(
|
|
74
|
-
providerId,
|
|
75
|
-
config.synth.model,
|
|
76
|
-
{
|
|
77
|
-
apiKey: creds.apiKey,
|
|
78
|
-
baseURL: creds.baseURL
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
if (ping.success) {
|
|
38
|
+
function checkAppDataDir() {
|
|
39
|
+
try {
|
|
40
|
+
const dir = ensureAppDataDir();
|
|
82
41
|
return {
|
|
83
|
-
name: "
|
|
42
|
+
name: "Workspace",
|
|
84
43
|
pass: true,
|
|
85
|
-
detail:
|
|
86
|
-
hard:
|
|
44
|
+
detail: dir,
|
|
45
|
+
hard: true
|
|
87
46
|
};
|
|
88
|
-
}
|
|
47
|
+
} catch (err) {
|
|
89
48
|
return {
|
|
90
|
-
name: "
|
|
49
|
+
name: "Workspace",
|
|
91
50
|
pass: false,
|
|
92
|
-
detail: `${
|
|
51
|
+
detail: `${getAppDataDir()} \u2014 ${err instanceof Error ? err.message : String(err)}`,
|
|
93
52
|
hard: true
|
|
94
53
|
};
|
|
95
54
|
}
|
|
96
55
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
await mkdir(baseDir, { recursive: true });
|
|
101
|
-
await access(baseDir, fsConstants.W_OK);
|
|
56
|
+
function checkHarnessesOnPath() {
|
|
57
|
+
return Object.values(HARNESS_REGISTRY).map((descriptor) => {
|
|
58
|
+
const resolved = resolveOnPath(descriptor.binary);
|
|
102
59
|
return {
|
|
103
|
-
name:
|
|
104
|
-
pass:
|
|
105
|
-
detail: `${
|
|
60
|
+
name: `Harness: ${descriptor.label}`,
|
|
61
|
+
pass: resolved !== null,
|
|
62
|
+
detail: resolved ? `${descriptor.binary} found at ${resolved}` : `${descriptor.binary} not found on PATH`,
|
|
106
63
|
hard: false
|
|
107
64
|
};
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function checkPath() {
|
|
68
|
+
const entries = (process.env.PATH ?? "").split(delimiter).filter(Boolean);
|
|
69
|
+
const head = entries.slice(0, 3).join(", ");
|
|
70
|
+
return {
|
|
71
|
+
name: "PATH",
|
|
72
|
+
pass: entries.length > 0,
|
|
73
|
+
detail: entries.length === 0 ? "empty" : `${entries.length} entries, starting ${head}${entries.length > 3 ? ", \u2026" : ""}`,
|
|
74
|
+
hard: false
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function checkAnyHarnessOnPath(perHarness) {
|
|
78
|
+
const pass = perHarness.some((c) => c.pass);
|
|
79
|
+
return {
|
|
80
|
+
name: "Harness available",
|
|
81
|
+
pass,
|
|
82
|
+
detail: pass ? "at least one harness is installed" : `no harness found on PATH. Install one: ${installHints()}`,
|
|
83
|
+
hard: true
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
async function checkHarnessHandshake() {
|
|
87
|
+
const installed = Object.values(HARNESS_REGISTRY).filter((descriptor) => isOnPath(descriptor.binary));
|
|
88
|
+
const results = [];
|
|
89
|
+
for (const descriptor of installed) {
|
|
90
|
+
const probe = await probeHarness(descriptor.id);
|
|
91
|
+
results.push({
|
|
92
|
+
name: `Harness ACP handshake: ${descriptor.label}`,
|
|
93
|
+
pass: probe.outcome === "answers-acp",
|
|
94
|
+
detail: probe.detail,
|
|
113
95
|
hard: false
|
|
114
|
-
};
|
|
96
|
+
});
|
|
115
97
|
}
|
|
98
|
+
return results;
|
|
116
99
|
}
|
|
117
|
-
function
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
100
|
+
function checkAutoSelection() {
|
|
101
|
+
const envHarness = process.env.PRISMALENS_HARNESS;
|
|
102
|
+
const selection = resolveHarnessSelection({ envHarness, pinSource: "env" });
|
|
103
|
+
if (!selection.runnable) {
|
|
104
|
+
return [
|
|
105
|
+
{
|
|
106
|
+
name: "Selected harness",
|
|
107
|
+
pass: false,
|
|
108
|
+
detail: selection.reason,
|
|
109
|
+
hard: false
|
|
110
|
+
}
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
const model = resolveHarnessModel(selection.harness);
|
|
114
|
+
return [
|
|
115
|
+
{
|
|
116
|
+
name: "Selected harness",
|
|
121
117
|
pass: true,
|
|
122
|
-
detail:
|
|
118
|
+
detail: `${selection.harness}${selection.auto ? " (auto; a harness saved under Settings \u2192 Harness wins)" : " (pinned by PRISMALENS_HARNESS)"}${selection.verified ? "" : ", not yet verified"}`,
|
|
123
119
|
hard: false
|
|
124
|
-
}
|
|
125
|
-
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "Model",
|
|
123
|
+
pass: model.source === "product-default",
|
|
124
|
+
detail: model.source === "product-default" ? `${model.model} (verified default; Settings \u2192 Harness \u2192 Model overrides it)` : `${selection.harness} has no verified default, so the harness picks its own model unless Settings \u2192 Harness \u2192 Model sets one`,
|
|
125
|
+
hard: false
|
|
126
|
+
}
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
function checkSandbox() {
|
|
130
|
+
const srt = isSrtAvailable();
|
|
131
|
+
return {
|
|
132
|
+
name: "Sandbox",
|
|
133
|
+
pass: srt,
|
|
134
|
+
detail: srt ? "srt found; runs get an enforced filesystem and egress boundary" : "srt not found; runs use the cooperative process floor, which does not stop a read outside the snapshot. Install @anthropic-ai/sandbox-runtime for an enforced boundary (docs.prismalens.io/cli/sandboxing/)",
|
|
135
|
+
hard: false
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function checkWebhookToken() {
|
|
139
|
+
const filePath = join(
|
|
140
|
+
getAppDataDir(),
|
|
141
|
+
secretFileName("PRISMALENS_WEBHOOK_SECRET")
|
|
142
|
+
);
|
|
143
|
+
const exists = existsSync(filePath);
|
|
144
|
+
return {
|
|
145
|
+
name: "Webhook token",
|
|
146
|
+
pass: exists,
|
|
147
|
+
detail: `${filePath} (${exists ? "exists" : "does not exist yet"})`,
|
|
148
|
+
hard: false
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
function checkPortHost() {
|
|
152
|
+
const port = process.env.PRISMALENS_PORT ?? "3001";
|
|
153
|
+
const host = process.env.PRISMALENS_HOST ?? "127.0.0.1";
|
|
126
154
|
return {
|
|
127
|
-
name: "
|
|
128
|
-
pass:
|
|
129
|
-
detail:
|
|
155
|
+
name: "Port/host",
|
|
156
|
+
pass: true,
|
|
157
|
+
detail: `${host}:${port}`,
|
|
130
158
|
hard: false
|
|
131
159
|
};
|
|
132
160
|
}
|
|
133
161
|
var doctor_default = defineCommand({
|
|
134
162
|
meta: {
|
|
135
163
|
name: "doctor",
|
|
136
|
-
description: "Preflight check the
|
|
164
|
+
description: "Preflight check the `pl up` environment"
|
|
137
165
|
},
|
|
138
166
|
args: {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
167
|
+
port: {
|
|
168
|
+
type: "string",
|
|
169
|
+
description: "Port `pl up` will listen on (default 3001, or PRISMALENS_PORT)"
|
|
170
|
+
},
|
|
171
|
+
host: {
|
|
172
|
+
type: "string",
|
|
173
|
+
description: "Host `pl up` will bind (default localhost, or PRISMALENS_HOST)"
|
|
174
|
+
},
|
|
175
|
+
workspace: {
|
|
176
|
+
type: "string",
|
|
177
|
+
description: "Data directory `pl up` will use (default ~/.prismalens, or PRISMALENS_WORKSPACE_DIR)"
|
|
145
178
|
}
|
|
146
179
|
},
|
|
147
180
|
async run({ args, cmd }) {
|
|
148
181
|
try {
|
|
149
182
|
assertKnownFlags(args, cmd);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
183
|
+
if (args.port) process.env.PRISMALENS_PORT = String(args.port);
|
|
184
|
+
if (args.host) process.env.PRISMALENS_HOST = String(args.host);
|
|
185
|
+
if (args.workspace) {
|
|
186
|
+
process.env.PRISMALENS_WORKSPACE_DIR = String(args.workspace);
|
|
187
|
+
}
|
|
188
|
+
const harnessChecks = checkHarnessesOnPath();
|
|
189
|
+
const handshakeChecks = await checkHarnessHandshake();
|
|
153
190
|
const checks = [
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
191
|
+
checkNodeVersion(),
|
|
192
|
+
checkAppDataDir(),
|
|
193
|
+
checkPath(),
|
|
194
|
+
...harnessChecks,
|
|
195
|
+
checkAnyHarnessOnPath(harnessChecks),
|
|
196
|
+
...handshakeChecks,
|
|
197
|
+
...checkAutoSelection(),
|
|
198
|
+
checkSandbox(),
|
|
199
|
+
checkWebhookToken(),
|
|
200
|
+
checkPortHost()
|
|
158
201
|
];
|
|
159
202
|
consola.log("");
|
|
160
203
|
for (const check of checks) {
|
|
@@ -166,8 +209,11 @@ var doctor_default = defineCommand({
|
|
|
166
209
|
consola.log("");
|
|
167
210
|
const hardFailures = checks.filter((c) => c.hard && !c.pass);
|
|
168
211
|
if (hardFailures.length > 0) {
|
|
212
|
+
const onlyHarness = hardFailures.every(
|
|
213
|
+
(c) => c.name === "Harness available"
|
|
214
|
+
);
|
|
169
215
|
consola.error(
|
|
170
|
-
`${hardFailures.length} required check(s) failed
|
|
216
|
+
onlyHarness ? "No harness on PATH. `pl up` still starts, but Investigate stays disabled until one is installed." : `${hardFailures.length} required check(s) failed. Fix the above before running \`pl up\`.`
|
|
171
217
|
);
|
|
172
218
|
process.exit(1);
|
|
173
219
|
}
|
|
@@ -179,7 +225,11 @@ var doctor_default = defineCommand({
|
|
|
179
225
|
}
|
|
180
226
|
});
|
|
181
227
|
export {
|
|
182
|
-
|
|
183
|
-
|
|
228
|
+
checkAnyHarnessOnPath,
|
|
229
|
+
checkAutoSelection,
|
|
230
|
+
checkHarnessHandshake,
|
|
231
|
+
checkHarnessesOnPath,
|
|
232
|
+
checkSandbox,
|
|
233
|
+
checkWebhookToken,
|
|
184
234
|
doctor_default as default
|
|
185
235
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
displayUrl,
|
|
3
|
+
healthUrl,
|
|
4
|
+
resolveBind,
|
|
5
|
+
resolveConsoleMode,
|
|
6
|
+
resolveLogDir,
|
|
7
|
+
waitForReady
|
|
8
|
+
} from "../../chunk-HKIFAYVZ.js";
|
|
9
|
+
export {
|
|
10
|
+
displayUrl,
|
|
11
|
+
healthUrl,
|
|
12
|
+
resolveBind,
|
|
13
|
+
resolveConsoleMode,
|
|
14
|
+
resolveLogDir,
|
|
15
|
+
waitForReady
|
|
16
|
+
};
|
package/dist/src/cli/up.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
displayUrl,
|
|
3
|
+
healthUrl,
|
|
4
|
+
resolveBind,
|
|
5
|
+
resolveConsoleMode,
|
|
6
|
+
resolveLogDir,
|
|
7
|
+
waitForReady
|
|
8
|
+
} from "../../chunk-HKIFAYVZ.js";
|
|
9
|
+
|
|
1
10
|
// src/cli/up.ts
|
|
2
11
|
import { existsSync, mkdirSync } from "node:fs";
|
|
3
12
|
import { createRequire } from "node:module";
|
|
@@ -6,6 +15,7 @@ import { pathToFileURL } from "node:url";
|
|
|
6
15
|
import { defineCommand } from "citty";
|
|
7
16
|
import consola from "consola";
|
|
8
17
|
var require2 = createRequire(import.meta.url);
|
|
18
|
+
var READY_TIMEOUT_MS = 6e4;
|
|
9
19
|
function resolvePackagedApi() {
|
|
10
20
|
let manifestPath;
|
|
11
21
|
try {
|
|
@@ -48,24 +58,53 @@ var up_default = defineCommand({
|
|
|
48
58
|
},
|
|
49
59
|
workspace: {
|
|
50
60
|
type: "string",
|
|
51
|
-
description: "Data directory for the database and
|
|
61
|
+
description: "Data directory for the database, secrets and logs (default ~/.prismalens, or PRISMALENS_WORKSPACE_DIR)"
|
|
62
|
+
},
|
|
63
|
+
verbose: {
|
|
64
|
+
type: "boolean",
|
|
65
|
+
description: "Stream every log record to the terminal as well as the log file (default: warnings and errors only)"
|
|
52
66
|
}
|
|
53
67
|
},
|
|
54
68
|
async run({ args }) {
|
|
55
69
|
const app = resolvePackagedApi();
|
|
70
|
+
process.env.NODE_ENV = "production";
|
|
56
71
|
if (args.port) process.env.PRISMALENS_PORT = String(args.port);
|
|
57
72
|
if (args.host) process.env.PRISMALENS_HOST = String(args.host);
|
|
58
73
|
if (args.workspace) {
|
|
59
74
|
process.env.PRISMALENS_WORKSPACE_DIR = String(args.workspace);
|
|
60
75
|
}
|
|
61
76
|
process.env.PRISMALENS_STATIC_DIR = app.staticDir;
|
|
77
|
+
process.env.PRISMALENS_LOG_CONSOLE = resolveConsoleMode(
|
|
78
|
+
process.env,
|
|
79
|
+
Boolean(args.verbose)
|
|
80
|
+
);
|
|
62
81
|
const { getAppDataDir, ensureAppDataDir } = await import("@prismalens/config");
|
|
63
82
|
ensureAppDataDir();
|
|
64
83
|
const workspaceDir = getAppDataDir();
|
|
65
84
|
mkdirSync(workspaceDir, { recursive: true });
|
|
85
|
+
const logDir = resolveLogDir(process.env, workspaceDir);
|
|
86
|
+
const bind = resolveBind(process.env);
|
|
87
|
+
const url = displayUrl(bind);
|
|
66
88
|
consola.info(`Workspace: ${workspaceDir}`);
|
|
67
|
-
consola.info(`
|
|
89
|
+
consola.info(`Logs: ${logDir}`);
|
|
90
|
+
if (process.env.PRISMALENS_LOG_CONSOLE === "verbose") {
|
|
91
|
+
consola.info(`Dashboard: ${app.staticDir}`);
|
|
92
|
+
}
|
|
68
93
|
await import(pathToFileURL(app.main).href);
|
|
94
|
+
if (bind.protocol === "https") {
|
|
95
|
+
consola.info(`Starting at ${url}`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const ready = await waitForReady(healthUrl(bind), {
|
|
99
|
+
timeoutMs: READY_TIMEOUT_MS
|
|
100
|
+
});
|
|
101
|
+
if (ready) {
|
|
102
|
+
consola.success(`PrismaLens is ready at ${url}`);
|
|
103
|
+
} else {
|
|
104
|
+
consola.warn(
|
|
105
|
+
`Not listening after ${READY_TIMEOUT_MS / 1e3}s. Still starting, or stuck: see ${logDir}`
|
|
106
|
+
);
|
|
107
|
+
}
|
|
69
108
|
}
|
|
70
109
|
});
|
|
71
110
|
export {
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import { Controller, Get } from "@nestjs/common";
|
|
11
11
|
import { ConfigService } from "@nestjs/config";
|
|
12
12
|
import { Public } from "./core/auth/public.decorator.js";
|
|
13
|
+
import { resolveServiceVersion } from "./shared/utils/service-version.js";
|
|
13
14
|
let AppController = class AppController {
|
|
14
15
|
_configService;
|
|
15
16
|
constructor(_configService) {
|
|
@@ -18,7 +19,7 @@ let AppController = class AppController {
|
|
|
18
19
|
root() {
|
|
19
20
|
return {
|
|
20
21
|
name: "PrismaLens API",
|
|
21
|
-
version:
|
|
22
|
+
version: resolveServiceVersion(),
|
|
22
23
|
edition: "COMMUNITY",
|
|
23
24
|
docs: "/api",
|
|
24
25
|
};
|
|
@@ -39,31 +39,25 @@ function staticModule() {
|
|
|
39
39
|
];
|
|
40
40
|
}
|
|
41
41
|
import { AuthGuard, AuthModule } from "./core/auth/index.js";
|
|
42
|
-
import { LicenseModule } from "./core/license/license.module.js";
|
|
43
42
|
import { PrismaModule } from "./core/prisma/prisma.module.js";
|
|
44
43
|
import { SettingsModule } from "./core/settings/settings.module.js";
|
|
45
44
|
import { SetupModule } from "./core/setup/setup.module.js";
|
|
46
45
|
import { UsersModule } from "./core/users/users.module.js";
|
|
47
|
-
import { DevSeedModule } from "./infrastructure/dev-seed/dev-seed.module.js";
|
|
48
46
|
import { DispatchModule } from "./infrastructure/dispatch/dispatch.module.js";
|
|
49
47
|
import { HealthModule } from "./infrastructure/health/health.module.js";
|
|
50
|
-
import { InternalModule } from "./infrastructure/internal/internal.module.js";
|
|
51
48
|
import { AlertMappingModule } from "./modules/alert-mapping/alert-mapping.module.js";
|
|
52
49
|
import { AlertsModule } from "./modules/alerts/alerts.module.js";
|
|
53
|
-
import { CorrelationModule } from "./modules/correlation/correlation.module.js";
|
|
54
|
-
import { DeploymentsModule } from "./modules/deployments/deployments.module.js";
|
|
55
50
|
import { EventsModule } from "./modules/events/events.module.js";
|
|
56
51
|
import { IncidentsModule } from "./modules/incidents/incidents.module.js";
|
|
57
52
|
import { IntegrationsModule } from "./modules/integrations/integrations.module.js";
|
|
58
53
|
import { InvestigationsModule } from "./modules/investigations/investigations.module.js";
|
|
59
54
|
import { OpenAPIModule } from "./modules/openapi/openapi.module.js";
|
|
60
|
-
import { PostmortemsModule } from "./modules/postmortems/postmortems.module.js";
|
|
61
55
|
import { RecommendationsModule } from "./modules/recommendations/recommendations.module.js";
|
|
62
56
|
import { RepositoriesModule } from "./modules/repositories/repositories.module.js";
|
|
63
|
-
import { ServiceDiscoveryModule } from "./modules/service-discovery/service-discovery.module.js";
|
|
64
57
|
import { ServicesModule } from "./modules/services/services.module.js";
|
|
65
58
|
import { TimelineModule } from "./modules/timeline/timeline.module.js";
|
|
66
59
|
import { WebhooksModule } from "./modules/webhooks/webhooks.module.js";
|
|
60
|
+
import { resolveServiceVersion } from "./shared/utils/service-version.js";
|
|
67
61
|
const orpcLogger = new Logger({ context: "oRPC" });
|
|
68
62
|
let AppModule = class AppModule {
|
|
69
63
|
configure(consumer) {
|
|
@@ -83,7 +77,7 @@ AppModule = __decorate([
|
|
|
83
77
|
LoggerModule.forRoot({
|
|
84
78
|
service: {
|
|
85
79
|
name: "prismalens-api",
|
|
86
|
-
version:
|
|
80
|
+
version: resolveServiceVersion(),
|
|
87
81
|
environment: process.env.NODE_ENV ?? "development",
|
|
88
82
|
},
|
|
89
83
|
}),
|
|
@@ -125,27 +119,20 @@ AppModule = __decorate([
|
|
|
125
119
|
UsersModule,
|
|
126
120
|
SetupModule,
|
|
127
121
|
SettingsModule,
|
|
128
|
-
LicenseModule,
|
|
129
122
|
HealthModule,
|
|
130
123
|
DispatchModule,
|
|
131
|
-
InternalModule,
|
|
132
|
-
DevSeedModule,
|
|
133
124
|
...staticModule(),
|
|
134
125
|
EventsModule,
|
|
135
126
|
ServicesModule,
|
|
136
127
|
RepositoriesModule,
|
|
137
|
-
DeploymentsModule,
|
|
138
128
|
AlertsModule,
|
|
139
129
|
AlertMappingModule,
|
|
140
|
-
CorrelationModule,
|
|
141
130
|
IncidentsModule,
|
|
142
131
|
InvestigationsModule,
|
|
143
132
|
TimelineModule,
|
|
144
|
-
PostmortemsModule,
|
|
145
133
|
WebhooksModule,
|
|
146
134
|
RecommendationsModule,
|
|
147
135
|
IntegrationsModule,
|
|
148
|
-
ServiceDiscoveryModule,
|
|
149
136
|
OpenAPIModule,
|
|
150
137
|
],
|
|
151
138
|
controllers: [AppController],
|
|
@@ -33,10 +33,7 @@ let AuthGuard = class AuthGuard {
|
|
|
33
33
|
if (!session?.user) {
|
|
34
34
|
throw new UnauthorizedException("Invalid session");
|
|
35
35
|
}
|
|
36
|
-
request.user =
|
|
37
|
-
...session.user,
|
|
38
|
-
role: session.user.role ?? undefined,
|
|
39
|
-
};
|
|
36
|
+
request.user = session.user;
|
|
40
37
|
request.session = session.session;
|
|
41
38
|
return true;
|
|
42
39
|
}
|