@legioncodeinc/nectar 0.0.1
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.md +662 -0
- package/README.md +307 -0
- package/dist/api/daemon-api-wiring.d.ts +72 -0
- package/dist/api/daemon-api-wiring.d.ts.map +1 -0
- package/dist/api/daemon-api-wiring.js +150 -0
- package/dist/api/daemon-api-wiring.js.map +1 -0
- package/dist/api/hive-graph-api.d.ts +136 -0
- package/dist/api/hive-graph-api.d.ts.map +1 -0
- package/dist/api/hive-graph-api.js +234 -0
- package/dist/api/hive-graph-api.js.map +1 -0
- package/dist/api/loopback-client.d.ts +27 -0
- package/dist/api/loopback-client.d.ts.map +1 -0
- package/dist/api/loopback-client.js +87 -0
- package/dist/api/loopback-client.js.map +1 -0
- package/dist/api/router.d.ts +172 -0
- package/dist/api/router.d.ts.map +1 -0
- package/dist/api/router.js +212 -0
- package/dist/api/router.js.map +1 -0
- package/dist/api/status-query.d.ts +49 -0
- package/dist/api/status-query.d.ts.map +1 -0
- package/dist/api/status-query.js +103 -0
- package/dist/api/status-query.js.map +1 -0
- package/dist/brood-guard.d.ts +24 -0
- package/dist/brood-guard.d.ts.map +1 -0
- package/dist/brood-guard.js +19 -0
- package/dist/brood-guard.js.map +1 -0
- package/dist/brood-prereqs.d.ts +62 -0
- package/dist/brood-prereqs.d.ts.map +1 -0
- package/dist/brood-prereqs.js +87 -0
- package/dist/brood-prereqs.js.map +1 -0
- package/dist/brooding/bucketing.d.ts +68 -0
- package/dist/brooding/bucketing.d.ts.map +1 -0
- package/dist/brooding/bucketing.js +122 -0
- package/dist/brooding/bucketing.js.map +1 -0
- package/dist/brooding/cli.d.ts +78 -0
- package/dist/brooding/cli.d.ts.map +1 -0
- package/dist/brooding/cli.js +140 -0
- package/dist/brooding/cli.js.map +1 -0
- package/dist/brooding/constants.d.ts +75 -0
- package/dist/brooding/constants.d.ts.map +1 -0
- package/dist/brooding/constants.js +91 -0
- package/dist/brooding/constants.js.map +1 -0
- package/dist/brooding/cost.d.ts +110 -0
- package/dist/brooding/cost.d.ts.map +1 -0
- package/dist/brooding/cost.js +96 -0
- package/dist/brooding/cost.js.map +1 -0
- package/dist/brooding/describe.d.ts +152 -0
- package/dist/brooding/describe.d.ts.map +1 -0
- package/dist/brooding/describe.js +281 -0
- package/dist/brooding/describe.js.map +1 -0
- package/dist/brooding/discovery.d.ts +116 -0
- package/dist/brooding/discovery.d.ts.map +1 -0
- package/dist/brooding/discovery.js +179 -0
- package/dist/brooding/discovery.js.map +1 -0
- package/dist/brooding/index.d.ts +23 -0
- package/dist/brooding/index.d.ts.map +1 -0
- package/dist/brooding/index.js +33 -0
- package/dist/brooding/index.js.map +1 -0
- package/dist/brooding/pipeline-async.d.ts +97 -0
- package/dist/brooding/pipeline-async.d.ts.map +1 -0
- package/dist/brooding/pipeline-async.js +364 -0
- package/dist/brooding/pipeline-async.js.map +1 -0
- package/dist/brooding/pipeline.d.ts +198 -0
- package/dist/brooding/pipeline.d.ts.map +1 -0
- package/dist/brooding/pipeline.js +454 -0
- package/dist/brooding/pipeline.js.map +1 -0
- package/dist/brooding/precheck.d.ts +52 -0
- package/dist/brooding/precheck.d.ts.map +1 -0
- package/dist/brooding/precheck.js +143 -0
- package/dist/brooding/precheck.js.map +1 -0
- package/dist/brooding/resumability.d.ts +57 -0
- package/dist/brooding/resumability.d.ts.map +1 -0
- package/dist/brooding/resumability.js +46 -0
- package/dist/brooding/resumability.js.map +1 -0
- package/dist/cli.d.ts +139 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +912 -0
- package/dist/cli.js.map +1 -0
- package/dist/config-file.d.ts +52 -0
- package/dist/config-file.d.ts.map +1 -0
- package/dist/config-file.js +130 -0
- package/dist/config-file.js.map +1 -0
- package/dist/config.d.ts +49 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +98 -0
- package/dist/config.js.map +1 -0
- package/dist/daemon.d.ts +265 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +664 -0
- package/dist/daemon.js.map +1 -0
- package/dist/doctor-registry.d.ts +134 -0
- package/dist/doctor-registry.d.ts.map +1 -0
- package/dist/doctor-registry.js +173 -0
- package/dist/doctor-registry.js.map +1 -0
- package/dist/embeddings/cohere-portkey.d.ts +67 -0
- package/dist/embeddings/cohere-portkey.d.ts.map +1 -0
- package/dist/embeddings/cohere-portkey.js +171 -0
- package/dist/embeddings/cohere-portkey.js.map +1 -0
- package/dist/embeddings/config.d.ts +74 -0
- package/dist/embeddings/config.d.ts.map +1 -0
- package/dist/embeddings/config.js +131 -0
- package/dist/embeddings/config.js.map +1 -0
- package/dist/embeddings/guard.d.ts +34 -0
- package/dist/embeddings/guard.d.ts.map +1 -0
- package/dist/embeddings/guard.js +67 -0
- package/dist/embeddings/guard.js.map +1 -0
- package/dist/embeddings/hosted-portkey.d.ts +73 -0
- package/dist/embeddings/hosted-portkey.d.ts.map +1 -0
- package/dist/embeddings/hosted-portkey.js +179 -0
- package/dist/embeddings/hosted-portkey.js.map +1 -0
- package/dist/embeddings/http.d.ts +33 -0
- package/dist/embeddings/http.d.ts.map +1 -0
- package/dist/embeddings/http.js +19 -0
- package/dist/embeddings/http.js.map +1 -0
- package/dist/embeddings/index.d.ts +17 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +17 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/local-nomic.d.ts +78 -0
- package/dist/embeddings/local-nomic.d.ts.map +1 -0
- package/dist/embeddings/local-nomic.js +126 -0
- package/dist/embeddings/local-nomic.js.map +1 -0
- package/dist/embeddings/provider.d.ts +79 -0
- package/dist/embeddings/provider.d.ts.map +1 -0
- package/dist/embeddings/provider.js +50 -0
- package/dist/embeddings/provider.js.map +1 -0
- package/dist/enricher/config.d.ts +43 -0
- package/dist/enricher/config.d.ts.map +1 -0
- package/dist/enricher/config.js +34 -0
- package/dist/enricher/config.js.map +1 -0
- package/dist/enricher/content-cache.d.ts +29 -0
- package/dist/enricher/content-cache.d.ts.map +1 -0
- package/dist/enricher/content-cache.js +24 -0
- package/dist/enricher/content-cache.js.map +1 -0
- package/dist/enricher/cycle.d.ts +71 -0
- package/dist/enricher/cycle.d.ts.map +1 -0
- package/dist/enricher/cycle.js +319 -0
- package/dist/enricher/cycle.js.map +1 -0
- package/dist/enricher/describe.d.ts +61 -0
- package/dist/enricher/describe.d.ts.map +1 -0
- package/dist/enricher/describe.js +175 -0
- package/dist/enricher/describe.js.map +1 -0
- package/dist/enricher/failure.d.ts +25 -0
- package/dist/enricher/failure.d.ts.map +1 -0
- package/dist/enricher/failure.js +46 -0
- package/dist/enricher/failure.js.map +1 -0
- package/dist/enricher/index.d.ts +22 -0
- package/dist/enricher/index.d.ts.map +1 -0
- package/dist/enricher/index.js +22 -0
- package/dist/enricher/index.js.map +1 -0
- package/dist/enricher/jaccard.d.ts +11 -0
- package/dist/enricher/jaccard.d.ts.map +1 -0
- package/dist/enricher/jaccard.js +29 -0
- package/dist/enricher/jaccard.js.map +1 -0
- package/dist/enricher/loop.d.ts +22 -0
- package/dist/enricher/loop.d.ts.map +1 -0
- package/dist/enricher/loop.js +34 -0
- package/dist/enricher/loop.js.map +1 -0
- package/dist/enricher/meaningful-change.d.ts +28 -0
- package/dist/enricher/meaningful-change.d.ts.map +1 -0
- package/dist/enricher/meaningful-change.js +41 -0
- package/dist/enricher/meaningful-change.js.map +1 -0
- package/dist/enricher/observability.d.ts +22 -0
- package/dist/enricher/observability.d.ts.map +1 -0
- package/dist/enricher/observability.js +55 -0
- package/dist/enricher/observability.js.map +1 -0
- package/dist/enricher/pending-query.d.ts +35 -0
- package/dist/enricher/pending-query.d.ts.map +1 -0
- package/dist/enricher/pending-query.js +54 -0
- package/dist/enricher/pending-query.js.map +1 -0
- package/dist/enricher/sql-update.d.ts +7 -0
- package/dist/enricher/sql-update.d.ts.map +1 -0
- package/dist/enricher/sql-update.js +22 -0
- package/dist/enricher/sql-update.js.map +1 -0
- package/dist/enricher/store-adapter.d.ts +98 -0
- package/dist/enricher/store-adapter.d.ts.map +1 -0
- package/dist/enricher/store-adapter.js +129 -0
- package/dist/enricher/store-adapter.js.map +1 -0
- package/dist/enricher/store.d.ts +58 -0
- package/dist/enricher/store.d.ts.map +1 -0
- package/dist/enricher/store.js +126 -0
- package/dist/enricher/store.js.map +1 -0
- package/dist/enricher/tokenize.d.ts +10 -0
- package/dist/enricher/tokenize.d.ts.map +1 -0
- package/dist/enricher/tokenize.js +28 -0
- package/dist/enricher/tokenize.js.map +1 -0
- package/dist/errors.d.ts +41 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +56 -0
- package/dist/errors.js.map +1 -0
- package/dist/health.d.ts +147 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +168 -0
- package/dist/health.js.map +1 -0
- package/dist/hive-graph/deeplake-credentials.d.ts +68 -0
- package/dist/hive-graph/deeplake-credentials.d.ts.map +1 -0
- package/dist/hive-graph/deeplake-credentials.js +135 -0
- package/dist/hive-graph/deeplake-credentials.js.map +1 -0
- package/dist/hive-graph/deeplake-heal.d.ts +63 -0
- package/dist/hive-graph/deeplake-heal.d.ts.map +1 -0
- package/dist/hive-graph/deeplake-heal.js +118 -0
- package/dist/hive-graph/deeplake-heal.js.map +1 -0
- package/dist/hive-graph/deeplake-store.d.ts +199 -0
- package/dist/hive-graph/deeplake-store.d.ts.map +1 -0
- package/dist/hive-graph/deeplake-store.js +541 -0
- package/dist/hive-graph/deeplake-store.js.map +1 -0
- package/dist/hive-graph/deeplake-transport.d.ts +89 -0
- package/dist/hive-graph/deeplake-transport.d.ts.map +1 -0
- package/dist/hive-graph/deeplake-transport.js +145 -0
- package/dist/hive-graph/deeplake-transport.js.map +1 -0
- package/dist/hive-graph/hash.d.ts +3 -0
- package/dist/hive-graph/hash.d.ts.map +1 -0
- package/dist/hive-graph/hash.js +12 -0
- package/dist/hive-graph/hash.js.map +1 -0
- package/dist/hive-graph/memory-store.d.ts +39 -0
- package/dist/hive-graph/memory-store.d.ts.map +1 -0
- package/dist/hive-graph/memory-store.js +125 -0
- package/dist/hive-graph/memory-store.js.map +1 -0
- package/dist/hive-graph/model.d.ts +109 -0
- package/dist/hive-graph/model.d.ts.map +1 -0
- package/dist/hive-graph/model.js +36 -0
- package/dist/hive-graph/model.js.map +1 -0
- package/dist/hive-graph/paths.d.ts +7 -0
- package/dist/hive-graph/paths.d.ts.map +1 -0
- package/dist/hive-graph/paths.js +26 -0
- package/dist/hive-graph/paths.js.map +1 -0
- package/dist/hive-graph/project-scope.d.ts +99 -0
- package/dist/hive-graph/project-scope.d.ts.map +1 -0
- package/dist/hive-graph/project-scope.js +286 -0
- package/dist/hive-graph/project-scope.js.map +1 -0
- package/dist/hive-graph/schema.d.ts +53 -0
- package/dist/hive-graph/schema.d.ts.map +1 -0
- package/dist/hive-graph/schema.js +139 -0
- package/dist/hive-graph/schema.js.map +1 -0
- package/dist/hive-graph/search-types.d.ts +82 -0
- package/dist/hive-graph/search-types.d.ts.map +1 -0
- package/dist/hive-graph/search-types.js +2 -0
- package/dist/hive-graph/search-types.js.map +1 -0
- package/dist/hive-graph/search.d.ts +51 -0
- package/dist/hive-graph/search.d.ts.map +1 -0
- package/dist/hive-graph/search.js +417 -0
- package/dist/hive-graph/search.js.map +1 -0
- package/dist/hive-graph/sql-guards.d.ts +99 -0
- package/dist/hive-graph/sql-guards.d.ts.map +1 -0
- package/dist/hive-graph/sql-guards.js +129 -0
- package/dist/hive-graph/sql-guards.js.map +1 -0
- package/dist/hive-graph/store.d.ts +151 -0
- package/dist/hive-graph/store.d.ts.map +1 -0
- package/dist/hive-graph/store.js +2 -0
- package/dist/hive-graph/store.js.map +1 -0
- package/dist/hive-graph/ulid.d.ts +14 -0
- package/dist/hive-graph/ulid.d.ts.map +1 -0
- package/dist/hive-graph/ulid.js +109 -0
- package/dist/hive-graph/ulid.js.map +1 -0
- package/dist/hivedoctor-registry.d.ts +111 -0
- package/dist/hivedoctor-registry.d.ts.map +1 -0
- package/dist/hivedoctor-registry.js +143 -0
- package/dist/hivedoctor-registry.js.map +1 -0
- package/dist/index.d.ts +106 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/lock.d.ts +66 -0
- package/dist/lock.d.ts.map +1 -0
- package/dist/lock.js +282 -0
- package/dist/lock.js.map +1 -0
- package/dist/poll-loop.d.ts +71 -0
- package/dist/poll-loop.d.ts.map +1 -0
- package/dist/poll-loop.js +130 -0
- package/dist/poll-loop.js.map +1 -0
- package/dist/portkey/config.d.ts +46 -0
- package/dist/portkey/config.d.ts.map +1 -0
- package/dist/portkey/config.js +68 -0
- package/dist/portkey/config.js.map +1 -0
- package/dist/portkey/describe-model.d.ts +53 -0
- package/dist/portkey/describe-model.d.ts.map +1 -0
- package/dist/portkey/describe-model.js +56 -0
- package/dist/portkey/describe-model.js.map +1 -0
- package/dist/portkey/headers.d.ts +31 -0
- package/dist/portkey/headers.d.ts.map +1 -0
- package/dist/portkey/headers.js +37 -0
- package/dist/portkey/headers.js.map +1 -0
- package/dist/portkey/transport.d.ts +89 -0
- package/dist/portkey/transport.d.ts.map +1 -0
- package/dist/portkey/transport.js +167 -0
- package/dist/portkey/transport.js.map +1 -0
- package/dist/projection/format.d.ts +51 -0
- package/dist/projection/format.d.ts.map +1 -0
- package/dist/projection/format.js +81 -0
- package/dist/projection/format.js.map +1 -0
- package/dist/projection/generate.d.ts +31 -0
- package/dist/projection/generate.d.ts.map +1 -0
- package/dist/projection/generate.js +83 -0
- package/dist/projection/generate.js.map +1 -0
- package/dist/projection/inherit.d.ts +27 -0
- package/dist/projection/inherit.d.ts.map +1 -0
- package/dist/projection/inherit.js +128 -0
- package/dist/projection/inherit.js.map +1 -0
- package/dist/projection/load.d.ts +47 -0
- package/dist/projection/load.d.ts.map +1 -0
- package/dist/projection/load.js +258 -0
- package/dist/projection/load.js.map +1 -0
- package/dist/projection/store-adapter.d.ts +42 -0
- package/dist/projection/store-adapter.d.ts.map +1 -0
- package/dist/projection/store-adapter.js +42 -0
- package/dist/projection/store-adapter.js.map +1 -0
- package/dist/projection/write.d.ts +79 -0
- package/dist/projection/write.d.ts.map +1 -0
- package/dist/projection/write.js +122 -0
- package/dist/projection/write.js.map +1 -0
- package/dist/registration/classify.d.ts +33 -0
- package/dist/registration/classify.d.ts.map +1 -0
- package/dist/registration/classify.js +32 -0
- package/dist/registration/classify.js.map +1 -0
- package/dist/registration/copy-detect.d.ts +22 -0
- package/dist/registration/copy-detect.d.ts.map +1 -0
- package/dist/registration/copy-detect.js +12 -0
- package/dist/registration/copy-detect.js.map +1 -0
- package/dist/registration/disk-fs.d.ts +41 -0
- package/dist/registration/disk-fs.d.ts.map +1 -0
- package/dist/registration/disk-fs.js +175 -0
- package/dist/registration/disk-fs.js.map +1 -0
- package/dist/registration/fs-watch.d.ts +114 -0
- package/dist/registration/fs-watch.d.ts.map +1 -0
- package/dist/registration/fs-watch.js +266 -0
- package/dist/registration/fs-watch.js.map +1 -0
- package/dist/registration/ignore.d.ts +77 -0
- package/dist/registration/ignore.d.ts.map +1 -0
- package/dist/registration/ignore.js +249 -0
- package/dist/registration/ignore.js.map +1 -0
- package/dist/registration/ladder.d.ts +211 -0
- package/dist/registration/ladder.d.ts.map +1 -0
- package/dist/registration/ladder.js +378 -0
- package/dist/registration/ladder.js.map +1 -0
- package/dist/registration/paths-safe.d.ts +21 -0
- package/dist/registration/paths-safe.d.ts.map +1 -0
- package/dist/registration/paths-safe.js +88 -0
- package/dist/registration/paths-safe.js.map +1 -0
- package/dist/registration/prune-cli.d.ts +48 -0
- package/dist/registration/prune-cli.d.ts.map +1 -0
- package/dist/registration/prune-cli.js +57 -0
- package/dist/registration/prune-cli.js.map +1 -0
- package/dist/registration/review-cli.d.ts +42 -0
- package/dist/registration/review-cli.d.ts.map +1 -0
- package/dist/registration/review-cli.js +110 -0
- package/dist/registration/review-cli.js.map +1 -0
- package/dist/registration/review-store.d.ts +73 -0
- package/dist/registration/review-store.d.ts.map +1 -0
- package/dist/registration/review-store.js +243 -0
- package/dist/registration/review-store.js.map +1 -0
- package/dist/registration/service.d.ts +196 -0
- package/dist/registration/service.d.ts.map +1 -0
- package/dist/registration/service.js +384 -0
- package/dist/registration/service.js.map +1 -0
- package/dist/registration/store-bridge.d.ts +133 -0
- package/dist/registration/store-bridge.d.ts.map +1 -0
- package/dist/registration/store-bridge.js +159 -0
- package/dist/registration/store-bridge.js.map +1 -0
- package/dist/registration/tlsh.d.ts +125 -0
- package/dist/registration/tlsh.d.ts.map +1 -0
- package/dist/registration/tlsh.js +274 -0
- package/dist/registration/tlsh.js.map +1 -0
- package/dist/server.d.ts +26 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +156 -0
- package/dist/server.js.map +1 -0
- package/dist/service/argv.d.ts +52 -0
- package/dist/service/argv.d.ts.map +1 -0
- package/dist/service/argv.js +127 -0
- package/dist/service/argv.js.map +1 -0
- package/dist/service/command-runner.d.ts +54 -0
- package/dist/service/command-runner.d.ts.map +1 -0
- package/dist/service/command-runner.js +55 -0
- package/dist/service/command-runner.js.map +1 -0
- package/dist/service/index.d.ts +83 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +270 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/platform.d.ts +110 -0
- package/dist/service/platform.d.ts.map +1 -0
- package/dist/service/platform.js +157 -0
- package/dist/service/platform.js.map +1 -0
- package/dist/service/templates.d.ts +88 -0
- package/dist/service/templates.d.ts.map +1 -0
- package/dist/service/templates.js +212 -0
- package/dist/service/templates.js.map +1 -0
- package/dist/source-graph/deeplake-credentials.d.ts +57 -0
- package/dist/source-graph/deeplake-credentials.d.ts.map +1 -0
- package/dist/source-graph/deeplake-credentials.js +109 -0
- package/dist/source-graph/deeplake-credentials.js.map +1 -0
- package/dist/source-graph/deeplake-heal.d.ts +53 -0
- package/dist/source-graph/deeplake-heal.d.ts.map +1 -0
- package/dist/source-graph/deeplake-heal.js +41 -0
- package/dist/source-graph/deeplake-heal.js.map +1 -0
- package/dist/source-graph/deeplake-store.d.ts +151 -0
- package/dist/source-graph/deeplake-store.d.ts.map +1 -0
- package/dist/source-graph/deeplake-store.js +389 -0
- package/dist/source-graph/deeplake-store.js.map +1 -0
- package/dist/source-graph/deeplake-transport.d.ts +74 -0
- package/dist/source-graph/deeplake-transport.d.ts.map +1 -0
- package/dist/source-graph/deeplake-transport.js +107 -0
- package/dist/source-graph/deeplake-transport.js.map +1 -0
- package/dist/source-graph/hash.d.ts +3 -0
- package/dist/source-graph/hash.d.ts.map +1 -0
- package/dist/source-graph/hash.js +12 -0
- package/dist/source-graph/hash.js.map +1 -0
- package/dist/source-graph/memory-store.d.ts +32 -0
- package/dist/source-graph/memory-store.d.ts.map +1 -0
- package/dist/source-graph/memory-store.js +81 -0
- package/dist/source-graph/memory-store.js.map +1 -0
- package/dist/source-graph/model.d.ts +102 -0
- package/dist/source-graph/model.d.ts.map +1 -0
- package/dist/source-graph/model.js +36 -0
- package/dist/source-graph/model.js.map +1 -0
- package/dist/source-graph/paths.d.ts +7 -0
- package/dist/source-graph/paths.d.ts.map +1 -0
- package/dist/source-graph/paths.js +26 -0
- package/dist/source-graph/paths.js.map +1 -0
- package/dist/source-graph/schema.d.ts +44 -0
- package/dist/source-graph/schema.d.ts.map +1 -0
- package/dist/source-graph/schema.js +123 -0
- package/dist/source-graph/schema.js.map +1 -0
- package/dist/source-graph/sql-guards.d.ts +99 -0
- package/dist/source-graph/sql-guards.d.ts.map +1 -0
- package/dist/source-graph/sql-guards.js +129 -0
- package/dist/source-graph/sql-guards.js.map +1 -0
- package/dist/source-graph/store.d.ts +101 -0
- package/dist/source-graph/store.d.ts.map +1 -0
- package/dist/source-graph/store.js +2 -0
- package/dist/source-graph/store.js.map +1 -0
- package/dist/source-graph/ulid.d.ts +9 -0
- package/dist/source-graph/ulid.d.ts.map +1 -0
- package/dist/source-graph/ulid.js +61 -0
- package/dist/source-graph/ulid.js.map +1 -0
- package/dist/telemetry/checkin.d.ts +66 -0
- package/dist/telemetry/checkin.d.ts.map +1 -0
- package/dist/telemetry/checkin.js +142 -0
- package/dist/telemetry/checkin.js.map +1 -0
- package/dist/telemetry/db.d.ts +34 -0
- package/dist/telemetry/db.d.ts.map +1 -0
- package/dist/telemetry/db.js +122 -0
- package/dist/telemetry/db.js.map +1 -0
- package/dist/telemetry/index.d.ts +76 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +98 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/logs.d.ts +83 -0
- package/dist/telemetry/logs.d.ts.map +1 -0
- package/dist/telemetry/logs.js +110 -0
- package/dist/telemetry/logs.js.map +1 -0
- package/dist/telemetry/metrics.d.ts +82 -0
- package/dist/telemetry/metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics.js +148 -0
- package/dist/telemetry/metrics.js.map +1 -0
- package/dist/telemetry-usage/emit.d.ts +105 -0
- package/dist/telemetry-usage/emit.d.ts.map +1 -0
- package/dist/telemetry-usage/emit.js +267 -0
- package/dist/telemetry-usage/emit.js.map +1 -0
- package/dist/telemetry-usage/posthog-key.d.ts +22 -0
- package/dist/telemetry-usage/posthog-key.d.ts.map +1 -0
- package/dist/telemetry-usage/posthog-key.js +22 -0
- package/dist/telemetry-usage/posthog-key.js.map +1 -0
- package/dist/worker.d.ts +69 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +91 -0
- package/dist/worker.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hivedoctor-registry.d.ts","sourceRoot":"","sources":["../src/hivedoctor-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,EAAG,YAAqB,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD,0EAA0E;AAC1E,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,wFAAwF;AACxF,wBAAgB,6BAA6B,CAAC,IAAI,GAAE,MAAkB,GAAG,MAAM,CAE9E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,EAC5D,SAAS,GAAE,OAAO,CAChB,IAAI,CACF,uBAAuB,EACvB,iBAAiB,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,iBAAiB,CAC1G,CACG,GACL,uBAAuB,CAYzB;AA0DD,MAAM,WAAW,6BAA6B;IAC5C,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC;IACtE,wFAAwF;IACxF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAC1B,IAAI,CACF,uBAAuB,EACvB,iBAAiB,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,iBAAiB,CAC1G,CACF,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,4BAA4B,CAa9B"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hivenectar's registry entry in hivedoctor's daemon registry (PRD-003c).
|
|
3
|
+
*
|
|
4
|
+
* hivenectar becomes a supervised daemon by appending ONE entry to hivedoctor's
|
|
5
|
+
* registry file (`~/.honeycomb/hivedoctor.daemons.json`, the schema PRD-004a
|
|
6
|
+
* specifies, mirrored read-side in `hivedoctor/src/registry.ts`). That entry
|
|
7
|
+
* carries hivenectar's `healthUrl`, `pidPath`, `probeIntervalMs`, `startupGraceMs`,
|
|
8
|
+
* and restart thresholds. At the next hivedoctor boot, hivedoctor reads the
|
|
9
|
+
* registry and spawns one supervisor instance for hivenectar alongside honeycomb
|
|
10
|
+
* and thehive.
|
|
11
|
+
*
|
|
12
|
+
* Registration is a FILE EDIT at install time (PRD-003c "Registration mechanics"),
|
|
13
|
+
* never a runtime call: this module does not restart hivedoctor, does not open an
|
|
14
|
+
* HTTP connection, and does not hot-reload anything. It is idempotent - re-running
|
|
15
|
+
* the installer replaces hivenectar's own entry (keyed by `name: "hivenectar"`)
|
|
16
|
+
* rather than appending a duplicate, and every other daemon's entry is preserved
|
|
17
|
+
* byte-for-byte apart from array position.
|
|
18
|
+
*
|
|
19
|
+
* A PRESENT-but-malformed registry file fails loudly (this module never silently
|
|
20
|
+
* clobbers a broken file it cannot safely parse), mirroring hivedoctor's own
|
|
21
|
+
* fail-loud posture for a malformed registry (`hivedoctor/src/registry.ts`).
|
|
22
|
+
* PRD-017a deliberately does NOT change this posture to match hivedoctor's own
|
|
23
|
+
* fail-soft posture for a malformed registry read - the two are intentionally
|
|
24
|
+
* different (this writer refuses to clobber a broken install-time file; a
|
|
25
|
+
* malformed registry read is hivedoctor's own runtime concern, not this one).
|
|
26
|
+
*
|
|
27
|
+
* PRD-017a extends this entry with `telemetryDbPath`: the absolute path to
|
|
28
|
+
* hivenectar's runtime telemetry SQLite database (`telemetry/db.ts`,
|
|
29
|
+
* `~/.honeycomb/telemetry/hivenectar.sqlite` by default), per hivedoctor's
|
|
30
|
+
* `ADR-0002-service-registration-static-registry-plus-runtime-sqlite.md`. It is
|
|
31
|
+
* derived from `config.pidFilePath`'s directory (the same resolved runtime dir
|
|
32
|
+
* `healthUrl`/`pidPath` already come from), so a test-overridden runtime dir
|
|
33
|
+
* (`HIVENECTAR_RUNTIME_DIR` / `resolveConfig({ runtimeDir })`) keeps every
|
|
34
|
+
* per-daemon artifact - pid, lock, and now telemetry DB - colocated, with no
|
|
35
|
+
* separate `~` round-trip needed here (same rationale as `healthUrl`/`pidPath`).
|
|
36
|
+
*
|
|
37
|
+
* Built-ins only: node:fs, node:os, node:path.
|
|
38
|
+
*/
|
|
39
|
+
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
40
|
+
import { homedir } from "node:os";
|
|
41
|
+
import { dirname, join } from "node:path";
|
|
42
|
+
import { TELEMETRY_DB_FILE_NAME, TELEMETRY_DIR_NAME } from "./telemetry/db.js";
|
|
43
|
+
/** The daemon name hivenectar registers itself under. */
|
|
44
|
+
export const HIVENECTAR_DAEMON_NAME = "hivenectar";
|
|
45
|
+
/** hivedoctor's per-daemon defaults hivenectar's entry resolves to (PRD-003c table). */
|
|
46
|
+
export const DEFAULT_PROBE_INTERVAL_MS = 30_000;
|
|
47
|
+
export const DEFAULT_STARTUP_GRACE_MS = 60_000;
|
|
48
|
+
export const DEFAULT_RESTART_GIVE_UP_THRESHOLD = 3;
|
|
49
|
+
export const DEFAULT_RESTART_COOLDOWN_MS = 5_000;
|
|
50
|
+
/** Thrown when a PRESENT registry file cannot be safely parsed/edited. */
|
|
51
|
+
export class HivedoctorRegistryError extends Error {
|
|
52
|
+
constructor(message) {
|
|
53
|
+
super(message);
|
|
54
|
+
this.name = "HivedoctorRegistryError";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** The default registry file location, alongside the other `~/.honeycomb` artifacts. */
|
|
58
|
+
export function defaultHivedoctorRegistryPath(home = homedir()) {
|
|
59
|
+
return join(home, ".honeycomb", "hivedoctor.daemons.json");
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build hivenectar's registry entry from its resolved {@link RuntimeConfig}
|
|
63
|
+
* (PRD-003c table): `healthUrl`/`pidPath` come from hivenectar's own runtime
|
|
64
|
+
* config (already home-expanded, so no `~` round-trip is needed here); the
|
|
65
|
+
* remaining fields are hivedoctor's per-daemon defaults unless overridden.
|
|
66
|
+
*
|
|
67
|
+
* `telemetryDbPath` (PRD-017a) defaults to `<runtimeDir>/telemetry/hivenectar.sqlite`,
|
|
68
|
+
* where `runtimeDir` is `pidFilePath`'s own directory - the same resolved
|
|
69
|
+
* runtime dir every other per-daemon artifact already lives under, so a
|
|
70
|
+
* test-overridden runtime dir keeps pid/lock/telemetry colocated automatically.
|
|
71
|
+
*/
|
|
72
|
+
export function buildHivenectarRegistryEntry(config, overrides = {}) {
|
|
73
|
+
const runtimeDir = dirname(config.pidFilePath);
|
|
74
|
+
return {
|
|
75
|
+
name: HIVENECTAR_DAEMON_NAME,
|
|
76
|
+
healthUrl: `http://${config.host}:${config.port}/health`,
|
|
77
|
+
pidPath: config.pidFilePath,
|
|
78
|
+
probeIntervalMs: overrides.probeIntervalMs ?? DEFAULT_PROBE_INTERVAL_MS,
|
|
79
|
+
startupGraceMs: overrides.startupGraceMs ?? DEFAULT_STARTUP_GRACE_MS,
|
|
80
|
+
restartGiveUpThreshold: overrides.restartGiveUpThreshold ?? DEFAULT_RESTART_GIVE_UP_THRESHOLD,
|
|
81
|
+
restartCooldownMs: overrides.restartCooldownMs ?? DEFAULT_RESTART_COOLDOWN_MS,
|
|
82
|
+
telemetryDbPath: overrides.telemetryDbPath ?? join(runtimeDir, TELEMETRY_DIR_NAME, TELEMETRY_DB_FILE_NAME),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function isRecord(value) {
|
|
86
|
+
return value !== null && typeof value === "object";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Read the registry file's raw `daemons` array. A PRESENT-but-malformed file
|
|
90
|
+
* (unparseable JSON, not an object, or a `daemons` field that is not an array)
|
|
91
|
+
* throws {@link HivedoctorRegistryError} rather than being silently overwritten -
|
|
92
|
+
* a real misconfiguration must not be clobbered by an installer.
|
|
93
|
+
*/
|
|
94
|
+
function readExistingRegistry(registryPath) {
|
|
95
|
+
let contents;
|
|
96
|
+
try {
|
|
97
|
+
contents = readFileSync(registryPath, "utf8");
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
if (error.code === "ENOENT")
|
|
101
|
+
return { fileExisted: false, daemons: [] };
|
|
102
|
+
throw new HivedoctorRegistryError(`could not read the hivedoctor registry at ${registryPath}: ${error instanceof Error ? error.message : "unknown"}`);
|
|
103
|
+
}
|
|
104
|
+
let parsed;
|
|
105
|
+
try {
|
|
106
|
+
parsed = JSON.parse(contents);
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
throw new HivedoctorRegistryError(`the hivedoctor registry at ${registryPath} is not valid JSON: ${error instanceof Error ? error.message : "unknown"}`);
|
|
110
|
+
}
|
|
111
|
+
if (!isRecord(parsed)) {
|
|
112
|
+
throw new HivedoctorRegistryError(`the hivedoctor registry at ${registryPath} must be a JSON object with a "daemons" array`);
|
|
113
|
+
}
|
|
114
|
+
const daemons = parsed.daemons;
|
|
115
|
+
if (daemons === undefined)
|
|
116
|
+
return { fileExisted: true, daemons: [] };
|
|
117
|
+
if (!Array.isArray(daemons)) {
|
|
118
|
+
throw new HivedoctorRegistryError(`the hivedoctor registry at ${registryPath} has a non-array "daemons" field`);
|
|
119
|
+
}
|
|
120
|
+
return { fileExisted: true, daemons };
|
|
121
|
+
}
|
|
122
|
+
/** True iff a raw (unvalidated) registry entry names hivenectar. */
|
|
123
|
+
function isHivenectarEntry(raw) {
|
|
124
|
+
return isRecord(raw) && raw.name === HIVENECTAR_DAEMON_NAME;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Append (or idempotently replace) hivenectar's entry in hivedoctor's registry
|
|
128
|
+
* file (PRD-003c US-003c.1). Every OTHER daemon's entry is preserved unchanged.
|
|
129
|
+
* Does NOT restart hivedoctor and does NOT touch anything besides this one file -
|
|
130
|
+
* the entry takes effect at hivedoctor's next natural boot (PRD-003c Non-Goals).
|
|
131
|
+
*/
|
|
132
|
+
export function registerWithHivedoctor(options) {
|
|
133
|
+
const registryPath = options.registryPath ?? defaultHivedoctorRegistryPath();
|
|
134
|
+
const entry = buildHivenectarRegistryEntry(options.config, options.overrides);
|
|
135
|
+
const { fileExisted, daemons: existing } = readExistingRegistry(registryPath);
|
|
136
|
+
const replaced = existing.some(isHivenectarEntry);
|
|
137
|
+
const kept = existing.filter((raw) => !isHivenectarEntry(raw));
|
|
138
|
+
const daemons = [...kept, entry];
|
|
139
|
+
mkdirSync(dirname(registryPath), { recursive: true });
|
|
140
|
+
writeFileSync(registryPath, `${JSON.stringify({ daemons }, null, 2)}\n`, "utf8");
|
|
141
|
+
return { registryPath, entry, created: !fileExisted, replaced };
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=hivedoctor-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hivedoctor-registry.js","sourceRoot":"","sources":["../src/hivedoctor-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public entry point for @legioncodeinc/nectar.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the daemon composition root and its building blocks so the package
|
|
5
|
+
* can be embedded (tests, hive aggregation, future SDK) without going through
|
|
6
|
+
* the CLI. The CLI (`nectar daemon`) is the operator-facing surface;
|
|
7
|
+
* `assembleDaemon` is the programmatic one.
|
|
8
|
+
*/
|
|
9
|
+
export { assembleDaemon } from "./daemon.js";
|
|
10
|
+
export type { AssembleOptions, AssembledDaemon, RegistrationPipeline } from "./daemon.js";
|
|
11
|
+
export { resolveConfig, DEFAULT_HOST, DEFAULT_PORT, DEFAULT_POLL_INTERVAL_MS, DEFAULT_PID_FILE_NAME, DEFAULT_LOCK_FILE_NAME, RUNTIME_DIR_NAME, } from "./config.js";
|
|
12
|
+
export type { RuntimeConfig, RuntimeConfigOverrides } from "./config.js";
|
|
13
|
+
export { acquireSingleInstanceLock, releaseSingleInstanceLock, isPidAlive, readPidFile, isLockHeldByLiveDaemon, } from "./lock.js";
|
|
14
|
+
export type { LockPaths } from "./lock.js";
|
|
15
|
+
export { HealthState, healthHttpStatus } from "./health.js";
|
|
16
|
+
export type { HealthBody, PipelineStatus } from "./health.js";
|
|
17
|
+
export { PollLoop, realTimer } from "./poll-loop.js";
|
|
18
|
+
export type { PollLoopOptions, Tick, Timer } from "./poll-loop.js";
|
|
19
|
+
export { HiveantennaeWorker, emptyJobSource } from "./worker.js";
|
|
20
|
+
export type { Job, JobHandler, JobKind, JobSource, WorkerOptions } from "./worker.js";
|
|
21
|
+
export { createHttpServer } from "./server.js";
|
|
22
|
+
export type { HttpServer } from "./server.js";
|
|
23
|
+
export { DaemonAlreadyRunningError } from "./errors.js";
|
|
24
|
+
export { NectarRouter, ROUTE_GROUPS, HIVE_GRAPH_GROUP, MAX_REQUEST_BODY_BYTES, allowAllPermission, notImplementedScaffold, buildRouteContext, BodyTooLargeError, } from "./api/router.js";
|
|
25
|
+
export type { RouteGroup, RouteGroupSpec, RouteContext, RouteResponse, RouteHandler, PermissionGate, PermissionRejection, } from "./api/router.js";
|
|
26
|
+
export { mountHiveGraphApi, NO_ORG_BODY, parseSearchRequest, parseBuildRequest } from "./api/hive-graph-api.js";
|
|
27
|
+
export type { MountHiveGraphOptions, RouteGroupProvider, BuildArgs, ProjectionRebuildResult, } from "./api/hive-graph-api.js";
|
|
28
|
+
export { readHiveGraphStatusOverStorage, buildDescribeStatusCountSql, buildQueueDepthSql, emptyDescribeStatusCounts, parseDescribeStatusCounts, } from "./api/status-query.js";
|
|
29
|
+
export type { HiveGraphStatus, DescribeStatusCounts, ReadHiveGraphStatusOptions } from "./api/status-query.js";
|
|
30
|
+
export { searchViaDaemon, DaemonUnreachableError, DaemonSearchError } from "./api/loopback-client.js";
|
|
31
|
+
export type { LoopbackSearchOptions } from "./api/loopback-client.js";
|
|
32
|
+
export type { Tenancy, NectarKind, DescribeStatus, HiveGraphRow, HiveGraphVersionRow, } from "./hive-graph/model.js";
|
|
33
|
+
export { DESCRIBE_STATUSES, EMBED_DIMS, isValidEmbedding, inTenancy } from "./hive-graph/model.js";
|
|
34
|
+
export type { HiveGraphStore, AsyncHiveGraphStore, LatestVersion } from "./hive-graph/store.js";
|
|
35
|
+
export { InMemoryHiveGraphStore } from "./hive-graph/memory-store.js";
|
|
36
|
+
export { mintNectar, nectarCreatedAt, nectarTimestampMs, isValidNectar } from "./hive-graph/ulid.js";
|
|
37
|
+
export { sha256Hex } from "./hive-graph/hash.js";
|
|
38
|
+
export { toRepoRelative, filenameOf, extOf } from "./hive-graph/paths.js";
|
|
39
|
+
export type { ColumnDef, CatalogTable, SqlType } from "./hive-graph/schema.js";
|
|
40
|
+
export { HIVE_GRAPH_TABLE, HIVE_GRAPH_VERSIONS_TABLE, HIVE_GRAPH_CATALOG_GROUP, HIVE_GRAPH_COLUMNS, HIVE_GRAPH_VERSIONS_COLUMNS, assertValidCatalogTable, buildCreateTableSql, } from "./hive-graph/schema.js";
|
|
41
|
+
export type { TransportErrorKind, DeepLakeRow, DeepLakeTransportConfig } from "./hive-graph/deeplake-transport.js";
|
|
42
|
+
export { TransportError, HttpDeepLakeTransport, DEFAULT_TRANSPORT_TIMEOUT_MS, DEEPLAKE_CLIENT_HEADER, DEEPLAKE_ORG_HEADER, } from "./hive-graph/deeplake-transport.js";
|
|
43
|
+
export type { DeepLakeCredentials, LoadCredentialsOptions } from "./hive-graph/deeplake-credentials.js";
|
|
44
|
+
export { loadDeepLakeCredentials, DeepLakeCredentialsError, redactToken, credentialsDir, credentialsPath, DEFAULT_DEEPLAKE_API_URL, } from "./hive-graph/deeplake-credentials.js";
|
|
45
|
+
export { withHeal, isMissingTableError } from "./hive-graph/deeplake-heal.js";
|
|
46
|
+
export type { QueryRunner } from "./hive-graph/deeplake-heal.js";
|
|
47
|
+
export { sqlStr, sqlLike, sqlIdent, sLiteral, eLiteral, sqlFloat4Array, sqlNum } from "./hive-graph/sql-guards.js";
|
|
48
|
+
export { DeepLakeHiveGraphStore } from "./hive-graph/deeplake-store.js";
|
|
49
|
+
export type { DeepLakeHiveGraphStoreOptions } from "./hive-graph/deeplake-store.js";
|
|
50
|
+
export { WatchIntake, DEFAULT_DEBOUNCE_MS } from "./registration/fs-watch.js";
|
|
51
|
+
export type { WatchIntakeOptions } from "./registration/fs-watch.js";
|
|
52
|
+
export { classifyPath } from "./registration/classify.js";
|
|
53
|
+
export type { PathObservation, LadderInput, LadderInputKind } from "./registration/classify.js";
|
|
54
|
+
export { classifyNewFile } from "./registration/copy-detect.js";
|
|
55
|
+
export type { NewFileDecision } from "./registration/copy-detect.js";
|
|
56
|
+
export { reassociate, carryNectar } from "./registration/ladder.js";
|
|
57
|
+
export type { ObservedFile, FuzzyStep, FuzzyOutcome, FuzzyCandidate, ReviewCandidate, LadderDeps, LadderResult, LadderStep, LadderAction, } from "./registration/ladder.js";
|
|
58
|
+
export { createDefaultIgnore, loadIgnorePrefixes, ALWAYS_IGNORED_SEGMENTS, GRAPH_IGNORE_FILE, } from "./registration/ignore.js";
|
|
59
|
+
export type { IgnorePredicate } from "./registration/ignore.js";
|
|
60
|
+
export { computeFingerprint, fingerprintDistance, distanceToConfidence, createTlshFuzzyStep, DEFAULT_TUNABLE_FUZZY_CONFIG, MAX_DISTANCE, SIZE_BUCKET_TOLERANCE, FINGERPRINT_PREFIX, } from "./registration/tlsh.js";
|
|
61
|
+
export type { FuzzyConfig } from "./registration/tlsh.js";
|
|
62
|
+
export { RegistrationService } from "./registration/service.js";
|
|
63
|
+
export type { RegistrationServiceOptions, RegistrationFs, StatResult } from "./registration/service.js";
|
|
64
|
+
export { StoreBridge } from "./registration/store-bridge.js";
|
|
65
|
+
export type { StoreBridgeOptions, DurableWriteOp } from "./registration/store-bridge.js";
|
|
66
|
+
export { createDiskRegistrationFs } from "./registration/disk-fs.js";
|
|
67
|
+
export { isSafeRelPath, containedPath, realpathContained } from "./registration/paths-safe.js";
|
|
68
|
+
export { InMemoryPendingReviewStore, FilePendingReviewStore, } from "./registration/review-store.js";
|
|
69
|
+
export type { PendingReviewStore, PendingReviewCandidate } from "./registration/review-store.js";
|
|
70
|
+
export { runReviewMatches } from "./registration/review-cli.js";
|
|
71
|
+
export type { ReviewMatchesDeps, ReviewMatchesResult, ReviewDecision } from "./registration/review-cli.js";
|
|
72
|
+
export { runPrune, findPruneCandidates, PRUNE_GRACE_MS } from "./registration/prune-cli.js";
|
|
73
|
+
export type { PruneDeps, PruneCandidate, PruneResult } from "./registration/prune-cli.js";
|
|
74
|
+
export { resolveServicePlan, resolveServiceContext, SERVICE_LABEL, SYSTEMD_UNIT_NAME, WINDOWS_TASK_NAME, NECTAR_RUN_COMMAND, RESTART_SEC, WINDOWS_RESTART_INTERVAL, renderUnit, installCommands, uninstallCommands, statusCommand, createExecFileRunner, createServiceModule, createNodeServiceFs, serviceStatus, } from "./service/index.js";
|
|
75
|
+
export type { ServicePlan, ServiceEnvironment, ServiceCommand, CommandRunner, CommandResult, CommandRunOptions, ServiceModule, ServiceModuleDeps, ServiceResult, ServiceStatus, ServiceFs, } from "./service/index.js";
|
|
76
|
+
export { resolveProjectScope, loadProjectsCache, emptyProjectsCache, canonicalizeRemote, readGitRemoteSignal, originUrlFromConfig, projectsCacheDir, projectsCachePath, ENV_PROJECT_ID, DETECTED_HONEYCOMB_PROJECT_ID, UNSORTED_PROJECT_ID, PROJECTS_CACHE_FILE_NAME, PROJECTS_CACHE_SCHEMA_VERSION, } from "./hive-graph/project-scope.js";
|
|
77
|
+
export type { ResolvedProjectScope, ProjectScopeSource, ResolveProjectScopeOptions, ProjectsCache, FolderBinding, CachedProject, } from "./hive-graph/project-scope.js";
|
|
78
|
+
export { createTelemetry, createNullTelemetry, wrapStoreWithMetrics, createLogTap, redactLogMessage, levelFromLine, messageFromLine, defaultTelemetryDbPath, telemetryDbPathForRuntimeDir, TELEMETRY_DIR_NAME, TELEMETRY_DB_FILE_NAME, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOG_MAX_AGE_MS, MAX_LOG_MESSAGE_LENGTH, LOG_LEVELS, CheckinService, CheckinWriter, MetricsWriter, LogWriter, } from "./telemetry/index.js";
|
|
79
|
+
export type { Telemetry, CreateTelemetryOptions, StartCheckinOptions, StopHeartbeat, MetricsSnapshot, PipelineMetricsSink, LogLevel, LogSink, SqliteDatabaseLike, } from "./telemetry/index.js";
|
|
80
|
+
export { NECTAR_DAEMON_NAME, DEFAULT_PROBE_INTERVAL_MS, DEFAULT_STARTUP_GRACE_MS, DEFAULT_RESTART_GIVE_UP_THRESHOLD, DEFAULT_RESTART_COOLDOWN_MS, DoctorRegistryError, defaultDoctorRegistryPath, buildNectarRegistryEntry, registerWithDoctor, } from "./doctor-registry.js";
|
|
81
|
+
export type { DoctorRegistryEntry, RegisterWithDoctorOptions, RegisterWithDoctorResult, } from "./doctor-registry.js";
|
|
82
|
+
export { PORTKEY_BASE_URL, PORTKEY_CHAT_COMPLETIONS_URL, PORTKEY_EMBEDDINGS_URL, PORTKEY_API_KEY_HEADER, PORTKEY_CONFIG_HEADER, buildPortkeyHeaders, } from "./portkey/headers.js";
|
|
83
|
+
export { resolvePortkeyConfig, DEFAULT_ACTIVE_MODEL, PORTKEY_CONFIG_SURFACE_KEYS } from "./portkey/config.js";
|
|
84
|
+
export type { PortkeyRuntimeConfig, PortkeyEnabled, PortkeyDisabled, PortkeyConfigOverrides, } from "./portkey/config.js";
|
|
85
|
+
export { describeViaPortkey, PortkeyTransportError, PORTKEY_DEFAULT_MAX_TOKENS, PORTKEY_RETRYABLE_STATUSES, PORTKEY_MAX_ATTEMPTS, PORTKEY_RETRY_BACKOFF_MS, PORTKEY_REQUEST_TIMEOUT_MS, } from "./portkey/transport.js";
|
|
86
|
+
export type { ChatMessage, PortkeyUsage, DescribeViaPortkeyResult, DescribeViaPortkeyRequest, DescribeViaPortkeyDeps, PortkeyFetch, } from "./portkey/transport.js";
|
|
87
|
+
export { buildDescribeModelStamp, resetForRedescribe, applyDescribeModelStamp, isSkippedDescribeStatus, SKIPPED_DESCRIBE_STATUSES, } from "./portkey/describe-model.js";
|
|
88
|
+
export type { DescriptionPayload, DescribeModelStamp, RedescribeRow, RedescribeReset, } from "./portkey/describe-model.js";
|
|
89
|
+
export { PROJECTION_SCHEMA_VERSION, DEFAULT_PROJECTION_REL_PATH, DEFAULT_GENERATOR, isValidContentHash, parseProjectionJson, canonicalSerialize, canonicalSerializeExceptGeneratedAt, } from "./projection/format.js";
|
|
90
|
+
export type { PortableProjection, ProjectionProject, ProjectionFileEntry, ProjectionDerivedEntry, } from "./projection/format.js";
|
|
91
|
+
export { buildProjection, buildProjectionFromStore, buildProjectionFromAsyncStore, } from "./projection/generate.js";
|
|
92
|
+
export type { BuildProjectionOptions, BuildProjectionFromStoreOptions } from "./projection/generate.js";
|
|
93
|
+
export { collectProjectionSources, collectProjectionSourcesAsync } from "./projection/store-adapter.js";
|
|
94
|
+
export type { ProjectionNectarSource, CollectProjectionSourcesOptions } from "./projection/store-adapter.js";
|
|
95
|
+
export { ProjectionWriter, writeProjectionAtomic, projectionFinalPath, rebuildProjection, rebuildProjectionAsync, DEFAULT_WRITE_DEBOUNCE_MS, } from "./projection/write.js";
|
|
96
|
+
export type { WriteProjectionOptions, ProjectionWriterOptions, RebuildProjectionOptions, RebuildProjectionAsyncOptions, } from "./projection/write.js";
|
|
97
|
+
export { loadProjection, loadProjectionFromFile, validateProjection, buildContentHashIndex, MAX_PROJECTION_FILE_BYTES, } from "./projection/load.js";
|
|
98
|
+
export type { LoadIgnoreReason, LoadProjectionResult, LoadProjectionFromFileOptions, } from "./projection/load.js";
|
|
99
|
+
export { inheritFromProjection } from "./projection/inherit.js";
|
|
100
|
+
export type { DiskHashMap, InheritRow, InheritSummary, InheritFromProjectionOptions, } from "./projection/inherit.js";
|
|
101
|
+
export { resolveEmbeddingsConfig, normalizeSelector, resolveEmbedProvider, createOffProvider, DEFAULT_EMBED_PROVIDER, withDimGuard, guardVector, stderrDimRejectionSink, createLocalNomicHttpTransport, createLocalNomicProvider, createHostedPortkeyProvider, parseEmbeddingsResponse, DEFAULT_LOCAL_EMBED_HOST, DEFAULT_LOCAL_EMBED_PORT, DEFAULT_LOCAL_EMBED_TIMEOUT_MS, DEFAULT_HOSTED_EMBED_MODEL, DEFAULT_HOSTED_OUTPUT_DIMENSION, DEFAULT_HOSTED_MAX_ATTEMPTS, DEFAULT_HOSTED_RETRY_BACKOFF_MS, DEFAULT_HOSTED_REQUEST_TIMEOUT_MS, HOSTED_RETRYABLE_STATUSES, defaultFetch, defaultSleep, } from "./embeddings/index.js";
|
|
102
|
+
export type { EmbedProvider, EmbedProviderSelector, ResolveEmbedProviderDeps, ResolvedEmbeddingsConfig, EmbeddingsConfigOverrides, DimRejection, DimRejectionSink, LocalNomicConfig, LocalNomicTransport, LocalNomicHttpDeps, HostedEmbeddingsConfig, HostedPortkeyDeps, FetchLike, FetchResponseLike, SleepFn, } from "./embeddings/index.js";
|
|
103
|
+
export * as brooding from "./brooding/index.js";
|
|
104
|
+
export * as enricher from "./enricher/index.js";
|
|
105
|
+
export * as search from "./hive-graph/search.js";
|
|
106
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public entry point for @legioncodeinc/nectar.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the daemon composition root and its building blocks so the package
|
|
5
|
+
* can be embedded (tests, hive aggregation, future SDK) without going through
|
|
6
|
+
* the CLI. The CLI (`nectar daemon`) is the operator-facing surface;
|
|
7
|
+
* `assembleDaemon` is the programmatic one.
|
|
8
|
+
*/
|
|
9
|
+
export { assembleDaemon } from "./daemon.js";
|
|
10
|
+
export { resolveConfig, DEFAULT_HOST, DEFAULT_PORT, DEFAULT_POLL_INTERVAL_MS, DEFAULT_PID_FILE_NAME, DEFAULT_LOCK_FILE_NAME, RUNTIME_DIR_NAME, } from "./config.js";
|
|
11
|
+
export { acquireSingleInstanceLock, releaseSingleInstanceLock, isPidAlive, readPidFile, isLockHeldByLiveDaemon, } from "./lock.js";
|
|
12
|
+
export { HealthState, healthHttpStatus } from "./health.js";
|
|
13
|
+
export { PollLoop, realTimer } from "./poll-loop.js";
|
|
14
|
+
export { HiveantennaeWorker, emptyJobSource } from "./worker.js";
|
|
15
|
+
export { createHttpServer } from "./server.js";
|
|
16
|
+
export { DaemonAlreadyRunningError } from "./errors.js";
|
|
17
|
+
// PRD-008: the /api/hive-graph route-group seam + handler-attachment module.
|
|
18
|
+
export { NectarRouter, ROUTE_GROUPS, HIVE_GRAPH_GROUP, MAX_REQUEST_BODY_BYTES, allowAllPermission, notImplementedScaffold, buildRouteContext, BodyTooLargeError, } from "./api/router.js";
|
|
19
|
+
export { mountHiveGraphApi, NO_ORG_BODY, parseSearchRequest, parseBuildRequest } from "./api/hive-graph-api.js";
|
|
20
|
+
export { readHiveGraphStatusOverStorage, buildDescribeStatusCountSql, buildQueueDepthSql, emptyDescribeStatusCounts, parseDescribeStatusCounts, } from "./api/status-query.js";
|
|
21
|
+
export { searchViaDaemon, DaemonUnreachableError, DaemonSearchError } from "./api/loopback-client.js";
|
|
22
|
+
export { DESCRIBE_STATUSES, EMBED_DIMS, isValidEmbedding, inTenancy } from "./hive-graph/model.js";
|
|
23
|
+
export { InMemoryHiveGraphStore } from "./hive-graph/memory-store.js";
|
|
24
|
+
export { mintNectar, nectarCreatedAt, nectarTimestampMs, isValidNectar } from "./hive-graph/ulid.js";
|
|
25
|
+
export { sha256Hex } from "./hive-graph/hash.js";
|
|
26
|
+
export { toRepoRelative, filenameOf, extOf } from "./hive-graph/paths.js";
|
|
27
|
+
export { HIVE_GRAPH_TABLE, HIVE_GRAPH_VERSIONS_TABLE, HIVE_GRAPH_CATALOG_GROUP, HIVE_GRAPH_COLUMNS, HIVE_GRAPH_VERSIONS_COLUMNS, assertValidCatalogTable, buildCreateTableSql, } from "./hive-graph/schema.js";
|
|
28
|
+
export { TransportError, HttpDeepLakeTransport, DEFAULT_TRANSPORT_TIMEOUT_MS, DEEPLAKE_CLIENT_HEADER, DEEPLAKE_ORG_HEADER, } from "./hive-graph/deeplake-transport.js";
|
|
29
|
+
export { loadDeepLakeCredentials, DeepLakeCredentialsError, redactToken, credentialsDir, credentialsPath, DEFAULT_DEEPLAKE_API_URL, } from "./hive-graph/deeplake-credentials.js";
|
|
30
|
+
export { withHeal, isMissingTableError } from "./hive-graph/deeplake-heal.js";
|
|
31
|
+
export { sqlStr, sqlLike, sqlIdent, sLiteral, eLiteral, sqlFloat4Array, sqlNum } from "./hive-graph/sql-guards.js";
|
|
32
|
+
export { DeepLakeHiveGraphStore } from "./hive-graph/deeplake-store.js";
|
|
33
|
+
// PRD-006: file registration protocol.
|
|
34
|
+
export { WatchIntake, DEFAULT_DEBOUNCE_MS } from "./registration/fs-watch.js";
|
|
35
|
+
export { classifyPath } from "./registration/classify.js";
|
|
36
|
+
export { classifyNewFile } from "./registration/copy-detect.js";
|
|
37
|
+
export { reassociate, carryNectar } from "./registration/ladder.js";
|
|
38
|
+
export { createDefaultIgnore, loadIgnorePrefixes, ALWAYS_IGNORED_SEGMENTS, GRAPH_IGNORE_FILE, } from "./registration/ignore.js";
|
|
39
|
+
export { computeFingerprint, fingerprintDistance, distanceToConfidence, createTlshFuzzyStep, DEFAULT_TUNABLE_FUZZY_CONFIG, MAX_DISTANCE, SIZE_BUCKET_TOLERANCE, FINGERPRINT_PREFIX, } from "./registration/tlsh.js";
|
|
40
|
+
export { RegistrationService } from "./registration/service.js";
|
|
41
|
+
export { StoreBridge } from "./registration/store-bridge.js";
|
|
42
|
+
export { createDiskRegistrationFs } from "./registration/disk-fs.js";
|
|
43
|
+
export { isSafeRelPath, containedPath, realpathContained } from "./registration/paths-safe.js";
|
|
44
|
+
export { InMemoryPendingReviewStore, FilePendingReviewStore, } from "./registration/review-store.js";
|
|
45
|
+
export { runReviewMatches } from "./registration/review-cli.js";
|
|
46
|
+
export { runPrune, findPruneCandidates, PRUNE_GRACE_MS } from "./registration/prune-cli.js";
|
|
47
|
+
// PRD-003b: OS service unit (launchd / systemd / schtasks).
|
|
48
|
+
export { resolveServicePlan, resolveServiceContext, SERVICE_LABEL, SYSTEMD_UNIT_NAME, WINDOWS_TASK_NAME, NECTAR_RUN_COMMAND, RESTART_SEC, WINDOWS_RESTART_INTERVAL, renderUnit, installCommands, uninstallCommands, statusCommand, createExecFileRunner, createServiceModule, createNodeServiceFs, serviceStatus, } from "./service/index.js";
|
|
49
|
+
// Per-project scope resolution (ADR-0002 decoupling: nectar's own ladder,
|
|
50
|
+
// honeycomb detected but never required).
|
|
51
|
+
export { resolveProjectScope, loadProjectsCache, emptyProjectsCache, canonicalizeRemote, readGitRemoteSignal, originUrlFromConfig, projectsCacheDir, projectsCachePath, ENV_PROJECT_ID, DETECTED_HONEYCOMB_PROJECT_ID, UNSORTED_PROJECT_ID, PROJECTS_CACHE_FILE_NAME, PROJECTS_CACHE_SCHEMA_VERSION, } from "./hive-graph/project-scope.js";
|
|
52
|
+
// PRD-017: service check-in and local SQLite telemetry.
|
|
53
|
+
export { createTelemetry, createNullTelemetry, wrapStoreWithMetrics, createLogTap, redactLogMessage, levelFromLine, messageFromLine, defaultTelemetryDbPath, telemetryDbPathForRuntimeDir, TELEMETRY_DIR_NAME, TELEMETRY_DB_FILE_NAME, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOG_MAX_AGE_MS, MAX_LOG_MESSAGE_LENGTH, LOG_LEVELS, CheckinService, CheckinWriter, MetricsWriter, LogWriter, } from "./telemetry/index.js";
|
|
54
|
+
// PRD-003c: nectar's entry in doctor's daemon registry.
|
|
55
|
+
export { NECTAR_DAEMON_NAME, DEFAULT_PROBE_INTERVAL_MS, DEFAULT_STARTUP_GRACE_MS, DEFAULT_RESTART_GIVE_UP_THRESHOLD, DEFAULT_RESTART_COOLDOWN_MS, DoctorRegistryError, defaultDoctorRegistryPath, buildNectarRegistryEntry, registerWithDoctor, } from "./doctor-registry.js";
|
|
56
|
+
// PRD-010: Portkey gateway (chat-completions transport, config, describe_model audit).
|
|
57
|
+
export { PORTKEY_BASE_URL, PORTKEY_CHAT_COMPLETIONS_URL, PORTKEY_EMBEDDINGS_URL, PORTKEY_API_KEY_HEADER, PORTKEY_CONFIG_HEADER, buildPortkeyHeaders, } from "./portkey/headers.js";
|
|
58
|
+
export { resolvePortkeyConfig, DEFAULT_ACTIVE_MODEL, PORTKEY_CONFIG_SURFACE_KEYS } from "./portkey/config.js";
|
|
59
|
+
export { describeViaPortkey, PortkeyTransportError, PORTKEY_DEFAULT_MAX_TOKENS, PORTKEY_RETRYABLE_STATUSES, PORTKEY_MAX_ATTEMPTS, PORTKEY_RETRY_BACKOFF_MS, PORTKEY_REQUEST_TIMEOUT_MS, } from "./portkey/transport.js";
|
|
60
|
+
export { buildDescribeModelStamp, resetForRedescribe, applyDescribeModelStamp, isSkippedDescribeStatus, SKIPPED_DESCRIBE_STATUSES, } from "./portkey/describe-model.js";
|
|
61
|
+
// PRD-011: portable projection (.honeycomb/nectars.json) format, generation, write, load, inherit.
|
|
62
|
+
export { PROJECTION_SCHEMA_VERSION, DEFAULT_PROJECTION_REL_PATH, DEFAULT_GENERATOR, isValidContentHash, parseProjectionJson, canonicalSerialize, canonicalSerializeExceptGeneratedAt, } from "./projection/format.js";
|
|
63
|
+
export { buildProjection, buildProjectionFromStore, buildProjectionFromAsyncStore, } from "./projection/generate.js";
|
|
64
|
+
export { collectProjectionSources, collectProjectionSourcesAsync } from "./projection/store-adapter.js";
|
|
65
|
+
export { ProjectionWriter, writeProjectionAtomic, projectionFinalPath, rebuildProjection, rebuildProjectionAsync, DEFAULT_WRITE_DEBOUNCE_MS, } from "./projection/write.js";
|
|
66
|
+
export { loadProjection, loadProjectionFromFile, validateProjection, buildContentHashIndex, MAX_PROJECTION_FILE_BYTES, } from "./projection/load.js";
|
|
67
|
+
export { inheritFromProjection } from "./projection/inherit.js";
|
|
68
|
+
// PRD-014: embeddings provider switching (off | local nomic | Cohere-via-Portkey) + the 768-dim guard.
|
|
69
|
+
export { resolveEmbeddingsConfig, normalizeSelector, resolveEmbedProvider, createOffProvider, DEFAULT_EMBED_PROVIDER, withDimGuard, guardVector, stderrDimRejectionSink, createLocalNomicHttpTransport, createLocalNomicProvider, createHostedPortkeyProvider, parseEmbeddingsResponse, DEFAULT_LOCAL_EMBED_HOST, DEFAULT_LOCAL_EMBED_PORT, DEFAULT_LOCAL_EMBED_TIMEOUT_MS, DEFAULT_HOSTED_EMBED_MODEL, DEFAULT_HOSTED_OUTPUT_DIMENSION, DEFAULT_HOSTED_MAX_ATTEMPTS, DEFAULT_HOSTED_RETRY_BACKOFF_MS, DEFAULT_HOSTED_REQUEST_TIMEOUT_MS, HOSTED_RETRYABLE_STATUSES, defaultFetch, defaultSleep, } from "./embeddings/index.js";
|
|
70
|
+
// PRD-007 (brooding), PRD-016 (enricher), PRD-012a (hive-graph search): the
|
|
71
|
+
// Wave C module surfaces, re-exported as namespaces so the package can drive the
|
|
72
|
+
// full pipeline programmatically. Namespaced to keep each module's public API
|
|
73
|
+
// intact without flattening two overlapping names (e.g. both brooding and the
|
|
74
|
+
// enricher export an `embeddingText`) into one ambiguous top-level binding.
|
|
75
|
+
export * as brooding from "./brooding/index.js";
|
|
76
|
+
export * as enricher from "./enricher/index.js";
|
|
77
|
+
export * as search from "./hive-graph/search.js";
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lock.d.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The identity a live daemon stamps into its lock file. `pid` alone is not
|
|
3
|
+
* enough (it is reused after death); `boot` distinguishes a pre-crash/pre-reboot
|
|
4
|
+
* pid from a live one, and `token` is a per-acquire nonce used for a precise
|
|
5
|
+
* ownership check on release. `boot`/`token` are optional only so a legacy
|
|
6
|
+
* bare-pid lock still parses (see {@link readLockIdentity}).
|
|
7
|
+
*/
|
|
8
|
+
export interface LockIdentity {
|
|
9
|
+
readonly pid: number;
|
|
10
|
+
readonly boot?: number;
|
|
11
|
+
readonly token?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Probe whether a PID is alive via signal 0.
|
|
15
|
+
* - `ESRCH` -> no such process (stale),
|
|
16
|
+
* - `EPERM` -> alive but owned by another user (treated as alive),
|
|
17
|
+
* - success -> alive.
|
|
18
|
+
* Mirrors honeycomb's `isPidAlive` (assemble.ts:692-705).
|
|
19
|
+
*/
|
|
20
|
+
export declare function isPidAlive(pid: number): boolean;
|
|
21
|
+
/** Read the PID from a lock/pid file; absent/unreadable/garbage returns null. */
|
|
22
|
+
export declare function readPidFile(path: string): number | null;
|
|
23
|
+
/**
|
|
24
|
+
* Read and parse the identity a lock file records. Accepts the current JSON
|
|
25
|
+
* shape and, for backward compatibility, a legacy bare-pid file (interpreted as
|
|
26
|
+
* a pid-only identity). Absent / unreadable / unparseable returns null.
|
|
27
|
+
*/
|
|
28
|
+
export declare function readLockIdentity(path: string): LockIdentity | null;
|
|
29
|
+
export interface LockPaths {
|
|
30
|
+
readonly lockFilePath: string;
|
|
31
|
+
readonly pidFilePath: string;
|
|
32
|
+
}
|
|
33
|
+
/** Test/wiring seam: override the identity an acquire stamps (defaults to this live process). */
|
|
34
|
+
export interface AcquireOptions {
|
|
35
|
+
readonly pid?: number;
|
|
36
|
+
readonly boot?: number;
|
|
37
|
+
readonly token?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Test seam: override the lock-body write (default: `node:fs`'s `writeSync`).
|
|
40
|
+
* Lets a test inject a write failure (simulating a disk-full or similar
|
|
41
|
+
* mid-write fault) without needing a real filesystem-level fault or a
|
|
42
|
+
* mocking dependency (this repo has zero runtime deps and none for tests).
|
|
43
|
+
*/
|
|
44
|
+
readonly writeLockBody?: (fd: number, data: string) => void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Acquire the single-instance lock. Called BEFORE the socket bind (PRD-002a).
|
|
48
|
+
* Throws `DaemonAlreadyRunningError` if a LIVE daemon already holds the lock;
|
|
49
|
+
* atomically reclaims a stale lock otherwise. Returns the identity it stamped so
|
|
50
|
+
* the caller can pass it back to {@link releaseSingleInstanceLock} for an
|
|
51
|
+
* ownership-checked release (PRD-018a NEC-002).
|
|
52
|
+
*/
|
|
53
|
+
export declare function acquireSingleInstanceLock(paths: LockPaths, options?: AcquireOptions): LockIdentity;
|
|
54
|
+
/**
|
|
55
|
+
* Release the lock: remove both files, but ONLY when this process owns the lock
|
|
56
|
+
* (PRD-018a NEC-002). Called by a process that does not own the lock (a failed
|
|
57
|
+
* second start), it is a no-op, so a failed start can never delete the live
|
|
58
|
+
* daemon's lock and pid. Pass the identity returned by
|
|
59
|
+
* {@link acquireSingleInstanceLock} for a precise token-based check; omit it to
|
|
60
|
+
* fall back to a pid+boot check against this live process. Never throws (a
|
|
61
|
+
* missing lock on shutdown is fine; the goal already holds).
|
|
62
|
+
*/
|
|
63
|
+
export declare function releaseSingleInstanceLock(paths: LockPaths, identity?: LockIdentity): void;
|
|
64
|
+
/** True if a live daemon currently holds this lock (used by health/status). */
|
|
65
|
+
export declare function isLockHeldByLiveDaemon(lockFilePath: string): boolean;
|
|
66
|
+
//# sourceMappingURL=lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AA8CA;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAU/C;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvD;AAYD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAgClE;AAoBD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,iGAAiG;AACjG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAqCD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,YAAY,CA8DtG;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAQzF;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAGpE"}
|