hunter-mate 0.1.2 → 0.1.4
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/LICENSE +21 -0
- package/dist/assets/extension/_locales/en_US/messages.json +5 -0
- package/dist/assets/extension/_locales/zh_CN/messages.json +5 -0
- package/dist/assets/extension/background/service-worker.js +3342 -0
- package/dist/assets/extension/content/index.js +13765 -0
- package/dist/assets/extension/manifest.json +47 -0
- package/dist/assets/extension/package.json +24 -0
- package/dist/assets/extension/sidepanel/index.html +400 -0
- package/dist/assets/extension/sidepanel/index.js +926 -0
- package/dist/assets/server/agent-session/agent-session.controller.d.ts +32 -0
- package/dist/assets/server/agent-session/agent-session.controller.js +83 -0
- package/dist/assets/server/agent-session/agent-session.controller.js.map +1 -0
- package/dist/assets/server/agent-session/agent-session.guard.d.ts +4 -0
- package/dist/assets/server/agent-session/agent-session.guard.js +32 -0
- package/dist/assets/server/agent-session/agent-session.guard.js.map +1 -0
- package/dist/assets/server/agent-session/agent-session.module.d.ts +2 -0
- package/dist/assets/server/agent-session/agent-session.module.js +28 -0
- package/dist/assets/server/agent-session/agent-session.module.js.map +1 -0
- package/dist/assets/server/agent-session/agent-session.service.d.ts +54 -0
- package/dist/assets/server/agent-session/agent-session.service.js +431 -0
- package/dist/assets/server/agent-session/agent-session.service.js.map +1 -0
- package/dist/assets/server/agent-session/agent-session.types.d.ts +56 -0
- package/dist/assets/server/agent-session/agent-session.types.js +3 -0
- package/dist/assets/server/agent-session/agent-session.types.js.map +1 -0
- package/dist/assets/server/agent-session/entities/agent-event.entity.d.ts +12 -0
- package/dist/assets/server/agent-session/entities/agent-event.entity.js +73 -0
- package/dist/assets/server/agent-session/entities/agent-event.entity.js.map +1 -0
- package/dist/assets/server/agent-session/entities/agent-message.entity.d.ts +13 -0
- package/dist/assets/server/agent-session/entities/agent-message.entity.js +77 -0
- package/dist/assets/server/agent-session/entities/agent-message.entity.js.map +1 -0
- package/dist/assets/server/agent-session/entities/agent-session.entity.d.ts +14 -0
- package/dist/assets/server/agent-session/entities/agent-session.entity.js +83 -0
- package/dist/assets/server/agent-session/entities/agent-session.entity.js.map +1 -0
- package/dist/assets/server/app.module.d.ts +4 -0
- package/dist/assets/server/app.module.js +127 -0
- package/dist/assets/server/app.module.js.map +1 -0
- package/dist/assets/server/auth/auth.controller.d.ts +22 -0
- package/dist/assets/server/auth/auth.controller.js +88 -0
- package/dist/assets/server/auth/auth.controller.js.map +1 -0
- package/dist/assets/server/auth/auth.middleware.d.ts +5 -0
- package/dist/assets/server/auth/auth.middleware.js +34 -0
- package/dist/assets/server/auth/auth.middleware.js.map +1 -0
- package/dist/assets/server/auth/auth.module.d.ts +2 -0
- package/dist/assets/server/auth/auth.module.js +24 -0
- package/dist/assets/server/auth/auth.module.js.map +1 -0
- package/dist/assets/server/auth/auth.service.d.ts +30 -0
- package/dist/assets/server/auth/auth.service.js +183 -0
- package/dist/assets/server/auth/auth.service.js.map +1 -0
- package/dist/assets/server/auth/auth.types.d.ts +28 -0
- package/dist/assets/server/auth/auth.types.js +3 -0
- package/dist/assets/server/auth/auth.types.js.map +1 -0
- package/dist/assets/server/build-info.json +4 -0
- package/dist/assets/server/common/common.module.d.ts +2 -0
- package/dist/assets/server/common/common.module.js +22 -0
- package/dist/assets/server/common/common.module.js.map +1 -0
- package/dist/assets/server/common/crypto.service.d.ts +11 -0
- package/dist/assets/server/common/crypto.service.js +73 -0
- package/dist/assets/server/common/crypto.service.js.map +1 -0
- package/dist/assets/server/communication/communication-record.entity.d.ts +15 -0
- package/dist/assets/server/communication/communication-record.entity.js +80 -0
- package/dist/assets/server/communication/communication-record.entity.js.map +1 -0
- package/dist/assets/server/communication/communication.controller.d.ts +12 -0
- package/dist/assets/server/communication/communication.controller.js +61 -0
- package/dist/assets/server/communication/communication.controller.js.map +1 -0
- package/dist/assets/server/communication/communication.module.d.ts +2 -0
- package/dist/assets/server/communication/communication.module.js +25 -0
- package/dist/assets/server/communication/communication.module.js.map +1 -0
- package/dist/assets/server/communication/communication.service.d.ts +23 -0
- package/dist/assets/server/communication/communication.service.js +51 -0
- package/dist/assets/server/communication/communication.service.js.map +1 -0
- package/dist/assets/server/db/schema-validator.service.d.ts +25 -0
- package/dist/assets/server/db/schema-validator.service.js +107 -0
- package/dist/assets/server/db/schema-validator.service.js.map +1 -0
- package/dist/assets/server/db/schema-version.entity.d.ts +5 -0
- package/dist/assets/server/db/schema-version.entity.js +35 -0
- package/dist/assets/server/db/schema-version.entity.js.map +1 -0
- package/dist/assets/server/db/sqlite.module.d.ts +2 -0
- package/dist/assets/server/db/sqlite.module.js +83 -0
- package/dist/assets/server/db/sqlite.module.js.map +1 -0
- package/dist/assets/server/devops/devops-sink-init.d.ts +23 -0
- package/dist/assets/server/devops/devops-sink-init.js +101 -0
- package/dist/assets/server/devops/devops-sink-init.js.map +1 -0
- package/dist/assets/server/devops/devops-sink-init.spec.d.ts +1 -0
- package/dist/assets/server/devops/devops-sink-init.spec.js +71 -0
- package/dist/assets/server/devops/devops-sink-init.spec.js.map +1 -0
- package/dist/assets/server/devops/devops-sink.module.d.ts +2 -0
- package/dist/assets/server/devops/devops-sink.module.js +22 -0
- package/dist/assets/server/devops/devops-sink.module.js.map +1 -0
- package/dist/assets/server/doctor/doctor.controller.d.ts +13 -0
- package/dist/assets/server/doctor/doctor.controller.js +62 -0
- package/dist/assets/server/doctor/doctor.controller.js.map +1 -0
- package/dist/assets/server/doctor/doctor.module.d.ts +2 -0
- package/dist/assets/server/doctor/doctor.module.js +27 -0
- package/dist/assets/server/doctor/doctor.module.js.map +1 -0
- package/dist/assets/server/doctor/doctor.service.d.ts +15 -0
- package/dist/assets/server/doctor/doctor.service.js +209 -0
- package/dist/assets/server/doctor/doctor.service.js.map +1 -0
- package/dist/assets/server/doctor/doctor.types.d.ts +46 -0
- package/dist/assets/server/doctor/doctor.types.js +3 -0
- package/dist/assets/server/doctor/doctor.types.js.map +1 -0
- package/dist/assets/server/extension/extension-control.controller.d.ts +67 -0
- package/dist/assets/server/extension/extension-control.controller.js +173 -0
- package/dist/assets/server/extension/extension-control.controller.js.map +1 -0
- package/dist/assets/server/extension/extension-control.service.d.ts +46 -0
- package/dist/assets/server/extension/extension-control.service.js +212 -0
- package/dist/assets/server/extension/extension-control.service.js.map +1 -0
- package/dist/assets/server/extension/extension-core.module.d.ts +2 -0
- package/dist/assets/server/extension/extension-core.module.js +21 -0
- package/dist/assets/server/extension/extension-core.module.js.map +1 -0
- package/dist/assets/server/extension/extension-version.controller.d.ts +6 -0
- package/dist/assets/server/extension/extension-version.controller.js +41 -0
- package/dist/assets/server/extension/extension-version.controller.js.map +1 -0
- package/dist/assets/server/extension/extension.module.d.ts +2 -0
- package/dist/assets/server/extension/extension.module.js +25 -0
- package/dist/assets/server/extension/extension.module.js.map +1 -0
- package/dist/assets/server/extraction/adapter.service.d.ts +55 -0
- package/dist/assets/server/extraction/adapter.service.js +275 -0
- package/dist/assets/server/extraction/adapter.service.js.map +1 -0
- package/dist/assets/server/extraction/anomaly-report.service.d.ts +12 -0
- package/dist/assets/server/extraction/anomaly-report.service.js +81 -0
- package/dist/assets/server/extraction/anomaly-report.service.js.map +1 -0
- package/dist/assets/server/extraction/entities/adapter-rule.entity.d.ts +13 -0
- package/dist/assets/server/extraction/entities/adapter-rule.entity.js +71 -0
- package/dist/assets/server/extraction/entities/adapter-rule.entity.js.map +1 -0
- package/dist/assets/server/extraction/entities/company-profile.entity.d.ts +14 -0
- package/dist/assets/server/extraction/entities/company-profile.entity.js +81 -0
- package/dist/assets/server/extraction/entities/company-profile.entity.js.map +1 -0
- package/dist/assets/server/extraction/entities/job-posting.entity.d.ts +15 -0
- package/dist/assets/server/extraction/entities/job-posting.entity.js +86 -0
- package/dist/assets/server/extraction/entities/job-posting.entity.js.map +1 -0
- package/dist/assets/server/extraction/entities/parse-log.entity.d.ts +18 -0
- package/dist/assets/server/extraction/entities/parse-log.entity.js +102 -0
- package/dist/assets/server/extraction/entities/parse-log.entity.js.map +1 -0
- package/dist/assets/server/extraction/entities/talent-profile.entity.d.ts +15 -0
- package/dist/assets/server/extraction/entities/talent-profile.entity.js +86 -0
- package/dist/assets/server/extraction/entities/talent-profile.entity.js.map +1 -0
- package/dist/assets/server/extraction/extraction-entity.controller.d.ts +138 -0
- package/dist/assets/server/extraction/extraction-entity.controller.js +493 -0
- package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -0
- package/dist/assets/server/extraction/extraction-rule.controller.d.ts +7 -0
- package/dist/assets/server/extraction/extraction-rule.controller.js +48 -0
- package/dist/assets/server/extraction/extraction-rule.controller.js.map +1 -0
- package/dist/assets/server/extraction/extraction-rule.entity.d.ts +15 -0
- package/dist/assets/server/extraction/extraction-rule.entity.js +80 -0
- package/dist/assets/server/extraction/extraction-rule.entity.js.map +1 -0
- package/dist/assets/server/extraction/extraction-rule.service.d.ts +24 -0
- package/dist/assets/server/extraction/extraction-rule.service.js +89 -0
- package/dist/assets/server/extraction/extraction-rule.service.js.map +1 -0
- package/dist/assets/server/extraction/extraction.module.d.ts +2 -0
- package/dist/assets/server/extraction/extraction.module.js +53 -0
- package/dist/assets/server/extraction/extraction.module.js.map +1 -0
- package/dist/assets/server/extraction/extraction.service.d.ts +78 -0
- package/dist/assets/server/extraction/extraction.service.js +430 -0
- package/dist/assets/server/extraction/extraction.service.js.map +1 -0
- package/dist/assets/server/extraction/linkedin-extractor.d.ts +1 -0
- package/dist/assets/server/extraction/linkedin-extractor.js +244 -0
- package/dist/assets/server/extraction/linkedin-extractor.js.map +1 -0
- package/dist/assets/server/extraction/rrweb-snapshot.utils.d.ts +15 -0
- package/dist/assets/server/extraction/rrweb-snapshot.utils.js +48 -0
- package/dist/assets/server/extraction/rrweb-snapshot.utils.js.map +1 -0
- package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.d.ts +1 -0
- package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js +60 -0
- package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js.map +1 -0
- package/dist/assets/server/extraction/script-rule.d.ts +14 -0
- package/dist/assets/server/extraction/script-rule.js +49 -0
- package/dist/assets/server/extraction/script-rule.js.map +1 -0
- package/dist/assets/server/extraction/snapshot-analysis.service.d.ts +23 -0
- package/dist/assets/server/extraction/snapshot-analysis.service.js +147 -0
- package/dist/assets/server/extraction/snapshot-analysis.service.js.map +1 -0
- package/dist/assets/server/extraction/structured-data.d.ts +7 -0
- package/dist/assets/server/extraction/structured-data.js +96 -0
- package/dist/assets/server/extraction/structured-data.js.map +1 -0
- package/dist/assets/server/hcapi/hcapi.module.d.ts +2 -0
- package/dist/assets/server/hcapi/hcapi.module.js +23 -0
- package/dist/assets/server/hcapi/hcapi.module.js.map +1 -0
- package/dist/assets/server/hcapi/hcapi.service.d.ts +28 -0
- package/dist/assets/server/hcapi/hcapi.service.js +81 -0
- package/dist/assets/server/hcapi/hcapi.service.js.map +1 -0
- package/dist/assets/server/health/health.controller.d.ts +19 -0
- package/dist/assets/server/health/health.controller.js +59 -0
- package/dist/assets/server/health/health.controller.js.map +1 -0
- package/dist/assets/server/jobcase/jobcase.controller.d.ts +12 -0
- package/dist/assets/server/jobcase/jobcase.controller.js +61 -0
- package/dist/assets/server/jobcase/jobcase.controller.js.map +1 -0
- package/dist/assets/server/jobcase/jobcase.entity.d.ts +13 -0
- package/dist/assets/server/jobcase/jobcase.entity.js +71 -0
- package/dist/assets/server/jobcase/jobcase.entity.js.map +1 -0
- package/dist/assets/server/jobcase/jobcase.module.d.ts +2 -0
- package/dist/assets/server/jobcase/jobcase.module.js +26 -0
- package/dist/assets/server/jobcase/jobcase.module.js.map +1 -0
- package/dist/assets/server/jobcase/jobcase.service.d.ts +21 -0
- package/dist/assets/server/jobcase/jobcase.service.js +56 -0
- package/dist/assets/server/jobcase/jobcase.service.js.map +1 -0
- package/dist/assets/server/llm/llm.module.d.ts +2 -0
- package/dist/assets/server/llm/llm.module.js +21 -0
- package/dist/assets/server/llm/llm.module.js.map +1 -0
- package/dist/assets/server/llm/llm.service.d.ts +18 -0
- package/dist/assets/server/llm/llm.service.js +65 -0
- package/dist/assets/server/llm/llm.service.js.map +1 -0
- package/dist/assets/server/main.d.ts +1 -0
- package/dist/assets/server/main.js +30 -0
- package/dist/assets/server/main.js.map +1 -0
- package/dist/assets/server/matching/matching.controller.d.ts +16 -0
- package/dist/assets/server/matching/matching.controller.js +97 -0
- package/dist/assets/server/matching/matching.controller.js.map +1 -0
- package/dist/assets/server/matching/matching.module.d.ts +2 -0
- package/dist/assets/server/matching/matching.module.js +36 -0
- package/dist/assets/server/matching/matching.module.js.map +1 -0
- package/dist/assets/server/matching/matching.service.d.ts +55 -0
- package/dist/assets/server/matching/matching.service.js +409 -0
- package/dist/assets/server/matching/matching.service.js.map +1 -0
- package/dist/assets/server/package.json +57 -0
- package/dist/assets/server/parsed-resume/parsed-resume.controller.d.ts +6 -0
- package/dist/assets/server/parsed-resume/parsed-resume.controller.js +42 -0
- package/dist/assets/server/parsed-resume/parsed-resume.controller.js.map +1 -0
- package/dist/assets/server/parsed-resume/parsed-resume.entity.d.ts +124 -0
- package/dist/assets/server/parsed-resume/parsed-resume.entity.js +72 -0
- package/dist/assets/server/parsed-resume/parsed-resume.entity.js.map +1 -0
- package/dist/assets/server/parsed-resume/parsed-resume.module.d.ts +2 -0
- package/dist/assets/server/parsed-resume/parsed-resume.module.js +26 -0
- package/dist/assets/server/parsed-resume/parsed-resume.module.js.map +1 -0
- package/dist/assets/server/parsed-resume/parsed-resume.service.d.ts +10 -0
- package/dist/assets/server/parsed-resume/parsed-resume.service.js +45 -0
- package/dist/assets/server/parsed-resume/parsed-resume.service.js.map +1 -0
- package/dist/assets/server/parsing/parse-error-report.entity.d.ts +11 -0
- package/dist/assets/server/parsing/parse-error-report.entity.js +66 -0
- package/dist/assets/server/parsing/parse-error-report.entity.js.map +1 -0
- package/dist/assets/server/parsing/parsing.controller.d.ts +19 -0
- package/dist/assets/server/parsing/parsing.controller.js +97 -0
- package/dist/assets/server/parsing/parsing.controller.js.map +1 -0
- package/dist/assets/server/parsing/parsing.module.d.ts +2 -0
- package/dist/assets/server/parsing/parsing.module.js +38 -0
- package/dist/assets/server/parsing/parsing.module.js.map +1 -0
- package/dist/assets/server/parsing/parsing.service.d.ts +38 -0
- package/dist/assets/server/parsing/parsing.service.js +263 -0
- package/dist/assets/server/parsing/parsing.service.js.map +1 -0
- package/dist/assets/server/query/fields-meta.controller.d.ts +28 -0
- package/dist/assets/server/query/fields-meta.controller.js +57 -0
- package/dist/assets/server/query/fields-meta.controller.js.map +1 -0
- package/dist/assets/server/query/query-builder.controller.d.ts +11 -0
- package/dist/assets/server/query/query-builder.controller.js +40 -0
- package/dist/assets/server/query/query-builder.controller.js.map +1 -0
- package/dist/assets/server/query/query-builder.service.d.ts +8 -0
- package/dist/assets/server/query/query-builder.service.js +41 -0
- package/dist/assets/server/query/query-builder.service.js.map +1 -0
- package/dist/assets/server/query/query.module.d.ts +2 -0
- package/dist/assets/server/query/query.module.js +23 -0
- package/dist/assets/server/query/query.module.js.map +1 -0
- package/dist/assets/server/recording/entities/recording-event.entity.d.ts +9 -0
- package/dist/assets/server/recording/entities/recording-event.entity.js +56 -0
- package/dist/assets/server/recording/entities/recording-event.entity.js.map +1 -0
- package/dist/assets/server/recording/entities/recording-snapshot.entity.d.ts +16 -0
- package/dist/assets/server/recording/entities/recording-snapshot.entity.js +91 -0
- package/dist/assets/server/recording/entities/recording-snapshot.entity.js.map +1 -0
- package/dist/assets/server/recording/recording-event-bus.service.d.ts +4 -0
- package/dist/assets/server/recording/recording-event-bus.service.js +25 -0
- package/dist/assets/server/recording/recording-event-bus.service.js.map +1 -0
- package/dist/assets/server/recording/recording-snapshot.service.d.ts +13 -0
- package/dist/assets/server/recording/recording-snapshot.service.js +81 -0
- package/dist/assets/server/recording/recording-snapshot.service.js.map +1 -0
- package/dist/assets/server/recording/recording-snapshot.service.spec.d.ts +1 -0
- package/dist/assets/server/recording/recording-snapshot.service.spec.js +65 -0
- package/dist/assets/server/recording/recording-snapshot.service.spec.js.map +1 -0
- package/dist/assets/server/recording/recording.controller.d.ts +54 -0
- package/dist/assets/server/recording/recording.controller.js +77 -0
- package/dist/assets/server/recording/recording.controller.js.map +1 -0
- package/dist/assets/server/recording/recording.gateway.d.ts +15 -0
- package/dist/assets/server/recording/recording.gateway.js +117 -0
- package/dist/assets/server/recording/recording.gateway.js.map +1 -0
- package/dist/assets/server/recording/recording.module.d.ts +2 -0
- package/dist/assets/server/recording/recording.module.js +36 -0
- package/dist/assets/server/recording/recording.module.js.map +1 -0
- package/dist/assets/server/recording/recording.service.d.ts +43 -0
- package/dist/assets/server/recording/recording.service.js +124 -0
- package/dist/assets/server/recording/recording.service.js.map +1 -0
- package/dist/assets/server/remark/remark.controller.d.ts +21 -0
- package/dist/assets/server/remark/remark.controller.js +59 -0
- package/dist/assets/server/remark/remark.controller.js.map +1 -0
- package/dist/assets/server/remark/remark.entity.d.ts +18 -0
- package/dist/assets/server/remark/remark.entity.js +67 -0
- package/dist/assets/server/remark/remark.entity.js.map +1 -0
- package/dist/assets/server/remark/remark.module.d.ts +2 -0
- package/dist/assets/server/remark/remark.module.js +26 -0
- package/dist/assets/server/remark/remark.module.js.map +1 -0
- package/dist/assets/server/remark/remark.service.d.ts +8 -0
- package/dist/assets/server/remark/remark.service.js +39 -0
- package/dist/assets/server/remark/remark.service.js.map +1 -0
- package/dist/assets/server/report/report.controller.d.ts +18 -0
- package/dist/assets/server/report/report.controller.js +41 -0
- package/dist/assets/server/report/report.controller.js.map +1 -0
- package/dist/assets/server/report/report.module.d.ts +2 -0
- package/dist/assets/server/report/report.module.js +24 -0
- package/dist/assets/server/report/report.module.js.map +1 -0
- package/dist/assets/server/report/report.service.d.ts +23 -0
- package/dist/assets/server/report/report.service.js +54 -0
- package/dist/assets/server/report/report.service.js.map +1 -0
- package/dist/assets/server/rules/rules.controller.d.ts +6 -0
- package/dist/assets/server/rules/rules.controller.js +35 -0
- package/dist/assets/server/rules/rules.controller.js.map +1 -0
- package/dist/assets/server/rules/rules.module.d.ts +2 -0
- package/dist/assets/server/rules/rules.module.js +23 -0
- package/dist/assets/server/rules/rules.module.js.map +1 -0
- package/dist/assets/server/rules/rules.service.d.ts +10 -0
- package/dist/assets/server/rules/rules.service.js +26 -0
- package/dist/assets/server/rules/rules.service.js.map +1 -0
- package/dist/assets/server/search/search.controller.d.ts +6 -0
- package/dist/assets/server/search/search.controller.js +53 -0
- package/dist/assets/server/search/search.controller.js.map +1 -0
- package/dist/assets/server/search/search.module.d.ts +2 -0
- package/dist/assets/server/search/search.module.js +24 -0
- package/dist/assets/server/search/search.module.js.map +1 -0
- package/dist/assets/server/search/search.service.d.ts +6 -0
- package/dist/assets/server/search/search.service.js +46 -0
- package/dist/assets/server/search/search.service.js.map +1 -0
- package/dist/assets/server/sentry.d.ts +3 -0
- package/dist/assets/server/sentry.js +10 -0
- package/dist/assets/server/sentry.js.map +1 -0
- package/dist/assets/server/site/entities/site-registry.entity.d.ts +13 -0
- package/dist/assets/server/site/entities/site-registry.entity.js +76 -0
- package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -0
- package/dist/assets/server/site/site.controller.d.ts +38 -0
- package/dist/assets/server/site/site.controller.js +60 -0
- package/dist/assets/server/site/site.controller.js.map +1 -0
- package/dist/assets/server/site/site.module.d.ts +2 -0
- package/dist/assets/server/site/site.module.js +26 -0
- package/dist/assets/server/site/site.module.js.map +1 -0
- package/dist/assets/server/site/site.service.d.ts +38 -0
- package/dist/assets/server/site/site.service.js +141 -0
- package/dist/assets/server/site/site.service.js.map +1 -0
- package/dist/assets/server/snapshot/raw-snapshot.entity.d.ts +35 -0
- package/dist/assets/server/snapshot/raw-snapshot.entity.js +62 -0
- package/dist/assets/server/snapshot/raw-snapshot.entity.js.map +1 -0
- package/dist/assets/server/snapshot/snapshot.controller.d.ts +18 -0
- package/dist/assets/server/snapshot/snapshot.controller.js +76 -0
- package/dist/assets/server/snapshot/snapshot.controller.js.map +1 -0
- package/dist/assets/server/snapshot/snapshot.module.d.ts +2 -0
- package/dist/assets/server/snapshot/snapshot.module.js +26 -0
- package/dist/assets/server/snapshot/snapshot.module.js.map +1 -0
- package/dist/assets/server/snapshot/snapshot.service.d.ts +10 -0
- package/dist/assets/server/snapshot/snapshot.service.js +48 -0
- package/dist/assets/server/snapshot/snapshot.service.js.map +1 -0
- package/dist/assets/server/system/system.controller.d.ts +39 -0
- package/dist/assets/server/system/system.controller.js +93 -0
- package/dist/assets/server/system/system.controller.js.map +1 -0
- package/dist/assets/server/system/system.module.d.ts +2 -0
- package/dist/assets/server/system/system.module.js +26 -0
- package/dist/assets/server/system/system.module.js.map +1 -0
- package/dist/assets/server/system/system.service.d.ts +86 -0
- package/dist/assets/server/system/system.service.js +433 -0
- package/dist/assets/server/system/system.service.js.map +1 -0
- package/dist/assets/server/talent-fingerprint/fingerprint-match.service.d.ts +28 -0
- package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js +186 -0
- package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js.map +1 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.d.ts +30 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js +55 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js.map +1 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.d.ts +2 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js +25 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js.map +1 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.d.ts +8 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js +44 -0
- package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js.map +1 -0
- package/dist/assets/server/talent-job-match/talent-job-match.controller.d.ts +6 -0
- package/dist/assets/server/talent-job-match/talent-job-match.controller.js +42 -0
- package/dist/assets/server/talent-job-match/talent-job-match.controller.js.map +1 -0
- package/dist/assets/server/talent-job-match/talent-job-match.entity.d.ts +33 -0
- package/dist/assets/server/talent-job-match/talent-job-match.entity.js +73 -0
- package/dist/assets/server/talent-job-match/talent-job-match.entity.js.map +1 -0
- package/dist/assets/server/talent-job-match/talent-job-match.module.d.ts +2 -0
- package/dist/assets/server/talent-job-match/talent-job-match.module.js +26 -0
- package/dist/assets/server/talent-job-match/talent-job-match.module.js.map +1 -0
- package/dist/assets/server/talent-job-match/talent-job-match.service.d.ts +9 -0
- package/dist/assets/server/talent-job-match/talent-job-match.service.js +42 -0
- package/dist/assets/server/talent-job-match/talent-job-match.service.js.map +1 -0
- package/dist/assets/server/talent-portrait/portrait-merge.service.d.ts +17 -0
- package/dist/assets/server/talent-portrait/portrait-merge.service.js +200 -0
- package/dist/assets/server/talent-portrait/portrait-merge.service.js.map +1 -0
- package/dist/assets/server/talent-portrait/talent-portrait.controller.d.ts +7 -0
- package/dist/assets/server/talent-portrait/talent-portrait.controller.js +52 -0
- package/dist/assets/server/talent-portrait/talent-portrait.controller.js.map +1 -0
- package/dist/assets/server/talent-portrait/talent-portrait.entity.d.ts +91 -0
- package/dist/assets/server/talent-portrait/talent-portrait.entity.js +71 -0
- package/dist/assets/server/talent-portrait/talent-portrait.entity.js.map +1 -0
- package/dist/assets/server/talent-portrait/talent-portrait.module.d.ts +2 -0
- package/dist/assets/server/talent-portrait/talent-portrait.module.js +27 -0
- package/dist/assets/server/talent-portrait/talent-portrait.module.js.map +1 -0
- package/dist/assets/server/talent-portrait/talent-portrait.service.d.ts +10 -0
- package/dist/assets/server/talent-portrait/talent-portrait.service.js +46 -0
- package/dist/assets/server/talent-portrait/talent-portrait.service.js.map +1 -0
- package/dist/assets/server/telemetry/telemetry.module.d.ts +2 -0
- package/dist/assets/server/telemetry/telemetry.module.js +24 -0
- package/dist/assets/server/telemetry/telemetry.module.js.map +1 -0
- package/dist/assets/server/telemetry/telemetry.service.d.ts +29 -0
- package/dist/assets/server/telemetry/telemetry.service.js +116 -0
- package/dist/assets/server/telemetry/telemetry.service.js.map +1 -0
- package/dist/auto-doctor.d.ts +8 -0
- package/dist/auto-doctor.js +34 -0
- package/dist/bundled-assets.d.ts +22 -0
- package/dist/bundled-assets.js +80 -0
- package/dist/cache/db.js +10 -54
- package/dist/commands/addons.js +46 -71
- package/dist/commands/cache.js +29 -27
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.js +8 -12
- package/dist/commands/doctor.d.ts +38 -1
- package/dist/commands/doctor.js +214 -74
- package/dist/commands/extension.js +84 -98
- package/dist/commands/extras.d.ts +32 -2
- package/dist/commands/extras.js +252 -64
- package/dist/commands/init.js +18 -46
- package/dist/commands/install.js +31 -60
- package/dist/commands/job.js +27 -65
- package/dist/commands/login.js +50 -37
- package/dist/commands/logout.js +8 -12
- package/dist/commands/ops.js +94 -67
- package/dist/commands/record.js +21 -59
- package/dist/commands/report.js +14 -18
- package/dist/commands/search.js +14 -21
- package/dist/commands/server.d.ts +1 -1
- package/dist/commands/server.js +126 -112
- package/dist/commands/status.js +23 -27
- package/dist/commands/update.js +44 -79
- package/dist/config.d.ts +3 -0
- package/dist/config.js +12 -46
- package/dist/i18n/index.js +5 -11
- package/dist/i18n/locales/en-US.json +24 -1
- package/dist/i18n/locales/zh-CN.json +24 -1
- package/dist/index.cmd +3 -0
- package/dist/index.js +90 -98
- package/dist/index.ps1 +3 -0
- package/dist/keychain.js +9 -44
- package/dist/logger.d.ts +7 -0
- package/dist/logger.js +80 -0
- package/dist/native-check.d.ts +6 -0
- package/dist/native-check.js +23 -0
- package/dist/sentry.js +4 -8
- package/dist/updater.js +15 -52
- package/dist/utils/proc.d.ts +35 -0
- package/dist/utils/proc.js +81 -0
- package/dist/utils/spawn.d.ts +19 -0
- package/dist/utils/spawn.js +60 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +183 -81
- package/dist/watchdog.d.ts +1 -0
- package/dist/watchdog.js +128 -0
- package/package.json +7 -6
- package/dist/commands/native-check.d.ts +0 -22
- package/dist/commands/native-check.js +0 -93
package/dist/index.js
CHANGED
|
@@ -1,79 +1,54 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
require("dotenv/config");
|
|
41
|
-
const commander_1 = require("commander");
|
|
42
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
-
const sentry_1 = require("./sentry");
|
|
44
|
-
const login_1 = require("./commands/login");
|
|
45
|
-
const logout_1 = require("./commands/logout");
|
|
46
|
-
const status_1 = require("./commands/status");
|
|
47
|
-
const config_1 = require("./commands/config");
|
|
48
|
-
const search_1 = require("./commands/search");
|
|
49
|
-
const job_1 = require("./commands/job");
|
|
50
|
-
const update_1 = require("./commands/update");
|
|
51
|
-
const extension_1 = require("./commands/extension");
|
|
52
|
-
const report_1 = require("./commands/report");
|
|
53
|
-
const record_1 = require("./commands/record");
|
|
54
|
-
const cache_1 = require("./commands/cache");
|
|
2
|
+
import 'dotenv/config';
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { initSentry } from './sentry.js';
|
|
6
|
+
import { loginCommand } from './commands/login.js';
|
|
7
|
+
import { logoutCommand } from './commands/logout.js';
|
|
8
|
+
import { statusCommand } from './commands/status.js';
|
|
9
|
+
import { configCommand } from './commands/config.js';
|
|
10
|
+
import { searchCommand } from './commands/search.js';
|
|
11
|
+
import { jobCommand } from './commands/job.js';
|
|
12
|
+
import { updateCommand } from './commands/update.js';
|
|
13
|
+
import { extensionCommand } from './commands/extension.js';
|
|
14
|
+
import { reportCommand } from './commands/report.js';
|
|
15
|
+
import { recordCommand } from './commands/record.js';
|
|
16
|
+
import { cacheCommand } from './commands/cache.js';
|
|
55
17
|
// 对应 ChromePilot 的新命令(环境管理 / 运维 / 扩展管理)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
18
|
+
import { initCommand } from './commands/init.js';
|
|
19
|
+
import { installCommand } from './commands/install.js';
|
|
20
|
+
import { startCommand, stopCommand } from './commands/server.js';
|
|
21
|
+
import { doctorCommand } from './commands/doctor.js';
|
|
22
|
+
import { reloadCommand, openExtCommand, purgeCommand } from './commands/extras.js';
|
|
23
|
+
import { recordingsCommand, adapterCommand, memoryCommand, traceCommand, autofixCommand } from './commands/ops.js';
|
|
24
|
+
import { pluginCommand, skillCommand, externalCommand } from './commands/addons.js';
|
|
25
|
+
import { i18n } from './i18n/index.js';
|
|
26
|
+
import { initCliLogger, flushCliLogger, getCliLogger } from './logger.js';
|
|
27
|
+
import packageJson from '../package.json' with { type: 'json' };
|
|
28
|
+
const CLI_VERSION = packageJson.version;
|
|
29
|
+
initSentry();
|
|
30
|
+
// patchConsole + patchStreams:把业务代码里的 console.error/warn 统一转发到 logger-kit,
|
|
31
|
+
// 避免两套日志写法。AGENTS.md §11。
|
|
32
|
+
initCliLogger({ patchConsole: true, patchStreams: true }).catch(() => {
|
|
33
|
+
// 日志初始化失败不影响主流程
|
|
34
|
+
});
|
|
35
|
+
const program = new Command();
|
|
68
36
|
program
|
|
69
37
|
.name('hunter-mate')
|
|
70
|
-
.description(
|
|
38
|
+
.description(i18n.t('cli.description') + '(已对齐 ChromePilot: init/install/start/stop/status/recordings/control/adapter/run/memory/trace/autofix/external/plugin/skill/open-ext/doctor/reload)+ purge|reset|uninstall')
|
|
71
39
|
.version(CLI_VERSION)
|
|
72
|
-
.option('--lang <lang>',
|
|
40
|
+
.option('--lang <lang>', i18n.t('cli.langOption'), 'zh-CN')
|
|
73
41
|
.hook('preAction', async (thisCommand) => {
|
|
74
42
|
const lang = thisCommand.opts().lang;
|
|
75
43
|
if (lang)
|
|
76
|
-
|
|
44
|
+
i18n.setLocale(lang);
|
|
45
|
+
// 日志:command start
|
|
46
|
+
try {
|
|
47
|
+
getCliLogger().info('command:start', { command: thisCommand.name(), args: thisCommand.args });
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// logger 未就绪时忽略
|
|
51
|
+
}
|
|
77
52
|
// ADR-005 运行时一致性自动检测 + CLI 自更新(每次使用触发,版本判断):
|
|
78
53
|
// 1) CLI 自更新: 节流 1h 对比 npm registry,落后自动 npm install -g(下一条命令生效);
|
|
79
54
|
// dev 软链模式(wrapper 指向 hc-hw worktree dist)自动跳过。
|
|
@@ -86,50 +61,67 @@ program
|
|
|
86
61
|
if (name === 'update' || name === 'start' || name === 'stop')
|
|
87
62
|
return;
|
|
88
63
|
try {
|
|
89
|
-
const { maybeCliSelfUpdate } = await
|
|
64
|
+
const { maybeCliSelfUpdate } = await import('./updater.js');
|
|
90
65
|
const upd = await maybeCliSelfUpdate();
|
|
91
66
|
for (const line of upd.logs)
|
|
92
|
-
console.log(
|
|
67
|
+
console.log(chalk.gray(` [auto-update] ${line}`));
|
|
93
68
|
}
|
|
94
69
|
catch {
|
|
95
70
|
/* CLI 自更新检测永不阻塞主命令 */
|
|
96
71
|
}
|
|
97
72
|
try {
|
|
98
|
-
const { ensureRuntimeConsistency } = await
|
|
73
|
+
const { ensureRuntimeConsistency } = await import('./version.js');
|
|
99
74
|
const report = await ensureRuntimeConsistency({});
|
|
100
75
|
if (report.performed.length) {
|
|
101
76
|
for (const line of report.performed)
|
|
102
|
-
console.log(
|
|
77
|
+
console.log(chalk.gray(` [auto-update] ${line}`));
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
const { runAutoDoctor } = await import('./auto-doctor.js');
|
|
81
|
+
await runAutoDoctor(report);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
/* auto-doctor 永不阻塞主命令 */
|
|
103
85
|
}
|
|
104
86
|
}
|
|
105
87
|
catch {
|
|
106
88
|
/* 一致性检测永不阻塞主命令 */
|
|
107
89
|
}
|
|
90
|
+
})
|
|
91
|
+
.hook('postAction', async (thisCommand) => {
|
|
92
|
+
try {
|
|
93
|
+
getCliLogger().info('command:end', { command: thisCommand.name() });
|
|
94
|
+
await flushCliLogger();
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// 日志发送失败不影响主流程
|
|
98
|
+
}
|
|
108
99
|
});
|
|
109
|
-
program.addCommand(
|
|
110
|
-
program.addCommand(
|
|
111
|
-
program.addCommand(
|
|
112
|
-
program.addCommand(
|
|
113
|
-
program.addCommand(
|
|
114
|
-
program.addCommand(
|
|
115
|
-
program.addCommand(
|
|
116
|
-
program.addCommand(
|
|
117
|
-
program.addCommand(
|
|
118
|
-
program.addCommand(
|
|
119
|
-
program.addCommand(
|
|
120
|
-
program.addCommand(
|
|
121
|
-
program.addCommand(
|
|
122
|
-
program.addCommand(
|
|
123
|
-
program.addCommand(
|
|
124
|
-
program.addCommand(
|
|
125
|
-
program.addCommand(
|
|
126
|
-
program.addCommand(
|
|
127
|
-
program.addCommand(
|
|
128
|
-
program.addCommand(
|
|
129
|
-
program.addCommand(
|
|
130
|
-
program.addCommand(
|
|
131
|
-
program.addCommand(
|
|
132
|
-
program.addCommand(
|
|
133
|
-
program.addCommand(
|
|
134
|
-
program.addCommand(
|
|
100
|
+
program.addCommand(initCommand);
|
|
101
|
+
program.addCommand(installCommand);
|
|
102
|
+
program.addCommand(startCommand);
|
|
103
|
+
program.addCommand(stopCommand);
|
|
104
|
+
program.addCommand(loginCommand);
|
|
105
|
+
program.addCommand(logoutCommand);
|
|
106
|
+
program.addCommand(statusCommand);
|
|
107
|
+
program.addCommand(configCommand);
|
|
108
|
+
program.addCommand(searchCommand);
|
|
109
|
+
program.addCommand(jobCommand);
|
|
110
|
+
program.addCommand(updateCommand);
|
|
111
|
+
program.addCommand(extensionCommand);
|
|
112
|
+
program.addCommand(recordingsCommand);
|
|
113
|
+
program.addCommand(adapterCommand);
|
|
114
|
+
program.addCommand(memoryCommand);
|
|
115
|
+
program.addCommand(traceCommand);
|
|
116
|
+
program.addCommand(autofixCommand);
|
|
117
|
+
program.addCommand(externalCommand);
|
|
118
|
+
program.addCommand(pluginCommand);
|
|
119
|
+
program.addCommand(skillCommand);
|
|
120
|
+
program.addCommand(openExtCommand);
|
|
121
|
+
program.addCommand(doctorCommand);
|
|
122
|
+
program.addCommand(reloadCommand);
|
|
123
|
+
program.addCommand(purgeCommand);
|
|
124
|
+
program.addCommand(reportCommand);
|
|
125
|
+
program.addCommand(recordCommand);
|
|
126
|
+
program.addCommand(cacheCommand);
|
|
135
127
|
program.parse();
|
package/dist/index.ps1
ADDED
package/dist/keychain.js
CHANGED
|
@@ -1,49 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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.saveToken = saveToken;
|
|
37
|
-
exports.getToken = getToken;
|
|
38
|
-
exports.deleteToken = deleteToken;
|
|
39
|
-
const fs = __importStar(require("fs"));
|
|
40
|
-
const path = __importStar(require("path"));
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
41
3
|
const SERVICE = 'hunter-mate';
|
|
42
4
|
const ACCOUNT = 'user';
|
|
43
5
|
const HOME = process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
|
|
44
6
|
const TOKEN_FILE = path.join(HOME, '.hunter-mate', 'token.json');
|
|
45
7
|
function fallbackSave(token) {
|
|
46
8
|
fs.mkdirSync(path.dirname(TOKEN_FILE), { recursive: true });
|
|
9
|
+
// POSIX 上 mode 0o600 强制 owner-only;Windows NTFS 上 mode bit 被忽略,
|
|
10
|
+
// 由用户目录 ACL 兜底(%USERPROFILE%\.hunter-mate 默认只有当前用户可访问)。
|
|
11
|
+
// 真正安全的 Windows 路径是走 keytar(Windows Credential Manager)→ setPassword。
|
|
47
12
|
fs.writeFileSync(TOKEN_FILE, JSON.stringify({ token }), { mode: 0o600 });
|
|
48
13
|
}
|
|
49
14
|
function fallbackGet() {
|
|
@@ -68,7 +33,7 @@ async function getKeytar() {
|
|
|
68
33
|
if (process.platform === 'linux')
|
|
69
34
|
return null;
|
|
70
35
|
try {
|
|
71
|
-
const mod = await
|
|
36
|
+
const mod = await import('keytar');
|
|
72
37
|
// ESM/CJS 混用:部分导出在 default 上
|
|
73
38
|
return mod.setPassword ? mod : mod.default || null;
|
|
74
39
|
}
|
|
@@ -76,7 +41,7 @@ async function getKeytar() {
|
|
|
76
41
|
return null;
|
|
77
42
|
}
|
|
78
43
|
}
|
|
79
|
-
async function saveToken(token) {
|
|
44
|
+
export async function saveToken(token) {
|
|
80
45
|
const keytar = await getKeytar();
|
|
81
46
|
if (keytar) {
|
|
82
47
|
try {
|
|
@@ -89,7 +54,7 @@ async function saveToken(token) {
|
|
|
89
54
|
}
|
|
90
55
|
fallbackSave(token);
|
|
91
56
|
}
|
|
92
|
-
async function getToken() {
|
|
57
|
+
export async function getToken() {
|
|
93
58
|
const keytar = await getKeytar();
|
|
94
59
|
if (keytar) {
|
|
95
60
|
try {
|
|
@@ -103,7 +68,7 @@ async function getToken() {
|
|
|
103
68
|
}
|
|
104
69
|
return fallbackGet();
|
|
105
70
|
}
|
|
106
|
-
async function deleteToken() {
|
|
71
|
+
export async function deleteToken() {
|
|
107
72
|
const keytar = await getKeytar();
|
|
108
73
|
if (keytar) {
|
|
109
74
|
try {
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Logger } from "@chromepilot/logger-kit/client";
|
|
2
|
+
export declare function getCliLogger(): Logger;
|
|
3
|
+
export declare function initCliLogger(options?: {
|
|
4
|
+
patchConsole?: boolean;
|
|
5
|
+
patchStreams?: boolean;
|
|
6
|
+
}): Promise<Logger>;
|
|
7
|
+
export declare function flushCliLogger(): Promise<void>;
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Logger, createHttpTransport } from "@chromepilot/logger-kit/client";
|
|
2
|
+
import { PersistentLogQueue } from "@chromepilot/logger-kit/queue-node";
|
|
3
|
+
import { loadConfig } from "./config.js";
|
|
4
|
+
import { getToken } from "./keychain.js";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
let logger = null;
|
|
7
|
+
let queue = null;
|
|
8
|
+
let drainTimer = null;
|
|
9
|
+
const noopLogger = {
|
|
10
|
+
debug: () => { },
|
|
11
|
+
info: () => { },
|
|
12
|
+
warn: () => { },
|
|
13
|
+
error: () => { },
|
|
14
|
+
log: () => { },
|
|
15
|
+
patchConsole: () => { },
|
|
16
|
+
patchProcessStreams: () => { },
|
|
17
|
+
flush: async () => { },
|
|
18
|
+
drainPersistent: async () => null,
|
|
19
|
+
};
|
|
20
|
+
export function getCliLogger() {
|
|
21
|
+
if (!logger) {
|
|
22
|
+
// 未显式初始化时返回 noop(测试/单工具命令兼容);主入口 index.ts 会先 init
|
|
23
|
+
return noopLogger;
|
|
24
|
+
}
|
|
25
|
+
return logger;
|
|
26
|
+
}
|
|
27
|
+
function homeDir() {
|
|
28
|
+
return process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || ".";
|
|
29
|
+
}
|
|
30
|
+
export async function initCliLogger(options) {
|
|
31
|
+
const cfg = loadConfig();
|
|
32
|
+
const serverUrl = cfg.serverUrl.replace(/\/$/, "");
|
|
33
|
+
const token = await getToken();
|
|
34
|
+
// 持久化队列:server 不可达时落盘 ~/.hunter-mate/logs-pending.jsonl
|
|
35
|
+
queue = new PersistentLogQueue({
|
|
36
|
+
filePath: path.join(homeDir(), ".hunter-mate", "logs-pending.jsonl"),
|
|
37
|
+
maxBytes: 4 * 1024 * 1024,
|
|
38
|
+
});
|
|
39
|
+
await queue.load();
|
|
40
|
+
const transport = await createHttpTransport({
|
|
41
|
+
serverUrl,
|
|
42
|
+
headers: token ? { Authorization: `Bearer ${token}` } : {},
|
|
43
|
+
});
|
|
44
|
+
logger = new Logger({
|
|
45
|
+
context: "cli",
|
|
46
|
+
sessionId: () => process.env.HM_SESSION_ID || `cli-${process.pid}`,
|
|
47
|
+
send: transport,
|
|
48
|
+
flushIntervalMs: 1000,
|
|
49
|
+
maxBufferSize: 50,
|
|
50
|
+
persistentQueue: queue,
|
|
51
|
+
});
|
|
52
|
+
// 后台定时器:每 5s 尝试 drain(server 恢复后补发)
|
|
53
|
+
if (drainTimer)
|
|
54
|
+
clearInterval(drainTimer);
|
|
55
|
+
drainTimer = setInterval(() => {
|
|
56
|
+
if (queue && queue.size() > 0) {
|
|
57
|
+
queue.drain(transport).catch(() => { });
|
|
58
|
+
}
|
|
59
|
+
}, 5000);
|
|
60
|
+
drainTimer.unref?.();
|
|
61
|
+
if (options?.patchConsole !== false) {
|
|
62
|
+
logger.patchConsole();
|
|
63
|
+
}
|
|
64
|
+
if (options?.patchStreams !== false) {
|
|
65
|
+
logger.patchProcessStreams();
|
|
66
|
+
}
|
|
67
|
+
return logger;
|
|
68
|
+
}
|
|
69
|
+
export async function flushCliLogger() {
|
|
70
|
+
await logger?.flush();
|
|
71
|
+
if (queue && queue.size() > 0) {
|
|
72
|
+
const cfg = loadConfig();
|
|
73
|
+
const token = await getToken();
|
|
74
|
+
const transport = await createHttpTransport({
|
|
75
|
+
serverUrl: cfg.serverUrl.replace(/\/$/, ""),
|
|
76
|
+
headers: token ? { Authorization: `Bearer ${token}` } : {},
|
|
77
|
+
});
|
|
78
|
+
await queue.drain(transport).catch(() => { });
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { createNativeChecker } from "@chromepilot/kit";
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
function locateServerEntryDir() {
|
|
7
|
+
const candidates = [
|
|
8
|
+
path.resolve(__dirname, "../../server/dist"),
|
|
9
|
+
path.resolve(__dirname, "../../server/src"),
|
|
10
|
+
];
|
|
11
|
+
for (const dir of candidates) {
|
|
12
|
+
if (fs.existsSync(path.join(dir, "main.js")) || fs.existsSync(path.join(dir, "main.ts"))) {
|
|
13
|
+
return dir;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const checker = createNativeChecker({
|
|
19
|
+
probeDir: () => locateServerEntryDir(),
|
|
20
|
+
skipDetail: "未找到 server 入口(packages/server/dist|src),跳过原生模块检查",
|
|
21
|
+
rebuildHint: (moduleName, compiledLabel) => `二选一:① 切回 ${compiledLabel} 的 node 再运行;② 用当前 node 重编译:pnpm rebuild -r ${moduleName}(重编后重启 server)`,
|
|
22
|
+
});
|
|
23
|
+
export const checkNativeModules = checker.checkNativeModules;
|
package/dist/sentry.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Sentry = void 0;
|
|
4
|
-
exports.initSentry = initSentry;
|
|
5
|
-
const kit_1 = require("@chromepilot/kit");
|
|
6
|
-
Object.defineProperty(exports, "Sentry", { enumerable: true, get: function () { return kit_1.Sentry; } });
|
|
1
|
+
import { initSentryFromEnv, Sentry } from '@chromepilot/kit';
|
|
7
2
|
/** Sentry 初始化:通用骨架来自 @chromepilot/kit(HM_ 前缀 env 读取) */
|
|
8
|
-
function initSentry() {
|
|
9
|
-
return
|
|
3
|
+
export function initSentry() {
|
|
4
|
+
return initSentryFromEnv('HM');
|
|
10
5
|
}
|
|
6
|
+
export { Sentry };
|
package/dist/updater.js
CHANGED
|
@@ -1,42 +1,3 @@
|
|
|
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.markUpdateChecked = exports.shouldCheckUpdate = exports.updateCheckIntervalMs = exports.npmSelfUpdate = exports.npmLatestVersion = void 0;
|
|
37
|
-
exports.computeDevLinked = computeDevLinked;
|
|
38
|
-
exports.isDevLinked = isDevLinked;
|
|
39
|
-
exports.maybeCliSelfUpdate = maybeCliSelfUpdate;
|
|
40
1
|
/**
|
|
41
2
|
* CLI 自动更新(使用态)— 通用实现来自 @chromepilot/kit createCliUpdater。
|
|
42
3
|
*
|
|
@@ -50,9 +11,11 @@ exports.maybeCliSelfUpdate = maybeCliSelfUpdate;
|
|
|
50
11
|
* - HUNTER_MATE_UPDATE_CHECK_INTERVAL_MS 覆盖节流间隔(默认 3600000)
|
|
51
12
|
* - HUNTER_MATE_DEV=1 强制视为 dev 模式(测试用)
|
|
52
13
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
14
|
+
import * as path from 'path';
|
|
15
|
+
import { fileURLToPath } from 'node:url';
|
|
16
|
+
import { createCliUpdater } from '@chromepilot/kit';
|
|
17
|
+
import { readInstalledVersions } from './version.js';
|
|
18
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
56
19
|
const HOME = () => process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
|
|
57
20
|
const ROOT = () => path.join(HOME(), '.hunter-mate');
|
|
58
21
|
/**
|
|
@@ -60,30 +23,30 @@ const ROOT = () => path.join(HOME(), '.hunter-mate');
|
|
|
60
23
|
* 包根路径含 /worktrees/ 段(hc-hw local worktree 布局)或 HUNTER_MATE_DEV=1。
|
|
61
24
|
* 注意:GitHub Release 二进制安装(~/.hunter-mate/bin)不属于 dev 模式。
|
|
62
25
|
*/
|
|
63
|
-
function computeDevLinked(pkgRoot) {
|
|
26
|
+
export function computeDevLinked(pkgRoot) {
|
|
64
27
|
if (process.env.HUNTER_MATE_DEV === '1')
|
|
65
28
|
return true;
|
|
66
29
|
return path.normalize(pkgRoot).includes(`${path.sep}worktrees${path.sep}`);
|
|
67
30
|
}
|
|
68
|
-
function isDevLinked() {
|
|
31
|
+
export function isDevLinked() {
|
|
69
32
|
return computeDevLinked(path.join(__dirname, '..'));
|
|
70
33
|
}
|
|
71
|
-
const updater =
|
|
34
|
+
const updater = createCliUpdater({
|
|
72
35
|
npmPackage: 'hunter-mate',
|
|
73
36
|
envPrefix: 'HUNTER_MATE',
|
|
74
37
|
stateDir: ROOT,
|
|
75
|
-
getInstalledVersion: () =>
|
|
38
|
+
getInstalledVersion: () => readInstalledVersions().cli,
|
|
76
39
|
isDev: isDevLinked,
|
|
77
40
|
});
|
|
78
41
|
// ---------------------------------------------------------------------------
|
|
79
42
|
// 兼容导出(调用方零改动)
|
|
80
43
|
// ---------------------------------------------------------------------------
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
44
|
+
export const npmLatestVersion = updater.npmLatestVersion;
|
|
45
|
+
export const npmSelfUpdate = updater.npmSelfUpdate;
|
|
46
|
+
export const updateCheckIntervalMs = updater.updateCheckIntervalMs;
|
|
47
|
+
export const shouldCheckUpdate = updater.shouldCheckUpdate;
|
|
48
|
+
export const markUpdateChecked = updater.markUpdateChecked;
|
|
86
49
|
/** preAction 集成入口:返回日志行数组,永不 throw */
|
|
87
|
-
async function maybeCliSelfUpdate() {
|
|
50
|
+
export async function maybeCliSelfUpdate() {
|
|
88
51
|
return updater.autoCliUpdate();
|
|
89
52
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result of an attempted graceful termination.
|
|
3
|
+
*
|
|
4
|
+
* - `graceful`: the target acknowledged the signal and exited on its own
|
|
5
|
+
* before the grace deadline.
|
|
6
|
+
* - `forced`: we had to escalate to `SIGKILL` / `taskkill /F` after the
|
|
7
|
+
* deadline elapsed.
|
|
8
|
+
* - `esrch`: no such PID; the process was already gone (success).
|
|
9
|
+
* - `error`: an unexpected failure happened (e.g. permission denied on
|
|
10
|
+
* `taskkill`). Caller should inspect stderr.
|
|
11
|
+
*/
|
|
12
|
+
export type KillOutcome = "graceful" | "forced" | "esrch" | "error";
|
|
13
|
+
/**
|
|
14
|
+
* Synchronous variant — useful for `stop` commands that cannot easily be
|
|
15
|
+
* turned into async functions. Returns `true` iff the first signal
|
|
16
|
+
* attempt appeared to succeed (status 0 from `taskkill`, or `SIGTERM`
|
|
17
|
+
* delivered without throwing on POSIX).
|
|
18
|
+
*/
|
|
19
|
+
export declare function killGracefullySync(pid: number): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Async graceful termination.
|
|
22
|
+
*
|
|
23
|
+
* On Windows, `process.kill(pid, 'SIGTERM')` is a no-op (Node only supports
|
|
24
|
+
* `SIGKILL`/`SIGINT`/`SIGQUIT`/etc as process-group signals on POSIX).
|
|
25
|
+
* `taskkill /pid <pid> /T` without `/F` sends WM_CLOSE to GUI children and
|
|
26
|
+
* CTRL_BREAK to console children — which NestJS + Next.js turn into a
|
|
27
|
+
* graceful shutdown through `enableShutdownHooks()`. If the process is
|
|
28
|
+
* still alive after `graceMs`, we escalate to `/F` (force).
|
|
29
|
+
*
|
|
30
|
+
* On POSIX we send SIGTERM, wait `graceMs`, then SIGKILL as a last resort.
|
|
31
|
+
*
|
|
32
|
+
* The polling interval (200ms) is intentionally short so the function
|
|
33
|
+
* returns promptly when the child exits but does not busy-spin.
|
|
34
|
+
*/
|
|
35
|
+
export declare function killGracefully(pid: number, graceMs?: number): Promise<KillOutcome>;
|