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
|
@@ -1,50 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.extensionCommand = void 0;
|
|
40
|
-
exports.ensureEnvReady = ensureEnvReady;
|
|
41
|
-
exports.runExtensionCheck = runExtensionCheck;
|
|
42
|
-
const commander_1 = require("commander");
|
|
43
|
-
const axios_1 = __importDefault(require("axios"));
|
|
44
|
-
const ws_1 = __importDefault(require("ws"));
|
|
45
|
-
const config_1 = require("../config");
|
|
46
|
-
const i18n_1 = require("../i18n");
|
|
47
|
-
const install_1 = require("./install");
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
import WebSocket from 'ws';
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { loadConfig } from '../config.js';
|
|
7
|
+
import { i18n } from '../i18n/index.js';
|
|
8
|
+
import { showInstallGuide, runInstall } from './install.js';
|
|
9
|
+
import { getCliLogger } from '../logger.js';
|
|
48
10
|
const B = {
|
|
49
11
|
reset: '\x1b[0m', bold: '\x1b[1m',
|
|
50
12
|
green: '\x1b[32m', yellow: '\x1b[33m', red: '\x1b[31m', cyan: '\x1b[36m', magenta: '\x1b[35m',
|
|
@@ -53,16 +15,31 @@ const B = {
|
|
|
53
15
|
// 共用: 构建 HTTP client(baseURL = hunter-mate config serverUrl)
|
|
54
16
|
// ----------------------------------------------------------------------------
|
|
55
17
|
function http(baseUrl) {
|
|
56
|
-
return
|
|
18
|
+
return axios.create({
|
|
57
19
|
baseURL: baseUrl,
|
|
58
20
|
timeout: 60_000,
|
|
59
21
|
headers: { 'Content-Type': 'application/json' },
|
|
60
22
|
});
|
|
61
23
|
}
|
|
24
|
+
/** 带鉴权的 client(server /extensions* 端点要求 UTOKEN,与 job/record/search 等模块一致)。 */
|
|
25
|
+
async function httpAuth(baseUrl) {
|
|
26
|
+
const { getToken } = await import('../keychain.js');
|
|
27
|
+
const token = await getToken();
|
|
28
|
+
return axios.create({
|
|
29
|
+
baseURL: baseUrl,
|
|
30
|
+
timeout: 60_000,
|
|
31
|
+
headers: {
|
|
32
|
+
'Content-Type': 'application/json',
|
|
33
|
+
...(token ? { Authorization: `UTOKEN ${token}` } : {}),
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
62
37
|
function requireServerUrl() {
|
|
63
|
-
const config =
|
|
38
|
+
const config = loadConfig();
|
|
64
39
|
if (!config.serverUrl) {
|
|
65
|
-
|
|
40
|
+
getCliLogger().error('extension:no-server-url', {
|
|
41
|
+
hint: '请先 hunter-mate config 设置 serverUrl',
|
|
42
|
+
});
|
|
66
43
|
process.exit(1);
|
|
67
44
|
}
|
|
68
45
|
return config.serverUrl;
|
|
@@ -117,16 +94,16 @@ function JSON2YAML(input, indent = 0) {
|
|
|
117
94
|
// ----------------------------------------------------------------------------
|
|
118
95
|
let envReadyPromise = null;
|
|
119
96
|
/** 确保环境就绪(自动启动 server、自动安装扩展、打印引导) */
|
|
120
|
-
function ensureEnvReady() {
|
|
97
|
+
export function ensureEnvReady() {
|
|
121
98
|
if (envReadyPromise)
|
|
122
99
|
return envReadyPromise;
|
|
123
100
|
envReadyPromise = (async () => {
|
|
124
|
-
const config =
|
|
101
|
+
const config = loadConfig();
|
|
125
102
|
const serverUrl = config.serverUrl;
|
|
126
103
|
// 1) 检查 server 是否运行
|
|
127
104
|
let serverUp = false;
|
|
128
105
|
try {
|
|
129
|
-
await
|
|
106
|
+
await axios.get(`${serverUrl}/health`, { timeout: 2000 });
|
|
130
107
|
serverUp = true;
|
|
131
108
|
}
|
|
132
109
|
catch {
|
|
@@ -135,13 +112,13 @@ function ensureEnvReady() {
|
|
|
135
112
|
console.log(`${B.yellow}⚠ HunterMate Server 未运行, 正在自动启动...${B.reset}`);
|
|
136
113
|
}
|
|
137
114
|
try {
|
|
138
|
-
const { runStart } = await
|
|
115
|
+
const { runStart } = await import('./server.js');
|
|
139
116
|
runStart({ foreground: false });
|
|
140
117
|
// 等待 server 就绪(最多 8s)
|
|
141
118
|
for (let i = 0; i < 16; i++) {
|
|
142
119
|
await new Promise((r) => setTimeout(r, 500));
|
|
143
120
|
try {
|
|
144
|
-
await
|
|
121
|
+
await axios.get(`${serverUrl}/health`, { timeout: 1500 });
|
|
145
122
|
serverUp = true;
|
|
146
123
|
break;
|
|
147
124
|
}
|
|
@@ -151,13 +128,13 @@ function ensureEnvReady() {
|
|
|
151
128
|
catch { /* ignore */ }
|
|
152
129
|
}
|
|
153
130
|
if (!serverUp) {
|
|
154
|
-
|
|
131
|
+
getCliLogger().error('extension:server-start-failed', {
|
|
132
|
+
hint: '请手动执行 hunter-mate start -f',
|
|
133
|
+
});
|
|
155
134
|
process.exit(1);
|
|
156
135
|
}
|
|
157
136
|
// 2) 检查扩展是否安装
|
|
158
|
-
const
|
|
159
|
-
const path = require('path');
|
|
160
|
-
const { runInit } = await Promise.resolve().then(() => __importStar(require('./init')));
|
|
137
|
+
const { runInit } = await import('./init.js');
|
|
161
138
|
const init = runInit();
|
|
162
139
|
const manifestPath = path.join(init.extensionDir, 'manifest.json');
|
|
163
140
|
if (!fs.existsSync(manifestPath)) {
|
|
@@ -165,26 +142,25 @@ function ensureEnvReady() {
|
|
|
165
142
|
if (!process.env.HUNTER_MATE_SILENT_START) {
|
|
166
143
|
console.log(`${B.yellow}⚠ Hunter Mate 扩展未安装, 正在自动安装...${B.reset}`);
|
|
167
144
|
}
|
|
168
|
-
const r =
|
|
145
|
+
const r = runInstall(init.extensionDir);
|
|
169
146
|
if (!r.source) {
|
|
170
147
|
// 内置 dist 不存在, 无法自动安装
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
` 或手动安装: ${B.bold}hunter-mate install${B.reset}`);
|
|
148
|
+
getCliLogger().error('extension:auto-install-failed', {
|
|
149
|
+
hint: '请在 hunter-mate monorepo 执行 pnpm --filter @hunter-mate/extension build,或手动 hunter-mate install',
|
|
150
|
+
});
|
|
175
151
|
process.exit(1);
|
|
176
152
|
}
|
|
177
153
|
console.log(`${B.green}✓ 扩展已自动安装到 ${r.target}${B.reset}`);
|
|
178
|
-
//
|
|
154
|
+
// 打开扩展所在目录(父目录),方便用户把 extension 文件夹拖到 chrome://extensions
|
|
179
155
|
try {
|
|
180
|
-
const { default: open } = await
|
|
181
|
-
open(init.extensionDir).catch(() => { });
|
|
156
|
+
const { default: open } = await import('open');
|
|
157
|
+
open(path.dirname(init.extensionDir)).catch(() => { });
|
|
182
158
|
}
|
|
183
159
|
catch { }
|
|
184
|
-
|
|
160
|
+
showInstallGuide(init.extensionDir);
|
|
185
161
|
// 打开 chrome://extensions
|
|
186
162
|
try {
|
|
187
|
-
const { default: open } = await
|
|
163
|
+
const { default: open } = await import('open');
|
|
188
164
|
open('chrome://extensions').catch(() => { });
|
|
189
165
|
}
|
|
190
166
|
catch { }
|
|
@@ -193,12 +169,12 @@ function ensureEnvReady() {
|
|
|
193
169
|
}
|
|
194
170
|
// 3) 检查扩展是否连接
|
|
195
171
|
try {
|
|
196
|
-
const r = await
|
|
172
|
+
const r = await (await httpAuth(serverUrl)).get('/extensions', { timeout: 3000 });
|
|
197
173
|
const count = Array.isArray(r.data) ? r.data.length : 0;
|
|
198
174
|
if (count === 0) {
|
|
199
175
|
// 扩展已安装但未连接
|
|
200
176
|
console.log(`${B.yellow}⚠ Hunter Mate 扩展已安装但尚未连接到 Chrome${B.reset}\n`);
|
|
201
|
-
|
|
177
|
+
showInstallGuide(init.extensionDir);
|
|
202
178
|
console.log(`${B.bold}请确认:${B.reset}\n` +
|
|
203
179
|
` ${B.magenta}①${B.reset} Chrome 工具栏的 Hunter Mate 图标是否已显示?\n` +
|
|
204
180
|
` ${B.magenta}②${B.reset} 点击图标, 侧栏是否显示「已连接」?\n` +
|
|
@@ -213,7 +189,9 @@ function ensureEnvReady() {
|
|
|
213
189
|
}
|
|
214
190
|
catch {
|
|
215
191
|
// /extensions 端点不可达
|
|
216
|
-
|
|
192
|
+
getCliLogger().error('extension:check-failed', {
|
|
193
|
+
hint: 'Server 可能未正确启动, 请执行 hunter-mate start -f',
|
|
194
|
+
});
|
|
217
195
|
process.exit(1);
|
|
218
196
|
}
|
|
219
197
|
})();
|
|
@@ -224,10 +202,10 @@ function ensureEnvReady() {
|
|
|
224
202
|
// ----------------------------------------------------------------------------
|
|
225
203
|
// 原 check 命令(增强: 自动修复 + 友好引导)
|
|
226
204
|
// ----------------------------------------------------------------------------
|
|
227
|
-
async function runExtensionCheck(timeoutMs = 5000) {
|
|
228
|
-
const config =
|
|
205
|
+
export async function runExtensionCheck(timeoutMs = 5000) {
|
|
206
|
+
const config = loadConfig();
|
|
229
207
|
const wsUrl = config.serverUrl.replace(/^http/, 'ws') + '/ws';
|
|
230
|
-
const ws = new
|
|
208
|
+
const ws = new WebSocket(wsUrl);
|
|
231
209
|
return new Promise((resolve, reject) => {
|
|
232
210
|
const timeout = setTimeout(() => {
|
|
233
211
|
ws.terminate();
|
|
@@ -279,10 +257,10 @@ async function withEnvCheck(fn) {
|
|
|
279
257
|
}
|
|
280
258
|
catch (err) {
|
|
281
259
|
const msg = err.response?.data?.message ?? err.response?.data?.error ?? err.message;
|
|
282
|
-
|
|
260
|
+
getCliLogger().error('extension:exec-failed', { error: msg });
|
|
283
261
|
if (msg.includes('no Hunter Mate Chrome extension registered') || msg.includes('no Hunter Mate')) {
|
|
284
|
-
const init = await
|
|
285
|
-
|
|
262
|
+
const init = await import('./init.js').then((m) => m.runInit());
|
|
263
|
+
showInstallGuide(init.extensionDir);
|
|
286
264
|
}
|
|
287
265
|
process.exit(1);
|
|
288
266
|
}
|
|
@@ -290,7 +268,7 @@ async function withEnvCheck(fn) {
|
|
|
290
268
|
async function cmdList(opts) {
|
|
291
269
|
return withEnvCheck(async () => {
|
|
292
270
|
const serverUrl = requireServerUrl();
|
|
293
|
-
const r = await
|
|
271
|
+
const r = await (await httpAuth(serverUrl)).get('/extensions');
|
|
294
272
|
const data = Array.isArray(r.data) && r.data.length > 0
|
|
295
273
|
? r.data
|
|
296
274
|
: [{ extensionId: '(none connected)', hint: '请在 Chrome 中加载 Hunter Mate 扩展' }];
|
|
@@ -306,15 +284,18 @@ async function cmdControl(command, argsJson, opts) {
|
|
|
306
284
|
params = JSON.parse(argsJson);
|
|
307
285
|
}
|
|
308
286
|
catch {
|
|
309
|
-
|
|
287
|
+
getCliLogger().error('extension:invalid-control-args', {
|
|
288
|
+
hint: 'args 必须是合法 JSON 字符串',
|
|
289
|
+
});
|
|
310
290
|
process.exit(1);
|
|
311
291
|
}
|
|
312
292
|
}
|
|
313
|
-
const r = await
|
|
293
|
+
const r = await (await httpAuth(serverUrl)).post('/extensions/control', {
|
|
314
294
|
command,
|
|
315
295
|
params,
|
|
316
296
|
timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
|
|
317
297
|
extensionId: opts.extensionId,
|
|
298
|
+
sessionId: opts.sessionId ?? opts.taskId,
|
|
318
299
|
});
|
|
319
300
|
printResult(r.data, opts.format);
|
|
320
301
|
});
|
|
@@ -322,11 +303,12 @@ async function cmdControl(command, argsJson, opts) {
|
|
|
322
303
|
async function cmdGoto(url, opts) {
|
|
323
304
|
return withEnvCheck(async () => {
|
|
324
305
|
const serverUrl = requireServerUrl();
|
|
325
|
-
const r = await
|
|
306
|
+
const r = await (await httpAuth(serverUrl)).post('/extensions/goto', {
|
|
326
307
|
url,
|
|
327
308
|
waitUntil: opts.waitUntil,
|
|
328
309
|
timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
|
|
329
310
|
extensionId: opts.extensionId,
|
|
311
|
+
sessionId: opts.sessionId ?? opts.taskId,
|
|
330
312
|
});
|
|
331
313
|
printResult(r.data, opts.format);
|
|
332
314
|
});
|
|
@@ -334,7 +316,7 @@ async function cmdGoto(url, opts) {
|
|
|
334
316
|
async function cmdEval(expression, opts) {
|
|
335
317
|
return withEnvCheck(async () => {
|
|
336
318
|
const serverUrl = requireServerUrl();
|
|
337
|
-
const r = await
|
|
319
|
+
const r = await (await httpAuth(serverUrl)).post('/extensions/eval', {
|
|
338
320
|
expression,
|
|
339
321
|
timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
|
|
340
322
|
extensionId: opts.extensionId,
|
|
@@ -345,7 +327,7 @@ async function cmdEval(expression, opts) {
|
|
|
345
327
|
async function cmdScreenshot(opts) {
|
|
346
328
|
return withEnvCheck(async () => {
|
|
347
329
|
const serverUrl = requireServerUrl();
|
|
348
|
-
const r = await
|
|
330
|
+
const r = await (await httpAuth(serverUrl)).post('/extensions/screenshot', {
|
|
349
331
|
fullPage: opts.full ? true : undefined,
|
|
350
332
|
selector: opts.selector,
|
|
351
333
|
format: opts.imageFormat ?? 'png',
|
|
@@ -353,7 +335,7 @@ async function cmdScreenshot(opts) {
|
|
|
353
335
|
extensionId: opts.extensionId,
|
|
354
336
|
});
|
|
355
337
|
if (opts.out) {
|
|
356
|
-
const fs = await
|
|
338
|
+
const fs = await import('fs');
|
|
357
339
|
const body = r.data.result;
|
|
358
340
|
const base64 = (body ?? '').replace(/^data:image\/(png|jpeg);base64,/, '');
|
|
359
341
|
fs.writeFileSync(opts.out, Buffer.from(base64, 'base64'));
|
|
@@ -373,7 +355,9 @@ async function cmdRun(site, command, opts) {
|
|
|
373
355
|
params = JSON.parse(opts.args);
|
|
374
356
|
}
|
|
375
357
|
catch {
|
|
376
|
-
|
|
358
|
+
getCliLogger().error('extension:invalid-run-args', {
|
|
359
|
+
hint: 'args 必须是合法 JSON 字符串',
|
|
360
|
+
});
|
|
377
361
|
process.exit(1);
|
|
378
362
|
}
|
|
379
363
|
}
|
|
@@ -382,20 +366,22 @@ async function cmdRun(site, command, opts) {
|
|
|
382
366
|
timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
|
|
383
367
|
extensionId: opts.extensionId,
|
|
384
368
|
};
|
|
385
|
-
const r = await
|
|
369
|
+
const r = await (await httpAuth(serverUrl)).post(endpoint, payload);
|
|
386
370
|
printResult(r.data, opts.format);
|
|
387
371
|
});
|
|
388
372
|
}
|
|
389
373
|
// ----------------------------------------------------------------------------
|
|
390
374
|
// commander 注册
|
|
391
375
|
// ----------------------------------------------------------------------------
|
|
392
|
-
|
|
393
|
-
.description(
|
|
376
|
+
export const extensionCommand = new Command('extension')
|
|
377
|
+
.description(i18n.t('extension.description') + ' — 自动确保 server 运行 + 扩展就绪, 无感启动');
|
|
394
378
|
const common = (cmd) => cmd
|
|
395
379
|
.option('-f, --format <format>', '输出格式 json|yaml|table|md|csv', 'json')
|
|
396
380
|
.option('-e, --extension-id <id>', '指定扩展实例(多浏览器时必填)')
|
|
381
|
+
.option('-s, --session-id <id>', '会话 ID,用于自动归组新标签页')
|
|
382
|
+
.option('-T, --task-id <id>', '等价于 --session-id')
|
|
397
383
|
.option('-t, --timeout <ms>', '命令超时(ms),默认 15000');
|
|
398
|
-
|
|
384
|
+
extensionCommand
|
|
399
385
|
.command('check')
|
|
400
386
|
.description('检查扩展连接状态(自动启动 server + 自动安装扩展 + 中文引导)')
|
|
401
387
|
.action(async () => {
|
|
@@ -405,25 +391,25 @@ exports.extensionCommand
|
|
|
405
391
|
console.log(`\n${B.green}✓ Hunter Mate 扩展已连接 (${count} 个浏览器实例)${B.reset}\n`);
|
|
406
392
|
}
|
|
407
393
|
catch (err) {
|
|
408
|
-
|
|
394
|
+
getCliLogger().error('extension:check-error', { error: err.message });
|
|
409
395
|
process.exit(1);
|
|
410
396
|
}
|
|
411
397
|
});
|
|
412
|
-
common(
|
|
398
|
+
common(extensionCommand
|
|
413
399
|
.command('list')
|
|
414
400
|
.description('列出已连接的 Hunter Mate 浏览器扩展实例')).action(async (opts) => cmdList(opts));
|
|
415
|
-
common(
|
|
401
|
+
common(extensionCommand
|
|
416
402
|
.command('control <command> [argsJson]')
|
|
417
|
-
.description('通用页面控制(OpenCLI
|
|
418
|
-
common(
|
|
403
|
+
.description('通用页面控制(OpenCLI 全能力, 对应 chromepilot control):cp.state/cp.goto/cp.find/cp.click/cp.type/cp.fill/cp.select/cp.keys/cp.hover/cp.focus/cp.dblclick/cp.check/cp.uncheck/cp.get/cp.extract/cp.eval/cp.network/cp.frames/cp.wait/cp.upload/cp.drag/cp.scroll/cp.back/cp.screenshot/cp.insert/cp.cdp/cp.cookies/cp.window.close/cp.tab.*(list|new|select|close|bind|unbind)。参数 JSON 内 "__tab":"<tabId>" 定向 tab')).action(async (command, argsJson, opts) => cmdControl(command, argsJson, opts));
|
|
404
|
+
common(extensionCommand
|
|
419
405
|
.command('goto <url>')
|
|
420
406
|
.description('导航到指定 URL (对应 chromepilot control cp.goto)'))
|
|
421
407
|
.option('--wait-until <mode>', 'domcontentloaded|load|networkidle0|networkidle2')
|
|
422
408
|
.action(async (url, opts) => cmdGoto(url, opts));
|
|
423
|
-
common(
|
|
409
|
+
common(extensionCommand
|
|
424
410
|
.command('eval <expression>')
|
|
425
411
|
.description('在当前页面执行 JS 表达式 (对应 chromepilot control cp.eval)')).action(async (expression, opts) => cmdEval(expression, opts));
|
|
426
|
-
common(
|
|
412
|
+
common(extensionCommand
|
|
427
413
|
.command('screenshot')
|
|
428
414
|
.description('当前页面截图 (对应 chromepilot control cp.screenshot)'))
|
|
429
415
|
.option('--full', '整页截图')
|
|
@@ -431,7 +417,7 @@ common(exports.extensionCommand
|
|
|
431
417
|
.option('--image-format <fmt>', '图片格式 png|jpeg', 'png')
|
|
432
418
|
.option('--out <file>', '保存到文件(否则输出 base64 JSON)')
|
|
433
419
|
.action(async (opts) => cmdScreenshot(opts));
|
|
434
|
-
common(
|
|
420
|
+
common(extensionCommand
|
|
435
421
|
.command('run <site> <command>')
|
|
436
422
|
.description('站点适配器命令 (对应 chromepilot run): linkedin search|extract|invite 或 resume extract'))
|
|
437
423
|
.option('--args <json>', '命令参数 JSON 字符串')
|
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* 通知所有已连接扩展 reload(自愈主链路):
|
|
4
|
+
* 1) 优先 HTTP POST /system/broadcast-extension(返回明确 broadcast 计数和错误)
|
|
5
|
+
* 2) Fallback: 直连 WS /ws 发 {type:'broadcast', payload:{type:'reload'}}(兼容旧 server 无 HTTP 端点)
|
|
6
|
+
*/
|
|
3
7
|
export declare function runReload(timeoutMs?: number): Promise<{
|
|
4
8
|
broadcast: number;
|
|
5
9
|
msg: string;
|
|
10
|
+
errors?: Array<{
|
|
11
|
+
extensionId: string;
|
|
12
|
+
error: string;
|
|
13
|
+
}>;
|
|
6
14
|
}>;
|
|
7
|
-
/** 对应 ChromePilot open-ext / open-extension-folder:
|
|
15
|
+
/** 对应 ChromePilot open-ext / open-extension-folder: 打开扩展所在目录(~/.hunter-mate),方便拖到 chrome://extensions */
|
|
8
16
|
export declare function runOpenExt(target?: string): Promise<string>;
|
|
9
17
|
export declare const reloadCommand: Command;
|
|
10
18
|
export declare const openExtCommand: Command;
|
|
19
|
+
export interface PurgeResult {
|
|
20
|
+
ok: boolean;
|
|
21
|
+
skipped?: boolean;
|
|
22
|
+
root: string;
|
|
23
|
+
serverStopped: {
|
|
24
|
+
stopped: boolean;
|
|
25
|
+
pid: number | null;
|
|
26
|
+
msg: string;
|
|
27
|
+
} | null;
|
|
28
|
+
removedFiles?: number;
|
|
29
|
+
removedBytes?: number;
|
|
30
|
+
msg: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 彻底清理本地 hunter-mate:
|
|
34
|
+
* 1. 停止本地 server(若运行中)
|
|
35
|
+
* 2. 删除整个 ~/.hunter-mate 目录(含 config、token、cache DB、插件、skill、trace、日志、pid 等)
|
|
36
|
+
*/
|
|
37
|
+
export declare function runPurge(opts: {
|
|
38
|
+
force?: boolean;
|
|
39
|
+
}): Promise<PurgeResult>;
|
|
40
|
+
export declare const purgeCommand: Command;
|