diff --git a/GUIDELINES.md b/GUIDELINES.md index e4aa20e..e6fe74f 100644 --- a/GUIDELINES.md +++ b/GUIDELINES.md @@ -6,6 +6,13 @@ --- +## 0. CRITICAL REMINDERS + +- **NEVER** use `scripts/docs/generate-sp-skills.ts` or any other batch-generation script to create or update skills. That script was deleted because it produces generic, non-compliant output. Skills are written by hand after deep source-code analysis. +- **NEVER** create a `MANIFEST.md` or `SUMMARY.md` and treat it as the source of truth for skill state. The filesystem is the source of truth. Navigation `SKILL.md` files exist at every level of the tree to guide selection. + +--- + ## 1. ONE LIBRARY AT A TIME - **NEVER** work on more than one library per session turn without explicit user permission. @@ -25,6 +32,7 @@ Before writing a single line of a SKILL.md, I MUST read: 6. **Subpath exports** — check `package.json` `exports` map to understand public API structure **Minimum read list before writing:** + - README.md - package.json - src/index.ts (or main entry) @@ -54,8 +62,10 @@ description: ## File Structure ``` + /// src// # + ``` Sibling packages: @@ -83,6 +93,7 @@ Sibling packages: ## Checklist 1. + ``` **FORBIDDEN in skills:** @@ -108,8 +119,8 @@ Sibling packages: ### 4.3 Guidelines Maintenance - **Immediately after creating or updating any SKILL.md**, I MUST update this GUIDELINES.md file: - - Move the library from **Not started** to **Completed** in section 8. - - Verify the library is NOT listed in both sections. + - Verify the library is listed in the correct **Completed** section below. + - Ensure the library is NOT listed in both Completed and Not started. - **Never leave GUIDELINES.md out of date** after finishing a skill. ## 5. WORKFLOW CHECKPOINTS @@ -135,13 +146,20 @@ Before declaring any library "done": ### 7.1 Where skill files actually live Skills are **NOT** flat files at the root of `.claude/plugins/suaveplan-skills/`. -The actual path is: +The actual path mirrors the monorepo package layout: ``` -.claude/plugins/suaveplan-skills/plugins/library-navigator/skills/sp-/SKILL.md +.claude/plugins/suaveplan-skills/plugins/library-navigator/skills/ + / + SKILL.md # Category navigator + / + SKILL.md # Subcategory navigator + sp-/ + SKILL.md # Library skill ``` -Example: `sp-types` → `.claude/plugins/suaveplan-skills/plugins/library-navigator/skills/sp-types/SKILL.md`. +Example: `@suaveplan/types` (in `packages/foundation/core/types`) +→ `.claude/plugins/suaveplan-skills/plugins/library-navigator/skills/foundation/core/sp-types/SKILL.md`. ### 7.2 The `docs/` tree is a shadow of `packages/` @@ -153,33 +171,339 @@ Example: `sp-types` → `.claude/plugins/suaveplan-skills/plugins/library-naviga ### 7.3 Skill naming and structure -- Directory name: `sp-` (e.g., `sp-types` for `@suaveplan/types`). +- Directory name for a library skill: `sp-` (e.g., `sp-types` for `@suaveplan/types`). - Inside: exactly one file named `SKILL.md`. - No flat `sp-xxx.md` files anywhere in the skills tree. +- Navigation skills (category and subcategory levels) are also named `SKILL.md`. ### 7.4 How to verify whether a skill already exists -1. Check section 8 **Completed** list below. -2. Confirm by listing the directory: - `ls .claude/plugins/suaveplan-skills/plugins/library-navigator/skills/ | grep sp-` +1. Check the **Completed** list in section 8 below. +2. Confirm by checking the nested path: + ```bash + ls .claude/plugins/suaveplan-skills/plugins/library-navigator/skills/// | grep sp- + ``` ### 7.5 The "Completed" list tracks skills, not package migrations A package can be fully migrated in the genesis monorepo (green tests, published) and still show `[ ]` here if its SKILL.md has not been written yet. Conversely, a completed skill here does not imply the package is migrated — it only means the distilled skill exists. +### 7.6 Navigation skills + +Every category and subcategory directory MUST contain a `SKILL.md` that acts as a navigator. + +**Category SKILL.md** (`skills//SKILL.md`): +- Lists each subcategory in that category with a one-sentence description of its domain. +- Explains when to use this category vs other categories. +- Cross-links to related categories. + +**Subcategory SKILL.md** (`skills///SKILL.md`): +- Lists every package in that subcategory with a one-line description. +- Shows sibling relationships and common composition patterns. +- Helps pick the right library for a task. + +**Root SKILL.md** (`skills/SKILL.md`): +- Lists every top-level category with a one-sentence description. +- Provides a decision tree for picking the right category. + +Navigation skills are **not** library skills. They do not need architecture tables or code examples, but they MUST be accurate and kept up to date when new packages are added. + +--- + ## 8. CURRENT STATE (updated by agent after each skill) -**Completed (distilled, high quality):** +**Legend:** +- `[x]` = Distilled, high-quality library skill exists at the nested path. +- `[ ]` = Package exists in monorepo but skill not yet written. +- `[n]` = Navigation skill exists for this category/subcategory. + +--- + +### api-stack + +**Category navigator:** `[ ]` + +#### api-adapters +**Subcategory navigator:** `[ ]` +- [x] sp-api-adapter-express +- [x] sp-api-adapter-fastify +- [x] sp-api-adapter-hono +- [x] sp-api-adapter-kit +- [x] sp-api-adapter-koa +- [x] sp-api-adapter-nestjs +- [x] sp-api-adapter-node +- [x] sp-api-adapter-registry + +#### api-audit +**Subcategory navigator:** `[ ]` +- [x] sp-api-audit-file +- [x] sp-api-audit-stdout + +#### api-auth +**Subcategory navigator:** `[ ]` +- [x] sp-api-auth +- [x] sp-api-auth-anonymous +- [x] sp-api-auth-bearer +- [x] sp-api-auth-better-auth +- [x] sp-api-auth-codes +- [x] sp-api-auth-jwt +- [x] sp-api-auth-static + +#### api-capabilities +**Subcategory navigator:** `[ ]` +- [x] sp-api-capability-database-memory +- [x] sp-api-capability-events-bus-memory +- [x] sp-api-capability-events-kit +- [x] sp-api-capability-events-memory +- [x] sp-api-capability-jobs-memory +- [x] sp-api-capability-kit +- [x] sp-api-capability-logger-kit +- [x] sp-api-capability-logger-memory +- [x] sp-api-capability-logger-structured-memory +- [x] sp-api-capability-proxy +- [x] sp-api-capability-secrets-memory + +#### api-core +**Subcategory navigator:** `[ ]` +- [x] sp-api +- [x] sp-api-core +- [x] sp-api-schemas +- [x] sp-api-types + +#### api-db +**Subcategory navigator:** `[ ]` +- [x] sp-api-db-kit +- [x] sp-api-db-postgres +- [x] sp-api-db-sqlite-memory +- [x] sp-api-db-surreal + +#### api-gateway +**Subcategory navigator:** `[ ]` +- [x] sp-api-gateway +- [x] sp-api-gateway-balancer-consistent-hash +- [x] sp-api-gateway-balancer-random +- [x] sp-api-gateway-balancer-round-robin +- [x] sp-api-gateway-balancer-weighted +- [x] sp-api-gateway-hono + +#### api-graphql +**Subcategory navigator:** `[ ]` +- [x] sp-api-graphql +- [x] sp-api-graphql-apollo +- [x] sp-api-graphql-core +- [x] sp-api-graphql-ui-altair +- [x] sp-api-graphql-ui-graphiql +- [x] sp-api-graphql-yoga + +#### api-jobs +**Subcategory navigator:** `[ ]` +- [x] sp-api-jobs-kit +- [x] sp-api-jobs-scheduler +- [x] sp-api-jobs-scheduler-memory + +#### api-middleware +**Subcategory navigator:** `[ ]` +- [x] sp-api-middleware +- [x] sp-api-middleware-audit +- [x] sp-api-middleware-body-limit +- [x] sp-api-middleware-cors +- [x] sp-api-middleware-rate-limit +- [x] sp-api-middleware-rbac +- [x] sp-api-middleware-rules + +#### api-migrations +**Subcategory navigator:** `[ ]` +- [x] sp-api-migrations + +#### api-openapi +**Subcategory navigator:** `[ ]` +- [x] sp-api-openapi +- [x] sp-api-openapi-core +- [x] sp-api-openapi-ui-redoc +- [x] sp-api-openapi-ui-scalar +- [x] sp-api-openapi-ui-swagger + +#### api-plugins +**Subcategory navigator:** `[ ]` +- [x] sp-api-plugin-admin +- [x] sp-api-plugin-analytics +- [x] sp-api-plugin-asset-register +- [x] sp-api-plugin-audit +- [x] sp-api-plugin-auth +- [x] sp-api-plugin-banking +- [x] sp-api-plugin-campaigns +- [x] sp-api-plugin-cms +- [x] sp-api-plugin-customs +- [x] sp-api-plugin-database +- [x] sp-api-plugin-event-bus +- [x] sp-api-plugin-events +- [x] sp-api-plugin-export +- [x] sp-api-plugin-file-upload +- [x] sp-api-plugin-gtap +- [x] sp-api-plugin-import +- [x] sp-api-plugin-inventory +- [x] sp-api-plugin-kit +- [x] sp-api-plugin-logistics +- [x] sp-api-plugin-messaging +- [x] sp-api-plugin-notifications +- [x] sp-api-plugin-payment +- [x] sp-api-plugin-port-tracking +- [x] sp-api-plugin-procurement +- [x] sp-api-plugin-search +- [x] sp-api-plugin-site +- [x] sp-api-plugin-social +- [x] sp-api-plugin-store +- [x] sp-api-plugin-subscription +- [x] sp-api-plugin-tenant +- [x] sp-api-plugin-user +- [x] sp-api-plugin-vatdash-bridge +- [x] sp-api-plugin-vault +- [x] sp-api-plugin-warehouse-ops +- [x] sp-api-plugin-webhook + +#### api-realtime +**Subcategory navigator:** `[x]` +- [x] sp-api-realtime +- [x] sp-api-sse +- [x] sp-api-sse-bun +- [x] sp-api-ws-broker-redis +- [x] sp-api-ws-bun + +#### api-sandbox +**Subcategory navigator:** `[x]` +- [x] sp-api-sandbox-kit +- [x] sp-api-sandbox-permissions +- [x] sp-api-sandbox-vm +- [x] sp-api-sandbox-wasm +- [x] sp-api-sandbox-worker +- [x] sp-wasm-compiler-javy + +#### api-secrets +**Subcategory navigator:** `[x]` +- [x] sp-api-secrets-bun +- [x] sp-api-secrets-env +- [x] sp-api-secrets-vault + +#### api-tenant +**Subcategory navigator:** `[x]` +- [x] sp-api-tenant +- [x] sp-api-tenant-codes +- [x] sp-api-tenant-header +- [x] sp-api-tenant-jwt +- [x] sp-api-tenant-memory +- [x] sp-api-tenant-subdomain + +#### api-transactions +**Subcategory navigator:** `[x]` +- [x] sp-api-transactions + +### commerce + +**Category navigator:** `[ ]` + +#### booking +**Subcategory navigator:** `[ ]` +- [x] sp-booking + +#### contacts +**Subcategory navigator:** `[ ]` +- [x] sp-api-plugin-contacts +- [x] sp-audience-rules +- [x] sp-contacts +- [x] sp-macos-contacts +- [x] sp-react-contacts + +--- + +### communication + +**Category navigator:** `[ ]` + +#### emails +**Subcategory navigator:** `[ ]` +- [x] sp-dmarc +- [x] sp-domain-normalizer +- [x] sp-email-processing +- [x] sp-email-templates +- [x] sp-emailer +- [x] sp-suppression + +#### messaging +**Subcategory navigator:** `[ ]` +- [x] sp-discord-client +- [x] sp-imessage-adapter +- [x] sp-notification-channel +- [x] sp-slack-client +- [x] sp-sms +- [x] sp-sms-providers +- [x] sp-telegram-client + +#### telephone +**Subcategory navigator:** `[ ]` +- [x] sp-telephone + +#### webhook-client +**Subcategory navigator:** `[ ]` +- [x] sp-webhook-client + +--- + +### devtools + +**Category navigator:** `[ ]` + +#### docker +**Subcategory navigator:** `[ ]` +- [x] sp-caddy-imgproxy +- [x] sp-docker-nvidia + +#### docs +**Subcategory navigator:** `[ ]` +- [x] sp-api-docs +- [x] sp-api-docs-formatter-html +- [x] sp-api-docs-formatter-json +- [x] sp-api-docs-formatter-markdown +- [x] sp-api-docs-formatter-openapi +- [x] sp-compress-svg +- [x] sp-docs +- [x] sp-pdf +- [x] sp-sitemap + +#### tooling +**Subcategory navigator:** `[ ]` +- [x] sp-cli +- [x] sp-electrobun +- [x] sp-install-agent-skills +- [x] sp-installer +- [x] sp-mcp +- [x] sp-overview + +--- + +### foundation + +**Category navigator:** `[ ]` + +#### barcode +**Subcategory navigator:** `[ ]` - [x] sp-barcode +- [x] sp-qrcode + +#### bitpacker +**Subcategory navigator:** `[ ]` - [x] sp-bitpacker -- [x] sp-bitpacker-schema -- [x] sp-bitpacker-strategies -- [x] sp-bitpacker-validation +- [x] sp-bitpacker-compressed - [x] sp-bitpacker-crypto - [x] sp-bitpacker-delta - [x] sp-bitpacker-game - [x] sp-bitpacker-network +- [x] sp-bitpacker-schema - [x] sp-bitpacker-streaming +- [x] sp-bitpacker-strategies +- [x] sp-bitpacker-validation + +#### core +**Subcategory navigator:** `[ ]` - [x] sp-bytes - [x] sp-cbor - [x] sp-config @@ -192,10 +516,10 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-fsm - [x] sp-idempotency - [x] sp-json +- [x] sp-object-pool - [x] sp-mime - [x] sp-packer - [x] sp-pagination -- [x] sp-qrcode - [x] sp-queue - [x] sp-rate-limiter - [x] sp-retry @@ -209,365 +533,59 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-undo - [x] sp-utils - [x] sp-validation -- [x] sp-booking -- [x] sp-clipboard -- [x] sp-crdt -- [x] sp-job-scheduler -- [x] sp-noise -- [x] sp-pseudo-random -- [x] sp-pwa -- [x] sp-random -- [x] sp-web-workers -- [x] sp-image -- [x] sp-workflow -- [x] sp-campaigns -- [x] sp-delivery-tracking -- [x] sp-dmarc -- [x] sp-domain-normalizer -- [x] sp-email-processing -- [x] sp-email-templates -- [x] sp-emailer -- [x] sp-suppression -- [x] sp-discord-client -- [x] sp-imessage-adapter -- [x] sp-notification-channel -- [x] sp-slack-client -- [x] sp-sms -- [x] sp-sms-providers -- [x] sp-telegram-client -- [x] sp-caddy-imgproxy -- [x] sp-colours -- [x] sp-colour-convert-adapt -- [x] sp-colour-convert-cieluv -- [x] sp-colour-convert-cmyk -- [x] sp-colour-convert-hsluv -- [x] sp-colour-filter-cct -- [x] sp-colour-filter-cmc -- [x] sp-colour-filter-greyscale -- [x] sp-colour-filter-sepia -- [x] sp-compress-image -- [x] sp-compress-svg -- [x] sp-docs -- [x] sp-pdf -- [x] sp-sitemap -- [x] sp-cryptocurrency -- [x] sp-currency -- [x] sp-currency-provider-binance -- [x] sp-currency-provider-coingecko -- [x] sp-currency-provider-coinmarketcap -- [x] sp-currency-provider-cryptocompare -- [x] sp-currency-provider-ecb -- [x] sp-currency-provider-fixer -- [x] sp-currency-provider-kraken -- [x] sp-currency-provider-open-exchange-rates -- [x] sp-currency-provider-virtual -- [x] sp-currency-providers -- [x] sp-money -- [x] sp-payment -- [x] sp-payment-provider-adyen -- [x] sp-payment-provider-mollie -- [x] sp-payment-provider-paypal -- [x] sp-payment-provider-square -- [x] sp-payment-provider-stripe -- [x] sp-payment-providers -- [x] sp-crypto -- [x] sp-crypto-core -- [x] sp-crypto-bin -- [x] sp-crypto-browser -- [x] sp-crypto-cipher -- [x] sp-crypto-cli -- [x] sp-crypto-curve -- [x] sp-crypto-hash -- [x] sp-crypto-keys -- [x] sp-crypto-rsa -- [x] sp-crypto-sodium -- [x] sp-crypto-utils -- [x] sp-crypto-vault -- [x] sp-cache -- [x] sp-cache-redis -- [x] sp-cache-storage -- [x] sp-linter -- [x] sp-profiler -- [x] sp-readline -- [x] sp-sandbox -- [x] sp-test-vite -- [x] sp-font-compress -- [x] sp-font-convert -- [x] sp-font-decompress -- [x] sp-font-subset -- [x] sp-drive -- [x] sp-drive-mesh -- [x] sp-drive-mesh-protocol -- [x] sp-drive-plugin-cache -- [x] sp-drive-plugin-chunks -- [x] sp-drive-react-sharing -- [x] sp-drive-sharing -- [x] sp-drive-storage-archive-core -- [x] sp-drive-storage-zip -- [x] sp-drive-template -- [x] sp-drive-transport-https -- [x] sp-drive-transport-webrtc -- [x] sp-drive-uri -- [x] sp-drive-webrtc -- [x] sp-webhook-client -- [x] sp-docker-nvidia -- [x] sp-bitpacker-compressed -- [x] sp-etl -- [x] sp-ports -- [x] sp-data-masking -- [x] sp-templates -- [x] sp-packer-browser -- [x] sp-react-packer -- [x] sp-queue-distribution -- [x] sp-queue-distribution-http -- [x] sp-controller -- [x] sp-ecs -- [x] sp-game-server -- [x] sp-queue-distribution-worker-thread -- [x] sp-rules-hono -- [x] sp-streams-chunk-queue -- [x] sp-streams-metadata -- [x] sp-events -- [x] sp-auth -- [x] sp-feature-flags -- [x] sp-permissions -- [x] sp-oauth-client -- [x] sp-webauthn -- [x] sp-broadcast-channel -- [x] sp-event-sourcing -- [x] sp-db -- [x] sp-db-sqlite -- [x] sp-migration -- [x] sp-seed -- [x] sp-logger -- [x] sp-opentelemetry -- [x] sp-analytics-browser -- [x] sp-search -- [x] sp-surrealdb -- [x] sp-testing -- [x] sp-audit-logging -- [x] sp-events-metrics -- [x] sp-events-otel -- [x] sp-health-check -- [x] sp-better-auth-surrealdb -- [x] sp-events-schema -- [x] sp-events-transport -- [x] sp-jwt-tenant -- [x] sp-hibp -- [x] sp-jws -- [x] sp-macos-keychain -- [x] sp-storage -- [x] sp-otp -- [x] sp-password-strength -- [x] sp-video -- [x] sp-video-thumbnails -- [x] sp-license -- [x] sp-password-formats -- [x] sp-password-generator -- [x] sp-security-codes -- [x] sp-ab-testing -- [x] sp-testing-dom -- [x] sp-testing-e2e -- [x] sp-testing-integration -- [x] sp-testing-integration-garage-s3 -- [x] sp-testing-integration-mailpit -- [x] sp-testing-integration-oauth-mock -- [x] sp-testing-integration-postgres -- [x] sp-testing-integration-redis -- [x] sp-testing-integration-step-ca -- [x] sp-testing-integration-surrealdb -- [x] sp-testing-integration-typesense -- [x] sp-javy-cli-darwin-arm64 -- [x] sp-javy-cli-darwin-x64 -- [x] sp-javy-cli-linux-arm64 -- [x] sp-javy-cli-linux-x64 -- [x] sp-javy-cli-win32-x64 -- [x] sp-wasm-compiler-javy -- [x] sp-create-suaveplan-plugin -- [x] sp-r3f-networking -- [x] sp-audio-analysis-beat -- [x] sp-audio-decode-wav -- [x] sp-audio-fingerprint -- [x] sp-audio-ir-room-plugin-club -- [x] sp-audio-analysis-loudness -- [x] sp-audio-analysis-pitch -- [x] sp-audio-analysis-spectrum -- [x] sp-audio-ir-core -- [x] sp-audio-ir-loader -- [x] sp-audio-ir-room-plugin-pool -- [x] sp-audio-core -- [x] sp-audio-controllers -- [x] sp-audio-engine-browser -- [x] sp-audio-engine-server -- [x] sp-audio-metadata -- [x] sp-audio-sprite-packer -- [x] sp-audio-sprite-player -- [x] sp-audio-timeline -- [x] sp-audio-transport -- [x] sp-control-surface-schema -- [x] sp-midi -- [x] sp-third-party-elevenlabs -- [x] sp-voice -- [x] sp-voice-elevenlabs -- [x] sp-audio-fx-plugin-base -- [x] sp-audio-fx-plugin-audio-analyzer -- [x] sp-audio-fx-plugin-audio-player -- [x] sp-audio-fx-plugin-auto-filter -- [x] sp-audio-fx-plugin-chorus -- [x] sp-audio-fx-plugin-compressor -- [x] sp-audio-fx-plugin-delay -- [x] sp-audio-fx-plugin-distortion -- [x] sp-audio-fx-plugin-eq -- [x] sp-audio-fx-plugin-filter -- [x] sp-audio-fx-plugin-flanger -- [x] sp-audio-fx-plugin-game-audio -- [x] sp-audio-fx-plugin-gate -- [x] sp-audio-fx-plugin-glados -- [x] sp-audio-fx-plugin-limiter -- [x] sp-audio-fx-plugin-microphone -**Not started:** -- (All other libraries — agent may NOT touch these without explicit permission) - -### api-stack/api - DO NOT CREATE SKILLS FOR ANY OF THE sp-api libraries for now. -- [ ] sp-api -- [ ] sp-api-2pc -- [ ] sp-api-audit-file -- [ ] sp-api-audit-stdout -- [ ] sp-api-auth -- [ ] sp-api-auth-anonymous -- [ ] sp-api-auth-bearer-static -- [ ] sp-api-auth-better-auth -- [ ] sp-api-auth-jwt -- [ ] sp-api-auth-provider -- [ ] sp-api-auth-rolled -- [ ] sp-api-auth-static-principal -- [ ] sp-api-db-adapter -- [ ] sp-api-db-sqlite-memory -- [ ] sp-api-db-worker-proxy -- [ ] sp-api-events-in-memory -- [ ] sp-api-events-worker-proxy -- [ ] sp-api-graphql -- [ ] sp-api-graphql-apollo -- [ ] sp-api-graphql-ui-altair -- [ ] sp-api-graphql-ui-graphiql -- [ ] sp-api-graphql-yoga -- [ ] sp-api-host -- [ ] sp-api-jobs-worker-proxy -- [ ] sp-api-lifecycle -- [ ] sp-api-loader -- [ ] sp-api-logger-worker-proxy -- [ ] sp-api-manifest -- [ ] sp-api-migrations -- [ ] sp-api-openapi -- [ ] sp-api-openapi-ui-redoc -- [ ] sp-api-openapi-ui-scalar -- [ ] sp-api-openapi-ui-swagger -- [ ] sp-api-plugin -- [ ] sp-api-plugin-audit -- [ ] sp-api-plugin-auth -- [ ] sp-api-plugin-campaigns -- [ ] sp-api-plugin-cms -- [ ] sp-api-plugin-database -- [ ] sp-api-plugin-event-bus -- [ ] sp-api-plugin-events -- [ ] sp-api-plugin-example -- [ ] sp-api-plugin-export -- [ ] sp-api-plugin-file-upload -- [ ] sp-api-plugin-graphql -- [ ] sp-api-plugin-import -- [ ] sp-api-plugin-notifications -- [ ] sp-api-plugin-payment -- [ ] sp-api-plugin-rate-limit -- [ ] sp-api-plugin-search -- [ ] sp-api-plugin-site -- [ ] sp-api-plugin-sse -- [ ] sp-api-plugin-tenant -- [ ] sp-api-plugin-user -- [ ] sp-api-plugin-vault -- [ ] sp-api-plugin-webhook -- [ ] sp-api-rate-limit -- [ ] sp-api-rbac -- [ ] sp-api-router -- [ ] sp-api-router-hono -- [ ] sp-api-router-in-memory -- [ ] sp-api-router-worker-bridge -- [ ] sp-api-saga -- [ ] sp-api-sandbox-permissions -- [ ] sp-api-sandbox-vm -- [ ] sp-api-sandbox-vm-host-bridge -- [ ] sp-api-sandbox-wasm -- [ ] sp-api-sandbox-wasm-host-bridge -- [ ] sp-api-schemas -- [ ] sp-api-secrets -- [ ] sp-api-secrets-bun -- [ ] sp-api-secrets-env -- [ ] sp-api-secrets-vault -- [ ] sp-api-secrets-worker-proxy -- [ ] sp-api-sse -- [ ] sp-api-sse-bun -- [ ] sp-api-tenant -- [ ] sp-api-tenant-provider -- [ ] sp-api-tenant-provider-memory -- [ ] sp-api-tenant-resolver-header -- [ ] sp-api-tenant-resolver-jwt -- [ ] sp-api-tenant-resolver-subdomain -- [ ] sp-api-types -- [ ] sp-api-worker-host -- [ ] sp-api-worker-rpc -- [ ] sp-api-ws -- [ ] sp-api-ws-broker-in-memory -- [ ] sp-api-ws-broker-redis -- [ ] sp-api-ws-bun - -### commerce/booking - -### commerce/contacts -- [ ] sp-api-plugin-contacts -- [x] sp-audience-rules -- [x] sp-contacts -- [x] sp-macos-contacts - -### communication/emails - -### communication/messaging - -### communication/webhook-client - -### devtools/docker - -### devtools/docs - -### devtools/tooling -- [x] sp-cli -- [x] sp-electrobun -- [x] sp-install-agent-skills -- [x] sp-installer -- [x] sp-mcp -- [x] sp-overview - -### foundation/bitpacker - -### foundation/core - - -### foundation/data +#### data +**Subcategory navigator:** `[ ]` - [x] sp-media - [x] sp-react-packer -### foundation/etl +#### etl +**Subcategory navigator:** `[ ]` +- [x] sp-etl +- [x] sp-ports -### foundation/feature-flags +#### feature-flags +**Subcategory navigator:** `[ ]` +- [x] sp-feature-flags -### foundation/flow +#### flow +**Subcategory navigator:** `[ ]` +- [x] sp-workflow -### foundation/random +#### random +**Subcategory navigator:** `[ ]` +- [x] sp-noise +- [x] sp-pseudo-random +- [x] sp-random -### foundation/timing +#### timing +**Subcategory navigator:** `[ ]` -### gaming/games +--- -### geospatial/geo +### gaming + +**Category navigator:** `[ ]` + +#### game-engine +**Subcategory navigator:** `[ ]` +- [x] sp-game-engine + +#### games +**Subcategory navigator:** `[ ]` +- [x] sp-game-loop + +#### gaming +**Subcategory navigator:** `[ ]` + +--- + +### geospatial + +**Category navigator:** `[ ]` + +#### geo +**Subcategory navigator:** `[ ]` - [x] sp-geo - [x] sp-geo-earth - [x] sp-geo-planet @@ -576,11 +594,26 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-tides - [x] sp-universe -### geospatial/logistics +#### logistics +**Subcategory navigator:** `[ ]` -### identity/auth +--- -### localization/i18n +### identity + +**Category navigator:** `[ ]` + +#### auth +**Subcategory navigator:** `[ ]` + +--- + +### localization + +**Category navigator:** `[ ]` + +#### i18n +**Subcategory navigator:** `[ ]` - [x] sp-i18n - [x] sp-i18n-backend-chained - [x] sp-i18n-backend-fs-multifile @@ -601,13 +634,56 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-locale-data - [x] sp-react-i18n -### media/audio +--- + +### media + +**Category navigator:** `[ ]` + +#### audio +**Subcategory navigator:** `[ ]` +- [x] sp-audio-analysis-beat +- [x] sp-audio-analysis-loudness +- [x] sp-audio-analysis-pitch +- [x] sp-audio-analysis-spectrum - [x] sp-audio-cli - [x] sp-audio-codec-ffmpeg-native - [x] sp-audio-codec-ffmpeg-wasm - [x] sp-audio-codecs +- [x] sp-audio-controllers +- [x] sp-audio-core +- [x] sp-audio-decode-wav +- [x] sp-audio-engine-browser +- [x] sp-audio-engine-server +- [x] sp-audio-metadata +- [x] sp-audio-sprite-packer +- [x] sp-audio-sprite-player +- [x] sp-audio-timeline +- [x] sp-audio-transport +- [x] sp-control-surface-schema +- [x] sp-midi +- [x] sp-third-party-elevenlabs +- [x] sp-voice +- [x] sp-voice-elevenlabs -### media/audio-fx +#### audio-fx +**Subcategory navigator:** `[ ]` +- [x] sp-audio-fx-plugin-audio-analyzer +- [x] sp-audio-fx-plugin-audio-player +- [x] sp-audio-fx-plugin-auto-filter +- [x] sp-audio-fx-plugin-base +- [x] sp-audio-fx-plugin-chorus +- [x] sp-audio-fx-plugin-compressor +- [x] sp-audio-fx-plugin-delay +- [x] sp-audio-fx-plugin-distortion +- [x] sp-audio-fx-plugin-eq +- [x] sp-audio-fx-plugin-filter +- [x] sp-audio-fx-plugin-flanger +- [x] sp-audio-fx-plugin-game-audio +- [x] sp-audio-fx-plugin-gate +- [x] sp-audio-fx-plugin-glados +- [x] sp-audio-fx-plugin-limiter +- [x] sp-audio-fx-plugin-microphone - [x] sp-audio-fx-plugin-mixer - [x] sp-audio-fx-plugin-phaser - [x] sp-audio-fx-plugin-pitch-shifter @@ -619,26 +695,111 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-audio-fx-plugin-tremolo - [x] sp-audio-fx-plugin-widener -### media/audio-ir +#### audio-ir +**Subcategory navigator:** `[ ]` +- [x] sp-audio-ir-core +- [x] sp-audio-ir-loader +- [x] sp-audio-ir-room-plugin-club +- [x] sp-audio-ir-room-plugin-pool -### media/fonts +#### fonts +**Subcategory navigator:** `[ ]` +- [x] sp-font-compress +- [x] sp-font-convert +- [x] sp-font-decompress +- [x] sp-font-subset -### media/image +#### image +**Subcategory navigator:** `[ ]` +- [x] sp-colour-convert-adapt +- [x] sp-colour-convert-cieluv +- [x] sp-colour-convert-cmyk +- [x] sp-colour-convert-hsluv +- [x] sp-colour-filter-cct +- [x] sp-colour-filter-cmc +- [x] sp-colour-filter-greyscale +- [x] sp-colour-filter-sepia +- [x] sp-colours +- [x] sp-compress-image +- [x] sp-compress-svg - [x] sp-emblem-solver - [x] sp-exif +- [x] sp-image - [x] sp-image-quantisation +- [x] sp-pdf -### media/video +#### video +**Subcategory navigator:** `[ ]` +- [x] sp-video +- [x] sp-video-thumbnails -### money/finance +--- -### money/payment +### money -### networking/drive +**Category navigator:** `[ ]` -### networking/events +#### finance +**Subcategory navigator:** `[ ]` +- [x] sp-cryptocurrency +- [x] sp-currency +- [x] sp-currency-provider-binance +- [x] sp-currency-provider-coingecko +- [x] sp-currency-provider-coinmarketcap +- [x] sp-currency-provider-cryptocompare +- [x] sp-currency-provider-ecb +- [x] sp-currency-provider-fixer +- [x] sp-currency-provider-kraken +- [x] sp-currency-provider-open-exchange-rates +- [x] sp-currency-provider-virtual +- [x] sp-currency-providers +- [x] sp-money -### networking/network +#### payment +**Subcategory navigator:** `[ ]` +- [x] sp-payment +- [x] sp-payment-provider-adyen +- [x] sp-payment-provider-mollie +- [x] sp-payment-provider-paypal +- [x] sp-payment-provider-square +- [x] sp-payment-provider-stripe +- [x] sp-payment-providers + +--- + +### networking + +**Category navigator:** `[ ]` + +#### drive +**Subcategory navigator:** `[ ]` +- [x] sp-drive +- [x] sp-drive-mesh +- [x] sp-drive-mesh-protocol +- [x] sp-drive-plugin-cache +- [x] sp-drive-plugin-chunks +- [x] sp-drive-react-sharing +- [x] sp-drive-sharing +- [x] sp-drive-storage-archive-core +- [x] sp-drive-storage-zip +- [x] sp-drive-template +- [x] sp-drive-transport-https +- [x] sp-drive-transport-webrtc +- [x] sp-drive-uri +- [x] sp-drive-webrtc + +#### events +**Subcategory navigator:** `[ ]` +- [x] sp-broadcast-channel +- [x] sp-event-sourcing +- [x] sp-events +- [x] sp-events-metrics +- [x] sp-events-otel +- [x] sp-events-schema +- [x] sp-events-transport + +#### network +**Subcategory navigator:** `[ ]` - [x] sp-network - [x] sp-network-bootstrap - [x] sp-network-discovery-crdt @@ -684,14 +845,42 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-service-discovery - [x] sp-websocket-gateway -### observability/monitor +--- +### observability -### persistence/cache +**Category navigator:** `[ ]` -### persistence/database -### persistence/search -### persistence/storage +#### monitor +**Subcategory navigator:** `[ ]` + +--- + +### persistence + +**Category navigator:** `[ ]` + +#### cache +**Subcategory navigator:** `[ ]` +- [x] sp-cache +- [x] sp-cache-redis +- [x] sp-cache-storage + +#### database +**Subcategory navigator:** `[ ]` +- [x] sp-db +- [x] sp-db-sqlite +- [x] sp-migration +- [x] sp-seed + +#### search +**Subcategory navigator:** `[ ]` +- [x] sp-search +- [x] sp-surrealdb + +#### storage +**Subcategory navigator:** `[ ]` +- [x] sp-storage - [x] sp-storage-browser-indexeddb - [x] sp-storage-browser-localstorage - [x] sp-storage-browser-opfs @@ -706,9 +895,30 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-storage-uri-plugin-bundle - [x] sp-storage-uri-plugin-fallback -### security-stack/crypto +--- -### security-stack/security +### security-stack + +**Category navigator:** `[ ]` + +#### crypto +**Subcategory navigator:** `[ ]` +- [x] sp-crypto +- [x] sp-crypto-bin +- [x] sp-crypto-browser +- [x] sp-crypto-cipher +- [x] sp-crypto-cli +- [x] sp-crypto-core +- [x] sp-crypto-curve +- [x] sp-crypto-hash +- [x] sp-crypto-keys +- [x] sp-crypto-rsa +- [x] sp-crypto-sodium +- [x] sp-crypto-utils +- [x] sp-crypto-vault + +#### security +**Subcategory navigator:** `[ ]` - [x] sp-server-keys - [x] sp-slsa - [x] sp-srp @@ -717,15 +927,52 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-vault-sync - [x] sp-x509 -### testkit/testing +--- -### threejs/r3f +### testkit -### ui/forms +**Category navigator:** `[ ]` + +#### testing +**Subcategory navigator:** `[ ]` +- [x] sp-testing +- [x] sp-testing-dom +- [x] sp-testing-e2e +- [x] sp-testing-integration +- [x] sp-testing-integration-garage-s3 +- [x] sp-testing-integration-mailpit +- [x] sp-testing-integration-oauth-mock +- [x] sp-testing-integration-postgres +- [x] sp-testing-integration-redis +- [x] sp-testing-integration-step-ca +- [x] sp-testing-integration-surrealdb +- [x] sp-testing-integration-typesense + +--- + +### threejs + +**Category navigator:** `[ ]` + +#### r3f +**Subcategory navigator:** `[ ]` +- [x] sp-r3f-networking +- [x] sp-r3f-physics-rapier +- [x] sp-r3f-shaders + +--- + +### ui + +**Category navigator:** `[ ]` + +#### forms +**Subcategory navigator:** `[ ]` - [x] sp-form-builder - [x] sp-react-forms -### ui/react +#### react +**Subcategory navigator:** `[ ]` - [x] sp-react-audio - [x] sp-react-audio-fingerprint - [x] sp-react-audio-player @@ -735,3 +982,11 @@ A package can be fully migrated in the genesis monorepo (green tests, published) - [x] sp-react-control-surface - [x] sp-react-midi - [x] sp-react-ui + +--- + +### Orphaned skills (no matching package in `packages/`) +- [x] sp-create-suaveplan-plugin +- [x] sp-audio-fingerprint + +--- diff --git a/docs/superpowers/plans/2026-05-29-sp-stack-composer.md b/docs/superpowers/plans/2026-05-29-sp-stack-composer.md deleted file mode 100644 index 0768221..0000000 --- a/docs/superpowers/plans/2026-05-29-sp-stack-composer.md +++ /dev/null @@ -1,411 +0,0 @@ -# sp-stack Full-Stack Library Composer Implementation Plan - -> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Add an `sp-stack` skill that turns a whole-app description into a complete `@suaveplan/*` library set, wiring, and starter code — and relocate the `docs/` tree into the plugin that owns it. - -**Architecture:** Approach C (hybrid). A curated capability manifest (`capabilities.md`) covers the common app capabilities with turnkey, code-minimal picks; the existing `sp` docs-traversal is the long-tail fallback. Both skills live in `document-navigator` and share the relocated `docs/` tree, referenced via `${CLAUDE_PLUGIN_ROOT}/docs/`. - -**Tech Stack:** Claude Code plugin skills (Markdown + YAML frontmatter). No build step, no test runner — verification is path-resolution and content checks via `grep` / `test -f`. - -**Spec:** `docs/superpowers/specs/2026-05-29-sp-stack-composer-design.md` - ---- - -## Chunk 1: Relocate docs/ and rewrite path references - -### Task 1: Move the docs tree into the plugin - -**Files:** -- Move: `docs/` (excluding `docs/superpowers/`) → `plugins/document-navigator/docs/` - -> Note: `docs/superpowers/` holds these specs/plans and must STAY at the repo root. -> Only the package-mirror categories move. - -- [ ] **Step 1: Snapshot the pre-move reference set (verification baseline)** - -Run: -```bash -grep -rIl --exclude-dir=.git -e "suaveplan-skills/docs" -e "\.\./docs/" -e " docs/" \ - plugins GUIDELINES.md .claude-plugin -``` -Expected: `plugins/document-navigator/skills/sp/SKILL.md` and `GUIDELINES.md` only. (These are rewritten in Tasks 2 and 4. If any OTHER file appears, stop and reassess — it is an unplanned reference into the docs tree.) - -- [ ] **Step 2: Confirm what is under docs/ root** - -Run: `ls docs/` -Expected: the 18 package categories (`api-stack`, `commerce`, `communication`, `devtools`, `foundation`, `gaming`, `geospatial`, …) plus the root files `README.md` and `_intro.md`, and the `superpowers/` directory. The `git mv` loop in Step 3 moves everything except `superpowers/` (so `README.md` and `_intro.md` move too). - -- [ ] **Step 3: Move every category (not superpowers/) with git mv** - -Run: -```bash -mkdir -p plugins/document-navigator/docs -for entry in docs/*; do - base="$(basename "$entry")" - [ "$base" = "superpowers" ] && continue - git mv "$entry" "plugins/document-navigator/docs/$base" -done -``` - -- [ ] **Step 4: Verify the move landed and superpowers/ stayed** - -Run: -```bash -test -f plugins/document-navigator/docs/README.md && echo "DOCS-OK" -test -f plugins/document-navigator/docs/api-stack/api/api-plugin-payment/README.md && echo "SEED-OK" -test -d docs/superpowers && echo "SPECS-STAYED" -test ! -e docs/api-stack && echo "ROOT-CLEAN" -``` -Expected: `DOCS-OK`, `SEED-OK`, `SPECS-STAYED`, `ROOT-CLEAN` all print. - -- [ ] **Step 5: Commit** - -```bash -git add -A -git commit -m "Move docs/ package mirror into document-navigator plugin" -``` - ---- - -### Task 2: Rewrite docs path references in sp/SKILL.md - -**Files:** -- Modify: `plugins/document-navigator/skills/sp/SKILL.md` - -The current file hard-codes `.claude/plugins/suaveplan-skills/docs/` in the Architecture table, File Structure block, and the two `grep` Patterns examples. Replace every occurrence with the portable `${CLAUDE_PLUGIN_ROOT}/docs/`. - -- [ ] **Step 1: Write the failing check** - -Run: `grep -c "suaveplan-skills/docs" plugins/document-navigator/skills/sp/SKILL.md` -Expected (before fix): a non-zero count (the stale paths still present). - -- [ ] **Step 2: Replace the docs-tree row in the Architecture table** - -Change: -``` -| Docs tree | `.claude/plugins/suaveplan-skills/docs/` (`.md`-only mirror of `packages/`, maintained externally) | -``` -to: -``` -| Docs tree | `${CLAUDE_PLUGIN_ROOT}/docs/` (`.md`-only mirror of `packages/`, maintained externally) | -``` - -- [ ] **Step 3: Replace the File Structure block** - -Change the fenced block that begins `.claude/plugins/suaveplan-skills/` so its root is `${CLAUDE_PLUGIN_ROOT}/` and the tree reads: -``` -${CLAUDE_PLUGIN_ROOT}/ - docs/ # mirrored .md tree (maintained externally) - / - README.md - / - README.md - / - README.md - src/ - .md - skills/sp/ - SKILL.md # this file -``` - -- [ ] **Step 4: Replace the two grep Patterns examples** - -Change: -```bash -grep -ri "sms" .claude/plugins/suaveplan-skills/docs/*/README.md -grep -ri "twilio" .claude/plugins/suaveplan-skills/docs/ -``` -to: -```bash -grep -ri "sms" ${CLAUDE_PLUGIN_ROOT}/docs/*/README.md -grep -ri "twilio" ${CLAUDE_PLUGIN_ROOT}/docs/ -``` - -- [ ] **Step 5: Run the check to verify it passes** - -Run: -```bash -grep -c "suaveplan-skills/docs" plugins/document-navigator/skills/sp/SKILL.md -grep -c "CLAUDE_PLUGIN_ROOT" plugins/document-navigator/skills/sp/SKILL.md -``` -Expected: first command prints `0`; second prints a non-zero count. - -- [ ] **Step 6: Commit** - -```bash -git add plugins/document-navigator/skills/sp/SKILL.md -git commit -m "Point sp skill at \${CLAUDE_PLUGIN_ROOT}/docs" -``` - ---- - -### Task 3: Update the docs path in GUIDELINES.md - -**Files:** -- Modify: `GUIDELINES.md` (§7.2, the `docs/` tree description, ~line 148) - -- [ ] **Step 1: Locate the stale reference** - -Run: `grep -n "suaveplan-skills/docs" GUIDELINES.md` -Expected: one hit in §7.2. - -- [ ] **Step 2: Rewrite it to the new repo location** - -Change `.claude/plugins/suaveplan-skills/docs////` to `plugins/document-navigator/docs////`. - -- [ ] **Step 3: Verify** - -Run: `grep -c "suaveplan-skills/docs" GUIDELINES.md` -Expected: `0`. - -- [ ] **Step 4: Commit** - -```bash -git add GUIDELINES.md -git commit -m "Update docs tree path in GUIDELINES §7.2" -``` - ---- - -## Chunk 2: The sp-stack skill and capability manifest - -### Task 4: Author the capability manifest - -**Files:** -- Create: `plugins/document-navigator/skills/sp-stack/capabilities.md` - -Each row maps a capability to its turnkey `primary` pick, supporting packages, the -`example_doc` path (relative to `docs/`), and external prerequisites. All `example_doc` -paths below were verified to exist under the relocated tree. - -- [ ] **Step 1: Create capabilities.md with the v1 seed (15–20 capabilities)** - -```markdown -# Capability Manifest - -Curated map of common app capabilities to turnkey `@suaveplan/*` packages. The -`sp-stack` skill consults this first; capabilities not listed fall back to the -`sp` docs-traversal. `example_doc` paths are relative to `${CLAUDE_PLUGIN_ROOT}/docs/`. - -| capability | layer | primary | supporting | example_doc | external | -|---|---|---|---|---|---| -| api-host | backend | @suaveplan/api | — | api-stack/api/api/README.md | — | -| auth | backend | @suaveplan/api-plugin-auth | @suaveplan/api-auth-better-auth | api-stack/api/api-plugin-auth/README.md | Better-Auth config | -| multi-tenancy | backend | @suaveplan/api-plugin-tenant | @suaveplan/api-tenant | api-stack/api/api-plugin-tenant/README.md | — | -| payments | backend | @suaveplan/api-plugin-payment | @suaveplan/payment | api-stack/api/api-plugin-payment/README.md | Stripe/Adyen/PayPal account + secret key | -| email-campaigns | backend | @suaveplan/campaigns | @suaveplan/suppression, @suaveplan/delivery-tracking | communication/emails/campaigns/README.md | — | -| transactional-email | backend | @suaveplan/emailer | @suaveplan/email-templates | communication/emails/emailer/README.md | SMTP creds or Gmail REST token | -| file-upload | backend | @suaveplan/api-plugin-file-upload | — | api-stack/api/api-plugin-file-upload/README.md | storage backend | -| search | backend | @suaveplan/api-plugin-search | — | api-stack/api/api-plugin-search/README.md | — | -| realtime-sse | backend | @suaveplan/api-plugin-sse | @suaveplan/api-sse-bun | api-stack/api/api-plugin-sse/README.md | — | -| rate-limiting | backend | @suaveplan/api-plugin-rate-limit | @suaveplan/rate-limiter | api-stack/api/api-plugin-rate-limit/README.md | — | -| notifications | backend | @suaveplan/api-plugin-notifications | @suaveplan/notification-channel | api-stack/api/api-plugin-notifications/README.md | APNs key (push) | -| webhooks | backend | @suaveplan/api-plugin-webhook | @suaveplan/webhook-client | api-stack/api/api-plugin-webhook/README.md | — | -| booking | backend | @suaveplan/booking | — | commerce/booking/booking/README.md | — | -| validation | foundation | @suaveplan/validation | — | foundation/data/validation/README.md | — | -| pwa | frontend | @suaveplan/pwa | — | foundation/data/pwa/README.md | — | -| client-data-hooks | frontend | @suaveplan/react-packer | @suaveplan/packer-browser | foundation/data/react-packer/README.md | React 19 | -| cli | devtools | @suaveplan/cli | — | devtools/tooling/cli/README.md | — | -| testing | devtools | @suaveplan/test-vite | — | devtools/tooling/test-vite/README.md | — | -``` - -(`booking` doc path is verified present at `commerce/booking/booking/README.md`.) - -- [ ] **Step 2: Verify every example_doc path resolves** - -Filter to data rows by **content**, not line number (the preamble makes line offsets -brittle): keep only lines starting with `|`, drop the header row (the `capability` -column is `$2` because the leading `|` makes `$1` empty) and the `|---|` separator -(`$6` is only dashes/spaces). - -Run: -```bash -cd plugins/document-navigator -awk -F'|' '/^\|/ && $2 !~ /capability/ && $6 !~ /^[- ]*$/ {gsub(/ /,"",$6); print $6}' \ - skills/sp-stack/capabilities.md \ - | grep -v '^$' | grep -v '^—$' \ - | while read p; do [ -f "docs/$p" ] && echo OK || echo "MISSING $p"; done \ - | sort | uniq -c -cd - -``` -Expected: a single line `18 OK`; no `MISSING` lines. (A `MISSING ` line means that -manifest row points at a doc that does not exist — fix the path before continuing.) - -- [ ] **Step 3: Commit** - -```bash -git add plugins/document-navigator/skills/sp-stack/capabilities.md -git commit -m "Add sp-stack capability manifest (v1 seed)" -``` - ---- - -### Task 5: Author the sp-stack SKILL.md - -**Files:** -- Create: `plugins/document-navigator/skills/sp-stack/SKILL.md` - -- [ ] **Step 1: Create SKILL.md** - -````markdown ---- -name: sp-stack -description: Describe a whole website, service, or app and get the complete @suaveplan/* library set, host wiring, and starter code — selected to minimise the code you write. ---- - -# Stack Composer for Suaveplan - -Turn a natural-language description of an entire website, service, or app into the full -set of `@suaveplan/*` packages needed across all layers, plus the wiring and starter -code to compose them. Selection always prefers the highest-level turnkey package so the -user writes as little code as possible. - -This skill is the whole-app counterpart to `sp` (which finds a library for a single -stated need). Use `sp-stack` when the input describes a product; use `sp` for "which -library does X" or "how do I use Y". - -## Inputs - -A product description, e.g. *"a multi-tenant SaaS with email campaigns, Stripe billing, -and a booking calendar"*. - -## Sources - -| Source | Path | -|--------|------| -| Capability manifest | `${CLAUDE_PLUGIN_ROOT}/skills/sp-stack/capabilities.md` | -| Docs tree (fallback + examples) | `${CLAUDE_PLUGIN_ROOT}/docs/` | - -## Flow - -1. **Decompose.** Parse the description into a list of capabilities and infer the - app-type (service / website / app / game). Map each capability to the manifest - vocabulary (auth, multi-tenancy, payments, email-campaigns, file-upload, search, - realtime-sse, rate-limiting, notifications, webhooks, booking, validation, pwa, - client-data-hooks, cli, testing, …). - -2. **Resolve each capability.** - - **Manifest hit** → take `primary` + `supporting`; open its `example_doc` under - `${CLAUDE_PLUGIN_ROOT}/docs/` and read the quick-start block verbatim. - - **Manifest miss** → fall back to the `sp` docs-traversal: root README → - `/README.md` → `/README.md` → package README, ranking - turnkey `api-plugin-*` / engine packages above low-level primitives. - -3. **Assemble.** Dedupe packages, order by dependency (turnkey plugins first), group by - `layer` (backend / frontend / foundation / devtools). - -4. **Read examples.** Pull the quick-start code verbatim from each chosen package's - docs. Never fabricate import paths. - -5. **Emit** the output below. - -## Output - -- **Bill of materials** — grouped by layer, one-line reason per package. -- **Install** — a single `bun add @suaveplan/… …`. -- **Wiring** — the `createHost({ plugins: [...] })` composition (see - `docs/api-stack/api/api/README.md` for the host entry point). -- **Starter code** — stitched from the verbatim docs examples. -- **Gaps & prerequisites** — capabilities with no `@suaveplan` package (the user writes - custom code or brings a third-party lib) and required external services (API keys, - datastores) drawn from each manifest row's `external` column. - -## Constraints - -- Only reference packages that exist under `${CLAUDE_PLUGIN_ROOT}/docs/`. Never invent - package names. -- Use exact `@suaveplan/` identifiers. -- Extract code examples verbatim from `.md` files; do not fabricate import paths. -- Prefer the turnkey package for a capability (the manifest's `primary`) over - hand-assembling low-level primitives. -- Be honest about gaps — do not imply coverage that the catalog does not provide. - -## Checklist - -1. Description decomposed into capabilities + app-type. -2. Each capability resolved via manifest, or via docs-traversal fallback when absent. -3. Packages deduped, dependency-ordered, grouped by layer. -4. Code examples pulled verbatim from the docs tree, not invented. -5. Gaps and external prerequisites stated explicitly. -```` - -- [ ] **Step 2: Verify frontmatter and source paths** - -Run: -```bash -f=plugins/document-navigator/skills/sp-stack/SKILL.md -grep -q "^name: sp-stack$" "$f" && echo "NAME-OK" -grep -q "^description: " "$f" && echo "DESC-OK" -grep -q "CLAUDE_PLUGIN_ROOT}/skills/sp-stack/capabilities.md" "$f" && echo "MANIFEST-REF-OK" -test -f plugins/document-navigator/skills/sp-stack/capabilities.md && echo "MANIFEST-EXISTS" -``` -Expected: `NAME-OK`, `DESC-OK`, `MANIFEST-REF-OK`, `MANIFEST-EXISTS` all print. - -- [ ] **Step 3: Commit** - -```bash -git add plugins/document-navigator/skills/sp-stack/SKILL.md -git commit -m "Add sp-stack composer skill" -``` - ---- - -### Task 6: Narrow the sp skill description - -**Files:** -- Modify: `plugins/document-navigator/skills/sp/SKILL.md` (frontmatter `description`) - -So Claude reliably routes single-need lookups to `sp` and whole-app requests to -`sp-stack`, sharpen `sp`'s description to the single-capability role. - -- [ ] **Step 1: Replace the description line** - -Change: -``` -description: Navigate the 500+ @suaveplan/* packages to find libraries matching a stated development need. Extracts code examples from the mirrored docs tree. -``` -to: -``` -description: Find the @suaveplan/* package for a single stated need ("which library does X", "how do I use Y") and extract its code examples from the docs tree. For whole-app stacks, use sp-stack. -``` - -- [ ] **Step 2: Verify the two descriptions are distinct and cross-referenced** - -Run: -```bash -grep "^description:" plugins/document-navigator/skills/sp/SKILL.md -grep "^description:" plugins/document-navigator/skills/sp-stack/SKILL.md -grep -q "sp-stack" plugins/document-navigator/skills/sp/SKILL.md && echo "CROSSREF-OK" -``` -Expected: two clearly different description lines print; `CROSSREF-OK` prints. - -- [ ] **Step 3: Commit** - -```bash -git add plugins/document-navigator/skills/sp/SKILL.md -git commit -m "Narrow sp skill description to single-need lookups" -``` - ---- - -## Final verification - -- [ ] **Step 1: End-to-end path + structure check** - -Run: -```bash -test -f plugins/document-navigator/docs/README.md && echo "DOCS-MOVED" -test -f plugins/document-navigator/skills/sp/SKILL.md && echo "SP-OK" -test -f plugins/document-navigator/skills/sp-stack/SKILL.md && echo "SPSTACK-OK" -test -f plugins/document-navigator/skills/sp-stack/capabilities.md && echo "MANIFEST-OK" -grep -rc "suaveplan-skills/docs" plugins GUIDELINES.md | grep -v ':0' || echo "NO-STALE-PATHS" -``` -Expected: `DOCS-MOVED`, `SP-OK`, `SPSTACK-OK`, `MANIFEST-OK`, `NO-STALE-PATHS` all print. - -- [ ] **Step 2: Manual smoke test (human or driving agent)** - -In a session with the plugin loaded, give `sp-stack` the prompt *"a multi-tenant SaaS -with email campaigns, Stripe billing, and a booking calendar"* and confirm the output -contains: a layered BOM, a `bun add` line, a `createHost` wiring block, starter code, -and a gaps/prerequisites section naming the Stripe key. diff --git a/docs/superpowers/specs/2026-05-29-sp-stack-composer-design.md b/docs/superpowers/specs/2026-05-29-sp-stack-composer-design.md deleted file mode 100644 index f678502..0000000 --- a/docs/superpowers/specs/2026-05-29-sp-stack-composer-design.md +++ /dev/null @@ -1,149 +0,0 @@ -# sp-stack — Full-Stack Library Composer - -**Date:** 2026-05-29 -**Status:** Approved (design) -**Plugin:** `document-navigator` - -## Problem - -The marketplace exposes two ways into the 472-package `@suaveplan/*` catalog: - -- `library-navigator` — 383 self-contained `sp-` skills, one per library. -- `document-navigator/skills/sp` — greps the mirrored `docs/` tree to match a single - stated need to a package and pull verbatim code examples. - -Neither answers the question a user actually starts with: *"I want to build a -multi-tenant SaaS with email campaigns, Stripe billing, and a booking calendar — -which libraries do I need, and how do they fit together?"* Answering that today -means many manual `sp` lookups and hand-assembling the result. - -We need a skill that takes a whole-app description and returns the complete library -set, the wiring, and starter code — selected to **minimise the code the user writes** -(prefer a turnkey `api-plugin-payment` over hand-assembling `payment` + `retry` + -`webhook-client`). - -## Goals - -- Map a natural-language app description to the full set of `@suaveplan/*` packages - needed, across all 18 categories (backend, frontend, foundation, devtools). -- Always prefer the highest-level turnkey package for each capability. -- Emit a bill of materials, install command, host wiring, and starter code stitched - from **verbatim** docs examples — never fabricated imports. -- Surface gaps honestly: capabilities with no `@suaveplan` package, and external - prerequisites (API keys, datastores). - -## Non-Goals - -- No automated or batch generation of per-library skills (GUIDELINES.md §1 stands; - the capability manifest is a separate hand-curated artifact). -- No runtime/scaffolding tool — the skill emits code as text, it does not write a - project to disk. -- No change to the 383 `library-navigator` skills. - -## Decisions - -1. **Approach C (hybrid).** A curated capability manifest covers the common 80% with - precise, code-minimal picks; the existing `sp` docs-traversal is the fallback for - the long tail. This is the only approach that both guarantees the "prefer turnkey" - behavior and cannot silently miss a library. -2. **Housed in `document-navigator`**, sharing the relocated `docs/` tree. The composer - is a docs-navigation concern, so co-locating it avoids duplicating 32 MB or relying - on cross-plugin paths (which Claude Code has no mechanism for). -3. **`docs/` moves under the plugin** so the plugin is self-contained and portable - regardless of distribution. - -## Architecture - -### File layout - -``` -plugins/document-navigator/ - .claude-plugin/plugin.json - docs/ # moved from repo root (32 MB, ~6k .md) - skills/ - sp/SKILL.md # existing — description narrowed (see below) - sp-stack/ - SKILL.md # new composer skill - capabilities.md # curated capability manifest -``` - -### docs/ relocation - -`docs/` moves from the repo root to `plugins/document-navigator/docs/`. Every `docs/` -reference in `sp/SKILL.md` is rewritten from the hard-coded -`.claude/plugins/suaveplan-skills/docs/` path to `${CLAUDE_PLUGIN_ROOT}/docs/`. - -A repo-root path that only resolves when the entire marketplace is cloned together is -replaced by a plugin-relative path that resolves however the plugin is installed. - -**Pre-move verification (planning step):** before relocating ~6k files, grep the repo -for any other reference to the root `docs/` path — the 383 `library-navigator` skills, -`marketplace.json`, and any build/lint scripts — and confirm none break. Relative links -*inside* `docs/` (e.g. `.//README.md`) survive a wholesale move; references -*into* `docs/` from outside do not. - -### Capability manifest (`capabilities.md`) - -A small, hand-curated table — the heart of Approach C. One row per common capability: - -| Field | Purpose | -|---|---| -| `capability` | e.g. `payments`, `multi-tenancy`, `email-campaigns`, `file-upload` | -| `layer` | `backend` / `frontend` / `foundation` / `devtools` — drives grouping | -| `primary` | the turnkey package, the minimise-code pick (`@suaveplan/api-plugin-payment`) | -| `supporting` | deps it pulls in / commonly paired packages | -| `example_doc` | path into `docs/` where the verbatim quick-start lives | -| `external` | non-suaveplan prerequisites (Stripe keys, SurrealDB, SMTP) | - -The manifest is the only place the "prefer turnkey over low-level primitives" rule is -encoded, so selection is deterministic rather than re-derived per request. - -**v1 seed scope:** ship ~15–20 of the most common app capabilities (auth, multi-tenancy, -payments, email-campaigns, transactional-email, file-upload, search, realtime/SSE, -rate-limiting, notifications, webhooks, validation, PWA, client data hooks, CLI, testing). -This bounds the manifest work; everything outside it degrades to the docs-traversal -fallback, not a wrong answer. Each seed row should be anchored against a real example -phrasing so the `capability` vocabulary maps to how users actually describe needs. - -## Composer flow - -1. Parse the app description into a capability list plus an inferred app-type. -2. For each capability: - - **Manifest hit** → take `primary` + `supporting`, read its `example_doc` verbatim. - - **Manifest miss** → fall back to the `sp` docs-traversal (root → category → - subcategory → package) to locate candidates. -3. Dedupe packages, order by dependency (turnkey plugins first), group by `layer`. -4. Read the verbatim quick-start blocks from the docs tree. -5. Emit the output. - -## Output shape - -- **Bill of materials** grouped by layer, with a one-line reason per package. -- **Install command** — a single `bun add …`. -- **Wiring** — the `createHost({ plugins: [...] })` composition. -- **Starter code** — stitched from the verbatim docs examples. -- **Gaps & prerequisites** — capabilities with no `@suaveplan` package (write custom - or bring third-party) and required external services. - -## Coexistence with `sp` - -Two skills, differentiated sharply by description so Claude selects the right one: - -- **`sp`** — narrowed to *"find the library for a single stated need / how do I use X."* -- **`sp-stack`** — *"Describe a whole website/service/app; get the complete library set, - wiring, and starter code."* - -## Constraints inherited from existing skills - -- Only reference packages that exist under the docs tree; never invent package names. -- Use exact `@suaveplan/` identifiers. -- Extract code examples verbatim; never fabricate import paths. - -## Risks - -- **Manifest drift.** New packages need manual addition. Mitigation: the docs-traversal - fallback keeps the long tail reachable, so a missing manifest row degrades to the - current `sp` behavior rather than a wrong answer. -- **Two code paths.** Manifest + fallback. Both are simple, and the fallback is the - existing, already-exercised traversal. -``` diff --git a/plugins/document-navigator/docs/README.md b/plugins/document-navigator/docs/README.md index 173ef88..8cd9b9d 100644 --- a/plugins/document-navigator/docs/README.md +++ b/plugins/document-navigator/docs/README.md @@ -357,9 +357,9 @@ Game controllers, entity-component systems, and game-server logic. | Package | Description | |---|---| -| [`@suaveplan/controller`](./gaming/games/controller/README.md) | Universal input controller foundation. Ships the unified `ControllerInput` shape (37 normalised fields in `[0, 255]`), `BaseController` abstract base with inje… | -| [`@suaveplan/ecs`](./gaming/games/ecs/README.md) | Archetype-based Entity Component System with `Uint32`-backed bitset queries, phase-ordered system scheduling, entity-ID recycling, Zod-validated component sche… | -| [`@suaveplan/game-server`](./gaming/games/game-server/README.md) | Universal game-server framework. Migrated from `@suaveplan/game-server` on the reference branch `claude/review-game-engine-arch-Kaykr` (main repo `packages/uni… | +| [`@suaveplan/controller`](./gaming/gaming/controller/README.md) | Universal input controller foundation. Ships the unified `ControllerInput` shape (37 normalised fields in `[0, 255]`), `BaseController` abstract base with inje… | +| [`@suaveplan/ecs`](./gaming/gaming/ecs/README.md) | Archetype-based Entity Component System with `Uint32`-backed bitset queries, phase-ordered system scheduling, entity-ID recycling, Zod-validated component sche… | +| [`@suaveplan/game-server`](./gaming/gaming/game-server/README.md) | Universal game-server framework. Migrated from `@suaveplan/game-server` on the reference branch `claude/review-game-engine-arch-Kaykr` (main repo `packages/uni… | ### `geospatial` diff --git a/plugins/document-navigator/docs/api-stack/api/api-2pc/README.md b/plugins/document-navigator/docs/api-stack/api/api-2pc/README.md index 841ec23..7cf824e 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-2pc/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-2pc/README.md @@ -106,4 +106,3 @@ Every adapter implementing a writer participant MUST run `tests/conformance/run-2pc-participant.test.ts` file. The harness pins prepare / commit / rollback semantics and the idempotency contract. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-audit-file/README.md b/plugins/document-navigator/docs/api-stack/api/api-audit-file/README.md index dd73d29..cd9892f 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-audit-file/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-audit-file/README.md @@ -82,4 +82,3 @@ await sink.dispose(); ## Tier Server-tier — depends on `node:fs/promises`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/README.md b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/README.md index fe61204..964e48f 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/README.md @@ -76,4 +76,3 @@ queue wait exceeds the bound the record is dropped, the `api.audit.dropped_total{sink,reason}` counter increments, and (subject to a once-per-`warnThrottleMs` throttle) a single warning is logged. Drops are NEVER silent. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/hmac/hmac.md b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/hmac/hmac.md index b0e9963..b205141 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/hmac/hmac.md +++ b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/hmac/hmac.md @@ -7,7 +7,7 @@ _(no submodules)_ ## Purpose This module produces the HMAC-SHA-256 tag attached to every audit -line. Signing operates on a *canonical* byte representation of the +line. Signing operates on a _canonical_ byte representation of the record (keys serialised in a fixed order, `cause` omitted when absent) so the same logical record always produces the same MAC under the same key, regardless of how the source object was constructed. diff --git a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/schema/schema.md b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/schema/schema.md index ce50bc2..97a1227 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/schema/schema.md +++ b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/schema/schema.md @@ -11,7 +11,7 @@ writes. The shape is exactly what design doc §12.5 specifies for the admin / audit pipeline: `ts`, `type`, `principal`, `tenant`, `request_id`, `trace_id`, `subject`, `outcome`, and a conditional `cause`. Every write goes through `parseAuditRecord(...)` so a -malformed record raises `AUDIT_STDOUT.INVALID_RECORD` *before* a line +malformed record raises `AUDIT_STDOUT.INVALID_RECORD` _before_ a line is written — log pipelines downstream never see a half-finished record. diff --git a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/sink/sink.md b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/sink/sink.md index 7db2fb4..f24de28 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/sink/sink.md +++ b/plugins/document-navigator/docs/api-stack/api/api-audit-stdout/src/sink/sink.md @@ -32,7 +32,7 @@ rejected synchronously without consuming the slot. - Boundary Zod validation — `AUDIT_STDOUT.INVALID_RECORD` on a bad record. - Bounded queue — `AUDIT_STDOUT.QUEUE_FULL` on timeout, drop counter - + throttled warning. + - throttled warning. - HMAC-SHA-256 over canonical bytes appended as `_hmac` field. - `dispose()` drains the in-flight write and rejects subsequent writes as `closed` drops. diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-anonymous/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-anonymous/README.md index 3316dc8..afa4793 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-anonymous/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-anonymous/README.md @@ -57,4 +57,3 @@ The resolver passes `runAuthSessionConformance` (null-only mode) from `AUTH_ANON.INVALID_OPTIONS` — thrown only when the factory is handed a non-object or unknown-key options bag. No per-request error paths exist by design. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-bearer-static/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-bearer-static/README.md index 2027748..2a8cec0 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-bearer-static/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-bearer-static/README.md @@ -152,4 +152,3 @@ Both surfaces pass `runAuthSessionConformance` from `@suaveplan/api-auth`. Spec-conformance tests live alongside the source under `src/factory/*.spec-conformance.test.ts` and `src/proxy/*.spec-conformance.test.ts`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-better-auth/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-better-auth/README.md index 7ec7c52..644ccf3 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-better-auth/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-better-auth/README.md @@ -169,4 +169,3 @@ createBetterAuthSession createBetterAuthProvider ▼ ▼ Principal auth.handler(rewrittenRequest) ``` - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-jwt/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-jwt/README.md index edf0298..1fdd012 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-jwt/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-jwt/README.md @@ -41,7 +41,7 @@ provider, not this package. `JWT_BEARER_SCHEME` and `createJwtBearerSecurityScheme(name)` for OpenAPI emission. - [`./error-codes`](src/error-codes/error-codes.md) — `AUTH_JWT_*` codes - + `AuthJwtError` class. + - `AuthJwtError` class. - [`./options`](src/options/options.md) — Zod-validated options boundary. @@ -132,4 +132,3 @@ returns a non-Principal value. ## License MIT — see the repository. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-provider/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-provider/README.md index 463129a..a6c5880 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-provider/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-provider/README.md @@ -65,4 +65,3 @@ package. ## Stage / status Concrete providers ship in Stages 6 / 8. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-provider/src/path-ownership/path-ownership.md b/plugins/document-navigator/docs/api-stack/api/api-auth-provider/src/path-ownership/path-ownership.md index 25575cc..00cc825 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-provider/src/path-ownership/path-ownership.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-provider/src/path-ownership/path-ownership.md @@ -57,11 +57,11 @@ ownership.register(replacementProvider); ## API Reference - `class PathOwnership` — runtime registry. - - `constructor(options?: PathOwnershipOptions)` - - `register(provider): PathOwnershipClaim` - - `release(): void` - - `current(): ProviderClaim | null` - - `hasProvider(): boolean` + - `constructor(options?: PathOwnershipOptions)` + - `register(provider): PathOwnershipClaim` + - `release(): void` + - `current(): ProviderClaim | null` + - `hasProvider(): boolean` - `interface PathOwnershipOptions { clock? }` - `type OwnershipClock = () => number` - `interface PathOwnershipClaim { providerId; prefix; claimedAt }` diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-rolled/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-rolled/README.md index 938c88c..97656d9 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-rolled/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-rolled/README.md @@ -4,6 +4,7 @@ Stage-8.12 rolled session-token resolver for `@suaveplan/api`. Issues RS256-signed JWTs with rotating `kid` slots, verifies tokens through the rotator's active + retired-non-revoked key set, projects DB rows onto the `@suaveplan/api-types` `Principal` contract, and contributes cookie + + bearer OpenAPI security schemes. This milestone ships the **session-resolver half** of the eventual dual @@ -14,20 +15,20 @@ a successor change `api-auth-rolled-provider`. ## Documentation tree -- [composition](./src/composition/composition.md) — Top-level factory `createRolledAuthAdapter` that wires the four sub-modules (`token-rotator`, `session`, `principal-pro… - - [composition](./src/composition/composition.md) — Top-level factory `createRolledAuthAdapter` that wires the four sub-modules (`token-rotator`, `session`, `principal-pro… -- [error-codes](./src/error-codes/error-codes.md) — Stable error-code registry for `@suaveplan/api-auth-rolled`. Every code is namespaced under `AUTH_ROLLED.*` so cross-pa… - - [error-codes](./src/error-codes/error-codes.md) — Stable error-code registry for `@suaveplan/api-auth-rolled`. Every code is namespaced under `AUTH_ROLLED.*` so cross-pa… -- [options](./src/options/options.md) — Defines the configuration shape accepted by `createRolledAuthAdapter` and the Zod schema that validates it. Operators w… - - [options](./src/options/options.md) — Defines the configuration shape accepted by `createRolledAuthAdapter` and the Zod schema that validates it. Operators w… -- [principal-projection](./src/principal-projection/principal-projection.md) — Projects the package's internal `UserRow` storage shape onto the abstract `Principal` contract published by `@suaveplan… - - [principal-projection](./src/principal-projection/principal-projection.md) — Projects the package's internal `UserRow` storage shape onto the abstract `Principal` contract published by `@suaveplan… -- [security-schemes](./src/security-schemes/security-schemes.md) — Contributes OpenAPI 3.1 `securitySchemes` entries describing both transports the rolled session resolver accepts — `Aut… - - [security-schemes](./src/security-schemes/security-schemes.md) — Contributes OpenAPI 3.1 `securitySchemes` entries describing both transports the rolled session resolver accepts — `Aut… -- [session](./src/session/session.md) — The rolling-JWT session resolver — the keystone of the rolled auth adapter. Builds a `SessionResolver` (per `@suaveplan… - - [session](./src/session/session.md) — The rolling-JWT session resolver — the keystone of the rolled auth adapter. Builds a `SessionResolver` (per `@suaveplan… -- [token-rotator](./src/token-rotator/token-rotator.md) — Owns the rotating-keyset state for the rolled session-token resolver. The active key signs new JWTs; retired-but-non-re… - - [token-rotator](./src/token-rotator/token-rotator.md) — Owns the rotating-keyset state for the rolled session-token resolver. The active key signs new JWTs; retired-but-non-re… ++ [composition](./src/composition/composition.md) — Top-level factory `createRolledAuthAdapter` that wires the four sub-modules (`token-rotator`, `session`, `principal-pro… + + [composition](./src/composition/composition.md) — Top-level factory `createRolledAuthAdapter` that wires the four sub-modules (`token-rotator`, `session`, `principal-pro… ++ [error-codes](./src/error-codes/error-codes.md) — Stable error-code registry for `@suaveplan/api-auth-rolled`. Every code is namespaced under `AUTH_ROLLED.*` so cross-pa… + + [error-codes](./src/error-codes/error-codes.md) — Stable error-code registry for `@suaveplan/api-auth-rolled`. Every code is namespaced under `AUTH_ROLLED.*` so cross-pa… ++ [options](./src/options/options.md) — Defines the configuration shape accepted by `createRolledAuthAdapter` and the Zod schema that validates it. Operators w… + + [options](./src/options/options.md) — Defines the configuration shape accepted by `createRolledAuthAdapter` and the Zod schema that validates it. Operators w… ++ [principal-projection](./src/principal-projection/principal-projection.md) — Projects the package's internal `UserRow` storage shape onto the abstract `Principal` contract published by `@suaveplan… + + [principal-projection](./src/principal-projection/principal-projection.md) — Projects the package's internal `UserRow` storage shape onto the abstract `Principal` contract published by `@suaveplan… ++ [security-schemes](./src/security-schemes/security-schemes.md) — Contributes OpenAPI 3.1 `securitySchemes` entries describing both transports the rolled session resolver accepts — `Aut… + + [security-schemes](./src/security-schemes/security-schemes.md) — Contributes OpenAPI 3.1 `securitySchemes` entries describing both transports the rolled session resolver accepts — `Aut… ++ [session](./src/session/session.md) — The rolling-JWT session resolver — the keystone of the rolled auth adapter. Builds a `SessionResolver` (per `@suaveplan… + + [session](./src/session/session.md) — The rolling-JWT session resolver — the keystone of the rolled auth adapter. Builds a `SessionResolver` (per `@suaveplan… ++ [token-rotator](./src/token-rotator/token-rotator.md) — Owns the rotating-keyset state for the rolled session-token resolver. The active key signs new JWTs; retired-but-non-re… + + [token-rotator](./src/token-rotator/token-rotator.md) — Owns the rotating-keyset state for the rolled session-token resolver. The active key signs new JWTs; retired-but-non-re… ## Why @@ -80,4 +81,3 @@ setInterval(async () => { ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth-static-principal/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth-static-principal/README.md index 40ca05c..a9ce6c3 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth-static-principal/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth-static-principal/README.md @@ -122,4 +122,3 @@ const host = createTestHost({ Until then, callers wire the adapter directly via `createStaticPrincipalAdapter()` as shown above. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-auth/README.md b/plugins/document-navigator/docs/api-stack/api/api-auth/README.md index d8bb3bf..aaa39c2 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-auth/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-auth/README.md @@ -93,9 +93,9 @@ const principal = await chain.resolve(new Request("https://example.test")); ## Versioning -1.0`. Graduates to `1.0.0` when the Stage 1 -contract bundle (`api-types`, `api-auth`, `api-tenant-resolver`, -`api-secrets`, `api-db-adapter`) all reach 1.0. +1.0`. Graduates to`1.0.0`when the Stage 1 +contract bundle (`api-types`,`api-auth`,`api-tenant-resolver`, +`api-secrets`,`api-db-adapter`) all reach 1.0. ## Dependencies @@ -106,4 +106,3 @@ contract bundle (`api-types`, `api-auth`, `api-tenant-resolver`, | `@suaveplan/types` | Cross-package contracts (logger, clock, etc.). | | `tslib` | TypeScript runtime helpers (catalog). | | `zod` | Boundary validation for security-scheme contributions. | - diff --git a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/README.md b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/README.md index 45b617a..d8c1711 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/README.md @@ -125,4 +125,3 @@ a no-op. factory. - `DB_ADAPTER.INVALID_OPTIONS` — Zod validation failed; issues attached to `error.context.issues`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/factory/create-db-adapter.md b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/factory/create-db-adapter.md index aa32a32..1f82d27 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/factory/create-db-adapter.md +++ b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/factory/create-db-adapter.md @@ -26,7 +26,7 @@ The result object exposes: ## Features - Options are parsed once at factory time; the rest of the API is typed - against the *post-parse* `DbAdapterOptions`. + against the _post-parse_ `DbAdapterOptions`. - Engine lookup is delegated to `buildEngineAdapter`, so any declaration-merged engine works automatically. - Tenant scoping config (`tenantColumn`, `autoInjectInserts`) flows from diff --git a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/options/db-adapter-options.md b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/options/db-adapter-options.md index cb9bcf8..0a29247 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/options/db-adapter-options.md +++ b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/options/db-adapter-options.md @@ -24,7 +24,7 @@ payloads. - `parseDbAdapterOptions(input)` — convenience wrapper that converts every Zod failure into a typed `DbAdapterError` with code `INVALID_OPTIONS`. Issues are surfaced through `error.context.issues`. -- `engine` is `z.string().min(1)` — the *literal value* check happens against +- `engine` is `z.string().min(1)` — the _literal value_ check happens against the open `DatabaseEngineRegistry` so declaration-merged engines pass. - `pool` is an optional sub-schema with its own defaults; absent values are forwarded as `undefined` to the engine layer rather than guessed. diff --git a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/tenant-scoped/create-tenant-scoped-wrapper.md b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/tenant-scoped/create-tenant-scoped-wrapper.md index 17053da..9eb3389 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/tenant-scoped/create-tenant-scoped-wrapper.md +++ b/plugins/document-navigator/docs/api-stack/api/api-db-adapter/src/tenant-scoped/create-tenant-scoped-wrapper.md @@ -10,7 +10,7 @@ This module is the load-bearing safety boundary between a plugin route handler and the underlying admin database surface. Every SELECT/UPDATE/DELETE that the route handler issues is rewritten in flight to carry a `WHERE tenant_id = ?` predicate; every INSERT either carries the tenant column or is rejected (or -auto-injected, configurable). The contract is enforced *at the wrapper*, so a +auto-injected, configurable). The contract is enforced _at the wrapper_, so a route handler literally cannot read another tenant's rows even if the plugin author is malicious. diff --git a/plugins/document-navigator/docs/api-stack/api/api-db-sqlite-memory/README.md b/plugins/document-navigator/docs/api-stack/api/api-db-sqlite-memory/README.md index 7f5186d..c4d2232 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-db-sqlite-memory/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-db-sqlite-memory/README.md @@ -75,4 +75,3 @@ The final merged pragma map is `{ ...DEFAULT_PRAGMAS, ...options.pragmas }`, so ## License MIT. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-db-worker-proxy/README.md b/plugins/document-navigator/docs/api-stack/api/api-db-worker-proxy/README.md index 7d7200a..8d0f962 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-db-worker-proxy/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-db-worker-proxy/README.md @@ -109,4 +109,3 @@ parentPort?.once("message", (boot) => { - [`src/tenant-scoped/tenant-scoped.md`](./src/tenant-scoped/tenant-scoped.md) - [`src/error-codes/error-codes.md`](./src/error-codes/error-codes.md) - [`src/testing/testing.md`](./src/testing/testing.md) - diff --git a/plugins/document-navigator/docs/api-stack/api/api-events-in-memory/README.md b/plugins/document-navigator/docs/api-stack/api/api-events-in-memory/README.md index e900166..3bfa797 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-events-in-memory/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-events-in-memory/README.md @@ -102,4 +102,3 @@ underlying `z.ZodError` on `cause`. ## License MIT — Suaveplan Team. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-events-worker-proxy/README.md b/plugins/document-navigator/docs/api-stack/api/api-events-worker-proxy/README.md index ea0f5df..40df7b7 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-events-worker-proxy/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-events-worker-proxy/README.md @@ -87,4 +87,3 @@ console.log(result.delivered); - [`payload-codec`](./src/payload-codec/payload-codec.md) - [`error-codes`](./src/error-codes/error-codes.md) - [`testing`](./src/testing/testing.md) - diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/README.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/README.md index 07d4e97..d3e2ecb 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/README.md @@ -66,4 +66,3 @@ slimmer dependency closure. Original. Owned by the `api-stack` super-category. Passes the abstract conformance harness with the same invariants Yoga satisfies — see `src/engine/apollo-engine.spec-conformance.test.ts`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/src/testing/conformance.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/src/testing/conformance.md index abc0de5..8074f6b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/src/testing/conformance.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-apollo/src/testing/conformance.md @@ -16,7 +16,7 @@ boundary. The module also re-exports the unmodified `runGraphqlEngineConformance` so downstream packages that want to run the harness against a -*different* factory (e.g. a federated subgraph composing Apollo + a +_different_ factory (e.g. a federated subgraph composing Apollo + a custom transport) keep a single import surface. ## Features diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-altair/README.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-altair/README.md index 5450ad5..d27c1cf 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-altair/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-altair/README.md @@ -94,4 +94,3 @@ the `ui` label. ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/README.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/README.md index 0cf59a6..700cee1 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/README.md @@ -104,4 +104,3 @@ bunx --bun turbo lint typecheck test:coverage --filter=@suaveplan/api-graphql-ui 100% statements / branches / functions / lines required on touched modules (`provider: istanbul`). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/src/headers/csp.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/src/headers/csp.md index 73f2f31..9dc0ce5 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/src/headers/csp.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-ui-graphiql/src/headers/csp.md @@ -61,4 +61,4 @@ if (cspAllowsInlineScripts(myCspValue)) { Inline-style allowance is documented in the module header so future maintainers don't tighten the policy without understanding why. The predicate operates on the raw header string rather than parsing the CSP -grammar — sufficient for the conformance check. \ No newline at end of file +grammar — sufficient for the conformance check. diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/README.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/README.md index 5425bb6..4d06b6e 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/README.md @@ -87,4 +87,3 @@ const result = await engine.executeQuery({ query: "{ ping }" }, ctx); ## License MIT — Suaveplan Team. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/src/subscriptions/subscriptions.md b/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/src/subscriptions/subscriptions.md index b0f2702..df7dc25 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/src/subscriptions/subscriptions.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql-yoga/src/subscriptions/subscriptions.md @@ -10,6 +10,7 @@ Bridges the `WsBroker` contract from `@suaveplan/api-ws` to GraphQL `Subscription` resolvers via `AsyncIterable`. The Yoga engine wires `graphql-ws` over the host's already-mounted WebSocket transport; this module is the per-subscription helper that converts a broker `topic` + + `tenant` pair into an iterator the engine can consume. Tenant filtering is enforced at the bridge: only `BrokerEnvelope` items @@ -20,10 +21,10 @@ within one tick. ## Features -- Returns `AsyncIterable` with an explicit `close()` accessor. -- Queues payloads when no consumer is awaiting; resolves immediately when ++ Returns `AsyncIterable` with an explicit `close()` accessor. ++ Queues payloads when no consumer is awaiting; resolves immediately when a consumer is parked. -- Calls `GraphqlYogaError("SUBSCRIPTION_TRANSPORT_UNAVAILABLE")` when the ++ Calls `GraphqlYogaError("SUBSCRIPTION_TRANSPORT_UNAVAILABLE")` when the host hands a `null` broker, satisfying the design doc §10.4 contract. ## Usage: Basic @@ -59,7 +60,7 @@ const subscription = { ## API Reference -- `subscribeBrokerTopic(broker, topic, tenant)` — returns ++ `subscribeBrokerTopic(broker, topic, tenant)` — returns `AsyncIterable & { close(): Promise }`. ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-graphql/README.md b/plugins/document-navigator/docs/api-stack/api/api-graphql/README.md index 6c2d784..ded9b32 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-graphql/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-graphql/README.md @@ -78,4 +78,3 @@ Altair packages land . - `@suaveplan/error` — `defineCodes` + `SuaveplanError` base. - `zod` — subscription protocol envelope validation. - `tslib` — TypeScript helper functions. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-host/README.md b/plugins/document-navigator/docs/api-stack/api/api-host/README.md index 78f1f96..0834ee3 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-host/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-host/README.md @@ -115,4 +115,3 @@ bun add @suaveplan/api-host ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-host/src/capability-registry/capability-registry.md b/plugins/document-navigator/docs/api-stack/api/api-host/src/capability-registry/capability-registry.md index 4c3e7c4..3d6e1a9 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-host/src/capability-registry/capability-registry.md +++ b/plugins/document-navigator/docs/api-stack/api/api-host/src/capability-registry/capability-registry.md @@ -65,14 +65,14 @@ await registry.dispose(); ## API Reference - `class CapabilityRegistry` - - `register(reg)`: void - - `lookup(id): CapabilityRegistration | undefined` - - `require(id): CapabilityRegistration` - - `has(id): boolean` - - `ids(): readonly CapabilityId[]` - - `size(): number` - - `assertSatisfies(ranges: Record): void` - - `dispose(): Promise` + - `register(reg)`: void + - `lookup(id): CapabilityRegistration | undefined` + - `require(id): CapabilityRegistration` + - `has(id): boolean` + - `ids(): readonly CapabilityId[]` + - `size(): number` + - `assertSatisfies(ranges: Record): void` + - `dispose(): Promise` - `defineCapability(reg): CapabilityRegistration` - `CapabilityScope`: `"host" | "plugin" | "request"` - `CapabilityRegistration`: shape consumed by `register`. diff --git a/plugins/document-navigator/docs/api-stack/api/api-host/src/otel/otel.md b/plugins/document-navigator/docs/api-stack/api/api-host/src/otel/otel.md index d6943bc..27eb564 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-host/src/otel/otel.md +++ b/plugins/document-navigator/docs/api-stack/api/api-host/src/otel/otel.md @@ -73,12 +73,12 @@ for (const name of HOST_COUNTER_NAMES) { - `HOST_COUNTER_NAMES` — `readonly` tuple of every counter name. - `HOST_HISTOGRAM_NAMES` — `readonly` tuple of every histogram name. - `HostInstruments`: - - `meter: Meter` - - `tenantLabelOptIn: boolean` - - `counters: Readonly>` - - `histograms: Readonly>` - - `forPlugin(name): PluginInstruments` - - `dispose(): void` + - `meter: Meter` + - `tenantLabelOptIn: boolean` + - `counters: Readonly>` + - `histograms: Readonly>` + - `forPlugin(name): PluginInstruments` + - `dispose(): void` - `PluginInstruments`: `{ meter: Meter; pluginName: string }`. ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-host/src/request-pipeline/request-pipeline.md b/plugins/document-navigator/docs/api-stack/api/api-host/src/request-pipeline/request-pipeline.md index d5bc93a..c07b8e3 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-host/src/request-pipeline/request-pipeline.md +++ b/plugins/document-navigator/docs/api-stack/api/api-host/src/request-pipeline/request-pipeline.md @@ -112,7 +112,7 @@ const PIPELINE_STEPS: readonly PipelineStepName[]; ## Implementation Notes -The pipeline runs route-match *first* (technically step 2 in §6) so +The pipeline runs route-match _first_ (technically step 2 in §6) so later step gates (`auth`, `csrf`, `rateLimit`, `idempotent`) can consult per-route policy. The §6 ordering of "intake → match" is preserved at the engine adapter; this driver assumes the intake has diff --git a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/README.md b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/README.md index f0f3911..204367b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/README.md @@ -54,7 +54,7 @@ package adds only the jobs-specific verbs. ## Local conformance harness The proposal originally referenced `runJobsConformance` from -`@suaveplan/job-scheduler/testing`. That harness does not yet exist; +`@suaveplan/job-scheduler/testing`. That harness does not yet exist; this package therefore provides its own `JOBS_CONFORMANCE_CASES` + `runJobsConformance` under `./testing`. The surface matches what the upstream harness is intended to be — a @@ -67,4 +67,3 @@ in-repo substitute can be swapped out without changing consumers. bunx turbo lint typecheck test --filter=@suaveplan/api-jobs-worker-proxy bunx turbo test:coverage --filter=@suaveplan/api-jobs-worker-proxy ``` - diff --git a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/client/client.md b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/client/client.md index 2bda833..a878c64 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/client/client.md +++ b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/client/client.md @@ -67,8 +67,8 @@ client.registerQueued("send-email", async (payload) => { - `JobsProxyClient extends JobRegistrationHandle` — adds `close()` and a `sizes` accessor reporting registration counts. - `JobsProxyClientOptions`: - - `handlerTimeoutMs?: number` — per-dispatch timeout, `0` disables. - - `onHandlerError?: (err, ctx) => void` — observer hook. + - `handlerTimeoutMs?: number` — per-dispatch timeout, `0` disables. + - `onHandlerError?: (err, ctx) => void` — observer hook. ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/error-codes/error-codes.md b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/error-codes/error-codes.md index 88aa9ef..eb0a90b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/error-codes/error-codes.md +++ b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/error-codes/error-codes.md @@ -48,11 +48,11 @@ try { ## API Reference - `JOBS_PROXY_CODES` — readonly registry of five string codes: - - `JOB_NOT_DECLARED` — name absent from manifest whitelist. - - `HANDLER_THREW` — worker-side handler threw or rejected. - - `PROXY_DISPOSED` — operation attempted after `close()`. - - `JOB_TIMEOUT` — dispatch exceeded `handlerTimeoutMs`. - - `DUPLICATE_REGISTRATION` — same name registered twice. + - `JOB_NOT_DECLARED` — name absent from manifest whitelist. + - `HANDLER_THREW` — worker-side handler threw or rejected. + - `PROXY_DISPOSED` — operation attempted after `close()`. + - `JOB_TIMEOUT` — dispatch exceeded `handlerTimeoutMs`. + - `DUPLICATE_REGISTRATION` — same name registered twice. - `JobsProxyCode` — union of every literal value in the registry. - `JobsProxyError(code, message, options?)` — typed error class. diff --git a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/server/server.md b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/server/server.md index af3ece2..b9ab0a6 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/server/server.md +++ b/plugins/document-navigator/docs/api-stack/api/api-jobs-worker-proxy/src/server/server.md @@ -63,12 +63,12 @@ server.close("plugin-unload"); - `createJobsProxyServer(port, mainHandle, opts) -> JobsProxyServer`. - `JobsProxyServer`: - - `close(reason?: string): void` — idempotent disposer. - - `registeredCount: number` — count of accepted registrations. + - `close(reason?: string): void` — idempotent disposer. + - `registeredCount: number` — count of accepted registrations. - `JobsProxyServerOptions`: - - `declaredJobs: ReadonlyArray<{name, kind}>` — manifest whitelist. - - `runRpcTimeoutMs?: number` — optional per-tick RPC timeout. - - `onDispatchError?: (err, ctx) => void` — telemetry hook. + - `declaredJobs: ReadonlyArray<{name, kind}>` — manifest whitelist. + - `runRpcTimeoutMs?: number` — optional per-tick RPC timeout. + - `onDispatchError?: (err, ctx) => void` — telemetry hook. ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-lifecycle/README.md b/plugins/document-navigator/docs/api-stack/api/api-lifecycle/README.md index eaa312b..3e4f66b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-lifecycle/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-lifecycle/README.md @@ -79,4 +79,3 @@ await fsm.transition("startCompleted"); | `LIFECYCLE.MUTEX_HELD` | `assertAcquired` called on a null `tryAcquire` result | | `LIFECYCLE.RETRY_BUDGET_EXHAUSTED` | start_failed × 3 OR crashed × 3 in window | | `LIFECYCLE.REINSTALL_REQUIRED_VERSION_DOWNGRADE` | `next.version < prev.version` | - diff --git a/plugins/document-navigator/docs/api-stack/api/api-loader/README.md b/plugins/document-navigator/docs/api-stack/api/api-loader/README.md index f37ae0a..470d9e0 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-loader/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-loader/README.md @@ -73,4 +73,4 @@ sections 8 (Hot reload), 8.1a (RollbackJournal), 8.2 (cache busting). - Version: `0.1.0` - Wave: Stage 1 (Contracts) -- Consumers: `@suaveplan/api-host` (Stage 2) implements the contracts here. \ No newline at end of file +- Consumers: `@suaveplan/api-host` (Stage 2) implements the contracts here. diff --git a/plugins/document-navigator/docs/api-stack/api/api-loader/src/resolver/resolver.md b/plugins/document-navigator/docs/api-stack/api/api-loader/src/resolver/resolver.md index a134967..5d44587 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-loader/src/resolver/resolver.md +++ b/plugins/document-navigator/docs/api-stack/api/api-loader/src/resolver/resolver.md @@ -88,7 +88,7 @@ export type ModuleResolverFactory = () => ModuleResolver; ## Implementation Notes -`resolve` returns the *evaluated namespace*, not a thenable wrapping it — +`resolve` returns the _evaluated namespace_, not a thenable wrapping it — the host's lifecycle FSM treats a successful return as a synchronous "module loaded" signal even though the call itself is async. Concrete implementations are free to memoise nothing (the cache-bust strategy in diff --git a/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/README.md b/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/README.md index a3422d2..44918f1 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/README.md @@ -95,4 +95,3 @@ server.close(); ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/src/testing/testing.md b/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/src/testing/testing.md index 8ebd5a7..9b5bda4 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/src/testing/testing.md +++ b/plugins/document-navigator/docs/api-stack/api/api-logger-worker-proxy/src/testing/testing.md @@ -33,7 +33,7 @@ proxy). `WireLogRecord` with defaults. - `runLoggerProxyConformance(plugin, options?)` — full paired harness: client + server + captured-output array + control sender - + `dispose()`. + - `dispose()`. ## Usage: Basic diff --git a/plugins/document-navigator/docs/api-stack/api/api-manifest/README.md b/plugins/document-navigator/docs/api-stack/api/api-manifest/README.md index 609e79d..f2ea0e6 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-manifest/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-manifest/README.md @@ -108,4 +108,3 @@ Every code is namespaced under `MANIFEST.*` and produced by `defineCodes`. The e ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-migrations/README.md b/plugins/document-navigator/docs/api-stack/api/api-migrations/README.md index a0b0729..c9c6d94 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-migrations/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-migrations/README.md @@ -123,4 +123,3 @@ import { MIGRATION_CODES } from "@suaveplan/api-migrations/error-codes/error-cod Server (Bun + Node). Uses `node:crypto` for SHA-256 and `node:fs/promises` for directory scanning and file reads. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-redoc/README.md b/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-redoc/README.md index 94116e6..33bf70f 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-redoc/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-redoc/README.md @@ -80,4 +80,3 @@ const res = handler(); ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-scalar/README.md b/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-scalar/README.md index a29b693..68e9f43 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-scalar/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-scalar/README.md @@ -127,4 +127,3 @@ bunx --bun turbo lint typecheck test:coverage --filter=@suaveplan/api-openapi-ui 100% statements / branches / functions / lines required on touched modules (`provider: istanbul`). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-swagger/README.md b/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-swagger/README.md index c36f4b5..760cc04 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-swagger/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-openapi-ui-swagger/README.md @@ -78,4 +78,3 @@ for (const name of listBundledAssetNames()) { - `OPENAPI_UI_SWAGGER.ASSETS_MISSING` — bundled mode requested without `assetBasePath`, or a bundled asset name is not registered. Both surfaces raise at factory-call time (eager validation), so misconfiguration is caught at boot rather than at first request. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-openapi/README.md b/plugins/document-navigator/docs/api-stack/api/api-openapi/README.md index 1f42447..1979635 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-openapi/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-openapi/README.md @@ -220,4 +220,3 @@ Server-tier (Hono-typed). Runs in Bun + Node. ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-audit/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-audit/README.md index 1dbc397..74aabad 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-audit/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-audit/README.md @@ -85,4 +85,3 @@ app.post("/users/:id/delete", async (c) => { - `auditService` registered with `ctx.registerService("auditService", ...)` and exposed through the typed `ServiceRegistry` slot. - Hono `ContextVariableMap` augmented with `audit: AuditContext` so handlers fire explicit events without import boilerplate. - Four OpenTelemetry instruments: `audit.requests_recorded_total{outcome,sampled}`, `audit.requests_excluded_total`, `audit.sink_failures_total`, `audit.middleware_duration_ms`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-auth/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-auth/README.md index 26b3b3a..2ab242f 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-auth/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-auth/README.md @@ -192,4 +192,3 @@ createAuthPlugin({ - `better-auth ^1.4` (resolves to 1.6.x via the catalog). - `hono`, `@hono/zod-openapi`, `zod` — supplied by the host application; the plugin imports them directly. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-campaigns/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-campaigns/README.md index 991f9a2..2b5eb9d 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-campaigns/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-campaigns/README.md @@ -65,4 +65,3 @@ each ships green on its own: `bunx turbo lint typecheck test --filter=@suaveplan/api-plugin-campaigns` plus `bunx turbo test:coverage --filter=@suaveplan/api-plugin-campaigns` at 100/100/100/100 are required for every chunk to land. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-cms/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-cms/README.md index 96228f4..41cbb02 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-cms/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-cms/README.md @@ -94,4 +94,3 @@ app.onError((err, c) => respondProblemJson(c, err)); ## License MIT — © Suaveplan Team - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-database/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-database/README.md index d2ecbc0..bfe1fde 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-database/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-database/README.md @@ -108,4 +108,3 @@ Migration metrics are emitted by `@suaveplan/api-migrations` under its own meter ## Errors Every failure path raises `DatabaseError` carrying one of eight `DATABASE_*` codes: `CONNECTION_FAILED`, `POOL_EXHAUSTED`, `POOL_CLOSED`, `QUERY_FAILED`, `MIGRATION_FAILED`, `LOCK_CONTENDED`, `TENANT_INVALID`, `INVALID_CONFIG`. See [`error-codes/error-codes.md`](./src/error-codes/error-codes.md). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-event-bus/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-event-bus/README.md index 2a0bddf..35c4cc0 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-event-bus/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-event-bus/README.md @@ -193,4 +193,3 @@ table and `context.statusCode` mapping. application. - `@suaveplan/api-plugin-auth` — used by `requireAuth()` route gate when `requireAuthForRoutes: true` (default). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-events/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-events/README.md index 7e4b340..6ccf59c 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-events/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-events/README.md @@ -109,4 +109,3 @@ for the full list. Highlights: `0.1.0` — feature parity with upstream `@suaveplan/api-plugin-events` modulo the explicit scope-outs above. 100% line / branch / function / statement coverage. Real SurrealDB testcontainer integration. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-example/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-example/README.md index 239c672..cf93df4 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-example/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-example/README.md @@ -102,4 +102,3 @@ bunx --bun turbo lint typecheck test:coverage --filter=@suaveplan/api-plugin-exa 100% Istanbul coverage is enforced; the manifest `errors.statusMap` is verified end-to-end against the runtime by the integration suite. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/README.md index 5877c20..68281f1 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/README.md @@ -86,4 +86,3 @@ DELETE /v1/exports/{id} → { success: true } ## Scope notes This package ships the upstream §2 functional surface (CSV / JSON / SpreadsheetML XML exporters + in-memory job store + four-route Hono group). The upstream §3–§4 enhancements (streaming exporters, S3-backed blob store, auth/permissions/rate-limit/idempotency middleware, OOXML/ZIP writer, scheduled exports, signed download URLs, Parquet/Markdown formats) are deferred to follow-up changes — they require downstream plugins that have not yet landed . - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/exporters/xlsx/xlsx.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/exporters/xlsx/xlsx.md index 80909c8..5693f57 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/exporters/xlsx/xlsx.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/exporters/xlsx/xlsx.md @@ -55,4 +55,4 @@ const result = new XlsxExporter().export(rows, cols, { sheetName: "WideExport" } ## Implementation Notes -The output is *SpreadsheetML 2006* — a worksheet XML payload, not the ZIP package most consumers think of when they hear "xlsx". This is a deliberate carry-over from the upstream package which chose XML over the `xlsx` npm dependency. The MIME type is set to the OOXML sheet content-type so HTTP consumers can still dispatch by `Content-Type`; the filename suffix is `.xlsx.xml` to signal the format honestly. The sheet name is escaped into the `` attribute even though the bare-worksheet form is not strictly required to carry one — keeping the attribute lets downstream upgrades wrap this document in an OOXML/ZIP package without re-emitting the worksheet. The `columnIndexToLetter` loop uses `Math.floor(n / 26) - 1` so the multi-letter overflow is exactly Excel-compatible: `26 → "AA"`, `51 → "AZ"`, `52 → "BA"`, `676 → "ZA"`, `701 → "ZZ"`, `702 → "AAA"`. The boolean cell uses `1`/`0` (not `true`/`false`) because OOXML requires the integer form. +The output is _SpreadsheetML 2006_ — a worksheet XML payload, not the ZIP package most consumers think of when they hear "xlsx". This is a deliberate carry-over from the upstream package which chose XML over the `xlsx` npm dependency. The MIME type is set to the OOXML sheet content-type so HTTP consumers can still dispatch by `Content-Type`; the filename suffix is `.xlsx.xml` to signal the format honestly. The sheet name is escaped into the `` attribute even though the bare-worksheet form is not strictly required to carry one — keeping the attribute lets downstream upgrades wrap this document in an OOXML/ZIP package without re-emitting the worksheet. The `columnIndexToLetter` loop uses `Math.floor(n / 26) - 1` so the multi-letter overflow is exactly Excel-compatible: `26 → "AA"`, `51 → "AZ"`, `52 → "BA"`, `676 → "ZA"`, `701 → "ZZ"`, `702 → "AAA"`. The boolean cell uses `1`/`0` (not `true`/`false`) because OOXML requires the integer form. diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/otel/instruments.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/otel/instruments.md index 5e53f0f..938b28e 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/otel/instruments.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/otel/instruments.md @@ -53,4 +53,4 @@ const inst = getExportInstruments(); // rebinds against the new provider ## Implementation Notes -The bundle is held in a module-scope `let cached: ExportInstruments | undefined` rather than in a class instance, because the function is the only documented entry point and there is no per-plugin state to keep — every plugin instance in a process shares the same meter. Counters use `add(value, attributes?)`; the `outcome` attribute is set by the call site rather than declared on the instrument because OTel attributes are runtime keys, not instrument metadata. The histogram unit is set to `"ms"` (lower-case) per OTel semantic conventions for latency. Resetting between tests is mandatory: meter handles cache internally inside `@opentelemetry/api`, so without `resetExportInstruments()` a test would emit to whichever provider was installed when the *first* `getExportInstruments()` call ran — usually the global default provider, which loses every metric. +The bundle is held in a module-scope `let cached: ExportInstruments | undefined` rather than in a class instance, because the function is the only documented entry point and there is no per-plugin state to keep — every plugin instance in a process shares the same meter. Counters use `add(value, attributes?)`; the `outcome` attribute is set by the call site rather than declared on the instrument because OTel attributes are runtime keys, not instrument metadata. The histogram unit is set to `"ms"` (lower-case) per OTel semantic conventions for latency. Resetting between tests is mandatory: meter handles cache internally inside `@opentelemetry/api`, so without `resetExportInstruments()` a test would emit to whichever provider was installed when the _first_ `getExportInstruments()` call ran — usually the global default provider, which loses every metric. diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/routes/exports/exports.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/routes/exports/exports.md index ec83951..87a396b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/routes/exports/exports.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/routes/exports/exports.md @@ -56,4 +56,4 @@ const routes = createExportRoutes({ ## Implementation Notes -The `runPostExport` helper in `post-handler.ts` owns the bulk of the work — the route definitions stay in this file so that the OpenAPI schema is one click away from the route name. Failure paths set `job.status = "failed"` and persist `job.error` *before* returning, so `GET /:id` immediately afterwards sees the failure record (mirroring upstream behaviour). The `downloadUrl` response is `/${jobId}/download` — the actual streaming endpoint is upstream §3 future work, deferred in this migration. The downstream consumer is expected to combine this `downloadUrl` with the `basePath` themselves (e.g. `${basePath}${downloadUrl}`) — the upstream package made the same choice and the route layer cannot know the full mount path. Every route is also registered against an explicit `createRoute(...)` descriptor so an OpenAPI document generated by `OpenAPIHono.getOpenAPIDocument()` includes the export routes with full Zod-derived schemas. +The `runPostExport` helper in `post-handler.ts` owns the bulk of the work — the route definitions stay in this file so that the OpenAPI schema is one click away from the route name. Failure paths set `job.status = "failed"` and persist `job.error` _before_ returning, so `GET /:id` immediately afterwards sees the failure record (mirroring upstream behaviour). The `downloadUrl` response is `/${jobId}/download` — the actual streaming endpoint is upstream §3 future work, deferred in this migration. The downstream consumer is expected to combine this `downloadUrl` with the `basePath` themselves (e.g. `${basePath}${downloadUrl}`) — the upstream package made the same choice and the route layer cannot know the full mount path. Every route is also registered against an explicit `createRoute(...)` descriptor so an OpenAPI document generated by `OpenAPIHono.getOpenAPIDocument()` includes the export routes with full Zod-derived schemas. diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/export/export-service.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/export/export-service.md index 18bca21..f4da315 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/export/export-service.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/export/export-service.md @@ -77,4 +77,4 @@ try { ## Implementation Notes -The two guards run in a specific order: row count is checked *before* the exporter runs so a runaway provider doesn't burn CPU encoding fields the route layer is about to reject. File size is checked *after* encoding because cell-level transforms and XML/JSON overhead can push a "small" row count over the byte cap. The `default:` branch in `getExporter` is reachable only if a caller bypasses the Zod boundary (the schema enumerates `csv|json|xlsx`); the `format as string` cast in the error message is intentional — we want the actual value the caller passed to surface in logs, not the post-narrowing `never`. `provider.fetch` errors are wrapped rather than thrown raw because the route layer needs to distinguish a *bad provider* (502-class) from a *bad request* (400-class), and the `ExportError` code is the contract that drives that branching upstream. +The two guards run in a specific order: row count is checked _before_ the exporter runs so a runaway provider doesn't burn CPU encoding fields the route layer is about to reject. File size is checked _after_ encoding because cell-level transforms and XML/JSON overhead can push a "small" row count over the byte cap. The `default:` branch in `getExporter` is reachable only if a caller bypasses the Zod boundary (the schema enumerates `csv|json|xlsx`); the `format as string` cast in the error message is intentional — we want the actual value the caller passed to surface in logs, not the post-narrowing `never`. `provider.fetch` errors are wrapped rather than thrown raw because the route layer needs to distinguish a _bad provider_ (502-class) from a _bad request_ (400-class), and the `ExportError` code is the contract that drives that branching upstream. diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/registry-augmentation.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/registry-augmentation.md index c61b7f0..d79fa14 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/registry-augmentation.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-export/src/services/registry-augmentation.md @@ -41,4 +41,4 @@ providers.set("orders", myOrderProvider); ## Implementation Notes -The augmentation pattern is identical to `@suaveplan/api-plugin-database`'s `registry-augmentation.ts` — both files exist purely to add slots to the shared registry interface defined by `@suaveplan/api-plugin/service-registry`. Without this file, every call site would have to cast the `getService("exportProviders")` return value, defeating the type safety that the `ServiceRegistry` interface was designed to provide. The two slots cover the two distinct concerns the plugin owns: the *registry* of data providers (writable by every consumer that wants to expose a resource for export) and the *store* of jobs (mutated by the route layer, observable by anyone tracking export progress). Exposing both is a deliberate departure from upstream, which exposed them via `ctx.registerService(...)` at runtime but never declared the corresponding types. +The augmentation pattern is identical to `@suaveplan/api-plugin-database`'s `registry-augmentation.ts` — both files exist purely to add slots to the shared registry interface defined by `@suaveplan/api-plugin/service-registry`. Without this file, every call site would have to cast the `getService("exportProviders")` return value, defeating the type safety that the `ServiceRegistry` interface was designed to provide. The two slots cover the two distinct concerns the plugin owns: the _registry_ of data providers (writable by every consumer that wants to expose a resource for export) and the _store_ of jobs (mutated by the route layer, observable by anyone tracking export progress). Exposing both is a deliberate departure from upstream, which exposed them via `ctx.registerService(...)` at runtime but never declared the corresponding types. diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-file-upload/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-file-upload/README.md index f3ca607..d0c676a 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-file-upload/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-file-upload/README.md @@ -97,4 +97,3 @@ await api.start(); - [`schemas/routes/initiate`](./src/schemas/routes/initiate.md) — chunked-init request/response. - [`schemas/routes/status`](./src/schemas/routes/status.md) — chunk / complete / status / abort schemas. - [`types/types`](./src/types/types.md) — public data model. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-graphql/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-graphql/README.md index 5608992..e9dd871 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-graphql/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-graphql/README.md @@ -105,4 +105,3 @@ This package is functional-parity with upstream `@suaveplan/api-plugin-graphql` ## License MIT. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-import/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-import/README.md index c178c58..cee5904 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-import/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-import/README.md @@ -138,4 +138,3 @@ upstream import success/failure). ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-notifications/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-notifications/README.md index 5e1d959..9d8d21f 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-notifications/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-notifications/README.md @@ -106,4 +106,3 @@ const service = new ApnService({ config, transport }); See `src/transport/apn-transport/apn-transport.md` for the full contract. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-payment/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-payment/README.md index af7ff84..8b20cf4 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-payment/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-payment/README.md @@ -157,4 +157,3 @@ const plugin = createPaymentPlugin({ - [`./src/otel/instruments.md`](./src/otel/instruments.md) — 5 counters + 1 histogram. - [`./src/error-codes/error-codes.md`](./src/error-codes/error-codes.md) — 15 `PAYMENT_PLUGIN_*` codes. - [`./src/types/types.md`](./src/types/types.md) — `PaymentPluginOptions` / `PaymentPluginConfig`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-rate-limit/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-rate-limit/README.md index 3bc82ca..24abfcf 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-rate-limit/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-rate-limit/README.md @@ -1,4 +1,4 @@ -# @suaveplan/api-plugin-rate-limit - Rate-limit plugin for @suaveplan/api. Wraps @suaveplan/rate-limiter as a definePlugin descriptor: per-route + per-tenant configuration, parameterised path matcher, IP whitelist, tenant multiplier applied to numeric limit, Hono middleware factory, 429 + Retry-After + X-RateLimit-* / RateLimit-* headers, OTel counters, RFC 7807 Problem+JSON body. Registers `rateLimitService` in the host ServiceRegistry. +# @suaveplan/api-plugin-rate-limit - Rate-limit plugin for @suaveplan/api. Wraps @suaveplan/rate-limiter as a definePlugin descriptor: per-route + per-tenant configuration, parameterised path matcher, IP whitelist, tenant multiplier applied to numeric limit, Hono middleware factory, 429 + Retry-After + X-RateLimit-*/ RateLimit-* headers, OTel counters, RFC 7807 Problem+JSON body. Registers `rateLimitService` in the host ServiceRegistry. Rate-limit plugin for `@suaveplan/api`. Wraps `@suaveplan/rate-limiter` as a `definePlugin` descriptor exposing per-route + per-tenant @@ -130,4 +130,3 @@ readiness). ## Status `0.1.0` — initial ship. Surface is final for the 0.1.x line. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-search/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-search/README.md index 708811a..c21c870 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-search/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-search/README.md @@ -107,10 +107,9 @@ await api.start(); ## Status -`0.1.0` — first migration wave shipping` with full upstream +`0.1.0` — first migration wave shipping`with full upstream parity. Persistent backends (`SearchAdapter` implementations against SurrealDB FTS / Typesense / Meilisearch), tenant scoping, auth gates, rate limiting, and the enterprise-audit §4 enhancements (vector search, synonyms, query DSL, saved searches, learning-to-rank) are tracked as follow-up changes. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-site/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-site/README.md index 384ebc4..947d2d0 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-site/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-site/README.md @@ -98,4 +98,3 @@ The site plugin ships **zero runtime dependencies** on `@suaveplan/api-plugin-ra - See [`docs/middleware-integration.md`](./docs/middleware-integration.md) for the canonical end-to-end wiring example and the recommended layering order (audit OUTERMOST → rate-limit MIDDLE → site routes INNERMOST). - See [`src/integration/middleware-recommendations.md`](./src/integration/middleware-recommendations.md) for the `MIDDLEWARE_RECOMMENDATIONS` constant exposing recommended rate-limit windows and audit categories per route group. - The pattern is proven by [`src/integration/middleware-composition.integration.test.ts`](./src/integration/middleware-composition.integration.test.ts) — a runnable composition asserting site behaviour, rate-limit headers, and audit event emission. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-sse/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-sse/README.md index 6e2ff7a..43b9533 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-sse/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-sse/README.md @@ -106,4 +106,3 @@ This package follows the canonical API-plugin pattern pioneered by `@suaveplan/a ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-tenant/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-tenant/README.md index 6ea4a33..5d58177 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-tenant/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-tenant/README.md @@ -118,4 +118,3 @@ const app = defineApp({ ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-user/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-user/README.md index ed6057d..ce2beb1 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-user/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-user/README.md @@ -200,4 +200,3 @@ The plugin emits three counters: Counters bind lazily to the global `MeterProvider`; tests re-bind by calling `resetUserInstruments()` after swapping the provider. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-vault/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-vault/README.md index 699b942..519b5e0 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-vault/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-vault/README.md @@ -163,4 +163,3 @@ Operators can: - [`services/registry-augmentation`](./src/services/registry-augmentation.md) — typed `ServiceRegistry` slot. - [`types/types`](./src/types/types.md) — public TS surface. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin-webhook/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin-webhook/README.md index 3d2054e..91da99c 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin-webhook/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin-webhook/README.md @@ -118,4 +118,3 @@ Status label values: `delivered`, `exhausted`, `not_found`, `inactive`, `invalid ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-plugin/README.md b/plugins/document-navigator/docs/api-stack/api/api-plugin/README.md index b685cac..d2dceb6 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-plugin/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-plugin/README.md @@ -108,7 +108,7 @@ ctx.getService("nope"); // type error — not augmented `PLUGIN_CODES` defines ten codes (`PLUGIN.NOT_FOUND`, `PLUGIN.ALREADY_REGISTERED`, `PLUGIN.INIT_FAILED`, `PLUGIN.DEP_MISSING`, `PLUGIN.CIRCULAR_DEPENDENCY`, `PLUGIN.INIT_TIMEOUT`, `PLUGIN.SHUTDOWN_FAILED`, `PLUGIN.INVALID_CONFIG`, `PLUGIN.HOOK_FAILED`, `PLUGIN.ABORTED`). Every code is raised by at least one production call site — the spec-conformance test pins this invariant. -## design decisions +## design decisions - **Unified lifecycle runtime** — `PluginRegistry` calls `onRegister`/`onInit`/`onReady`/`onClose` directly; the `HookExecutor` rejects registration of these four names. Upstream's dual-runtime hazard is eliminated by construction. - **`initTimeout`/`shutdownTimeout` are enforced** — every hook runs with an `AbortController`-bound `ctx.signal` that fires when the budget is exceeded. @@ -116,4 +116,3 @@ ctx.getService("nope"); // type error — not augmented - **Topological sort is deterministic** — alphabetical tie-break for equal-in-degree nodes makes boot logs reproducible across runs. - **No `applyMigrations`** — migrations live in `@suaveplan/api-migrations`. The plugin registry knows nothing about databases. - **No ALS singletons** (`getCurrentApp`, etc.). Callers thread `ctx` explicitly. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-rate-limit/README.md b/plugins/document-navigator/docs/api-stack/api/api-rate-limit/README.md index 9dc79d6..b14f228 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-rate-limit/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-rate-limit/README.md @@ -98,4 +98,3 @@ bunx --bun turbo lint typecheck test:coverage --filter=@suaveplan/api-rate-limit ``` 100% statements/branches/functions/lines (Istanbul). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-rbac/README.md b/plugins/document-navigator/docs/api-stack/api/api-rbac/README.md index 25e6825..8ecd796 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-rbac/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-rbac/README.md @@ -82,4 +82,3 @@ Reason label values: `"missing-scope" | "rule-deny" | "no-principal"`. ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-router-hono/README.md b/plugins/document-navigator/docs/api-stack/api/api-router-hono/README.md index 7cbb1e7..7e6eadf 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router-hono/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router-hono/README.md @@ -59,4 +59,3 @@ await slot.dispose(draining.slotId, { timeoutMs: 1_000 }); ## Version `0.1.0` — initial Stage-4 ship. Graduates to `1.0.0` when the plugin system as a whole is declared production-ready. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-router-hono/src/pipeline/pipeline.md b/plugins/document-navigator/docs/api-stack/api/api-router-hono/src/pipeline/pipeline.md index 00b1102..6c8765f 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router-hono/src/pipeline/pipeline.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router-hono/src/pipeline/pipeline.md @@ -98,12 +98,12 @@ r.registerPipelineRoute({ ## API Reference - `class PipelineRouteTable` — - - `register(reg: HonoPipelineRegistration): void` - - `unregister(method: string, path: string): void` - - `unregisterPlugin(plugin: string): void` - - `list(): readonly HonoPipelineRoute[]` - - `match(method: string, url: string): HonoPipelineRoute | null` - - `size(): number` + - `register(reg: HonoPipelineRegistration): void` + - `unregister(method: string, path: string): void` + - `unregisterPlugin(plugin: string): void` + - `list(): readonly HonoPipelineRoute[]` + - `match(method: string, url: string): HonoPipelineRoute | null` + - `size(): number` - `interface HonoPipelineRoute` — `{ plugin, method, path, options, handler, params, statusMap }`. Structurally compatible with `@suaveplan/api-types/pipeline-router`'s `PipelineRoute`. - `interface HonoPipelineRegistration` — `{ plugin, method, path, handler, options?, statusMap? }`. - `interface HonoPipelineRouteOptions` — narrow subset of the host's `PipelineRouteOptions`: `auth`, `csrf`, `streaming`, `idempotent`, `runtimeValidation`, `auditable`, `rateLimit`, `request`, `responses`. diff --git a/plugins/document-navigator/docs/api-stack/api/api-router-in-memory/README.md b/plugins/document-navigator/docs/api-stack/api/api-router-in-memory/README.md index 011e2cf..164663e 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router-in-memory/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router-in-memory/README.md @@ -71,4 +71,3 @@ await slot.dispose(draining.slotId, { timeoutMs: 100 }); - Foundation tests that need a real `Router`/`PipelineRouter` without a Hono peer. - Plugin tests that previously hand-rolled their own router shim (`api-router-hono` carries the Hono peer-dep cost). - The default `router: "in-memory"` slot in the Stage-5 `@suaveplan/api-host/testing` adapter table. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-router-worker-bridge/README.md b/plugins/document-navigator/docs/api-stack/api/api-router-worker-bridge/README.md index 7d0764c..6ac7ca4 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router-worker-bridge/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router-worker-bridge/README.md @@ -75,4 +75,3 @@ const { dispatch } = createMainBridge(channel.port1 as never); const res = await dispatch(new Request("https://api.local/world")); console.log(await res.text()); // "hi /world" ``` - diff --git a/plugins/document-navigator/docs/api-stack/api/api-router/README.md b/plugins/document-navigator/docs/api-stack/api/api-router/README.md index a5809f7..b1f31f0 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router/README.md @@ -95,4 +95,3 @@ import { runRouterConformance } from "@suaveplan/api-router/testing"; ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-router/src/middleware/middleware.md b/plugins/document-navigator/docs/api-stack/api/api-router/src/middleware/middleware.md index ecac1cf..9059af4 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router/src/middleware/middleware.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router/src/middleware/middleware.md @@ -24,7 +24,7 @@ values via wrapping responses and inspecting the request shape. list; order is preserved. - `next()` enforcement: a middleware that calls `next()` twice in a row has its dispatch rejected. (Multiple sequential `next()` calls across - *different* middlewares are correct; only same-middleware repeats fail.) + _different_ middlewares are correct; only same-middleware repeats fail.) - Synchronous return values are accepted (wrapped in `Promise.resolve`). ## Usage: Basic diff --git a/plugins/document-navigator/docs/api-stack/api/api-router/src/response/response.md b/plugins/document-navigator/docs/api-stack/api/api-router/src/response/response.md index 9a62288..9015243 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router/src/response/response.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router/src/response/response.md @@ -72,7 +72,7 @@ isolated copies and never accidentally share state across branches. The runtime cost is one object-spread per call; modern V8 inlines this away for short builder chains. -The `body` setter is typed as a *re-parameterising* method — calling +The `body` setter is typed as a _re-parameterising_ method — calling `builder.body(value)` returns a `ResponseBuilder`, picking up the new body type. This lets adapters call `.body(zodValidatedShape)` and the inferred `RouterResponse.body` lines up with the validation output. The diff --git a/plugins/document-navigator/docs/api-stack/api/api-router/src/router/router.md b/plugins/document-navigator/docs/api-stack/api/api-router/src/router/router.md index c46c92c..2944039 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router/src/router/router.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router/src/router/router.md @@ -104,7 +104,7 @@ keeps the steps-7-8 insertion contract honest: middleware only enters through `use()`, and only at the post-validation boundary when supplied by plugins. -Collision detection compares the *compiled* path key (`":id"` vs. +Collision detection compares the _compiled_ path key (`":id"` vs. `":userId"` both normalise to `:`-form). Adapters that need parameter-name preservation can introspect `RouteMatch.path` for the originally registered form. diff --git a/plugins/document-navigator/docs/api-stack/api/api-router/src/testing/pipeline-router-conformance/pipeline-router-conformance.md b/plugins/document-navigator/docs/api-stack/api/api-router/src/testing/pipeline-router-conformance/pipeline-router-conformance.md index 29545cd..b3fb1b1 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-router/src/testing/pipeline-router-conformance/pipeline-router-conformance.md +++ b/plugins/document-navigator/docs/api-stack/api/api-router/src/testing/pipeline-router-conformance/pipeline-router-conformance.md @@ -90,8 +90,8 @@ runPipelineRouterConformance({ ## API Reference - `interface PipelineRouterConformanceFactory` — - - `label: string` - - `build(): { router: PipelineRouter; register: (reg: PipelineRouteRegistration) => void; reload?: () => void }` + - `label: string` + - `build(): { router: PipelineRouter; register: (reg: PipelineRouteRegistration) => void; reload?: () => void }` - `interface PipelineRouteRegistration` — `{ plugin, method, path, handler, options?, statusMap? }`. - `function runPipelineRouterConformance(factory): void` — declares one `describe()` block with six required `it()` cases. diff --git a/plugins/document-navigator/docs/api-stack/api/api-saga/README.md b/plugins/document-navigator/docs/api-stack/api/api-saga/README.md index b506f19..68fb639 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-saga/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-saga/README.md @@ -84,4 +84,3 @@ participant whose `actions[name]` is missing fails at install with `0.1.0` — bottom-up rebuild stage. Will graduate to `1.0.0` per the foundation umbrella's Stage 6 acceptance gate (`a multi-step saga in api-plugin-example runs end-to-end including a compensation path`). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-saga/src/events/events.md b/plugins/document-navigator/docs/api-stack/api/api-saga/src/events/events.md index 85bec06..bbded07 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-saga/src/events/events.md +++ b/plugins/document-navigator/docs/api-stack/api/api-saga/src/events/events.md @@ -104,7 +104,7 @@ router.post("/webhook/saga", async (req) => { ## Implementation Notes -The emitter validates *outbound* payloads before pushing them onto the +The emitter validates _outbound_ payloads before pushing them onto the bus. This is deliberate — `bus.emit` is fire-and-forget; if the emitter trusted the caller and pushed a bad payload, every listener would see corrupt data with no callback to recover. By failing at the diff --git a/plugins/document-navigator/docs/api-stack/api/api-sandbox-permissions/README.md b/plugins/document-navigator/docs/api-stack/api/api-sandbox-permissions/README.md index 3fab888..5d84710 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sandbox-permissions/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sandbox-permissions/README.md @@ -96,4 +96,3 @@ if (result.outcome === "deny") { Runtime: `@suaveplan/api-types`, `@suaveplan/error`, `@suaveplan/types`, `@suaveplan/opentelemetry`, `@opentelemetry/api`, `tslib`, `zod`. No `@suaveplan/api-*` runtime beyond `api-types`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm-host-bridge/README.md b/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm-host-bridge/README.md index 2fcabc2..d2d7d06 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm-host-bridge/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm-host-bridge/README.md @@ -92,4 +92,3 @@ lifecycle delegation (`LIFECYCLE_FAILED`). the spec mandates: route registration, request round-trip, idempotent lifecycle, error propagation with `cause` chain, and capability passthrough including denied capability surfacing `SAND_PERM.DENIED`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm/README.md b/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm/README.md index e798af2..b56e674 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sandbox-vm/README.md @@ -89,4 +89,3 @@ import { runVmSandboxConformance } from "@suaveplan/api-sandbox-vm/testing"; runVmSandboxConformance("my-host", makeMyHandle); ``` - diff --git a/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/README.md b/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/README.md index b3fac0b..7812cc3 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/README.md @@ -1,4 +1,4 @@ -# @suaveplan/api-sandbox-wasm-host-bridge - Host bridge wrapping a @suaveplan/api-sandbox-wasm WasmSandboxHandle as a @suaveplan/api-host PluginModule. Validates the WASM ABI surface (__suaveplan_alloc / free / handle_request / routes / start / dispose + memory) at bridge-init, marshals SerializedRequest bytes into linear memory via __suaveplan_alloc, invokes __suaveplan_handle_request, reads the packed (responsePtr, responseLen) result, JSON-decodes the SerializedResponse, and unmarshals it back to a host Response. Traps surface as SAND_WASM_BRIDGE.HANDLER_TRAPPED with classified trapKind; denied capabilities surface as SAND_PERM.DENIED. +# @suaveplan/api-sandbox-wasm-host-bridge - Host bridge wrapping a @suaveplan/api-sandbox-wasm WasmSandboxHandle as a @suaveplan/api-host PluginModule. Validates the WASM ABI surface (__suaveplan_alloc / free / handle_request / routes / start / dispose + memory) at bridge-init, marshals SerializedRequest bytes into linear memory via__suaveplan_alloc, invokes __suaveplan_handle_request, reads the packed (responsePtr, responseLen) result, JSON-decodes the SerializedResponse, and unmarshals it back to a host Response. Traps surface as SAND_WASM_BRIDGE.HANDLER_TRAPPED with classified trapKind; denied capabilities surface as SAND_PERM.DENIED. Host-integration layer that wraps a `@suaveplan/api-sandbox-wasm` `WasmSandboxHandle` as a `@suaveplan/api-host` `PluginModule`. Sandboxed-tier plugins compiled to WebAssembly export the `__suaveplan_*` ABI surface (`memory`, `__suaveplan_alloc`, `__suaveplan_free`, `__suaveplan_handle_request`, `__suaveplan_routes`, `__suaveplan_start`, `__suaveplan_dispose`); this bridge validates that surface, discovers the guest's routes once at bridge-init time, and emits per-route closures that marshal `SerializedRequest` records through the guest's linear memory. diff --git a/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/src/bridge/bridge-direct.md b/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/src/bridge/bridge-direct.md index ecff068..7e78e76 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/src/bridge/bridge-direct.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm-host-bridge/src/bridge/bridge-direct.md @@ -15,18 +15,19 @@ The split from `bridge.ts` is structural rather than mechanical: every direct-variant import (`abi-direct/wasm-abi`, `abi-direct/memory`, `abi-direct/marshal`) is referenced from this file only, so a future removal of the direct variant collapses to deleting `bridge-direct.ts` + + `abi-direct/` and trimming the dispatcher. ## Features -- `buildDirectInstall(options)` — accepts a `DirectVariantOptions`, ++ `buildDirectInstall(options)` — accepts a `DirectVariantOptions`, returns the bridge's `SandboxedWasmPluginInstall`. -- Trap classification, capability-gate routing through ++ Trap classification, capability-gate routing through `SAND_PERM.DENIED`, idempotent lifecycle — preserved exactly from the shipped contract. -- Instrument registry plumbed with `abi_variant: "direct-i32-i64"` on ++ Instrument registry plumbed with `abi_variant: "direct-i32-i64"` on every counter and histogram emission. -- Route closures are pure functions of the manifest + ABI exports; ++ Route closures are pure functions of the manifest + ABI exports; re-instantiating the bridge against the same sandbox produces identical `PipelineRoute[]` records. @@ -81,7 +82,7 @@ try { Internal entrypoint called by the dispatcher. Public consumers should use `createSandboxedWasmPluginModule` from the package root. -- `options: DirectVariantOptions` — `sandbox`, `manifest`, optional ++ `options: DirectVariantOptions` — `sandbox`, `manifest`, optional `instruments`. Throws `SandboxWasmBridgeError` with code `INVALID_PLUGIN_SURFACE` if @@ -89,14 +90,14 @@ ABI validation fails BEFORE any guest call. ## Implementation Notes -- The function never touches the sandbox's `instance` directly past ++ The function never touches the sandbox's `instance` directly past the ABI validator — the typed `WasmAbiExports` view is the single hand-off point. -- `freeBuffer` is called in a `finally` block so the request pointer ++ `freeBuffer` is called in a `finally` block so the request pointer is released even when the response unmarshal throws. The response pointer is released BEFORE unmarshal runs because Zod parsing may allocate additional bytes that would shadow the original buffer. -- Capability denials surface through the canonical ++ Capability denials surface through the canonical `SAND_PERM.DENIED` code, not the bridge-local `CAPABILITY_DENIED`. Operators see one code for "permission denied" regardless of which bridge raised it. diff --git a/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm/README.md b/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm/README.md index b4b06c2..6318ae3 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sandbox-wasm/README.md @@ -98,4 +98,3 @@ bunx turbo lint typecheck test:coverage --filter=@suaveplan/api-sandbox-wasm ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-schemas/README.md b/plugins/document-navigator/docs/api-stack/api/api-schemas/README.md index 71bf00f..3f7b15b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-schemas/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-schemas/README.md @@ -26,7 +26,9 @@ Shared Zod schemas describing Suaveplan API request/response shapes. The single - [metadata](./src/events/metadata.md) — Defines the `EventMetadata` Zod schema for the distributed tracing and actor context attached to every domain event in… - [helpers](./src/helpers/to-suaveplan-error.md) — _(no submodules)_ - [to-suaveplan-error](./src/helpers/to-suaveplan-error.md) — _(no submodules)_ + - [to-suaveplan-error](./src/helpers/to-suaveplan-error.md) — _(no submodules)_- [to-suaveplan-error](./src/helpers/to-suaveplan-error.md) — _(no submodules)_- [to-suaveplan-error](./src/helpers/to-suaveplan-error.md) — _(no submodules)_- [to-suaveplan-error](./src/helpers/to-suaveplan-error.md) — _(no submodules)_ + ## Modules | Module | Description | diff --git a/plugins/document-navigator/docs/api-stack/api/api-secrets-bun/README.md b/plugins/document-navigator/docs/api-stack/api/api-secrets-bun/README.md index 56f090c..366fcd1 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-secrets-bun/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-secrets-bun/README.md @@ -133,4 +133,3 @@ unchanged — see `src/adapter/adapter.spec-conformance.test.ts`. ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-secrets-env/README.md b/plugins/document-navigator/docs/api-stack/api/api-secrets-env/README.md index 864701d..4508cbe 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-secrets-env/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-secrets-env/README.md @@ -131,4 +131,3 @@ unchanged — see `src/adapter/adapter.spec-conformance.test.ts`. ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-secrets-vault/README.md b/plugins/document-navigator/docs/api-stack/api/api-secrets-vault/README.md index 15e821d..aa54d2c 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-secrets-vault/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-secrets-vault/README.md @@ -105,4 +105,3 @@ see `src/adapter/adapter.spec-conformance.test.ts`. The `@suaveplan/vault.Vault` end-to-end with Argon2id parameters set to the minimum viable values so the lifecycle fits inside vitest's 60s timeout. No mocks. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-secrets-worker-proxy/README.md b/plugins/document-navigator/docs/api-stack/api/api-secrets-worker-proxy/README.md index 3ce8523..5ea545c 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-secrets-worker-proxy/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-secrets-worker-proxy/README.md @@ -79,4 +79,3 @@ proxy surface before Stage 4 can complete. - `@suaveplan/api-types` — `SecretsLike` type. - `@suaveplan/api-worker-rpc` — `MessagePort`-based RPC transport. - `@suaveplan/error`, `tslib`, `zod`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-secrets/README.md b/plugins/document-navigator/docs/api-stack/api/api-secrets/README.md index 52f4af8..33fc0b4 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-secrets/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-secrets/README.md @@ -68,4 +68,3 @@ Runtime: `@suaveplan/api-types`, `@suaveplan/error`, `tslib`, `zod`. ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-sse-bun/README.md b/plugins/document-navigator/docs/api-stack/api/api-sse-bun/README.md index 62a93af..6edd927 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sse-bun/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sse-bun/README.md @@ -139,4 +139,3 @@ Stage-7 keystone. Conformance is pinned by the abstract `runSseEngineConformance` harness from `@suaveplan/api-sse`; this package's `runBunSseEngineConformance()` re-runs it bound to `createBunSseEngine`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-sse/README.md b/plugins/document-navigator/docs/api-stack/api/api-sse/README.md index e2341b6..92d1e25 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-sse/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-sse/README.md @@ -66,4 +66,3 @@ const since = buffer.since("0").length; // 0 (unknown ids throw SSE_CODES.LAST_E - Version: `0.1.0` - Stage: 1 of the API plugin system (contracts). - Tier: universal — zero browser / Node-only deps; runs everywhere the host runs. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant-provider-memory/README.md b/plugins/document-navigator/docs/api-stack/api/api-tenant-provider-memory/README.md index 55b2325..4114dd5 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant-provider-memory/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant-provider-memory/README.md @@ -67,4 +67,3 @@ Errors that the abstract contract itself can raise Stage 4 (Base adapters) of the API plugin system umbrella — see the design document. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/README.md b/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/README.md index 41946c6..44bc079 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/README.md @@ -48,4 +48,3 @@ tooling can fan out one invocation per tenant. ## Stage Contracts of the API plugin system umbrella. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/src/provider/provider.md b/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/src/provider/provider.md index 845fcc5..5f53a4e 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/src/provider/provider.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant-provider/src/provider/provider.md @@ -100,10 +100,10 @@ async function fanOutWithTimeout( ## API Reference - `interface TenantProvider`: - - `list(opts?: ListOpts): AsyncIterable` — active-by-default; pass `{ includeSuspended: true }` to include suspended; archived never yielded. - - `count(): Promise` — active-only count. - - `lookup(tenantId: TenantId): Promise` — never throws on missing; MAY throw `TENANT_PROVIDER.SOURCE_UNAVAILABLE` on infrastructure failure. - - `dispose(): Promise` — idempotent; calling more than once MUST NOT throw. + - `list(opts?: ListOpts): AsyncIterable` — active-by-default; pass `{ includeSuspended: true }` to include suspended; archived never yielded. + - `count(): Promise` — active-only count. + - `lookup(tenantId: TenantId): Promise` — never throws on missing; MAY throw `TENANT_PROVIDER.SOURCE_UNAVAILABLE` on infrastructure failure. + - `dispose(): Promise` — idempotent; calling more than once MUST NOT throw. ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-header/README.md b/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-header/README.md index ecc3835..1ed39fe 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-header/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-header/README.md @@ -99,4 +99,3 @@ validation (non-strict), or when the value isn't in the registry - Counter `api.tenant.resolves_total{resolver="header", outcome}` — exactly one increment per `resolve()` call. `outcome` is one of `resolved`, `absent`, `invalid`, `not_found_in_registry`, `untrusted_source`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-jwt/README.md b/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-jwt/README.md index 48b5505..82a6223 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-jwt/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-jwt/README.md @@ -70,4 +70,3 @@ the chain runs. With `requirePrincipal: true` the chain stops here and a - `./resolver` — `createJwtTenantResolver`, `CreateJwtTenantResolverOptions`, `PrincipalExtractor`. - `./options` — `JwtTenantResolverOptions`, `parseJwtTenantResolverOptions`. - `./error-codes` — `JwtTenantResolverError`, `TENANT_RESOLVER_JWT_CODES`, `JwtTenantResolverErrorCode`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-subdomain/README.md b/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-subdomain/README.md index 93d5e8b..6444ae5 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-subdomain/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant-resolver-subdomain/README.md @@ -85,4 +85,3 @@ next resolver runs. With `strict: true` the chain stops here and a `0.1.0` — additive only. `api-host` wires this when `host.tenant.resolvers` includes `"subdomain"`. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-tenant/README.md b/plugins/document-navigator/docs/api-stack/api/api-tenant/README.md index ba4344b..f1f9ffe 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-tenant/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-tenant/README.md @@ -185,4 +185,3 @@ upstream dual-access-path footgun where ALS state could diverge from ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-types/README.md b/plugins/document-navigator/docs/api-stack/api/api-types/README.md index cb1e396..e16e77d 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-types/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-types/README.md @@ -102,4 +102,3 @@ Source design doc: `docs/superpowers/specs/2026-05-13-api-plugin-foundation-desi ## Tests Type-level conformance via `expectTypeOf` lives in `src/_typetests/*.spec-conformance.test.ts`. Byte-size and dep-graph invariants live in `tests/`. Together they pin: every subpath resolves, the root barrel has no `export *`, the package has zero runtime dependencies, and every emitted `.js` file is within the empty-module budget. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-host/README.md b/plugins/document-navigator/docs/api-stack/api/api-worker-host/README.md index 0f3ea68..363cf68 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-host/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-host/README.md @@ -69,4 +69,3 @@ bunx turbo test:coverage --filter=@suaveplan/api-worker-host ``` All four coverage dimensions land at 100/100/100/100. - diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/bootstrap/bootstrap.md b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/bootstrap/bootstrap.md index e205084..aba5ff9 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/bootstrap/bootstrap.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/bootstrap/bootstrap.md @@ -81,11 +81,11 @@ host.close(); - `bootstrapWorkerPlugin(spec: BootstrapSpec): WorkerHost` - `BootstrapSpec`: - - `manifest: ManifestEnvelope` - - `capabilityHandles: CapabilityHandles` - - `hooks: PluginLifecycleHooks` - - `controlPort: PortLike` / `capabilityPort: PortLike` - - `onReady?: (frame: WorkerReadyFrame) => void` + - `manifest: ManifestEnvelope` + - `capabilityHandles: CapabilityHandles` + - `hooks: PluginLifecycleHooks` + - `controlPort: PortLike` / `capabilityPort: PortLike` + - `onReady?: (frame: WorkerReadyFrame) => void` - `WorkerHost`: `manifest`, `capabilities`, `receiver`, `close()` ## Implementation Notes @@ -95,6 +95,6 @@ starve lifecycle control (or vice versa) — different queues, different correlation-id namespaces, different backpressure budgets. On failure the bootstrap closes any RPC client it already opened before throwing, so the worker never leaks a half-attached -`MessagePort` listener. The ready frame is posted *after* every +`MessagePort` listener. The ready frame is posted _after_ every piece of wiring succeeds; an early failure means no ready frame and the main host can detect a stillborn worker via timeout. diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/crash-detection/crash-detection.md b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/crash-detection/crash-detection.md index 7b61ea0..d37fcee 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/crash-detection/crash-detection.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/crash-detection/crash-detection.md @@ -72,12 +72,12 @@ handler?.(new Error("boom")); - `installCrashDetector(opts: CrashDetectorOptions): CrashDetector` - `CrashDetectorOptions`: - - `controlPort: PortLike` — required - - `process?: ProcessLike` - - `onTerminate?: (exitCode: number) => void` + - `controlPort: PortLike` — required + - `process?: ProcessLike` + - `onTerminate?: (exitCode: number) => void` - `CrashDetector`: - - `close(): void` - - `trigger(cause: unknown): void` + - `close(): void` + - `trigger(cause: unknown): void` - `ProcessLike` — `{ on, off, exit }` subset of Node `process`. ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/lifecycle/lifecycle.md b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/lifecycle/lifecycle.md index c2b739d..e40b723 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/lifecycle/lifecycle.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/lifecycle/lifecycle.md @@ -75,11 +75,11 @@ serveWorkerRpc(controlPort, { - `createLifecycleReceiver(opts: LifecycleReceiverOptions): LifecycleReceiver` - `LifecycleReceiverOptions`: - - `hooks: PluginLifecycleHooks` - - `initialState?: WorkerLifecycleState` + - `hooks: PluginLifecycleHooks` + - `initialState?: WorkerLifecycleState` - `LifecycleReceiver`: - - `state(): WorkerLifecycleState` - - `dispatch(raw: unknown): Promise` + - `state(): WorkerLifecycleState` + - `dispatch(raw: unknown): Promise` - `PluginLifecycleHooks` — optional async hooks per command kind. - `WorkerLifecycleState` — nine-state union. @@ -88,8 +88,8 @@ serveWorkerRpc(controlPort, { Legal-from sets are declared at module scope so the transition table is auditable in one read. The `*ing` state is exposed mid-hook so the main host can observe an in-flight transition rather than only the -terminal state. On hook throw, the receiver reverts to the *previous* -state (not the *ing* state) so retry attempts are evaluated against +terminal state. On hook throw, the receiver reverts to the _previous_ +state (not the _ing_ state) so retry attempts are evaluated against the correct legal-from set. Schema validation runs before any state mutation — a malformed envelope cannot push the FSM out of `loaded` accidentally. diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/protocol-extension/protocol-extension.md b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/protocol-extension/protocol-extension.md index 2f4ac60..4f6deae 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/protocol-extension/protocol-extension.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/protocol-extension/protocol-extension.md @@ -10,7 +10,7 @@ This module defines the Zod schemas that the worker host layers on top of the transport-level frame protocol owned by `@suaveplan/api-worker-rpc`. Where the transport package speaks `request` / `response` / `cancel` / `stream-*` / `hello` / `goodbye` -frames, the worker host carries higher-level *control envelopes* — +frames, the worker host carries higher-level _control envelopes_ — manifest advertisement, lifecycle commands, lifecycle acks, crash reports and capability-handle descriptors — inside those frames' payloads. Keeping the envelope schemas in one place lets the bootstrap, @@ -94,6 +94,6 @@ Schemas are declared at module scope and reused on every parse so Zod does not rebuild the type graph per call. The tier enum is fixed to the three values from design doc §2.2 (`trusted` / `isolated` / `sandboxed`) — extending it requires an OpenSpec change. Capability handles only -carry the *method names* exposed by each capability proxy; the actual +carry the _method names_ exposed by each capability proxy; the actual `MessagePort` transfer happens out-of-band as part of the underlying `worker_threads` channel setup. diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/testing/testing.md b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/testing/testing.md index 50c9e56..c28d797 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/testing/testing.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-host/src/testing/testing.md @@ -72,16 +72,16 @@ h.dispose(); - `runWorkerHostConformance(opts?): WorkerHostConformanceHarness` - `WorkerHostConformanceOptions`: - - `manifest?: ManifestEnvelope` - - `capabilityHandles?: CapabilityHandles` - - `hooks?: PluginLifecycleHooks` - - `capabilityHandlers?: WorkerRpcHandlers` + - `manifest?: ManifestEnvelope` + - `capabilityHandles?: CapabilityHandles` + - `hooks?: PluginLifecycleHooks` + - `capabilityHandlers?: WorkerRpcHandlers` - `WorkerHostConformanceHarness`: - - `host: WorkerHost` - - `mainClient: WorkerRpcClient` - - `capabilityServer: WorkerRpcServer` - - `controlPorts / capabilityPorts: InProcessPortPair` - - `dispose(): void` + - `host: WorkerHost` + - `mainClient: WorkerRpcClient` + - `capabilityServer: WorkerRpcServer` + - `controlPorts / capabilityPorts: InProcessPortPair` + - `dispose(): void` ## Implementation Notes diff --git a/plugins/document-navigator/docs/api-stack/api/api-worker-rpc/README.md b/plugins/document-navigator/docs/api-stack/api/api-worker-rpc/README.md index 4ba6044..bb5e49c 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-worker-rpc/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-worker-rpc/README.md @@ -112,7 +112,7 @@ close(); - [`error-codes`](./src/error-codes/error-codes.md) — the `WORKER_RPC_CODES` registry and `WorkerRpcError` class. - [`testing`](./src/testing/testing.md) — `createInProcessPortPair` - + `runWorkerRpcConformance` harness. + - `runWorkerRpcConformance` harness. ## Error codes @@ -144,4 +144,3 @@ production path: ## License MIT - diff --git a/plugins/document-navigator/docs/api-stack/api/api-ws-broker-in-memory/README.md b/plugins/document-navigator/docs/api-stack/api/api-ws-broker-in-memory/README.md index 66d92f8..cd182ed 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-ws-broker-in-memory/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-ws-broker-in-memory/README.md @@ -83,4 +83,3 @@ publishes; there is no shared substrate. For multi-host topologies use - Zero direct imports of `vitest` / `bun:test` — all test files import from `@suaveplan/testing/runner`. - Stable, namespaced error codes (`WS_BROKER_IN_MEMORY.*`). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-ws-broker-redis/README.md b/plugins/document-navigator/docs/api-stack/api/api-ws-broker-redis/README.md index 8d612aa..5eb392a 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-ws-broker-redis/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-ws-broker-redis/README.md @@ -159,4 +159,3 @@ the {@link RedisPubSubLike} interface. - Real-Redis integration tests via `@suaveplan/testing-integration-redis` with the testcontainers-backed `RedisFixture` (gracefully skipped when Docker is unavailable). - diff --git a/plugins/document-navigator/docs/api-stack/api/api-ws-bun/README.md b/plugins/document-navigator/docs/api-stack/api/api-ws-bun/README.md index 6540169..15fce4b 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-ws-bun/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-ws-bun/README.md @@ -112,4 +112,3 @@ Bun.serve({ ```bash bunx turbo lint typecheck test:coverage --filter=@suaveplan/api-ws-bun ``` - diff --git a/plugins/document-navigator/docs/api-stack/api/api-ws/README.md b/plugins/document-navigator/docs/api-stack/api/api-ws/README.md index e99d361..3ea4a14 100644 --- a/plugins/document-navigator/docs/api-stack/api/api-ws/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api-ws/README.md @@ -68,4 +68,3 @@ capability gate documented in design doc §11.2. - `tslib catalog:build`. No transport dependencies — engines own that. - diff --git a/plugins/document-navigator/docs/api-stack/api/api/README.md b/plugins/document-navigator/docs/api-stack/api/api/README.md index 566322a..8a23b2a 100644 --- a/plugins/document-navigator/docs/api-stack/api/api/README.md +++ b/plugins/document-navigator/docs/api-stack/api/api/README.md @@ -169,4 +169,3 @@ deterministic in-memory tests, or `dirPath` to scan a real directory. (no closed-enum cast). - Configurable health routes. - YAML / TOML config formats removed (upstream advertised, never worked). - diff --git a/plugins/document-navigator/docs/api-stack/api/api/src/middleware/chain.md b/plugins/document-navigator/docs/api-stack/api/api/src/middleware/chain.md index bfd442a..d3b8736 100644 --- a/plugins/document-navigator/docs/api-stack/api/api/src/middleware/chain.md +++ b/plugins/document-navigator/docs/api-stack/api/api/src/middleware/chain.md @@ -6,8 +6,8 @@ The `chain` module owns the order-aware, name-addressable list of Hono middlewares that the `SuaveApp` orchestrator hands to the underlying `OpenAPIHono` instance. Plugins and the orchestrator both contribute entries; the chain decides the final mount order via the -`MiddlewareOrder` constants. `insertBefore` and `insertAfter` raise -`ApiError(API_MIDDLEWARE_INSERT_TARGET_NOT_FOUND)` when the named +`MiddlewareOrder` constants. `insertBefore` and `insertAfter` raise +`ApiError(API_MIDDLEWARE_INSERT_TARGET_NOT_FOUND)` when the named target does not exist instead of silently appending. ## Features diff --git a/plugins/document-navigator/docs/api-stack/api/api/src/middleware/error-handler.md b/plugins/document-navigator/docs/api-stack/api/api/src/middleware/error-handler.md index 6a8b561..33558a5 100644 --- a/plugins/document-navigator/docs/api-stack/api/api/src/middleware/error-handler.md +++ b/plugins/document-navigator/docs/api-stack/api/api/src/middleware/error-handler.md @@ -6,7 +6,7 @@ The `error-handler` module ships the catch-all middleware that converts every throwable raised by downstream handlers into a structured JSON response. It is the only place in `@suaveplan/api` that knows about HTTP status codes other than 200; routes and plugins raise typed -errors and rely on this handler to translate them. +errors and rely on this handler to translate them. The handler passes the full `SuaveplanError.statusCode` through to Hono — upstream capped at `400 | 401 | 403 | 404 | 500`, also honors `409`, `422`, `503`, `504`, etc. diff --git a/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/README.md b/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/README.md index e0a4632..e280980 100644 --- a/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/README.md +++ b/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/README.md @@ -82,4 +82,3 @@ Run the full gate via: ```bash bunx --bun turbo lint typecheck test:coverage --filter=create-suaveplan-plugin ``` - diff --git a/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/src/templates/templates.md b/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/src/templates/templates.md index b89aebf..5d8f859 100644 --- a/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/src/templates/templates.md +++ b/plugins/document-navigator/docs/api-stack/api/create-suaveplan-plugin/src/templates/templates.md @@ -20,7 +20,7 @@ prompt vocabulary doesn't know about. - Per-capability handler stubs in `src/index.ts.tmpl` so generated test files compile against real handler exports on first run. - Conditional emission of integration test + integration vitest config - + migrations when a DB engine other than `none` is selected. + - migrations when a DB engine other than `none` is selected. - Generated `vitest.config.ts` always wires `@suaveplan/testing/config` (the `createTestConfig` factory, never `baseVitestConfig`+`mergeConfig`). diff --git a/plugins/document-navigator/docs/commerce/booking/booking/README.md b/plugins/document-navigator/docs/commerce/booking/booking/README.md index eb2c06c..a3a6c5f 100644 --- a/plugins/document-navigator/docs/commerce/booking/booking/README.md +++ b/plugins/document-navigator/docs/commerce/booking/booking/README.md @@ -217,4 +217,3 @@ import { createSeatConfig } from "@suaveplan/booking/domains/seats/seats"; ## License MIT — © Suaveplan Team - diff --git a/plugins/document-navigator/docs/commerce/contacts/api-plugin-contacts/README.md b/plugins/document-navigator/docs/commerce/contacts/api-plugin-contacts/README.md index 5391312..f419f8b 100644 --- a/plugins/document-navigator/docs/commerce/contacts/api-plugin-contacts/README.md +++ b/plugins/document-navigator/docs/commerce/contacts/api-plugin-contacts/README.md @@ -123,4 +123,3 @@ bunx turbo test:coverage --filter=@suaveplan/api-plugin-contacts Integration tests under `tests/integration/` boot a SurrealDB testcontainer (Docker required) and exercise the full plugin lifecycle end-to-end. - diff --git a/plugins/document-navigator/docs/commerce/contacts/audience-rules/README.md b/plugins/document-navigator/docs/commerce/contacts/audience-rules/README.md index 4e51dae..56dc2b1 100644 --- a/plugins/document-navigator/docs/commerce/contacts/audience-rules/README.md +++ b/plugins/document-navigator/docs/commerce/contacts/audience-rules/README.md @@ -108,4 +108,3 @@ await refresher.refresh(segment.id); `ContactData` consumed by audience-rules. - `@suaveplan/events` — typed `EventBus` substrate. - `@suaveplan/error` — `SuaveplanError` + `defineCodes`. - diff --git a/plugins/document-navigator/docs/commerce/contacts/contacts/README.md b/plugins/document-navigator/docs/commerce/contacts/contacts/README.md index a624e94..34aa7d4 100644 --- a/plugins/document-navigator/docs/commerce/contacts/contacts/README.md +++ b/plugins/document-navigator/docs/commerce/contacts/contacts/README.md @@ -117,4 +117,3 @@ Every public mutating method validates via Zod, raises a typed `ContactsError` ( | `ContactExporter` | [src/import-export/contact-exporter/contact-exporter.md](src/import-export/contact-exporter/contact-exporter.md) | | `ContactImporter` | [src/import-export/contact-importer/contact-importer.md](src/import-export/contact-importer/contact-importer.md) | | Tree utilities (`buildGroupTree`, …) | [src/tree/tree-utils.md](src/tree/tree-utils.md) | - diff --git a/plugins/document-navigator/docs/commerce/contacts/macos-contacts/README.md b/plugins/document-navigator/docs/commerce/contacts/macos-contacts/README.md index d17df18..b2985f1 100644 --- a/plugins/document-navigator/docs/commerce/contacts/macos-contacts/README.md +++ b/plugins/document-navigator/docs/commerce/contacts/macos-contacts/README.md @@ -58,4 +58,3 @@ if (await bridge.isAvailable()) { - [`applescript`](./src/applescript/applescript.md) — AppleScript template builders. - [`executor`](./src/executor/executor.md) — `AppleScriptRunner` interface + default platform implementation. - [`bridge`](./src/bridge/bridge.md) — `MacOSContactsBridge` orchestrator. - diff --git a/plugins/document-navigator/docs/communication/emails/campaigns/README.md b/plugins/document-navigator/docs/communication/emails/campaigns/README.md index 9f5621f..2bb9743 100644 --- a/plugins/document-navigator/docs/communication/emails/campaigns/README.md +++ b/plugins/document-navigator/docs/communication/emails/campaigns/README.md @@ -91,4 +91,3 @@ All callers see `CampaignsError` with codes from `CAMPAIGNS_CODES`. All operatio ## License MIT. - diff --git a/plugins/document-navigator/docs/communication/emails/delivery-tracking/README.md b/plugins/document-navigator/docs/communication/emails/delivery-tracking/README.md index aeaf36c..4aa7e0a 100644 --- a/plugins/document-navigator/docs/communication/emails/delivery-tracking/README.md +++ b/plugins/document-navigator/docs/communication/emails/delivery-tracking/README.md @@ -103,4 +103,3 @@ Every failure raised by the package extends `DeliveryTrackingError`. The stable - `DELIVERY_TRACKING.UNSUPPORTED_PROVIDER` - `DELIVERY_TRACKING.STORE_FAILURE` - `DELIVERY_TRACKING.QUERY_FAILURE` - diff --git a/plugins/document-navigator/docs/communication/emails/delivery-tracking/src/core/aggregator/aggregator.md b/plugins/document-navigator/docs/communication/emails/delivery-tracking/src/core/aggregator/aggregator.md index d59f706..5597c09 100644 --- a/plugins/document-navigator/docs/communication/emails/delivery-tracking/src/core/aggregator/aggregator.md +++ b/plugins/document-navigator/docs/communication/emails/delivery-tracking/src/core/aggregator/aggregator.md @@ -56,4 +56,4 @@ const filtered = await agg.getContactStats("u1", { ## Implementation Notes -Bucketing walks from the earliest to the latest event timestamp in fixed-size strides; empty buckets are *included* (they contain a zero-valued `DeliveryStats` from `computeStats([])`). This matches the typical analytics expectation that a charted series shows quiet hours as flat zero rather than gaps. The interval-millisecond table is hard-coded — `hour: 3_600_000`, `day: 86_400_000`, `week: 604_800_000` — so DST does not skew the bucket boundaries. +Bucketing walks from the earliest to the latest event timestamp in fixed-size strides; empty buckets are _included_ (they contain a zero-valued `DeliveryStats` from `computeStats([])`). This matches the typical analytics expectation that a charted series shows quiet hours as flat zero rather than gaps. The interval-millisecond table is hard-coded — `hour: 3_600_000`, `day: 86_400_000`, `week: 604_800_000` — so DST does not skew the bucket boundaries. diff --git a/plugins/document-navigator/docs/communication/emails/dmarc/README.md b/plugins/document-navigator/docs/communication/emails/dmarc/README.md index 9c56022..fed5aab 100644 --- a/plugins/document-navigator/docs/communication/emails/dmarc/README.md +++ b/plugins/document-navigator/docs/communication/emails/dmarc/README.md @@ -15,7 +15,9 @@ DMARC report parser for `@suaveplan` — parses aggregate (RUA) and forensic (RU - [dmarc-otel](./src/otel/dmarc-otel.md) — _(no submodules)_ - [aggregate](./src/parsers/aggregate.md) — Implements `parseDmarcAggregate`, the primary entry point for converting raw DMARC aggregate (RUA) report data into val… - [forensic](./src/parsers/forensic.md) — Implements `parseDmarcForensic`, the entry point for parsing DMARC forensic (RUF) reports. Forensic reports notify doma… + - [dmarc-error](./src/errors/dmarc-error.md) — _(no submodules)_- [otel](./src/otel/dmarc-otel.md) — _(no submodules)_- [dmarc-otel](./src/otel/dmarc-otel.md) — _(no submodules)_- [aggregate](./src/parsers/aggregate.md) — Implements `parseDmarcAggregate`, the primary entry point for converting raw DMARC aggregate (RUA) report data into val… + - [forensic](./src/parsers/forensic.md) — Implements `parseDmarcForensic`, the entry point for parsing DMARC forensic (RUF) reports. Forensic reports notify doma… - [dmarc-error](./src/errors/dmarc-error.md) — _(no submodules)_- [otel](./src/otel/dmarc-otel.md) — _(no submodules)_- [dmarc-otel](./src/otel/dmarc-otel.md) — _(no submodules)_- [aggregate](./src/parsers/aggregate.md) — Implements `parseDmarcAggregate`, the primary entry point for converting raw DMARC aggregate (RUA) report data into val… - [forensic](./src/parsers/forensic.md) — Implements `parseDmarcForensic`, the entry point for parsing DMARC forensic (RUF) reports. Forensic reports notify doma… diff --git a/plugins/document-navigator/docs/communication/emails/domain-normalizer/README.md b/plugins/document-navigator/docs/communication/emails/domain-normalizer/README.md index e7ba0ee..5fc136a 100644 --- a/plugins/document-navigator/docs/communication/emails/domain-normalizer/README.md +++ b/plugins/document-navigator/docs/communication/emails/domain-normalizer/README.md @@ -17,7 +17,9 @@ Normalisation, matching, and alias-canonicalisation for internet domain names. G - [domain-normalizer-error](./src/errors/domain-normalizer-error.md) — _(no submodules)_ - [types](./src/types/domain-normalizer.md) — _(no submodules)_ - [domain-normalizer](./src/types/domain-normalizer.md) — _(no submodules)_ + - [aliases](./src/core/aliases/aliases.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [errors](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [domain-normalizer-error](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [types](./src/types/domain-normalizer.md) — _(no submodules)_- [domain-normalizer](./src/types/domain-normalizer.md) — _(no submodules)_- [aliases](./src/core/aliases/aliases.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [errors](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [domain-normalizer-error](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [types](./src/types/domain-normalizer.md) — _(no submodules)_- [domain-normalizer](./src/types/domain-normalizer.md) — _(no submodules)_- [aliases](./src/core/aliases/aliases.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [errors](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [domain-normalizer-error](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [types](./src/types/domain-normalizer.md) — _(no submodules)_- [domain-normalizer](./src/types/domain-normalizer.md) — _(no submodules)_- [aliases](./src/core/aliases/aliases.md) — _(no submodules)_- [matcher](./src/core/matcher/matcher.md) — _(no submodules)_ - [matcher](./src/core/matcher/matcher.md) — _(no submodules)_- [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_ - [normalizer](./src/core/normalizer/normalizer.md) — _(no submodules)_- [errors](./src/errors/domain-normalizer-error.md) — _(no submodules)_ - [domain-normalizer-error](./src/errors/domain-normalizer-error.md) — _(no submodules)_- [types](./src/types/domain-normalizer.md) — _(no submodules)_ - [domain-normalizer](./src/types/domain-normalizer.md) — _(no submodules)_ + ## Modules | Module | Description | diff --git a/plugins/document-navigator/docs/communication/emails/email-processing/README.md b/plugins/document-navigator/docs/communication/emails/email-processing/README.md index c0adf61..0796538 100644 --- a/plugins/document-navigator/docs/communication/emails/email-processing/README.md +++ b/plugins/document-navigator/docs/communication/emails/email-processing/README.md @@ -118,4 +118,3 @@ Migrated from `packages/universal/email-processing` on the infrastructure was rewritten locally because the foundation `@suaveplan/events` library does not yet ship a shared `Hooks` substrate. - diff --git a/plugins/document-navigator/docs/communication/emails/email-templates/README.md b/plugins/document-navigator/docs/communication/emails/email-templates/README.md index ba716fa..2f5d4e1 100644 --- a/plugins/document-navigator/docs/communication/emails/email-templates/README.md +++ b/plugins/document-navigator/docs/communication/emails/email-templates/README.md @@ -115,4 +115,3 @@ attributes are serialised. Components emit data; escaping happens once. `…/template-builder`, `…/template-registry`, `…/components`, `…/templates`, `…/errors`, `…/otel` — each exposes a focused slice of the surface for tree-shake friendliness. - diff --git a/plugins/document-navigator/docs/communication/emails/emailer/README.md b/plugins/document-navigator/docs/communication/emails/emailer/README.md index 4ef6dfb..584efb2 100644 --- a/plugins/document-navigator/docs/communication/emails/emailer/README.md +++ b/plugins/document-navigator/docs/communication/emails/emailer/README.md @@ -86,4 +86,3 @@ const result = await service.send({ ## License MIT - diff --git a/plugins/document-navigator/docs/communication/emails/suppression/README.md b/plugins/document-navigator/docs/communication/emails/suppression/README.md index 83532bb..0e3c1a4 100644 --- a/plugins/document-navigator/docs/communication/emails/suppression/README.md +++ b/plugins/document-navigator/docs/communication/emails/suppression/README.md @@ -17,7 +17,9 @@ Email suppression list management for Suaveplan. Stores and checks email address - [suppression-error](./src/errors/suppression-error.md) — _(no submodules)_ - [utils](./src/utils/email-utils.md) — _(no submodules)_ - [email-utils](./src/utils/email-utils.md) — _(no submodules)_ + - [csv-importer](./src/core/importer/csv-importer.md) — _(no submodules)_- [store](./src/core/store/suppression-store.md) — _(no submodules)_- [suppression-store](./src/core/store/suppression-store.md) — _(no submodules)_- [errors](./src/errors/suppression-error.md) — _(no submodules)_- [suppression-error](./src/errors/suppression-error.md) — _(no submodules)_- [utils](./src/utils/email-utils.md) — _(no submodules)_- [email-utils](./src/utils/email-utils.md) — _(no submodules)_- [csv-importer](./src/core/importer/csv-importer.md) — _(no submodules)_- [store](./src/core/store/suppression-store.md) — _(no submodules)_- [suppression-store](./src/core/store/suppression-store.md) — _(no submodules)_- [errors](./src/errors/suppression-error.md) — _(no submodules)_- [suppression-error](./src/errors/suppression-error.md) — _(no submodules)_- [utils](./src/utils/email-utils.md) — _(no submodules)_- [email-utils](./src/utils/email-utils.md) — _(no submodules)_- [csv-importer](./src/core/importer/csv-importer.md) — _(no submodules)_- [store](./src/core/store/suppression-store.md) — _(no submodules)_- [suppression-store](./src/core/store/suppression-store.md) — _(no submodules)_- [errors](./src/errors/suppression-error.md) — _(no submodules)_- [suppression-error](./src/errors/suppression-error.md) — _(no submodules)_- [utils](./src/utils/email-utils.md) — _(no submodules)_- [email-utils](./src/utils/email-utils.md) — _(no submodules)_- [csv-importer](./src/core/importer/csv-importer.md) — _(no submodules)_- [store](./src/core/store/suppression-store.md) — _(no submodules)_ - [suppression-store](./src/core/store/suppression-store.md) — _(no submodules)_- [errors](./src/errors/suppression-error.md) — _(no submodules)_ - [suppression-error](./src/errors/suppression-error.md) — _(no submodules)_- [utils](./src/utils/email-utils.md) — _(no submodules)_ - [email-utils](./src/utils/email-utils.md) — _(no submodules)_ + ## Packages | Module | Description | diff --git a/plugins/document-navigator/docs/communication/messaging/discord-client/README.md b/plugins/document-navigator/docs/communication/messaging/discord-client/README.md index 16642b1..2a547e9 100644 --- a/plugins/document-navigator/docs/communication/messaging/discord-client/README.md +++ b/plugins/document-navigator/docs/communication/messaging/discord-client/README.md @@ -97,4 +97,3 @@ new DiscordBotClient({ |--------|------|--------| | `discord_client.request.total` | Counter | `kind`, `method`, `outcome`, `status` | | `discord_client.request.duration_ms` | Histogram | `kind`, `method`, `outcome` | - diff --git a/plugins/document-navigator/docs/communication/messaging/imessage-adapter/README.md b/plugins/document-navigator/docs/communication/messaging/imessage-adapter/README.md index f87e011..1d16b29 100644 --- a/plugins/document-navigator/docs/communication/messaging/imessage-adapter/README.md +++ b/plugins/document-navigator/docs/communication/messaging/imessage-adapter/README.md @@ -117,4 +117,3 @@ to bind subsequent records to the chosen provider. Server-tier (Bun on macOS). The `bun:sqlite` import is reached via `createRequire(import.meta.url)` so the static module graph never attempts to resolve the specifier on a non-Bun runner. - diff --git a/plugins/document-navigator/docs/communication/messaging/imessage-adapter/src/watcher/imessage-watcher.md b/plugins/document-navigator/docs/communication/messaging/imessage-adapter/src/watcher/imessage-watcher.md index 7a63de8..bdba408 100644 --- a/plugins/document-navigator/docs/communication/messaging/imessage-adapter/src/watcher/imessage-watcher.md +++ b/plugins/document-navigator/docs/communication/messaging/imessage-adapter/src/watcher/imessage-watcher.md @@ -95,7 +95,7 @@ const parsed = await watcher.poll({ signal: controller.signal }); The legacy `on/off` API delegates straight to the typed `EventBus`, which keeps the two surfaces in lockstep — there is no separate -listener registry. The cursor advances inside the row loop *before* +listener registry. The cursor advances inside the row loop _before_ filters apply, so filtered rows are not re-fetched next tick. The scheduler-vs-explicit-poll error policy is asymmetric on purpose: a caller invoking `poll({ signal })` directly wants the error; the diff --git a/plugins/document-navigator/docs/communication/messaging/notification-channel/README.md b/plugins/document-navigator/docs/communication/messaging/notification-channel/README.md index c95dd41..8419792 100644 --- a/plugins/document-navigator/docs/communication/messaging/notification-channel/README.md +++ b/plugins/document-navigator/docs/communication/messaging/notification-channel/README.md @@ -114,4 +114,3 @@ The 11-code `defineCodes("NOTIFICATION_CHANNEL", […])` registry preserves lite ## License MIT - diff --git a/plugins/document-navigator/docs/communication/messaging/slack-client/README.md b/plugins/document-navigator/docs/communication/messaging/slack-client/README.md index 3bb611a..2eb7325 100644 --- a/plugins/document-navigator/docs/communication/messaging/slack-client/README.md +++ b/plugins/document-navigator/docs/communication/messaging/slack-client/README.md @@ -84,4 +84,3 @@ Four instruments under meter `@suaveplan/slack-client@0.1.0`: ## License MIT - diff --git a/plugins/document-navigator/docs/communication/messaging/sms-providers/README.md b/plugins/document-navigator/docs/communication/messaging/sms-providers/README.md index 394c22e..dcaf149 100644 --- a/plugins/document-navigator/docs/communication/messaging/sms-providers/README.md +++ b/plugins/document-navigator/docs/communication/messaging/sms-providers/README.md @@ -114,4 +114,3 @@ await sns.verifyNotification(payload, async (pem, msg, sigB64) => { bunx turbo lint typecheck test build --filter=@suaveplan/sms-providers bunx turbo test:coverage --filter=@suaveplan/sms-providers # 100/100/100/100 ``` - diff --git a/plugins/document-navigator/docs/communication/messaging/sms-providers/src/crypto/default-hmac.md b/plugins/document-navigator/docs/communication/messaging/sms-providers/src/crypto/default-hmac.md index 75e4ac6..3be9370 100644 --- a/plugins/document-navigator/docs/communication/messaging/sms-providers/src/crypto/default-hmac.md +++ b/plugins/document-navigator/docs/communication/messaging/sms-providers/src/crypto/default-hmac.md @@ -71,4 +71,4 @@ const sig = toHex(await hmac("SHA-256", utf8("secret"), utf8("payload"))); ## Implementation Notes -`toHex` builds the string with `String#padStart(2, "0")` per byte rather than the bigint-shift trick to keep the implementation legible. `constantTimeEqual` never short-circuits on length mismatch *during* iteration — the early `length` check is unavoidable but does not leak content. Subtle's `importKey` is called inside `defaultHmac` rather than cached because production callers typically supply a fresh `key` per call. +`toHex` builds the string with `String#padStart(2, "0")` per byte rather than the bigint-shift trick to keep the implementation legible. `constantTimeEqual` never short-circuits on length mismatch _during_ iteration — the early `length` check is unavoidable but does not leak content. Subtle's `importKey` is called inside `defaultHmac` rather than cached because production callers typically supply a fresh `key` per call. diff --git a/plugins/document-navigator/docs/communication/messaging/sms/README.md b/plugins/document-navigator/docs/communication/messaging/sms/README.md index 8766e81..d411b6a 100644 --- a/plugins/document-navigator/docs/communication/messaging/sms/README.md +++ b/plugins/document-navigator/docs/communication/messaging/sms/README.md @@ -130,4 +130,3 @@ await service.send({ - [`service/legacy-emitter.md`](./src/service/legacy-emitter.md) — legacy `on/off/emit` mirror - [`routes/problem-json.md`](./src/routes/problem-json.md) — RFC 7807 Hono helper - [`otel/metrics.md`](./src/otel/metrics.md) — OpenTelemetry instruments - diff --git a/plugins/document-navigator/docs/communication/messaging/telegram-client/README.md b/plugins/document-navigator/docs/communication/messaging/telegram-client/README.md index 00392b4..98c7fbc 100644 --- a/plugins/document-navigator/docs/communication/messaging/telegram-client/README.md +++ b/plugins/document-navigator/docs/communication/messaging/telegram-client/README.md @@ -88,5 +88,3 @@ Call `resetTelegramClientMetrics()` from tests after replacing the global - Tests use injected `fetch` / `clock` — no mocks, no network. - 100% istanbul coverage on touched modules. - - diff --git a/plugins/document-navigator/docs/communication/webhook-client/webhook-client/README.md b/plugins/document-navigator/docs/communication/webhook-client/webhook-client/README.md index 1392b56..9bff9e9 100644 --- a/plugins/document-navigator/docs/communication/webhook-client/webhook-client/README.md +++ b/plugins/document-navigator/docs/communication/webhook-client/webhook-client/README.md @@ -15,7 +15,9 @@ Webhook delivery client with retry logic, HMAC signature generation/verification - [webhook-client-error](./src/errors/webhook-client-error.md) — _(no submodules)_ - [payload-builder](./src/utils/payload-builder.md) — Provides utilities for constructing and serializing `WebhookPayload` objects before delivery. The two functions in this… - [signature](./src/utils/signature.md) — Provides HMAC signature generation and verification for webhook payloads using the Web Crypto API (`globalThis.crypto.s… + - [webhook-client](./src/core/client/webhook-client.md) — _(no submodules)_- [delivery](./src/core/delivery/webhook-delivery.md) — _(no submodules)_- [webhook-delivery](./src/core/delivery/webhook-delivery.md) — _(no submodules)_- [errors](./src/errors/webhook-client-error.md) — _(no submodules)_- [webhook-client-error](./src/errors/webhook-client-error.md) — _(no submodules)_- [payload-builder](./src/utils/payload-builder.md) — Provides utilities for constructing and serializing `WebhookPayload` objects before delivery. The two functions in this… + - [signature](./src/utils/signature.md) — Provides HMAC signature generation and verification for webhook payloads using the Web Crypto API (`globalThis.crypto.s… - [webhook-client](./src/core/client/webhook-client.md) — _(no submodules)_- [delivery](./src/core/delivery/webhook-delivery.md) — _(no submodules)_- [webhook-delivery](./src/core/delivery/webhook-delivery.md) — _(no submodules)_- [errors](./src/errors/webhook-client-error.md) — _(no submodules)_- [webhook-client-error](./src/errors/webhook-client-error.md) — _(no submodules)_- [payload-builder](./src/utils/payload-builder.md) — Provides utilities for constructing and serializing `WebhookPayload` objects before delivery. The two functions in this… - [signature](./src/utils/signature.md) — Provides HMAC signature generation and verification for webhook payloads using the Web Crypto API (`globalThis.crypto.s… diff --git a/plugins/document-navigator/docs/devtools/docs/compress-svg/README.md b/plugins/document-navigator/docs/devtools/docs/compress-svg/README.md index 7122efb..d6ad2aa 100644 --- a/plugins/document-navigator/docs/devtools/docs/compress-svg/README.md +++ b/plugins/document-navigator/docs/devtools/docs/compress-svg/README.md @@ -29,7 +29,9 @@ SVG optimisation and minification for TypeScript. Pure TypeScript — no DOMPars - [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_ - [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_ + - [compress-svg](./src/core/compress-svg/compress-svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [compress-svg](./src/core/compress-svg/compress-svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [compress-svg](./src/core/compress-svg/compress-svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [compress-svg](./src/core/compress-svg/compress-svg.md) — _(no submodules)_- [svg](./src/parser/svg/svg.md) — _(no submodules)_ - [svg](./src/parser/svg/svg.md) — _(no submodules)_- [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_ - [cleanup-attrs](./src/plugins/cleanup-attrs/cleanup-attrs.md) — _(no submodules)_- [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_ - [collapse-groups](./src/plugins/collapse-groups/collapse-groups.md) — _(no submodules)_- [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_ - [convert-path-data](./src/plugins/convert-path-data/convert-path-data.md) — _(no submodules)_- [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_ - [convert-transforms](./src/plugins/convert-transforms/convert-transforms.md) — _(no submodules)_- [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_ - [mangle-ids](./src/plugins/mangle-ids/mangle-ids.md) — _(no submodules)_- [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_ - [remove-comments](./src/plugins/remove-comments/remove-comments.md) — _(no submodules)_- [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_ - [remove-doctype](./src/plugins/remove-doctype/remove-doctype.md) — _(no submodules)_- [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_ - [remove-metadata](./src/plugins/remove-metadata/remove-metadata.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_ + ## Features - **`compressSvg`** — parse → plugin pipeline → multipass loop → serialize → CompressResult with size metrics diff --git a/plugins/document-navigator/docs/devtools/docs/docs/README.md b/plugins/document-navigator/docs/devtools/docs/docs/README.md index 947997f..c2c1d73 100644 --- a/plugins/document-navigator/docs/devtools/docs/docs/README.md +++ b/plugins/document-navigator/docs/devtools/docs/docs/README.md @@ -73,4 +73,3 @@ console.log( `DOCS_CODES` registry. - [`observability/observability.md`](./src/observability/observability.md) — OTel counters + histograms factory. - diff --git a/plugins/document-navigator/docs/devtools/docs/docs/src/parser/parse.md b/plugins/document-navigator/docs/devtools/docs/docs/src/parser/parse.md index dda7ec6..44a946f 100644 --- a/plugins/document-navigator/docs/devtools/docs/docs/src/parser/parse.md +++ b/plugins/document-navigator/docs/devtools/docs/docs/src/parser/parse.md @@ -8,6 +8,7 @@ _(no submodules)_ `parseDoc` turns the raw text of a single markdown file into a structured `DocFile` by composing `gray-matter` (frontmatter), `unified` + `remark-parse` + + `remark-gfm` (mdast), and `unist-util-visit` (typed traversal). It is the atomic unit used both internally by `discoverDocs` and externally by callers that already have markdown in memory (e.g. consumers that read from a content @@ -16,17 +17,17 @@ DB rather than the filesystem). Every traversal is fully typed via ## Features -- Stable 16-character hex id derived from `sha256(relativePath)`. -- Title precedence: `frontmatter.title` (string) → first H1 → filename ++ Stable 16-character hex id derived from `sha256(relativePath)`. ++ Title precedence: `frontmatter.title` (string) → first H1 → filename without `.md` extension. -- Typed link extraction via `unist-util-visit`. -- Full `DocCategory` derivation across the eighteen suaveplan super-categories ++ Typed link extraction via `unist-util-visit`. ++ Full `DocCategory` derivation across the eighteen suaveplan super-categories plus `"root"`. -- Package-name derivation across `packages////…`, ++ Package-name derivation across `packages////…`, `apps//…`, and root-level files. -- Records `docs_parse_duration_ms` histogram + `docs_parse_error_total` ++ Records `docs_parse_duration_ms` histogram + `docs_parse_error_total` counter on parser failure. -- Wraps every thrown cause into `DocsError(DOCS.PARSE_FAILED)`. ++ Wraps every thrown cause into `DocsError(DOCS.PARSE_FAILED)`. ## Usage: Basic @@ -65,14 +66,14 @@ console.log(doc.content === raw); // true — raw content is preserved verbatim ### `parseDoc(absolutePath, relativePath, rawContent, observability?): DocFile` -- **`absolutePath`** — absolute filesystem path; used for `doc.path` and ++ **`absolutePath`** — absolute filesystem path; used for `doc.path` and basename / `isReadme` checks. Not read from disk. -- **`relativePath`** — path relative to the project root; used for id, ++ **`relativePath`** — path relative to the project root; used for id, category, and package-name derivation. -- **`rawContent`** — raw file content including frontmatter delimiters. -- **`observability`** — optional `DocsObservability`. Defaults to no-op. -- **Returns** — `DocFile` with every field populated. -- **Throws** — `DocsError(DOCS.PARSE_FAILED)` on malformed frontmatter or ++ **`rawContent`** — raw file content including frontmatter delimiters. ++ **`observability`** — optional `DocsObservability`. Defaults to no-op. ++ **Returns** — `DocFile` with every field populated. ++ **Throws** — `DocsError(DOCS.PARSE_FAILED)` on malformed frontmatter or mdast parser failure. ## Implementation Notes diff --git a/plugins/document-navigator/docs/devtools/docs/pdf/README.md b/plugins/document-navigator/docs/devtools/docs/pdf/README.md index 3f0bb67..8c97881 100644 --- a/plugins/document-navigator/docs/devtools/docs/pdf/README.md +++ b/plugins/document-navigator/docs/devtools/docs/pdf/README.md @@ -130,4 +130,3 @@ bunx turbo test:coverage --filter=@suaveplan/pdf ``` 100 / 100 / 100 / 100 Istanbul coverage on every Chunk A module. - diff --git a/plugins/document-navigator/docs/devtools/docs/sitemap/README.md b/plugins/document-navigator/docs/devtools/docs/sitemap/README.md index fb26611..a1e5858 100644 --- a/plugins/document-navigator/docs/devtools/docs/sitemap/README.md +++ b/plugins/document-navigator/docs/devtools/docs/sitemap/README.md @@ -19,7 +19,9 @@ Sitemap generation and parsing for the sitemaps.org XML protocol. Produces valid - [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_ - [utils](./src/utils/url-utils.md) — _(no submodules)_ - [url-utils](./src/utils/url-utils.md) — _(no submodules)_ + - [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_- [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_- [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_- [url-utils](./src/utils/url-utils.md) — _(no submodules)_- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_- [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_- [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_- [url-utils](./src/utils/url-utils.md) — _(no submodules)_- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_- [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_- [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_- [url-utils](./src/utils/url-utils.md) — _(no submodules)_- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_ - [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_ - [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_ - [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_ - [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_ - [url-utils](./src/utils/url-utils.md) — _(no submodules)_ + ## Installation ```bash diff --git a/plugins/document-navigator/docs/devtools/tooling/cli/README.md b/plugins/document-navigator/docs/devtools/tooling/cli/README.md index 2b5617b..4b6fa41 100644 --- a/plugins/document-navigator/docs/devtools/tooling/cli/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/cli/README.md @@ -29,7 +29,9 @@ Enterprise-grade CLI framework for Node.js. Composable fluent API with subcomman - [spinner](./src/spinner/spinner.md) — _(no submodules)_ - [style](./src/style/style.md) — _(no submodules)_ - [style](./src/style/style.md) — _(no submodules)_ + - [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_ - [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_ - [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_ - [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_ - [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_ - [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_ - [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_ - [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_ - [style](./src/style/style.md) — _(no submodules)_ + ## Modules | Module | Path | Description | diff --git a/plugins/document-navigator/docs/devtools/tooling/electrobun/README.md b/plugins/document-navigator/docs/devtools/tooling/electrobun/README.md index 90c5523..ab0aecd 100644 --- a/plugins/document-navigator/docs/devtools/tooling/electrobun/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/electrobun/README.md @@ -148,4 +148,3 @@ The full `ELECTROBUN.*` registry: ## License MIT — see the repository root. - diff --git a/plugins/document-navigator/docs/devtools/tooling/electrobun/src/templates/features.md b/plugins/document-navigator/docs/devtools/tooling/electrobun/src/templates/features.md index 595fc0d..9bcd98d 100644 --- a/plugins/document-navigator/docs/devtools/tooling/electrobun/src/templates/features.md +++ b/plugins/document-navigator/docs/devtools/tooling/electrobun/src/templates/features.md @@ -24,7 +24,7 @@ preview pane in an IDE extension). - `renderNetworkFeature` vs `renderNetworkFullFeature` selected by `options.networkingComplexity`. - `renderR3fFeature` composes the camera / physics / particles imports - + scene fragments based on `options.r3fModules`. + - scene fragments based on `options.r3fModules`. - `featurePath(feature)` returns the canonical output path for each feature (the generator uses this to assemble the file list). diff --git a/plugins/document-navigator/docs/devtools/tooling/install-agent-skills/README.md b/plugins/document-navigator/docs/devtools/tooling/install-agent-skills/README.md index a113801..279b8c2 100644 --- a/plugins/document-navigator/docs/devtools/tooling/install-agent-skills/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/install-agent-skills/README.md @@ -22,7 +22,9 @@ and installs them into a target project via `@suaveplan/installer`. - [prompts](./src/prompts/prompts.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the canonical error-code registry for `@suaveplan/install-agent-skills`. Every plugin-side failure path (invali… - [manifest-loader](./src/manifest-loader.md) — Loads and validates the bundled `assets/skills/manifest.json` produced by `scripts/build-skills-bundle.ts`. The loader… + - [apply](./src/apply/apply.md) — _(no submodules)_- [detect](./src/detect/detect.md) — _(no submodules)_- [detect](./src/detect/detect.md) — _(no submodules)_- [plan](./src/plan/plan.md) — _(no submodules)_- [plan](./src/plan/plan.md) — _(no submodules)_- [post-install](./src/post-install/post-install.md) — _(no submodules)_- [post-install](./src/post-install/post-install.md) — _(no submodules)_- [prompts](./src/prompts/prompts.md) — _(no submodules)_- [prompts](./src/prompts/prompts.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the canonical error-code registry for `@suaveplan/install-agent-skills`. Every plugin-side failure path (invali… + - [manifest-loader](./src/manifest-loader.md) — Loads and validates the bundled `assets/skills/manifest.json` produced by `scripts/build-skills-bundle.ts`. The loader… - [plugin](./src/plugin.md) — Composes the agent-skills installer plugin from its constituent stages (`detect`, `prompts`, `plan`, `apply`, `postInst… - [apply](./src/apply/apply.md) — _(no submodules)_- [detect](./src/detect/detect.md) — _(no submodules)_- [detect](./src/detect/detect.md) — _(no submodules)_- [plan](./src/plan/plan.md) — _(no submodules)_- [plan](./src/plan/plan.md) — _(no submodules)_- [post-install](./src/post-install/post-install.md) — _(no submodules)_- [post-install](./src/post-install/post-install.md) — _(no submodules)_- [prompts](./src/prompts/prompts.md) — _(no submodules)_- [prompts](./src/prompts/prompts.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the canonical error-code registry for `@suaveplan/install-agent-skills`. Every plugin-side failure path (invali… @@ -91,4 +93,3 @@ load-bearing modules. ## License MIT - diff --git a/plugins/document-navigator/docs/devtools/tooling/installer/README.md b/plugins/document-navigator/docs/devtools/tooling/installer/README.md index 94948fb..48cb43d 100644 --- a/plugins/document-navigator/docs/devtools/tooling/installer/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/installer/README.md @@ -34,7 +34,9 @@ transactional rollback, conflict resolution, and dry-run support. - [run-plugin](./src/testing/run-plugin.md) — End-to-end test harness for plugins. `runPlugin(plugin, options)` wires up an in-memory filesystem, a scripted CLI, a n… - [script-cli](./src/testing/script-cli.md) — Non-TTY `InstallerCli` driven by pre-recorded answers. `ScriptCli` is the default CLI used by `runPlugin` — tests scrip… - [error-codes](./src/error-codes.md) — Defines the canonical error-code registry for `@suaveplan/installer` and the `InstallerError` class that carries those… + - [suaveplan-install](./src/bin/suaveplan-install.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [disk-fs](./src/fs/disk-fs.md) — Disk-backed implementation of `MutableInstallerFs` used by the `suaveplan-install` bin and any host-side code that want… + - [installer-fs](./src/fs/installer-fs.md) — Re-exports the read-only `InstallerFs` interface from the types module and declares its mutating extension `MutableInst… - [memory-fs](./src/fs/memory-fs.md) — In-memory implementation of `MutableInstallerFs`. Used by the testing harness (`runPlugin` constructs one if the caller… - [host](./src/host/host.md) — _(no submodules)_- conflict — Resolves the per-op `conflict` policy on… @@ -95,8 +97,8 @@ transactional rollback, conflict resolution, and dry-run support. - [installer-fs](./src/fs/installer-fs.md) — Re-exports the read-only `InstallerFs` interface from the types module and declares its mutating extension `MutableInst… - [memory-fs](./src/fs/memory-fs.md) — In-memory implementation of `MutableInstallerFs`. Used by the testing harness (`runPlugin` constructs one if the caller… - [host](./src/host/host.md) — _(no submodules)_ - [apply](./src/host/apply/apply.md) — _(no submodules)_ - [apply](./src/host/apply/apply.md) — _(no submodules)_ - [conflict](./src/host/apply/conflict.md) — Resolves the per-op `conflict` policy on a target that already exists. Five policies are supported: `error` (raise `APP… - - [json-merge](./src/host/apply/json-merge.md) — Implements the deep-merge semantics used by `patch-json` ops with `conflict: "merge"`. Match the conventions of `@suave… - - [text-patch](./src/host/apply/text-patch.md) — Applies an ordered sequence of `TextEdit`s to a string. Used by `patch-text` ops to make targeted insertions/deletions/… + - [json-merge](./src/host/apply/json-merge.md) — Implements the deep-merge semantics used by `patch-json` ops with `conflict: "merge"`. Match the conventions of `@suave… + - [text-patch](./src/host/apply/text-patch.md) — Applies an ordered sequence of `TextEdit`s to a string. Used by `patch-text` ops to make targeted insertions/deletions/… - [detect](./src/host/detect.md) — Runs a plugin's optional `detect` stage inside an OpenTelemetry span. The plugin reports what is already present in the… - [host](./src/host/host.md) — _(no submodules)_ - [plan](./src/host/plan.md) — Invokes `plugin.plan(answers, ctx)` and validates the returned `FileOp[]` against `FileOpsSchema` before letting them f… - [post-install](./src/host/post-install.md) — Runs the plugin's optional `postInstall` stage with abort propagation. This is where plugins do follow-up work that doe… @@ -168,4 +170,3 @@ for the load-bearing modules. ## License MIT - diff --git a/plugins/document-navigator/docs/devtools/tooling/installer/src/host/apply/apply.md b/plugins/document-navigator/docs/devtools/tooling/installer/src/host/apply/apply.md index 9a907c0..b53ff93 100644 --- a/plugins/document-navigator/docs/devtools/tooling/installer/src/host/apply/apply.md +++ b/plugins/document-navigator/docs/devtools/tooling/installer/src/host/apply/apply.md @@ -3,6 +3,7 @@ _(no submodules)_ - conflict — Resolves the per-op `conflict` policy on… + - [conflict](./conflict.md) — Resolves the per-op `conflict` policy on a target that already exists. Five policies are supported: `error` (raise `APP… - [json-merge](./json-merge.md) — Implements the deep-merge semantics used by `patch-json` ops with `conflict: "merge"`. Match the conventions of `@suave… - [text-patch](./text-patch.md) — Applies an ordered sequence of `TextEdit`s to a string. Used by `patch-text` ops to make targeted insertions/deletions/… diff --git a/plugins/document-navigator/docs/devtools/tooling/installer/src/host/host.md b/plugins/document-navigator/docs/devtools/tooling/installer/src/host/host.md index 217d835..106b1ab 100644 --- a/plugins/document-navigator/docs/devtools/tooling/installer/src/host/host.md +++ b/plugins/document-navigator/docs/devtools/tooling/installer/src/host/host.md @@ -3,10 +3,11 @@ _(no submodules)_ - conflict — Resolves the per-op `conflict` policy on… - - [apply](./apply/apply.md) — _(no submodules)_- conflict — Resolves the per-op `conflict` policy on… - - [conflict](./apply/conflict.md) — Resolves the per-op `conflict` policy on a target that already exists. Five policies are supported: `error` (raise `APP… - - [json-merge](./apply/json-merge.md) — Implements the deep-merge semantics used by `patch-json` ops with `conflict: "merge"`. Match the conventions of `@suave… - - [text-patch](./apply/text-patch.md) — Applies an ordered sequence of `TextEdit`s to a string. Used by `patch-text` ops to make targeted insertions/deletions/… + +- [apply](./apply/apply.md) — _(no submodules)_- conflict — Resolves the per-op `conflict` policy on… +- [conflict](./apply/conflict.md) — Resolves the per-op `conflict` policy on a target that already exists. Five policies are supported: `error` (raise `APP… +- [json-merge](./apply/json-merge.md) — Implements the deep-merge semantics used by `patch-json` ops with `conflict: "merge"`. Match the conventions of `@suave… +- [text-patch](./apply/text-patch.md) — Applies an ordered sequence of `TextEdit`s to a string. Used by `patch-text` ops to make targeted insertions/deletions/… - [detect](./detect.md) — Runs a plugin's optional `detect` stage inside an OpenTelemetry span. The plugin reports what is already present in the… - [host](./host.md) — _(no submodules)_- conflict — Resolves the per-op `conflict` policy on… - [plan](./plan.md) — Invokes `plugin.plan(answers, ctx)` and validates the returned `FileOp[]` against `FileOpsSchema` before letting them f… diff --git a/plugins/document-navigator/docs/devtools/tooling/linter/README.md b/plugins/document-navigator/docs/devtools/tooling/linter/README.md index afc26d9..deff012 100644 --- a/plugins/document-navigator/docs/devtools/tooling/linter/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/linter/README.md @@ -83,4 +83,3 @@ import { LINTER_CODES } from "@suaveplan/linter/error-codes"; ``` The root `@suaveplan/linter` import re-exports the public surface of every feature. - diff --git a/plugins/document-navigator/docs/devtools/tooling/mcp/README.md b/plugins/document-navigator/docs/devtools/tooling/mcp/README.md index e9513bd..83e6c1b 100644 --- a/plugins/document-navigator/docs/devtools/tooling/mcp/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/mcp/README.md @@ -91,4 +91,3 @@ All host-side methods of the MCP 2024-11-05 spec: `initialize`, `ping`, `tools/l ## License MIT — © Suaveplan Team. - diff --git a/plugins/document-navigator/docs/devtools/tooling/overview/README.md b/plugins/document-navigator/docs/devtools/tooling/overview/README.md index 30a84d3..8d9bbd5 100644 --- a/plugins/document-navigator/docs/devtools/tooling/overview/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/overview/README.md @@ -103,4 +103,3 @@ Plug `@opentelemetry/sdk-metrics` in your runtime to harvest them. ## Tier Universal at the root entry; server at `./discover`. - diff --git a/plugins/document-navigator/docs/devtools/tooling/profiler/README.md b/plugins/document-navigator/docs/devtools/tooling/profiler/README.md index 4ff266d..10b6ada 100644 --- a/plugins/document-navigator/docs/devtools/tooling/profiler/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/profiler/README.md @@ -66,4 +66,3 @@ await exporter.export(exporter.convertEntries(profiler.getEntries())); ## License MIT - diff --git a/plugins/document-navigator/docs/devtools/tooling/profiler/src/flamegraph/flamegraph.md b/plugins/document-navigator/docs/devtools/tooling/profiler/src/flamegraph/flamegraph.md index 10e7b6d..7e5001b 100644 --- a/plugins/document-navigator/docs/devtools/tooling/profiler/src/flamegraph/flamegraph.md +++ b/plugins/document-navigator/docs/devtools/tooling/profiler/src/flamegraph/flamegraph.md @@ -45,9 +45,9 @@ await writeFile("flame.json", JSON.stringify(json)); - `class FlameGraphGenerator` — no constructor args (stateless). - Methods: - - `generate(entries: readonly ProfileEntry[]): FlameNode` - - `toD3Format(node: FlameNode): { name, value, children }` - - `collapseRecursive(node: FlameNode): FlameNode` + - `generate(entries: readonly ProfileEntry[]): FlameNode` + - `toD3Format(node: FlameNode): { name, value, children }` + - `collapseRecursive(node: FlameNode): FlameNode` ## Implementation Notes diff --git a/plugins/document-navigator/docs/devtools/tooling/profiler/src/telemetry/telemetry.md b/plugins/document-navigator/docs/devtools/tooling/profiler/src/telemetry/telemetry.md index f154c34..502e891 100644 --- a/plugins/document-navigator/docs/devtools/tooling/profiler/src/telemetry/telemetry.md +++ b/plugins/document-navigator/docs/devtools/tooling/profiler/src/telemetry/telemetry.md @@ -12,11 +12,11 @@ Owns the OpenTelemetry meter, counters, and histograms emitted by `@suaveplan/pr - Lazy-bound meter via `metrics.getMeter("@suaveplan/profiler")` — resolves to a no-op meter when no `MeterProvider` is registered, so importing the module is free in production code paths that opt out of telemetry. - Five instruments: - - `profiler_entries_total` (counter, tagged by `category` when present) - - `profiler_marks_total` (counter) - - `profiler_samples_total` (counter) - - `profiler_memory_snapshots_total` (counter) - - `profiler_measure_duration_ms` (histogram, unit `ms`) + - `profiler_entries_total` (counter, tagged by `category` when present) + - `profiler_marks_total` (counter) + - `profiler_samples_total` (counter) + - `profiler_memory_snapshots_total` (counter) + - `profiler_measure_duration_ms` (histogram, unit `ms`) - Pure record helpers (`recordEntry` / `recordMark` / `recordMeasureDuration` / `recordSample` / `recordMemorySnapshot`) so call sites stay readable. ## Usage: Basic diff --git a/plugins/document-navigator/docs/devtools/tooling/readline/README.md b/plugins/document-navigator/docs/devtools/tooling/readline/README.md index 19324b5..60c620e 100644 --- a/plugins/document-navigator/docs/devtools/tooling/readline/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/readline/README.md @@ -15,7 +15,9 @@ AsyncGenerator line reader and interactive prompt interface for Node.js streams, - [reader](./src/reader/reader.md) — _(no submodules)_ - [scanner](./src/scanner/scanner.md) — _(no submodules)_ - [scanner](./src/scanner/scanner.md) — _(no submodules)_ + - [errors](./src/errors/errors.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [interface](./src/interface/interface.md) — _(no submodules)_ - [interface](./src/interface/interface.md) — _(no submodules)_- [reader](./src/reader/reader.md) — _(no submodules)_ - [reader](./src/reader/reader.md) — _(no submodules)_- [scanner](./src/scanner/scanner.md) — _(no submodules)_ - [scanner](./src/scanner/scanner.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/devtools/tooling/sandbox/README.md b/plugins/document-navigator/docs/devtools/tooling/sandbox/README.md index 3888210..59b36e7 100644 --- a/plugins/document-navigator/docs/devtools/tooling/sandbox/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/sandbox/README.md @@ -105,4 +105,3 @@ engine-level boundary. Server (`node:vm` / `node:worker_threads` / `node:child_process` / `node:crypto`). Targets Node ≥ 20 (and Bun, which provides the same APIs). - diff --git a/plugins/document-navigator/docs/devtools/tooling/sandbox/src/resource-limiter/resource-limiter.md b/plugins/document-navigator/docs/devtools/tooling/sandbox/src/resource-limiter/resource-limiter.md index 210d04c..3ec3ea9 100644 --- a/plugins/document-navigator/docs/devtools/tooling/sandbox/src/resource-limiter/resource-limiter.md +++ b/plugins/document-navigator/docs/devtools/tooling/sandbox/src/resource-limiter/resource-limiter.md @@ -8,7 +8,7 @@ _(no submodules)_ `ResourceLimiter` enforces two complementary controls on the sandbox boundary: a sliding-window rate limit (so a single caller cannot exhaust the engine with rapid-fire executions) and an output-size cap (so log capture cannot grow unbounded inside long-running scripts). Both controls operate against an injectable `Clock` so tests can advance time deterministically rather than relying on `setTimeout` and observed wall-clock drift. -The limiter has no opinion about *what* it limits — the same instance is reused across executions, and the rate-limit window slides naturally as time passes. When the configured `maxExecutionsPerWindow` is `undefined`, the limiter is effectively a no-op for rate control; the output truncation still applies. +The limiter has no opinion about _what_ it limits — the same instance is reused across executions, and the rate-limit window slides naturally as time passes. When the configured `maxExecutionsPerWindow` is `undefined`, the limiter is effectively a no-op for rate control; the output truncation still applies. ## Features diff --git a/plugins/document-navigator/docs/devtools/tooling/test-vite/README.md b/plugins/document-navigator/docs/devtools/tooling/test-vite/README.md index 75db530..17f5d23 100644 --- a/plugins/document-navigator/docs/devtools/tooling/test-vite/README.md +++ b/plugins/document-navigator/docs/devtools/tooling/test-vite/README.md @@ -62,4 +62,3 @@ Every feature module is its own subpath export for tree-shake friendliness. ## License MIT - diff --git a/plugins/document-navigator/docs/foundation/barcode/barcode/README.md b/plugins/document-navigator/docs/foundation/barcode/barcode/README.md index 0a460b2..468597b 100644 --- a/plugins/document-navigator/docs/foundation/barcode/barcode/README.md +++ b/plugins/document-navigator/docs/foundation/barcode/barcode/README.md @@ -20,7 +20,9 @@ Runtime-agnostic 1D barcode generation for seven symbologies — Code 128B, Code - [itf](./src/symbologies/itf.md) — Implements ITF (Interleaved 2 of 5) barcode encoding for numeric-only data. ITF is widely used in logistics, shipping,… - [upca](./src/symbologies/upca.md) — Implements UPC-A barcode encoding and validation. UPC-A is the primary barcode format used in North American retail, en… - [upce](./src/symbologies/upce.md) — Implements UPC-E barcode encoding for the compressed 6-digit UPC symbology used on small retail packages where space fo… + - [encoder](./src/core/encoder/encoder.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_- [errors](./src/errors/barcode-error.md) — _(no submodules)_- [barcode-error](./src/errors/barcode-error.md) — _(no submodules)_- [code128](./src/symbologies/code128.md) — Implements Code 128 Subset B encoding for the full printable ASCII range (characters 32–127). This module produces a bi… + - [code39](./src/symbologies/code39.md) — Implements Code 39 barcode encoding for the standard 43-character set: digits 0–9, uppercase letters A–Z, and the speci… - [ean13](./src/symbologies/ean13.md) — Implements EAN-13 (International Article Number, 13-digit variant) barcode encoding following the ISO/IEC 15420 and GS1… - [ean8](./src/symbologies/ean8.md) — Implements EAN-8 barcode encoding for small retail packages where space constraints make EAN-13 impractical. EAN-8 enco… diff --git a/plugins/document-navigator/docs/foundation/barcode/qrcode/README.md b/plugins/document-navigator/docs/foundation/barcode/qrcode/README.md index 6365a0d..9e246a1 100644 --- a/plugins/document-navigator/docs/foundation/barcode/qrcode/README.md +++ b/plugins/document-navigator/docs/foundation/barcode/qrcode/README.md @@ -23,6 +23,7 @@ QR code generation producing SVG, pixel matrix, terminal (Unicode blocks), and d - [qrcode](./src/core/qrcode.md) — _(no submodules)_ - data-encoder — _(no submodu… - [errors](./src/errors/qrcode-error.md) — _(no submodules)_ - [qrcode-error](./src/errors/qrcode-error.md) — _(no submodules)_ + - [encoder](./src/core/encoder/data-encoder.md) — _(no submodules)_- [data-encoder](./src/core/encoder/data-encoder.md) — _(no submodules)_- [mask](./src/core/mask/masking.md) — _(no submodules)_- [masking](./src/core/mask/masking.md) — _(no submodules)_- [matrix](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [matrix-builder](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [svg-renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_- [qrcode](./src/core/qrcode.md) — _(no submodules)_- [errors](./src/errors/qrcode-error.md) — _(no submodules)_- [qrcode-error](./src/errors/qrcode-error.md) — _(no submodules)_- data-encoder — _(no submodules)_- [data-encoder](./src/core/encoder/data-encoder.md) — _(no submodules)_- [mask](./src/core/mask/masking.md) — _(no submodules)_- [masking](./src/core/mask/masking.md) — _(no submodules)_- [matrix](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [matrix-builder](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [svg-renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_- [qrcode](./src/core/qrcode.md) — _(no submodules)_- data-encoder — _(no submodules)_- [data-encoder](./src/core/encoder/data-encoder.md) — _(no submodules)_- [mask](./src/core/mask/masking.md) — _(no submodules)_- [masking](./src/core/mask/masking.md) — _(no submodules)_- [matrix](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [matrix-builder](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [svg-renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_- [qrcode](./src/core/qrcode.md) — _(no submodules)_- data-encoder — _(no submod… - [errors](./src/errors/qrcode-error.md) — _(no submodules)_- [qrcode-error](./src/errors/qrcode-error.md) — _(no submodules)_- [encoder](./src/core/encoder/data-encoder.md) — _(no submodules)_ - [data-encoder](./src/core/encoder/data-encoder.md) — _(no submodules)_- [mask](./src/core/mask/masking.md) — _(no submodules)_ - [masking](./src/core/mask/masking.md) — _(no submodules)_- [matrix](./src/core/matrix/matrix-builder.md) — _(no submodules)_ - [matrix-builder](./src/core/matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_ - [reed-solomon](./src/core/reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_ - [svg-renderer](./src/core/renderer/svg-renderer.md) — _(no submodules)_- [tables](./src/core/tables/tables.md) — _(no submodules)_ - [tables](./src/core/tables/tables.md) — _(no submodules)_- [qrcode](./src/core/qrcode.md) — _(no submodules)_- [errors](./src/errors/qrcode-error.md) — _(no submodules)_ - [qrcode-error](./src/errors/qrcode-error.md) — _(no submodules)_ + ## Installation ```bash diff --git a/plugins/document-navigator/docs/foundation/barcode/qrcode/src/core/qrcode.md b/plugins/document-navigator/docs/foundation/barcode/qrcode/src/core/qrcode.md index 0a63ef1..33c57e5 100644 --- a/plugins/document-navigator/docs/foundation/barcode/qrcode/src/core/qrcode.md +++ b/plugins/document-navigator/docs/foundation/barcode/qrcode/src/core/qrcode.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [data-encoder](./encoder/data-encoder.md) — _(no submodules)_- [mask](./mask/masking.md) — _(no submodules)_ - [masking](./mask/masking.md) — _(no submodules)_- [matrix](./matrix/matrix-builder.md) — _(no submodules)_ - [matrix-builder](./matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_ - [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./renderer/svg-renderer.md) — _(no submodules)_ - [svg-renderer](./renderer/svg-renderer.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_ - [tables](./tables/tables.md) — _(no submodules)_- [qrcode](./qrcode.md) — _(no submodules)_- data-encoder — _(no submodu… +- [data-encoder](./encoder/data-encoder.md) — _(no submodules)_- [mask](./mask/masking.md) — _(no submodules)_ - [masking](./mask/masking.md) — _(no submodules)_- [matrix](./matrix/matrix-builder.md) — _(no submodules)_ - [matrix-builder](./matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_ - [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./renderer/svg-renderer.md) — _(no submodules)_ - [svg-renderer](./renderer/svg-renderer.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_ - [tables](./tables/tables.md) — _(no submodules)_- [qrcode](./qrcode.md) — _(no submodules)_- data-encoder — _(no submodu… - [data-encoder](./encoder/data-encoder.md) — _(no submodules)_- [mask](./mask/masking.md) — _(no submodules)_- [masking](./mask/masking.md) — _(no submodules)_- [matrix](./matrix/matrix-builder.md) — _(no submodules)_- [matrix-builder](./matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./renderer/svg-renderer.md) — _(no submodules)_- [svg-renderer](./renderer/svg-renderer.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_- [qrcode](./qrcode.md) — _(no submodules)_- [data-encoder](./encoder/data-encoder.md) — _(no submodules)_- [mask](./mask/masking.md) — _(no submodules)_- [masking](./mask/masking.md) — _(no submodules)_- [matrix](./matrix/matrix-builder.md) — _(no submodules)_- [matrix-builder](./matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./renderer/svg-renderer.md) — _(no submodules)_- [svg-renderer](./renderer/svg-renderer.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_- [qrcode](./qrcode.md) — _(no submodules)_- data-encoder — _(no submodules)_- [mask](./mask/masking.md) — _(no submodules)_- [masking](./mask/masking.md) — _(no submodules)_- [matrix](./matrix/matrix-builder.md) — _(no submodules)_- [matrix-builder](./matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./renderer/svg-renderer.md) — _(no submodules)_- [svg-renderer](./renderer/svg-renderer.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_- [qrcode](./qrcode.md) — _(no submodules)_- data-encoder — _(no submod… - [data-encoder](./encoder/data-encoder.md) — _(no submodules)_- [mask](./mask/masking.md) — _(no submodules)_ - [masking](./mask/masking.md) — _(no submodules)_- [matrix](./matrix/matrix-builder.md) — _(no submodules)_ - [matrix-builder](./matrix/matrix-builder.md) — _(no submodules)_- [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_ - [reed-solomon](./reed-solomon/reed-solomon.md) — _(no submodules)_- [renderer](./renderer/svg-renderer.md) — _(no submodules)_ - [svg-renderer](./renderer/svg-renderer.md) — _(no submodules)_- [tables](./tables/tables.md) — _(no submodules)_ - [tables](./tables/tables.md) — _(no submodules)_- [qrcode](./qrcode.md) — _(no submodules)_ + ## Purpose Top-level orchestrator for the `@suaveplan/qrcode` package. The `generate` function is the single public entry point that combines all pipeline stages: mode detection, version selection, data encoding, Reed-Solomon error correction, block interleaving, mask scoring, matrix construction, and rendering. Callers provide a string and optional configuration; the function returns a `QRCodeResult` with all four output representations populated. diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/README.md index f0de07c..ef2f771 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/README.md @@ -31,9 +31,11 @@ Compression pipeline integration for bitpacker. - [types](./src/types/types.md) — _(no submodules)_ - types.schema — Zod schemas for the public type comp… - [types.schema](./src/types/types.schema.md) — Zod schemas for the public type companions of `@suaveplan/bitpacker-compressed`'s compression pipeline: the open-record… - [index](./src/index.md) — **Path:** `bitpacker-compressed/src/index.ts` **Export:** See source for details. + - [deflate](./src/adapters/deflate/deflate.md) — _(no submodules)_- [gzip](./src/adapters/gzip/gzip.md) — _(no submodules)_- [gzip](./src/adapters/gzip/gzip.md) — _(no submodules)_- [none](./src/adapters/none/none.md) — _(no submodules)_- [none](./src/adapters/none/none.md) — _(no submodules)_- [api](./src/api/api.md) — _(no submodules)_- [api](./src/api/api.md) — _(no submodules)_- [compressed-bit-packer](./src/compressed-bit-packer/compressed-bit-packer.md) — _(no submodules)_- compressed-bit-packer.schema — Zod schema for `Comp… - - [compressed-bit-packer](./src/compressed-bit-packer/compressed-bit-packer.md) — _(no submodules)_- compressed-bit-packer.schema — Zod schema for `Comp… - - [compressed-bit-packer.schema](./src/compressed-bit-packer/compressed-bit-packer.schema.md) — Zod schema for `CompressedBitPackerOptions`, the constructor options bundle accepted by `CompressedBitPacker`. Validate… + +- [compressed-bit-packer](./src/compressed-bit-packer/compressed-bit-packer.md) — _(no submodules)_- compressed-bit-packer.schema — Zod schema for `Comp… +- [compressed-bit-packer.schema](./src/compressed-bit-packer/compressed-bit-packer.schema.md) — Zod schema for `CompressedBitPackerOptions`, the constructor options bundle accepted by `CompressedBitPacker`. Validate… - [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [rle](./src/rle/rle.md) — _(no submodules)_- rle.schema — Zod schema for the per-call `Compressi… - [rle](./src/rle/rle.md) — _(no submodules)_- rle.schema — Zod schema for the per-call `Compressi… - [rle.schema](./src/rle/rle.schema.md) — Zod schema for the per-call `CompressionOptions` accepted by `compressRle` / `decompressRle`. The RLE codec is byte-onl… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/compressed-bit-packer/compressed-bit-packer.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/compressed-bit-packer/compressed-bit-packer.md index 2f72a6e..c98c22e 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/compressed-bit-packer/compressed-bit-packer.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/compressed-bit-packer/compressed-bit-packer.md @@ -3,6 +3,7 @@ _(no submodules)_ - compressed-bit-packer.schema — Zod schema for `Comp… + - [compressed-bit-packer.schema](./compressed-bit-packer.schema.md) — Zod schema for `CompressedBitPackerOptions`, the constructor options bundle accepted by `CompressedBitPacker`. Validate… - compressed-bit-packer.schema — Zod schema for `Comp… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/rle/rle.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/rle/rle.md index 10e4b95..f0f06be 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/rle/rle.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/rle/rle.md @@ -3,6 +3,7 @@ _(no submodules)_ - rle.schema — Zod schema for the per-call `Compressi… + - [rle.schema](./rle.schema.md) — Zod schema for the per-call `CompressionOptions` accepted by `compressRle` / `decompressRle`. The RLE codec is byte-onl… - rle.schema — Zod schema for the per-call `Compressi… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/types/types.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/types/types.md index 65e4209..04d5f44 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/types/types.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-compressed/src/types/types.md @@ -3,6 +3,7 @@ _(no submodules)_ - types.schema — Zod schemas for the public type comp… + - [types.schema](./types.schema.md) — Zod schemas for the public type companions of `@suaveplan/bitpacker-compressed`'s compression pipeline: the open-record… - types.schema — Zod schemas for the public type comp… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-crypto/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-crypto/README.md index 50ffb03..18e6e4a 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-crypto/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-crypto/README.md @@ -152,4 +152,3 @@ await assertSchemaFingerprint(remoteSchema, fp); | CRC32 | Medium | General integrity checking | | Adler32 | Fast | Quick checksums (used in zlib) | | XXHash32 | Very fast | High-throughput hashing | - diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-delta/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-delta/README.md index 105bc79..f20d801 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-delta/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-delta/README.md @@ -14,7 +14,9 @@ Delta encoding utilities for efficient repeated state transmission. Detects chan - [index](./src/index.md) — **Path:** `bitpacker-delta/src/index.ts` **Export:** See source for details. - [string-diff](./src/string-diff.md) — **Path:** `src/string-diff.ts` **Export:** `calculateStringDiff`, `applyStringDiff`, `calculateDiffSavings`, `shouldUse… - [xor-encoder](./src/xor-encoder.md) — **Path:** `src/xor-encoder.ts` **Export:** `calculateXorDelta`, `applyXorDelta`, `calculateDeltaBitSize`, `isXorEfficie… + - [delta-manager](./src/delta-manager/delta-manager.md) — _(no submodules)_- [delta-state](./src/delta-state/delta-state.md) — _(no submodules)_- [delta-state](./src/delta-state/delta-state.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-delta/src/index.ts` **Export:** See source for details. + - [string-diff](./src/string-diff.md) — **Path:** `src/string-diff.ts` **Export:** `calculateStringDiff`, `applyStringDiff`, `calculateDiffSavings`, `shouldUse… - [xor-encoder](./src/xor-encoder.md) — **Path:** `src/xor-encoder.ts` **Export:** `calculateXorDelta`, `applyXorDelta`, `calculateDeltaBitSize`, `isXorEfficie… - [delta-manager](./src/delta-manager/delta-manager.md) — _(no submodules)_- [delta-state](./src/delta-state/delta-state.md) — _(no submodules)_- [delta-state](./src/delta-state/delta-state.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-delta/src/index.ts` **Export:** See source for details. diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/README.md index 99f7d6e..5d33ec1 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/README.md @@ -41,15 +41,17 @@ Game state utilities: quantization, prediction, interpolation, and client-server - [types.schema](./src/types.schema/types.schema.md) — Zod schemas for the public configuration types of `@suaveplan/bitpacker-game`: the three sub-options bundles (`Predicti… - [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [types](./src/types.md) — **Path:** `src/types.ts` **Export:** All game-related type definitions and enums + - [bitpacker](./src/bitpacker/bitpacker.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [integration-manager](./src/integration-manager/integration-manager.md) — _(no submodules)_- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [index](./src/interpolation/index.md) — **Path:** `src/interpolation/interpolation.ts` **Export:** `GameInterpolator` - - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - - [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… - - [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. - - [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. - - [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. - - [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. - - [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… - - [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. + +- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… +- [index](./src/prediction/index.md) — **Path:** `src/prediction/` **Exports:** `PositionPredictor`, `RotationPredictor`, motion math, Kalman filter, predicti… +- [kalman-filter](./src/prediction/kalman-filter.md) — **Path:** `bitpacker-game/src/prediction/kalman-filter.ts` **Export:** See source for details. +- [motion-math](./src/prediction/motion-math.md) — **Path:** `bitpacker-game/src/prediction/motion-math.ts` **Export:** See source for details. +- [position-predictor](./src/prediction/position-predictor.md) — **Path:** `bitpacker-game/src/prediction/position-predictor.ts` **Export:** See source for details. +- [prediction-algorithms](./src/prediction/prediction-algorithms.md) — **Path:** `bitpacker-game/src/prediction/prediction-algorithms.ts` **Export:** See source for details. +- [prediction](./src/prediction/prediction.md) — _(no submodules)_- rotation-predictor — **Path:** `bitpacker-game/src/… +- [rotation-predictor](./src/prediction/rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - [quantization](./src/quantization/quantization.md) — _(no submodules)_- [quantization](./src/quantization/quantization.md) — _(no submodules)_- [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [index](./src/reconciliation/index.md) — **Path:** `src/reconciliation/reconciliation.ts` **Export:** `StateReconciliation` - [reconciliation](./src/reconciliation/reconciliation.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schema-factory](./src/schema-factory/schema-factory.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [state-manager](./src/state-manager/state-manager.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-game/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-game` package. Exposes `register… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/src/prediction/prediction.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/src/prediction/prediction.md index 1360297..693a38d 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/src/prediction/prediction.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-game/src/prediction/prediction.md @@ -3,6 +3,7 @@ _(no submodules)_ - rotation-predictor — **Path:** `bitpacker-game/src/… + - [rotation-predictor](./rotation-predictor.md) — **Path:** `bitpacker-game/src/prediction/rotation-predictor.ts` **Export:** See source for details. - rotation-predictor — **Path:** `bitpacker-game/src/… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/README.md index 894193f..6db40f0 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/README.md @@ -22,11 +22,13 @@ Network simulation utilities for testing bitpacker under realistic network condi - [types](./src/types/types.md) — _(no submodules)_ - types.schema — Zod schema for `NetworkSimulationOpt… - [types.schema](./src/types/types.schema.md) — Zod schema for `NetworkSimulationOptions`, the configuration accepted by `NetworkSimulator`'s constructor and `setOptio… - [index](./src/index.md) — **Path:** `bitpacker-network/src/index.ts` **Export:** See source for details. + - [default-clock](./src/defaults/default-clock.md) — `defaultClock` is the **single allow-listed wall-clock source** in `@suaveplan/bitpacker-network`. The determin… - - [default-rng](./src/defaults/default-rng.md) — `defaultRng` is the canonical CSPRNG-backed `Rng` factory used by `NetworkSimulator` and any other deterministic-when-a… - - [defaults](./src/defaults/defaults.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [simulator](./src/simulator/simulator.md) — _(no submodules)_- simulator.schema — Zod schema for `NetworkSimulator… - - [simulator](./src/simulator/simulator.md) — _(no submodules)_- simulator.schema — Zod schema for `NetworkSimulator… - - [simulator.schema](./src/simulator/simulator.schema.md) — Zod schema for `NetworkSimulatorConstructorOptions`, the constructor bundle for `NetworkSimulator` and `createNetworkSi… + +- [default-rng](./src/defaults/default-rng.md) — `defaultRng` is the canonical CSPRNG-backed `Rng` factory used by `NetworkSimulator` and any other deterministic-when-a… +- [defaults](./src/defaults/defaults.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [simulator](./src/simulator/simulator.md) — _(no submodules)_- simulator.schema — Zod schema for `NetworkSimulator… +- [simulator](./src/simulator/simulator.md) — _(no submodules)_- simulator.schema — Zod schema for `NetworkSimulator… +- [simulator.schema](./src/simulator/simulator.schema.md) — Zod schema for `NetworkSimulatorConstructorOptions`, the constructor bundle for `NetworkSimulator` and `createNetworkSi… - [types](./src/types/types.md) — _(no submodules)_- types.schema — Zod schema for `NetworkSimulationOpt… - [types](./src/types/types.md) — _(no submodules)_- types.schema — Zod schema for `NetworkSimulationOpt… - [types.schema](./src/types/types.schema.md) — Zod schema for `NetworkSimulationOptions`, the configuration accepted by `NetworkSimulator`'s constructor and `setOptio… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/simulator/simulator.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/simulator/simulator.md index 8e28581..931cad6 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/simulator/simulator.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/simulator/simulator.md @@ -3,6 +3,7 @@ _(no submodules)_ - simulator.schema — Zod schema for `NetworkSimulator… + - [simulator.schema](./simulator.schema.md) — Zod schema for `NetworkSimulatorConstructorOptions`, the constructor bundle for `NetworkSimulator` and `createNetworkSi… - simulator.schema — Zod schema for `NetworkSimulator… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/types/types.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/types/types.md index 831d91b..a8757c2 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/types/types.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-network/src/types/types.md @@ -3,6 +3,7 @@ _(no submodules)_ - types.schema — Zod schema for `NetworkSimulationOpt… + - [types.schema](./types.schema.md) — Zod schema for `NetworkSimulationOptions`, the configuration accepted by `NetworkSimulator`'s constructor and `setOptio… - types.schema — Zod schema for `NetworkSimulationOpt… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/README.md index b628d8a..8dc29a0 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/README.md @@ -28,7 +28,9 @@ Schema registry and validation for bitpacker. - [visualization](./src/visualization/visualization.md) — _(no submodules)_ - [visualization](./src/visualization/visualization.md) — _(no submodules)_ - [index](./src/index.md) — **Path:** `bitpacker-schema/src/index.ts` **Export:** See source for details. + - [matching](./src/matching/matching.md) — _(no submodules)_- [migration](./src/migration/migration.md) — _(no submodules)_- [migration](./src/migration/migration.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [defaults](./src/registry/defaults/default-clock.md) — _(no submodules)_- [default-clock](./src/registry/defaults/default-clock.md) — _(no submodules)_- [factories](./src/registry/factories/factories.md) — _(no submodules)_- [factories](./src/registry/factories/factories.md) — _(no submodules)_- [in-memory](./src/registry/storage/in-memory/in-memory.md) — _(no submodules)_- [in-memory](./src/registry/storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./src/registry/storage/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/registry/storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [versioning](./src/versioning/versioning.md) — _(no submodules)_- [versioning](./src/versioning/versioning.md) — _(no submodules)_- [visualization](./src/visualization/visualization.md) — _(no submodules)_- [visualization](./src/visualization/visualization.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-schema/src/index.ts` **Export:** See source for details. + - [matching](./src/matching/matching.md) — _(no submodules)_- [migration](./src/migration/migration.md) — _(no submodules)_- [migration](./src/migration/migration.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- default-clock — _(no submodules)_- [default-clock](./src/registry/defaults/default-clock.md) — _(no submodules)_- [factories](./src/registry/factories/factories.md) — _(no submodules)_- [factories](./src/registry/factories/factories.md) — _(no submodules)_- [in-memory](./src/registry/storage/in-memory/in-memory.md) — _(no submodules)_- [in-memory](./src/registry/storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./src/registry/storage/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/registry/storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- default-clock — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [versioning](./src/versioning/versioning.md) — _(no submodules)_- [versioning](./src/versioning/versioning.md) — _(no submodules)_- [visualization](./src/visualization/visualization.md) — _(no submodules)_- [visualization](./src/visualization/visualization.md) — _(no submodules)_- [index](./src/index.md) — **Path:** `bitpacker-schema/src/index.ts` **Export:** See source for details. diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/src/registry/registry.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/src/registry/registry.md index ec35755..cabb001 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/src/registry/registry.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-schema/src/registry/registry.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [default-clock](./defaults/default-clock.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_ - [factories](./factories/factories.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_ - [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_ - [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./registry.md) — _(no submodules)_- default-clock — _(no submod… +- [default-clock](./defaults/default-clock.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_ - [factories](./factories/factories.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_ - [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_ - [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./registry.md) — _(no submodules)_- default-clock — _(no submod… - [default-clock](./defaults/default-clock.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./registry.md) — _(no submodules)_- [default-clock](./defaults/default-clock.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./registry.md) — _(no submodules)_- default-clock — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./registry.md) — _(no submodules)_- default-clock — _(no submo… - [default-clock](./defaults/default-clock.md) — _(no submodules)_- [factories](./factories/factories.md) — _(no submodules)_ - [factories](./factories/factories.md) — _(no submodules)_- [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_ - [in-memory](./storage/in-memory/in-memory.md) — _(no submodules)_- [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_ - [local-storage](./storage/local-storage/local-storage.md) — _(no submodules)_- [registry](./registry.md) — _(no submodules)_ + ## Purpose `SchemaRegistry` is the versioned, namespaced schema store at the heart of `@suaveplan/bitpacker-schema`. Callers register `BitPackerSchema` definitions under a `(namespace, name)` pair; each call gets an auto-incremented version stamped with `createdAt`/`updatedAt` timestamps. Lookups can target an exact version or "latest", and an entire `(namespace, name)` family can be reconstructed as a `VersionedSchema` for migration workflows. diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/README.md index 188e265..0411597 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/README.md @@ -72,8 +72,10 @@ Built-in packing strategies for `@suaveplan/bitpacker`. Provides strategies for - [version](./src/strategies/version/version.md) — _(no submodules)_ - [version](./src/strategies/version/version.md) — _(no submodules)_ - [index](./src/index.md) — **Path:** `bitpacker-strategies/src/index.ts` **Export:** See source for details. + - [instruments](./src/otel/instruments.md) — _(no submodules)_- [array](./src/strategies/array/array.md) — _(no submodules)_- [array](./src/strategies/array/array.md) — _(no submodules)_- [array-config](./src/strategies/array-config/array-config.md) — Packs/unpacks arrays described by an explicit configuration object. - - [array-config](./src/strategies/array-config/array-config.md) — Packs/unpacks arrays described by an explicit configuration object. + +- [array-config](./src/strategies/array-config/array-config.md) — Packs/unpacks arrays described by an explicit configuration object. - [array-notation](./src/strategies/array-notation/array-notation.md) — Packs/unpacks arrays described by a string notation. - [array-notation](./src/strategies/array-notation/array-notation.md) — Packs/unpacks arrays described by a string notation. - [array-schema](./src/strategies/array-schema/array-schema.md) — Packs/unpacks fixed-length tuple schemas. diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies.schema/register-default-strategies.schema.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies.schema/register-default-strategies.schema.md index ac22647..78fe8be 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies.schema/register-default-strategies.schema.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies.schema/register-default-strategies.schema.md @@ -8,7 +8,7 @@ _(no submodules)_ Zod schema for the `manager` argument of `registerDefaultStrategies`. Validates that an external caller hands the function a real `PackingStrategyManager` instance (not a plain object that "quacks like" one) so the chain ordering invariants the function depends on are guaranteed at the boundary. Identity is preserved — the parsed value is the same instance the caller passed in, so `registerDefaultStrategies(manager)` mutates the caller's manager rather than a clone. -This package's strategy classes are themselves parameterless and therefore expose no per-strategy options to validate. The single boundary that needs a schema is `registerDefaultStrategies(manager)`. Strategy *shape* (`canHandle`/`pack`/`unpack` are functions) is already validated upstream by `packingStrategySchema` in `@suaveplan/bitpacker`. +This package's strategy classes are themselves parameterless and therefore expose no per-strategy options to validate. The single boundary that needs a schema is `registerDefaultStrategies(manager)`. Strategy _shape_ (`canHandle`/`pack`/`unpack` are functions) is already validated upstream by `packingStrategySchema` in `@suaveplan/bitpacker`. ## Features diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies/register-default-strategies.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies/register-default-strategies.md index e6f6627..a38598b 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies/register-default-strategies.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-strategies/src/register-default-strategies/register-default-strategies.md @@ -1,5 +1,4 @@ - _(no submodules)_ diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/README.md index c647043..c5117b9 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/README.md @@ -20,9 +20,11 @@ Streaming APIs for bitpacker including chunked packing/unpacking and true Transf - [transform](./src/transform/transform.md) — _(no submodules)_ - transform.schema — Zod schemas for the option bundl… - [transform.schema](./src/transform/transform.schema.md) — Zod schemas for the option bundles consumed by `createPackTransformStream`, `createUnpackTransformStream`, and the fram… - [index](./src/index.md) — **Path:** `bitpacker-streaming/src/index.ts` **Export:** See source for details. + - [default-clock](./src/defaults/default-clock.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [streaming-bit-packer](./src/streaming-bit-packer/streaming-bit-packer.md) — _(no submodules)_- streaming-bit-packer.schema — Zod schemas for the o… - - [streaming-bit-packer](./src/streaming-bit-packer/streaming-bit-packer.md) — _(no submodules)_- streaming-bit-packer.schema — Zod schemas for the o… - - [streaming-bit-packer.schema](./src/streaming-bit-packer/streaming-bit-packer.schema.md) — Zod schemas for the option bundles consumed by `StreamingBitPacker` and its peer streaming helpers (`packStream`, `unpa… + +- [streaming-bit-packer](./src/streaming-bit-packer/streaming-bit-packer.md) — _(no submodules)_- streaming-bit-packer.schema — Zod schemas for the o… +- [streaming-bit-packer.schema](./src/streaming-bit-packer/streaming-bit-packer.schema.md) — Zod schemas for the option bundles consumed by `StreamingBitPacker` and its peer streaming helpers (`packStream`, `unpa… - [transform](./src/transform/transform.md) — _(no submodules)_- transform.schema — Zod schemas for the option bundl… - [transform](./src/transform/transform.md) — _(no submodules)_- transform.schema — Zod schemas for the option bundl… - [transform.schema](./src/transform/transform.schema.md) — Zod schemas for the option bundles consumed by `createPackTransformStream`, `createUnpackTransformStream`, and the fram… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/streaming-bit-packer/streaming-bit-packer.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/streaming-bit-packer/streaming-bit-packer.md index 55b1e49..abeb6bd 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/streaming-bit-packer/streaming-bit-packer.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/streaming-bit-packer/streaming-bit-packer.md @@ -3,6 +3,7 @@ _(no submodules)_ - streaming-bit-packer.schema — Zod schemas for the o… + - [streaming-bit-packer.schema](./streaming-bit-packer.schema.md) — Zod schemas for the option bundles consumed by `StreamingBitPacker` and its peer streaming helpers (`packStream`, `unpa… - streaming-bit-packer.schema — Zod schemas for the o… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/transform/transform.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/transform/transform.md index 20f2da2..ae06b66 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/transform/transform.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-streaming/src/transform/transform.md @@ -2,6 +2,7 @@ _(no submodules)_ - transform.schema — Zod schemas for the option bundl… + - [transform.schema](./transform.schema.md) — Zod schemas for the option bundles consumed by `createPackTransformStream`, `createUnpackTransformStream`, and the fram… - transform.schema — Zod schemas for the option bundl… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/README.md index c348ece..2200380 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/README.md @@ -28,14 +28,16 @@ Safety limits and validation reports for bitpacker schemas. - [validation](./src/validation/validation.md) — _(no submodules)_ - validator — Stateful validator for a fixed `BitPack… - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. + - [instruments](./src/otel/instruments.md) — _(no submodules)_- [safety](./src/safety/safety.md) — _(no submodules)_- [safety-checks](./src/safety/safety-checks.md) — Production-time defensive checks against pathological inputs to the bitpacker — schemas with infinite recursion, arrays… - - [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… - - [safety](./src/safety/safety.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - - [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… - - [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… - - [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… - - [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… - - [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… + +- [safety-checks.schema](./src/safety/safety-checks.schema.md) — Zod schemas for the configuration types of `@suaveplan/bitpacker-validation`'s safety subsystem: `SafetyLimits` (the ab… +- [safety](./src/safety/safety.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… +- [find-array-length-errors](./src/validation/find-array-length-errors.md) — Per-array length-rule detector used by the recursive `validateData` walker. Given a `BitPackerSchema` array shape (`[sc… +- [find-extra-fields](./src/validation/find-extra-fields.md) — Extra-field detector for the object-schema branch of the recursive `validateData` walker. Given a `BitPackerSchema` obj… +- [validate-data](./src/validation/validate-data.md) — The recursive workhorse that drives every validator entry point in `@suaveplan/bitpacker-validation`. `validateData(sch… +- [validation](./src/validation/validation.md) — _(no submodules)_- validator — Stateful validator for a fixed `BitPack… +- [validator](./src/validation/validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - [index](./src/index.md) — **Path:** `bitpacker-validation/src/index.ts` **Export:** See source for details. - [register-schemas](./src/register-schemas.md) — Idempotent integration with `@suaveplan/schema-registry` for the `@suaveplan/bitpacker-validation` package. Exposes `re… - [types](./src/types.md) — Public type companions for `@suaveplan/bitpacker-validation`: the validator options bundles, the error class, the error… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/src/validation/validation.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/src/validation/validation.md index bfda067..c7e64ae 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/src/validation/validation.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker-validation/src/validation/validation.md @@ -3,6 +3,7 @@ _(no submodules)_ - validator — Stateful validator for a fixed `BitPack… + - [validator](./validator.md) — Stateful validator for a fixed `BitPackerSchema`. `BitPackerValidator` is the right choice when a high-throughput pi… - validator — Stateful validator for a fixed `BitPack… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/README.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/README.md index cd644ed..751d4a7 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/README.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/README.md @@ -91,9 +91,11 @@ Core bit-level binary packing library. Provides `BitWriter`, `BitReader`, `BitPa - [zigzag](./src/utils/zigzag.md) — **Path:** `bitpacker/src/utils/zigzag.ts` **Export:** See source for details. - [bit-schema](./src/bit-schema.md) — **Path:** `src/bit-schema.ts` **Export:** `defineBitSchema` (function) - [index](./src/index.md) — **Path:** `bitpacker/src/index.ts` **Export:** See source for details. + - index — **Path:** `bitpacker/src/bit-reader/index.t… - - [bit-reader](./src/bit-reader/bit-reader.md) — _(no submodules)_- index — **Path:** `bitpacker/src/bit-reader/index.t… - - [index](./src/bit-reader/index.md) — **Path:** `bitpacker/src/bit-reader/index.ts` **Export:** See source for details. + +- [bit-reader](./src/bit-reader/bit-reader.md) — _(no submodules)_- index — **Path:** `bitpacker/src/bit-reader/index.t… +- [index](./src/bit-reader/index.md) — **Path:** `bitpacker/src/bit-reader/index.ts` **Export:** See source for details. - [bit-writer](./src/bit-writer/bit-writer.md) — _(no submodules)_- index — **Path:** `bitpacker/src/bit-writer/index.t… - [bit-writer](./src/bit-writer/bit-writer.md) — _(no submodules)_- index — **Path:** `bitpacker/src/bit-writer/index.t… - [index](./src/bit-writer/index.md) — **Path:** `bitpacker/src/bit-writer/index.ts` **Export:** See source for details. @@ -267,4 +269,3 @@ const unpacked = bp.unpack(packed, schema); - `src/utils/zigzag.ts` — Zigzag encoding for signed integers - `src/utils/pack-bits.ts` — Batch bit packing/unpacking utilities - `src/error-codes.ts` — Structured error codes and `BitpackerError` - diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-reader/bit-reader.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-reader/bit-reader.md index 1f5696e..e1e146e 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-reader/bit-reader.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-reader/bit-reader.md @@ -2,6 +2,7 @@ _(no submodules)_ - index — **Path:** `bitpacker/src/bit-reader/index.t… + - [index](./index.md) — **Path:** `bitpacker/src/bit-reader/index.ts` **Export:** See source for details. - index — **Path:** `bitpacker/src/bit-reader/index.t… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-writer/bit-writer.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-writer/bit-writer.md index 8dffe79..18556ed 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-writer/bit-writer.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/bit-writer/bit-writer.md @@ -2,6 +2,7 @@ _(no submodules)_ - index — **Path:** `bitpacker/src/bit-writer/index.t… + - [index](./index.md) — **Path:** `bitpacker/src/bit-writer/index.ts` **Export:** See source for details. - index — **Path:** `bitpacker/src/bit-writer/index.t… diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/error-codes/error-codes.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/error-codes/error-codes.md index b5b6d26..c3d8dfa 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/error-codes/error-codes.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/error-codes/error-codes.md @@ -1,5 +1,4 @@ - _(no submodules)_ diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/packers/index.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/packers/index.md index 16b0bb6..c6331d3 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/packers/index.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/packers/index.md @@ -2,10 +2,11 @@ _(no submodules)_ - - [array-packer](./array/array-packer.md) — _(no submodules)_- [base](./base/base-packer.md) — _(no submodules)_ - [base-packer](./base/base-packer.md) — _(no submodules)_- [bigint](./bigint/bigint-packer.md) — _(no submodules)_ - [bigint-packer](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-array](./bigint-array/bigint-array-packer.md) — _(no submodules)_ - [bigint-array-packer](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bit-array](./bit-array/bit-array-packer.md) — _(no submodules)_ - [bit-array-packer](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_ - [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [boolean](./boolean/boolean-packer.md) — _(no submodules)_ - [boolean-packer](./boolean/boolean-packer.md) — _(no submodules)_- [datetime](./datetime/datetime-packer.md) — _(no submodules)_ - [datetime-packer](./datetime/datetime-packer.md) — _(no submodules)_- [enum](./enum/enum-packer.md) — _(no submodules)_ - [enum-packer](./enum/enum-packer.md) — _(no submodules)_- [float](./float/float-packer.md) — _(no submodules)_ - [float-packer](./float/float-packer.md) — _(no submodules)_- [integer](./integer/integer-packer.md) — _(no submodules)_ - [integer-packer](./integer/integer-packer.md) — _(no submodules)_- [map](./map/map-packer.md) — _(no submodules)_ - [map-packer](./map/map-packer.md) — _(no submodules)_- [set](./set/set-packer.md) — _(no submodules)_ - [set-packer](./set/set-packer.md) — _(no submodules)_- [string](./string/string-packer.md) — _(no submodules)_ - [string-packer](./string/string-packer.md) — _(no submodules)_- [uuid](./uuid/uuid-packer.md) — _(no submodules)_ - [uuid-packer](./uuid/uuid-packer.md) — _(no submodules)_- [varint](./varint/varint-packer.md) — _(no submodules)_ - [varint-packer](./varint/varint-packer.md) — _(no submodules)_- [index](./index.md) — _(no submodules)_- array-packer — _(no submodu… +- [array-packer](./array/array-packer.md) — _(no submodules)_- [base](./base/base-packer.md) — _(no submodules)_ - [base-packer](./base/base-packer.md) — _(no submodules)_- [bigint](./bigint/bigint-packer.md) — _(no submodules)_ - [bigint-packer](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-array](./bigint-array/bigint-array-packer.md) — _(no submodules)_ - [bigint-array-packer](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bit-array](./bit-array/bit-array-packer.md) — _(no submodules)_ - [bit-array-packer](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_ - [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [boolean](./boolean/boolean-packer.md) — _(no submodules)_ - [boolean-packer](./boolean/boolean-packer.md) — _(no submodules)_- [datetime](./datetime/datetime-packer.md) — _(no submodules)_ - [datetime-packer](./datetime/datetime-packer.md) — _(no submodules)_- [enum](./enum/enum-packer.md) — _(no submodules)_ - [enum-packer](./enum/enum-packer.md) — _(no submodules)_- [float](./float/float-packer.md) — _(no submodules)_ - [float-packer](./float/float-packer.md) — _(no submodules)_- [integer](./integer/integer-packer.md) — _(no submodules)_ - [integer-packer](./integer/integer-packer.md) — _(no submodules)_- [map](./map/map-packer.md) — _(no submodules)_ - [map-packer](./map/map-packer.md) — _(no submodules)_- [set](./set/set-packer.md) — _(no submodules)_ - [set-packer](./set/set-packer.md) — _(no submodules)_- [string](./string/string-packer.md) — _(no submodules)_ - [string-packer](./string/string-packer.md) — _(no submodules)_- [uuid](./uuid/uuid-packer.md) — _(no submodules)_ - [uuid-packer](./uuid/uuid-packer.md) — _(no submodules)_- [varint](./varint/varint-packer.md) — _(no submodules)_ - [varint-packer](./varint/varint-packer.md) — _(no submodules)_- [index](./index.md) — _(no submodules)_- array-packer — _(no submodu… - [array-packer](./array/array-packer.md) — _(no submodules)_- [base](./base/base-packer.md) — _(no submodules)_- [base-packer](./base/base-packer.md) — _(no submodules)_- [bigint](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-packer](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-array](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bigint-array-packer](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bit-array](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-array-packer](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [boolean](./boolean/boolean-packer.md) — _(no submodules)_- [boolean-packer](./boolean/boolean-packer.md) — _(no submodules)_- [datetime](./datetime/datetime-packer.md) — _(no submodules)_- [datetime-packer](./datetime/datetime-packer.md) — _(no submodules)_- [enum](./enum/enum-packer.md) — _(no submodules)_- [enum-packer](./enum/enum-packer.md) — _(no submodules)_- [float](./float/float-packer.md) — _(no submodules)_- [float-packer](./float/float-packer.md) — _(no submodules)_- [integer](./integer/integer-packer.md) — _(no submodules)_- [integer-packer](./integer/integer-packer.md) — _(no submodules)_- [map](./map/map-packer.md) — _(no submodules)_- [map-packer](./map/map-packer.md) — _(no submodules)_- [set](./set/set-packer.md) — _(no submodules)_- [set-packer](./set/set-packer.md) — _(no submodules)_- [string](./string/string-packer.md) — _(no submodules)_- [string-packer](./string/string-packer.md) — _(no submodules)_- [uuid](./uuid/uuid-packer.md) — _(no submodules)_- [uuid-packer](./uuid/uuid-packer.md) — _(no submodules)_- [varint](./varint/varint-packer.md) — _(no submodules)_- [varint-packer](./varint/varint-packer.md) — _(no submodules)_- [index](./index.md) — _(no submodules)_- [array-packer](./array/array-packer.md) — _(no submodules)_- [base](./base/base-packer.md) — _(no submodules)_- [base-packer](./base/base-packer.md) — _(no submodules)_- [bigint](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-packer](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-array](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bigint-array-packer](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bit-array](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-array-packer](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [boolean](./boolean/boolean-packer.md) — _(no submodules)_- [boolean-packer](./boolean/boolean-packer.md) — _(no submodules)_- [datetime](./datetime/datetime-packer.md) — _(no submodules)_- [datetime-packer](./datetime/datetime-packer.md) — _(no submodules)_- [enum](./enum/enum-packer.md) — _(no submodules)_- [enum-packer](./enum/enum-packer.md) — _(no submodules)_- [float](./float/float-packer.md) — _(no submodules)_- [float-packer](./float/float-packer.md) — _(no submodules)_- [integer](./integer/integer-packer.md) — _(no submodules)_- [integer-packer](./integer/integer-packer.md) — _(no submodules)_- [map](./map/map-packer.md) — _(no submodules)_- [map-packer](./map/map-packer.md) — _(no submodules)_- [set](./set/set-packer.md) — _(no submodules)_- [set-packer](./set/set-packer.md) — _(no submodules)_- [string](./string/string-packer.md) — _(no submodules)_- [string-packer](./string/string-packer.md) — _(no submodules)_- [uuid](./uuid/uuid-packer.md) — _(no submodules)_- [uuid-packer](./uuid/uuid-packer.md) — _(no submodules)_- [varint](./varint/varint-packer.md) — _(no submodules)_- [varint-packer](./varint/varint-packer.md) — _(no submodules)_- [index](./index.md) — _(no submodules)_- array-packer — _(no submodules)_- [base](./base/base-packer.md) — _(no submodules)_- [base-packer](./base/base-packer.md) — _(no submodules)_- [bigint](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-packer](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-array](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bigint-array-packer](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bit-array](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-array-packer](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [boolean](./boolean/boolean-packer.md) — _(no submodules)_- [boolean-packer](./boolean/boolean-packer.md) — _(no submodules)_- [datetime](./datetime/datetime-packer.md) — _(no submodules)_- [datetime-packer](./datetime/datetime-packer.md) — _(no submodules)_- [enum](./enum/enum-packer.md) — _(no submodules)_- [enum-packer](./enum/enum-packer.md) — _(no submodules)_- [float](./float/float-packer.md) — _(no submodules)_- [float-packer](./float/float-packer.md) — _(no submodules)_- [integer](./integer/integer-packer.md) — _(no submodules)_- [integer-packer](./integer/integer-packer.md) — _(no submodules)_- [map](./map/map-packer.md) — _(no submodules)_- [map-packer](./map/map-packer.md) — _(no submodules)_- [set](./set/set-packer.md) — _(no submodules)_- [set-packer](./set/set-packer.md) — _(no submodules)_- [string](./string/string-packer.md) — _(no submodules)_- [string-packer](./string/string-packer.md) — _(no submodules)_- [uuid](./uuid/uuid-packer.md) — _(no submodules)_- [uuid-packer](./uuid/uuid-packer.md) — _(no submodules)_- [varint](./varint/varint-packer.md) — _(no submodules)_- [varint-packer](./varint/varint-packer.md) — _(no submodules)_- [index](./index.md) — _(no submodules)_- array-packer — _(no submod… - [array-packer](./array/array-packer.md) — _(no submodules)_- [base](./base/base-packer.md) — _(no submodules)_ - [base-packer](./base/base-packer.md) — _(no submodules)_- [bigint](./bigint/bigint-packer.md) — _(no submodules)_ - [bigint-packer](./bigint/bigint-packer.md) — _(no submodules)_- [bigint-array](./bigint-array/bigint-array-packer.md) — _(no submodules)_ - [bigint-array-packer](./bigint-array/bigint-array-packer.md) — _(no submodules)_- [bit-array](./bit-array/bit-array-packer.md) — _(no submodules)_ - [bit-array-packer](./bit-array/bit-array-packer.md) — _(no submodules)_- [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_ - [bit-operations](./bit-operations/bit-operations.md) — _(no submodules)_- [boolean](./boolean/boolean-packer.md) — _(no submodules)_ - [boolean-packer](./boolean/boolean-packer.md) — _(no submodules)_- [datetime](./datetime/datetime-packer.md) — _(no submodules)_ - [datetime-packer](./datetime/datetime-packer.md) — _(no submodules)_- [enum](./enum/enum-packer.md) — _(no submodules)_ - [enum-packer](./enum/enum-packer.md) — _(no submodules)_- [float](./float/float-packer.md) — _(no submodules)_ - [float-packer](./float/float-packer.md) — _(no submodules)_- [integer](./integer/integer-packer.md) — _(no submodules)_ - [integer-packer](./integer/integer-packer.md) — _(no submodules)_- [map](./map/map-packer.md) — _(no submodules)_ - [map-packer](./map/map-packer.md) — _(no submodules)_- [set](./set/set-packer.md) — _(no submodules)_ - [set-packer](./set/set-packer.md) — _(no submodules)_- [string](./string/string-packer.md) — _(no submodules)_ - [string-packer](./string/string-packer.md) — _(no submodules)_- [uuid](./uuid/uuid-packer.md) — _(no submodules)_ - [uuid-packer](./uuid/uuid-packer.md) — _(no submodules)_- [varint](./varint/varint-packer.md) — _(no submodules)_ - [varint-packer](./varint/varint-packer.md) — _(no submodules)_- [index](./index.md) — _(no submodules)_ + ## Packers **Path:** `src/packers/index.ts` diff --git a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/utils/utils.md b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/utils/utils.md index b27c8be..99da97d 100644 --- a/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/utils/utils.md +++ b/plugins/document-navigator/docs/foundation/bitpacker/bitpacker/src/utils/utils.md @@ -2,6 +2,7 @@ _(no submodules)_ - zigzag — **Path:** `bitpacker/src/utils/zigzag.ts`…… + - [zigzag](./zigzag.md) — **Path:** `bitpacker/src/utils/zigzag.ts` **Export:** See source for details. - zigzag — **Path:** `bitpacker/src/utils/zigzag.ts`…… diff --git a/plugins/document-navigator/docs/foundation/core/config/README.md b/plugins/document-navigator/docs/foundation/core/config/README.md index a72fe4b..134ae54 100644 --- a/plugins/document-navigator/docs/foundation/core/config/README.md +++ b/plugins/document-navigator/docs/foundation/core/config/README.md @@ -25,7 +25,9 @@ Layered configuration management for Suaveplan. Resolves an ordered set of typed - [schemas](./src/types/schemas.md) — This module exposes Zod schemas for every public options interface in `@suaveplan/config`. Using these schemas, callers… - [mask](./src/utils/mask.md) — This module provides low-level dot-notation path traversal utilities (`getByPath`, `setByPath`, `hasByPath`) and the `m… - [merge](./src/utils/merge.md) — This module provides two functions that form the merge backbone of the config pipeline: `deepMerge` performs a structur… + - [config-builder](./src/core/config-builder/config-builder.md) — _(no submodules)_- [config-store](./src/core/config-store/config-store.md) — _(no submodules)_- [config-store](./src/core/config-store/config-store.md) — _(no submodules)_- [cli-layer](./src/layers/cli-layer/cli-layer.md) — _(no submodules)_- [cli-layer](./src/layers/cli-layer/cli-layer.md) — _(no submodules)_- [defaults-layer](./src/layers/defaults-layer/defaults-layer.md) — _(no submodules)_- [defaults-layer](./src/layers/defaults-layer/defaults-layer.md) — _(no submodules)_- [env-layer](./src/layers/env-layer/env-layer.md) — _(no submodules)_- [env-layer](./src/layers/env-layer/env-layer.md) — _(no submodules)_- [file-layer](./src/layers/file-layer/file-layer.md) — _(no submodules)_- [file-layer](./src/layers/file-layer/file-layer.md) — _(no submodules)_- [object-layer](./src/layers/object-layer/object-layer.md) — _(no submodules)_- [object-layer](./src/layers/object-layer/object-layer.md) — _(no submodules)_- [common](./src/types/common.md) — This module defines every public TypeScript interface and type alias used across the `@suaveplan/config` package. It is… + - [schemas](./src/types/schemas.md) — This module exposes Zod schemas for every public options interface in `@suaveplan/config`. Using these schemas, callers… - [mask](./src/utils/mask.md) — This module provides low-level dot-notation path traversal utilities (`getByPath`, `setByPath`, `hasByPath`) and the `m… - [merge](./src/utils/merge.md) — This module provides two functions that form the merge backbone of the config pipeline: `deepMerge` performs a structur… @@ -181,4 +183,3 @@ Run with `bun run bench`. | `mergeLayers` 20 layers | TBD | _Run `bun run bench` to populate these numbers on your hardware._ - diff --git a/plugins/document-navigator/docs/foundation/core/env/README.md b/plugins/document-navigator/docs/foundation/core/env/README.md index 988d05a..aaf0eda 100644 --- a/plugins/document-navigator/docs/foundation/core/env/README.md +++ b/plugins/document-navigator/docs/foundation/core/env/README.md @@ -49,7 +49,9 @@ Type-safe, schema-first environment variable loading for Node.js and edge runtim - [common](./src/types/common.md) — _(no submodules)_ - [utils](./src/utils/interpolation.md) — _(no submodules)_ - [interpolation](./src/utils/interpolation.md) — _(no submodules)_ + - [create-env](./src/core/create-env/create-env.md) — _(no submodules)_- [field](./src/core/field/field.md) — _(no submodules)_- [field](./src/core/field/field.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_- [env-error](./src/errors/env-error.md) — Provides the complete error class hierarchy and a value-object factory for `@suaveplan/env`. All classes extend `Suavep… + - [error-codes](./src/errors/error-codes.md) — Defines and registers all stable error codes for the `@suaveplan/env` package using the `defineCodes` factory from `@su… - [array-field](./src/fields/array-field/array-field.md) — _(no submodules)_- [array-field](./src/fields/array-field/array-field.md) — _(no submodules)_- [boolean-field](./src/fields/boolean-field/boolean-field.md) — _(no submodules)_- [boolean-field](./src/fields/boolean-field/boolean-field.md) — _(no submodules)_- [email-field](./src/fields/email-field/email-field.md) — _(no submodules)_- [email-field](./src/fields/email-field/email-field.md) — _(no submodules)_- [enum-field](./src/fields/enum-field/enum-field.md) — _(no submodules)_- [enum-field](./src/fields/enum-field/enum-field.md) — _(no submodules)_- [json-field](./src/fields/json-field/json-field.md) — _(no submodules)_- [json-field](./src/fields/json-field/json-field.md) — _(no submodules)_- [number-field](./src/fields/number-field/number-field.md) — _(no submodules)_- [number-field](./src/fields/number-field/number-field.md) — _(no submodules)_- [port-field](./src/fields/port-field/port-field.md) — _(no submodules)_- [port-field](./src/fields/port-field/port-field.md) — _(no submodules)_- [string-field](./src/fields/string-field/string-field.md) — _(no submodules)_- [string-field](./src/fields/string-field/string-field.md) — _(no submodules)_- [url-field](./src/fields/url-field/url-field.md) — _(no submodules)_- [url-field](./src/fields/url-field/url-field.md) — _(no submodules)_- [dotenv](./src/loaders/dotenv/dotenv.md) — _(no submodules)_- [dotenv](./src/loaders/dotenv/dotenv.md) — _(no submodules)_- [object](./src/loaders/object/object.md) — _(no submodules)_- [object](./src/loaders/object/object.md) — _(no submodules)_- [common](./src/presets/common/common.md) — _(no submodules)_- [common](./src/presets/common/common.md) — _(no submodules)_- [server](./src/presets/server/server.md) — _(no submodules)_- [server](./src/presets/server/server.md) — _(no submodules)_- [schemas](./src/schemas/env.schemas.md) — _(no submodules)_- [env.schemas](./src/schemas/env.schemas.md) — _(no submodules)_- [coerce](./src/transforms/coerce/coerce.md) — _(no submodules)_- [coerce](./src/transforms/coerce/coerce.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/interpolation.md) — _(no submodules)_- [interpolation](./src/utils/interpolation.md) — _(no submodules)_- [create-env](./src/core/create-env/create-env.md) — _(no submodules)_- [field](./src/core/field/field.md) — _(no submodules)_- [field](./src/core/field/field.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_- [env-error](./src/errors/env-error.md) — Provides the complete error class hierarchy and a value-object factory for `@suaveplan/env`. All classes extend `Suavep… - [error-codes](./src/errors/error-codes.md) — Defines and registers all stable error codes for the `@suaveplan/env` package using the `defineCodes` factory from `@su… @@ -58,6 +60,7 @@ Type-safe, schema-first environment variable loading for Node.js and edge runtim - [array-field](./src/fields/array-field/array-field.md) — _(no submodules)_- [array-field](./src/fields/array-field/array-field.md) — _(no submodules)_- [boolean-field](./src/fields/boolean-field/boolean-field.md) — _(no submodules)_- [boolean-field](./src/fields/boolean-field/boolean-field.md) — _(no submodules)_- [email-field](./src/fields/email-field/email-field.md) — _(no submodules)_- [email-field](./src/fields/email-field/email-field.md) — _(no submodules)_- [enum-field](./src/fields/enum-field/enum-field.md) — _(no submodules)_- [enum-field](./src/fields/enum-field/enum-field.md) — _(no submodules)_- [json-field](./src/fields/json-field/json-field.md) — _(no submodules)_- [json-field](./src/fields/json-field/json-field.md) — _(no submodules)_- [number-field](./src/fields/number-field/number-field.md) — _(no submodules)_- [number-field](./src/fields/number-field/number-field.md) — _(no submodules)_- [port-field](./src/fields/port-field/port-field.md) — _(no submodules)_- [port-field](./src/fields/port-field/port-field.md) — _(no submodules)_- [string-field](./src/fields/string-field/string-field.md) — _(no submodules)_- [string-field](./src/fields/string-field/string-field.md) — _(no submodules)_- [url-field](./src/fields/url-field/url-field.md) — _(no submodules)_- [url-field](./src/fields/url-field/url-field.md) — _(no submodules)_- [dotenv](./src/loaders/dotenv/dotenv.md) — _(no submodules)_- [dotenv](./src/loaders/dotenv/dotenv.md) — _(no submodules)_- [object](./src/loaders/object/object.md) — _(no submodules)_- [object](./src/loaders/object/object.md) — _(no submodules)_- [common](./src/presets/common/common.md) — _(no submodules)_- [common](./src/presets/common/common.md) — _(no submodules)_- [server](./src/presets/server/server.md) — _(no submodules)_- [server](./src/presets/server/server.md) — _(no submodules)_- [schemas](./src/schemas/env.schemas.md) — _(no submodules)_- [env.schemas](./src/schemas/env.schemas.md) — _(no submodules)_- [coerce](./src/transforms/coerce/coerce.md) — _(no submodules)_- [coerce](./src/transforms/coerce/coerce.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/interpolation.md) — _(no submodules)_- [interpolation](./src/utils/interpolation.md) — _(no submodules)_- [create-env](./src/core/create-env/create-env.md) — _(no submodules)_- [field](./src/core/field/field.md) — _(no submodules)_ - [field](./src/core/field/field.md) — _(no submodules)_- [validator](./src/core/validator/validator.md) — _(no submodules)_ - [validator](./src/core/validator/validator.md) — _(no submodules)_- [env-error](./src/errors/env-error.md) — Provides the complete error class hierarchy and a value-object factory for `@suaveplan/env`. All classes extend `Suavep… - [error-codes](./src/errors/error-codes.md) — Defines and registers all stable error codes for the `@suaveplan/env` package using the `defineCodes` factory from `@su… - [array-field](./src/fields/array-field/array-field.md) — _(no submodules)_ - [array-field](./src/fields/array-field/array-field.md) — _(no submodules)_- [boolean-field](./src/fields/boolean-field/boolean-field.md) — _(no submodules)_ - [boolean-field](./src/fields/boolean-field/boolean-field.md) — _(no submodules)_- [email-field](./src/fields/email-field/email-field.md) — _(no submodules)_ - [email-field](./src/fields/email-field/email-field.md) — _(no submodules)_- [enum-field](./src/fields/enum-field/enum-field.md) — _(no submodules)_ - [enum-field](./src/fields/enum-field/enum-field.md) — _(no submodules)_- [json-field](./src/fields/json-field/json-field.md) — _(no submodules)_ - [json-field](./src/fields/json-field/json-field.md) — _(no submodules)_- [number-field](./src/fields/number-field/number-field.md) — _(no submodules)_ - [number-field](./src/fields/number-field/number-field.md) — _(no submodules)_- [port-field](./src/fields/port-field/port-field.md) — _(no submodules)_ - [port-field](./src/fields/port-field/port-field.md) — _(no submodules)_- [string-field](./src/fields/string-field/string-field.md) — _(no submodules)_ - [string-field](./src/fields/string-field/string-field.md) — _(no submodules)_- [url-field](./src/fields/url-field/url-field.md) — _(no submodules)_ - [url-field](./src/fields/url-field/url-field.md) — _(no submodules)_- [dotenv](./src/loaders/dotenv/dotenv.md) — _(no submodules)_ - [dotenv](./src/loaders/dotenv/dotenv.md) — _(no submodules)_- [object](./src/loaders/object/object.md) — _(no submodules)_ - [object](./src/loaders/object/object.md) — _(no submodules)_- [common](./src/presets/common/common.md) — _(no submodules)_ - [common](./src/presets/common/common.md) — _(no submodules)_- [server](./src/presets/server/server.md) — _(no submodules)_ - [server](./src/presets/server/server.md) — _(no submodules)_- [schemas](./src/schemas/env.schemas.md) — _(no submodules)_ - [env.schemas](./src/schemas/env.schemas.md) — _(no submodules)_- [coerce](./src/transforms/coerce/coerce.md) — _(no submodules)_ - [coerce](./src/transforms/coerce/coerce.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/interpolation.md) — _(no submodules)_ - [interpolation](./src/utils/interpolation.md) — _(no submodules)_ + ## Features - **Nine field builders**: `str`, `num`, `bool`, `enums`, `url`, `email`, `port`, `json`, `array` @@ -239,4 +242,3 @@ const result = FieldConfigSchema.safeParse(unknownPayload); | [`src/schemas/env.schemas.md`](src/schemas/env.schemas.md) | Zod runtime schemas | | [`src/types/common.md`](src/types/common.md) | Shared TypeScript types | | [`src/utils/interpolation.md`](src/utils/interpolation.md) | `${VAR}` interpolation utilities | - diff --git a/plugins/document-navigator/docs/foundation/core/error/README.md b/plugins/document-navigator/docs/foundation/core/error/README.md index 952554e..0655fc2 100644 --- a/plugins/document-navigator/docs/foundation/core/error/README.md +++ b/plugins/document-navigator/docs/foundation/core/error/README.md @@ -23,7 +23,9 @@ Foundation error substrate for Suaveplan. Every non-testing `@suaveplan/*` packa - [from-json](./src/serialize/from-json.md) — `fromJSON` is the decode counterpart to `toJSON`. It Zod-validates the incoming payload against `wireErrorSchema` and r… - [to-binary](./src/serialize/to-binary.md) — `toBinary` encodes any error-shaped value into a compact byte payload suitable for binary transports (message queues, W… - [to-json](./src/serialize/to-json.md) — `toJSON` serialises any error-shaped value to a wire-safe plain object that round-trips losslessly back through `fromJS… + - [walk-causes](./src/causes/walk-causes.md) — _(no submodules)_- [define-codes](./src/codes/define-codes.md) — `defineCodes` is the canonical way to declare a stable, literal-typed error code registry for a package. It takes a nam… + - [error-codes](./src/codes/error-codes.md) — `ERROR_CODES` is the package-local registry for `@suaveplan/error` itself. It enumerates every failure mode the foundat… - [i18n](./src/i18n/resolver.md) — _(no submodules)_- [resolver](./src/i18n/resolver.md) — _(no submodules)_- [otel](./src/otel/to-span-event.md) — _(no submodules)_- [to-span-event](./src/otel/to-span-event.md) — _(no submodules)_- [redact](./src/redact/sensitive.md) — _(no submodules)_- [sensitive](./src/redact/sensitive.md) — _(no submodules)_- [from-binary](./src/serialize/from-binary.md) — `fromBinary` is the decode counterpart to `toBinary`. It accepts a `Uint8Array` produced by `toBinary` (or any compatib… - [from-json](./src/serialize/from-json.md) — `fromJSON` is the decode counterpart to `toJSON`. It Zod-validates the incoming payload against `wireErrorSchema` and r… @@ -110,4 +112,3 @@ throw new AuthError(AUTH_CODES["LOGIN.INVALID"], "error.auth.login.invalid", { bunx turbo lint typecheck test --filter=@suaveplan/error bunx turbo test:coverage --filter=@suaveplan/error ``` - diff --git a/plugins/document-navigator/docs/foundation/core/schema-registry/README.md b/plugins/document-navigator/docs/foundation/core/schema-registry/README.md index 434c0eb..59ccb34 100644 --- a/plugins/document-navigator/docs/foundation/core/schema-registry/README.md +++ b/plugins/document-navigator/docs/foundation/core/schema-registry/README.md @@ -13,7 +13,9 @@ Versioned schema registry with forward/backward/full compatibility checking for - [schema-registry](./src/core/registry/schema-registry.md) — _(no submodules)_ - [errors](./src/errors/schema-registry-error.md) — _(no submodules)_ - [schema-registry-error](./src/errors/schema-registry-error.md) — _(no submodules)_ + - [compatibility](./src/core/compatibility/compatibility.md) — _(no submodules)_- [registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [schema-registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [errors](./src/errors/schema-registry-error.md) — _(no submodules)_- [schema-registry-error](./src/errors/schema-registry-error.md) — _(no submodules)_- [compatibility](./src/core/compatibility/compatibility.md) — _(no submodules)_- [registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [schema-registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [errors](./src/errors/schema-registry-error.md) — _(no submodules)_- [schema-registry-error](./src/errors/schema-registry-error.md) — _(no submodules)_- [compatibility](./src/core/compatibility/compatibility.md) — _(no submodules)_- [registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [schema-registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [errors](./src/errors/schema-registry-error.md) — _(no submodules)_- [schema-registry-error](./src/errors/schema-registry-error.md) — _(no submodules)_- [compatibility](./src/core/compatibility/compatibility.md) — _(no submodules)_- [registry](./src/core/registry/schema-registry.md) — _(no submodules)_ - [schema-registry](./src/core/registry/schema-registry.md) — _(no submodules)_- [errors](./src/errors/schema-registry-error.md) — _(no submodules)_ - [schema-registry-error](./src/errors/schema-registry-error.md) — _(no submodules)_ + ## Features - **Versioned storage** — schemas are registered per subject with auto-incremented versions diff --git a/plugins/document-navigator/docs/foundation/core/types/README.md b/plugins/document-navigator/docs/foundation/core/types/README.md index 307a03d..69c9210 100644 --- a/plugins/document-navigator/docs/foundation/core/types/README.md +++ b/plugins/document-navigator/docs/foundation/core/types/README.md @@ -114,4 +114,3 @@ It's also the only `@suaveplan/*` dependency the three testing-infrastructure pa - Any `.js` file exceeds 200 bytes - Any `.js` file contains a `function`, `class`, `const ... =`, `let`, or `var` declaration - `dependencies` or `peerDependencies` grow beyond empty - diff --git a/plugins/document-navigator/docs/foundation/core/utils/README.md b/plugins/document-navigator/docs/foundation/core/utils/README.md index 6ce8789..7ebbb01 100644 --- a/plugins/document-navigator/docs/foundation/core/utils/README.md +++ b/plugins/document-navigator/docs/foundation/core/utils/README.md @@ -31,7 +31,9 @@ Zero-external-dependency utility library for Suaveplan. Covers debug helpers, de - [validate](./src/validate/validate.md) — _(no submodules)_ - [validation](./src/validation/size.md) — _(no submodules)_ - [size](./src/validation/size.md) — _(no submodules)_ + - [debug](./src/debug/debug.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_- [errors](./src/errors/utils-error.md) — _(no submodules)_- [utils-error](./src/errors/utils-error.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_- [random](./src/random/pseudo.md) — _(no submodules)_- [pseudo](./src/random/pseudo.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_- [validation](./src/validation/size.md) — _(no submodules)_- [size](./src/validation/size.md) — _(no submodules)_- [debug](./src/debug/debug.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_- [errors](./src/errors/utils-error.md) — _(no submodules)_- [utils-error](./src/errors/utils-error.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_- [random](./src/random/pseudo.md) — _(no submodules)_- [pseudo](./src/random/pseudo.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_- [validation](./src/validation/size.md) — _(no submodules)_- [size](./src/validation/size.md) — _(no submodules)_- [debug](./src/debug/debug.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_- [errors](./src/errors/utils-error.md) — _(no submodules)_- [utils-error](./src/errors/utils-error.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_- [random](./src/random/pseudo.md) — _(no submodules)_- [pseudo](./src/random/pseudo.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_- [validation](./src/validation/size.md) — _(no submodules)_- [size](./src/validation/size.md) — _(no submodules)_- [debug](./src/debug/debug.md) — _(no submodules)_- [email](./src/email/email.md) — _(no submodules)_ - [email](./src/email/email.md) — _(no submodules)_- [errors](./src/errors/utils-error.md) — _(no submodules)_ - [utils-error](./src/errors/utils-error.md) — _(no submodules)_- [number](./src/number/number.md) — _(no submodules)_ - [number](./src/number/number.md) — _(no submodules)_- [object](./src/object/object.md) — _(no submodules)_ - [object](./src/object/object.md) — _(no submodules)_- [platform](./src/platform/platform.md) — _(no submodules)_ - [platform](./src/platform/platform.md) — _(no submodules)_- [random](./src/random/pseudo.md) — _(no submodules)_ - [pseudo](./src/random/pseudo.md) — _(no submodules)_- [sound](./src/sound/sound.md) — _(no submodules)_ - [sound](./src/sound/sound.md) — _(no submodules)_- [string](./src/string/string.md) — _(no submodules)_ - [string](./src/string/string.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_- [validate](./src/validate/validate.md) — _(no submodules)_ - [validate](./src/validate/validate.md) — _(no submodules)_- [validation](./src/validation/size.md) — _(no submodules)_ - [size](./src/validation/size.md) — _(no submodules)_ + ## Install ```bash @@ -115,4 +117,3 @@ Run benchmarks locally: bun benchmarks/object.bench.ts bun benchmarks/number.bench.ts ``` - diff --git a/plugins/document-navigator/docs/foundation/data/bytes/README.md b/plugins/document-navigator/docs/foundation/data/bytes/README.md index 785cdef..ddc1be3 100644 --- a/plugins/document-navigator/docs/foundation/data/bytes/README.md +++ b/plugins/document-navigator/docs/foundation/data/bytes/README.md @@ -17,7 +17,9 @@ Low-level byte utilities for Suaveplan: lossless hex/base64/UTF-8 encoding, `Uin - [uint8](./src/uint8/uint8.md) — _(no submodules)_ - [uuid](./src/uuid/uuid.md) — _(no submodules)_ - [uuid](./src/uuid/uuid.md) — _(no submodules)_ + - [encoding](./src/encoding/encoding.md) — _(no submodules)_- [errors](./src/errors/bytes-error.md) — _(no submodules)_- [bytes-error](./src/errors/bytes-error.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_- [encoding](./src/encoding/encoding.md) — _(no submodules)_- [errors](./src/errors/bytes-error.md) — _(no submodules)_- [bytes-error](./src/errors/bytes-error.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_- [encoding](./src/encoding/encoding.md) — _(no submodules)_- [errors](./src/errors/bytes-error.md) — _(no submodules)_- [bytes-error](./src/errors/bytes-error.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_- [encoding](./src/encoding/encoding.md) — _(no submodules)_- [errors](./src/errors/bytes-error.md) — _(no submodules)_ - [bytes-error](./src/errors/bytes-error.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_- [uint8](./src/uint8/uint8.md) — _(no submodules)_ - [uint8](./src/uint8/uint8.md) — _(no submodules)_- [uuid](./src/uuid/uuid.md) — _(no submodules)_ - [uuid](./src/uuid/uuid.md) — _(no submodules)_ + ## Install ```bash @@ -92,4 +94,3 @@ bytesToBase64 (64 KB) 983.62 µs/iter | `BYTES.UINT8.FORMAT_MISMATCH` | `validateInputTypeFormat` — type/format clash | | `BYTES.UUID.INVALID_FORMAT` | `uuidToUint8Array` — malformed UUID string | | `BYTES.UUID.INVALID_LENGTH` | `uint8ArrayToUuid` — not 16 bytes | - diff --git a/plugins/document-navigator/docs/foundation/data/clipboard/README.md b/plugins/document-navigator/docs/foundation/data/clipboard/README.md index fe71c29..d1f11f6 100644 --- a/plugins/document-navigator/docs/foundation/data/clipboard/README.md +++ b/plugins/document-navigator/docs/foundation/data/clipboard/README.md @@ -89,4 +89,3 @@ if (!result.success) { ## License MIT - diff --git a/plugins/document-navigator/docs/foundation/data/data-masking/README.md b/plugins/document-navigator/docs/foundation/data/data-masking/README.md index 7a55fbf..7a0dfa0 100644 --- a/plugins/document-navigator/docs/foundation/data/data-masking/README.md +++ b/plugins/document-navigator/docs/foundation/data/data-masking/README.md @@ -26,7 +26,9 @@ nested traversal, eight masking strategies, and OpenTelemetry instrumentation. - [mask-types](./src/types/mask-types.md) — _(no submodules)_ - [utils](./src/utils/path-matcher.md) — _(no submodules)_ - [path-matcher](./src/utils/path-matcher.md) — _(no submodules)_ + - [object-masker](./src/core/masker/object-masker.md) — _(no submodules)_- [errors](./src/errors/data-masking-error.md) — _(no submodules)_- [data-masking-error](./src/errors/data-masking-error.md) — _(no submodules)_- [schemas](./src/schemas/mask-rule.schema.md) — _(no submodules)_- [mask-rule.schema](./src/schemas/mask-rule.schema.md) — _(no submodules)_- [credit-card](./src/strategies/credit-card.md) — The `credit-card` masking strategy produces the PCI-DSS-compatible truncation format for payment card numbers: last 4 d… + - [email](./src/strategies/email.md) — The `email` masking strategy anonymises email addresses while keeping the output immediately recognisable as an email a… - [full](./src/strategies/full.md) — The `full` masking strategy completely replaces an input string with a configurable replacement sentinel. It is the mos… - [hash](./src/strategies/hash.md) — The `hash` masking strategy produces a deterministic, fixed-length 8-character hexadecimal token from any input string… @@ -59,6 +61,7 @@ nested traversal, eight masking strategies, and OpenTelemetry instrumentation. - [preserve-format](./src/strategies/preserve-format.md) — The `preserve-format` masking strategy replaces every alphanumeric character with a placeholder of the same character c… - [tokenize](./src/strategies/tokenize.md) — The `tokenize` masking strategy replaces a sensitive value with a structured opaque token of the form `TOKEN_… - [types](./src/types/mask-types.md) — _(no submodules)_ - [mask-types](./src/types/mask-types.md) — _(no submodules)_- [utils](./src/utils/path-matcher.md) — _(no submodules)_ - [path-matcher](./src/utils/path-matcher.md) — _(no submodules)_ + ## Installation ```bash diff --git a/plugins/document-navigator/docs/foundation/data/dedup/README.md b/plugins/document-navigator/docs/foundation/data/dedup/README.md index 75242f8..7c36205 100644 --- a/plugins/document-navigator/docs/foundation/data/dedup/README.md +++ b/plugins/document-navigator/docs/foundation/data/dedup/README.md @@ -17,7 +17,9 @@ Entity deduplication engine for detecting and merging duplicate records in any d - [dedup-error](./src/errors/dedup-error.md) — _(no submodules)_ - [schemas](./src/schemas/dedup.schema.md) — _(no submodules)_ - [dedup.schema](./src/schemas/dedup.schema.md) — _(no submodules)_ + - [dedup-engine](./src/core/engine/dedup-engine.md) — _(no submodules)_- [merge](./src/core/merge/merge-strategies.md) — _(no submodules)_- [merge-strategies](./src/core/merge/merge-strategies.md) — _(no submodules)_- [scoring](./src/core/scoring/similarity.md) — _(no submodules)_- [similarity](./src/core/scoring/similarity.md) — _(no submodules)_- [errors](./src/errors/dedup-error.md) — _(no submodules)_- [dedup-error](./src/errors/dedup-error.md) — _(no submodules)_- [schemas](./src/schemas/dedup.schema.md) — _(no submodules)_- [dedup.schema](./src/schemas/dedup.schema.md) — _(no submodules)_- [dedup-engine](./src/core/engine/dedup-engine.md) — _(no submodules)_- [merge](./src/core/merge/merge-strategies.md) — _(no submodules)_- [merge-strategies](./src/core/merge/merge-strategies.md) — _(no submodules)_- [scoring](./src/core/scoring/similarity.md) — _(no submodules)_- [similarity](./src/core/scoring/similarity.md) — _(no submodules)_- [errors](./src/errors/dedup-error.md) — _(no submodules)_- [dedup-error](./src/errors/dedup-error.md) — _(no submodules)_- [schemas](./src/schemas/dedup.schema.md) — _(no submodules)_- [dedup.schema](./src/schemas/dedup.schema.md) — _(no submodules)_- [dedup-engine](./src/core/engine/dedup-engine.md) — _(no submodules)_- [merge](./src/core/merge/merge-strategies.md) — _(no submodules)_- [merge-strategies](./src/core/merge/merge-strategies.md) — _(no submodules)_- [scoring](./src/core/scoring/similarity.md) — _(no submodules)_- [similarity](./src/core/scoring/similarity.md) — _(no submodules)_- [errors](./src/errors/dedup-error.md) — _(no submodules)_- [dedup-error](./src/errors/dedup-error.md) — _(no submodules)_- [schemas](./src/schemas/dedup.schema.md) — _(no submodules)_- [dedup.schema](./src/schemas/dedup.schema.md) — _(no submodules)_- [dedup-engine](./src/core/engine/dedup-engine.md) — _(no submodules)_- [merge](./src/core/merge/merge-strategies.md) — _(no submodules)_ - [merge-strategies](./src/core/merge/merge-strategies.md) — _(no submodules)_- [scoring](./src/core/scoring/similarity.md) — _(no submodules)_ - [similarity](./src/core/scoring/similarity.md) — _(no submodules)_- [errors](./src/errors/dedup-error.md) — _(no submodules)_ - [dedup-error](./src/errors/dedup-error.md) — _(no submodules)_- [schemas](./src/schemas/dedup.schema.md) — _(no submodules)_ - [dedup.schema](./src/schemas/dedup.schema.md) — _(no submodules)_ + ## Modules | Module | Description | diff --git a/plugins/document-navigator/docs/foundation/data/diff/README.md b/plugins/document-navigator/docs/foundation/data/diff/README.md index dbe3056..198a0f7 100644 --- a/plugins/document-navigator/docs/foundation/data/diff/README.md +++ b/plugins/document-navigator/docs/foundation/data/diff/README.md @@ -23,7 +23,9 @@ Zero-dependency RFC 6902 JSON Patch engine for computing, applying, and invertin - [sync](./src/sync/sync.md) — _(no submodules)_ - [utils](./src/utils/utils.md) — _(no submodules)_ - [utils](./src/utils/utils.md) — _(no submodules)_ + - [diff](./src/diff/diff.md) — _(no submodules)_- [errors](./src/errors/diff-error.md) — _(no submodules)_- [diff-error](./src/errors/diff-error.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_- [diff](./src/diff/diff.md) — _(no submodules)_- [errors](./src/errors/diff-error.md) — _(no submodules)_- [diff-error](./src/errors/diff-error.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_- [diff](./src/diff/diff.md) — _(no submodules)_- [errors](./src/errors/diff-error.md) — _(no submodules)_- [diff-error](./src/errors/diff-error.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_- [diff](./src/diff/diff.md) — _(no submodules)_- [errors](./src/errors/diff-error.md) — _(no submodules)_ - [diff-error](./src/errors/diff-error.md) — _(no submodules)_- [history](./src/history/history.md) — _(no submodules)_ - [history](./src/history/history.md) — _(no submodules)_- [operations](./src/operations/operations.md) — _(no submodules)_ - [operations](./src/operations/operations.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_ - [patch](./src/patch/patch.md) — _(no submodules)_- [path](./src/path/path.md) — _(no submodules)_ - [path](./src/path/path.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_ - [sync](./src/sync/sync.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_ - [utils](./src/utils/utils.md) — _(no submodules)_ + ## Packages | Module | Description | diff --git a/plugins/document-navigator/docs/foundation/data/json/README.md b/plugins/document-navigator/docs/foundation/data/json/README.md index a25e270..1d3164a 100644 --- a/plugins/document-navigator/docs/foundation/data/json/README.md +++ b/plugins/document-navigator/docs/foundation/data/json/README.md @@ -14,7 +14,9 @@ circular-reference detection, and OpenTelemetry instrumentation. - [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [json-error](./src/errors/json-error.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [json-error](./src/errors/json-error.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [json-error](./src/errors/json-error.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [json-error](./src/errors/json-error.md) — _(no submodules)_- [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_ - [safe-json](./src/safe-json/safe-json.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash @@ -120,4 +122,3 @@ In production with a no-op tracer the spans cost ~0 ns. - [`src/safe-json/safe-json.md`](src/safe-json/safe-json.md) — implementation notes - [`src/errors/json-error.md`](src/errors/json-error.md) — error codes - [`src/types/types.md`](src/types/types.md) — option types - diff --git a/plugins/document-navigator/docs/foundation/data/media/README.md b/plugins/document-navigator/docs/foundation/data/media/README.md index 7eaf37f..471325e 100644 --- a/plugins/document-navigator/docs/foundation/data/media/README.md +++ b/plugins/document-navigator/docs/foundation/data/media/README.md @@ -109,4 +109,3 @@ Four counters: `media_detect_total`, `media_metadata_total`, `media_op_latency_ms`, `media_input_size_bytes`. Wire your meter via `createMediaObservability({ meter })` and thread the bundle into every call. - diff --git a/plugins/document-navigator/docs/foundation/data/mime/README.md b/plugins/document-navigator/docs/foundation/data/mime/README.md index de2a068..19c5588 100644 --- a/plugins/document-navigator/docs/foundation/data/mime/README.md +++ b/plugins/document-navigator/docs/foundation/data/mime/README.md @@ -47,19 +47,21 @@ Structured MIME-type detection, parsing, and registry for the Suaveplan platform - [reverse](./src/reverse/reverse.md) — _(no submodules)_ - [telemetry](./src/telemetry/meters.md) — _(no submodules)_ - [meters](./src/telemetry/meters.md) — _(no submodules)_ + - helpers — Low-level byte-inspection utilities used…… - - [archives](./src/detection/from-magic-bytes/signatures/archives.md) — Registers magic-byte signatures for archive and compressed file formats with the global signature registry. Covers all… - - [audio](./src/detection/from-magic-bytes/signatures/audio.md) — Registers magic-byte signatures for audio formats with the global signature registry. Covers all major audio container… - - [data](./src/detection/from-magic-bytes/signatures/data.md) — Registers magic-byte signatures for binary data and structured-data formats with the global signature registry. Covers… - - [documents](./src/detection/from-magic-bytes/signatures/documents.md) — Registers magic-byte signatures for document and data format files with the global signature registry. Covers office do… - - [executables](./src/detection/from-magic-bytes/signatures/executables.md) — Registers magic-byte signatures for executable binary formats with the global signature registry. Covers native executa… - - [fonts](./src/detection/from-magic-bytes/signatures/fonts.md) — Registers magic-byte signatures for font file formats with the global signature registry. Covers all major web font and… - - [images](./src/detection/from-magic-bytes/signatures/images.md) — Registers magic-byte signatures for image formats with the global signature registry. Covers all major raster and vecto… - - [model3d](./src/detection/from-magic-bytes/signatures/model3d.md) — Registers magic-byte signatures for 3D model file formats with the global signature registry. Covers formats used in CA… - - [video](./src/detection/from-magic-bytes/signatures/video.md) — Registers magic-byte signatures for video container formats with the global signature registry. Covers all major video… - - [from-magic-bytes](./src/detection/from-magic-bytes/from-magic-bytes.md) — _(no submodules)_- helpers — Low-level byte-inspection utilities used…… - - [helpers](./src/detection/from-magic-bytes/helpers.md) — Low-level byte-inspection utilities used by the magic-byte signature matchers. Provides helpers for common patterns: pr… - - [registry](./src/detection/from-magic-bytes/registry.md) — The mutable signature registry for magic-byte detection. Stores all registered byte-pattern matchers and provides CRUD-… + +- [archives](./src/detection/from-magic-bytes/signatures/archives.md) — Registers magic-byte signatures for archive and compressed file formats with the global signature registry. Covers all… +- [audio](./src/detection/from-magic-bytes/signatures/audio.md) — Registers magic-byte signatures for audio formats with the global signature registry. Covers all major audio container… +- [data](./src/detection/from-magic-bytes/signatures/data.md) — Registers magic-byte signatures for binary data and structured-data formats with the global signature registry. Covers… +- [documents](./src/detection/from-magic-bytes/signatures/documents.md) — Registers magic-byte signatures for document and data format files with the global signature registry. Covers office do… +- [executables](./src/detection/from-magic-bytes/signatures/executables.md) — Registers magic-byte signatures for executable binary formats with the global signature registry. Covers native executa… +- [fonts](./src/detection/from-magic-bytes/signatures/fonts.md) — Registers magic-byte signatures for font file formats with the global signature registry. Covers all major web font and… +- [images](./src/detection/from-magic-bytes/signatures/images.md) — Registers magic-byte signatures for image formats with the global signature registry. Covers all major raster and vecto… +- [model3d](./src/detection/from-magic-bytes/signatures/model3d.md) — Registers magic-byte signatures for 3D model file formats with the global signature registry. Covers formats used in CA… +- [video](./src/detection/from-magic-bytes/signatures/video.md) — Registers magic-byte signatures for video container formats with the global signature registry. Covers all major video… +- [from-magic-bytes](./src/detection/from-magic-bytes/from-magic-bytes.md) — _(no submodules)_- helpers — Low-level byte-inspection utilities used…… +- [helpers](./src/detection/from-magic-bytes/helpers.md) — Low-level byte-inspection utilities used by the magic-byte signature matchers. Provides helpers for common patterns: pr… +- [registry](./src/detection/from-magic-bytes/registry.md) — The mutable signature registry for magic-byte detection. Stores all registered byte-pattern matchers and provides CRUD-… - [detect](./src/detection/detect.md) — The unified MIME detection entry point for `@suaveplan/mime`. Merges evidence from three independent sources — magic by… - [from-content-type](./src/detection/from-content-type.md) — Detects the MIME type from a raw `Content-Type` header string. Parses the header using the full RFC 7231 parser and wra… - [from-extension](./src/detection/from-extension.md) — Detects the MIME type from a file extension or full filename. Strips path components and leading dots, normalizes to lo… @@ -287,4 +289,3 @@ This package maintains **100% statement, branch, function, and line coverage** ## License MIT - diff --git a/plugins/document-navigator/docs/foundation/data/mime/src/detection/from-magic-bytes/from-magic-bytes.md b/plugins/document-navigator/docs/foundation/data/mime/src/detection/from-magic-bytes/from-magic-bytes.md index 7e3673e..de9ce48 100644 --- a/plugins/document-navigator/docs/foundation/data/mime/src/detection/from-magic-bytes/from-magic-bytes.md +++ b/plugins/document-navigator/docs/foundation/data/mime/src/detection/from-magic-bytes/from-magic-bytes.md @@ -3,6 +3,7 @@ _(no submodules)_ - helpers — Low-level byte-inspection utilities used…… + - [helpers](./helpers.md) — Low-level byte-inspection utilities used by the magic-byte signature matchers. Provides helpers for common patterns: pr… - [registry](./registry.md) — The mutable signature registry for magic-byte detection. Stores all registered byte-pattern matchers and provides CRUD-… - helpers — Low-level byte-inspection utilities used…… diff --git a/plugins/document-navigator/docs/foundation/data/packer-browser/README.md b/plugins/document-navigator/docs/foundation/data/packer-browser/README.md index 1ff60ff..c826b60 100644 --- a/plugins/document-navigator/docs/foundation/data/packer-browser/README.md +++ b/plugins/document-navigator/docs/foundation/data/packer-browser/README.md @@ -126,4 +126,3 @@ the full out-of-scope list. ## License MIT. - diff --git a/plugins/document-navigator/docs/foundation/data/packer/README.md b/plugins/document-navigator/docs/foundation/data/packer/README.md index 2b06c4c..abbe838 100644 --- a/plugins/document-navigator/docs/foundation/data/packer/README.md +++ b/plugins/document-navigator/docs/foundation/data/packer/README.md @@ -85,7 +85,9 @@ const result = await u.unpack(packed); - [unpacker](./src/unpacker/unpacker.md) — _(no submodules)_ - [unpacker](./src/unpacker/unpacker.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the stable error code registry for `@suaveplan/packer`. Every failure surfaced by the package — invalid inputs,… + - [abstract](./src/abstract/abstract.md) — _(no submodules)_- [chunk](./src/chunked/codec/chunk.md) — Encodes and parses the wire-format v1 chunk in its entirety: `metadata(100) || sig(64) || ciphertext(payloadLen)`. Comp… + - [header](./src/chunked/codec/header.md) — Encodes and parses the 100-byte metadata portion of a v1 chunk on its own (without sig or ciphertext). Every chunk on t… - [crypto](./src/chunked/crypto/aead.md) — _(no submodules)_- [aead](./src/chunked/crypto/aead.md) — _(no submodules)_- [manifest](./src/chunked/manifest/manifest.md) — _(no submodules)_- [manifest](./src/chunked/manifest/manifest.md) — _(no submodules)_- [packer](./src/chunked/packer/packer.md) — _(no submodules)_- [packer](./src/chunked/packer/packer.md) — _(no submodules)_- [unpacker](./src/chunked/unpacker/unpacker.md) — _(no submodules)_- [unpacker](./src/chunked/unpacker/unpacker.md) — _(no submodules)_- [verifier](./src/chunked/verifier/chunk-verifier.md) — _(no submodules)_- [chunk-verifier](./src/chunked/verifier/chunk-verifier.md) — _(no submodules)_- [packer](./src/packer/packer.md) — _(no submodules)_- [packer](./src/packer/packer.md) — _(no submodules)_- [streaming](./src/streaming/normalize-source.md) — _(no submodules)_- [normalize-source](./src/streaming/normalize-source.md) — _(no submodules)_- [unpacker](./src/unpacker/unpacker.md) — _(no submodules)_- [unpacker](./src/unpacker/unpacker.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error code registry for `@suaveplan/packer`. Every failure surfaced by the package — invalid inputs,… - [abstract](./src/abstract/abstract.md) — _(no submodules)_- [chunk](./src/chunked/codec/chunk.md) — Encodes and parses the wire-format v1 chunk in its entirety: `metadata(100) || sig(64) || ciphertext(payloadLen)`. Comp… @@ -136,4 +138,3 @@ metadata(100 B) ‖ sig(64 B) ‖ ciphertext(payloadLen B) ``` See the specification for the byte-exact field offsets pinned in `PACKER-CHUNK-01`. - diff --git a/plugins/document-navigator/docs/foundation/data/packer/src/chunked/manifest/manifest.md b/plugins/document-navigator/docs/foundation/data/packer/src/chunked/manifest/manifest.md index 685802e..0a776c2 100644 --- a/plugins/document-navigator/docs/foundation/data/packer/src/chunked/manifest/manifest.md +++ b/plugins/document-navigator/docs/foundation/data/packer/src/chunked/manifest/manifest.md @@ -110,7 +110,7 @@ any input that doesn't contain `undefined` or non-serializable values. The Merkle root is computed once on `buildManifest` from the already-sorted chunk list and recorded as `manifest.merkleRoot`. The signature covers it along with every `entryDigest`, so a tampered `entryDigest` or a tampered -`merkleRoot` fails signature verification *and* the explicit per-chunk +`merkleRoot` fails signature verification _and_ the explicit per-chunk integrity check inside `unpackChunksWithManifest`. The two checks are intentionally redundant — signing covers the publisher's identity, BLAKE3 covers the wire bytes themselves. diff --git a/plugins/document-navigator/docs/foundation/data/pagination/README.md b/plugins/document-navigator/docs/foundation/data/pagination/README.md index 57bb968..7a0b94c 100644 --- a/plugins/document-navigator/docs/foundation/data/pagination/README.md +++ b/plugins/document-navigator/docs/foundation/data/pagination/README.md @@ -24,8 +24,10 @@ Universal pagination primitives for cursor-based, offset-based, and keyset-based - [pagination-otel](./src/otel/pagination-otel.md) — _(no submodules)_ - [tokens](./src/tokens/page-tokens.md) — _(no submodules)_ - [page-tokens](./src/tokens/page-tokens.md) — _(no submodules)_ + - [database-adapter](./src/adapters/database-adapter.md) — _(no submodules)_- [cursor](./src/cursor/cursor.md) — _(no submodules)_- [cursor-pagination](./src/cursor/cursor-pagination.md) — The `cursor-pagination` module provides base64url cursor encoding/decoding and adapter-backed forward/backward fetch op… - - [cursor](./src/cursor/cursor.md) — _(no submodules)_- [codes](./src/errors/codes.md) — Defines and registers all stable error codes for the `@suaveplan/pagination` package using `defineCodes` from `@suavepl… + +- [cursor](./src/cursor/cursor.md) — _(no submodules)_- [codes](./src/errors/codes.md) — Defines and registers all stable error codes for the `@suaveplan/pagination` package using `defineCodes` from `@suavepl… - [pagination-error](./src/errors/pagination-error.md) — `PaginationError` is the structured error base class for all failures originating within `@suaveplan/pagination`. It ex… - [helpers](./src/helpers/helpers.md) — _(no submodules)_- [helpers](./src/helpers/helpers.md) — _(no submodules)_- [keyset](./src/keyset/keyset-pagination.md) — _(no submodules)_- [keyset-pagination](./src/keyset/keyset-pagination.md) — _(no submodules)_- [offset](./src/offset/offset.md) — _(no submodules)_- [offset](./src/offset/offset.md) — _(no submodules)_- [otel](./src/otel/pagination-otel.md) — _(no submodules)_- [pagination-otel](./src/otel/pagination-otel.md) — _(no submodules)_- [tokens](./src/tokens/page-tokens.md) — _(no submodules)_- [page-tokens](./src/tokens/page-tokens.md) — _(no submodules)_- [database-adapter](./src/adapters/database-adapter.md) — _(no submodules)_- [cursor](./src/cursor/cursor.md) — _(no submodules)_- [cursor-pagination](./src/cursor/cursor-pagination.md) — The `cursor-pagination` module provides base64url cursor encoding/decoding and adapter-backed forward/backward fetch op… - [cursor](./src/cursor/cursor.md) — _(no submodules)_- [codes](./src/errors/codes.md) — Defines and registers all stable error codes for the `@suaveplan/pagination` package using `defineCodes` from `@suavepl… @@ -37,6 +39,7 @@ Universal pagination primitives for cursor-based, offset-based, and keyset-based - [cursor](./src/cursor/cursor.md) — _(no submodules)_- [codes](./src/errors/codes.md) — Defines and registers all stable error codes for the `@suaveplan/pagination` package using `defineCodes` from `@suavepl… - [pagination-error](./src/errors/pagination-error.md) — `PaginationError` is the structured error base class for all failures originating within `@suaveplan/pagination`. It ex… - [helpers](./src/helpers/helpers.md) — _(no submodules)_ - [helpers](./src/helpers/helpers.md) — _(no submodules)_- [keyset](./src/keyset/keyset-pagination.md) — _(no submodules)_ - [keyset-pagination](./src/keyset/keyset-pagination.md) — _(no submodules)_- [offset](./src/offset/offset.md) — _(no submodules)_ - [offset](./src/offset/offset.md) — _(no submodules)_- [otel](./src/otel/pagination-otel.md) — _(no submodules)_ - [pagination-otel](./src/otel/pagination-otel.md) — _(no submodules)_- [tokens](./src/tokens/page-tokens.md) — _(no submodules)_ - [page-tokens](./src/tokens/page-tokens.md) — _(no submodules)_ + ## Install ```bash @@ -89,4 +92,3 @@ const all = await collectAll(iter); // → all 50 items | [src/otel/pagination-otel.md](src/otel/pagination-otel.md) | OTel instrumentation: `getPaginationInstruments` with request counter, page-size histogram, and encode/decode histogram; graceful no-op fallback | | [src/errors/pagination-error.md](src/errors/pagination-error.md) | `PaginationError` — structured error class extending `SuaveplanError` with `PAGINATION.*` codes | | [src/errors/codes.md](src/errors/codes.md) | `PAGINATION_CODES` constant and `PaginationCode` union type | - diff --git a/plugins/document-navigator/docs/foundation/data/pwa/README.md b/plugins/document-navigator/docs/foundation/data/pwa/README.md index 2a6d45e..c3e299e 100644 --- a/plugins/document-navigator/docs/foundation/data/pwa/README.md +++ b/plugins/document-navigator/docs/foundation/data/pwa/README.md @@ -135,4 +135,3 @@ bunx turbo test:coverage --filter=@suaveplan/pwa Targets `happy-dom` for DOM stubs and `fake-indexeddb` for `IDBFactory` in the `IndexedDbStore` conformance test. - diff --git a/plugins/document-navigator/docs/foundation/data/react-packer/README.md b/plugins/document-navigator/docs/foundation/data/react-packer/README.md index 900ec36..f37c8d2 100644 --- a/plugins/document-navigator/docs/foundation/data/react-packer/README.md +++ b/plugins/document-navigator/docs/foundation/data/react-packer/README.md @@ -89,4 +89,3 @@ singleton entirely. - [`src/hooks/use-packed-audio/use-packed-audio.md`](./src/hooks/use-packed-audio/use-packed-audio.md) - [`src/hooks/use-packed-video/use-packed-video.md`](./src/hooks/use-packed-video/use-packed-video.md) - [`src/hooks/use-packed-font/use-packed-font.md`](./src/hooks/use-packed-font/use-packed-font.md) - diff --git a/plugins/document-navigator/docs/foundation/data/react-packer/src/hooks/use-packed-resource/use-packed-resource.md b/plugins/document-navigator/docs/foundation/data/react-packer/src/hooks/use-packed-resource/use-packed-resource.md index 790bf94..ca92d5c 100644 --- a/plugins/document-navigator/docs/foundation/data/react-packer/src/hooks/use-packed-resource/use-packed-resource.md +++ b/plugins/document-navigator/docs/foundation/data/react-packer/src/hooks/use-packed-resource/use-packed-resource.md @@ -112,7 +112,7 @@ function VerifiedAsset({ participate in change detection. Inline option-object literals from callers therefore do not retrigger the effect. - `error.code` is `REACT_PACKER_ABORTED` whenever the underlying - rejection is an `AbortError` *or* a `PackerBrowserError` whose code + rejection is an `AbortError` _or_ a `PackerBrowserError` whose code is `PACKER_BROWSER_ABORTED` — both reach the catch arm. Otherwise the failure surfaces as `LOAD_FAILED` with the original error on `.cause`. diff --git a/plugins/document-navigator/docs/foundation/data/serialize/README.md b/plugins/document-navigator/docs/foundation/data/serialize/README.md index 410c1be..42bb9eb 100644 --- a/plugins/document-navigator/docs/foundation/data/serialize/README.md +++ b/plugins/document-navigator/docs/foundation/data/serialize/README.md @@ -27,7 +27,9 @@ Round-trip-preserving structured serialization for JavaScript's rich type system - [metrics](./src/observability/metrics.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_ + - [eval-safe](./src/adapters/eval-safe/eval-safe.md) — _(no submodules)_- [json-decode](./src/codec/json/json-decode.md) — Implements `deserialize`, the inverse of `serialize`. Given a tagged JSON string produced by the encoder, it reconstruc… + - [json-encode](./src/codec/json/json-encode.md) — Implements the `serialize` function that converts any JavaScript value to a tagged JSON string preserving type informat… - [msgpack-decode](./src/codec/msgpack/msgpack-decode.md) — Implements `decodeBinary`, the inverse of `encodeBinary`. Given a MessagePack binary buffer produced by the encoder, it… - [msgpack-encode](./src/codec/msgpack/msgpack-encode.md) — Implements `encodeBinary`, the MessagePack counterpart to `serialize`. It converts any JavaScript value to a compact bi… diff --git a/plugins/document-navigator/docs/foundation/data/templates/README.md b/plugins/document-navigator/docs/foundation/data/templates/README.md index e131e22..321bd8e 100644 --- a/plugins/document-navigator/docs/foundation/data/templates/README.md +++ b/plugins/document-navigator/docs/foundation/data/templates/README.md @@ -34,7 +34,9 @@ A plugin-based string template engine for TypeScript. Resolves `{variable}` and - [escape](./src/utils/escape.md) — Provides three utility functions for handling escape sequences in template strings. These are low-level primitives used… - [format](./src/utils/format.md) — Provides core formatting utilities used by the dynamic plugins: zero-padded number/string padding, date formatting with… - [nested-value](./src/utils/nested-value.md) — Provides three functions for traversing, checking, and mutating plain object trees using dot-notation or bracket-notati… + - [templates-otel](./src/otel/templates-otel.md) — _(no submodules)_- [ConditionalPlugin](./src/plugins/control/ConditionalPlugin.md) — Conditionally includes or excludes blocks of template content based on context values. The plugin evaluates a condition… + - [LoopPlugin](./src/plugins/control/LoopPlugin.md) — Iterates over an array in the context object and renders a sub-template once for each element, concatenating the result… - [CounterPlugin](./src/plugins/dynamic/CounterPlugin.md) — Provides stateful auto-incrementing counters within a single template rendering pass. Counters are scoped to the `Parse… - [DateTimePlugin](./src/plugins/dynamic/DateTimePlugin.md) — Injects current date and time values into templates using a flexible, token-based formatting syntax. Because date-time… @@ -247,4 +249,3 @@ engine.parse( ); // → "1. Alice\n2. Bob\n" ``` - diff --git a/plugins/document-navigator/docs/foundation/data/validation/README.md b/plugins/document-navigator/docs/foundation/data/validation/README.md index 0609c17..505e015 100644 --- a/plugins/document-navigator/docs/foundation/data/validation/README.md +++ b/plugins/document-navigator/docs/foundation/data/validation/README.md @@ -45,7 +45,9 @@ Runtime schema validation with a Zod-compatible API. This package is a self-cont - [validation-hooks](./src/types/validation-hooks.md) — `validation-hooks.ts` defines the lifecycle hook types for schema validation observability. These hooks allow consumers… - [coerce](./src/utils/coerce.md) — The coerce utilities allow schemas to accept a broader range of input types by converting them before validation. They… - [compose](./src/utils/compose.md) — The compose utilities provide functional combinators for working with validation results and schemas. `mergeResults` ag… + - [schema](./src/core/schema/schema.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/validation-otel.md) — _(no submodules)_- [validation-otel](./src/otel/validation-otel.md) — _(no submodules)_- [array](./src/schemas/array/array.md) — _(no submodules)_- [array](./src/schemas/array/array.md) — _(no submodules)_- [boolean](./src/schemas/boolean/boolean.md) — _(no submodules)_- [boolean](./src/schemas/boolean/boolean.md) — _(no submodules)_- [date](./src/schemas/date/date.md) — _(no submodules)_- [date](./src/schemas/date/date.md) — _(no submodules)_- [enum](./src/schemas/enum/enum.md) — _(no submodules)_- [enum](./src/schemas/enum/enum.md) — _(no submodules)_- [intersection](./src/schemas/intersection/intersection.md) — _(no submodules)_- [intersection](./src/schemas/intersection/intersection.md) — _(no submodules)_- [literal](./src/schemas/literal/literal.md) — _(no submodules)_- [literal](./src/schemas/literal/literal.md) — _(no submodules)_- [nullable](./src/schemas/nullable/nullable.md) — _(no submodules)_- [nullable](./src/schemas/nullable/nullable.md) — _(no submodules)_- [number](./src/schemas/number/number.md) — _(no submodules)_- [number](./src/schemas/number/number.md) — _(no submodules)_- [object](./src/schemas/object/object.md) — _(no submodules)_- [object](./src/schemas/object/object.md) — _(no submodules)_- [optional](./src/schemas/optional/optional.md) — _(no submodules)_- [optional](./src/schemas/optional/optional.md) — _(no submodules)_- [record](./src/schemas/record/record.md) — _(no submodules)_- [record](./src/schemas/record/record.md) — _(no submodules)_- [string](./src/schemas/string/string.md) — _(no submodules)_- [string](./src/schemas/string/string.md) — _(no submodules)_- [tuple](./src/schemas/tuple/tuple.md) — _(no submodules)_- [tuple](./src/schemas/tuple/tuple.md) — _(no submodules)_- [union](./src/schemas/union/union.md) — _(no submodules)_- [union](./src/schemas/union/union.md) — _(no submodules)_- [common](./src/types/common.md) — `common.ts` defines the core type contracts shared across the entire `@suaveplan/validation` package: validation codes,… + - [validation-hooks](./src/types/validation-hooks.md) — `validation-hooks.ts` defines the lifecycle hook types for schema validation observability. These hooks allow consumers… - [coerce](./src/utils/coerce.md) — The coerce utilities allow schemas to accept a broader range of input types by converting them before validation. They… - [compose](./src/utils/compose.md) — The compose utilities provide functional combinators for working with validation results and schemas. `mergeResults` ag… @@ -118,4 +120,3 @@ if (result.success) { - [Coerce utilities](src/utils/coerce.md) - [Compose utilities](src/utils/compose.md) - [OTel instrumentation](src/otel/validation-otel.md) - diff --git a/plugins/document-navigator/docs/foundation/data/web-workers/README.md b/plugins/document-navigator/docs/foundation/data/web-workers/README.md index 72d57ea..f7dfefe 100644 --- a/plugins/document-navigator/docs/foundation/data/web-workers/README.md +++ b/plugins/document-navigator/docs/foundation/data/web-workers/README.md @@ -93,4 +93,3 @@ manager.terminateAll(); — per-worker failure-isolating breaker. - [`./src/helpers/define-worker.md`](./src/helpers/define-worker.md) — canonical Vite/Webpack worker-bundle factory. - diff --git a/plugins/document-navigator/docs/foundation/data/web-workers/src/errors/errors.md b/plugins/document-navigator/docs/foundation/data/web-workers/src/errors/errors.md index 39f12ef..bbd0569 100644 --- a/plugins/document-navigator/docs/foundation/data/web-workers/src/errors/errors.md +++ b/plugins/document-navigator/docs/foundation/data/web-workers/src/errors/errors.md @@ -83,8 +83,8 @@ try { The metadata table is `Object.freeze`d at module load so consumers can rely on it as an immutable lookup. The `description` field is intentionally -written in past tense + active voice (e.g. *"sendRequest timed out before -the worker responded"*) — that's the canonical phrasing the error logger +written in past tense + active voice (e.g. _"sendRequest timed out before +the worker responded"_) — that's the canonical phrasing the error logger ships to consumers. Severity is `info` only for caller-initiated abort (`REQUEST_ABORTED`, `STREAM_ABORTED`); everything else is `warning` or `error`. `retryable: true` is set for transient conditions (timeout, diff --git a/plugins/document-navigator/docs/foundation/etl/etl/README.md b/plugins/document-navigator/docs/foundation/etl/etl/README.md index 7435b05..c062bbc 100644 --- a/plugins/document-navigator/docs/foundation/etl/etl/README.md +++ b/plugins/document-navigator/docs/foundation/etl/etl/README.md @@ -19,7 +19,9 @@ Extract-Transform-Load pipeline engine with typed stages, error handling, observ - [source](./src/stages/source/source.md) — _(no submodules)_ - [transform](./src/stages/transform/transform.md) — _(no submodules)_ - [transform](./src/stages/transform/transform.md) — _(no submodules)_ + - [pipeline](./src/core/pipeline/pipeline.md) — _(no submodules)_- [errors](./src/errors/etl-error.md) — _(no submodules)_- [etl-error](./src/errors/etl-error.md) — _(no submodules)_- [schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [etl.schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_- [pipeline](./src/core/pipeline/pipeline.md) — _(no submodules)_- [errors](./src/errors/etl-error.md) — _(no submodules)_- [etl-error](./src/errors/etl-error.md) — _(no submodules)_- [schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [etl.schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_- [pipeline](./src/core/pipeline/pipeline.md) — _(no submodules)_- [errors](./src/errors/etl-error.md) — _(no submodules)_- [etl-error](./src/errors/etl-error.md) — _(no submodules)_- [schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [etl.schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_- [pipeline](./src/core/pipeline/pipeline.md) — _(no submodules)_- [errors](./src/errors/etl-error.md) — _(no submodules)_ - [etl-error](./src/errors/etl-error.md) — _(no submodules)_- [schemas](./src/schemas/etl.schemas.md) — _(no submodules)_ - [etl.schemas](./src/schemas/etl.schemas.md) — _(no submodules)_- [sink](./src/stages/sink/sink.md) — _(no submodules)_ - [sink](./src/stages/sink/sink.md) — _(no submodules)_- [source](./src/stages/source/source.md) — _(no submodules)_ - [source](./src/stages/source/source.md) — _(no submodules)_- [transform](./src/stages/transform/transform.md) — _(no submodules)_ - [transform](./src/stages/transform/transform.md) — _(no submodules)_ + ## Modules - [Pipeline](src/core/pipeline/pipeline.md) — pipeline orchestrator with fluent API diff --git a/plugins/document-navigator/docs/foundation/feature-flags/feature-flags/README.md b/plugins/document-navigator/docs/foundation/feature-flags/feature-flags/README.md index 0968241..4a04b65 100644 --- a/plugins/document-navigator/docs/foundation/feature-flags/feature-flags/README.md +++ b/plugins/document-navigator/docs/foundation/feature-flags/feature-flags/README.md @@ -33,7 +33,9 @@ Provider-agnostic feature flag evaluation engine for controlling feature rollout - [common](./src/types/common.md) — _(no submodules)_ - [utils](./src/utils/hash.md) — _(no submodules)_ - [hash](./src/utils/hash.md) — _(no submodules)_ + - [evaluator](./src/core/evaluator/evaluator.md) — _(no submodules)_- [manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [flag-manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [flag-registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [errors](./src/errors/feature-flags-error.md) — _(no submodules)_- [feature-flags-error](./src/errors/feature-flags-error.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/hash.md) — _(no submodules)_- [hash](./src/utils/hash.md) — _(no submodules)_- [evaluator](./src/core/evaluator/evaluator.md) — _(no submodules)_- [manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [flag-manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [flag-registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [errors](./src/errors/feature-flags-error.md) — _(no submodules)_- [feature-flags-error](./src/errors/feature-flags-error.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/hash.md) — _(no submodules)_- [hash](./src/utils/hash.md) — _(no submodules)_- [evaluator](./src/core/evaluator/evaluator.md) — _(no submodules)_- [manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [flag-manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [flag-registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [errors](./src/errors/feature-flags-error.md) — _(no submodules)_- [feature-flags-error](./src/errors/feature-flags-error.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/hash.md) — _(no submodules)_- [hash](./src/utils/hash.md) — _(no submodules)_- [evaluator](./src/core/evaluator/evaluator.md) — _(no submodules)_- [manager](./src/core/manager/flag-manager.md) — _(no submodules)_ - [flag-manager](./src/core/manager/flag-manager.md) — _(no submodules)_- [registry](./src/core/registry/flag-registry.md) — _(no submodules)_ - [flag-registry](./src/core/registry/flag-registry.md) — _(no submodules)_- [errors](./src/errors/feature-flags-error.md) — _(no submodules)_ - [feature-flags-error](./src/errors/feature-flags-error.md) — _(no submodules)_- [json](./src/providers/json/json.md) — _(no submodules)_ - [json](./src/providers/json/json.md) — _(no submodules)_- [memory](./src/providers/memory/memory.md) — _(no submodules)_ - [memory](./src/providers/memory/memory.md) — _(no submodules)_- [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_ - [attribute](./src/strategies/attribute/attribute.md) — _(no submodules)_- [composite](./src/strategies/composite/composite.md) — _(no submodules)_ - [composite](./src/strategies/composite/composite.md) — _(no submodules)_- [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_ - [percentage](./src/strategies/percentage/percentage.md) — _(no submodules)_- [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_ - [schedule](./src/strategies/schedule/schedule.md) — _(no submodules)_- [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_ - [user-target](./src/strategies/user-target/user-target.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_- [utils](./src/utils/hash.md) — _(no submodules)_ - [hash](./src/utils/hash.md) — _(no submodules)_ + ## Overview `@suaveplan/feature-flags` provides a complete, enterprise-grade feature flag system with: diff --git a/plugins/document-navigator/docs/foundation/flow/cbor/README.md b/plugins/document-navigator/docs/foundation/flow/cbor/README.md index c84277a..427fd72 100644 --- a/plugins/document-navigator/docs/foundation/flow/cbor/README.md +++ b/plugins/document-navigator/docs/foundation/flow/cbor/README.md @@ -56,10 +56,12 @@ browser. Zero browser/Node deps. - [builtin](./src/tags/builtin.md) — Provides `defaultTagHandlers()`, a `TagRegistry` populated with handlers for the most-used IANA-registered CBOR tags. C… - [registry](./src/tags/registry.md) — `TagRegistry` is the in-memory mutable container for CBOR tag handlers. The decoder consults a snapshot of the registry… - [tagged](./src/tags/tagged.md) — Provides the `Tagged` value object used by `@suaveplan/cbor` to materialise RFC 8949 §3.4 tagged items. The decoder… + - half-float — Decodes 2 big-endian bytes representin… - - [decoder](./src/decoder/decoder.md) — _(no submodules)_- half-float — Decodes 2 big-endian bytes representin… - - [half-float](./src/decoder/half-float.md) — Decodes 2 big-endian bytes representing IEEE 754 binary16 to a JavaScript `number`. The decoder is always available — n… - - [well-formed](./src/decoder/well-formed.md) — `isWellFormed(bytes)` returns `true` iff `bytes` represent a single well-formed CBOR item per RFC 8949 §5.1. The functi… + +- [decoder](./src/decoder/decoder.md) — _(no submodules)_- half-float — Decodes 2 big-endian bytes representin… +- [half-float](./src/decoder/half-float.md) — Decodes 2 big-endian bytes representing IEEE 754 binary16 to a JavaScript `number`. The decoder is always available — n… +- [well-formed](./src/decoder/well-formed.md) — `isWellFormed(bytes)` returns `true` iff `bytes` represent a single well-formed CBOR item per RFC 8949 §5.1. The functi… - [deterministic](./src/deterministic/deterministic.md) — _(no submodules)_- [deterministic](./src/deterministic/deterministic.md) — _(no submodules)_- [diagnostic](./src/diagnostic/diagnostic.md) — _(no submodules)_- [diagnostic](./src/diagnostic/diagnostic.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- half-float — Encodes a JavaScript `number` as IEEE…… - [encoder](./src/encoder/encoder.md) — _(no submodules)_- half-float — Encodes a JavaScript `number` as IEEE…… - [half-float](./src/encoder/half-float.md) — Encodes a JavaScript `number` as IEEE 754 binary16 (CBOR major 7 / value 25) when the round-trip is exact, and otherwis… @@ -180,4 +182,3 @@ const value = decode(bytes); - RFC 8949 §5.1 — strict-mode well-formedness; every malformed-input class raises `CborError(MALFORMED)` - RFC 8742 §2 + §3 — CBOR Sequences encode + decode + async-iterator stream - diff --git a/plugins/document-navigator/docs/foundation/flow/cbor/src/decoder/decoder.md b/plugins/document-navigator/docs/foundation/flow/cbor/src/decoder/decoder.md index 2775cc4..da4458c 100644 --- a/plugins/document-navigator/docs/foundation/flow/cbor/src/decoder/decoder.md +++ b/plugins/document-navigator/docs/foundation/flow/cbor/src/decoder/decoder.md @@ -3,6 +3,7 @@ _(no submodules)_ - half-float — Decodes 2 big-endian bytes representin… + - [half-float](./half-float.md) — Decodes 2 big-endian bytes representing IEEE 754 binary16 to a JavaScript `number`. The decoder is always available — n… - [well-formed](./well-formed.md) — `isWellFormed(bytes)` returns `true` iff `bytes` represent a single well-formed CBOR item per RFC 8949 §5.1. The functi… - half-float — Decodes 2 big-endian bytes representin… diff --git a/plugins/document-navigator/docs/foundation/flow/cbor/src/encoder/encoder.md b/plugins/document-navigator/docs/foundation/flow/cbor/src/encoder/encoder.md index 2b2106c..c6587b6 100644 --- a/plugins/document-navigator/docs/foundation/flow/cbor/src/encoder/encoder.md +++ b/plugins/document-navigator/docs/foundation/flow/cbor/src/encoder/encoder.md @@ -3,6 +3,7 @@ _(no submodules)_ - half-float — Encodes a JavaScript `number` as IEEE…… + - [half-float](./half-float.md) — Encodes a JavaScript `number` as IEEE 754 binary16 (CBOR major 7 / value 25) when the round-trip is exact, and otherwis… - half-float — Encodes a JavaScript `number` as IEEE…… diff --git a/plugins/document-navigator/docs/foundation/flow/crdt/README.md b/plugins/document-navigator/docs/foundation/flow/crdt/README.md index 9dbb172..46d2c8f 100644 --- a/plugins/document-navigator/docs/foundation/flow/crdt/README.md +++ b/plugins/document-navigator/docs/foundation/flow/crdt/README.md @@ -29,7 +29,9 @@ coordinate delta exchange across heterogeneous replicas. - [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_ - [errors](./src/errors/crdt-error.md) — _(no submodules)_ - [crdt-error](./src/errors/crdt-error.md) — _(no submodules)_ + - [sync-manager](./src/core/sync-manager/sync-manager.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [errors](./src/errors/crdt-error.md) — _(no submodules)_- [crdt-error](./src/errors/crdt-error.md) — _(no submodules)_- [sync-manager](./src/core/sync-manager/sync-manager.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [errors](./src/errors/crdt-error.md) — _(no submodules)_- [crdt-error](./src/errors/crdt-error.md) — _(no submodules)_- [sync-manager](./src/core/sync-manager/sync-manager.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [errors](./src/errors/crdt-error.md) — _(no submodules)_- [crdt-error](./src/errors/crdt-error.md) — _(no submodules)_- [sync-manager](./src/core/sync-manager/sync-manager.md) — _(no submodules)_- [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_ - [vector-clock](./src/core/vector-clock/vector-clock.md) — _(no submodules)_- [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_ - [g-counter](./src/crdts/g-counter/g-counter.md) — _(no submodules)_- [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_ - [lww-register](./src/crdts/lww-register/lww-register.md) — _(no submodules)_- [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_ - [mv-register](./src/crdts/mv-register/mv-register.md) — _(no submodules)_- [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_ - [or-set](./src/crdts/or-set/or-set.md) — _(no submodules)_- [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_ - [pn-counter](./src/crdts/pn-counter/pn-counter.md) — _(no submodules)_- [rga](./src/crdts/rga/rga.md) — _(no submodules)_ - [rga](./src/crdts/rga/rga.md) — _(no submodules)_- [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_ - [two-p-set](./src/crdts/two-p-set/two-p-set.md) — _(no submodules)_- [errors](./src/errors/crdt-error.md) — _(no submodules)_ - [crdt-error](./src/errors/crdt-error.md) — _(no submodules)_ + ## Packages | Module | Description | diff --git a/plugins/document-navigator/docs/foundation/flow/fsm/README.md b/plugins/document-navigator/docs/foundation/flow/fsm/README.md index ce9b074..ab26ad9 100644 --- a/plugins/document-navigator/docs/foundation/flow/fsm/README.md +++ b/plugins/document-navigator/docs/foundation/flow/fsm/README.md @@ -13,7 +13,9 @@ Typed, generic finite state machine (FSM) for TypeScript. Ships a synchronous-by - [fsm-error](./src/errors/fsm-error.md) — _(no submodules)_ - [context-helpers](./src/utils/context-helpers.md) — Provides ergonomic factory helpers for building context-update and side-effect actions that can be slotted directly int… - [definition-validator](./src/utils/definition-validator.md) — Validates an `FSMDefinition` object before the interpreter begins executing. Early structural validation prevents subtl… + - [fsm-interpreter](./src/core/interpreter/fsm-interpreter.md) — _(no submodules)_- [errors](./src/errors/fsm-error.md) — _(no submodules)_- [fsm-error](./src/errors/fsm-error.md) — _(no submodules)_- [context-helpers](./src/utils/context-helpers.md) — Provides ergonomic factory helpers for building context-update and side-effect actions that can be slotted directly int… + - [definition-validator](./src/utils/definition-validator.md) — Validates an `FSMDefinition` object before the interpreter begins executing. Early structural validation prevents subtl… - [fsm-interpreter](./src/core/interpreter/fsm-interpreter.md) — _(no submodules)_- [errors](./src/errors/fsm-error.md) — _(no submodules)_- [fsm-error](./src/errors/fsm-error.md) — _(no submodules)_- [context-helpers](./src/utils/context-helpers.md) — Provides ergonomic factory helpers for building context-update and side-effect actions that can be slotted directly int… - [definition-validator](./src/utils/definition-validator.md) — Validates an `FSMDefinition` object before the interpreter begins executing. Early structural validation prevents subtl… diff --git a/plugins/document-navigator/docs/foundation/flow/idempotency/README.md b/plugins/document-navigator/docs/foundation/flow/idempotency/README.md index a37537c..f22436a 100644 --- a/plugins/document-navigator/docs/foundation/flow/idempotency/README.md +++ b/plugins/document-navigator/docs/foundation/flow/idempotency/README.md @@ -26,7 +26,9 @@ Idempotency key guard and deduplication for async operations. The package provid - [redis-store](./src/store/redis-store.md) — Provides a Redis-backed `IdempotencyStoreAdapter` with automatic key expiration using Redis native TTL. By accepting… - [versioning](./src/versioning/key-versioning.md) — _(no submodules)_ - [key-versioning](./src/versioning/key-versioning.md) — _(no submodules)_ + - [idempotency-error](./src/errors/idempotency-error.md) — _(no submodules)_- [guard](./src/guard/idempotency-guard.md) — _(no submodules)_- [idempotency-guard](./src/guard/idempotency-guard.md) — _(no submodules)_- [key](./src/key/key-generator.md) — _(no submodules)_- [key-generator](./src/key/key-generator.md) — _(no submodules)_- [metrics](./src/metrics/idempotency-metrics.md) — _(no submodules)_- [idempotency-metrics](./src/metrics/idempotency-metrics.md) — _(no submodules)_- [middleware](./src/middleware/idempotency-middleware.md) — _(no submodules)_- [idempotency-middleware](./src/middleware/idempotency-middleware.md) — _(no submodules)_- [database-store](./src/store/database-store.md) — Provides a persistent `IdempotencyStoreAdapter` backed by any relational database via the `IdempotencyDatabaseAdapte… + - [memory-store](./src/store/memory-store.md) — Provides an in-memory implementation of `IdempotencyStoreAdapter` backed by a `Map`. It is the default store for uni… - [redis-store](./src/store/redis-store.md) — Provides a Redis-backed `IdempotencyStoreAdapter` with automatic key expiration using Redis native TTL. By accepting… - [versioning](./src/versioning/key-versioning.md) — _(no submodules)_- [key-versioning](./src/versioning/key-versioning.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines and registers all stable error codes and their HTTP/retry metadata for the `@suaveplan/idempotency` package. Ev… @@ -92,4 +94,3 @@ const safe = await guard.execute( | [src/versioning/key-versioning.md](src/versioning/key-versioning.md) | `KeyVersioning` — multi-version record management with `reject`, `overwrite`, and `version` conflict strategies | | [src/errors/idempotency-error.md](src/errors/idempotency-error.md) | Structured error hierarchy: `IdempotencyConflictError`, `IdempotencyMismatchError`, `LockAcquisitionError`, `VersionConflictError` | | [src/error-codes.md](src/error-codes.md) | Stable `IDEMPOTENCY.*` error code registry | - diff --git a/plugins/document-navigator/docs/foundation/flow/job-scheduler/README.md b/plugins/document-navigator/docs/foundation/flow/job-scheduler/README.md index 6c80f52..90dc5d3 100644 --- a/plugins/document-navigator/docs/foundation/flow/job-scheduler/README.md +++ b/plugins/document-navigator/docs/foundation/flow/job-scheduler/README.md @@ -20,10 +20,12 @@ Universal in-process job scheduler with cron + queued runs, retries, timeouts, c - [registry](./src/registry/job-registry.md) — _(no submodules)_ - [job-registry](./src/registry/job-registry.md) — _(no submodules)_ - [cron-rescheduler](./src/scheduler/cron-rescheduler.md) — Houses the two cron-related decisions the scheduler makes after a job settles or resumes: (1) compute the next fire fro… -- [job-dispatcher](./src/scheduler/job-dispatcher.md) — Encapsulates the "hand a job to the executor" step of the scheduler's tick loop. The scheduler core decides *which* job… +- [job-dispatcher](./src/scheduler/job-dispatcher.md) — Encapsulates the "hand a job to the executor" step of the scheduler's tick loop. The scheduler core decides _which_ job… - [job-scheduler](./src/scheduler/job-scheduler.md) — The `JobScheduler` class is the package's main entry point: it accepts both cron-scheduled and one-shot queued jobs, ru… - [job-snapshot](./src/scheduler/job-snapshot.md) — Projects a mutable `ScheduledJob` record (the scheduler's internal data structure) to an immutable `JobStatus` snapshot… + - [job-scheduler-error](./src/errors/job-scheduler-error.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [execution](./src/execution/job-execution.md) — _(no submodules)_- [job-execution](./src/execution/job-execution.md) — _(no submodules)_- [otel](./src/otel/job-scheduler-otel.md) — _(no submodules)_- [job-scheduler-otel](./src/otel/job-scheduler-otel.md) — _(no submodules)_- [queue](./src/queue/job-queue.md) — _(no submodules)_- [job-queue](./src/queue/job-queue.md) — _(no submodules)_- [registry](./src/registry/job-registry.md) — _(no submodules)_- [job-registry](./src/registry/job-registry.md) — _(no submodules)_- [cron-rescheduler](./src/scheduler/cron-rescheduler.md) — Houses the two cron-related decisions the scheduler makes after a job settles or resumes: (1) compute the next fire fro… + - [job-dispatcher](./src/scheduler/job-dispatcher.md) — Encapsulates the "hand a job to the executor" step of the scheduler's tick loop. The scheduler core decides _which_ job… - [job-scheduler](./src/scheduler/job-scheduler.md) — The `JobScheduler` class is the package's main entry point: it accepts both cron-scheduled and one-shot queued jobs, ru… - [job-snapshot](./src/scheduler/job-snapshot.md) — Projects a mutable `ScheduledJob` record (the scheduler's internal data structure) to an immutable `JobStatus` snapshot… diff --git a/plugins/document-navigator/docs/foundation/flow/queue-distribution-http/README.md b/plugins/document-navigator/docs/foundation/flow/queue-distribution-http/README.md index 12760fc..5d7728e 100644 --- a/plugins/document-navigator/docs/foundation/flow/queue-distribution-http/README.md +++ b/plugins/document-navigator/docs/foundation/flow/queue-distribution-http/README.md @@ -19,7 +19,9 @@ The plugin lives separately from the core distribution package so browser-only a - [instruments](./src/observability/instruments.md) — _(no submodules)_ - [remote](./src/worker/remote/remote.md) — _(no submodules)_ - [remote](./src/worker/remote/remote.md) — _(no submodules)_ + - [base](./src/communicator/base/base.md) — _(no submodules)_- [http](./src/communicator/http/http-communicator.md) — _(no submodules)_- [http-communicator](./src/communicator/http/http-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [queue-distribution-http-error](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_- [base](./src/communicator/base/base.md) — _(no submodules)_- [http](./src/communicator/http/http-communicator.md) — _(no submodules)_- [http-communicator](./src/communicator/http/http-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [queue-distribution-http-error](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_- [base](./src/communicator/base/base.md) — _(no submodules)_- [http](./src/communicator/http/http-communicator.md) — _(no submodules)_- [http-communicator](./src/communicator/http/http-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [queue-distribution-http-error](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_- [base](./src/communicator/base/base.md) — _(no submodules)_- [http](./src/communicator/http/http-communicator.md) — _(no submodules)_ - [http-communicator](./src/communicator/http/http-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-http-error.md) — _(no submodules)_ - [queue-distribution-http-error](./src/errors/queue-distribution-http-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_ - [instruments](./src/observability/instruments.md) — _(no submodules)_- [remote](./src/worker/remote/remote.md) — _(no submodules)_ - [remote](./src/worker/remote/remote.md) — _(no submodules)_ + ## Install ```bash @@ -72,4 +74,3 @@ const result = await manager.assignTask(task, input); ## Status Part of the rebuild — version `0.1.0` while it stabilises. - diff --git a/plugins/document-navigator/docs/foundation/flow/queue-distribution-worker-thread/README.md b/plugins/document-navigator/docs/foundation/flow/queue-distribution-worker-thread/README.md index e69a9f8..6b6de67 100644 --- a/plugins/document-navigator/docs/foundation/flow/queue-distribution-worker-thread/README.md +++ b/plugins/document-navigator/docs/foundation/flow/queue-distribution-worker-thread/README.md @@ -17,7 +17,9 @@ The plugin lives separately from the core distribution package so HTTP-only and - [instruments](./src/observability/instruments.md) — _(no submodules)_ - [worker-thread](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_ - [worker-thread-worker](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_ + - [worker-thread-communicator](./src/communicator/worker-thread/worker-thread-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [queue-distribution-worker-thread-error](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [worker-thread](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_- [worker-thread-worker](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_- [worker-thread-communicator](./src/communicator/worker-thread/worker-thread-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [queue-distribution-worker-thread-error](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [worker-thread](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_- [worker-thread-worker](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_- [worker-thread-communicator](./src/communicator/worker-thread/worker-thread-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [queue-distribution-worker-thread-error](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [worker-thread](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_- [worker-thread-worker](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_- [worker-thread-communicator](./src/communicator/worker-thread/worker-thread-communicator.md) — _(no submodules)_- [errors](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_ - [queue-distribution-worker-thread-error](./src/errors/queue-distribution-worker-thread-error.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_ - [instruments](./src/observability/instruments.md) — _(no submodules)_- [worker-thread](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_ - [worker-thread-worker](./src/worker/worker-thread/worker-thread-worker.md) — _(no submodules)_ + ## Install ```bash @@ -65,4 +67,3 @@ const result = await manager.assignTask(task, input); ## Status Part of the rebuild — version `0.1.0` while it stabilises. - diff --git a/plugins/document-navigator/docs/foundation/flow/queue-distribution/README.md b/plugins/document-navigator/docs/foundation/flow/queue-distribution/README.md index ee85fb4..e0645ae 100644 --- a/plugins/document-navigator/docs/foundation/flow/queue-distribution/README.md +++ b/plugins/document-navigator/docs/foundation/flow/queue-distribution/README.md @@ -40,14 +40,16 @@ The package is decoupled from `@suaveplan/queue`'s `Job` model: distribution ope - [local](./src/worker/local/local.md) — _(no submodules)_ - [local](./src/worker/local/local.md) — _(no submodules)_ - [worker](./src/worker/worker.md) — _(no submodules)_ - abstract-metrics — `abstract-metrics.ts` carries the… + - [queue-distribution-error](./src/errors/queue-distribution-error.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [internal](./src/internal/noop-logger.md) — _(no submodules)_- [noop-logger](./src/internal/noop-logger.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager-dispatch](./src/manager/manager-dispatch.md) — `dispatchWithRetry` is the core retry loop of `WorkerManager`. It picks a worker via the configured `LoadBalancingStrat… - - [manager-supervisor](./src/manager/manager-supervisor.md) — The supervisor module owns the worker-health side of `WorkerManager`: periodic health checks across the pool, restart o… - - [manager](./src/manager/manager.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [abstract-metrics](./src/worker/abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- [queue-distribution-error](./src/errors/queue-distribution-error.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [internal](./src/internal/noop-logger.md) — _(no submodules)_- [noop-logger](./src/internal/noop-logger.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager-dispatch](./src/manager/manager-dispatch.md) — `dispatchWithRetry` is the core retry loop of `WorkerManager`. It picks a worker via the configured `LoadBalancingStrat… - - [manager-supervisor](./src/manager/manager-supervisor.md) — The supervisor module owns the worker-health side of `WorkerManager`: periodic health checks across the pool, restart o… - - [manager](./src/manager/manager.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- abstract-metrics — `abstract… - - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [abstract-metrics](./src/worker/abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- abstract-metrics — `abstract… + +- [manager-supervisor](./src/manager/manager-supervisor.md) — The supervisor module owns the worker-health side of `WorkerManager`: periodic health checks across the pool, restart o… +- [manager](./src/manager/manager.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [abstract-metrics](./src/worker/abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… + - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- [queue-distribution-error](./src/errors/queue-distribution-error.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [internal](./src/internal/noop-logger.md) — _(no submodules)_- [noop-logger](./src/internal/noop-logger.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager-dispatch](./src/manager/manager-dispatch.md) — `dispatchWithRetry` is the core retry loop of `WorkerManager`. It picks a worker via the configured `LoadBalancingStrat… +- [manager-supervisor](./src/manager/manager-supervisor.md) — The supervisor module owns the worker-health side of `WorkerManager`: periodic health checks across the pool, restart o… +- [manager](./src/manager/manager.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- abstract-metrics — `abstract… +- [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [abstract-metrics](./src/worker/abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… + - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [local](./src/worker/local/local.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- abstract-metrics — `abstract… - [queue-distribution-error](./src/errors/queue-distribution-error.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [health-checker](./src/health-checker/health-checker.md) — _(no submodules)_- [internal](./src/internal/noop-logger.md) — _(no submodules)_- [noop-logger](./src/internal/noop-logger.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [base](./src/load-balancing/base/base.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [least-busy](./src/load-balancing/least-busy/least-busy.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [round-robin](./src/load-balancing/round-robin/round-robin.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [weighted](./src/load-balancing/weighted/weighted.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager-dispatch](./src/manager/manager-dispatch.md) — `dispatchWithRetry` is the core retry loop of `WorkerManager`. It picks a worker via the configured `LoadBalancingStrat… - [manager-supervisor](./src/manager/manager-supervisor.md) — The supervisor module owns the worker-health side of `WorkerManager`: periodic health checks across the pool, restart o… - [manager](./src/manager/manager.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_- [instruments](./src/observability/instruments.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_- abstract-metrics — `abstract-metrics.ts` carries th… @@ -57,6 +59,7 @@ The package is decoupled from `@suaveplan/queue`'s `Job` model: distribution ope - [manager-supervisor](./src/manager/manager-supervisor.md) — The supervisor module owns the worker-health side of `WorkerManager`: periodic health checks across the pool, restart o… - [manager](./src/manager/manager.md) — _(no submodules)_- [observability](./src/observability/instruments.md) — _(no submodules)_ - [instruments](./src/observability/instruments.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_ - [pool](./src/pool/pool.md) — _(no submodules)_- [task](./src/task/task.md) — _(no submodules)_ - [task](./src/task/task.md) — _(no submodules)_- [worker](./src/worker/worker.md) — _(no submodules)_ - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_ - [abstract-metrics](./src/worker/abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - [abstract](./src/worker/abstract/abstract.md) — _(no submodules)_ - [local](./src/worker/local/local.md) — _(no submodules)_ - [local](./src/worker/local/local.md) — _(no submodules)_ - [worker](./src/worker/worker.md) — _(no submodules)_ + ## Install ```bash @@ -126,4 +129,3 @@ console.log(await manager.assignTask(task, 21)); // 42 ## Status This package is part of the rebuild — version `0.1.0` while it stabilises. Graduation to `1.0.0` follows the criteria in [`CLAUDE.md`](../../../CLAUDE.md). - diff --git a/plugins/document-navigator/docs/foundation/flow/queue-distribution/src/worker/worker.md b/plugins/document-navigator/docs/foundation/flow/queue-distribution/src/worker/worker.md index 6bd781d..a9cbf19 100644 --- a/plugins/document-navigator/docs/foundation/flow/queue-distribution/src/worker/worker.md +++ b/plugins/document-navigator/docs/foundation/flow/queue-distribution/src/worker/worker.md @@ -3,8 +3,8 @@ _(no submodules)_ - - [abstract-metrics](./abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - - [abstract](./abstract/abstract.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_ - [local](./local/local.md) — _(no submodules)_- [worker](./worker.md) — _(no submodules)_- abstract-metrics — `abstract-metrics.ts` carries the… +- [abstract-metrics](./abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… +- [abstract](./abstract/abstract.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_ - [local](./local/local.md) — _(no submodules)_- [worker](./worker.md) — _(no submodules)_- abstract-metrics — `abstract-metrics.ts` carries the… - [abstract-metrics](./abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - [abstract](./abstract/abstract.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_- [worker](./worker.md) — _(no submodules)_- [abstract-metrics](./abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - [abstract](./abstract/abstract.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_- [worker](./worker.md) — _(no submodules)_- abstract-metrics — `abstract… @@ -12,6 +12,7 @@ _(no submodules)_ - [abstract](./abstract/abstract.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_- [worker](./worker.md) — _(no submodules)_- abstract-metrics — `abstract-metrics.ts` carries th… - [abstract-metrics](./abstract/abstract-metrics.md) — `abstract-metrics.ts` carries the pure functions and the small accumulator used by `AbstractWorker` to track success/fa… - [abstract](./abstract/abstract.md) — _(no submodules)_- [local](./local/local.md) — _(no submodules)_ - [local](./local/local.md) — _(no submodules)_- [worker](./worker.md) — _(no submodules)_ + ## Purpose `Worker` is the structural interface every distribution-tier executor implements. It describes lifecycle (`start`, `stop`), task execution (`executeTask`), health probing (`getHealth`, `canAcceptTask`), and introspection (`getInfo`). Concrete workers (`LocalWorker`, `RemoteWorker` from the HTTP plugin, `WorkerThreadWorker` from the worker-thread plugin) extend `AbstractWorker`, but downstream code should program against `Worker` so transport choices stay swappable. diff --git a/plugins/document-navigator/docs/foundation/flow/queue/README.md b/plugins/document-navigator/docs/foundation/flow/queue/README.md index bcc047f..85e844d 100644 --- a/plugins/document-navigator/docs/foundation/flow/queue/README.md +++ b/plugins/document-navigator/docs/foundation/flow/queue/README.md @@ -18,7 +18,9 @@ Enterprise-grade queue management: memory/priority/delayed queues, concurrent wo - [queue-types](./src/types/queue-types.md) — _(no submodules)_ - [worker](./src/worker/queue-worker.md) — _(no submodules)_ - [queue-worker](./src/worker/queue-worker.md) — _(no submodules)_ + - [queue-error](./src/errors/queue-error.md) — _(no submodules)_- [job](./src/job/job.md) — _(no submodules)_- [job](./src/job/job.md) — _(no submodules)_- [delayed-queue](./src/queue/delayed-queue.md) — `DelayedQueue` is an explicit alias for a delay-aware FIFO queue. It extends `MemoryQueue` to make the delay inte… + - [memory-queue](./src/queue/memory-queue.md) — `MemoryQueue` is the foundational FIFO queue for `@suaveplan/queue`. It stores jobs in memory in insertion order and… - [priority-queue](./src/queue/priority-queue.md) — `PriorityQueue` extends `MemoryQueue` to provide priority-ordered job scheduling. Jobs with higher `priority` val… - [types](./src/types/queue-types.md) — _(no submodules)_- [queue-types](./src/types/queue-types.md) — _(no submodules)_- [worker](./src/worker/queue-worker.md) — _(no submodules)_- [queue-worker](./src/worker/queue-worker.md) — _(no submodules)_- [queue-error](./src/errors/queue-error.md) — _(no submodules)_- [job](./src/job/job.md) — _(no submodules)_- [job](./src/job/job.md) — _(no submodules)_- [delayed-queue](./src/queue/delayed-queue.md) — `DelayedQueue` is an explicit alias for a delay-aware FIFO queue. It extends `MemoryQueue` to make the delay inte… @@ -31,6 +33,7 @@ Enterprise-grade queue management: memory/priority/delayed queues, concurrent wo - [memory-queue](./src/queue/memory-queue.md) — `MemoryQueue` is the foundational FIFO queue for `@suaveplan/queue`. It stores jobs in memory in insertion order and… - [priority-queue](./src/queue/priority-queue.md) — `PriorityQueue` extends `MemoryQueue` to provide priority-ordered job scheduling. Jobs with higher `priority` val… - [types](./src/types/queue-types.md) — _(no submodules)_ - [queue-types](./src/types/queue-types.md) — _(no submodules)_- [worker](./src/worker/queue-worker.md) — _(no submodules)_ - [queue-worker](./src/worker/queue-worker.md) — _(no submodules)_ + ## Packages | Module | Description | diff --git a/plugins/document-navigator/docs/foundation/flow/rate-limiter/README.md b/plugins/document-navigator/docs/foundation/flow/rate-limiter/README.md index 9c44654..8120a96 100644 --- a/plugins/document-navigator/docs/foundation/flow/rate-limiter/README.md +++ b/plugins/document-navigator/docs/foundation/flow/rate-limiter/README.md @@ -25,7 +25,9 @@ Enterprise rate limiter with three algorithms, rule-based routing, tenant multip - [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_ - [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_ - [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_ + - [fixed-window](./src/core/fixed-window/fixed-window.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [errors](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limiter-error](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [rate-limiter.schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_- [fixed-window](./src/core/fixed-window/fixed-window.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [errors](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limiter-error](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [rate-limiter.schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_- [fixed-window](./src/core/fixed-window/fixed-window.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [errors](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limiter-error](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [rate-limiter.schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_- [fixed-window](./src/core/fixed-window/fixed-window.md) — _(no submodules)_- [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_ - [rate-limiter](./src/core/rate-limiter/rate-limiter.md) — _(no submodules)_- [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_ - [sliding-window](./src/core/sliding-window/sliding-window.md) — _(no submodules)_- [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_ - [token-bucket](./src/core/token-bucket/token-bucket.md) — _(no submodules)_- [errors](./src/errors/rate-limiter-error.md) — _(no submodules)_ - [rate-limiter-error](./src/errors/rate-limiter-error.md) — _(no submodules)_- [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_ - [rate-limit-middleware](./src/middleware/rate-limit-middleware/rate-limit-middleware.md) — _(no submodules)_- [schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_ - [rate-limiter.schemas](./src/schemas/rate-limiter.schemas.md) — _(no submodules)_- [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_ - [adapter](./src/storage/adapter/adapter.md) — _(no submodules)_- [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_ - [memory-storage](./src/storage/memory-storage/memory-storage.md) — _(no submodules)_ + ## Algorithms | Algorithm | Use case | diff --git a/plugins/document-navigator/docs/foundation/flow/retry/README.md b/plugins/document-navigator/docs/foundation/flow/retry/README.md index 8e314bd..d85f226 100644 --- a/plugins/document-navigator/docs/foundation/flow/retry/README.md +++ b/plugins/document-navigator/docs/foundation/flow/retry/README.md @@ -21,7 +21,9 @@ Retry strategies and circuit-breaker for async operations. The package provides - [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_ - [linear](./src/strategies/linear/linear.md) — _(no submodules)_ - [linear](./src/strategies/linear/linear.md) — _(no submodules)_ + - [circuit-breaker](./src/circuit-breaker/circuit-breaker.md) — _(no submodules)_- [errors](./src/errors/retry-error.md) — _(no submodules)_- [retry-error](./src/errors/retry-error.md) — _(no submodules)_- [otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry-otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_- [circuit-breaker](./src/circuit-breaker/circuit-breaker.md) — _(no submodules)_- [errors](./src/errors/retry-error.md) — _(no submodules)_- [retry-error](./src/errors/retry-error.md) — _(no submodules)_- [otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry-otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_- [circuit-breaker](./src/circuit-breaker/circuit-breaker.md) — _(no submodules)_- [errors](./src/errors/retry-error.md) — _(no submodules)_- [retry-error](./src/errors/retry-error.md) — _(no submodules)_- [otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry-otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_- [circuit-breaker](./src/circuit-breaker/circuit-breaker.md) — _(no submodules)_- [errors](./src/errors/retry-error.md) — _(no submodules)_ - [retry-error](./src/errors/retry-error.md) — _(no submodules)_- [otel](./src/otel/retry-otel.md) — _(no submodules)_ - [retry-otel](./src/otel/retry-otel.md) — _(no submodules)_- [retry](./src/retry/retry.md) — _(no submodules)_ - [retry](./src/retry/retry.md) — _(no submodules)_- [constant](./src/strategies/constant/constant.md) — _(no submodules)_ - [constant](./src/strategies/constant/constant.md) — _(no submodules)_- [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_ - [exponential](./src/strategies/exponential/exponential.md) — _(no submodules)_- [linear](./src/strategies/linear/linear.md) — _(no submodules)_ - [linear](./src/strategies/linear/linear.md) — _(no submodules)_ + ## Install ```sh @@ -75,4 +77,3 @@ const value = await breaker.call(async (signal) => { | `circuit-breaker` — `CircuitBreaker` class, `CircuitBreakerConfig`, event map | [`src/circuit-breaker/circuit-breaker.md`](src/circuit-breaker/circuit-breaker.md) | | `retry-error` — `RetryExhaustedError`, `RetryAbortedError`, `AttemptTimeoutError`, `CircuitOpenError` | [`src/errors/retry-error.md`](src/errors/retry-error.md) | | `retry-otel` — OpenTelemetry span/event helpers | [`src/otel/retry-otel.md`](src/otel/retry-otel.md) | - diff --git a/plugins/document-navigator/docs/foundation/flow/rules-hono/README.md b/plugins/document-navigator/docs/foundation/flow/rules-hono/README.md index 1e7cc72..8da0f81 100644 --- a/plugins/document-navigator/docs/foundation/flow/rules-hono/README.md +++ b/plugins/document-navigator/docs/foundation/flow/rules-hono/README.md @@ -11,7 +11,9 @@ Hono middleware wrapping [`@suaveplan/rules`](../rules/README.md). Six middlewar - [default](./src/engine/default.md) — _(no submodules)_ - [middleware](./src/middleware/middleware.md) — _(no submodules)_ - [middleware](./src/middleware/middleware.md) — _(no submodules)_ + - [default](./src/engine/default.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_- [default](./src/engine/default.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_- [default](./src/engine/default.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_- [default](./src/engine/default.md) — _(no submodules)_- [middleware](./src/middleware/middleware.md) — _(no submodules)_ - [middleware](./src/middleware/middleware.md) — _(no submodules)_ + ## Install ```bash @@ -38,4 +40,3 @@ app.get("/", (c) => c.json({ ok: true })); ## See also - [`@suaveplan/rules`](../rules/README.md) — the underlying engine, builder, operators, validators, serializer, optimizer. - diff --git a/plugins/document-navigator/docs/foundation/flow/rules/README.md b/plugins/document-navigator/docs/foundation/flow/rules/README.md index fa50b7e..95c5861 100644 --- a/plugins/document-navigator/docs/foundation/flow/rules/README.md +++ b/plugins/document-navigator/docs/foundation/flow/rules/README.md @@ -35,9 +35,11 @@ Universal rule engine + validation system. Comprehensive `RuleEngine` with async - [schema](./src/validators/schema/schema.md) — _(no submodules)_ - [schema](./src/validators/schema/schema.md) — _(no submodules)_ - [constants](./src/constants.md) — This module exposes the package-level constants consumed across the rules engine, validators, action executor, and even… + - [actions](./src/actions/actions.md) — _(no submodules)_- [builder](./src/builder/builder.md) — _(no submodules)_- [builder](./src/builder/builder.md) — _(no submodules)_- [context](./src/context/context.md) — _(no submodules)_- [context](./src/context/context.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_- operators-internal — `compareValues(actual, operato… - - [engine](./src/engine/engine.md) — _(no submodules)_- operators-internal — `compareValues(actual, operato… - - [operators-internal](./src/engine/operators-internal.md) — `compareValues(actual, operator, expected)` is the built-in comparison dispatcher used by `RuleEngine` until the dedica… + +- [engine](./src/engine/engine.md) — _(no submodules)_- operators-internal — `compareValues(actual, operato… +- [operators-internal](./src/engine/operators-internal.md) — `compareValues(actual, operator, expected)` is the built-in comparison dispatcher used by `RuleEngine` until the dedica… - [errors](./src/errors/rules-error.md) — _(no submodules)_- [rules-error](./src/errors/rules-error.md) — _(no submodules)_- [events](./src/events/event-bus.md) — _(no submodules)_- [event-bus](./src/events/event-bus.md) — _(no submodules)_- [operators](./src/operators/operators.md) — _(no submodules)_- [operators](./src/operators/operators.md) — _(no submodules)_- [optimizer](./src/optimizer/optimizer.md) — _(no submodules)_- [optimizer](./src/optimizer/optimizer.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [custom](./src/validators/custom/custom.md) — _(no submodules)_- [custom](./src/validators/custom/custom.md) — _(no submodules)_- [field](./src/validators/field/field.md) — _(no submodules)_- [field](./src/validators/field/field.md) — _(no submodules)_- [schema](./src/validators/schema/schema.md) — _(no submodules)_- [schema](./src/validators/schema/schema.md) — _(no submodules)_- [constants](./src/constants.md) — This module exposes the package-level constants consumed across the rules engine, validators, action executor, and even… - [actions](./src/actions/actions.md) — _(no submodules)_- [builder](./src/builder/builder.md) — _(no submodules)_- [builder](./src/builder/builder.md) — _(no submodules)_- [context](./src/context/context.md) — _(no submodules)_- [context](./src/context/context.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_- operators-internal — `compareValues(actual, operato… - [engine](./src/engine/engine.md) — _(no submodules)_- operators-internal — `compareValues(actual, operato… @@ -108,4 +110,3 @@ const result = await engine.evaluate(policy, context({ age: 21, region: "US" })) ## See also - [`@suaveplan/rules-hono`](../rules-hono/README.md) — Hono middleware wrapping this package. - diff --git a/plugins/document-navigator/docs/foundation/flow/rules/src/engine/engine.md b/plugins/document-navigator/docs/foundation/flow/rules/src/engine/engine.md index c3245f0..864d61d 100644 --- a/plugins/document-navigator/docs/foundation/flow/rules/src/engine/engine.md +++ b/plugins/document-navigator/docs/foundation/flow/rules/src/engine/engine.md @@ -3,6 +3,7 @@ _(no submodules)_ - operators-internal — `compareValues(actual, operato… + - [operators-internal](./operators-internal.md) — `compareValues(actual, operator, expected)` is the built-in comparison dispatcher used by `RuleEngine` until the dedica… - operators-internal — `compareValues(actual, operato… diff --git a/plugins/document-navigator/docs/foundation/flow/streams-chunk-queue/README.md b/plugins/document-navigator/docs/foundation/flow/streams-chunk-queue/README.md index 716d9c2..d5f34c3 100644 --- a/plugins/document-navigator/docs/foundation/flow/streams-chunk-queue/README.md +++ b/plugins/document-navigator/docs/foundation/flow/streams-chunk-queue/README.md @@ -97,4 +97,3 @@ await queue.getStream().pipeTo(destination); ## License MIT - diff --git a/plugins/document-navigator/docs/foundation/flow/streams-metadata/README.md b/plugins/document-navigator/docs/foundation/flow/streams-metadata/README.md index 763d9dc..c2a859a 100644 --- a/plugins/document-navigator/docs/foundation/flow/streams-metadata/README.md +++ b/plugins/document-navigator/docs/foundation/flow/streams-metadata/README.md @@ -85,4 +85,3 @@ wraps every reader exception as `ExifFailedError` - [`src/types/process-options.md`](src/types/process-options.md) — runtime `ProcessOptions` shape (signal / clock / logger) accepted by every transform. - diff --git a/plugins/document-navigator/docs/foundation/flow/streams/README.md b/plugins/document-navigator/docs/foundation/flow/streams/README.md index 9bdb225..b169688 100644 --- a/plugins/document-navigator/docs/foundation/flow/streams/README.md +++ b/plugins/document-navigator/docs/foundation/flow/streams/README.md @@ -107,7 +107,9 @@ WHATWG-Streams-based primitives: backpressure-first transforms, zero-copy `Uint8 - [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_ - [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_ - [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_ + - [transform](./src/base/transform/transform.md) — _(no submodules)_- [errors](./src/errors/stream-error.md) — _(no submodules)_- [stream-error](./src/errors/stream-error.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_- [node](./src/node/node-adapters.md) — _(no submodules)_- [node-adapters](./src/node/node-adapters.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_- [transform](./src/base/transform/transform.md) — _(no submodules)_- [errors](./src/errors/stream-error.md) — _(no submodules)_- [stream-error](./src/errors/stream-error.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_- [node](./src/node/node-adapters.md) — _(no submodules)_- [node-adapters](./src/node/node-adapters.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_- [transform](./src/base/transform/transform.md) — _(no submodules)_- [errors](./src/errors/stream-error.md) — _(no submodules)_- [stream-error](./src/errors/stream-error.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_- [node](./src/node/node-adapters.md) — _(no submodules)_- [node-adapters](./src/node/node-adapters.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_- [transform](./src/base/transform/transform.md) — _(no submodules)_- [errors](./src/errors/stream-error.md) — _(no submodules)_ - [stream-error](./src/errors/stream-error.md) — _(no submodules)_- [factory](./src/factory/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory/factory.md) — _(no submodules)_- [transform](./src/instrument/transform/transform.md) — _(no submodules)_ - [transform](./src/instrument/transform/transform.md) — _(no submodules)_- [manager](./src/manager/manager/manager.md) — _(no submodules)_ - [manager](./src/manager/manager/manager.md) — _(no submodules)_- [node](./src/node/node-adapters.md) — _(no submodules)_ - [node-adapters](./src/node/node-adapters.md) — _(no submodules)_- [builder](./src/pipeline/builder/builder.md) — _(no submodules)_ - [builder](./src/pipeline/builder/builder.md) — _(no submodules)_- [concat](./src/pipeline/concat/concat.md) — _(no submodules)_ - [concat](./src/pipeline/concat/concat.md) — _(no submodules)_- [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_ - [fan-out](./src/pipeline/fan-out/fan-out.md) — _(no submodules)_- [merge](./src/pipeline/merge/merge.md) — _(no submodules)_ - [merge](./src/pipeline/merge/merge.md) — _(no submodules)_- [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_ - [merge-ordered](./src/pipeline/merge-ordered/merge-ordered.md) — _(no submodules)_- [partition](./src/pipeline/partition/partition.md) — _(no submodules)_ - [partition](./src/pipeline/partition/partition.md) — _(no submodules)_- [route](./src/pipeline/route/route.md) — _(no submodules)_ - [route](./src/pipeline/route/route.md) — _(no submodules)_- [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_ - [safe-branch](./src/pipeline/safe-branch/safe-branch.md) — _(no submodules)_- [zip](./src/pipeline/zip/zip.md) — _(no submodules)_ - [zip](./src/pipeline/zip/zip.md) — _(no submodules)_- [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_ - [duplex](./src/primitives/duplex/duplex.md) — _(no submodules)_- [network](./src/primitives/network/network.md) — _(no submodules)_ - [network](./src/primitives/network/network.md) — _(no submodules)_- [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_ - [from-array](./src/readable/from-array/from-array.md) — _(no submodules)_- [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_ - [from-bytes](./src/readable/from-bytes/from-bytes.md) — _(no submodules)_- [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_ - [from-generator](./src/readable/from-generator/from-generator.md) — _(no submodules)_- [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_ - [for-each](./src/sinks/for-each/for-each.md) — _(no submodules)_- [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_ - [to-array](./src/sinks/to-array/to-array.md) — _(no submodules)_- [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_ - [to-async-iterable](./src/sinks/to-async-iterable/to-async-iterable.md) — _(no submodules)_- [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_ - [to-bytes](./src/sinks/to-bytes/to-bytes.md) — _(no submodules)_- [batch](./src/transforms/batch/batch.md) — _(no submodules)_ - [batch](./src/transforms/batch/batch.md) — _(no submodules)_- [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_ - [chunk-bytes](./src/transforms/chunk-bytes/chunk-bytes.md) — _(no submodules)_- [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_ - [coalesce-bytes](./src/transforms/coalesce-bytes/coalesce-bytes.md) — _(no submodules)_- [compress](./src/transforms/compress/compress.md) — _(no submodules)_ - [compress](./src/transforms/compress/compress.md) — _(no submodules)_- [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_ - [crypto](./src/transforms/crypto/crypto.md) — _(no submodules)_- [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_ - [dedup](./src/transforms/dedup/dedup.md) — _(no submodules)_- [filter](./src/transforms/filter/filter.md) — _(no submodules)_ - [filter](./src/transforms/filter/filter.md) — _(no submodules)_- [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_ - [flat-map](./src/transforms/flat-map/flat-map.md) — _(no submodules)_- [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_ - [length-prefix-decode](./src/transforms/length-prefix-decode/length-prefix-decode.md) — _(no submodules)_- [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_ - [length-prefix-encode](./src/transforms/length-prefix-encode/length-prefix-encode.md) — _(no submodules)_- [limit](./src/transforms/limit/limit.md) — _(no submodules)_ - [limit](./src/transforms/limit/limit.md) — _(no submodules)_- [map](./src/transforms/map/map.md) — _(no submodules)_ - [map](./src/transforms/map/map.md) — _(no submodules)_- [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_ - [sliding-bytes](./src/transforms/sliding-bytes/sliding-bytes.md) — _(no submodules)_- [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_ - [split-join](./src/transforms/split-join/split-join.md) — _(no submodules)_- [tap](./src/transforms/tap/tap.md) — _(no submodules)_ - [tap](./src/transforms/tap/tap.md) — _(no submodules)_- [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_ - [text-codec](./src/transforms/text-codec/text-codec.md) — _(no submodules)_- [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_ - [throttle](./src/transforms/throttle/throttle.md) — _(no submodules)_- [window](./src/transforms/window/window.md) — _(no submodules)_ - [window](./src/transforms/window/window.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_- [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_ - [buffer-to-uint8](./src/utils/buffer/buffer-to-uint8/buffer-to-uint8.md) — _(no submodules)_- [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_ - [get-data-from-file](./src/utils/buffer/get-data-from-file/get-data-from-file.md) — _(no submodules)_- [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_ - [uint8-slice](./src/utils/buffer/uint8-slice/uint8-slice.md) — _(no submodules)_- [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_ - [create-data-stream](./src/utils/stream/create-data-stream/create-data-stream.md) — _(no submodules)_- [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_ - [process-data-stream](./src/utils/stream/process-data-stream/process-data-stream.md) — _(no submodules)_- [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_ - [round-trip](./src/utils/stream/round-trip/round-trip.md) — _(no submodules)_- [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_ - [validate-integrity](./src/utils/stream/validate-integrity/validate-integrity.md) — _(no submodules)_ + ## Installation ```bash diff --git a/plugins/document-navigator/docs/foundation/flow/undo/README.md b/plugins/document-navigator/docs/foundation/flow/undo/README.md index 1449684..e5e3a16 100644 --- a/plugins/document-navigator/docs/foundation/flow/undo/README.md +++ b/plugins/document-navigator/docs/foundation/flow/undo/README.md @@ -25,7 +25,9 @@ Enterprise-grade undo/redo engine with branching history, async commands, histor - [selective-undo](./src/selective/selective-undo.md) — _(no submodules)_ - [stack](./src/stack/stack.md) — _(no submodules)_ - [stack](./src/stack/stack.md) — _(no submodules)_ + - [branch](./src/branch/branch.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [compression](./src/compression/history-compressor.md) — _(no submodules)_- [history-compressor](./src/compression/history-compressor.md) — _(no submodules)_- [errors](./src/errors/undo-error.md) — _(no submodules)_- [undo-error](./src/errors/undo-error.md) — _(no submodules)_- [merge](./src/merge/command-merger.md) — _(no submodules)_- [command-merger](./src/merge/command-merger.md) — _(no submodules)_- [schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [undo.schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [selective](./src/selective/selective-undo.md) — _(no submodules)_- [selective-undo](./src/selective/selective-undo.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_- [branch](./src/branch/branch.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [compression](./src/compression/history-compressor.md) — _(no submodules)_- [history-compressor](./src/compression/history-compressor.md) — _(no submodules)_- [errors](./src/errors/undo-error.md) — _(no submodules)_- [undo-error](./src/errors/undo-error.md) — _(no submodules)_- [merge](./src/merge/command-merger.md) — _(no submodules)_- [command-merger](./src/merge/command-merger.md) — _(no submodules)_- [schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [undo.schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [selective](./src/selective/selective-undo.md) — _(no submodules)_- [selective-undo](./src/selective/selective-undo.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_- [branch](./src/branch/branch.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [compression](./src/compression/history-compressor.md) — _(no submodules)_- [history-compressor](./src/compression/history-compressor.md) — _(no submodules)_- [errors](./src/errors/undo-error.md) — _(no submodules)_- [undo-error](./src/errors/undo-error.md) — _(no submodules)_- [merge](./src/merge/command-merger.md) — _(no submodules)_- [command-merger](./src/merge/command-merger.md) — _(no submodules)_- [schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [undo.schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [selective](./src/selective/selective-undo.md) — _(no submodules)_- [selective-undo](./src/selective/selective-undo.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_- [branch](./src/branch/branch.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_ - [command](./src/command/command.md) — _(no submodules)_- [compression](./src/compression/history-compressor.md) — _(no submodules)_ - [history-compressor](./src/compression/history-compressor.md) — _(no submodules)_- [errors](./src/errors/undo-error.md) — _(no submodules)_ - [undo-error](./src/errors/undo-error.md) — _(no submodules)_- [merge](./src/merge/command-merger.md) — _(no submodules)_ - [command-merger](./src/merge/command-merger.md) — _(no submodules)_- [schemas](./src/schemas/undo.schemas.md) — _(no submodules)_ - [undo.schemas](./src/schemas/undo.schemas.md) — _(no submodules)_- [selective](./src/selective/selective-undo.md) — _(no submodules)_ - [selective-undo](./src/selective/selective-undo.md) — _(no submodules)_- [stack](./src/stack/stack.md) — _(no submodules)_ - [stack](./src/stack/stack.md) — _(no submodules)_ + ## Install ```bash @@ -94,4 +96,3 @@ Measured on an AMD Ryzen 5 (WSL2), 1000 iterations: | compressHistory (1000 entries, depth 100) | ~2k ops/s | > A >10% regression from baseline fails the CI performance gate. - diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/README.md b/plugins/document-navigator/docs/foundation/flow/workflow/README.md index bf481d4..a9390b7 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/README.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/README.md @@ -54,19 +54,19 @@ bun add @suaveplan/workflow import { createWorkflow } from "@suaveplan/workflow"; interface OrderData { - orderId: string; - items: string[]; - total: number; + orderId: string; + items: string[]; + total: number; } const result = await createWorkflow("process-order") - .addStep("validate", (ctx) => { - if (ctx.items.length === 0) throw new Error("No items"); - }) - .build() - .run({ - initialData: { orderId: "ord-1", items: ["widget"], total: 29.99 }, - }); + .addStep("validate", (ctx) => { + if (ctx.items.length === 0) throw new Error("No items"); + }) + .build() + .run({ + initialData: { orderId: "ord-1", items: ["widget"], total: 29.99 }, + }); ``` ## Modules @@ -103,15 +103,15 @@ builder.onError("continue"); // log + skip the failure, run the rest import { RetryPresets } from "@suaveplan/workflow"; builder - .addStep("flaky-api", async (ctx) => callExternalApi(ctx)) - .withRetry(RetryPresets.standard()); + .addStep("flaky-api", async (ctx) => callExternalApi(ctx)) + .withRetry(RetryPresets.standard()); builder.addStep("custom", (ctx) => callApi(ctx)).withRetry({ - maxAttempts: 5, - strategy: "exponential", - delayMs: 500, - maxDelayMs: 10_000, - backoffMultiplier: 2, + maxAttempts: 5, + strategy: "exponential", + delayMs: 500, + maxDelayMs: 10_000, + backoffMultiplier: 2, }); ``` @@ -121,13 +121,13 @@ builder.addStep("custom", (ctx) => callApi(ctx)).withRetry({ const engine = createWorkflowEngine(config); engine.hooks.on("workflow:start", (p) => - console.log(`Workflow ${p.workflowId} started`), + console.log(`Workflow ${p.workflowId} started`), ); engine.hooks.on("step:complete", (p) => - console.log(`Step ${p.stepId} completed`), + console.log(`Step ${p.stepId} completed`), ); engine.hooks.on("step:fail", (p) => - console.error(`Step ${p.stepId} failed:`, p.error), + console.error(`Step ${p.stepId} failed:`, p.error), ); ``` @@ -139,18 +139,18 @@ import { createSaga, createStep } from "@suaveplan/workflow"; const saga = createSaga({ id: "booking", name: "Booking Saga" }); saga - .addStep(createStep({ - id: "reserve", - name: "Reserve Seats", - execute: (ctx) => reserveSeats(ctx), - compensate: (ctx) => releaseSeats(ctx), - })) - .addStep(createStep({ - id: "charge", - name: "Charge Payment", - execute: (ctx) => chargeCard(ctx), - compensate: (ctx) => refundCard(ctx), - })); + .addStep(createStep({ + id: "reserve", + name: "Reserve Seats", + execute: (ctx) => reserveSeats(ctx), + compensate: (ctx) => releaseSeats(ctx), + })) + .addStep(createStep({ + id: "charge", + name: "Charge Payment", + execute: (ctx) => chargeCard(ctx), + compensate: (ctx) => refundCard(ctx), + })); const result = await saga.execute(context); // If "charge" fails, "reserve" is automatically compensated. @@ -159,4 +159,3 @@ const result = await saga.execute(context); ## License MIT - diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/compensator/compensator.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/compensator/compensator.md index 26c0320..cdfb4ab 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/compensator/compensator.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/compensator/compensator.md @@ -49,12 +49,12 @@ await comp.compensateAll({ orderId: "ord-42" }); import { createCompensator } from "@suaveplan/workflow"; const comp = createCompensator<{ id: string }>({ - continueOnError: false, - clock: () => 0, + continueOnError: false, + clock: () => 0, }); comp.register("a", () => { - throw new Error("a failed"); + throw new Error("a failed"); }); comp.register("b", () => undefined); @@ -62,7 +62,7 @@ await comp.compensateAll({ id: "x" }); // Records contain a single entry for "b" with status "compensated" // then the loop breaks because continueOnError is false. if (comp.hasFailures === false) { - // Re-attempt the failed compensations later. + // Re-attempt the failed compensations later. } ``` @@ -86,7 +86,7 @@ The internal `_runEntry` helper is shared by `compensateAll` and `continueOnError` is false) so the callers can short-circuit without duplicating the predicate. -`compensateSteps` filters by id *before* reversing, so the relative order +`compensateSteps` filters by id _before_ reversing, so the relative order between matching ids is preserved as the inverse of registration order — mirroring the `compensateAll` contract. diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/saga/saga.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/saga/saga.md index 99715b6..8c3cc0f 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/saga/saga.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/compensation/saga/saga.md @@ -34,27 +34,27 @@ leaking state across runs. import { createSaga, createStep } from "@suaveplan/workflow"; const saga = createSaga<{ orderId: string }>({ - id: "booking", - name: "Booking saga", + id: "booking", + name: "Booking saga", }); saga - .addStep( - createStep({ - id: "reserve", - name: "Reserve seats", - execute: (ctx) => reserveSeats(ctx), - compensate: (ctx) => releaseSeats(ctx), - }), - ) - .addStep( - createStep({ - id: "charge", - name: "Charge payment", - execute: (ctx) => chargeCard(ctx), - compensate: (ctx) => refundCard(ctx), - }), - ); + .addStep( + createStep({ + id: "reserve", + name: "Reserve seats", + execute: (ctx) => reserveSeats(ctx), + compensate: (ctx) => releaseSeats(ctx), + }), + ) + .addStep( + createStep({ + id: "charge", + name: "Charge payment", + execute: (ctx) => chargeCard(ctx), + compensate: (ctx) => refundCard(ctx), + }), + ); const result = await saga.execute({ orderId: "ord-1" }); ``` @@ -66,28 +66,28 @@ import { createSaga, createStep } from "@suaveplan/workflow"; const fakeClock = () => 1_000; const saga = createSaga<{ id: string }>({ - id: "two-phase", - name: "Two-phase commit", - continueCompensationOnError: false, - clock: fakeClock, + id: "two-phase", + name: "Two-phase commit", + continueCompensationOnError: false, + clock: fakeClock, }); saga.addStep( - createStep({ - id: "lock", - name: "Lock resource", - execute: (ctx) => acquireLock(ctx.id), - compensate: (ctx) => releaseLock(ctx.id), - }), + createStep({ + id: "lock", + name: "Lock resource", + execute: (ctx) => acquireLock(ctx.id), + compensate: (ctx) => releaseLock(ctx.id), + }), ); saga.addStep( - createStep({ - id: "commit", - name: "Commit", - execute: () => { - throw new Error("conflict"); - }, - }), + createStep({ + id: "commit", + name: "Commit", + execute: () => { + throw new Error("conflict"); + }, + }), ); const result = await saga.execute({ id: "row-7" }); diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/context/context.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/context/context.md index 1ffd25a..8522ad8 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/context/context.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/context/context.md @@ -36,13 +36,13 @@ the live context mutating beneath the caller. import { createContext } from "@suaveplan/workflow"; interface OrderData { - orderId: string; - total: number; + orderId: string; + total: number; } const ctx = createContext("wf-1", { - orderId: "ord-1", - total: 9.99, + orderId: "ord-1", + total: 9.99, }); ctx.setStatus("running"); ctx.updateData({ total: 14.99 }); @@ -56,21 +56,21 @@ import { createContext } from "@suaveplan/workflow"; const ctx = createContext("wf-1", { user: "alice" }); ctx.setMeta("traceId", "00-abc-def"); ctx.addStepResult({ - stepId: "validate", - status: "completed", - startedAt: 0, - completedAt: 1, - attempts: 1, + stepId: "validate", + status: "completed", + startedAt: 0, + completedAt: 1, + attempts: 1, }); const before = ctx.snapshot(); ctx.updateData({ user: "bob" }); ctx.addStepResult({ - stepId: "charge", - status: "completed", - startedAt: 1, - completedAt: 2, - attempts: 1, + stepId: "charge", + status: "completed", + startedAt: 1, + completedAt: 2, + attempts: 1, }); console.log(before.data.user); // "alice" — snapshot is unaffected diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-builder/workflow-builder.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-builder/workflow-builder.md index 5cab741..54149e3 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-builder/workflow-builder.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-builder/workflow-builder.md @@ -33,11 +33,11 @@ so callers can subscribe to lifecycle events before the engine is built. import { createWorkflow } from "@suaveplan/workflow"; const result = await createWorkflow<{ orderId: string }>("checkout") - .addStep("validate", (ctx) => { - if (!ctx.orderId) throw new Error("missing"); - }) - .build() - .run({ initialData: { orderId: "ord-1" } }); + .addStep("validate", (ctx) => { + if (!ctx.orderId) throw new Error("missing"); + }) + .build() + .run({ initialData: { orderId: "ord-1" } }); ``` ## Usage: Advanced Example @@ -46,21 +46,21 @@ const result = await createWorkflow<{ orderId: string }>("checkout") import { createWorkflow, RetryPresets } from "@suaveplan/workflow"; const engine = createWorkflow<{ user: string }>("onboarding", { - clock: () => 1_700_000_000_000, + clock: () => 1_700_000_000_000, }) - .withTimeout(30_000) - .onError("compensate") - .on("step:fail", (p) => console.error("failed:", p.stepId)); + .withTimeout(30_000) + .onError("compensate") + .on("step:fail", (p) => console.error("failed:", p.stepId)); engine - .addStep("create", (ctx) => createAccount(ctx.user)) - .withCompensation((ctx) => deleteAccount(ctx.user)) - .withRetry({ maxAttempts: 2, strategy: "exponential" }); + .addStep("create", (ctx) => createAccount(ctx.user)) + .withCompensation((ctx) => deleteAccount(ctx.user)) + .withRetry({ maxAttempts: 2, strategy: "exponential" }); engine - .addStep("notify", (ctx) => sendWelcome(ctx.user)) - .withGuard((ctx) => ctx.user.startsWith("@")) - .withTimeout(5_000); + .addStep("notify", (ctx) => sendWelcome(ctx.user)) + .withGuard((ctx) => ctx.user.startsWith("@")) + .withTimeout(5_000); const result = await engine.run({ initialData: { user: "@alice" } }); ``` diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/transition-hooks.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/transition-hooks.md index 253fcfb..8c40dc4 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/transition-hooks.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/transition-hooks.md @@ -29,7 +29,7 @@ import { createWorkflowEngine } from "@suaveplan/workflow"; const engine = createWorkflowEngine({ id: "w", name: "n", steps: [] }); engine.transitionHooks.hook((data) => { - console.log("entering", data.stepName); + console.log("entering", data.stepName); }); ``` @@ -37,18 +37,18 @@ engine.transitionHooks.hook((data) => { ```ts const engine = createWorkflowEngine<{ region: string }>({ - id: "w", - name: "checkout", - steps, + id: "w", + name: "checkout", + steps, }); const unsubscribe = engine.transitionHooks.hook(async (data) => { - if (data.context.region === "EU") { - return { - ...data, - context: { ...data.context, region: "EU-norm" }, - }; - } + if (data.context.region === "EU") { + return { + ...data, + context: { ...data.context, region: "EU-norm" }, + }; + } }); await engine.run({ initialData: { region: "EU" } }); diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/workflow-engine.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/workflow-engine.md index 8e7a8c7..517ab0e 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/workflow-engine.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/core/workflow-engine/workflow-engine.md @@ -40,18 +40,18 @@ codes. import { createWorkflowEngine } from "@suaveplan/workflow"; const engine = createWorkflowEngine<{ orderId: string }>({ - id: "wf-1", - name: "checkout", - onError: "stop", - steps: [ - { - id: "validate", - name: "Validate", - execute: (ctx) => { - if (!ctx.orderId) throw new Error("missing"); - }, - }, - ], + id: "wf-1", + name: "checkout", + onError: "stop", + steps: [ + { + id: "validate", + name: "Validate", + execute: (ctx) => { + if (!ctx.orderId) throw new Error("missing"); + }, + }, + ], }); const result = await engine.run({ initialData: { orderId: "ord-1" } }); @@ -63,31 +63,31 @@ const result = await engine.run({ initialData: { orderId: "ord-1" } }); import { createWorkflowEngine } from "@suaveplan/workflow"; const engine = createWorkflowEngine<{ user: string }>({ - id: "wf-1", - name: "onboarding", - timeout: 30_000, - onError: "compensate", - steps: [ - { - id: "create-account", - name: "Create account", - execute: (ctx) => createAccount(ctx.user), - compensate: (ctx) => deleteAccount(ctx.user), - }, - { - id: "send-welcome", - name: "Send welcome email", - execute: (ctx) => sendWelcome(ctx.user), - }, - ], + id: "wf-1", + name: "onboarding", + timeout: 30_000, + onError: "compensate", + steps: [ + { + id: "create-account", + name: "Create account", + execute: (ctx) => createAccount(ctx.user), + compensate: (ctx) => deleteAccount(ctx.user), + }, + { + id: "send-welcome", + name: "Send welcome email", + execute: (ctx) => sendWelcome(ctx.user), + }, + ], }); engine.hooks.on("step:fail", (p) => { - console.error("step failed", p.stepId, p.error?.message); + console.error("step failed", p.stepId, p.error?.message); }); engine.transitionHooks.hook((data) => { - return { ...data, context: { ...data.context, user: data.context.user.trim() } }; + return { ...data, context: { ...data.context, user: data.context.user.trim() } }; }); const run = engine.run({ initialData: { user: " alice " } }); @@ -121,7 +121,7 @@ while still satisfying the registry's reachability gate. is the original step error, so callers walking the cause chain still see the real underlying error. -The `workflow:cancel` emit happens during the loop *and* the status is +The `workflow:cancel` emit happens during the loop _and_ the status is re-set to `"cancelled"` after the loop returns; the second assignment is a guard for the rare case where the loop returns immediately because the flag was set before the first iteration. diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/errors/workflow-error.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/errors/workflow-error.md index 7c2494f..5b879a2 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/errors/workflow-error.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/errors/workflow-error.md @@ -40,20 +40,20 @@ throw new WorkflowError(WORKFLOW_CODES.TIMEOUT, 'Workflow "checkout" timed out') import { WORKFLOW_CODES, WorkflowError } from "@suaveplan/workflow/errors"; try { - await engine.run({ initialData }); + await engine.run({ initialData }); } catch (error) { - if (error instanceof WorkflowError) { - switch (error.code) { - case WORKFLOW_CODES.TIMEOUT: - metrics.record("workflow.timeout"); - break; - case WORKFLOW_CODES.COMPENSATION_FAILED: - alerts.fire({ severity: "critical", error }); - break; - default: - logger.error("workflow failed", { code: error.code }); - } - } + if (error instanceof WorkflowError) { + switch (error.code) { + case WORKFLOW_CODES.TIMEOUT: + metrics.record("workflow.timeout"); + break; + case WORKFLOW_CODES.COMPENSATION_FAILED: + alerts.fire({ severity: "critical", error }); + break; + default: + logger.error("workflow failed", { code: error.code }); + } + } } ``` diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/hook/hook.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/hook/hook.md index e790ab4..57c765d 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/hook/hook.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/hook/hook.md @@ -13,7 +13,7 @@ that aren't built in, push-notifications, audit trails). It deliberately keeps the surface to four operations — `on`, `once`, `off`, `emit` — so the engine and its consumers depend on a stable contract. -Every other module in the package emits *through* this class rather than +Every other module in the package emits _through_ this class rather than acquiring its own listeners-map, so the registry is the canonical extension point for downstream tooling. @@ -34,12 +34,12 @@ import { createHookRegistry } from "@suaveplan/workflow"; const hooks = createHookRegistry<{ orderId: string }>(); hooks.on("workflow:start", (p) => { - console.log("starting", p.workflowId); + console.log("starting", p.workflowId); }); await hooks.emit("workflow:start", { - workflowId: "wf-1", - context: { orderId: "ord-1" }, + workflowId: "wf-1", + context: { orderId: "ord-1" }, }); ``` @@ -47,34 +47,34 @@ await hooks.emit("workflow:start", { ```ts import { - buildStepPayload, - createHookRegistry, + buildStepPayload, + createHookRegistry, } from "@suaveplan/workflow"; const hooks = createHookRegistry<{ user: string }>(); const unsubscribe = hooks.on("step:fail", async (p) => { - if (p.stepResult && p.stepResult.attempts >= 3) { - await pageOnCall(p.error); - } + if (p.stepResult && p.stepResult.attempts >= 3) { + await pageOnCall(p.error); + } }); hooks.once("workflow:complete", (p) => { - console.log("done", p.workflowId, p.timestamp); + console.log("done", p.workflowId, p.timestamp); }); await hooks.emit("step:fail", buildStepPayload( - "wf-1", - { user: "alice" }, - "step-1", - { - stepId: "step-1", - status: "failed", - startedAt: 0, - completedAt: 100, - attempts: 3, - }, - new Error("boom"), + "wf-1", + { user: "alice" }, + "step-1", + { + stepId: "step-1", + status: "failed", + startedAt: 0, + completedAt: 100, + attempts: 3, + }, + new Error("boom"), )); unsubscribe(); diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/retry/retry.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/retry/retry.md index 4ffd09f..633275b 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/retry/retry.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/middleware/retry/retry.md @@ -35,8 +35,8 @@ the numbers in every consumer. import { withRetry, RetryPresets } from "@suaveplan/workflow"; const result = await withRetry( - () => fetch("/api/data").then((r) => r.json()), - RetryPresets.standard(), + () => fetch("/api/data").then((r) => r.json()), + RetryPresets.standard(), ); ``` @@ -46,14 +46,14 @@ const result = await withRetry( import { createRetryWrapper } from "@suaveplan/workflow"; const wrap = createRetryWrapper({ - maxAttempts: 4, - strategy: "exponential", - delayMs: 100, - maxDelayMs: 2_000, - shouldRetry: (err) => !(err instanceof TypeError), - onRetry: (err, attempt) => { - console.warn(`attempt ${attempt} failed:`, err.message); - }, + maxAttempts: 4, + strategy: "exponential", + delayMs: 100, + maxDelayMs: 2_000, + shouldRetry: (err) => !(err instanceof TypeError), + onRetry: (err, attempt) => { + console.warn(`attempt ${attempt} failed:`, err.message); + }, }); const json = await wrap(() => fetch("/api/v1").then((r) => r.json())); @@ -72,7 +72,7 @@ const json = await wrap(() => fetch("/api/v1").then((r) => r.json())); ## Implementation Notes -`withRetry` always rethrows the *last* error, not the *first*. Callers +`withRetry` always rethrows the _last_ error, not the _first_. Callers that want the first-error semantics can capture it inside an `onRetry` closure. The loop checks `attempt >= maxAttempts` before `shouldRetry` so the final attempt always actually runs even if `shouldRetry` would have diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/otel/instruments.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/otel/instruments.md index 80f52fb..15fe9f2 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/otel/instruments.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/otel/instruments.md @@ -52,7 +52,7 @@ await engine.run({ initialData }); const snapshot = await reader.collect(); const stepCounter = snapshot.resourceMetrics.scopeMetrics[0].metrics.find( - (m) => m.descriptor.name === "workflow.step.executed_total", + (m) => m.descriptor.name === "workflow.step.executed_total", ); expect(stepCounter?.dataPoints.length).toBeGreaterThan(0); diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/conditional-step/conditional-step.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/conditional-step/conditional-step.md index fc330f0..ce2f4ae 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/conditional-step/conditional-step.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/conditional-step/conditional-step.md @@ -34,19 +34,19 @@ concerns. `compensate` rolls back only the branch that actually ran. import { createConditionalStep, createStep } from "@suaveplan/workflow"; const branch = createConditionalStep<{ premium: boolean }>({ - id: "discount", - name: "Discount", - condition: (ctx) => ctx.premium, - onTrue: createStep({ - id: "premium", - name: "Premium discount", - execute: () => ({ discountPct: 30 }), - }), - onFalse: createStep({ - id: "standard", - name: "Standard discount", - execute: () => ({ discountPct: 5 }), - }), + id: "discount", + name: "Discount", + condition: (ctx) => ctx.premium, + onTrue: createStep({ + id: "premium", + name: "Premium discount", + execute: () => ({ discountPct: 30 }), + }), + onFalse: createStep({ + id: "standard", + name: "Standard discount", + execute: () => ({ discountPct: 5 }), + }), }); const result = await branch.run({ premium: true }); ``` @@ -57,21 +57,21 @@ const result = await branch.run({ premium: true }); import { createConditionalStep, createStep } from "@suaveplan/workflow"; const ship = createStep<{ shipped: boolean }>({ - id: "ship", - name: "Ship", - execute: async (ctx) => { - await dispatch(ctx); - }, - compensate: async (ctx) => { - await recall(ctx); - }, + id: "ship", + name: "Ship", + execute: async (ctx) => { + await dispatch(ctx); + }, + compensate: async (ctx) => { + await recall(ctx); + }, }); const guard = createConditionalStep<{ ready: boolean }>({ - id: "maybe-ship", - name: "Maybe ship", - condition: (ctx) => ctx.ready, - onTrue: ship, + id: "maybe-ship", + name: "Maybe ship", + condition: (ctx) => ctx.ready, + onTrue: ship, }); await guard.run({ ready: true }); diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/parallel-step/parallel-step.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/parallel-step/parallel-step.md index b216c59..5afac88 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/parallel-step/parallel-step.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/parallel-step/parallel-step.md @@ -36,13 +36,13 @@ failure. import { createParallelStep, createStep } from "@suaveplan/workflow"; const group = createParallelStep<{ url: string }>({ - groupId: "fetch-group", - name: "Fetch resources", + groupId: "fetch-group", + name: "Fetch resources", }); group - .addStep(createStep({ id: "a", name: "A", execute: () => "a" })) - .addStep(createStep({ id: "b", name: "B", execute: () => "b" })); + .addStep(createStep({ id: "a", name: "A", execute: () => "a" })) + .addStep(createStep({ id: "b", name: "B", execute: () => "b" })); const result = await group.run({ url: "https://example.com" }); ``` @@ -53,31 +53,31 @@ const result = await group.run({ url: "https://example.com" }); import { createParallelStep, createStep } from "@suaveplan/workflow"; const group = createParallelStep<{ jobIds: string[] }>({ - groupId: "process", - name: "Process jobs", - maxConcurrency: 2, - failFast: true, + groupId: "process", + name: "Process jobs", + maxConcurrency: 2, + failFast: true, }); for (const id of ["a", "b", "c", "d"]) { - group.addStep( - createStep({ - id, - name: `process-${id}`, - execute: async (ctx) => { - if (id === "b") throw new Error("nope"); - return id; - }, - compensate: async () => { - await unprocess(id); - }, - }), - ); + group.addStep( + createStep({ + id, + name: `process-${id}`, + execute: async (ctx) => { + if (id === "b") throw new Error("nope"); + return id; + }, + compensate: async () => { + await unprocess(id); + }, + }), + ); } const result = await group.run({ jobIds: [] }); if (result.status === "failed") { - await group.compensateAll({ jobIds: [] }); + await group.compensateAll({ jobIds: [] }); } ``` diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/step/step.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/step/step.md index 5369235..d3d5ef8 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/step/step.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/steps/step/step.md @@ -37,9 +37,9 @@ unless they want to. import { createStep } from "@suaveplan/workflow"; const charge = createStep<{ total: number }>({ - id: "charge", - name: "Charge card", - execute: (ctx) => ({ chargedAt: Date.now(), amount: ctx.total }), + id: "charge", + name: "Charge card", + execute: (ctx) => ({ chargedAt: Date.now(), amount: ctx.total }), }); const result = await charge.run({ total: 9.99 }); @@ -52,20 +52,20 @@ import { createStep, RetryPresets } from "@suaveplan/workflow"; const fakeClock = () => 0; const flaky = createStep<{ url: string }>({ - id: "fetch", - name: "Fetch resource", - execute: async (ctx) => { - const response = await fetch(ctx.url); - if (!response.ok) throw new Error(`status ${response.status}`); - return response.json(); - }, - guard: (ctx) => ctx.url.startsWith("https://"), - retry: RetryPresets.standard(), - timeout: 5_000, - compensate: async () => { - await releaseLock(); - }, - clock: fakeClock, + id: "fetch", + name: "Fetch resource", + execute: async (ctx) => { + const response = await fetch(ctx.url); + if (!response.ok) throw new Error(`status ${response.status}`); + return response.json(); + }, + guard: (ctx) => ctx.url.startsWith("https://"), + retry: RetryPresets.standard(), + timeout: 5_000, + compensate: async () => { + await releaseLock(); + }, + clock: fakeClock, }); ``` diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/types/common.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/types/common.md index fc61cf9..d631a99 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/types/common.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/types/common.md @@ -26,18 +26,18 @@ package root barrel and reason about wire shapes without chasing imports. import type { WorkflowConfig, StepDefinition } from "@suaveplan/workflow"; const validate: StepDefinition<{ items: string[] }> = { - id: "validate", - name: "Validate", - execute: (ctx) => { - if (ctx.items.length === 0) throw new Error("empty"); - }, + id: "validate", + name: "Validate", + execute: (ctx) => { + if (ctx.items.length === 0) throw new Error("empty"); + }, }; const config: WorkflowConfig<{ items: string[] }> = { - id: "wf-1", - name: "checkout", - steps: [validate], - onError: "stop", + id: "wf-1", + name: "checkout", + steps: [validate], + onError: "stop", }; ``` @@ -45,35 +45,35 @@ const config: WorkflowConfig<{ items: string[] }> = { ```ts import type { - HookListener, - StepResult, - RetryConfig, + HookListener, + StepResult, + RetryConfig, } from "@suaveplan/workflow"; const auditLog: HookListener<{ orderId: string }> = (payload) => { - if (payload.event === "step:fail" && payload.stepResult) { - console.error("step failed", { - id: payload.stepResult.stepId, - attempts: payload.stepResult.attempts, - error: payload.stepResult.error?.message, - }); - } + if (payload.event === "step:fail" && payload.stepResult) { + console.error("step failed", { + id: payload.stepResult.stepId, + attempts: payload.stepResult.attempts, + error: payload.stepResult.error?.message, + }); + } }; const exponential: RetryConfig = { - maxAttempts: 5, - strategy: "exponential", - delayMs: 100, - backoffMultiplier: 2, - maxDelayMs: 5000, + maxAttempts: 5, + strategy: "exponential", + delayMs: 100, + backoffMultiplier: 2, + maxDelayMs: 5000, }; const skipped: StepResult = { - stepId: "skip", - status: "skipped", - startedAt: 0, - completedAt: 0, - attempts: 0, + stepId: "skip", + status: "skipped", + startedAt: 0, + completedAt: 0, + attempts: 0, }; ``` diff --git a/plugins/document-navigator/docs/foundation/flow/workflow/src/types/workflow-hooks.md b/plugins/document-navigator/docs/foundation/flow/workflow/src/types/workflow-hooks.md index e02d665..1658721 100644 --- a/plugins/document-navigator/docs/foundation/flow/workflow/src/types/workflow-hooks.md +++ b/plugins/document-navigator/docs/foundation/flow/workflow/src/types/workflow-hooks.md @@ -32,7 +32,7 @@ changing the handler signatures. import type { WorkflowTransitioningHandler } from "@suaveplan/workflow"; const audit: WorkflowTransitioningHandler<{ userId: string }> = (data) => { - console.log("entering step", data.stepName, "for", data.context.userId); + console.log("entering step", data.stepName, "for", data.context.userId); }; ``` @@ -40,25 +40,25 @@ const audit: WorkflowTransitioningHandler<{ userId: string }> = (data) => { ```ts import type { - WorkflowTransitionData, - WorkflowTransitioningHandler, + WorkflowTransitionData, + WorkflowTransitioningHandler, } from "@suaveplan/workflow"; interface OrderCtx { - orderId: string; - region: string; - taxRate?: number; + orderId: string; + region: string; + taxRate?: number; } // Enrich context with region-specific tax rate before each step runs. const enrichTax: WorkflowTransitioningHandler = async (data) => { - if (data.context.taxRate !== undefined) return; - const rate = await fetchTaxRate(data.context.region); - const next: WorkflowTransitionData = { - ...data, - context: { ...data.context, taxRate: rate }, - }; - return next; + if (data.context.taxRate !== undefined) return; + const rate = await fetchTaxRate(data.context.region); + const next: WorkflowTransitionData = { + ...data, + context: { ...data.context, taxRate: rate }, + }; + return next; }; ``` diff --git a/plugins/document-navigator/docs/foundation/random/noise/README.md b/plugins/document-navigator/docs/foundation/random/noise/README.md index aad3829..2ceb927 100644 --- a/plugins/document-navigator/docs/foundation/random/noise/README.md +++ b/plugins/document-navigator/docs/foundation/random/noise/README.md @@ -23,7 +23,9 @@ Seeded spatial noise fields for procedural content generation. Provides six fiel - [value](./src/value/value.md) — _(no submodules)_ - [worley](./src/worley/worley.md) — _(no submodules)_ - [worley](./src/worley/worley.md) — _(no submodules)_ + - [blue](./src/blue/blue.md) — _(no submodules)_- [errors](./src/errors/noise-error.md) — _(no submodules)_- [noise-error](./src/errors/noise-error.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_- [utils](./src/utils/permutation.md) — _(no submodules)_- [permutation](./src/utils/permutation.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_- [blue](./src/blue/blue.md) — _(no submodules)_- [errors](./src/errors/noise-error.md) — _(no submodules)_- [noise-error](./src/errors/noise-error.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_- [utils](./src/utils/permutation.md) — _(no submodules)_- [permutation](./src/utils/permutation.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_- [blue](./src/blue/blue.md) — _(no submodules)_- [errors](./src/errors/noise-error.md) — _(no submodules)_- [noise-error](./src/errors/noise-error.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_- [utils](./src/utils/permutation.md) — _(no submodules)_- [permutation](./src/utils/permutation.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_- [blue](./src/blue/blue.md) — _(no submodules)_- [errors](./src/errors/noise-error.md) — _(no submodules)_ - [noise-error](./src/errors/noise-error.md) — _(no submodules)_- [fbm](./src/fbm/fbm.md) — _(no submodules)_ - [fbm](./src/fbm/fbm.md) — _(no submodules)_- [perlin](./src/perlin/perlin.md) — _(no submodules)_ - [perlin](./src/perlin/perlin.md) — _(no submodules)_- [simplex](./src/simplex/simplex.md) — _(no submodules)_ - [simplex](./src/simplex/simplex.md) — _(no submodules)_- [utils](./src/utils/permutation.md) — _(no submodules)_ - [permutation](./src/utils/permutation.md) — _(no submodules)_- [value](./src/value/value.md) — _(no submodules)_ - [value](./src/value/value.md) — _(no submodules)_- [worley](./src/worley/worley.md) — _(no submodules)_ - [worley](./src/worley/worley.md) — _(no submodules)_ + ## Install ```sh diff --git a/plugins/document-navigator/docs/foundation/random/pseudo-random/README.md b/plugins/document-navigator/docs/foundation/random/pseudo-random/README.md index 50dcce9..d66cd88 100644 --- a/plugins/document-navigator/docs/foundation/random/pseudo-random/README.md +++ b/plugins/document-navigator/docs/foundation/random/pseudo-random/README.md @@ -17,7 +17,9 @@ Deterministic, seeded pseudo-random number generators (PRNGs) conforming to the - [normalize](./src/seed/normalize.md) — _(no submodules)_ - [sample](./src/utils/sample.md) — The `sample` module covers the two sampling primitives that sit above `shuffle`: unique-without-replacement `sample` fo… - [shuffle](./src/utils/shuffle.md) — The `shuffle` module provides deterministic Fisher-Yates shuffling and single-element `choice` drawn from a user-suppli… + - [pseudo-random-error](./src/errors/pseudo-random-error.md) — _(no submodules)_- [seed](./src/seed/normalize.md) — _(no submodules)_- [normalize](./src/seed/normalize.md) — _(no submodules)_- [sample](./src/utils/sample.md) — The `sample` module covers the two sampling primitives that sit above `shuffle`: unique-without-replacement `sample` fo… + - [shuffle](./src/utils/shuffle.md) — The `shuffle` module provides deterministic Fisher-Yates shuffling and single-element `choice` drawn from a user-suppli… - [pseudo-random-error](./src/errors/pseudo-random-error.md) — _(no submodules)_- [seed](./src/seed/normalize.md) — _(no submodules)_- [normalize](./src/seed/normalize.md) — _(no submodules)_- [sample](./src/utils/sample.md) — The `sample` module covers the two sampling primitives that sit above `shuffle`: unique-without-replacement `sample` fo… - [shuffle](./src/utils/shuffle.md) — The `shuffle` module provides deterministic Fisher-Yates shuffling and single-element `choice` drawn from a user-suppli… diff --git a/plugins/document-navigator/docs/foundation/random/random/README.md b/plugins/document-navigator/docs/foundation/random/random/README.md index 3f06a07..446f325 100644 --- a/plugins/document-navigator/docs/foundation/random/random/README.md +++ b/plugins/document-navigator/docs/foundation/random/random/README.md @@ -30,7 +30,9 @@ High-level cryptographically secure randomness for application use. This is the - [default-rng](./src/source/default-rng.md) — The `default-rng` module holds the process-wide default `Rng` that every helper in `@suaveplan/random` falls back to wh… - [strings](./src/strings/random-string.md) — _(no submodules)_ - [random-string](./src/strings/random-string.md) — _(no submodules)_ + - [collections](./src/collections/collections.md) — _(no submodules)_- [continuous](./src/distributions/continuous/continuous.md) — _(no submodules)_- [continuous](./src/distributions/continuous/continuous.md) — _(no submodules)_- [discrete](./src/distributions/discrete/discrete.md) — _(no submodules)_- [discrete](./src/distributions/discrete/discrete.md) — _(no submodules)_- [sampler](./src/distributions/sampler/sampler.md) — _(no submodules)_- [sampler](./src/distributions/sampler/sampler.md) — _(no submodules)_- [errors](./src/errors/random-error.md) — _(no submodules)_- [random-error](./src/errors/random-error.md) — _(no submodules)_- [game](./src/game/dice.md) — _(no submodules)_- [dice](./src/game/dice.md) — _(no submodules)_- [nanoid](./src/ids/nanoid.md) — The `nanoid` module implements the Nano ID scheme: a configurable-length, URL-safe random string using a 64-character a… + - [ulid](./src/ids/ulid.md) — The `ulid` module implements the Universally Unique Lexicographically Sortable Identifier per the original Alizain Feer… - [uuid](./src/ids/uuid.md) — The `uuid` module produces RFC 9562-compliant UUIDv4 and UUIDv7 identifiers. UUIDv4 is 122 bits of pure randomness with… - [random-float](./src/numbers/random-float.md) — The `random-float` module produces a uniformly distributed double in a user-specified half-open interval `[min, max)`.… @@ -59,6 +61,7 @@ High-level cryptographically secure randomness for application use. This is the - [objects](./src/objects/objects.md) — _(no submodules)_ - [objects](./src/objects/objects.md) — _(no submodules)_- [crypto-rng](./src/source/crypto-rng.md) — The `crypto-rng` module is the single authoritative binding between `@suaveplan/random` and the platform's cryptographi… - [default-rng](./src/source/default-rng.md) — The `default-rng` module holds the process-wide default `Rng` that every helper in `@suaveplan/random` falls back to wh… - [strings](./src/strings/random-string.md) — _(no submodules)_ - [random-string](./src/strings/random-string.md) — _(no submodules)_ + ## Install ```sh diff --git a/plugins/document-navigator/docs/foundation/timing/cron/README.md b/plugins/document-navigator/docs/foundation/timing/cron/README.md index 501bc1f..bbbd080 100644 --- a/plugins/document-navigator/docs/foundation/timing/cron/README.md +++ b/plugins/document-navigator/docs/foundation/timing/cron/README.md @@ -27,11 +27,14 @@ scheduler. Zero external cron dependencies — written natively against - [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_ - [timezone](./src/timezone/timezone.md) — _(no submodules)_ - [timezone](./src/timezone/timezone.md) — _(no submodules)_ + - [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_- [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… - - [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_- [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_- [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_- [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… - - [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_- [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_- [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_- [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… - - [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_- [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_- [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_ - [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_ - [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_ - [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… - - [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_ - [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_ - [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_ - [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_ - [timezone](./src/timezone/timezone.md) — _(no submodules)_ + +- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_- [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_- [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_- [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… +- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_- [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_- [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_- [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… +- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_- [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_- [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_- [cron-error](./src/errors/cron-error.md) — _(no submodules)_- [fields](./src/fields/cron-fields.md) — _(no submodules)_ - [cron-fields](./src/fields/cron-fields.md) — _(no submodules)_- [macros](./src/macros/macros.md) — _(no submodules)_ - [macros](./src/macros/macros.md) — _(no submodules)_- [next-run](./src/next-run/next-run.md) — _(no submodules)_ - [next-run-fields](./src/next-run/next-run-fields.md) — `next-run-fields` houses the low-level field-walking helpers used by the forward and backward next-run search loops in… +- [next-run](./src/next-run/next-run.md) — _(no submodules)_- [otel](./src/otel/cron-otel.md) — _(no submodules)_ - [cron-otel](./src/otel/cron-otel.md) — _(no submodules)_- [parse](./src/parse/parse-cron.md) — _(no submodules)_ - [parse-cron](./src/parse/parse-cron.md) — _(no submodules)_- [scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_ - [cron-scheduler](./src/scheduler/cron-scheduler.md) — _(no submodules)_- [timezone](./src/timezone/timezone.md) — _(no submodules)_ - [timezone](./src/timezone/timezone.md) — _(no submodules)_ + ## Quick start ```typescript @@ -141,4 +144,3 @@ browser UIs consume parsing without dragging in the runtime. ```bash bunx turbo test:coverage --filter=@suaveplan/cron ``` - diff --git a/plugins/document-navigator/docs/foundation/timing/datetime/README.md b/plugins/document-navigator/docs/foundation/timing/datetime/README.md index 65662ea..6c1f44e 100644 --- a/plugins/document-navigator/docs/foundation/timing/datetime/README.md +++ b/plugins/document-navigator/docs/foundation/timing/datetime/README.md @@ -25,31 +25,34 @@ Timezone-aware date/time utilities covering the most common application-layer da - [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_ - [relative](./src/relative/relative.md) — _(no submodules)_ - [relative](./src/relative/relative.md) — _(no submodules)_ + - [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… - - [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… - - [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… - - [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… - - [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_- [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_- [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… - - [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… - - [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… - - [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… - - [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… - - [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… - - [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_- [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_- [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… - - [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… - - [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… - - [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… - - [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… - - [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… - - [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_- [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_- [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… - - [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… - - [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_ - [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… - - [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… - - [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… - - [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… - - [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_ - [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_ - [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_ - [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… - - [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… - - [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_ - [relative](./src/relative/relative.md) — _(no submodules)_ + +- [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… +- [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… +- [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… +- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_- [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_- [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… +- [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… +- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… +- [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… +- [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… +- [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… +- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_- [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_- [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… +- [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… +- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… +- [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… +- [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… +- [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… +- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_- [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_- [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… +- [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… +- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_- [business-days](./src/business-days/business-days.md) — _(no submodules)_- [calendar](./src/calendar/calendar.md) — _(no submodules)_ - [calendar-boundary](./src/calendar/calendar-boundary.md) — `calendar-boundary` provides `startOf` and `endOf` functions for `@suaveplan/datetime`, computing the precise first and… +- [calendar-core](./src/calendar/calendar-core.md) — `calendar-core` provides the foundational date primitives for `@suaveplan/datetime`: coercing heterogeneous `DateInput`… +- [calendar-duration](./src/calendar/calendar-duration.md) — `calendar-duration` provides duration arithmetic for `@suaveplan/datetime`: adding and subtracting `Duration` bags from… +- [calendar-grid](./src/calendar/calendar-grid.md) — `calendar-grid` provides `getCalendarMonth`, which builds a full calendar month grid for use in UI calendar components… +- [calendar](./src/calendar/calendar.md) — _(no submodules)_- [errors](./src/errors/datetime-error.md) — _(no submodules)_ - [datetime-error](./src/errors/datetime-error.md) — _(no submodules)_- [otel](./src/otel/datetime-otel.md) — _(no submodules)_ - [datetime-otel](./src/otel/datetime-otel.md) — _(no submodules)_- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_ - [recurrence-generate](./src/recurrence/recurrence-generate.md) — `recurrence-generate` provides the internal generator functions that produce infinite sequences of candidate dates for… +- [recurrence-helpers](./src/recurrence/recurrence-helpers.md) — `recurrence-helpers` provides the internal constants and low-level date arithmetic utilities shared across the recurren… +- [recurrence](./src/recurrence/recurrence.md) — _(no submodules)_- [relative](./src/relative/relative.md) — _(no submodules)_ - [relative](./src/relative/relative.md) — _(no submodules)_ + ## Modules | Module | Description | @@ -89,4 +92,3 @@ bun add @suaveplan/datetime ## License MIT - diff --git a/plugins/document-navigator/docs/foundation/timing/timing/README.md b/plugins/document-navigator/docs/foundation/timing/timing/README.md index 921270b..5fb15a1 100644 --- a/plugins/document-navigator/docs/foundation/timing/timing/README.md +++ b/plugins/document-navigator/docs/foundation/timing/timing/README.md @@ -29,7 +29,9 @@ Timing and scheduling utilities for application-layer time management. The packa - [timer](./src/timer/timer.md) — _(no submodules)_ - [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ - [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ + - [decay](./src/decay/decay.md) — _(no submodules)_- [errors](./src/errors/timing-error.md) — _(no submodules)_- [timing-error](./src/errors/timing-error.md) — _(no submodules)_- [otel](./src/otel/timing-otel.md) — _(no submodules)_- [timing-otel](./src/otel/timing-otel.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [decay](./src/decay/decay.md) — _(no submodules)_- [errors](./src/errors/timing-error.md) — _(no submodules)_- [timing-error](./src/errors/timing-error.md) — _(no submodules)_- [otel](./src/otel/timing-otel.md) — _(no submodules)_- [timing-otel](./src/otel/timing-otel.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [decay](./src/decay/decay.md) — _(no submodules)_- [errors](./src/errors/timing-error.md) — _(no submodules)_- [timing-error](./src/errors/timing-error.md) — _(no submodules)_- [otel](./src/otel/timing-otel.md) — _(no submodules)_- [timing-otel](./src/otel/timing-otel.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [decay](./src/decay/decay.md) — _(no submodules)_- [errors](./src/errors/timing-error.md) — _(no submodules)_ - [timing-error](./src/errors/timing-error.md) — _(no submodules)_- [otel](./src/otel/timing-otel.md) — _(no submodules)_ - [timing-otel](./src/otel/timing-otel.md) — _(no submodules)_- [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_ - [scheduler](./src/scheduler/scheduler.md) — _(no submodules)_- [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_ - [stopwatch](./src/stopwatch/stopwatch.md) — _(no submodules)_- [throttle](./src/throttle/throttle.md) — _(no submodules)_ - [throttle](./src/throttle/throttle.md) — _(no submodules)_- [timer](./src/timer/timer.md) — _(no submodules)_ - [timer](./src/timer/timer.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ - [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ + ## Install ```sh @@ -86,4 +88,3 @@ nodeB.merge(nodeA.snapshot()); | `vector-clock` — `createVectorClock`, `vectorClockCompare`, happens-before ordering | [`src/vector-clock/vector-clock.md`](src/vector-clock/vector-clock.md) | | `timing-error` — `TimingError`, `TIMING_CODES` | [`src/errors/timing-error.md`](src/errors/timing-error.md) | | `timing-otel` — OpenTelemetry span/event helpers | [`src/otel/timing-otel.md`](src/otel/timing-otel.md) | - diff --git a/plugins/document-navigator/docs/foundation/timing/timing/src/throttle/once/once.md b/plugins/document-navigator/docs/foundation/timing/timing/src/throttle/once/once.md index 4db115e..1d1ea35 100644 --- a/plugins/document-navigator/docs/foundation/timing/timing/src/throttle/once/once.md +++ b/plugins/document-navigator/docs/foundation/timing/timing/src/throttle/once/once.md @@ -91,4 +91,4 @@ The wrapper holds two pieces of state: a boolean `called` flag and the cached `r **Differences from upstream** -The legacy `../suaveplan/packages/universal/timing/src/throttle/throttle.ts::once` set `called = true` *before* the `result = func(...)` assignment. A thrown call therefore left the wrapper permanently "called" with `result` undefined, and every retry silently returned `undefined`. suaveplan fixes this by ordering "invoke, assign, mark called" so the failure mode degrades safely to retry. The return type is also tightened from `TReturn | undefined` to `TReturn` — the wrapper never returns `undefined` unless `fn` itself does, in which case `TReturn` already includes `undefined`. +The legacy `../suaveplan/packages/universal/timing/src/throttle/throttle.ts::once` set `called = true` _before_ the `result = func(...)` assignment. A thrown call therefore left the wrapper permanently "called" with `result` undefined, and every retry silently returned `undefined`. suaveplan fixes this by ordering "invoke, assign, mark called" so the failure mode degrades safely to retry. The return type is also tightened from `TReturn | undefined` to `TReturn` — the wrapper never returns `undefined` unless `fn` itself does, in which case `TReturn` already includes `undefined`. diff --git a/plugins/document-navigator/docs/gaming/games/controller/README.md b/plugins/document-navigator/docs/gaming/games/controller/README.md index dd3a256..451c256 100644 --- a/plugins/document-navigator/docs/gaming/games/controller/README.md +++ b/plugins/document-navigator/docs/gaming/games/controller/README.md @@ -63,4 +63,3 @@ The coverage gate is 100/100/100/100 (istanbul). The package's `tests/setup/polyfills.ts` registers an in-memory `MeterProvider` before source modules import the OTel meter so the telemetry assertions resolve against a real exporter, with no mocks. - diff --git a/plugins/document-navigator/docs/gaming/games/controller/src/error-codes/error-codes.md b/plugins/document-navigator/docs/gaming/games/controller/src/error-codes/error-codes.md index 3ca98f6..736ffd2 100644 --- a/plugins/document-navigator/docs/gaming/games/controller/src/error-codes/error-codes.md +++ b/plugins/document-navigator/docs/gaming/games/controller/src/error-codes/error-codes.md @@ -85,30 +85,30 @@ type error in strict-mode consumers. ## API Reference - `CONTROLLER_CODES` - - `INVALID_OPTIONS` — Zod boundary rejected the constructor options + - `INVALID_OPTIONS` — Zod boundary rejected the constructor options bundle; `context.issues` carries the Zod issue array. - - `INVALID_INPUT_KEY` — `setThreshold` (or future device adapters) + - `INVALID_INPUT_KEY` — `setThreshold` (or future device adapters) received an input key not present in `CONTROLLER_INPUT_KEYS`. - - `DESTROYED_INSTANCE` — operation attempted after `destroy()` on an + - `DESTROYED_INSTANCE` — operation attempted after `destroy()` on an instance that does not silently no-op (strict-mode opt-in). - - `KEYBOARD_TARGET_MISSING` — `KeyboardController.attach()` was + - `KEYBOARD_TARGET_MISSING` — `KeyboardController.attach()` was called but neither an `EventTargetLike` was injected nor a global `window` was discoverable; `context.target` reports the resolved value. - - `INVALID_KEY_MAP` — `KeyboardController` received a `keyMap` whose + - `INVALID_KEY_MAP` — `KeyboardController` received a `keyMap` whose value is not one of `CONTROLLER_INPUT_KEYS`; `context.entry` carries the `[key, input]` tuple that failed validation. - - `GAMEPAD_API_UNAVAILABLE` — `GamepadController.update()` was + - `GAMEPAD_API_UNAVAILABLE` — `GamepadController.update()` was called but neither a `GamepadSource` was injected nor a global `navigator.getGamepads` was discoverable. - - `INVALID_GAMEPAD_MAP` — `GamepadController` received a + - `INVALID_GAMEPAD_MAP` — `GamepadController` received a `buttonMap`/`axisMap` whose value targets an input key not present in `CONTROLLER_INPUT_KEYS`; `context.entry` carries the failing tuple. - - `DUPLICATE_CHILD` — `ControllerMerger.addController()` received a + - `DUPLICATE_CHILD` — `ControllerMerger.addController()` received a child already attached, or a second child whose `id` collides with an existing one; `context` carries the child id. - - `UNKNOWN_CHILD` — `ControllerMerger.removeController()` was called + - `UNKNOWN_CHILD` — `ControllerMerger.removeController()` was called with a child that is not currently attached. - `ControllerCode` — literal union of every code string. - `class ControllerError extends SuaveplanError` — diff --git a/plugins/document-navigator/docs/gaming/games/controller/src/gamepad/gamepad.md b/plugins/document-navigator/docs/gaming/games/controller/src/gamepad/gamepad.md index d89b97b..66d288e 100644 --- a/plugins/document-navigator/docs/gaming/games/controller/src/gamepad/gamepad.md +++ b/plugins/document-navigator/docs/gaming/games/controller/src/gamepad/gamepad.md @@ -98,15 +98,15 @@ console.log(gp.getValue("right")); // 191 ## API Reference - `class GamepadController extends BaseController` - - `constructor(options?: GamepadControllerOptions)` - - `update(): void` — polls the source, diffs against last frame, + - `constructor(options?: GamepadControllerOptions)` + - `update(): void` — polls the source, diffs against last frame, pushes updates through `setState()`. Throws `ControllerError(GAMEPAD_API_UNAVAILABLE)` when no source is available. No-op after `destroy()`. - - `getDeadzone(): number` — resolved deadzone. - - `getPadIndex(): number` — bound pad index. - - `getButtonMap(): GamepadButtonMap` — immutable button map. - - `getAxisMap(): GamepadAxisMap` — immutable axis map. + - `getDeadzone(): number` — resolved deadzone. + - `getPadIndex(): number` — bound pad index. + - `getButtonMap(): GamepadButtonMap` — immutable button map. + - `getAxisMap(): GamepadAxisMap` — immutable axis map. - `DEFAULT_GAMEPAD_BUTTON_MAP: GamepadButtonMap` — W3C standard mapping. - `DEFAULT_GAMEPAD_AXIS_MAP: GamepadAxisMap` — W3C standard axis diff --git a/plugins/document-navigator/docs/gaming/games/controller/src/keyboard/keyboard.md b/plugins/document-navigator/docs/gaming/games/controller/src/keyboard/keyboard.md index d88d8a3..cc8d244 100644 --- a/plugins/document-navigator/docs/gaming/games/controller/src/keyboard/keyboard.md +++ b/plugins/document-navigator/docs/gaming/games/controller/src/keyboard/keyboard.md @@ -91,15 +91,15 @@ kb.destroy(); ## API Reference - `class KeyboardController extends BaseController` - - `constructor(options?: KeyboardControllerOptions)` - - `attach(): void` — bind `keydown`/`keyup` to the resolved + - `constructor(options?: KeyboardControllerOptions)` + - `attach(): void` — bind `keydown`/`keyup` to the resolved target. Throws `ControllerError(KEYBOARD_TARGET_MISSING)` when no target is available. - - `detach(): void` — idempotent removal of listeners. - - `getPressedKeys(): readonly string[]` — snapshot of physical + - `detach(): void` — idempotent removal of listeners. + - `getPressedKeys(): readonly string[]` — snapshot of physical keys currently held down (by `code` or `key` identifier). - - `getKeyMap(): KeyboardKeyMap` — immutable key → input map. - - `destroy(): void` — detaches listeners and clears state. + - `getKeyMap(): KeyboardKeyMap` — immutable key → input map. + - `destroy(): void` — detaches listeners and clears state. - `DEFAULT_KEYBOARD_KEY_MAP: KeyboardKeyMap` — frozen default map used when `options.keyMap` is omitted. - `interface KeyboardControllerOptions extends BaseControllerOptions` diff --git a/plugins/document-navigator/docs/gaming/games/controller/src/merger/merger.md b/plugins/document-navigator/docs/gaming/games/controller/src/merger/merger.md index 7e3e416..73d4fc5 100644 --- a/plugins/document-navigator/docs/gaming/games/controller/src/merger/merger.md +++ b/plugins/document-navigator/docs/gaming/games/controller/src/merger/merger.md @@ -114,27 +114,27 @@ merger.destroy(); // destroys padB as well ## API Reference - `class ControllerMerger extends BaseController` - - `constructor(options?: ControllerMergerOptions)` — accepts every + - `constructor(options?: ControllerMergerOptions)` — accepts every `BaseControllerOptions` field plus `children?: readonly BaseController[]` seeded eagerly via `addController()`. - - `addController(child: BaseController): void` — subscribes to + - `addController(child: BaseController): void` — subscribes to `onAnyInput` + `onCombo`, captures the current snapshot, marks the merger dirty. Throws `CONTROLLER.DUPLICATE_CHILD` on identity or `id` collision. - - `removeController(child: BaseController): void` — disposes + - `removeController(child: BaseController): void` — disposes subscriptions, drops the snapshot, marks dirty. Throws `CONTROLLER.UNKNOWN_CHILD` when the child is not attached. - - `getChildren(): MergerChildren` — read-only snapshot of children + - `getChildren(): MergerChildren` — read-only snapshot of children in insertion order. - - `get childCount(): number` — current attachment count. - - `update(): void` — polls every child, then runs the per-field max + - `get childCount(): number` — current attachment count. + - `update(): void` — polls every child, then runs the per-field max reduction over `CONTROLLER_INPUT_KEYS` and routes diffs through `updateInput` so threshold/deadzone gating + event emission stay consistent. - - `destroy(): void` — disposes all subscriptions, destroys every + - `destroy(): void` — disposes all subscriptions, destroys every child, clears local state, then defers to `BaseController.destroy`. - `interface ControllerMergerOptions extends BaseControllerOptions` - - `children?: readonly BaseController[]` — initial seed. + - `children?: readonly BaseController[]` — initial seed. - `type MergerChildren = readonly BaseController[]` ## Implementation Notes diff --git a/plugins/document-navigator/docs/gaming/games/ecs/README.md b/plugins/document-navigator/docs/gaming/games/ecs/README.md index b1df93e..e2692e7 100644 --- a/plugins/document-navigator/docs/gaming/games/ecs/README.md +++ b/plugins/document-navigator/docs/gaming/games/ecs/README.md @@ -88,4 +88,3 @@ bun run docs:check --filter=@suaveplan/ecs ## License MIT © Suaveplan Team - diff --git a/plugins/document-navigator/docs/gaming/games/ecs/src/observability/otel.md b/plugins/document-navigator/docs/gaming/games/ecs/src/observability/otel.md index afd49d5..81a48dd 100644 --- a/plugins/document-navigator/docs/gaming/games/ecs/src/observability/otel.md +++ b/plugins/document-navigator/docs/gaming/games/ecs/src/observability/otel.md @@ -58,7 +58,7 @@ const snapshots = await /* meterProvider */; ## Implementation Notes -- The meter is resolved at module load via `metrics.getMeter("@suaveplan/ecs")`. The OTel API guarantees a stable meter reference: when a real SDK is later registered, *previously created* instruments continue to emit through the new provider. This is the documented "no-op-then-bind" pattern. +- The meter is resolved at module load via `metrics.getMeter("@suaveplan/ecs")`. The OTel API guarantees a stable meter reference: when a real SDK is later registered, _previously created_ instruments continue to emit through the new provider. This is the documented "no-op-then-bind" pattern. - The histogram unit is `"ms"`, matching `performance.now()`. The world records the wall-clock difference between the start and end of `execute(dt)`. - Counter attributes are keyed by `op`, not by code-path, so dashboards can sum spawn + despawn as a single series or split per-op trivially. - Tests should reset the in-memory exporter between cases (`testInMemoryMetricExporter.reset()`) to avoid cross-test bleed; the package's `world.spec-conformance.test.ts` does this in an `afterEach` hook. diff --git a/plugins/document-navigator/docs/gaming/games/ecs/src/schema/schema.md b/plugins/document-navigator/docs/gaming/games/ecs/src/schema/schema.md index eefa4ad..e421e0b 100644 --- a/plugins/document-navigator/docs/gaming/games/ecs/src/schema/schema.md +++ b/plugins/document-navigator/docs/gaming/games/ecs/src/schema/schema.md @@ -13,7 +13,7 @@ The optional Zod validator opts the descriptor into runtime validation: `World.a ## Features - Deep-freeze on the descriptor and its `defaults` — strict-mode mutation throws. -- Defaults are *copied* on construction, so caller mutations after `defineComponent` don't leak into the descriptor. +- Defaults are _copied_ on construction, so caller mutations after `defineComponent` don't leak into the descriptor. - Optional `schema?: z.ZodType` validator threaded through to the world's validation step. - specific addition over upstream's `defineComponent` — upstream lacked the Zod hook. @@ -61,5 +61,5 @@ world.addComponent(entity, Health, { current: -1, max: 100 }); - The defaults clone is shallow (`{ ...defaults }`). For nested mutable references, callers should freeze deeply themselves before passing in. The component schema is identity-stable, but interior mutability of a passed reference is out of scope. - The schema property is added conditionally (omitted from the object when not supplied) so JSON serialisation of a descriptor produces a clean two-key shape when no validator is supplied. -- Validation is *not* applied at registration — only at component-add / component-set boundaries. This keeps the registry decoupled from Zod and means a schema can be retrofitted onto an existing component without rewiring registration. +- Validation is _not_ applied at registration — only at component-add / component-set boundaries. This keeps the registry decoupled from Zod and means a schema can be retrofitted onto an existing component without rewiring registration. - The factory does not generate IDs; the registry assigns those on first registration via `World.registerComponent` or implicitly during `addComponent`. diff --git a/plugins/document-navigator/docs/gaming/games/ecs/src/system/system.md b/plugins/document-navigator/docs/gaming/games/ecs/src/system/system.md index 09b36a7..4ade967 100644 --- a/plugins/document-navigator/docs/gaming/games/ecs/src/system/system.md +++ b/plugins/document-navigator/docs/gaming/games/ecs/src/system/system.md @@ -6,7 +6,7 @@ _(no submodules)_ ## Purpose -A *system* is the unit of behaviour in an ECS — a function that runs over every entity matching a query and mutates component state. `defineSystem` is the factory that fills in sensible defaults (`phase: "update"`, `priority: 0`, `enabled: true`) and produces a frozen `SystemDefinition`. `SystemScheduler` is the world's internal sorted registry: it orders systems by phase then priority, lazily resorting only when the set changes. +A _system_ is the unit of behaviour in an ECS — a function that runs over every entity matching a query and mutates component state. `defineSystem` is the factory that fills in sensible defaults (`phase: "update"`, `priority: 0`, `enabled: true`) and produces a frozen `SystemDefinition`. `SystemScheduler` is the world's internal sorted registry: it orders systems by phase then priority, lazily resorting only when the set changes. Phase ordering is fixed at `preUpdate → update → postUpdate → render`, mirroring the canonical game-loop pipeline. Priority breaks ties within a phase, lowest first. diff --git a/plugins/document-navigator/docs/gaming/games/game-server/README.md b/plugins/document-navigator/docs/gaming/games/game-server/README.md index cbd2fa4..45da098 100644 --- a/plugins/document-navigator/docs/gaming/games/game-server/README.md +++ b/plugins/document-navigator/docs/gaming/games/game-server/README.md @@ -163,4 +163,3 @@ full deferral table and rationale. - [`src/engine/game-loop/game-loop.md`](src/engine/game-loop/game-loop.md) - [`src/engine/plugin-manager/plugin-manager.md`](src/engine/plugin-manager/plugin-manager.md) - [`src/observability/otel.md`](src/observability/otel.md) - diff --git a/plugins/document-navigator/docs/gaming/games/game-server/src/engine/player-manager/player-manager.md b/plugins/document-navigator/docs/gaming/games/game-server/src/engine/player-manager/player-manager.md index b97c615..12288ed 100644 --- a/plugins/document-navigator/docs/gaming/games/game-server/src/engine/player-manager/player-manager.md +++ b/plugins/document-navigator/docs/gaming/games/game-server/src/engine/player-manager/player-manager.md @@ -81,6 +81,7 @@ mgr.stopHeartbeatMonitor(); `new PlayerManager(deps, options?)` where `deps` is `{ clock, timers, logger, events }`. Options: + - `timeoutThresholdMs` (default 30000) — ms without heartbeat before a connected player is marked `timeout`. - `reconnectionGraceMs` (default 10000) — ms after a disconnect during diff --git a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/matchmaking-engine/matchmaking-engine.md b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/matchmaking-engine/matchmaking-engine.md index 48fd925..8039eb6 100644 --- a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/matchmaking-engine/matchmaking-engine.md +++ b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/matchmaking-engine/matchmaking-engine.md @@ -105,7 +105,7 @@ const match = engine.createMatchFromQueue( The skill-based algorithm tries each candidate as an anchor and grows the group greedily until either `maxPlayers` is reached or no further -peers fit inside the `skillRange`. The match returned is the *largest* +peers fit inside the `skillRange`. The match returned is the _largest_ viable group; on ties the first-found anchor wins, matching the upstream behaviour. The engine deliberately does not own the `QueueManager`'s "remove on match" semantics — `createMatchFromQueue` diff --git a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/queue-manager/queue-manager.md b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/queue-manager/queue-manager.md index d89ba80..864742e 100644 --- a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/queue-manager/queue-manager.md +++ b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/queue-manager/queue-manager.md @@ -101,7 +101,7 @@ const stats = qm.getStats(); returns `[]` if not enough tickets are waiting; throws `INVALID_MATCH_CRITERIA` on a non-positive size. - `getQueueSize(queueKey): number` / `getQueuePosition(queueKey, playerId)`. -- `getStats(): readonly QueueStats[]` — one entry per *known* queue key +- `getStats(): readonly QueueStats[]` — one entry per _known_ queue key (preserved even after the queue empties, so dashboards see history). - `clear(): void` — drops every queue. diff --git a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/skill-matcher/skill-matcher.md b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/skill-matcher/skill-matcher.md index 013350c..732051c 100644 --- a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/skill-matcher/skill-matcher.md +++ b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/skill-matcher/skill-matcher.md @@ -13,9 +13,9 @@ seeker waits. It is the matchmaking primitive that powers isolation when callers want fine-grained control over rating math, such as during round-by-round tournament seeding or AI bot pairing. -Two pieces of math drive the matcher: the *effective range* (base +Two pieces of math drive the matcher: the _effective range_ (base `ratingRange` plus `waitTimeBonus * waitMinutes`, capped at `maxRange`) -and the *score* (by default `Math.abs(seeker.rating - candidate.rating)`, +and the _score_ (by default `Math.abs(seeker.rating - candidate.rating)`, overridable via the `score` dep so callers can plug in Glicko or TrueSkill). Tie-breaks across candidates with identical scores can be made deterministic by injecting an `Rng`. diff --git a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/spectator-manager/spectator-manager.md b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/spectator-manager/spectator-manager.md index 84edb6c..12c07bb 100644 --- a/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/spectator-manager/spectator-manager.md +++ b/plugins/document-navigator/docs/gaming/games/game-server/src/matchmaking/spectator-manager/spectator-manager.md @@ -110,6 +110,6 @@ rather than a live `MapIterator` to keep callers from mutating the internal map by accident. The `onSpectatorJoined` callback receives the fully-constructed `Spectator` (id + `joinedAt` + permissions) so a network fan-out caller does not need a second lookup to broadcast the -join. Duplicate-spectator detection runs *before* cap enforcement so an +join. Duplicate-spectator detection runs _before_ cap enforcement so an already-attached viewer never accidentally fails with `SPECTATOR_LIMIT_REACHED` when the session happens to be full. diff --git a/plugins/document-navigator/docs/geospatial/geo/geo-earth/README.md b/plugins/document-navigator/docs/geospatial/geo/geo-earth/README.md index 3a22718..dc42738 100644 --- a/plugins/document-navigator/docs/geospatial/geo/geo-earth/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/geo-earth/README.md @@ -15,7 +15,9 @@ Earth configuration and legacy geo utilities. - [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_ - [geohash](./src/geohash/geohash.md) — _(no submodules)_ - [geohash](./src/geohash/geohash.md) — _(no submodules)_ + - [coordinates](./src/coordinates/coordinates.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_- [coordinates](./src/coordinates/coordinates.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_- [coordinates](./src/coordinates/coordinates.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_- [coordinates](./src/coordinates/coordinates.md) — _(no submodules)_- [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_ - [earth-config](./src/earth-config/earth-config.md) — _(no submodules)_- [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_ - [geocoding](./src/geocoding/geocoding.md) — _(no submodules)_- [geohash](./src/geohash/geohash.md) — _(no submodules)_ - [geohash](./src/geohash/geohash.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/geospatial/geo/geo-planet/README.md b/plugins/document-navigator/docs/geospatial/geo/geo-planet/README.md index aee3ce6..29e0cdc 100644 --- a/plugins/document-navigator/docs/geospatial/geo/geo-planet/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/geo-planet/README.md @@ -14,11 +14,14 @@ Configurable planet surface geometry from `PlanetConfig` — ellipsoid, atmosphe - [types](./src/types/types.md) — _(no submodules)_ - [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… - [types](./src/types/types.md) — _(no submodules)_ + - [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… - - [types](./src/types/types.md) — _(no submodules)_- [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… - - [types](./src/types/types.md) — _(no submodules)_- [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… - - [types](./src/types/types.md) — _(no submodules)_- [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_ - [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… - - [types](./src/types/types.md) — _(no submodules)_ + +- [types](./src/types/types.md) — _(no submodules)_- [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… +- [types](./src/types/types.md) — _(no submodules)_- [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… +- [types](./src/types/types.md) — _(no submodules)_- [atmospheric](./src/atmospheric/atmospheric.md) — _(no submodules)_- [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_ - [planet-surface](./src/planet-surface/planet-surface.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [schemas](./src/types/schemas.md) — The `schemas` module exposes Zod runtime schemas mirroring every public type declared in `types.ts`. Validation is the… +- [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/geospatial/geo/geo/README.md b/plugins/document-navigator/docs/geospatial/geo/geo/README.md index ef0faea..02a25d0 100644 --- a/plugins/document-navigator/docs/geospatial/geo/geo/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/geo/README.md @@ -28,8 +28,10 @@ Abstract spherical and ellipsoidal geometry — pure math with no planet-specifi - [types](./src/types/types.md) — _(no submodules)_ - [units](./src/units/units.md) — _(no submodules)_ - [units](./src/units/units.md) — _(no submodules)_ + - [angular](./src/angular/angular.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exports Zod schemas that validate every public geometric type defined in `@suaveplan/geo`. The sch… - - [types](./src/types/types.md) — _(no submodules)_- [units](./src/units/units.md) — _(no submodules)_- [units](./src/units/units.md) — _(no submodules)_- [observability](./src/observability.md) — OpenTelemetry tracer wrapper for `@suaveplan/geo`. + +- [types](./src/types/types.md) — _(no submodules)_- [units](./src/units/units.md) — _(no submodules)_- [units](./src/units/units.md) — _(no submodules)_- [observability](./src/observability.md) — OpenTelemetry tracer wrapper for `@suaveplan/geo`. - [angular](./src/angular/angular.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exports Zod schemas that validate every public geometric type defined in `@suaveplan/geo`. The sch… - [types](./src/types/types.md) — _(no submodules)_- [units](./src/units/units.md) — _(no submodules)_- [units](./src/units/units.md) — _(no submodules)_- [observability](./src/observability.md) — OpenTelemetry tracer wrapper for `@suaveplan/geo`. - [angular](./src/angular/angular.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bearing](./src/bearing/bearing.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [bounds](./src/bounds/bounds.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [distance](./src/distance/distance.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [ellipsoid](./src/ellipsoid/ellipsoid.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [polygon](./src/polygon/polygon.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [transforms](./src/transforms/transforms.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — The `schemas` module exports Zod schemas that validate every public geometric type defined in `@suaveplan/geo`. The sch… diff --git a/plugins/document-navigator/docs/geospatial/geo/geo/src/observability/observability.md b/plugins/document-navigator/docs/geospatial/geo/geo/src/observability/observability.md index 76db3b3..b5d8c84 100644 --- a/plugins/document-navigator/docs/geospatial/geo/geo/src/observability/observability.md +++ b/plugins/document-navigator/docs/geospatial/geo/geo/src/observability/observability.md @@ -1,5 +1,4 @@ - _(no submodules)_ diff --git a/plugins/document-navigator/docs/geospatial/geo/solar-system/README.md b/plugins/document-navigator/docs/geospatial/geo/solar-system/README.md index a045642..4756cd2 100644 --- a/plugins/document-navigator/docs/geospatial/geo/solar-system/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/solar-system/README.md @@ -11,7 +11,9 @@ Solar system provider with astronomy engine. - [provider](./src/provider/provider.md) — _(no submodules)_ - [seasons](./src/seasons/seasons.md) — _(no submodules)_ - [seasons](./src/seasons/seasons.md) — _(no submodules)_ + - [provider](./src/provider/provider.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [seasons](./src/seasons/seasons.md) — _(no submodules)_ - [seasons](./src/seasons/seasons.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/geospatial/geo/stars/README.md b/plugins/document-navigator/docs/geospatial/geo/stars/README.md index fa335b6..25ef369 100644 --- a/plugins/document-navigator/docs/geospatial/geo/stars/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/stars/README.md @@ -12,7 +12,9 @@ Star catalog provider. - [provider](./src/provider/provider.md) — _(no submodules)_ - [provider](./src/provider/provider.md) — _(no submodules)_ - [types](./src/types.md) — The types module declares the two foundational shapes that `@suaveplan/stars` is built on: `RawStar`, the lossless cata… + - [catalog](./src/catalog/catalog.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [types](./src/types.md) — The types module declares the two foundational shapes that `@suaveplan/stars` is built on: `RawStar`, the lossless cata… + - [catalog](./src/catalog/catalog.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [types](./src/types.md) — The types module declares the two foundational shapes that `@suaveplan/stars` is built on: `RawStar`, the lossless cata… - [catalog](./src/catalog/catalog.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [types](./src/types.md) — The types module declares the two foundational shapes that `@suaveplan/stars` is built on: `RawStar`, the lossless cata… - [catalog](./src/catalog/catalog.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_ - [provider](./src/provider/provider.md) — _(no submodules)_- [types](./src/types.md) — The types module declares the two foundational shapes that `@suaveplan/stars` is built on: `RawStar`, the lossless cata… diff --git a/plugins/document-navigator/docs/geospatial/geo/tides/README.md b/plugins/document-navigator/docs/geospatial/geo/tides/README.md index f4790fc..bc1358b 100644 --- a/plugins/document-navigator/docs/geospatial/geo/tides/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/tides/README.md @@ -20,14 +20,16 @@ Tidal prediction providers. - [stations](./src/stations/stations.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… - - [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… - - [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… - - [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_ - [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… - - [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_ - [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_ - [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_ - [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + +- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… +- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… +- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [admiralty](./src/admiralty/admiralty.md) — _(no submodules)_- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_ - [harmonic-constituents](./src/harmonic/harmonic-constituents.md) — Astronomical helper functions, Doodson coefficient tables, and per-constituent angular-speed tables consumed by the har… +- [harmonic](./src/harmonic/harmonic.md) — _(no submodules)_- [physics](./src/physics/physics.md) — _(no submodules)_ - [physics](./src/physics/physics.md) — _(no submodules)_- [provider](./src/provider/provider.md) — _(no submodules)_ - [provider](./src/provider/provider.md) — _(no submodules)_- [stations](./src/stations/stations.md) — _(no submodules)_ - [stations](./src/stations/stations.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash bun add @suaveplan/tides ``` - diff --git a/plugins/document-navigator/docs/geospatial/geo/universe/README.md b/plugins/document-navigator/docs/geospatial/geo/universe/README.md index 17c79bb..b4d146c 100644 --- a/plugins/document-navigator/docs/geospatial/geo/universe/README.md +++ b/plugins/document-navigator/docs/geospatial/geo/universe/README.md @@ -19,7 +19,9 @@ Observer model, coordinate frames, wire protocol, and provider registry. - [providers](./src/providers/providers.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [client](./src/client/client.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [client](./src/client/client.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [client](./src/client/client.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [client](./src/client/client.md) — _(no submodules)_- [frames](./src/frames/frames.md) — _(no submodules)_ - [frames](./src/frames/frames.md) — _(no submodules)_- [observer](./src/observer/observer.md) — _(no submodules)_ - [observer](./src/observer/observer.md) — _(no submodules)_- [packets](./src/packets/packets.md) — _(no submodules)_ - [packets](./src/packets/packets.md) — _(no submodules)_- [providers](./src/providers/providers.md) — _(no submodules)_ - [providers](./src/providers/providers.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/geospatial/logistics/ports/README.md b/plugins/document-navigator/docs/geospatial/logistics/ports/README.md index 0ce2c1e..fa5ab62 100644 --- a/plugins/document-navigator/docs/geospatial/logistics/ports/README.md +++ b/plugins/document-navigator/docs/geospatial/logistics/ports/README.md @@ -101,4 +101,3 @@ console.log(eta.etaDate, eta.confidence); See the canonical capability specification (requirements + scenarios + `**Verified by:**` links). - diff --git a/plugins/document-navigator/docs/identity/auth/auth/README.md b/plugins/document-navigator/docs/identity/auth/auth/README.md index 2f2c573..c6b5fce 100644 --- a/plugins/document-navigator/docs/identity/auth/auth/README.md +++ b/plugins/document-navigator/docs/identity/auth/auth/README.md @@ -21,7 +21,9 @@ Provider-agnostic authentication library for Suaveplan. Ships JWT token lifecycl - [auth-middleware](./src/middleware/auth-middleware.md) — _(no submodules)_ - [schemas](./src/schemas/auth.schemas.md) — _(no submodules)_ - [auth.schemas](./src/schemas/auth.schemas.md) — _(no submodules)_ + - [auth](./src/adapters/auth/auth.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [errors](./src/errors/auth-error.md) — _(no submodules)_- [auth-error](./src/errors/auth-error.md) — _(no submodules)_- [jwt](./src/jwt/token-lifecycle.md) — _(no submodules)_- [token-lifecycle](./src/jwt/token-lifecycle.md) — _(no submodules)_- [middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [auth-middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [schemas](./src/schemas/auth.schemas.md) — _(no submodules)_- [auth.schemas](./src/schemas/auth.schemas.md) — _(no submodules)_- [auth](./src/adapters/auth/auth.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [errors](./src/errors/auth-error.md) — _(no submodules)_- [auth-error](./src/errors/auth-error.md) — _(no submodules)_- [jwt](./src/jwt/token-lifecycle.md) — _(no submodules)_- [token-lifecycle](./src/jwt/token-lifecycle.md) — _(no submodules)_- [middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [auth-middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [schemas](./src/schemas/auth.schemas.md) — _(no submodules)_- [auth.schemas](./src/schemas/auth.schemas.md) — _(no submodules)_- [auth](./src/adapters/auth/auth.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [errors](./src/errors/auth-error.md) — _(no submodules)_- [auth-error](./src/errors/auth-error.md) — _(no submodules)_- [jwt](./src/jwt/token-lifecycle.md) — _(no submodules)_- [token-lifecycle](./src/jwt/token-lifecycle.md) — _(no submodules)_- [middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [auth-middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [schemas](./src/schemas/auth.schemas.md) — _(no submodules)_- [auth.schemas](./src/schemas/auth.schemas.md) — _(no submodules)_- [auth](./src/adapters/auth/auth.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_ - [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_ - [api-keys](./src/api-keys/api-keys.md) — _(no submodules)_- [errors](./src/errors/auth-error.md) — _(no submodules)_ - [auth-error](./src/errors/auth-error.md) — _(no submodules)_- [jwt](./src/jwt/token-lifecycle.md) — _(no submodules)_ - [token-lifecycle](./src/jwt/token-lifecycle.md) — _(no submodules)_- [middleware](./src/middleware/auth-middleware.md) — _(no submodules)_ - [auth-middleware](./src/middleware/auth-middleware.md) — _(no submodules)_- [schemas](./src/schemas/auth.schemas.md) — _(no submodules)_ - [auth.schemas](./src/schemas/auth.schemas.md) — _(no submodules)_ + ## Packages | Module | Description | diff --git a/plugins/document-navigator/docs/identity/auth/better-auth-surrealdb/README.md b/plugins/document-navigator/docs/identity/auth/better-auth-surrealdb/README.md index c3aba7b..b061acf 100644 --- a/plugins/document-navigator/docs/identity/auth/better-auth-surrealdb/README.md +++ b/plugins/document-navigator/docs/identity/auth/better-auth-surrealdb/README.md @@ -174,4 +174,3 @@ runAdapterConformance(() => ({ client, adapter })); `.`, `./adapter`, `./adapter/v1.6`, `./compile`, `./id-strategy`, `./link-fields`, `./schema`, `./schemas/options`, `./schemas/link-fields`, `./testing`, `./error-codes`, `./otel`, `./types`. - diff --git a/plugins/document-navigator/docs/identity/auth/jwt-tenant/README.md b/plugins/document-navigator/docs/identity/auth/jwt-tenant/README.md index 6b4b163..eca9560 100644 --- a/plugins/document-navigator/docs/identity/auth/jwt-tenant/README.md +++ b/plugins/document-navigator/docs/identity/auth/jwt-tenant/README.md @@ -21,7 +21,9 @@ JWT-based multi-tenant token issuance and verification for Suaveplan. Ships an E - [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_ - [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_ - [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_ + - [jwt-tenant-error](./src/errors/jwt-tenant-error.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [jwt-tenant.schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_- [jwt-tenant-error](./src/errors/jwt-tenant-error.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [jwt-tenant.schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_- [jwt-tenant-error](./src/errors/jwt-tenant-error.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [jwt-tenant.schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_- [jwt-tenant-error](./src/errors/jwt-tenant-error.md) — _(no submodules)_- [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_ - [in-memory-key-store](./src/jwks/in-memory-key-store/in-memory-key-store.md) — _(no submodules)_- [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_ - [jwks-endpoint](./src/jwks/jwks-endpoint/jwks-endpoint.md) — _(no submodules)_- [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_ - [key-generator](./src/keys/key-generator/key-generator.md) — _(no submodules)_- [schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_ - [jwt-tenant.schemas](./src/schemas/jwt-tenant.schemas.md) — _(no submodules)_- [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_ - [token-issuer](./src/token/token-issuer/token-issuer.md) — _(no submodules)_- [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_ - [token-verifier](./src/token/token-verifier/token-verifier.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/identity/auth/macos-keychain/README.md b/plugins/document-navigator/docs/identity/auth/macos-keychain/README.md index fcf0d56..542c714 100644 --- a/plugins/document-navigator/docs/identity/auth/macos-keychain/README.md +++ b/plugins/document-navigator/docs/identity/auth/macos-keychain/README.md @@ -23,8 +23,10 @@ keychain. - [schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_ - [macos-keychain.schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Centralises the eight error codes emitted by `@suaveplan/macos-keychain` and the metadata table that downstream consume… + - [error-classifier](./src/core/error-classifier/error-classifier.md) — _(no submodules)_- [keychain-bridge](./src/core/keychain-bridge/keychain-bridge.md) — _(no submodules)_- [default-executor](./src/core/keychain-bridge/default-executor.md) — Provides the runtime-aware default `CommandExecutor` used by the bridge when the consumer does not inject one. The exec… - - [keychain-bridge](./src/core/keychain-bridge/keychain-bridge.md) — _(no submodules)_- [output-parser](./src/core/output-parser/output-parser.md) — _(no submodules)_- [output-parser](./src/core/output-parser/output-parser.md) — _(no submodules)_- [errors](./src/errors/keychain-errors.md) — _(no submodules)_- [keychain-errors](./src/errors/keychain-errors.md) — _(no submodules)_- [schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_- [macos-keychain.schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Centralises the eight error codes emitted by `@suaveplan/macos-keychain` and the metadata table that downstream consume… + +- [keychain-bridge](./src/core/keychain-bridge/keychain-bridge.md) — _(no submodules)_- [output-parser](./src/core/output-parser/output-parser.md) — _(no submodules)_- [output-parser](./src/core/output-parser/output-parser.md) — _(no submodules)_- [errors](./src/errors/keychain-errors.md) — _(no submodules)_- [keychain-errors](./src/errors/keychain-errors.md) — _(no submodules)_- [schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_- [macos-keychain.schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Centralises the eight error codes emitted by `@suaveplan/macos-keychain` and the metadata table that downstream consume… - [error-classifier](./src/core/error-classifier/error-classifier.md) — _(no submodules)_- [keychain-bridge](./src/core/keychain-bridge/keychain-bridge.md) — _(no submodules)_- [default-executor](./src/core/keychain-bridge/default-executor.md) — Provides the runtime-aware default `CommandExecutor` used by the bridge when the consumer does not inject one. The exec… - [keychain-bridge](./src/core/keychain-bridge/keychain-bridge.md) — _(no submodules)_- [output-parser](./src/core/output-parser/output-parser.md) — _(no submodules)_- [output-parser](./src/core/output-parser/output-parser.md) — _(no submodules)_- [errors](./src/errors/keychain-errors.md) — _(no submodules)_- [keychain-errors](./src/errors/keychain-errors.md) — _(no submodules)_- [schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_- [macos-keychain.schemas](./src/schemas/macos-keychain.schemas.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Centralises the eight error codes emitted by `@suaveplan/macos-keychain` and the metadata table that downstream consume… - [error-classifier](./src/core/error-classifier/error-classifier.md) — _(no submodules)_- [keychain-bridge](./src/core/keychain-bridge/keychain-bridge.md) — _(no submodules)_- [default-executor](./src/core/keychain-bridge/default-executor.md) — Provides the runtime-aware default `CommandExecutor` used by the bridge when the consumer does not inject one. The exec… @@ -139,4 +141,3 @@ Eight codes — see `src/error-codes.md` for the full metadata table: ## License MIT © Suaveplan Team. - diff --git a/plugins/document-navigator/docs/identity/auth/oauth-client/README.md b/plugins/document-navigator/docs/identity/auth/oauth-client/README.md index 7762841..aeb336b 100644 --- a/plugins/document-navigator/docs/identity/auth/oauth-client/README.md +++ b/plugins/document-navigator/docs/identity/auth/oauth-client/README.md @@ -24,7 +24,9 @@ Universal OAuth 2.0 / OIDC client for Node.js, browsers, Bun, Deno, and edge run - [jwt](./src/utils/jwt.md) — Provides minimal JWT decoding utilities for extracting and validating ID-token claims on the client side. Signature ver… - [pkce](./src/utils/pkce.md) — Implements RFC 7636 Proof Key for Code Exchange (PKCE) utilities for the OAuth 2.0 authorization code flow. PKCE preven… - [url-builder](./src/utils/url-builder.md) — Provides pure URL-building and body-encoding utilities used internally by all OAuth 2.0 grant flows. Keeping these help… + - [authorization-code](./src/core/authorization-code/authorization-code.md) — _(no submodules)_- [client](./src/core/client/oauth-client.md) — _(no submodules)_- [oauth-client](./src/core/client/oauth-client.md) — _(no submodules)_- [client-credentials](./src/core/client-credentials/client-credentials.md) — _(no submodules)_- [client-credentials](./src/core/client-credentials/client-credentials.md) — _(no submodules)_- [discovery](./src/core/discovery/discovery.md) — _(no submodules)_- [discovery](./src/core/discovery/discovery.md) — _(no submodules)_- [provider](./src/core/provider/provider.md) — _(no submodules)_- [provider](./src/core/provider/provider.md) — _(no submodules)_- [token-refresh](./src/core/token-refresh/token-refresh.md) — _(no submodules)_- [token-refresh](./src/core/token-refresh/token-refresh.md) — _(no submodules)_- [errors](./src/errors/oauth-client-error.md) — _(no submodules)_- [oauth-client-error](./src/errors/oauth-client-error.md) — _(no submodules)_- [jwt](./src/utils/jwt.md) — Provides minimal JWT decoding utilities for extracting and validating ID-token claims on the client side. Signature ver… + - [pkce](./src/utils/pkce.md) — Implements RFC 7636 Proof Key for Code Exchange (PKCE) utilities for the OAuth 2.0 authorization code flow. PKCE preven… - [url-builder](./src/utils/url-builder.md) — Provides pure URL-building and body-encoding utilities used internally by all OAuth 2.0 grant flows. Keeping these help… - [authorization-code](./src/core/authorization-code/authorization-code.md) — _(no submodules)_- [client](./src/core/client/oauth-client.md) — _(no submodules)_- [oauth-client](./src/core/client/oauth-client.md) — _(no submodules)_- [client-credentials](./src/core/client-credentials/client-credentials.md) — _(no submodules)_- [client-credentials](./src/core/client-credentials/client-credentials.md) — _(no submodules)_- [discovery](./src/core/discovery/discovery.md) — _(no submodules)_- [discovery](./src/core/discovery/discovery.md) — _(no submodules)_- [provider](./src/core/provider/provider.md) — _(no submodules)_- [provider](./src/core/provider/provider.md) — _(no submodules)_- [token-refresh](./src/core/token-refresh/token-refresh.md) — _(no submodules)_- [token-refresh](./src/core/token-refresh/token-refresh.md) — _(no submodules)_- [errors](./src/errors/oauth-client-error.md) — _(no submodules)_- [oauth-client-error](./src/errors/oauth-client-error.md) — _(no submodules)_- [jwt](./src/utils/jwt.md) — Provides minimal JWT decoding utilities for extracting and validating ID-token claims on the client side. Signature ver… diff --git a/plugins/document-navigator/docs/identity/auth/permissions/README.md b/plugins/document-navigator/docs/identity/auth/permissions/README.md index 538f2ad..d18dc92 100644 --- a/plugins/document-navigator/docs/identity/auth/permissions/README.md +++ b/plugins/document-navigator/docs/identity/auth/permissions/README.md @@ -41,7 +41,9 @@ Full RBAC/ABAC permissions engine for Suaveplan. Ships role management, policy e - [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_ - [schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_ - [permissions.schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_ + - [adapter-interface](./src/adapters/adapter-interface/adapter-interface.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_- [errors](./src/errors/permission-error.md) — _(no submodules)_- [permission-error](./src/errors/permission-error.md) — _(no submodules)_- [events](./src/events/permission-events.md) — _(no submodules)_- [permission-events](./src/events/permission-events.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_- [permissions.schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_- [adapter-interface](./src/adapters/adapter-interface/adapter-interface.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_- [errors](./src/errors/permission-error.md) — _(no submodules)_- [permission-error](./src/errors/permission-error.md) — _(no submodules)_- [events](./src/events/permission-events.md) — _(no submodules)_- [permission-events](./src/events/permission-events.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_- [permissions.schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_- [adapter-interface](./src/adapters/adapter-interface/adapter-interface.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_- [errors](./src/errors/permission-error.md) — _(no submodules)_- [permission-error](./src/errors/permission-error.md) — _(no submodules)_- [events](./src/events/permission-events.md) — _(no submodules)_- [permission-events](./src/events/permission-events.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_- [permissions.schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_- [adapter-interface](./src/adapters/adapter-interface/adapter-interface.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_ - [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_ - [permission-cache](./src/cache/permission-cache/permission-cache.md) — _(no submodules)_- [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_ - [condition-matcher](./src/conditions/condition-matcher/condition-matcher.md) — _(no submodules)_- [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_ - [field-matcher](./src/conditions/field-matcher/field-matcher.md) — _(no submodules)_- [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_ - [subject-detector](./src/conditions/subject-detector/subject-detector.md) — _(no submodules)_- [ability](./src/core/ability/ability.md) — _(no submodules)_ - [ability](./src/core/ability/ability.md) — _(no submodules)_- [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_ - [ability-builder](./src/core/ability-builder/ability-builder.md) — _(no submodules)_- [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_ - [permission-manager](./src/core/permission-manager/permission-manager.md) — _(no submodules)_- [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_ - [policy-engine](./src/core/policy-engine/policy-engine.md) — _(no submodules)_- [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_ - [role-manager](./src/core/role-manager/role-manager.md) — _(no submodules)_- [rule](./src/core/rule/rule.md) — _(no submodules)_ - [rule](./src/core/rule/rule.md) — _(no submodules)_- [errors](./src/errors/permission-error.md) — _(no submodules)_ - [permission-error](./src/errors/permission-error.md) — _(no submodules)_- [events](./src/events/permission-events.md) — _(no submodules)_ - [permission-events](./src/events/permission-events.md) — _(no submodules)_- [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_ - [permission-middleware](./src/middleware/permission-middleware/permission-middleware.md) — _(no submodules)_- [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_ - [role-presets](./src/presets/role-presets/role-presets.md) — _(no submodules)_- [schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_ - [permissions.schemas](./src/schemas/permissions.schemas.md) — _(no submodules)_ + ## Modules | Module | Description | diff --git a/plugins/document-navigator/docs/identity/auth/webauthn/README.md b/plugins/document-navigator/docs/identity/auth/webauthn/README.md index 067348a..821df49 100644 --- a/plugins/document-navigator/docs/identity/auth/webauthn/README.md +++ b/plugins/document-navigator/docs/identity/auth/webauthn/README.md @@ -46,9 +46,11 @@ W3C [WebAuthn Level 3](https://www.w3.org/TR/webauthn-3/) client + parser + veri - [sign-counter](./src/verifier/sign-counter.md) — Implements the W3C WebAuthn L3 §6.1.1 sign-counter regression check. Authenticators that maintain a monotonically-incre… - [verify-assertion](./src/verifier/verify-assertion.md) — Implements `verifyAssertion`, the cryptographic check at the heart of the WebAuthn authentication ceremony (W3C WebAuth… - [verify-attestation](./src/verifier/verify-attestation.md) — Implements `verifyAttestation` (W3C WebAuthn L3 §6.5.4) and `defaultAttestationRegistry()`. The dispatcher reads `attes… + - dom-exception-mapper — Converts every `DOMException… - - [adapter](./src/adapter/adapter.md) — _(no submodules)_- dom-exception-mapper — Converts every `DOMException… - - [dom-exception-mapper](./src/adapter/dom-exception-mapper.md) — Converts every `DOMException.name` raised by `navigator.credentials.create` and `navigator.credentials.get` into a type… + +- [adapter](./src/adapter/adapter.md) — _(no submodules)_- dom-exception-mapper — Converts every `DOMException… +- [dom-exception-mapper](./src/adapter/dom-exception-mapper.md) — Converts every `DOMException.name` raised by `navigator.credentials.create` and `navigator.credentials.get` into a type… - [android-key](./src/attestation/android-key/android-key.md) — _(no submodules)_- [android-key](./src/attestation/android-key/android-key.md) — _(no submodules)_- [android-safetynet](./src/attestation/android-safetynet/android-safetynet.md) — _(no submodules)_- [android-safetynet](./src/attestation/android-safetynet/android-safetynet.md) — _(no submodules)_- [apple](./src/attestation/apple/apple.md) — _(no submodules)_- [apple](./src/attestation/apple/apple.md) — _(no submodules)_- [fido-u2f](./src/attestation/fido-u2f/fido-u2f.md) — _(no submodules)_- [fido-u2f](./src/attestation/fido-u2f/fido-u2f.md) — _(no submodules)_- [none](./src/attestation/none/none.md) — _(no submodules)_- [none](./src/attestation/none/none.md) — _(no submodules)_- [packed](./src/attestation/packed/packed.md) — _(no submodules)_- [packed](./src/attestation/packed/packed.md) — _(no submodules)_- [tpm](./src/attestation/tpm/tpm.md) — _(no submodules)_- [tpm](./src/attestation/tpm/tpm.md) — _(no submodules)_- [authenticate](./src/authenticate/authenticate.md) — _(no submodules)_- [authenticate](./src/authenticate/authenticate.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [large-blob](./src/extensions/large-blob/large-blob.md) — _(no submodules)_- [large-blob](./src/extensions/large-blob/large-blob.md) — _(no submodules)_- [prf](./src/extensions/prf/prf.md) — _(no submodules)_- [prf](./src/extensions/prf/prf.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [attestation-object](./src/parser/attestation-object.md) — Decodes the CTAP 2.1 §6.5 attestation-object envelope returned by `navigator.credentials.create()`. The envelope is a t… - [authenticator-data](./src/parser/authenticator-data.md) — Splits the binary `authenticatorData` byte string emitted by the authenticator into a typed `ParsedAuthData` structure… - [client-data](./src/parser/client-data.md) — Decodes the `clientDataJSON` byte string returned by `navigator.credentials.create` / `get` into a typed object and val… @@ -150,4 +152,3 @@ W3C [WebAuthn Level 3](https://www.w3.org/TR/webauthn-3/) client + parser + veri - `./attestation/{packed,fido-u2f,tpm,android-key,android-safetynet,apple,none}` — per-format verifiers. - `./extensions/{prf,large-blob}` — extension passthrough + result parsing. - `./errors` — error code registry + `WebAuthnError`. - diff --git a/plugins/document-navigator/docs/identity/auth/webauthn/src/adapter/adapter.md b/plugins/document-navigator/docs/identity/auth/webauthn/src/adapter/adapter.md index fa02b58..931d77b 100644 --- a/plugins/document-navigator/docs/identity/auth/webauthn/src/adapter/adapter.md +++ b/plugins/document-navigator/docs/identity/auth/webauthn/src/adapter/adapter.md @@ -3,6 +3,7 @@ _(no submodules)_ - dom-exception-mapper — Converts every `DOMException… + - [dom-exception-mapper](./dom-exception-mapper.md) — Converts every `DOMException.name` raised by `navigator.credentials.create` and `navigator.credentials.get` into a type… - dom-exception-mapper — Converts every `DOMException… diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-backend-chained/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-backend-chained/README.md index 8199f3f..76e1966 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-backend-chained/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-backend-chained/README.md @@ -17,7 +17,9 @@ OpenTelemetry instrumentation is emitted under `i18n.backend.chained.*`. The rea - [factory](./src/factory/factory.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + - [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + ## Modules | Module | Path | Doc | @@ -42,4 +44,3 @@ bun add @suaveplan/i18n-backend-chained ## License MIT — see repository root. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-backend-fs-multifile/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-backend-fs-multifile/README.md index 23a00fc..faa3fc1 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-backend-fs-multifile/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-backend-fs-multifile/README.md @@ -34,7 +34,9 @@ touching the filesystem. OpenTelemetry instruments are emitted under the - [factory](./src/factory/factory.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + - [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + ## Modules | Module | Doc | @@ -54,4 +56,3 @@ const record = await backend.read("en", "auth"); See the linked module docs for the advanced examples (watch mode, glob layout, YAML peer detection, AbortSignal cancellation). - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-backend-http/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-backend-http/README.md index 0efc844..927dbfa 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-backend-http/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-backend-http/README.md @@ -23,7 +23,9 @@ instrumentation under `i18n.backend.http.*`. Zero runtime dependency on - [factory](./src/factory/factory.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + - [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + ## Why this exists The Wave 5 modular split lifts each backend out of the @@ -93,4 +95,3 @@ Universal — runs in browsers, Bun, and Node.js >= 18. On older Node runtimes lacking `globalThis.fetch`, `defaultFetch()` returns a stub that throws `BACKEND_READ_FAILED` with an explicit message instructing consumers to inject `fetchFn`. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-backend-memory/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-backend-memory/README.md index b53c227..117d813 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-backend-memory/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-backend-memory/README.md @@ -19,7 +19,9 @@ core. - [factory](./src/factory/factory.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + - [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + ## Why this exists The Wave 5 modular split lifts each backend out of the @@ -118,4 +120,3 @@ ships pure additions only — `packages/i18n/i18n/src/core/backend/memory/` retains its copy of the backend until Wave 6 deletes it. Both copies coexist during Wave 5; downstream consumers continue to import from the monolith and observe no behaviour change. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-backend-storage/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-backend-storage/README.md index 1b18dc9..dd00878 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-backend-storage/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-backend-storage/README.md @@ -21,7 +21,9 @@ layouts: `single-key-per-namespace` (default), - [factory](./src/factory/factory.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + - [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [backend](./src/backend/backend.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_ + ## Why this exists The Wave 5 modular split lifts each backend out of the @@ -127,4 +129,3 @@ ships pure additions only — `packages/i18n/i18n/src/core/backend/storage/` retains its copy of the backend until Wave 6 deletes it. Both copies coexist during Wave 5; downstream consumers continue to import from the monolith and observe no behaviour change. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-detector/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-detector/README.md index 5979c08..6b3dcd3 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-detector/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-detector/README.md @@ -40,11 +40,14 @@ nine detector implementations (`querystring`, `userPreference`, - [direction](./src/direction/direction.md) — _(no submodules)_ - [observability](./src/observability/metrics.md) — _(no submodules)_ - [metrics](./src/observability/metrics.md) — _(no submodules)_ + - [bcp47-negotiate](./src/chain/bcp47-negotiate.md) — `bcp47Negotiate(raw, supported, fallback)` is the default negotiator wired into `createDetectorChain` when no `options.… - - [chain](./src/chain/chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [bcp47-negotiate](./src/chain/bcp47-negotiate.md) — `bcp47Negotiate(raw, supported, fallback)` is the default negotiator wired into `createDetectorChain` when no `options.… + +- [chain](./src/chain/chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [bcp47-negotiate](./src/chain/bcp47-negotiate.md) — `bcp47Negotiate(raw, supported, fallback)` is the default negotiator wired into `createDetectorChain` when no `options.… - [chain](./src/chain/chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [bcp47-negotiate](./src/chain/bcp47-negotiate.md) — `bcp47Negotiate(raw, supported, fallback)` is the default negotiator wired into `createDetectorChain` when no `options.… - [chain](./src/chain/chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [bcp47-negotiate](./src/chain/bcp47-negotiate.md) — `bcp47Negotiate(raw, supported, fallback)` is the default negotiator wired into `createDetectorChain` when no `options.… - [chain](./src/chain/chain.md) — _(no submodules)_- [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_ - [default-chain](./src/default-chain/default-chain.md) — _(no submodules)_- [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_ - [accept-language](./src/detectors/accept-language/accept-language.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_ - [cloudflare-ip-geo](./src/detectors/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_ - [cookie](./src/detectors/cookie/cookie.md) — _(no submodules)_- [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_ - [fallback](./src/detectors/fallback/fallback.md) — _(no submodules)_- [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_ - [html-lang](./src/detectors/html-lang/html-lang.md) — _(no submodules)_- [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_ - [local-storage](./src/detectors/local-storage/local-storage.md) — _(no submodules)_- [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_ - [navigator](./src/detectors/navigator/navigator.md) — _(no submodules)_- [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_ - [querystring](./src/detectors/querystring/querystring.md) — _(no submodules)_- [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_ - [user-preference](./src/detectors/user-preference/user-preference.md) — _(no submodules)_- [direction](./src/direction/direction.md) — _(no submodules)_ - [direction](./src/direction/direction.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_ - [metrics](./src/observability/metrics.md) — _(no submodules)_ + ## Why this package exists Locale detection is the single most architecturally mis-placed @@ -151,4 +154,3 @@ only the surfaces they need (tree-shake-friendly): ## License MIT - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-collator/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-collator/README.md index f95d20c..642dcd8 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-collator/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-collator/README.md @@ -101,4 +101,3 @@ f.sort(["log10.txt", "log2.txt", "log1.txt"], "en-GB"); Part of the 14-package i18n modular-split rollout. Stays at `0.1.0` until the slim core (Wave 6) cuts the family `1.0.0` release. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-currency/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-currency/README.md index c07574d..0747cc8 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-currency/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-currency/README.md @@ -15,12 +15,12 @@ cache, Zod-validated ISO 4217 codes, and the canonical OTel histogram ## Documentation tree -- [formatter](./src/formatter/formatter.md) — Locale-aware currency formatting backed by `Intl.NumberFormat({ style: "currency" })`. The package exposes both a class… - - [formatter](./src/formatter/formatter.md) — Locale-aware currency formatting backed by `Intl.NumberFormat({ style: "currency" })`. The package exposes both a class… -- [helpers](./src/helpers/helpers.md) — Currency-info helpers exposing structured metadata about ISO 4217 codes via `Intl.NumberFormat.formatToParts`. Use thes… - - [helpers](./src/helpers/helpers.md) — Currency-info helpers exposing structured metadata about ISO 4217 codes via `Intl.NumberFormat.formatToParts`. Use thes… -- [observability](./src/observability/observability.md) — Per-package OpenTelemetry instruments for `@suaveplan/i18n-formatter-currency`. Exposes a histogram (`i18n.format.curre… - - [observability](./src/observability/observability.md) — Per-package OpenTelemetry instruments for `@suaveplan/i18n-formatter-currency`. Exposes a histogram (`i18n.format.curre… ++ [formatter](./src/formatter/formatter.md) — Locale-aware currency formatting backed by `Intl.NumberFormat({ style: "currency" })`. The package exposes both a class… + + [formatter](./src/formatter/formatter.md) — Locale-aware currency formatting backed by `Intl.NumberFormat({ style: "currency" })`. The package exposes both a class… ++ [helpers](./src/helpers/helpers.md) — Currency-info helpers exposing structured metadata about ISO 4217 codes via `Intl.NumberFormat.formatToParts`. Use thes… + + [helpers](./src/helpers/helpers.md) — Currency-info helpers exposing structured metadata about ISO 4217 codes via `Intl.NumberFormat.formatToParts`. Use thes… ++ [observability](./src/observability/observability.md) — Per-package OpenTelemetry instruments for `@suaveplan/i18n-formatter-currency`. Exposes a histogram (`i18n.format.curre… + + [observability](./src/observability/observability.md) — Per-package OpenTelemetry instruments for `@suaveplan/i18n-formatter-currency`. Exposes a histogram (`i18n.format.curre… ## Why this exists @@ -116,4 +116,3 @@ This package is one of eight Wave 3 formatter packages and the only Wave 3 formatter with an intra-formatter dependency. Pure addition — `packages/i18n/i18n/src/formatting/currency/` is preserved in the monolith until Wave 6 deletes it. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-date/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-date/README.md index 55fbd6a..351f944 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-date/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-date/README.md @@ -125,4 +125,3 @@ f.format(now, "en-GB"); Part of the 14-package i18n modular-split rollout. Stays at `0.1.0` until the slim core (Wave 6) cuts the family `1.0.0` release. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-display-name/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-display-name/README.md index fa6c0ff..fbf2c38 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-display-name/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-display-name/README.md @@ -103,4 +103,3 @@ f.format("DE", "en-GB"); // "Germany" Part of the 14-package i18n modular-split rollout. Stays at `0.1.0` until the slim core (Wave 6) cuts the family `1.0.0` release. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/README.md index 7cdf52a..1ce6e80 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/README.md @@ -104,4 +104,3 @@ This package is part of the i18n modular-split rollout. Stays at This package is one of eight Wave 3 formatter packages. Pure addition — `packages/i18n/i18n/src/formatting/list/` is preserved in the monolith until Wave 6 deletes it. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/src/observability/observability.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/src/observability/observability.md index 013d74d..f666e87 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/src/observability/observability.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-list/src/observability/observability.md @@ -88,4 +88,4 @@ Empties both sample arrays in place. The instruments are built lazily so consumers who never call `formatList` do not pay the OTel meter-lookup cost. The cache check is a strict identity check against the closure-scoped `cached` slot — once built, the instruments are never rebuilt, even across `resetListFormatMetricsState` calls. -This module is one of two Wave 3 changes that introduce a *new* OTel surface — the monolith's `formatting/list/` module emits nothing, while `formatting/number/` and `formatting/relative-time/` already emit through the shared `observability/format-metrics.ts` module. The Wave 3 split brings every formatter package up to the same canonical observability shape so the slim core (Wave 6) can dashboard the entire family with a single regex on `i18n.format.*`. +This module is one of two Wave 3 changes that introduce a _new_ OTel surface — the monolith's `formatting/list/` module emits nothing, while `formatting/number/` and `formatting/relative-time/` already emit through the shared `observability/format-metrics.ts` module. The Wave 3 split brings every formatter package up to the same canonical observability shape so the slim core (Wave 6) can dashboard the entire family with a single regex on `i18n.format.*`. diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-number/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-number/README.md index 40d6e4d..1897233 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-number/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-number/README.md @@ -110,4 +110,3 @@ addition — `packages/i18n/i18n/src/formatting/number/` is preserved in the monolith until Wave 6 deletes it. Both copies coexist during Waves 3–5; downstream consumers continue to import from the monolith and observe no behaviour change. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-relative-time/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-relative-time/README.md index dd7c68d..37131ec 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-relative-time/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-relative-time/README.md @@ -106,4 +106,3 @@ This package is part of the i18n modular-split rollout. Stays at This package is one of eight Wave 3 formatter packages. Pure addition — `packages/i18n/i18n/src/formatting/relative-time/` is preserved in the monolith until Wave 6 deletes it. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-segmenter/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-segmenter/README.md index 8241416..2fbf751 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-formatter-segmenter/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-formatter-segmenter/README.md @@ -108,4 +108,3 @@ f.segmentWithMetadata("hi!", "en-GB"); Part of the 14-package i18n modular-split rollout. Stays at `0.1.0` until the slim core (Wave 6) cuts the family `1.0.0` release. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/README.md index 3f9c4c2..9720b39 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/README.md @@ -23,9 +23,11 @@ dependencies. - [message](./src/parser/message.md) — `MessageParser` converts ICU-like message strings into a typed AST (Abstract Syntax Tree), and provides utilities to re… - [pluralization](./src/pluralization/pluralization.md) — _(no submodules)_ - [pluralization](./src/pluralization/pluralization.md) — _(no submodules)_ + - [escape-html](./src/interpolation/escape-html.md) — `escapeHtmlChars` converts the five HTML special characters (`&`, `<`, `>`, `"`, `'`) to their numeric / named entity e… - - [escape-regex](./src/interpolation/escape-regex.md) — `escapeRegex` escapes every regular-expression metacharacter in a string so the string can be embedded literally inside… - - [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [format-bridge](./src/parser/format-bridge.md) — `FormatBridge` is the dependency-injection seam that lets `@suaveplan/i18n-icu-parser` render ICU format placeholders (… + +- [escape-regex](./src/interpolation/escape-regex.md) — `escapeRegex` escapes every regular-expression metacharacter in a string so the string can be embedded literally inside… +- [interpolation](./src/interpolation/interpolation.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [format-bridge](./src/parser/format-bridge.md) — `FormatBridge` is the dependency-injection seam that lets `@suaveplan/i18n-icu-parser` render ICU format placeholders (… - [message-render](./src/parser/message-render.md) — `message-render` provides two standalone utility functions for `@suaveplan/i18n`: `extractVariables`, which collects al… - [message](./src/parser/message.md) — `MessageParser` converts ICU-like message strings into a typed AST (Abstract Syntax Tree), and provides utilities to re… - [pluralization](./src/pluralization/pluralization.md) — _(no submodules)_- [pluralization](./src/pluralization/pluralization.md) — _(no submodules)_- [escape-html](./src/interpolation/escape-html.md) — `escapeHtmlChars` converts the five HTML special characters (`&`, `<`, `>`, `"`, `'`) to their numeric / named entity e… @@ -44,6 +46,7 @@ dependencies. - [message-render](./src/parser/message-render.md) — `message-render` provides two standalone utility functions for `@suaveplan/i18n`: `extractVariables`, which collects al… - [message](./src/parser/message.md) — `MessageParser` converts ICU-like message strings into a typed AST (Abstract Syntax Tree), and provides utilities to re… - [pluralization](./src/pluralization/pluralization.md) — _(no submodules)_ - [pluralization](./src/pluralization/pluralization.md) — _(no submodules)_ + ## Why this exists The 14-package i18n modular split needs one home for the three @@ -179,4 +182,3 @@ the parser, interpolation engine, and pluralization sources; both copies coexist during Waves 2–5 and the monolith remains green. The slim core (Wave 6) deletes the monolith copies and re-exports from this package. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/src/observability/metrics.md b/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/src/observability/metrics.md index 8a7fd1e..f044c06 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/src/observability/metrics.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-icu-parser/src/observability/metrics.md @@ -93,5 +93,5 @@ Attribute set: `{ "i18n.plural.locale": string, "i18n.plural.ordinal": boolean } `"en"` not `"en-GB"`) — call sites pre-normalise so cardinality stays bounded by the CLDR set. - No counters, gauges, or span events are emitted from this module - — only histograms. Span emission would require an active tracer; + — only histograms. Span emission would require an active tracer; the parser stays pure to keep that surface clean. diff --git a/plugins/document-navigator/docs/localization/i18n/i18n-shared/README.md b/plugins/document-navigator/docs/localization/i18n/i18n-shared/README.md index 8d7e528..95e28cf 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n-shared/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n-shared/README.md @@ -20,7 +20,9 @@ core (Wave 6). - [i18n-error](./src/errors/i18n-error.md) — `I18nError` is the single base class every package in the `@suaveplan/i18n*` family throws. It extends `SuaveplanError<… - [testing](./src/testing/conformance.md) — _(no submodules)_ - [conformance](./src/testing/conformance.md) — _(no submodules)_ + - [conformance](./src/testing/conformance.md) — _(no submodules)_- [conformance](./src/testing/conformance.md) — _(no submodules)_- [conformance](./src/testing/conformance.md) — _(no submodules)_- [conformance](./src/testing/conformance.md) — _(no submodules)_ + ## Why this exists The 14-package i18n modular split needs one home for the runtime @@ -111,4 +113,3 @@ ships pure additions only — `packages/i18n/i18n/src/` retains its copies of these atoms until Wave 6 deletes them. Both copies coexist during Waves 2–5; downstream consumers continue to import from the monolith and observe no behaviour change. - diff --git a/plugins/document-navigator/docs/localization/i18n/i18n/README.md b/plugins/document-navigator/docs/localization/i18n/i18n/README.md index d28f0e1..06201e9 100644 --- a/plugins/document-navigator/docs/localization/i18n/i18n/README.md +++ b/plugins/document-navigator/docs/localization/i18n/i18n/README.md @@ -39,7 +39,9 @@ Works in Bun, Node.js, and modern browsers (zero DOM dependencies). - [i18n.schemas](./src/schemas/i18n.schemas.md) — _(no submodules)_ - [utils](./src/utils/utils.md) — _(no submodules)_ - [utils](./src/utils/utils.md) — _(no submodules)_ + - [catalog](./src/core/catalog/catalog.md) — _(no submodules)_- [plugin](./src/core/plugin/instance.md) — _(no submodules)_- [instance](./src/core/plugin/instance.md) — _(no submodules)_- [negotiation](./src/locale/negotiation/negotiation.md) — _(no submodules)_- [negotiation](./src/locale/negotiation/negotiation.md) — _(no submodules)_- [resolver](./src/locale/resolver/resolver.md) — _(no submodules)_- [resolver](./src/locale/resolver/resolver.md) — _(no submodules)_- [server](./src/middleware/server/server.md) — _(no submodules)_- [server](./src/middleware/server/server.md) — _(no submodules)_- [backend-metrics](./src/observability/backend-metrics.md) — OpenTelemetry instruments for the `Backend` plugin family. Every concrete backend (`MemoryBackend`, `HttpBackend`, `Sto… + - [detector-metrics](./src/observability/detector-metrics.md) — This module hosts the OTel instruments and an in-memory test ring for the locale-detector chain. The instruments live h… - [metrics](./src/observability/metrics.md) — `@suaveplan/i18n/observability/metrics` is the package's instrumentation surface. It exposes a lazily-built singleton h… - [format-bridge-default](./src/parser/format-bridge-default/format-bridge-default.md) — _(no submodules)_- [format-bridge-default](./src/parser/format-bridge-default/format-bridge-default.md) — _(no submodules)_- [missing-key-reporter](./src/post-processors/missing-key-reporter.md) — A development-time plugin that subscribes to the `missingKey` event on an `I18nInstance` and forwards every miss to a l… @@ -60,6 +62,7 @@ Works in Bun, Node.js, and modern browsers (zero DOM dependencies). - [format-bridge-default](./src/parser/format-bridge-default/format-bridge-default.md) — _(no submodules)_ - [format-bridge-default](./src/parser/format-bridge-default/format-bridge-default.md) — _(no submodules)_- [missing-key-reporter](./src/post-processors/missing-key-reporter.md) — A development-time plugin that subscribes to the `missingKey` event on an `I18nInstance` and forwards every miss to a l… - [pseudo-localize](./src/post-processors/pseudo-localize.md) — Layout-stress transform for translated strings. Three modes deliberately produce non-translated output that exercises f… - [schemas](./src/schemas/i18n.schemas.md) — _(no submodules)_ - [i18n.schemas](./src/schemas/i18n.schemas.md) — _(no submodules)_- [utils](./src/utils/utils.md) — _(no submodules)_ - [utils](./src/utils/utils.md) — _(no submodules)_ + ## Modules in the slim core | Module | Path | Description | @@ -177,4 +180,3 @@ const customBridge: FormatBridge = { - 320 tests in the slim core (`bunx turbo test --filter=@suaveplan/i18n`) — green - Coverage: 100/100/100/100 on the surviving modules (Istanbul) - Downstream sweep (`bunx turbo test --filter='@suaveplan/react-*'`): 40 tasks green, 1238 tests in `react-ui` alone - diff --git a/plugins/document-navigator/docs/localization/i18n/locale-data/README.md b/plugins/document-navigator/docs/localization/i18n/locale-data/README.md index e358a60..6f5a8d8 100644 --- a/plugins/document-navigator/docs/localization/i18n/locale-data/README.md +++ b/plugins/document-navigator/docs/localization/i18n/locale-data/README.md @@ -18,15 +18,18 @@ OTel instrumentation, and Zod schemas. - [languages](./src/languages/languages.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [countries.data](./src/countries/countries.data.md) — Contains the static ISO 3166-1 alpha-2 country dataset as a single frozen TypeScript constant (`COUNTRIES_DATA`). This… - - [countries](./src/countries/countries.md) — _(no submodules)_- [errors](./src/errors/locale-data-error.md) — _(no submodules)_- [locale-data-error](./src/errors/locale-data-error.md) — _(no submodules)_- [languages](./src/languages/languages.md) — _(no submodules)_- [languages.data](./src/languages/languages.data.md) — Contains the static ISO 639-1 language dataset as two frozen TypeScript constants: `LANGUAGES_DATA` (130+ language entr… - - [languages](./src/languages/languages.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [countries.data](./src/countries/countries.data.md) — Contains the static ISO 3166-1 alpha-2 country dataset as a single frozen TypeScript constant (`COUNTRIES_DATA`). This… + +- [countries](./src/countries/countries.md) — _(no submodules)_- [errors](./src/errors/locale-data-error.md) — _(no submodules)_- [locale-data-error](./src/errors/locale-data-error.md) — _(no submodules)_- [languages](./src/languages/languages.md) — _(no submodules)_- [languages.data](./src/languages/languages.data.md) — Contains the static ISO 639-1 language dataset as two frozen TypeScript constants: `LANGUAGES_DATA` (130+ language entr… +- [languages](./src/languages/languages.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [countries.data](./src/countries/countries.data.md) — Contains the static ISO 3166-1 alpha-2 country dataset as a single frozen TypeScript constant (`COUNTRIES_DATA`). This… - [countries](./src/countries/countries.md) — _(no submodules)_- [errors](./src/errors/locale-data-error.md) — _(no submodules)_- [locale-data-error](./src/errors/locale-data-error.md) — _(no submodules)_- [languages](./src/languages/languages.md) — _(no submodules)_- [languages.data](./src/languages/languages.data.md) — Contains the static ISO 639-1 language dataset as two frozen TypeScript constants: `LANGUAGES_DATA` (130+ language entr… - [languages](./src/languages/languages.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [countries.data](./src/countries/countries.data.md) — Contains the static ISO 3166-1 alpha-2 country dataset as a single frozen TypeScript constant (`COUNTRIES_DATA`). This… - [countries](./src/countries/countries.md) — _(no submodules)_- [errors](./src/errors/locale-data-error.md) — _(no submodules)_- [locale-data-error](./src/errors/locale-data-error.md) — _(no submodules)_- [languages](./src/languages/languages.md) — _(no submodules)_- [languages.data](./src/languages/languages.data.md) — Contains the static ISO 639-1 language dataset as two frozen TypeScript constants: `LANGUAGES_DATA` (130+ language entr… - [languages](./src/languages/languages.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [countries.data](./src/countries/countries.data.md) — Contains the static ISO 3166-1 alpha-2 country dataset as a single frozen TypeScript constant (`COUNTRIES_DATA`). This… - [countries](./src/countries/countries.md) — _(no submodules)_- [errors](./src/errors/locale-data-error.md) — _(no submodules)_ - [locale-data-error](./src/errors/locale-data-error.md) — _(no submodules)_- [languages](./src/languages/languages.md) — _(no submodules)_ - [languages.data](./src/languages/languages.data.md) — Contains the static ISO 639-1 language dataset as two frozen TypeScript constants: `LANGUAGES_DATA` (130+ language entr… - [languages](./src/languages/languages.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash @@ -119,4 +122,3 @@ The package emits two OTel counters: |---|---| | `locale_data.country.lookups` | `result: "found" \| "not_found"` | | `locale_data.language.lookups` | `result: "found" \| "not_found"` | - diff --git a/plugins/document-navigator/docs/localization/i18n/react-i18n/README.md b/plugins/document-navigator/docs/localization/i18n/react-i18n/README.md index 6c8933b..8f75846 100644 --- a/plugins/document-navigator/docs/localization/i18n/react-i18n/README.md +++ b/plugins/document-navigator/docs/localization/i18n/react-i18n/README.md @@ -109,9 +109,11 @@ CI gate enforces that invariant on every commit. - [env](./src/utils/env.md) — Provides the single environment-detection helper the React surface uses to switch between dev-mode loud-failure and pro… - [identity-instance](./src/utils/identity-instance.md) — Provides the identity translator used as the production-mode fallback when a `useTranslation()` (or any sibling hook) i… - [warn-once-per-process](./src/utils/warn-once-per-process.md) — Implements the warn-once-per-process dedup ring used by every production-mode soft-failure path in `@suaveplan/react-i1… + - [fallback-bundle](./src/components/i18n-suspense/fallback-bundle.md) — Ships the strings that `` needs before the active catalog loads its own copies. Consumers can override th… - - [i18n-suspense](./src/components/i18n-suspense/i18n-suspense.md) — _(no submodules)_- [language-switcher](./src/components/language-switcher/language-switcher.md) — _(no submodules)_- [language-switcher](./src/components/language-switcher/language-switcher.md) — _(no submodules)_- [missing-key-overlay](./src/components/missing-key-overlay/missing-key-overlay.md) — _(no submodules)_- [missing-key-overlay](./src/components/missing-key-overlay/missing-key-overlay.md) — _(no submodules)_- [trans](./src/components/trans/trans.md) — _(no submodules)_- [stringify-children](./src/components/trans/stringify-children.md) — Helpers that translate a `` `children` block into a canonical ICU message body string so the message parser rend… - - [trans](./src/components/trans/trans.md) — _(no submodules)_- [create-i18n-config](./src/config/create-i18n-config.md) — Builds a validated `I18nConfig` from a caller-supplied option bag and is the canonical entry point for ` _(no submodules)_- [language-switcher](./src/components/language-switcher/language-switcher.md) — _(no submodules)_- [language-switcher](./src/components/language-switcher/language-switcher.md) — _(no submodules)_- [missing-key-overlay](./src/components/missing-key-overlay/missing-key-overlay.md) — _(no submodules)_- [missing-key-overlay](./src/components/missing-key-overlay/missing-key-overlay.md) — _(no submodules)_- [trans](./src/components/trans/trans.md) — _(no submodules)_- [stringify-children](./src/components/trans/stringify-children.md) — Helpers that translate a `` `children` block into a canonical ICU message body string so the message parser rend… +- [trans](./src/components/trans/trans.md) — _(no submodules)_- [create-i18n-config](./src/config/create-i18n-config.md) — Builds a validated `I18nConfig` from a caller-supplied option bag and is the canonical entry point for ` _(no submodules)_- [accept-language](./src/detector/accept-language/accept-language.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detector/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cloudflare-ip-geo](./src/detector/cloudflare-ip-geo/cloudflare-ip-geo.md) — _(no submodules)_- [cookie](./src/detector/cookie/cookie.md) — _(no submodules)_- [cookie](./src/detector/cookie/cookie.md) — _(no submodules)_- [default-chain](./src/detector/default-chain/default-chain.md) — _(no submodules)_- [default-chain](./src/detector/default-chain/default-chain.md) — _(no submodules)_- [fallback](./src/detector/fallback/fallback.md) — _(no submodules)_- [fallback](./src/detector/fallback/fallback.md) — _(no submodules)_- [html-lang](./src/detector/html-lang/html-lang.md) — _(no submodules)_- [html-lang](./src/detector/html-lang/html-lang.md) — _(no submodules)_- [local-storage](./src/detector/local-storage/local-storage.md) — _(no submodules)_- [local-storage](./src/detector/local-storage/local-storage.md) — _(no submodules)_- [navigator](./src/detector/navigator/navigator.md) — _(no submodules)_- [navigator](./src/detector/navigator/navigator.md) — _(no submodules)_- [querystring](./src/detector/querystring/querystring.md) — _(no submodules)_- [querystring](./src/detector/querystring/querystring.md) — _(no submodules)_- [user-preference](./src/detector/user-preference/user-preference.md) — _(no submodules)_- [user-preference](./src/detector/user-preference/user-preference.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — Registers the five stable error codes used by `@suaveplan/react-i18n` under the `REACT_I18N` namespace via `defineCodes… - [react-i18n-error](./src/errors/react-i18n-error.md) — Defines `ReactI18nError`, the single error class thrown by the React surface of `@suaveplan/react-i18n`. It extends the… @@ -653,4 +655,3 @@ checklist. ## License MIT. - diff --git a/plugins/document-navigator/docs/localization/i18n/react-i18n/src/registry/registry.md b/plugins/document-navigator/docs/localization/i18n/react-i18n/src/registry/registry.md index 6a9b0b7..fb63a13 100644 --- a/plugins/document-navigator/docs/localization/i18n/react-i18n/src/registry/registry.md +++ b/plugins/document-navigator/docs/localization/i18n/react-i18n/src/registry/registry.md @@ -3,7 +3,7 @@ _(no submodules)_ - - [built-in](./formatters/built-in/built-in.md) — _(no submodules)_- [built-in](./locale-adapters/built-in/built-in.md) — _(no submodules)_ - [built-in](./locale-adapters/built-in/built-in.md) — _(no submodules)_- [post-processors](./post-processors/post-processors.md) — _(no submodules)_ - [post-processors](./post-processors/post-processors.md) — _(no submodules)_- [registry-context](./registry-context.md) — Module-scoped React context that carries the active `ReactI18nRegistry` to descendants of ``. Direct… +- [built-in](./formatters/built-in/built-in.md) — _(no submodules)_- [built-in](./locale-adapters/built-in/built-in.md) — _(no submodules)_ - [built-in](./locale-adapters/built-in/built-in.md) — _(no submodules)_- [post-processors](./post-processors/post-processors.md) — _(no submodules)_ - [post-processors](./post-processors/post-processors.md) — _(no submodules)_- [registry-context](./registry-context.md) — Module-scoped React context that carries the active `ReactI18nRegistry` to descendants of ``. Direct… - [registry-provider](./registry-provider.md) — `` is the React-context surface for `ReactI18nRegistry`. It mounts a fresh registry per tree, registe… - [registry](./registry.md) — _(no submodules)_- built-in — _(no submodules)… - [registry.schemas](./registry.schemas.md) — Strict-object Zod schemas for every plugin kind accepted by `ReactI18nRegistry`. The schemas are the boundary at which… diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-audio-player/src/audio-player/audio-player.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-audio-player/src/audio-player/audio-player.md index 11b875c..0d074ca 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-audio-player/src/audio-player/audio-player.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-audio-player/src/audio-player/audio-player.md @@ -84,7 +84,7 @@ The buffer is a `Float32Array` allocated by `load`. Subsequent `load` calls repl `pause` is intentionally a no-op when `playing === false`. Without that guard, a `pause()` before any `play()` would set `paused = true`, which would then make the next `play()` start in a paused state (because `play` only flips `playing`). This matched the behaviour of the main-branch `HTMLAudioElement`-backed implementation and is the principle of least surprise for media-player consumers. -`setPlaybackRate` validates at the setter rather than relying on the parameter's `min`/`max` clamping. The reason: the parameter declares `automatable: true`, so a parameter-curve automation could in principle write any number; the setter rejects out-of-range *direct* set calls so a UI's invalid input is caught at the boundary. Automation curves operate on a separate ramp and are clamped by the parameter range internally. +`setPlaybackRate` validates at the setter rather than relying on the parameter's `min`/`max` clamping. The reason: the parameter declares `automatable: true`, so a parameter-curve automation could in principle write any number; the setter rejects out-of-range _direct_ set calls so a UI's invalid input is caught at the boundary. Automation curves operate on a separate ramp and are clamped by the parameter range internally. Linear-interpolated read between adjacent samples handles fractional playback rates and seeks. The interpolator is the same shape used by `SamplerPlugin` — `s0 * (1 - frac) + s1 * frac` — so pitch-preservation behaviour is consistent across the two plugins. Looping wraps with `position -= (buffer.length - 1)` rather than `position = 0` so any fractional carry survives the wrap. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-base/README.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-base/README.md index ad8d35f..fcf6c68 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-base/README.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-base/README.md @@ -1,4 +1,4 @@ -# @suaveplan/audio-fx-plugin-base - Foundation for the @suaveplan/audio-fx-plugin-* family. Exports the AudioFxPlugin contract, PluginChain primitive, ChainContext, AmbientState, BusRegistry, PluginRegistry, ChainSnapshot, ChainEventBus, ParameterSchedule, PresetSnapshot, and the shared AUDIO_FX.* error-code registry. Runs identically in browser, server, offline, and worklet contexts. +# @suaveplan/audio-fx-plugin-base - Foundation for the @suaveplan/audio-fx-plugin-*family. Exports the AudioFxPlugin contract, PluginChain primitive, ChainContext, AmbientState, BusRegistry, PluginRegistry, ChainSnapshot, ChainEventBus, ParameterSchedule, PresetSnapshot, and the shared AUDIO_FX.* error-code registry. Runs identically in browser, server, offline, and worklet contexts. Foundation for the `@suaveplan/audio-fx-plugin-*` family. Universal (browser / server / offline / worklet identical). Zero `@suaveplan/audio-fx-plugin-*` deps — concrete plugins depend on this package, never the other way around. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-distortion/src/distortion/distortion.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-distortion/src/distortion/distortion.md index 59cfa8e..1f80de1 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-distortion/src/distortion/distortion.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-distortion/src/distortion/distortion.md @@ -13,7 +13,7 @@ Every mode is bounded by construction: `tanh` is bounded in `[-1, 1]` for any in ## Features - Four parameters: `mode` (enum 0..2), `drive` (dB, 0..40), `bits` (bitcrusher depth 1..16), `outputGain` (dB, -24..24). -- Drive pre-gain raises the input level *into* the transfer function — useful for waveshaper/overdrive to push the signal further into the non-linear region. +- Drive pre-gain raises the input level _into_ the transfer function — useful for waveshaper/overdrive to push the signal further into the non-linear region. - `outputGain` compensates for level changes caused by shaping so the plugin can drop into an existing chain without raising perceived loudness. - Mode switching is parameter-driven, so a single instance can crossfade between modes at runtime (snap by default; for click-free morphing, use the parameter automation API on `mode`). - Preset payload carries the textual `mode` enum so saved presets are robust to future parameter-index changes. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-flanger/src/flanger/flanger.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-flanger/src/flanger/flanger.md index f051b8f..05df67e 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-flanger/src/flanger/flanger.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-flanger/src/flanger/flanger.md @@ -62,7 +62,7 @@ await jet.setup( The delay line is a circular `Float32Array` per channel sized for `MAX_DELAY_MS = 20 ms` plus a 4-sample safety margin (the fractional read indexes `i0` and `i0 + 1`). Twenty milliseconds is well over `baseDelay.max + 2·depth.max = 10 + 10 = 20`, with the extra margin so the wrap path is never hit on the hottest combination of parameters. -The LFO is mapped to the delay tap via `delay = base + (sin + 1)/2 · depth`, not `delay = base + sin · depth`. Mapping to the half-positive range `[0, depth]` means the flange always *adds* delay to the base — never *subtracts* — so the line never reads near `writeIndex - 0` (which would wrap aliased noise into the output). It also matches the standard convention used by most reference flanger plugins so the perceptual sweep direction is what producers expect. +The LFO is mapped to the delay tap via `delay = base + (sin + 1)/2 · depth`, not `delay = base + sin · depth`. Mapping to the half-positive range `[0, depth]` means the flange always _adds_ delay to the base — never _subtracts_ — so the line never reads near `writeIndex - 0` (which would wrap aliased noise into the output). It also matches the standard convention used by most reference flanger plugins so the perceptual sweep direction is what producers expect. Feedback at the comb-filter resonance is intentionally allowed to climb to 0.95 because the flanger character lives at the resonance edge. The test "max feedback over a long sine never produces non-finite samples" exercises this boundary against a one-second sine at `feedback = 0.95` and verifies every output sample is finite and amplitude-bounded. Allowing `1.0` would create a marginally stable system whose output diverges for any non-zero input; clamping at 0.95 leaves enough headroom that even a noise-floor leak stays bounded over arbitrarily long renders. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-game-audio/src/game-audio/game-audio.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-game-audio/src/game-audio/game-audio.md index 4c46f8f..92c3a1c 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-game-audio/src/game-audio/game-audio.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-game-audio/src/game-audio/game-audio.md @@ -72,12 +72,12 @@ game.cullDistantSources(80); ## Implementation Notes -The audio path is silent by design. Implementing the full mix of spatial sources + music layers + voice chat into a single mono output stream would require this plugin to embed three sibling-plugin engines (`SpatialAudioPlugin`, `MixerPlugin`, plus a voice-chat router) — which would either duplicate code or pull every plugin into this one's import graph. Instead, the plugin owns the *registry* of game-audio state; the browser engine reads that state via `createAudioNode()` and renders it into a Web Audio graph in a future revision. The universal block path produces silence but advances the internal sample clock so `isCrossfading` / `isBlending` work correctly under any renderer. +The audio path is silent by design. Implementing the full mix of spatial sources + music layers + voice chat into a single mono output stream would require this plugin to embed three sibling-plugin engines (`SpatialAudioPlugin`, `MixerPlugin`, plus a voice-chat router) — which would either duplicate code or pull every plugin into this one's import graph. Instead, the plugin owns the _registry_ of game-audio state; the browser engine reads that state via `createAudioNode()` and renders it into a Web Audio graph in a future revision. The universal block path produces silence but advances the internal sample clock so `isCrossfading` / `isBlending` work correctly under any renderer. Crossfade scheduling stores the start sample (`processedSamples` at the time of the call) plus the duration in samples. `isCrossfading` is `elapsed < durationSamples`. The check is exact at the sample level — the test "isCrossfading true immediately; false after enough samples processed" exercises that by processing exactly the configured number of samples. `cullDistantSources` walks the spatial-source map and deletes entries whose distance to the listener exceeds the threshold. The cost is `O(numSources)` per call; for the typical game-audio case (under 100 sources) this is below 1 ms even at 60 fps cull frequency. A spatial-hash variant would amortise this to `O(log n)` but adds bookkeeping that the MVP does not need. -`optimizeVoiceChatBandwidth` returns a coarse 0..3 tier rather than per-participant codec parameters because the actual codec selection lives in the transport layer (WebRTC / similar). The plugin's job is to *advise*; the transport applies the advice. Currently the heuristic is just a participant-count threshold (>8 ⇒ level 3, otherwise level 1) — a future revision can layer on signal-strength and ping data. +`optimizeVoiceChatBandwidth` returns a coarse 0..3 tier rather than per-participant codec parameters because the actual codec selection lives in the transport layer (WebRTC / similar). The plugin's job is to _advise_; the transport applies the advice. Currently the heuristic is just a participant-count threshold (>8 ⇒ level 3, otherwise level 1) — a future revision can layer on signal-strength and ping data. The plugin maintains an internal `processedSamples` counter incremented by `output.length` each `processBlock`. This is the same clock crossfade and effect-blend countdowns reference — using `BlockContext.blockOffsetSamples` directly would not work because the chain may slice or align blocks differently, and the consumer expects clock advancement per actual rendered sample. The counter resets on `setup`/`reset`. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-glados/src/glados/glados.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-glados/src/glados/glados.md index c42846b..6a7e0b9 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-glados/src/glados/glados.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-glados/src/glados/glados.md @@ -73,4 +73,4 @@ The distortion stage is a `tanh` soft-clip with parallel dry/wet routing — sam The low-pass is a one-pole filter (the same shape used by `MicrophoneSimulationPlugin`), and the reverb is a short feedback delay (`REVERB_DELAY_MS = 30 ms` per channel). Both are intentionally simpler than their dedicated sibling-plugin counterparts because the GLaDOS character does not need surgical control — the user wants "more or less" of each colour, not a fully parametric filter and convolution. -Preset application replaces the *entire* config in one shot via `{ ...PRESETS[preset] }`. Individual setter overrides applied after `applyGladosPreset` will stick; the next preset application replaces them. The preset payload encodes both the preset name and the live config so `applyPreset(snap)` restores any per-stage overrides made after the preset was originally applied. +Preset application replaces the _entire_ config in one shot via `{ ...PRESETS[preset] }`. Individual setter overrides applied after `applyGladosPreset` will stick; the next preset application replaces them. The preset payload encodes both the preset name and the live config so `applyPreset(snap)` restores any per-stage overrides made after the preset was originally applied. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-limiter/src/limiter/limiter.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-limiter/src/limiter/limiter.md index 6646a8f..45560a6 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-limiter/src/limiter/limiter.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-limiter/src/limiter/limiter.md @@ -14,7 +14,7 @@ The plugin extends `AbstractAudioFxPlugin`, so it runs identically across browse - Three parameters: `ceiling` (dB, -60..0), `release` (ms, 1..1000), and `gainReductionDb` (telemetry). - Linked-stereo brick-wall: gain is shared across all input channels per sample, so a transient on one channel attenuates every channel identically — the stereo image stays phase-coherent. -- Zero-lookahead attack: when `|peak| > ceilingLin` at sample `i`, the gain at sample `i` is set to `ceilingLin / |peak|` *before* writing the output, so the ceiling is a hard contract verifiable by audit. +- Zero-lookahead attack: when `|peak| > ceilingLin` at sample `i`, the gain at sample `i` is set to `ceilingLin / |peak|` _before_ writing the output, so the ceiling is a hard contract verifiable by audit. - One-pole release: `gain += releaseCoef · (1 − gain)` per sample with `releaseCoef = 1 − exp(-1/(τ · sr))`. - `gainReductionDb` is updated once per block with the worst-case in-block reduction so meters get a useful peak reading without per-sample state. - `getGainReductionDb()` accessor mirrors the parameter for low-friction metering. @@ -65,6 +65,6 @@ setInterval(() => { The limiter is intentionally a true brick-wall, not a "soft" or "transparent" limiter. We do not interpolate around the threshold or apply a knee. The reason: many use sites layer this plugin downstream of an output-stage compressor that already provides knee shaping, and rely on the limiter for guaranteed bound semantics. Adding a knee would weaken the contract that the test in `output peak never exceeds the configured ceiling` enforces. -There is no lookahead buffer. That keeps the plugin latency-free (`latencySamples: 0`, inherited default) and makes the bound testable by static inspection of the inner loop: at sample `i`, if `peak > ceilingLin` then `gain := ceilingLin / peak` *before* `output[ch][i] = input[ch][i] * gain`. The multiplication therefore can produce at most `|input[ch][i]| * (ceilingLin / |peak|) ≤ ceilingLin`. The downside is that an unusually fast transient (single-sample spike at a very low source sample rate) can produce visible distortion on its leading edge — for those cases a future `LookaheadLimiterPlugin` can sit on a separate subpath without breaking this contract. +There is no lookahead buffer. That keeps the plugin latency-free (`latencySamples: 0`, inherited default) and makes the bound testable by static inspection of the inner loop: at sample `i`, if `peak > ceilingLin` then `gain := ceilingLin / peak` _before_ `output[ch][i] = input[ch][i] * gain`. The multiplication therefore can produce at most `|input[ch][i]| * (ceilingLin / |peak|) ≤ ceilingLin`. The downside is that an unusually fast transient (single-sample spike at a very low source sample rate) can produce visible distortion on its leading edge — for those cases a future `LookaheadLimiterPlugin` can sit on a separate subpath without breaking this contract. `gainReductionDb` is reported as a per-block peak rather than a running average. Meters typically expect peak; if a future surface wants RMS, it can compute that from the gain-reduction stream by subscribing to a parameter automation channel. The release coefficient is recomputed every block from the current `release` parameter so automation works without introducing zipper noise — the one-pole step is small per sample even when the parameter changes mid-block. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spatial/src/spatial/spatial.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spatial/src/spatial/spatial.md index cee7706..7bfe6b8 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spatial/src/spatial/spatial.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spatial/src/spatial/spatial.md @@ -70,6 +70,6 @@ The distance gain uses the Web Audio inverse-distance model rather than the line Panning is equal-power (`cos`/`sin`) rather than linear (`1-panNorm`/`panNorm`) because equal-power preserves perceived loudness as a source moves across the stereo field. The mapping `angle = (panNorm + 1) · π / 4` puts `panNorm = -1` (hard left) at `angle = 0` (gain = `cos 0 = 1`, sin 0 = 0`) and`panNorm = 1` (hard right) at `angle = π/2` (gain = `cos π/2 = 0`, sin π/2 = 1). At`panNorm = 0` (centre), both channels get `√½` so the summed energy matches a mono source unchanged. -`orientation` is deliberately *not* a parameter. Parameters in the universal scheme are scalar-valued and automatable; a 3-vector orientation would need three separate parameters that are typically updated together. Exposing `setOrientation` / `getOrientation` keeps the API ergonomic for game-audio callers while preserving the vector across preset round-trip via `SpatialPresetData`. A future revision could add automatable `orientationX/Y/Z` parameters if a real use case emerges. +`orientation` is deliberately _not_ a parameter. Parameters in the universal scheme are scalar-valued and automatable; a 3-vector orientation would need three separate parameters that are typically updated together. Exposing `setOrientation` / `getOrientation` keeps the API ergonomic for game-audio callers while preserving the vector across preset round-trip via `SpatialPresetData`. A future revision could add automatable `orientationX/Y/Z` parameters if a real use case emerges. Mono input is distance-attenuated only — no pan is applied because there is no L/R to mix between. This matches typical 3D-audio engine behaviour: if a sound is recorded mono, it gets routed through the spatial pipeline but emerges mono unless the engine explicitly upmixes. The `io.outputs[0].count === "preserve"` declaration carries that intent into the chain composition rules. diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/README.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/README.md index bc11a7f..39ce76b 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/README.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/README.md @@ -116,4 +116,3 @@ registerSpessaSynthPlugin(registry); ## License MIT. - diff --git a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/src/loader/soundfont-loader.md b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/src/loader/soundfont-loader.md index cc6e864..b745f63 100644 --- a/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/src/loader/soundfont-loader.md +++ b/plugins/document-navigator/docs/media/audio-fx/audio-fx-plugin-spessasynth/src/loader/soundfont-loader.md @@ -14,7 +14,7 @@ The loader is responsible for three things: (1) lazy-resolving the optional upst - Dynamic `import("spessasynth_lib")` — the only static reference in the codebase, ring-fenced inside `defaultModuleLoader`. - Injectable `moduleLoader` and `fetchImpl` for hermetic tests. -- Magic-byte sniff (`RIFF…sfbk` or `RIFF…DLS `) — rejects non-SoundFont inputs with `UNSUPPORTED_FORMAT` before invoking the parser. +- Magic-byte sniff (`RIFF…sfbk` or `RIFF…DLS`) — rejects non-SoundFont inputs with `UNSUPPORTED_FORMAT` before invoking the parser. - `AbortSignal` propagation to the fetch. - Returns parsed `SoundBankLike` + resolved `SpessaSynthModuleLike` + raw bytes so callers can construct the processor and (optionally) persist the bytes. - Strict typed error surface: `SOUNDFONT_LOAD_FAILED`, `UNSUPPORTED_FORMAT`, `SOUNDFONT_PARSE_FAILED`, `MODULE_UNAVAILABLE`. diff --git a/plugins/document-navigator/docs/media/audio-ir/audio-ir-core/README.md b/plugins/document-navigator/docs/media/audio-ir/audio-ir-core/README.md index 3a56a31..bed92ff 100644 --- a/plugins/document-navigator/docs/media/audio-ir/audio-ir-core/README.md +++ b/plugins/document-navigator/docs/media/audio-ir/audio-ir-core/README.md @@ -1,4 +1,4 @@ -# @suaveplan/audio-ir-core - Foundation contract for the @suaveplan audio-ir family: ImpulseResponse / IrManifestEntry / IrManifest Zod schemas, in-memory IrRegistry, AUDIO_IR.* error-code registry, and OpenTelemetry surface. Universal; zero @suaveplan/audio-* runtime deps. +# @suaveplan/audio-ir-core - Foundation contract for the @suaveplan audio-ir family: ImpulseResponse / IrManifestEntry / IrManifest Zod schemas, in-memory IrRegistry, AUDIO_IR.*error-code registry, and OpenTelemetry surface. Universal; zero @suaveplan/audio-* runtime deps. Foundation contract for the `@suaveplan/audio-ir-*` family. Universal; zero `@suaveplan/audio-*` runtime deps. Every sibling package @@ -107,4 +107,3 @@ compose multiple content packages — or fan out to multiple resolvers needing to agree on resolver shape. See [`src/registrar/registrar.md`](./src/registrar/registrar.md) for the full API reference. - diff --git a/plugins/document-navigator/docs/media/audio-ir/audio-ir-loader/README.md b/plugins/document-navigator/docs/media/audio-ir/audio-ir-loader/README.md index 8755db3..de3f7a0 100644 --- a/plugins/document-navigator/docs/media/audio-ir/audio-ir-loader/README.md +++ b/plugins/document-navigator/docs/media/audio-ir/audio-ir-loader/README.md @@ -53,7 +53,6 @@ The pipeline + dispatch + cache decisions live at the cross-cutting IR-family model lives at - ## Quick install ```ts @@ -76,4 +75,3 @@ const loader = createIrLoader({ }); const ir = await loader.load("club-club1"); ``` - diff --git a/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-club/README.md b/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-club/README.md index 25c1a4f..cd72dfe 100644 --- a/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-club/README.md +++ b/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-club/README.md @@ -83,4 +83,3 @@ bunx turbo lint typecheck test --filter=@suaveplan/audio-ir-room-plugin-club bunx turbo test:coverage --filter=@suaveplan/audio-ir-room-plugin-club # 100/100/100/100 bunx turbo build --filter=@suaveplan/audio-ir-room-plugin-club ``` - diff --git a/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-pool/README.md b/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-pool/README.md index bfcd154..0c47ffe 100644 --- a/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-pool/README.md +++ b/plugins/document-navigator/docs/media/audio-ir/audio-ir-room-plugin-pool/README.md @@ -71,4 +71,3 @@ The CDN copy lives at `https://swch.b-cdn.net/_/audio/ir/room/roompool.wav`. License: **All Rights Reserved — Suaveplan internal media library**. Do not redistribute the bundled WAV outside Suaveplan distributions. - diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/README.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/README.md index d4869b6..339da8b 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/README.md @@ -34,10 +34,10 @@ import { AudioDocument } from "@suaveplan/audio-core"; import { BeatDetector } from "@suaveplan/audio-analysis-beat"; const doc = new AudioDocument({ - sampleRate: 48_000, - channels: 1, - sourceLength: pcm.length, - pages: [{ channelData: [pcm], startSample: 0 }], + sampleRate: 48_000, + channels: 1, + sourceLength: pcm.length, + pages: [{ channelData: [pcm], startSample: 0 }], }); const result = await new BeatDetector().analyze(doc); @@ -65,4 +65,3 @@ console.log(result.bpm, result.beats.length, result.confidence); See per-module `.md` files for the deep documentation of each algorithm and entry point. - diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/beat-grid.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/beat-grid.md index d10e4ff..347b2f1 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/beat-grid.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/beat-grid.md @@ -30,9 +30,9 @@ gives a confidence near 1, scattered onsets give one near 0. import { buildBeatGrid } from "@suaveplan/audio-analysis-beat/algorithms/beat-grid"; const result = buildBeatGrid({ - period: 60 / 120, // 120 BPM - duration: 10, - onsets: [0.5, 1.0, 1.5, 2.0], + period: 60 / 120, // 120 BPM + duration: 10, + onsets: [0.5, 1.0, 1.5, 2.0], }); console.log(result.beats.length, result.phase, result.confidence); ``` @@ -46,7 +46,7 @@ import { buildBeatGrid } from "@suaveplan/audio-analysis-beat/algorithms/beat-gr // more tightly — this is how the BeatDetector breaks ties between candidate // tempi when an autocorrelation sweep returns two near-equal peaks. const onsets = new Float64Array([ - 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, + 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, ]); const a = buildBeatGrid({ period: 60 / 120, duration: 4.2, onsets, phaseTrials: 48 }); diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/comb-tempo.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/comb-tempo.md index 494af67..044f43d 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/comb-tempo.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/comb-tempo.md @@ -29,9 +29,9 @@ import { combTempo } from "@suaveplan/audio-analysis-beat/algorithms/comb-tempo" // ODF sampled every 1024 samples at 48 kHz → hopSeconds = 1024/48000. const result = combTempo(odf, { - minBpm: 60, - maxBpm: 200, - hopSeconds: 1024 / 48_000, + minBpm: 60, + maxBpm: 200, + hopSeconds: 1024 / 48_000, }); console.log(result.bpm); // e.g. 120 ``` @@ -40,8 +40,8 @@ console.log(result.bpm); // e.g. 120 ```ts import { - combScore, - combTempo, + combScore, + combTempo, } from "@suaveplan/audio-analysis-beat/algorithms/comb-tempo"; // Draw a tempo-confidence curve over the search range manually: @@ -50,8 +50,8 @@ const min = 60; const max = 200; const curve = new Float64Array(max - min + 1); for (let bpm = min; bpm <= max; bpm++) { - const period = Math.max(1, Math.round((60 / bpm) / hopSeconds)); - curve[bpm - min] = combScore(odf, period); + const period = Math.max(1, Math.round((60 / bpm) / hopSeconds)); + curve[bpm - min] = combScore(odf, period); } // Fall back to combTempo for the canonical winner including octave handling. diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/energy-odf.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/energy-odf.md index 5fdd67f..eb60790 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/energy-odf.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/energy-odf.md @@ -37,8 +37,8 @@ const odf = energyOdf(energies); ```ts import { - blockEnergy, - energyOdfFromSamples, + blockEnergy, + energyOdfFromSamples, } from "@suaveplan/audio-analysis-beat/algorithms/energy-odf"; const sampleRate = 48_000; @@ -53,10 +53,10 @@ const hopSeconds = blockSize / sampleRate; let bestIdx = 0; let best = 0; for (let i = 0; i < Math.floor(1 / hopSeconds); i++) { - if (odf[i] > best) { - best = odf[i]; - bestIdx = i; - } + if (odf[i] > best) { + best = odf[i]; + bestIdx = i; + } } console.log("onset at", bestIdx * hopSeconds, "seconds"); console.log("avg first-block energy", blockEnergy([left.subarray(0, blockSize)])); diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/spectral-flux.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/spectral-flux.md index c963d09..b2fa0fa 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/spectral-flux.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/algorithms/spectral-flux.md @@ -41,8 +41,8 @@ console.log(odf.length, "frames"); // ceil(192000 / 512) = 375 ```ts import { - magnitudeSpectrum, - spectralFlux, + magnitudeSpectrum, + spectralFlux, } from "@suaveplan/audio-analysis-beat/algorithms/spectral-flux"; const fftSize = 2048; @@ -55,8 +55,8 @@ const mono = new Float32Array(48_000 * 10); // 10 seconds // thread per-frame work through other code, or thin the ODF on the fly. const odfValues: number[] = []; for (let start = 0; start + fftSize <= mono.length; start += hop) { - buf.set(mono.subarray(start, start + fftSize)); - odfValues.push(spectralFlux(buf, prev, fftSize)); + buf.set(mono.subarray(start, start + fftSize)); + odfValues.push(spectralFlux(buf, prev, fftSize)); } // Verify the magnitude spectrum has the expected shape on its own. diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/detector/beat-detector.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/detector/beat-detector.md index 4a3a5cc..22a2bce 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/detector/beat-detector.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/detector/beat-detector.md @@ -42,10 +42,10 @@ import { AudioDocument } from "@suaveplan/audio-core"; import { BeatDetector } from "@suaveplan/audio-analysis-beat/detector/beat-detector"; const doc = new AudioDocument({ - sampleRate: 48_000, - channels: 1, - sourceLength: 48_000 * 4, - pages: [{ startSample: 0, channelData: [Array.from(/* 4 s mono */)] }], + sampleRate: 48_000, + channels: 1, + sourceLength: 48_000 * 4, + pages: [{ startSample: 0, channelData: [Array.from(/* 4 s mono */)] }], }); const detector = new BeatDetector(); @@ -60,11 +60,11 @@ import { AudioDocument } from "@suaveplan/audio-core"; import { BeatDetector } from "@suaveplan/audio-analysis-beat/detector/beat-detector"; const detector = new BeatDetector({ - algorithm: "spectral-flux", - minBpm: 80, - maxBpm: 160, - fftSize: 2048, - hopSize: 1024, + algorithm: "spectral-flux", + minBpm: 80, + maxBpm: 160, + fftSize: 2048, + hopSize: 1024, }); const controller = new AbortController(); @@ -73,10 +73,10 @@ setTimeout(() => controller.abort(), 5_000); // Streaming refinement let final; for await (const partial of detector.analyzeStream(doc, { - signal: controller.signal, + signal: controller.signal, })) { - final = partial; - console.log("BPM so far:", partial.bpm, partial.confidence); + final = partial; + console.log("BPM so far:", partial.bpm, partial.confidence); } // Or drive it through the audio-core AnalysisOp surface diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/error-codes/error-codes.md b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/error-codes/error-codes.md index c9cfb60..5013133 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/error-codes/error-codes.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-beat/src/error-codes/error-codes.md @@ -34,13 +34,13 @@ right log level without re-deriving it. ```ts import { - AUDIO_ANALYSIS_BEAT_CODES, - AudioAnalysisBeatError, + AUDIO_ANALYSIS_BEAT_CODES, + AudioAnalysisBeatError, } from "@suaveplan/audio-analysis-beat/error-codes"; throw new AudioAnalysisBeatError( - AUDIO_ANALYSIS_BEAT_CODES.EMPTY_DOCUMENT, - "audio-analysis-beat.empty-document", + AUDIO_ANALYSIS_BEAT_CODES.EMPTY_DOCUMENT, + "audio-analysis-beat.empty-document", ); ``` @@ -48,21 +48,21 @@ throw new AudioAnalysisBeatError( ```ts import { - AUDIO_ANALYSIS_BEAT_CODES, - AUDIO_ANALYSIS_BEAT_ERROR_METADATA, - AudioAnalysisBeatError, + AUDIO_ANALYSIS_BEAT_CODES, + AUDIO_ANALYSIS_BEAT_ERROR_METADATA, + AudioAnalysisBeatError, } from "@suaveplan/audio-analysis-beat/error-codes"; function logError(err: unknown): void { - if (!(err instanceof AudioAnalysisBeatError)) throw err; - const meta = AUDIO_ANALYSIS_BEAT_ERROR_METADATA[err.code]; - console[meta.severity === "warning" ? "warn" : "error"]( - `[${err.category}] ${err.code}: ${meta.description}`, - { context: err.context, cause: err.cause }, - ); - if (err.code === AUDIO_ANALYSIS_BEAT_CODES.ABORTED) return; - if (err.code === AUDIO_ANALYSIS_BEAT_CODES.NO_BEATS_DETECTED) return; - throw err; + if (!(err instanceof AudioAnalysisBeatError)) throw err; + const meta = AUDIO_ANALYSIS_BEAT_ERROR_METADATA[err.code]; + console[meta.severity === "warning" ? "warn" : "error"]( + `[${err.category}] ${err.code}: ${meta.description}`, + { context: err.context, cause: err.cause }, + ); + if (err.code === AUDIO_ANALYSIS_BEAT_CODES.ABORTED) return; + if (err.code === AUDIO_ANALYSIS_BEAT_CODES.NO_BEATS_DETECTED) return; + throw err; } ``` diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-loudness/README.md b/plugins/document-navigator/docs/media/audio/audio-analysis-loudness/README.md index 3754a83..aebf1a5 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-loudness/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-loudness/README.md @@ -53,4 +53,3 @@ console.log({ ## License MIT - diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-pitch/README.md b/plugins/document-navigator/docs/media/audio/audio-analysis-pitch/README.md index 68d2d21..47587b6 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-pitch/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-pitch/README.md @@ -60,4 +60,3 @@ All errors are `AudioAnalysisError`s carrying one of the `AUDIO_ANALYSIS_PITCH.* ## License MIT - diff --git a/plugins/document-navigator/docs/media/audio/audio-analysis-spectrum/README.md b/plugins/document-navigator/docs/media/audio/audio-analysis-spectrum/README.md index 19ae1ad..09e2c68 100644 --- a/plugins/document-navigator/docs/media/audio/audio-analysis-spectrum/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-analysis-spectrum/README.md @@ -59,4 +59,3 @@ console.log(result.centroid, result.rolloff, result.flux); ## Status `0.1.0`. Pre-publish gate (lint + typecheck + test) and 100% coverage are required on every change. - diff --git a/plugins/document-navigator/docs/media/audio/audio-cli/README.md b/plugins/document-navigator/docs/media/audio/audio-cli/README.md index 74315e6..954130e 100644 --- a/plugins/document-navigator/docs/media/audio/audio-cli/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-cli/README.md @@ -101,4 +101,3 @@ Stable mapping from `AUDIO_CLI.*` codes onto Unix exit codes: - 100/100/100/100 coverage on every implementation file. - Zero mocks — tests drive the real CLI against real `mkdtemp` temp files and the real `@suaveplan/audio-engine-server` adapters. - diff --git a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-native/README.md b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-native/README.md index aa8fc12..30c6b3a 100644 --- a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-native/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-native/README.md @@ -78,4 +78,3 @@ Eight codes namespaced under `AUDIO_CODEC_FFMPEG_NATIVE.*`: `0.1.0` — first-tier landing. Subpath exports cover every implementation module so consumers can tree-shake. See the package's OpenSpec change for the full specification. - diff --git a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/README.md b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/README.md index 95e4dd8..f086240 100644 --- a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/README.md @@ -124,4 +124,3 @@ For testing without a real worker, supply: These are dependency-injection seams, not mocks; production callers omit them and the real `new Worker(coreUrl)` / dynamic `import()` path runs unchanged. - diff --git a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/core-loader/core-loader.md b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/core-loader/core-loader.md index 376814e..96d8d26 100644 --- a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/core-loader/core-loader.md +++ b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/core-loader/core-loader.md @@ -69,10 +69,10 @@ modules. ## Implementation Notes -The COI check intentionally happens *before* the dynamic `import()` so +The COI check intentionally happens _before_ the dynamic `import()` so that callers without the `@ffmpeg/core-mt` optional dep installed never incur a module-not-found warning when the COI gate is the real failure. -The fallback path runs only when COI is true *and* the mt import rejects +The fallback path runs only when COI is true _and_ the mt import rejects — if COI is true and mt loads successfully, no fallback occurs. The `crossOriginIsolated` override exists so tests can drive both branches deterministically without manipulating the global. diff --git a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/encode/encode-pipeline.md b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/encode/encode-pipeline.md index 64c05ad..ee13325 100644 --- a/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/encode/encode-pipeline.md +++ b/plugins/document-navigator/docs/media/audio/audio-codec-ffmpeg-wasm/src/encode/encode-pipeline.md @@ -7,7 +7,7 @@ _(no submodules)_ ## Purpose This module owns the pure logic of the encode pipeline: validating the -requested format against the supported set *before* the worker is touched, +requested format against the supported set _before_ the worker is touched, interleaving per-channel PCM into a single `Float32Array`, projecting that into ffmpeg's `f32le` wire format, building the format-specific ffmpeg command for each of `wav` / `mp3` / `ogg` / `opus` / `flac` / diff --git a/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/caf.md b/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/caf.md index 992cfa3..236862f 100644 --- a/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/caf.md +++ b/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/caf.md @@ -100,7 +100,7 @@ if (fmt === "caf") { - The format ID at offset 8 of `desc` is `lpcm` (`0x6c70636d`) for uncompressed integer PCM. The decoder does not currently dispatch on this field — it assumes `lpcm` and decodes accordingly. Other format - IDs (`alac`, `aac `, `lpcm` floats) would produce wrong output; + IDs (`alac`, `aac`, `lpcm` floats) would produce wrong output; callers needing compressed CAF support should use the corresponding WASM codec for the inner format. - Sample byte order is determined per sample by the diff --git a/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/wav.md b/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/wav.md index 39f5d52..4eda1d6 100644 --- a/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/wav.md +++ b/plugins/document-navigator/docs/media/audio/audio-codecs/src/codecs/wav.md @@ -24,7 +24,7 @@ storage format (PCM int vs IEEE float). - `WavCodec.canDecode(bytes)` — magic-byte sniff: returns `true` iff the buffer is at least 12 bytes and starts with `RIFF` … `WAVE`. - `WavCodec.decode(bytes)` — parses the RIFF header, walks the chunk list - for `fmt ` and `data`, decodes the PCM, and returns a `DecodeResult` + for `fmt` and `data`, decodes the PCM, and returns a `DecodeResult` with `channelData`, `sampleRate`, and `format: "wav"`. - `WavCodec.encode(channelData, opts?)` — emits a complete RIFF WAV from PCM channels at the requested `sampleRate`, `bitDepth`, and @@ -106,7 +106,7 @@ encoder.close(); - `canDecode(bytes: Uint8Array): boolean` - `decode(bytes: Uint8Array, opts?: DecodeOpts): Promise` — throws `AudioCodecsError("AUDIO_CODECS.DECODE_FAILED")` on bad magic, - missing `fmt ` chunk, missing `data` chunk, truncated `data`, fmt size + missing `fmt` chunk, missing `data` chunk, truncated `data`, fmt size < 16, or unsupported `bitsPerSample` (`bps === 0` or `bps > 4`). - `encode(channelData, opts?: EncodeOpts): Promise` — throws `AudioCodecsError("AUDIO_CODECS.ENCODE_FAILED")` if `channelData` is @@ -120,7 +120,7 @@ encoder.close(); ## Implementation Notes - The RIFF chunk walker tolerates and skips any chunk whose ID is neither - `fmt ` nor `data` — `LIST`, `bext`, `iXML`, and other metadata chunks + `fmt` nor `data` — `LIST`, `bext`, `iXML`, and other metadata chunks are passed over silently. This matches the behaviour every real WAV consumer expects. - 24-bit PCM uses three signed-magnitude bytes per sample in diff --git a/plugins/document-navigator/docs/media/audio/audio-controllers/README.md b/plugins/document-navigator/docs/media/audio/audio-controllers/README.md index a7022ed..4886be5 100644 --- a/plugins/document-navigator/docs/media/audio/audio-controllers/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-controllers/README.md @@ -72,4 +72,3 @@ and `bindParameter` integration with the FX plugin family. ## Status `0.1.0` — Wave 1 migration. 100/100/100/100 coverage. - diff --git a/plugins/document-navigator/docs/media/audio/audio-core/README.md b/plugins/document-navigator/docs/media/audio/audio-core/README.md index 6078d09..19c8cdf 100644 --- a/plugins/document-navigator/docs/media/audio/audio-core/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-core/README.md @@ -98,4 +98,3 @@ for await (const block of doc.stream()) { - [`src/stats/stats.md`](src/stats/stats.md) — `computeStats` for peak, RMS, and DC offset - [`src/stream/stream.md`](src/stream/stream.md) — `createPlanTransformStream` for downstream transforms - [`src/error-codes.md`](src/error-codes.md) — Error codes and `AudioError` class - diff --git a/plugins/document-navigator/docs/media/audio/audio-decode-wav/README.md b/plugins/document-navigator/docs/media/audio/audio-decode-wav/README.md index 1d7b64d..e47138c 100644 --- a/plugins/document-navigator/docs/media/audio/audio-decode-wav/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-decode-wav/README.md @@ -78,4 +78,3 @@ try { - Resampling — surfaced as `RESAMPLE_UNSUPPORTED`; a future `@suaveplan/audio-resample` will pair with this package. - Non-WAV formats — sibling `audio-decode-{mp3,flac,opus,…}` packages each wrap their own upstream decoder behind the same contract. - Format dispatching — owned by the upcoming `@suaveplan/audio-decode` umbrella package. - diff --git a/plugins/document-navigator/docs/media/audio/audio-engine-browser/README.md b/plugins/document-navigator/docs/media/audio/audio-engine-browser/README.md index 7b765bb..72d7538 100644 --- a/plugins/document-navigator/docs/media/audio/audio-engine-browser/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-engine-browser/README.md @@ -111,4 +111,3 @@ adapter.dispose(); (`audio_engine_browser_offline_render_duration_ms`). - 100% test coverage; tests run under `happy-dom` with an injected context shim. - diff --git a/plugins/document-navigator/docs/media/audio/audio-engine-server/README.md b/plugins/document-navigator/docs/media/audio/audio-engine-server/README.md index c95499a..ab528ee 100644 --- a/plugins/document-navigator/docs/media/audio/audio-engine-server/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-engine-server/README.md @@ -69,4 +69,3 @@ exporter is registered and has no import-time side effects. See the specification for the full requirement set. - diff --git a/plugins/document-navigator/docs/media/audio/audio-fingerprint/README.md b/plugins/document-navigator/docs/media/audio/audio-fingerprint/README.md index 7e2922b..0fd31c3 100644 --- a/plugins/document-navigator/docs/media/audio/audio-fingerprint/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-fingerprint/README.md @@ -85,4 +85,3 @@ Both gates hard-fail below 100% coverage. The Python test suite is not currently - `@suaveplan/react-audio-fingerprint` — the React 19 sibling that runs the browser-tier fingerprinter and, via this package's `python-backend` integration, consults this service for high-accuracy matching. - `@suaveplan/audio-analysis-spectrum` — the universal FFT/spectrogram primitives the browser-tier fingerprinter is built on. - diff --git a/plugins/document-navigator/docs/media/audio/audio-metadata/README.md b/plugins/document-navigator/docs/media/audio/audio-metadata/README.md index 4b46ded..93ac7d4 100644 --- a/plugins/document-navigator/docs/media/audio/audio-metadata/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-metadata/README.md @@ -29,7 +29,9 @@ Universal audio metadata extractor that parses ID3v1/v2, MP4/M4A atoms, FLAC Vor - [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_ - [utils](./src/utils/buffer-utils.md) — _(no submodules)_ - [buffer-utils](./src/utils/buffer-utils.md) — _(no submodules)_ + - [extractor](./src/core/extractor/extractor.md) — _(no submodules)_- [errors](./src/errors/metadata-error.md) — _(no submodules)_- [metadata-error](./src/errors/metadata-error.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [utils](./src/utils/buffer-utils.md) — _(no submodules)_- [buffer-utils](./src/utils/buffer-utils.md) — _(no submodules)_- [extractor](./src/core/extractor/extractor.md) — _(no submodules)_- [errors](./src/errors/metadata-error.md) — _(no submodules)_- [metadata-error](./src/errors/metadata-error.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [utils](./src/utils/buffer-utils.md) — _(no submodules)_- [buffer-utils](./src/utils/buffer-utils.md) — _(no submodules)_- [extractor](./src/core/extractor/extractor.md) — _(no submodules)_- [errors](./src/errors/metadata-error.md) — _(no submodules)_- [metadata-error](./src/errors/metadata-error.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [utils](./src/utils/buffer-utils.md) — _(no submodules)_- [buffer-utils](./src/utils/buffer-utils.md) — _(no submodules)_- [extractor](./src/core/extractor/extractor.md) — _(no submodules)_- [errors](./src/errors/metadata-error.md) — _(no submodules)_ - [metadata-error](./src/errors/metadata-error.md) — _(no submodules)_- [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_ - [aiff-id3](./src/parsers/aiff-id3/aiff-id3.md) — _(no submodules)_- [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_ - [flac-vorbis](./src/parsers/flac-vorbis/flac-vorbis.md) — _(no submodules)_- [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_ - [format-detector](./src/parsers/format-detector/format-detector.md) — _(no submodules)_- [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_ - [id3v1](./src/parsers/id3v1/id3v1.md) — _(no submodules)_- [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_ - [id3v2](./src/parsers/id3v2/id3v2.md) — _(no submodules)_- [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_ - [mp4-atom](./src/parsers/mp4-atom/mp4-atom.md) — _(no submodules)_- [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_ - [ogg-vorbis](./src/parsers/ogg-vorbis/ogg-vorbis.md) — _(no submodules)_- [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_ - [wav-riff](./src/parsers/wav-riff/wav-riff.md) — _(no submodules)_- [utils](./src/utils/buffer-utils.md) — _(no submodules)_ - [buffer-utils](./src/utils/buffer-utils.md) — _(no submodules)_ + ## Installation ```bash @@ -129,4 +131,3 @@ interface Track { - [`src/parsers/aiff-id3/aiff-id3.md`](src/parsers/aiff-id3/aiff-id3.md) — AIFF/AIFC + ID3 parser - [`src/core/extractor/extractor.md`](src/core/extractor/extractor.md) — MetadataExtractor facade - [`src/errors/metadata-error.md`](src/errors/metadata-error.md) — Error codes - diff --git a/plugins/document-navigator/docs/media/audio/audio-sprite-packer/README.md b/plugins/document-navigator/docs/media/audio/audio-sprite-packer/README.md index 0471f26..0303df7 100644 --- a/plugins/document-navigator/docs/media/audio/audio-sprite-packer/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-sprite-packer/README.md @@ -51,4 +51,3 @@ console.log(jump.length); // encoded byte length - [`src/types/common.md`](src/types/common.md) — `AudioAdapter` interface, Zod schemas, and public types - [`src/error-codes.md`](src/error-codes.md) — Error codes and `AudioSpriteError` class - [`src/__benchmarks__/audio-sprite-packer.bench.md`](src/__benchmarks__/audio-sprite-packer.bench.md) — Benchmark suite notes - diff --git a/plugins/document-navigator/docs/media/audio/audio-sprite-player/README.md b/plugins/document-navigator/docs/media/audio/audio-sprite-player/README.md index d7ddd1a..fc4ff5b 100644 --- a/plugins/document-navigator/docs/media/audio/audio-sprite-player/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-sprite-player/README.md @@ -77,4 +77,3 @@ See the co-located `.md` files inside `src/`: - [`telemetry/telemetry.md`](./src/telemetry/telemetry.md) - [`schemas.md`](./src/schemas.md) - [`error-codes.md`](./src/error-codes.md) - diff --git a/plugins/document-navigator/docs/media/audio/audio-timeline/README.md b/plugins/document-navigator/docs/media/audio/audio-timeline/README.md index 5e58cda..987328e 100644 --- a/plugins/document-navigator/docs/media/audio/audio-timeline/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-timeline/README.md @@ -38,4 +38,3 @@ Headless DAW timeline engine with multi-track arrangements, clips, playback, loo - [zoom](./src/zoom/zoom.md) — The `zoom.ts` module provides a discrete zoom table and navigation helpers for the timeline view. Zoom levels are expre… - [zoom](./src/zoom/zoom.md) — The `zoom.ts` module provides a discrete zoom table and navigation helpers for the timeline view. Zoom levels are expre… - diff --git a/plugins/document-navigator/docs/media/audio/audio-transport/README.md b/plugins/document-navigator/docs/media/audio/audio-transport/README.md index bf8a60f..ba7dc16 100644 --- a/plugins/document-navigator/docs/media/audio/audio-transport/README.md +++ b/plugins/document-navigator/docs/media/audio/audio-transport/README.md @@ -55,4 +55,3 @@ scheduler.start(); - [Signal](src/signal/signal.md) — tempo automation curves - [Time](src/time/time.md) — musical time parsing and conversion - [Error Codes](src/error-codes.md) — structured error registry - diff --git a/plugins/document-navigator/docs/media/audio/control-surface-schema/README.md b/plugins/document-navigator/docs/media/audio/control-surface-schema/README.md index 646496a..1690213 100644 --- a/plugins/document-navigator/docs/media/audio/control-surface-schema/README.md +++ b/plugins/document-navigator/docs/media/audio/control-surface-schema/README.md @@ -207,4 +207,3 @@ const traktor = { - [Upgrade](./src/upgrade/upgrade.md) - [Walk](./src/walk/walk.md) - [Identity](./src/identity/identity.md) - diff --git a/plugins/document-navigator/docs/media/audio/midi/README.md b/plugins/document-navigator/docs/media/audio/midi/README.md index 7064615..bde59aa 100644 --- a/plugins/document-navigator/docs/media/audio/midi/README.md +++ b/plugins/document-navigator/docs/media/audio/midi/README.md @@ -87,4 +87,3 @@ const messages = decoder.drain(); ## Coverage gate `bunx turbo test:coverage --filter=@suaveplan/midi` enforces 100/100/100/100 (statements / branches / functions / lines). - diff --git a/plugins/document-navigator/docs/media/audio/midi/src/sysex/sysex.md b/plugins/document-navigator/docs/media/audio/midi/src/sysex/sysex.md index e90aa96..b117154 100644 --- a/plugins/document-navigator/docs/media/audio/midi/src/sysex/sysex.md +++ b/plugins/document-navigator/docs/media/audio/midi/src/sysex/sysex.md @@ -8,7 +8,7 @@ _(no submodules)_ `parseSysEx` and `buildSysEx` are the canonical helpers for working with MIDI System Exclusive payloads — the manufacturer-defined byte streams that sit between an `F0` prefix and an `F7` terminator. Every vendor uses SysEx for patch dumps, parameter sysex, MMC (MIDI Machine Control), and identity-request handshakes; standardising the parse / build code in one place prevents off-by-one errors with the one-byte vs three-byte manufacturer-id forms. -`parseSysEx` expects the *body* of the frame (i.e. everything between `F0` and `F7`, exclusive of both endpoints). `buildSysEx` produces a complete `F0...F7` frame; callers feed the result straight to `MidiPortLike.send`. +`parseSysEx` expects the _body_ of the frame (i.e. everything between `F0` and `F7`, exclusive of both endpoints). `buildSysEx` produces a complete `F0...F7` frame; callers feed the result straight to `MidiPortLike.send`. ## Features diff --git a/plugins/document-navigator/docs/media/audio/midi/src/ump/ump.md b/plugins/document-navigator/docs/media/audio/midi/src/ump/ump.md index 9d5ec8e..67bfc51 100644 --- a/plugins/document-navigator/docs/media/audio/midi/src/ump/ump.md +++ b/plugins/document-navigator/docs/media/audio/midi/src/ump/ump.md @@ -6,7 +6,7 @@ _(no submodules)_ ## Purpose -MIDI 2.0 introduces the Universal MIDI Packet (UMP) format — fixed-width 32, 64, 96, or 128 bit packets that carry MIDI messages alongside high-resolution per-note controllers, per-note pitch, and 32-bit velocity. This module exposes the four packet types, the message-type nibble constants, and a *lossless* bridge between MIDI 1.0 messages and their UMP equivalents. +MIDI 2.0 introduces the Universal MIDI Packet (UMP) format — fixed-width 32, 64, 96, or 128 bit packets that carry MIDI messages alongside high-resolution per-note controllers, per-note pitch, and 32-bit velocity. This module exposes the four packet types, the message-type nibble constants, and a _lossless_ bridge between MIDI 1.0 messages and their UMP equivalents. The bridge is deliberately one-way for any MIDI 2.0 feature that exceeds MIDI 1.0's expressivity: a MIDI 2.0 channel-voice packet with 32-bit velocity cannot be downgraded to MIDI 1.0 without losing precision, so `umpToMidi1` rejects it with `MidiError("MIDI.UNSUPPORTED_UMP_VARIANT")` rather than silently truncating. Engines that want to "best-effort downgrade" wrap this bridge with their own approximation policy. diff --git a/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/README.md b/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/README.md index 564ea3a..c81cc14 100644 --- a/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/README.md +++ b/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/README.md @@ -14,4 +14,3 @@ - [types](./src/types/types.md) — Shared types for `@suaveplan/third-party-elevenlabs`. Defines the request / response envelope shapes consumed by the tr… - [types](./src/types/types.md) — Shared types for `@suaveplan/third-party-elevenlabs`. Defines the request / response envelope shapes consumed by the tr… - diff --git a/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/src/types/types.md b/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/src/types/types.md index 8dbb3e5..de4fd98 100644 --- a/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/src/types/types.md +++ b/plugins/document-navigator/docs/media/audio/third-party-elevenlabs/src/types/types.md @@ -143,7 +143,7 @@ WebSocket: consistently without per-call wiring. - `MultipartFile` accepts URLs as strings; the client fetches them via the injected `fetchImpl` before uploading. This is the only place in - the transport that issues a *secondary* network call from a single + the transport that issues a _secondary_ network call from a single caller invocation. - `RequestMetadata` keeps every field optional because some endpoints do not surface `X-RateLimit-Remaining` or `X-Character-Cost`. diff --git a/plugins/document-navigator/docs/media/audio/voice-elevenlabs/README.md b/plugins/document-navigator/docs/media/audio/voice-elevenlabs/README.md index 87aacea..0cccd18 100644 --- a/plugins/document-navigator/docs/media/audio/voice-elevenlabs/README.md +++ b/plugins/document-navigator/docs/media/audio/voice-elevenlabs/README.md @@ -140,4 +140,3 @@ bunx turbo test:coverage --filter=@suaveplan/voice-elevenlabs ``` Coverage gate: 100/100/100/100 statements/branches/functions/lines. - diff --git a/plugins/document-navigator/docs/media/audio/voice/README.md b/plugins/document-navigator/docs/media/audio/voice/README.md index c5c0cce..e068f56 100644 --- a/plugins/document-navigator/docs/media/audio/voice/README.md +++ b/plugins/document-navigator/docs/media/audio/voice/README.md @@ -85,4 +85,3 @@ const result = await synth.synthesize({ Provider-specific extensions (voice cloning, conversational AI, music, dubbing, voice changing) ship in their own packages under separate abstractions when those domains stabilise across two or more vendors. - diff --git a/plugins/document-navigator/docs/media/fonts/font-compress/README.md b/plugins/document-navigator/docs/media/fonts/font-compress/README.md index 7951416..46b59e2 100644 --- a/plugins/document-navigator/docs/media/fonts/font-compress/README.md +++ b/plugins/document-navigator/docs/media/fonts/font-compress/README.md @@ -21,7 +21,9 @@ Designed for Three.js / game-engine font pipelines where fonts must be shipped a - [binary-font-packer](./src/packer/binary-font-packer/binary-font-packer.md) — _(no submodules)_ - [encode-string](./src/utils/encode-string.md) — Utilities for encoding and decoding length-prefixed UTF-8 strings in the BTF binary format. They provide the wire encod… - [parse-path](./src/utils/parse-path.md) — Parses a typeface.js outline string into an array of structured command objects. The typeface.js format encodes glyph o… + - [binary-font-packer](./src/packer/binary-font-packer/binary-font-packer.md) — _(no submodules)_- [binary-font-unpacker](./src/unpacker/binary-font-unpacker/binary-font-unpacker.md) — _(no submodules)_- [binary-font-unpacker](./src/unpacker/binary-font-unpacker/binary-font-unpacker.md) — _(no submodules)_- [encode-string](./src/utils/encode-string.md) — Utilities for encoding and decoding length-prefixed UTF-8 strings in the BTF binary format. They provide the wire encod… + - [parse-path](./src/utils/parse-path.md) — Parses a typeface.js outline string into an array of structured command objects. The typeface.js format encodes glyph o… - [error-codes](./src/error-codes.md) — `FontCompressError` is the structured error type for the `@suaveplan/font-compress` package, extending `SuaveplanError`… - [binary-font-packer](./src/packer/binary-font-packer/binary-font-packer.md) — _(no submodules)_- [binary-font-unpacker](./src/unpacker/binary-font-unpacker/binary-font-unpacker.md) — _(no submodules)_- [binary-font-unpacker](./src/unpacker/binary-font-unpacker/binary-font-unpacker.md) — _(no submodules)_- [encode-string](./src/utils/encode-string.md) — Utilities for encoding and decoding length-prefixed UTF-8 strings in the BTF binary format. They provide the wire encod… @@ -108,4 +110,3 @@ bunx suaveplan-font-compress ./fonts -o ./out --force Exit codes: `0` success, `1` per-file failure(s), `2` invalid CLI args, `3` missing input path. - diff --git a/plugins/document-navigator/docs/media/fonts/font-convert/README.md b/plugins/document-navigator/docs/media/fonts/font-convert/README.md index 615a3f4..4132fc1 100644 --- a/plugins/document-navigator/docs/media/fonts/font-convert/README.md +++ b/plugins/document-navigator/docs/media/fonts/font-convert/README.md @@ -15,7 +15,9 @@ Converts TTF/OTF/WOFF/WOFF2 font files to the [typeface.js](https://gero3.github - [typeface](./src/types/typeface.md) — _(no submodules)_ - [outline-to-string](./src/utils/outline-to-string.md) — Serialises an array of `PathCommand` objects to the space-separated token string stored in a `TypefaceGlyph`'s `o` fiel… - [reverse-winding](./src/utils/reverse-winding.md) — Reverses the winding order of a typeface.js path command sequence. Three.js `FontLoader` expects counter-clockwise wind… + - [batch-converter](./src/core/batch-converter/batch-converter.md) — _(no submodules)_- [font-converter](./src/core/font-converter/font-converter.md) — _(no submodules)_- [font-converter](./src/core/font-converter/font-converter.md) — _(no submodules)_- [types](./src/types/typeface.md) — _(no submodules)_- [typeface](./src/types/typeface.md) — _(no submodules)_- [outline-to-string](./src/utils/outline-to-string.md) — Serialises an array of `PathCommand` objects to the space-separated token string stored in a `TypefaceGlyph`'s `o` fiel… + - [reverse-winding](./src/utils/reverse-winding.md) — Reverses the winding order of a typeface.js path command sequence. Three.js `FontLoader` expects counter-clockwise wind… - [batch-converter](./src/core/batch-converter/batch-converter.md) — _(no submodules)_- [font-converter](./src/core/font-converter/font-converter.md) — _(no submodules)_- [font-converter](./src/core/font-converter/font-converter.md) — _(no submodules)_- [types](./src/types/typeface.md) — _(no submodules)_- [typeface](./src/types/typeface.md) — _(no submodules)_- [outline-to-string](./src/utils/outline-to-string.md) — Serialises an array of `PathCommand` objects to the space-separated token string stored in a `TypefaceGlyph`'s `o` fiel… - [reverse-winding](./src/utils/reverse-winding.md) — Reverses the winding order of a typeface.js path command sequence. Three.js `FontLoader` expects counter-clockwise wind… diff --git a/plugins/document-navigator/docs/media/fonts/font-decompress/README.md b/plugins/document-navigator/docs/media/fonts/font-decompress/README.md index 098f437..14c1fd8 100644 --- a/plugins/document-navigator/docs/media/fonts/font-decompress/README.md +++ b/plugins/document-navigator/docs/media/fonts/font-decompress/README.md @@ -128,4 +128,3 @@ commit. tests only. The runtime dependency graph is `font-decompress → font-convert + error`; the test surface adds `font-compress` solely to generate known-vector fixtures. - diff --git a/plugins/document-navigator/docs/media/fonts/font-subset/README.md b/plugins/document-navigator/docs/media/fonts/font-subset/README.md index 360e2f8..44f7ea5 100644 --- a/plugins/document-navigator/docs/media/fonts/font-subset/README.md +++ b/plugins/document-navigator/docs/media/fonts/font-subset/README.md @@ -15,7 +15,9 @@ Font subsetting and compression library with a codec-agnostic adapter interface. - [common](./src/types/common.md) — _(no submodules)_ - [format-detect](./src/utils/format-detect.md) — Provides magic-byte font format detection from raw binary data. Before compressing or probing a font file, `FontCompres… - [unicode-ranges](./src/utils/unicode-ranges.md) — Parses CSS/OpenType-style Unicode range notation into a `Set` of integer codepoints. Font subsetting workflows… + - [null](./src/adapters/null/null.md) — _(no submodules)_- [font-compressor](./src/core/font-compressor/font-compressor.md) — _(no submodules)_- [font-compressor](./src/core/font-compressor/font-compressor.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [format-detect](./src/utils/format-detect.md) — Provides magic-byte font format detection from raw binary data. Before compressing or probing a font file, `FontCompres… + - [unicode-ranges](./src/utils/unicode-ranges.md) — Parses CSS/OpenType-style Unicode range notation into a `Set` of integer codepoints. Font subsetting workflows… - [null](./src/adapters/null/null.md) — _(no submodules)_- [font-compressor](./src/core/font-compressor/font-compressor.md) — _(no submodules)_- [font-compressor](./src/core/font-compressor/font-compressor.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [format-detect](./src/utils/format-detect.md) — Provides magic-byte font format detection from raw binary data. Before compressing or probing a font file, `FontCompres… - [unicode-ranges](./src/utils/unicode-ranges.md) — Parses CSS/OpenType-style Unicode range notation into a `Set` of integer codepoints. Font subsetting workflows… diff --git a/plugins/document-navigator/docs/media/image/caddy-imgproxy/README.md b/plugins/document-navigator/docs/media/image/caddy-imgproxy/README.md index 361e4b9..7e55949 100644 --- a/plugins/document-navigator/docs/media/image/caddy-imgproxy/README.md +++ b/plugins/document-navigator/docs/media/image/caddy-imgproxy/README.md @@ -98,4 +98,3 @@ Universal — no DOM or Node-only APIs at the package boundary. `sideEffects: false`. Internal deps: `@suaveplan/crypto-hash`, `@suaveplan/error`, `@suaveplan/types`. External deps: `@opentelemetry/api`, `tslib`, `zod`. - diff --git a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/dimensions/calculate-dimensions.md b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/dimensions/calculate-dimensions.md index bd94229..2fd1cfa 100644 --- a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/dimensions/calculate-dimensions.md +++ b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/dimensions/calculate-dimensions.md @@ -60,8 +60,8 @@ calculateDimensions(pixel, 9999); ### `calculateDimensions(parsed: ParsedImgproxyUrl, defaultWidth: number): ImgproxyDimensions` - **Parameters:** - - `parsed` — output of `parseImgproxyUrl`. - - `defaultWidth` — width used when the URL is in aspect-ratio mode + - `parsed` — output of `parseImgproxyUrl`. + - `defaultWidth` — width used when the URL is in aspect-ratio mode without a `w`/`h` hint. - **Returns:** `{ width, height }`, both non-negative integers. Either axis may be `0` (meaning "auto / unspecified"). diff --git a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/operation/operation.md b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/operation/operation.md index fc99387..1397880 100644 --- a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/operation/operation.md +++ b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/operation/operation.md @@ -60,9 +60,9 @@ operationToImgproxy(parsed.operation, width, height, parsed.gravity); ### `operationToImgproxy(op: ImgproxyOperation, width: number, height: number, gravity: string): string` - **Parameters:** - - `op` — one of `""|cover|crop|fit|stretch|resize`. - - `width`, `height` — non-negative integers; either may be zero. - - `gravity` — a grammar code accepted by `gravityToImgproxy`. + - `op` — one of `""|cover|crop|fit|stretch|resize`. + - `width`, `height` — non-negative integers; either may be zero. + - `gravity` — a grammar code accepted by `gravityToImgproxy`. - **Returns:** the imgproxy processing string, or `""` when the operation cannot be expressed (e.g. `crop` without both dims). diff --git a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/parse/parse-url.md b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/parse/parse-url.md index f84205b..b158ed4 100644 --- a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/parse/parse-url.md +++ b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/parse/parse-url.md @@ -76,10 +76,10 @@ function tryParse(path: string): string | null { - **Parameters:** `path` — the URL path including leading `/`. - **Returns:** a frozen `ParsedImgproxyUrl` (see `types/types.ts`). - **Throws:** - - `CaddyImgproxyError(INVALID_URL)` when the regex rejects the + - `CaddyImgproxyError(INVALID_URL)` when the regex rejects the input — bad prefix, malformed dimensions, quality outside `1..100`. - - `CaddyImgproxyError(MISSING_DIMENSIONS)` when an operation + - `CaddyImgproxyError(MISSING_DIMENSIONS)` when an operation (`v|c|f|s|r`) is present without any dimension grammar. ## Implementation Notes diff --git a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/signing/sign-path.md b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/signing/sign-path.md index 12ba49f..cdf3897 100644 --- a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/signing/sign-path.md +++ b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/signing/sign-path.md @@ -68,14 +68,14 @@ const sig = signImgproxyPath({ ### `signImgproxyPath(options: SignImgproxyPathOptions): string` - **Parameters:** - - `options.key` — lower-hex HMAC key, even length, non-empty. - - `options.salt` — lower-hex salt, even length, non-empty. - - `options.path` — the imgproxy path being signed. - - `options.hash` — optional `SignerHashLike` injection seam. + - `options.key` — lower-hex HMAC key, even length, non-empty. + - `options.salt` — lower-hex salt, even length, non-empty. + - `options.path` — the imgproxy path being signed. + - `options.hash` — optional `SignerHashLike` injection seam. - **Returns:** base64url-encoded signature, no padding. - **Throws:** - - `CaddyImgproxyError(INVALID_KEY)` for malformed / empty / odd-length key. - - `CaddyImgproxyError(INVALID_SALT)` for malformed / empty / odd-length salt. + - `CaddyImgproxyError(INVALID_KEY)` for malformed / empty / odd-length key. + - `CaddyImgproxyError(INVALID_SALT)` for malformed / empty / odd-length salt. ### `SignerHashLike` diff --git a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/url-builder/url-builder.md b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/url-builder/url-builder.md index 11e7862..5b53883 100644 --- a/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/url-builder/url-builder.md +++ b/plugins/document-navigator/docs/media/image/caddy-imgproxy/src/url-builder/url-builder.md @@ -70,10 +70,10 @@ const url = buildImgproxyUrl({ parsed, domain: "example.com", config }); ### `buildImgproxyUrl(options: BuildImgproxyUrlOptions): string` - **Parameters:** - - `options.parsed` — output of `parseImgproxyUrl`. - - `options.domain` — virtual-host segment for the S3 path. - - `options.config` — validated `ImgproxyConfig`. - - `options.hash` — optional signer hash override. + - `options.parsed` — output of `parseImgproxyUrl`. + - `options.domain` — virtual-host segment for the S3 path. + - `options.config` — validated `ImgproxyConfig`. + - `options.hash` — optional signer hash override. - **Returns:** the full imgproxy path including the signature prefix. ### `BuildImgproxyUrlOptions` diff --git a/plugins/document-navigator/docs/media/image/colours/README.md b/plugins/document-navigator/docs/media/image/colours/README.md index a185a18..13d0246 100644 --- a/plugins/document-navigator/docs/media/image/colours/README.md +++ b/plugins/document-navigator/docs/media/image/colours/README.md @@ -62,4 +62,3 @@ console.log(c.contrast("#ffffff")); // WCAG contrast ratio - `@suaveplan/colours/utils` — clamping and rounding utilities - `@suaveplan/colours/errors` — `ColourError` and factory functions - `@suaveplan/colours/error-codes` — `COLOUR_CODES` registry - diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/README.md b/plugins/document-navigator/docs/media/image/emblem-solver/README.md index 2ac6aa9..6ea2018 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/README.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/README.md @@ -131,4 +131,3 @@ Bun, Node, Deno, and modern browsers. ## License MIT — Suaveplan Team. - diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/src/grid/analyse/analyse.md b/plugins/document-navigator/docs/media/image/emblem-solver/src/grid/analyse/analyse.md index 7ecc56a..ee9133f 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/src/grid/analyse/analyse.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/src/grid/analyse/analyse.md @@ -65,7 +65,7 @@ function pickBackgroundColour(pixels, w, h) { The flood-fill uses an explicit stack (`pop()`) rather than recursion to avoid blowing the call stack on large emblems. We `add` to `visited` -*before* enqueueing the neighbour, which guarantees each pixel is touched +_before_ enqueueing the neighbour, which guarantees each pixel is touched at most twice (once when discovered, once when its packed index is popped). The neighbour set is computed as a small inline array of `-1`-sentinel checks for the four cardinal directions; benchmarks against a `for (const diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/merge/merge.md b/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/merge/merge.md index b904f56..edc312a 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/merge/merge.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/merge/merge.md @@ -62,6 +62,6 @@ The inner `tryMerge` first tests the horizontal merge (same `y`, same against `available` before accepting; this avoids painting through transparent pixels. The outer loop terminates when a full pass produces zero merges, so each call is idempotent. We deliberately do not try -*non*-same-extent merges here — that is the job of `optimiseOverlap`, +_non_-same-extent merges here — that is the job of `optimiseOverlap`, which can produce overlapping output and is therefore a strictly stronger (but more expensive) operation. diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/redundancy/redundancy.md b/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/redundancy/redundancy.md index f71b463..4f3a75d 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/redundancy/redundancy.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/src/optimizer/redundancy/redundancy.md @@ -18,7 +18,7 @@ on the layer list and is the only pass that mutates `layer.rects`. - Composites every layer into a per-cell `target` grid first (lower-z to higher-z), then walks rect by rect deciding whether removal would change the composited output. -- A rect is removed iff *every* one of its required cells is either +- A rect is removed iff _every_ one of its required cells is either covered by a sibling rect at the same z-index or overdrawn by a higher-z rect of any colour. - In-place mutation via `Array.prototype.splice` — the converter calls diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/greedy/greedy.md b/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/greedy/greedy.md index 0035b01..a3ee49d 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/greedy/greedy.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/greedy/greedy.md @@ -61,7 +61,7 @@ const cover = perIslandCover(info.islands, candidates, w, h); ## Implementation Notes -The centroid term is computed against the running set of *uncovered* +The centroid term is computed against the running set of _uncovered_ required pixels, not the original set — this keeps selections clustered even as the residual shrinks. We use a precomputed `maxDist = sqrt(w² + h²)` so the proximity term is normalised to `[0, 1]`; without diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/histogram/histogram.md b/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/histogram/histogram.md index cce69e4..e197b7d 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/histogram/histogram.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/histogram/histogram.md @@ -59,7 +59,7 @@ const cover = enhancedGreedyCover(candidates, required, cols, rows); The internal `histogramSweep` builds a column-by-column heights table and then walks each row with a monotonic stack. When the stack pops, every height ≥ the popped column's height yields a distinct maximal rect of -width `x - leftBound` and height `rectH`. We emit *every* nested height so +width `x - leftBound` and height `rectH`. We emit _every_ nested height so the greedy cover can pick a smaller-but-better-positioned rect when the maximal-tall one would force an awkward residual. The transposed sweep is implemented as a fresh `boolean[][]` rather than an index permutation diff --git a/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/layer/layer.md b/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/layer/layer.md index dcebbf3..3695ae5 100644 --- a/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/layer/layer.md +++ b/plugins/document-navigator/docs/media/image/emblem-solver/src/solver/layer/layer.md @@ -77,7 +77,7 @@ The strip strategy only contributes when it fully covers the required mask. We compute coverage by intersecting each valid strip with the `required` grid (via `pack`) and comparing the resulting count to a single pre-tallied `totalRequired`. The adjacent-rect merge pass runs -*after* the strategies have produced their winners; running it earlier +_after_ the strategies have produced their winners; running it earlier would force a merge on results that would have been pruned anyway. The final reduce uses a strictly-less-than comparison (`a.length <= b.length`) so the first result wins on ties — this preserves deterministic ordering diff --git a/plugins/document-navigator/docs/media/image/image-quantisation/README.md b/plugins/document-navigator/docs/media/image/image-quantisation/README.md index bcb0879..0918479 100644 --- a/plugins/document-navigator/docs/media/image/image-quantisation/README.md +++ b/plugins/document-navigator/docs/media/image/image-quantisation/README.md @@ -85,4 +85,3 @@ console.log(result.finalColours); // colour count after quantisation ## License MIT - diff --git a/plugins/document-navigator/docs/media/image/image/README.md b/plugins/document-navigator/docs/media/image/image/README.md index b9b2da4..e96c490 100644 --- a/plugins/document-navigator/docs/media/image/image/README.md +++ b/plugins/document-navigator/docs/media/image/image/README.md @@ -56,4 +56,3 @@ const result = proc.planTransform(meta, { - [`src/types/image-detect/image-detect.md`](./src/types/image-detect/image-detect.md) — Format detection types and constants - [`src/errors/errors.md`](./src/errors/errors.md) — `ImageError` hierarchy and typed factories - [`src/error-codes/error-codes.md`](./src/error-codes/error-codes.md) — Stable `IMAGE.*` error code registry - diff --git a/plugins/document-navigator/docs/media/video/video-thumbnails/README.md b/plugins/document-navigator/docs/media/video/video-thumbnails/README.md index c4ad549..5ddfc01 100644 --- a/plugins/document-navigator/docs/media/video/video-thumbnails/README.md +++ b/plugins/document-navigator/docs/media/video/video-thumbnails/README.md @@ -82,4 +82,3 @@ console.log(sheet.frameCount, sheet.width, sheet.height); ## License MIT - diff --git a/plugins/document-navigator/docs/media/video/video/README.md b/plugins/document-navigator/docs/media/video/video/README.md index 71b9f73..8420ce1 100644 --- a/plugins/document-navigator/docs/media/video/video/README.md +++ b/plugins/document-navigator/docs/media/video/video/README.md @@ -106,4 +106,3 @@ console.log(result); // { width: 1280, height: 720, format: "webm", duration: 60 ## License MIT - diff --git a/plugins/document-navigator/docs/media/video/video/src/detection/detection.md b/plugins/document-navigator/docs/media/video/video/src/detection/detection.md index 06e04b7..01c31fc 100644 --- a/plugins/document-navigator/docs/media/video/video/src/detection/detection.md +++ b/plugins/document-navigator/docs/media/video/video/src/detection/detection.md @@ -17,7 +17,7 @@ spoofable) `Content-Type` header. preserves the upstream sniffer byte-for-byte so consumers porting from the legacy package see identical detection results. The supported formats are MP4 (ISO Base Media `ftyp`), MOV (`ftyp` with `qt` brand), -Matroska / WebM (EBML `1A 45 DF A3`), RIFF AVI (`RIFF…AVI `), Adobe FLV +Matroska / WebM (EBML `1A 45 DF A3`), RIFF AVI (`RIFF…AVI`), Adobe FLV (`FLV`), and Ogg (`OggS`). Anything else returns `null` and the caller is expected to surface `VideoError(VIDEO.UNKNOWN_FORMAT)` or accept a caller-supplied format hint. diff --git a/plugins/document-navigator/docs/money/finance/cryptocurrency/README.md b/plugins/document-navigator/docs/money/finance/cryptocurrency/README.md index 35b4c7e..6592721 100644 --- a/plugins/document-navigator/docs/money/finance/cryptocurrency/README.md +++ b/plugins/document-navigator/docs/money/finance/cryptocurrency/README.md @@ -144,4 +144,3 @@ try { ## License MIT - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-binance/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-binance/README.md index c362599..b3ec25d 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-binance/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-binance/README.md @@ -81,4 +81,3 @@ the design proposal for the per-package change record and the design document for the cross-cutting sibling-shape architecture. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-coingecko/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-coingecko/README.md index 8ef2532..6bf53b3 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-coingecko/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-coingecko/README.md @@ -76,4 +76,3 @@ const rates = await registry `CoinGeckoProvider` class + `CoinGeckoConfig` type. - [`src/coin-ids/coin-ids.md`](./src/coin-ids/coin-ids.md) — `COIN_IDS` curated map + `getCoinGeckoId(symbol)` lookup. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-coinmarketcap/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-coinmarketcap/README.md index 4c35eaa..60c9f92 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-coinmarketcap/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-coinmarketcap/README.md @@ -88,4 +88,3 @@ const converter = new CurrencyConverter({ 2026-05-17 slim refactor of `@suaveplan/currency-providers`. See the design proposal for the change record. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-cryptocompare/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-cryptocompare/README.md index 177cb20..352a25a 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-cryptocompare/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-cryptocompare/README.md @@ -72,4 +72,3 @@ Every failure path raises `CurrencyProviderError` from the slim core: Dispatch on `error.code`, not the message string. The instance also carries `providerName: "cryptocompare"`, optional `status` (for HTTP_ERROR), and optional `upstreamMessage` (for UPSTREAM_ERROR). - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-ecb/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-ecb/README.md index 001f1f3..443fb8c 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-ecb/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-ecb/README.md @@ -63,4 +63,3 @@ const converter = new CurrencyConverter({ provider: registry.get("ecb") }); - [`src/ecb/ecb.md`](./src/ecb/ecb.md) — `EcbProvider` class, configuration, error matrix, advanced examples. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-fixer/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-fixer/README.md index 2e48e48..8c1ca60 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-fixer/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-fixer/README.md @@ -86,4 +86,3 @@ CryptoCompare, Kraken, Virtual) ship as separate 2026-05-17 against the slimmed core. See the design proposal for the proposal, design, and parity checklist. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-kraken/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-kraken/README.md index 5373a31..10940c2 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-kraken/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-kraken/README.md @@ -84,4 +84,3 @@ const provider = registry.get("kraken"); the design document. See the design proposal for the migration parity table and source mapping. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-open-exchange-rates/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-open-exchange-rates/README.md index 789ebd7..e7e9c4c 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-open-exchange-rates/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-open-exchange-rates/README.md @@ -64,4 +64,3 @@ Every failure mode raises `CurrencyProviderError` from Universal — runs in Node 18+, Bun, browsers, and Web Workers without any runtime polyfill. - diff --git a/plugins/document-navigator/docs/money/finance/currency-provider-virtual/README.md b/plugins/document-navigator/docs/money/finance/currency-provider-virtual/README.md index 09f010d..110ed55 100644 --- a/plugins/document-navigator/docs/money/finance/currency-provider-virtual/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-provider-virtual/README.md @@ -89,4 +89,3 @@ the design proposal for the migration record. The cross-cutting architecture for the `@suaveplan/currency-provider-*` family is documented in the design document. - diff --git a/plugins/document-navigator/docs/money/finance/currency-providers/README.md b/plugins/document-navigator/docs/money/finance/currency-providers/README.md index d7fa356..ffc8424 100644 --- a/plugins/document-navigator/docs/money/finance/currency-providers/README.md +++ b/plugins/document-navigator/docs/money/finance/currency-providers/README.md @@ -123,4 +123,3 @@ provider classes moved out to sibling packages; the registry / factory / HTTP helper landed here. See the design proposal for the refactor record and migration notes. - diff --git a/plugins/document-navigator/docs/money/finance/currency/README.md b/plugins/document-navigator/docs/money/finance/currency/README.md index e440e46..bc39897 100644 --- a/plugins/document-navigator/docs/money/finance/currency/README.md +++ b/plugins/document-navigator/docs/money/finance/currency/README.md @@ -102,4 +102,3 @@ errors, Zod boundary, `AbortSignal` support, and enriched `ConversionResult`. See the design proposal for the migration record and the deferred-feature list. - diff --git a/plugins/document-navigator/docs/money/finance/money/README.md b/plugins/document-navigator/docs/money/finance/money/README.md index 9a4bbea..79e09c5 100644 --- a/plugins/document-navigator/docs/money/finance/money/README.md +++ b/plugins/document-navigator/docs/money/finance/money/README.md @@ -117,4 +117,3 @@ try { ## License MIT — © Suaveplan Team - diff --git a/plugins/document-navigator/docs/money/payment/payment-provider-adyen/README.md b/plugins/document-navigator/docs/money/payment/payment-provider-adyen/README.md index e54ee60..982fad1 100644 --- a/plugins/document-navigator/docs/money/payment/payment-provider-adyen/README.md +++ b/plugins/document-navigator/docs/money/payment/payment-provider-adyen/README.md @@ -91,4 +91,3 @@ const intent = await engine.createIntent({ ## License MIT - diff --git a/plugins/document-navigator/docs/money/payment/payment-provider-mollie/README.md b/plugins/document-navigator/docs/money/payment/payment-provider-mollie/README.md index 05b9ac8..bc37a40 100644 --- a/plugins/document-navigator/docs/money/payment/payment-provider-mollie/README.md +++ b/plugins/document-navigator/docs/money/payment/payment-provider-mollie/README.md @@ -69,4 +69,3 @@ Part of the `@suaveplan/payment-provider-*` family. See shared foundation (`ProviderRegistry`, `httpRequest`, `composeAbortSignal`, `PaymentProviderError`, the `PAYMENT_PROVIDER_*` code registry, and the shared config shapes). - diff --git a/plugins/document-navigator/docs/money/payment/payment-provider-paypal/README.md b/plugins/document-navigator/docs/money/payment/payment-provider-paypal/README.md index 25f3663..d71f51f 100644 --- a/plugins/document-navigator/docs/money/payment/payment-provider-paypal/README.md +++ b/plugins/document-navigator/docs/money/payment/payment-provider-paypal/README.md @@ -104,4 +104,3 @@ single `*Provider` class, register cleanly into `ProviderRegistry`. ## License MIT - diff --git a/plugins/document-navigator/docs/money/payment/payment-provider-square/README.md b/plugins/document-navigator/docs/money/payment/payment-provider-square/README.md index 97da0ab..4da8f64 100644 --- a/plugins/document-navigator/docs/money/payment/payment-provider-square/README.md +++ b/plugins/document-navigator/docs/money/payment/payment-provider-square/README.md @@ -101,4 +101,3 @@ const intent = await engine.createIntent({ ## License MIT - diff --git a/plugins/document-navigator/docs/money/payment/payment-provider-stripe/README.md b/plugins/document-navigator/docs/money/payment/payment-provider-stripe/README.md index a940329..e19a300 100644 --- a/plugins/document-navigator/docs/money/payment/payment-provider-stripe/README.md +++ b/plugins/document-navigator/docs/money/payment/payment-provider-stripe/README.md @@ -108,4 +108,3 @@ const stripe = registry.get("stripe"); // typed as PaymentProvider ## License MIT - diff --git a/plugins/document-navigator/docs/money/payment/payment-providers/README.md b/plugins/document-navigator/docs/money/payment/payment-providers/README.md index e380d65..78a836b 100644 --- a/plugins/document-navigator/docs/money/payment/payment-providers/README.md +++ b/plugins/document-navigator/docs/money/payment/payment-providers/README.md @@ -210,4 +210,3 @@ function mapToPaymentIntent(_raw: unknown): PaymentIntent { ## License MIT - diff --git a/plugins/document-navigator/docs/money/payment/payment/README.md b/plugins/document-navigator/docs/money/payment/payment/README.md index 0f79e71..de21f7e 100644 --- a/plugins/document-navigator/docs/money/payment/payment/README.md +++ b/plugins/document-navigator/docs/money/payment/payment/README.md @@ -186,4 +186,3 @@ console.log(receiptGen.toPlainText(receipt), payload.type); ## License MIT - diff --git a/plugins/document-navigator/docs/networking/drive/drive-mesh-protocol/README.md b/plugins/document-navigator/docs/networking/drive/drive-mesh-protocol/README.md index 85b7bc6..2f1839a 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-mesh-protocol/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-mesh-protocol/README.md @@ -23,7 +23,9 @@ Wire protocol for chunk discovery, request, and delivery across the mesh. Three - [sample](./src/trust/sample.md) — Implements the adaptive sample-verification rate (DMP-17). On every incoming `cd:advertise`, the protocol MAY request a… - [score](./src/trust/score.md) — Implements `TrustMap`, the per-`(peerId, fileId)` trust state container the request scheduler in `drive-mesh` uses to d… - [error-codes](./src/error-codes.md) — Frozen registry of error codes plus the error class for the `@suaveplan/drive-mesh-protocol` package. Every rejection p… + - [envelope.schema](./src/schemas/envelope.schema.md) — _(no submodules)_- [select](./src/select/form.md) — _(no submodules)_- [form](./src/select/form.md) — _(no submodules)_- [decay](./src/trust/decay.md) — Implements the probabilistic-skip decay logic (DMP-15) the request scheduler uses to decide whether to include a peer i… + - [sample](./src/trust/sample.md) — Implements the adaptive sample-verification rate (DMP-17). On every incoming `cd:advertise`, the protocol MAY request a… - [score](./src/trust/score.md) — Implements `TrustMap`, the per-`(peerId, fileId)` trust state container the request scheduler in `drive-mesh` uses to d… - [error-codes](./src/error-codes.md) — Frozen registry of error codes plus the error class for the `@suaveplan/drive-mesh-protocol` package. Every rejection p… @@ -95,4 +97,3 @@ The wire protocol is canonical in the specification (DMP-01..DMP-22). The archit ## Status Skeleton — types, error registry, and form-selection helpers shipped. The full codec layer (bitpacker-network framing, schema validation, trust scoring) lands in subsequent commits. - diff --git a/plugins/document-navigator/docs/networking/drive/drive-mesh/README.md b/plugins/document-navigator/docs/networking/drive/drive-mesh/README.md index 2ca8510..2a2aebc 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-mesh/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-mesh/README.md @@ -31,7 +31,9 @@ in-memory transports. - [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_ - [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_ - [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_ + - [gossip-engine](./src/gossip/gossip-engine/gossip-engine.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the frozen error-code registry for `@suaveplan/drive-mesh` via `defineCodes("DRIVE_MESH", …)` from `@suaveplan/… + - [gossip-engine](./src/gossip/gossip-engine/gossip-engine.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the frozen error-code registry for `@suaveplan/drive-mesh` via `defineCodes("DRIVE_MESH", …)` from `@suaveplan/… - [gossip-engine](./src/gossip/gossip-engine/gossip-engine.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the frozen error-code registry for `@suaveplan/drive-mesh` via `defineCodes("DRIVE_MESH", …)` from `@suaveplan/… - [gossip-engine](./src/gossip/gossip-engine/gossip-engine.md) — _(no submodules)_- [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_ - [typed-event-emitter](./src/internal/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_ - [drive-mesh](./src/mesh/drive-mesh/drive-mesh.md) — _(no submodules)_- [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_ - [peer-registry](./src/peer-registry/peer-registry/peer-registry.md) — _(no submodules)_- [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_ - [parallel-puller](./src/scheduler/parallel-puller/parallel-puller.md) — _(no submodules)_- [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_ - [server-fallback](./src/server-fallback/server-fallback/server-fallback.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the frozen error-code registry for `@suaveplan/drive-mesh` via `defineCodes("DRIVE_MESH", …)` from `@suaveplan/… @@ -155,4 +157,3 @@ does not pin a meter provider on universal consumers. ## License MIT © Suaveplan - diff --git a/plugins/document-navigator/docs/networking/drive/drive-plugin-cache/README.md b/plugins/document-navigator/docs/networking/drive/drive-plugin-cache/README.md index d67e957..ee95c2f 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-plugin-cache/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-plugin-cache/README.md @@ -126,4 +126,3 @@ Recipe 5 illustrates why the plugin exposes `handle.cache`: stale-while-revalida - Built-in `wrap()` integration — consumers compose via `handle.cache.wrap(...)`. See the design proposal for the full design rationale. - diff --git a/plugins/document-navigator/docs/networking/drive/drive-plugin-chunks/README.md b/plugins/document-navigator/docs/networking/drive/drive-plugin-chunks/README.md index 3f5280b..a019866 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-plugin-chunks/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-plugin-chunks/README.md @@ -25,7 +25,9 @@ Chunk-addressing plugin for `@suaveplan/drive`. Splits files into signed, encryp - [manifest.schema](./src/schemas/manifest.schema.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive-plugin-chunks`. Every chunk-format failure mode the plugin… - [plugin](./src/plugin.md) — Implements the `@suaveplan/drive-plugin-chunks` plugin object that consumes the `Drive` plugin slot, splits files into… + - [inline-hint](./src/inline/inline-hint.md) — _(no submodules)_- [auto](./src/layout/auto.md) — Resolves the best chunk layout for a given storage at runtime: prefers `sparse-file` when the storage advertises `capab… + - [chunk-keys](./src/layout/chunk-keys.md) — Implements the `chunk-keys` layout strategy that stores each chunk under a discrete storage key (`chunks// _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — `@suaveplan/drive-react-sharing` raises every failure as a `DriveReactSharingError` — a `SuaveplanError` subclass with… + - [file-access-list](./src/components/file-access-list/file-access-list.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — `@suaveplan/drive-react-sharing` raises every failure as a `DriveReactSharingError` — a `SuaveplanError` subclass with… + - [file-access-list](./src/components/file-access-list/file-access-list.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — `@suaveplan/drive-react-sharing` raises every failure as a `DriveReactSharingError` — a `SuaveplanError` subclass with… - [file-access-list](./src/components/file-access-list/file-access-list.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — `@suaveplan/drive-react-sharing` raises every failure as a `DriveReactSharingError` — a `SuaveplanError` subclass with… - [file-access-list](./src/components/file-access-list/file-access-list.md) — _(no submodules)_- [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_ - [partition-badge](./src/components/partition-badge/partition-badge.md) — _(no submodules)_- [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_ - [share-dialog](./src/components/share-dialog/share-dialog.md) — _(no submodules)_- [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_ - [use-sharing](./src/hooks/use-sharing/use-sharing.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — `@suaveplan/drive-react-sharing` raises every failure as a `DriveReactSharingError` — a `SuaveplanError` subclass with… @@ -124,4 +126,3 @@ Main shipped three overlapping permission aliases imports `SharePermission` directly from `@suaveplan/drive-sharing` and re-exports it as the single canonical name. Aliases were not ported. - diff --git a/plugins/document-navigator/docs/networking/drive/drive-sharing/README.md b/plugins/document-navigator/docs/networking/drive/drive-sharing/README.md index a7ac172..3a3eaa5 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-sharing/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-sharing/README.md @@ -29,7 +29,9 @@ Partitioned drive sharing engine for the Suaveplan ecosystem. Ships envelope enc - [transfer](./src/transfer/transfer/transfer.md) — _(no submodules)_ - [common](./src/types/common.md) — This module declares the foundational types shared by every other module in `@suaveplan/drive-sharing`. It owns the bra… - [schemas](./src/types/schemas.md) — This module declares Zod schemas for every public option type accepted by `@suaveplan/drive-sharing`. Schemas are wired… + - [envelope](./src/encryption/envelope/envelope.md) — _(no submodules)_- [key-ring](./src/encryption/key-ring/key-ring.md) — _(no submodules)_- [key-ring](./src/encryption/key-ring/key-ring.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [partition-manager](./src/partitions/partition-manager/partition-manager.md) — _(no submodules)_- [partition-manager](./src/partitions/partition-manager/partition-manager.md) — _(no submodules)_- [partition-policy](./src/partitions/partition-policy/partition-policy.md) — _(no submodules)_- [partition-policy](./src/partitions/partition-policy/partition-policy.md) — _(no submodules)_- [partition-store](./src/partitions/partition-store/partition-store.md) — _(no submodules)_- [partition-store](./src/partitions/partition-store/partition-store.md) — _(no submodules)_- [grants](./src/sharing/grants/grants.md) — _(no submodules)_- [grants](./src/sharing/grants/grants.md) — _(no submodules)_- [tokens](./src/sharing/tokens/tokens.md) — _(no submodules)_- [tokens](./src/sharing/tokens/tokens.md) — _(no submodules)_- [transfer](./src/transfer/transfer/transfer.md) — _(no submodules)_- [transfer](./src/transfer/transfer/transfer.md) — _(no submodules)_- [common](./src/types/common.md) — This module declares the foundational types shared by every other module in `@suaveplan/drive-sharing`. It owns the bra… + - [schemas](./src/types/schemas.md) — This module declares Zod schemas for every public option type accepted by `@suaveplan/drive-sharing`. Schemas are wired… - [error-codes](./src/error-codes.md) — The `error-codes` module is the single source of truth for every failure category emitted by `@suaveplan/drive-sharing`… - [envelope](./src/encryption/envelope/envelope.md) — _(no submodules)_- [key-ring](./src/encryption/key-ring/key-ring.md) — _(no submodules)_- [key-ring](./src/encryption/key-ring/key-ring.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [partition-manager](./src/partitions/partition-manager/partition-manager.md) — _(no submodules)_- [partition-manager](./src/partitions/partition-manager/partition-manager.md) — _(no submodules)_- [partition-policy](./src/partitions/partition-policy/partition-policy.md) — _(no submodules)_- [partition-policy](./src/partitions/partition-policy/partition-policy.md) — _(no submodules)_- [partition-store](./src/partitions/partition-store/partition-store.md) — _(no submodules)_- [partition-store](./src/partitions/partition-store/partition-store.md) — _(no submodules)_- [grants](./src/sharing/grants/grants.md) — _(no submodules)_- [grants](./src/sharing/grants/grants.md) — _(no submodules)_- [tokens](./src/sharing/tokens/tokens.md) — _(no submodules)_- [tokens](./src/sharing/tokens/tokens.md) — _(no submodules)_- [transfer](./src/transfer/transfer/transfer.md) — _(no submodules)_- [transfer](./src/transfer/transfer/transfer.md) — _(no submodules)_- [common](./src/types/common.md) — This module declares the foundational types shared by every other module in `@suaveplan/drive-sharing`. It owns the bra… @@ -129,4 +131,3 @@ Run benchmarks with `bun run src/__benchmarks__/drive-sharing.bench.ts`. ## License Proprietary — Suaveplan commercial license. - diff --git a/plugins/document-navigator/docs/networking/drive/drive-template/README.md b/plugins/document-navigator/docs/networking/drive/drive-template/README.md index 5774351..5c67116 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-template/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-template/README.md @@ -21,7 +21,9 @@ Server-signed drive templates for the dehydrated-drive workflow. A `DriveTemplat - [order](./src/validate/order.md) — Implements the 8-step validation pipeline that `Drive.hydrateFrom(template)` runs against every incoming `DriveTemplate… - [replay](./src/validate/replay.md) — Per-client LRU of `(driveId, nonce)` tuples used to reject replayed templates (DTP-06). The cache holds at most `LRU_CA… - [error-codes](./src/error-codes.md) — Frozen registry of error codes plus the error class for the `@suaveplan/drive-template` package. Eleven codes cover the… + - [grant-validator](./src/key/grant-validator.md) — _(no submodules)_- [schemas](./src/schemas/template.schema.md) — _(no submodules)_- [template.schema](./src/schemas/template.schema.md) — _(no submodules)_- [depth](./src/validate/depth.md) — Folder-depth check for `DriveTemplate.rootFolder` (DTP-08). Counts from the root (depth 0) and rejects the first folder… + - [file](./src/validate/file.md) — Per-file consistency invariants for every `FileTemplate` (DTP-09). Files that fail any invariant are rejected with `DRI… - [order](./src/validate/order.md) — Implements the 8-step validation pipeline that `Drive.hydrateFrom(template)` runs against every incoming `DriveTemplate… - [replay](./src/validate/replay.md) — Per-client LRU of `(driveId, nonce)` tuples used to reject replayed templates (DTP-06). The cache holds at most `LRU_CA… @@ -103,4 +105,3 @@ The wire format and validation pipeline are canonical in the specification (DTP- ## Status Skeleton — types, error registry, and CDN URL builder shipped. Canonical serialization, signature verification, replay LRU, hydration orchestrator, and `KeyGrantEnvelope` validator land in subsequent commits. - diff --git a/plugins/document-navigator/docs/networking/drive/drive-transport-https/README.md b/plugins/document-navigator/docs/networking/drive/drive-transport-https/README.md index a2075b1..a8c2231 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-transport-https/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-transport-https/README.md @@ -30,7 +30,9 @@ See `src/transport/https-transport.md` for full semantics, error-handling guidan - [defaults](./src/transport/defaults.md) — Centralises default values for `HttpsTransport` so every part of the package agrees on the same numbers. Living in its… - [https-transport](./src/transport/https-transport.md) — Implements `HttpsTransport`, the HTTPS-relay-backed `TransportLike` for `@suaveplan/drive-mesh` and an… - [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive-transport-https`. Every failure mode the HTTPS relay transp… + - [transport.schema](./src/schemas/transport.schema.md) — _(no submodules)_- [defaults](./src/transport/defaults.md) — Centralises default values for `HttpsTransport` so every part of the package agrees on the same numbers. Living in its… + - [https-transport](./src/transport/https-transport.md) — Implements `HttpsTransport`, the HTTPS-relay-backed `TransportLike` for `@suaveplan/drive-mesh` and an… - [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive-transport-https`. Every failure mode the HTTPS relay transp… - [transport.schema](./src/schemas/transport.schema.md) — _(no submodules)_- [defaults](./src/transport/defaults.md) — Centralises default values for `HttpsTransport` so every part of the package agrees on the same numbers. Living in its… diff --git a/plugins/document-navigator/docs/networking/drive/drive-transport-webrtc/README.md b/plugins/document-navigator/docs/networking/drive/drive-transport-webrtc/README.md index 5d10a60..bd1933d 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-transport-webrtc/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-transport-webrtc/README.md @@ -31,10 +31,12 @@ package). - [hex](./src/transport/webrtc-transport/hex.md) — Boundary helpers converting between the on-the-wire 32-byte file id representation and the hex-encoded form used by eve… - [payload-codec](./src/transport/webrtc-transport/payload-codec.md) — Implements the byte-level encoder/decoder for the two structured frame bodies the WebRTC drive transport carries: chunk… - [webrtc-transport](./src/transport/webrtc-transport/webrtc-transport.md) — _(no submodules)_ + - [frame](./src/framing/frame/frame.md) — _(no submodules)_- [schemas](./src/schemas/frame.schemas.md) — _(no submodules)_- [frame.schemas](./src/schemas/frame.schemas.md) — _(no submodules)_- [webrtc-transport](./src/transport/webrtc-transport/webrtc-transport.md) — _(no submodules)_- [bitset-codec](./src/transport/webrtc-transport/bitset-codec.md) — Provides the gzip codec used to compress advertisement bitsets before they hit the wire. Bitsets describing which chunk… - - [hex](./src/transport/webrtc-transport/hex.md) — Boundary helpers converting between the on-the-wire 32-byte file id representation and the hex-encoded form used by eve… - - [payload-codec](./src/transport/webrtc-transport/payload-codec.md) — Implements the byte-level encoder/decoder for the two structured frame bodies the WebRTC drive transport carries: chunk… - - [webrtc-transport](./src/transport/webrtc-transport/webrtc-transport.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the typed error-code registry and `DriveTransportWebRtcError` class used by every public boundary of `@suavepla… + +- [hex](./src/transport/webrtc-transport/hex.md) — Boundary helpers converting between the on-the-wire 32-byte file id representation and the hex-encoded form used by eve… +- [payload-codec](./src/transport/webrtc-transport/payload-codec.md) — Implements the byte-level encoder/decoder for the two structured frame bodies the WebRTC drive transport carries: chunk… +- [webrtc-transport](./src/transport/webrtc-transport/webrtc-transport.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the typed error-code registry and `DriveTransportWebRtcError` class used by every public boundary of `@suavepla… - [frame](./src/framing/frame/frame.md) — _(no submodules)_- [schemas](./src/schemas/frame.schemas.md) — _(no submodules)_- [frame.schemas](./src/schemas/frame.schemas.md) — _(no submodules)_- [webrtc-transport](./src/transport/webrtc-transport/webrtc-transport.md) — _(no submodules)_- [bitset-codec](./src/transport/webrtc-transport/bitset-codec.md) — Provides the gzip codec used to compress advertisement bitsets before they hit the wire. Bitsets describing which chunk… - [hex](./src/transport/webrtc-transport/hex.md) — Boundary helpers converting between the on-the-wire 32-byte file id representation and the hex-encoded form used by eve… - [payload-codec](./src/transport/webrtc-transport/payload-codec.md) — Implements the byte-level encoder/decoder for the two structured frame bodies the WebRTC drive transport carries: chunk… @@ -177,4 +179,3 @@ All errors are instances of `DriveTransportWebRtcError`: ## License MIT - diff --git a/plugins/document-navigator/docs/networking/drive/drive-uri/README.md b/plugins/document-navigator/docs/networking/drive/drive-uri/README.md index 90bb19a..0416bf1 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-uri/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-uri/README.md @@ -156,4 +156,3 @@ depending on the scheme. - [`src/types/plugin-options.types.md`](src/types/plugin-options.types.md) — option-bag interfaces + `TemplateProvider` - [`src/otel/otel.md`](src/otel/otel.md) — OpenTelemetry surface - [`src/conformance/conformance.md`](src/conformance/conformance.md) — re-export of `runUriPluginConformance` - diff --git a/plugins/document-navigator/docs/networking/drive/drive-webrtc/README.md b/plugins/document-navigator/docs/networking/drive/drive-webrtc/README.md index 97924bf..aefd4ea 100644 --- a/plugins/document-navigator/docs/networking/drive/drive-webrtc/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive-webrtc/README.md @@ -64,7 +64,9 @@ tests and SSR contexts can wire deterministic doubles. - [signaling-client](./src/signaling/signaling-client/signaling-client.md) — _(no submodules)_ - [sub-chunk](./src/sub-chunk/sub-chunk/sub-chunk.md) — _(no submodules)_ - [sub-chunk](./src/sub-chunk/sub-chunk/sub-chunk.md) — _(no submodules)_ + - [chunk-source](./src/chunk-source/chunk-source/chunk-source.md) — _(no submodules)_- [client](./src/client/client/client.md) — _(no submodules)_- [client](./src/client/client/client.md) — _(no submodules)_- [ice](./src/client/ice/ice.md) — _(no submodules)_- [ice](./src/client/ice/ice.md) — _(no submodules)_- [offer-answer](./src/client/offer-answer/offer-answer.md) — _(no submodules)_- [offer-answer](./src/client/offer-answer/offer-answer.md) — _(no submodules)_- [reconnect](./src/client/reconnect/reconnect.md) — _(no submodules)_- [reconnect](./src/client/reconnect/reconnect.md) — _(no submodules)_- [data-channel-manager](./src/data-channel/data-channel-manager/data-channel-manager.md) — _(no submodules)_- [data-channel-manager](./src/data-channel/data-channel-manager/data-channel-manager.md) — _(no submodules)_- [chunk-discovery-manager](./src/discovery/chunk-discovery-manager/chunk-discovery-manager.md) — _(no submodules)_- [chunk-discovery-manager](./src/discovery/chunk-discovery-manager/chunk-discovery-manager.md) — _(no submodules)_- [typed-event-emitter](./src/events/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [typed-event-emitter](./src/events/typed-event-emitter/typed-event-emitter.md) — _(no submodules)_- [chunk-integrity](./src/integrity/chunk-integrity/chunk-integrity.md) — _(no submodules)_- [chunk-integrity](./src/integrity/chunk-integrity/chunk-integrity.md) — _(no submodules)_- [lru-cache](./src/lru-cache/lru-cache/lru-cache.md) — _(no submodules)_- [lru-cache](./src/lru-cache/lru-cache/lru-cache.md) — _(no submodules)_- [peer-bandwidth-tracker](./src/peer-manager/peer-bandwidth-tracker/peer-bandwidth-tracker.md) — _(no submodules)_- [peer-bandwidth-tracker](./src/peer-manager/peer-bandwidth-tracker/peer-bandwidth-tracker.md) — _(no submodules)_- [peer-manager](./src/peer-manager/peer-manager/peer-manager.md) — _(no submodules)_- [peer-manager](./src/peer-manager/peer-manager/peer-manager.md) — _(no submodules)_- [full-mesh](./src/peer-manager/topology/full-mesh.md) — Every peer connects to every other peer up to a configurable cap. This is the default topology and matches the assumpti… + - [hub-and-spoke](./src/peer-manager/topology/hub-and-spoke.md) — `HubAndSpokeStrategy` pins the mesh into a star topology: a single designated hub accepts connections from every spoke,… - [super-peer](./src/peer-manager/topology/super-peer.md) — The super-peer topology lets well-resourced nodes act as relays for the rest of the mesh. Super peers form a full mesh… - [topology-strategy](./src/peer-manager/topology/topology-strategy.md) — `TopologyStrategy` is the pure-function contract `PeerManager` consults when a new peer is announced. A strategy decide… @@ -392,4 +394,3 @@ This deviation is intentional and documented in `webrtc-plugin.md`. ## License MIT. - diff --git a/plugins/document-navigator/docs/networking/drive/drive/README.md b/plugins/document-navigator/docs/networking/drive/drive/README.md index 0a8d5ad..70b4d10 100644 --- a/plugins/document-navigator/docs/networking/drive/drive/README.md +++ b/plugins/document-navigator/docs/networking/drive/drive/README.md @@ -25,7 +25,9 @@ Modular virtual filesystem core for Suaveplan. File-level operations over `Abstr - [registry](./src/plugins/registry.md) — _(no submodules)_ - [schemas](./src/schemas/drive-options.schema.md) — _(no submodules)_ - [drive-options.schema](./src/schemas/drive-options.schema.md) — _(no submodules)_ + - [registry](./src/plugins/registry.md) — _(no submodules)_- [schemas](./src/schemas/drive-options.schema.md) — _(no submodules)_- [drive-options.schema](./src/schemas/drive-options.schema.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive`. Every failure mode the package can produce is registered… + - [registry](./src/plugins/registry.md) — _(no submodules)_- [schemas](./src/schemas/drive-options.schema.md) — _(no submodules)_- [drive-options.schema](./src/schemas/drive-options.schema.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive`. Every failure mode the package can produce is registered… - [registry](./src/plugins/registry.md) — _(no submodules)_- [schemas](./src/schemas/drive-options.schema.md) — _(no submodules)_- [drive-options.schema](./src/schemas/drive-options.schema.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive`. Every failure mode the package can produce is registered… - [registry](./src/plugins/registry.md) — _(no submodules)_- [schemas](./src/schemas/drive-options.schema.md) — _(no submodules)_ - [drive-options.schema](./src/schemas/drive-options.schema.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the structured error registry for `@suaveplan/drive`. Every failure mode the package can produce is registered… @@ -64,4 +66,3 @@ await drive.dispose(); - [src/file-operations/list.md](src/file-operations/list.md) — list operation - [src/file-operations/streams.md](src/file-operations/streams.md) — stream creation - [src/plugins/registry.md](src/plugins/registry.md) — plugin and middleware registry - diff --git a/plugins/document-navigator/docs/networking/events/broadcast-channel/README.md b/plugins/document-navigator/docs/networking/events/broadcast-channel/README.md index 04c12a7..eb56b43 100644 --- a/plugins/document-navigator/docs/networking/events/broadcast-channel/README.md +++ b/plugins/document-navigator/docs/networking/events/broadcast-channel/README.md @@ -111,4 +111,3 @@ Six counters under meter `@suaveplan/broadcast-channel@0.1.0`: ## License MIT - diff --git a/plugins/document-navigator/docs/networking/events/event-sourcing/README.md b/plugins/document-navigator/docs/networking/events/event-sourcing/README.md index 7f4a6e1..29ca925 100644 --- a/plugins/document-navigator/docs/networking/events/event-sourcing/README.md +++ b/plugins/document-navigator/docs/networking/events/event-sourcing/README.md @@ -21,7 +21,9 @@ Event sourcing patterns for Suaveplan: typed aggregate root, in-memory event sto - [event-sourcing.schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_ - [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_ - [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_ + - [aggregate](./src/core/aggregate/aggregate.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [memory-event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [errors](./src/errors/event-sourcing-error.md) — _(no submodules)_- [event-sourcing-error](./src/errors/event-sourcing-error.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_- [schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [event-sourcing.schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_- [aggregate](./src/core/aggregate/aggregate.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [memory-event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [errors](./src/errors/event-sourcing-error.md) — _(no submodules)_- [event-sourcing-error](./src/errors/event-sourcing-error.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_- [schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [event-sourcing.schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_- [aggregate](./src/core/aggregate/aggregate.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [memory-event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [errors](./src/errors/event-sourcing-error.md) — _(no submodules)_- [event-sourcing-error](./src/errors/event-sourcing-error.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_- [schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [event-sourcing.schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_- [aggregate](./src/core/aggregate/aggregate.md) — _(no submodules)_- [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_ - [aggregate-repository](./src/core/aggregate-repository/aggregate-repository.md) — _(no submodules)_- [event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_ - [memory-event-store](./src/core/event-store/memory-event-store.md) — _(no submodules)_- [errors](./src/errors/event-sourcing-error.md) — _(no submodules)_ - [event-sourcing-error](./src/errors/event-sourcing-error.md) — _(no submodules)_- [builder](./src/projection/builder/builder.md) — _(no submodules)_ - [builder](./src/projection/builder/builder.md) — _(no submodules)_- [schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_ - [event-sourcing.schemas](./src/schemas/event-sourcing.schemas.md) — _(no submodules)_- [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_ - [upcaster](./src/upcasting/upcaster/upcaster.md) — _(no submodules)_ + ## Modules - [Aggregate](src/core/aggregate/aggregate.md) — abstract base class for event-sourced aggregates diff --git a/plugins/document-navigator/docs/networking/events/events-metrics/README.md b/plugins/document-navigator/docs/networking/events/events-metrics/README.md index 1dad6ec..2a25b74 100644 --- a/plugins/document-navigator/docs/networking/events/events-metrics/README.md +++ b/plugins/document-navigator/docs/networking/events/events-metrics/README.md @@ -11,7 +11,9 @@ OTel metrics companion for `@suaveplan/events`. Attaches via the public intercep - [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_ - [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ - [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ + - [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ - [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ + ## Quick Start ```ts diff --git a/plugins/document-navigator/docs/networking/events/events-otel/README.md b/plugins/document-navigator/docs/networking/events/events-otel/README.md index 7ce03db..2d7e580 100644 --- a/plugins/document-navigator/docs/networking/events/events-otel/README.md +++ b/plugins/document-navigator/docs/networking/events/events-otel/README.md @@ -13,7 +13,9 @@ OpenTelemetry tracing companion for `@suaveplan/events`. Wraps each dispatch in - [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_ - [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_ - [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_ + - [attach-event-tracing](./src/core/attach-event-tracing/attach-event-tracing.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_- [attach-event-tracing](./src/core/attach-event-tracing/attach-event-tracing.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_- [attach-event-tracing](./src/core/attach-event-tracing/attach-event-tracing.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_- [attach-event-tracing](./src/core/attach-event-tracing/attach-event-tracing.md) — _(no submodules)_- [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_ - [trace-context](./src/propagation/trace-context/trace-context.md) — _(no submodules)_- [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_ - [sampling-rule](./src/sampling/sampling-rule/sampling-rule.md) — _(no submodules)_ + ## Quick Start ```ts diff --git a/plugins/document-navigator/docs/networking/events/events-schema/README.md b/plugins/document-navigator/docs/networking/events/events-schema/README.md index f39aaf7..7751993 100644 --- a/plugins/document-navigator/docs/networking/events/events-schema/README.md +++ b/plugins/document-navigator/docs/networking/events/events-schema/README.md @@ -9,7 +9,9 @@ Runtime schema-validation companion for `@suaveplan/events`. Validates event pay - [attach-event-schemas](./src/core/attach-event-schemas/attach-event-schemas.md) — _(no submodules)_ - [attach-event-schemas](./src/core/attach-event-schemas/attach-event-schemas.md) — _(no submodules)_ + - [attach-event-schemas](./src/core/attach-event-schemas/attach-event-schemas.md) — _(no submodules)_- [attach-event-schemas](./src/core/attach-event-schemas/attach-event-schemas.md) — _(no submodules)_- [attach-event-schemas](./src/core/attach-event-schemas/attach-event-schemas.md) — _(no submodules)_- [attach-event-schemas](./src/core/attach-event-schemas/attach-event-schemas.md) — _(no submodules)_ + ## Quick Start ```ts diff --git a/plugins/document-navigator/docs/networking/events/events-transport/README.md b/plugins/document-navigator/docs/networking/events/events-transport/README.md index f9e11ea..b38f617 100644 --- a/plugins/document-navigator/docs/networking/events/events-transport/README.md +++ b/plugins/document-navigator/docs/networking/events/events-transport/README.md @@ -20,7 +20,9 @@ and `BroadcastChannel` (at-most-once, fan-out) transports with nonce deduplicati - [message-channel-transport](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_ - [utils](./src/utils/structured-clone-check.md) — _(no submodules)_ - [structured-clone-check](./src/utils/structured-clone-check.md) — _(no submodules)_ + - [envelope](./src/core/envelope/envelope.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [broadcast-channel](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [broadcast-channel-transport](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [message-channel](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [message-channel-transport](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [utils](./src/utils/structured-clone-check.md) — _(no submodules)_- [structured-clone-check](./src/utils/structured-clone-check.md) — _(no submodules)_- [envelope](./src/core/envelope/envelope.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [broadcast-channel](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [broadcast-channel-transport](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [message-channel](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [message-channel-transport](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [utils](./src/utils/structured-clone-check.md) — _(no submodules)_- [structured-clone-check](./src/utils/structured-clone-check.md) — _(no submodules)_- [envelope](./src/core/envelope/envelope.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [broadcast-channel](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [broadcast-channel-transport](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [message-channel](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [message-channel-transport](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [utils](./src/utils/structured-clone-check.md) — _(no submodules)_- [structured-clone-check](./src/utils/structured-clone-check.md) — _(no submodules)_- [envelope](./src/core/envelope/envelope.md) — _(no submodules)_- [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_ - [nonce-window](./src/core/nonce-window/nonce-window.md) — _(no submodules)_- [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_ - [transport-interface](./src/core/transport-interface/transport-interface.md) — _(no submodules)_- [broadcast-channel](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_ - [broadcast-channel-transport](./src/transports/broadcast-channel/broadcast-channel-transport.md) — _(no submodules)_- [message-channel](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_ - [message-channel-transport](./src/transports/message-channel/message-channel-transport.md) — _(no submodules)_- [utils](./src/utils/structured-clone-check.md) — _(no submodules)_ - [structured-clone-check](./src/utils/structured-clone-check.md) — _(no submodules)_ + ## Packages | Module | Description | diff --git a/plugins/document-navigator/docs/networking/events/events/README.md b/plugins/document-navigator/docs/networking/events/events/README.md index 4f624c3..18ca627 100644 --- a/plugins/document-navigator/docs/networking/events/events/README.md +++ b/plugins/document-navigator/docs/networking/events/events/README.md @@ -25,7 +25,9 @@ Typed event-bus substrate for Suaveplan. Pub/sub with deterministic FIFO deliver - [with-observability](./src/observability/with-observability.md) — _(no submodules)_ - [queue](./src/queue/bounded-queue.md) — _(no submodules)_ - [bounded-queue](./src/queue/bounded-queue.md) — _(no submodules)_ + - [event-bus](./src/bus/event-bus.md) — _(no submodules)_- [clock](./src/clock/default-clock.md) — _(no submodules)_- [default-clock](./src/clock/default-clock.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `EVENTS_CODES` is the frozen registry of every failure code `@suaveplan/events` can raise. All codes share the `EVENTS.… + - [events-error](./src/errors/events-error.md) — `EventsError` is the single concrete error class thrown or captured by `@suaveplan/events`. It extends `SuaveplanError`… - [id](./src/id/id-generator.md) — _(no submodules)_- [id-generator](./src/id/id-generator.md) — _(no submodules)_- [idempotent](./src/idempotent/idempotent.md) — _(no submodules)_- [idempotent](./src/idempotent/idempotent.md) — _(no submodules)_- [interceptor](./src/interceptor/compose.md) — _(no submodules)_- [compose](./src/interceptor/compose.md) — _(no submodules)_- [observability](./src/observability/with-observability.md) — _(no submodules)_- [with-observability](./src/observability/with-observability.md) — _(no submodules)_- [queue](./src/queue/bounded-queue.md) — _(no submodules)_- [bounded-queue](./src/queue/bounded-queue.md) — _(no submodules)_- [event-bus](./src/bus/event-bus.md) — _(no submodules)_- [clock](./src/clock/default-clock.md) — _(no submodules)_- [default-clock](./src/clock/default-clock.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `EVENTS_CODES` is the frozen registry of every failure code `@suaveplan/events` can raise. All codes share the `EVENTS.… - [events-error](./src/errors/events-error.md) — `EventsError` is the single concrete error class thrown or captured by `@suaveplan/events`. It extends `SuaveplanError`… @@ -34,6 +36,7 @@ Typed event-bus substrate for Suaveplan. Pub/sub with deterministic FIFO deliver - [id](./src/id/id-generator.md) — _(no submodules)_- [id-generator](./src/id/id-generator.md) — _(no submodules)_- [idempotent](./src/idempotent/idempotent.md) — _(no submodules)_- [idempotent](./src/idempotent/idempotent.md) — _(no submodules)_- [interceptor](./src/interceptor/compose.md) — _(no submodules)_- [compose](./src/interceptor/compose.md) — _(no submodules)_- [observability](./src/observability/with-observability.md) — _(no submodules)_- [with-observability](./src/observability/with-observability.md) — _(no submodules)_- [queue](./src/queue/bounded-queue.md) — _(no submodules)_- [bounded-queue](./src/queue/bounded-queue.md) — _(no submodules)_- [event-bus](./src/bus/event-bus.md) — _(no submodules)_- [clock](./src/clock/default-clock.md) — _(no submodules)_ - [default-clock](./src/clock/default-clock.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_ - [envelope](./src/envelope/envelope.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `EVENTS_CODES` is the frozen registry of every failure code `@suaveplan/events` can raise. All codes share the `EVENTS.… - [events-error](./src/errors/events-error.md) — `EventsError` is the single concrete error class thrown or captured by `@suaveplan/events`. It extends `SuaveplanError`… - [id](./src/id/id-generator.md) — _(no submodules)_ - [id-generator](./src/id/id-generator.md) — _(no submodules)_- [idempotent](./src/idempotent/idempotent.md) — _(no submodules)_ - [idempotent](./src/idempotent/idempotent.md) — _(no submodules)_- [interceptor](./src/interceptor/compose.md) — _(no submodules)_ - [compose](./src/interceptor/compose.md) — _(no submodules)_- [observability](./src/observability/with-observability.md) — _(no submodules)_ - [with-observability](./src/observability/with-observability.md) — _(no submodules)_- [queue](./src/queue/bounded-queue.md) — _(no submodules)_ - [bounded-queue](./src/queue/bounded-queue.md) — _(no submodules)_ + ## Install ```bash @@ -118,4 +121,3 @@ All surface as `EventsError extends SuaveplanError` from `@suaveplan bunx turbo lint typecheck test --filter=@suaveplan/events bunx turbo test:coverage --filter=@suaveplan/events ``` - diff --git a/plugins/document-navigator/docs/networking/network/network-bootstrap/README.md b/plugins/document-navigator/docs/networking/network/network-bootstrap/README.md index 2be35b4..8cc27e7 100644 --- a/plugins/document-navigator/docs/networking/network/network-bootstrap/README.md +++ b/plugins/document-navigator/docs/networking/network/network-bootstrap/README.md @@ -23,7 +23,9 @@ freshly started node to find its first peers. - [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [discovery-chain](./src/core/discovery-chain/discovery-chain.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [discovery-chain](./src/core/discovery-chain/discovery-chain.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [discovery-chain](./src/core/discovery-chain/discovery-chain.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [discovery-chain](./src/core/discovery-chain/discovery-chain.md) — _(no submodules)_- [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_ - [peer-cache](./src/core/peer-cache/peer-cache.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_ - [bootstrap-middleware](./src/plugin/bootstrap-middleware/bootstrap-middleware.md) — _(no submodules)_- [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_ - [bootstrap-plugin](./src/plugin/bootstrap-plugin/bootstrap-plugin.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/networking/network/network-discovery-crdt/README.md b/plugins/document-navigator/docs/networking/network/network-discovery-crdt/README.md index 8b0aeaa..eb8430b 100644 --- a/plugins/document-navigator/docs/networking/network/network-discovery-crdt/README.md +++ b/plugins/document-navigator/docs/networking/network/network-discovery-crdt/README.md @@ -7,23 +7,25 @@ Browser-tier `DiscoveryStrategy` for `@suaveplan/network-bootstrap`. Wraps an aw ## Documentation tree -- [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — _(no submodules)_ - - [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — _(no submodules)_ -- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — _(no submodules)_ - - [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — _(no submodules)_ -- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — _(no submodules)_ - - [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — _(no submodules)_ -- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — _(no submodules)_ - - [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — _(no submodules)_ -- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — _(no submodules)_ - - [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — _(no submodules)_ -- [errors](./src/errors/errors.md) — _(no submodules)_ - - [errors](./src/errors/errors.md) — _(no submodules)_ -- [otel](./src/otel/otel.md) — _(no submodules)_ - - [otel](./src/otel/otel.md) — _(no submodules)_ -- [types](./src/types/types.md) — _(no submodules)_ - - [types](./src/types/types.md) — _(no submodules)_ +- [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — *(no submodules)* + - [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — *(no submodules)* +- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)* + - [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)* +- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)* + - [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)* +- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)* + - [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)* +- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)* + - [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)* +- [errors](./src/errors/errors.md) — *(no submodules)* + - [errors](./src/errors/errors.md) — *(no submodules)* +- [otel](./src/otel/otel.md) — *(no submodules)* + - [otel](./src/otel/otel.md) — *(no submodules)* +- [types](./src/types/types.md) — *(no submodules)* + - [types](./src/types/types.md) — *(no submodules)* + - [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)*- [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)*- [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)*- [automerge-provider](./src/core/automerge-provider/automerge-provider.md) — *(no submodules)*- [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)* - [crdt-discovery](./src/core/crdt-discovery/crdt-discovery.md) — *(no submodules)*- [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)* - [crdt-intervals](./src/core/crdt-intervals/crdt-intervals.md) — *(no submodules)*- [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)* - [crdt-peer-manager](./src/core/crdt-peer-manager/crdt-peer-manager.md) — *(no submodules)*- [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)* - [yjs-provider](./src/core/yjs-provider/yjs-provider.md) — *(no submodules)*- [errors](./src/errors/errors.md) — *(no submodules)* - [errors](./src/errors/errors.md) — *(no submodules)*- [otel](./src/otel/otel.md) — *(no submodules)* - [otel](./src/otel/otel.md) — *(no submodules)*- [types](./src/types/types.md) — *(no submodules)* - [types](./src/types/types.md) — *(no submodules)* + ## Why WebRTC mesh discovery without a centralised registry. Every peer maintains a shared CRDT room; presence + metadata are written into the room's `peers` map; the CRDT's conflict-resolution handles network partitions and reconnections without bespoke retry logic. diff --git a/plugins/document-navigator/docs/networking/network/network-discovery-gundb/README.md b/plugins/document-navigator/docs/networking/network/network-discovery-gundb/README.md index 7670c74..0f70963 100644 --- a/plugins/document-navigator/docs/networking/network/network-discovery-gundb/README.md +++ b/plugins/document-navigator/docs/networking/network/network-discovery-gundb/README.md @@ -28,11 +28,14 @@ every relevant attack surface. - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… - - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… - - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… - - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_ - [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… - - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + +- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… +- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… +- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [gundb-discovery](./src/core/gundb-discovery/gundb-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signing](./src/signing/signing.md) — _(no submodules)_ - [signing](./src/signing/signing.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [envelope-signing](./src/transport/envelope-signing.md) — Provides the cryptographic helpers used by `GunDBTransport` to sign every outgoing `MessageEnvelope` and verify every i… +- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Why this package - Plug-and-play `DiscoveryStrategy` slot for network bootstrap diff --git a/plugins/document-navigator/docs/networking/network/network-discovery-hybrid/README.md b/plugins/document-navigator/docs/networking/network/network-discovery-hybrid/README.md index 69146c1..9637e9a 100644 --- a/plugins/document-navigator/docs/networking/network/network-discovery-hybrid/README.md +++ b/plugins/document-navigator/docs/networking/network/network-discovery-hybrid/README.md @@ -23,7 +23,9 @@ - [otel](./src/otel/otel.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [hybrid-discovery-manager](./src/core/hybrid-discovery-manager/hybrid-discovery-manager.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [hybrid-discovery-manager](./src/core/hybrid-discovery-manager/hybrid-discovery-manager.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [hybrid-discovery-manager](./src/core/hybrid-discovery-manager/hybrid-discovery-manager.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [hybrid-discovery-manager](./src/core/hybrid-discovery-manager/hybrid-discovery-manager.md) — _(no submodules)_- [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_ - [lifecycle](./src/core/lifecycle/lifecycle.md) — _(no submodules)_- [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_ - [peer-tracker](./src/core/peer-tracker/peer-tracker.md) — _(no submodules)_- [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_ - [strategy-loader](./src/core/strategy-loader/strategy-loader.md) — _(no submodules)_- [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_ - [strategy-manager](./src/core/strategy-manager/strategy-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Overview `HybridDiscoveryManager` registers any subset of the following sibling strategies (and arbitrary `"custom"` strategies) and presents them as a single `DiscoveryStrategy` from `@suaveplan/network-bootstrap`: @@ -134,4 +136,3 @@ try { ## Testing The package contains a real in-package `TestStrategy` fixture under `tests/setup/test-strategy.ts` that fully implements the `DiscoveryStrategy` contract deterministically. There are **NO** mocks anywhere — no `vi.mock`, no `__mocks__/`, no module-level stubs. The integration suite in `tests/integration.test.ts` exercises the orchestrator against multiple real `TestStrategy` instances tagged with the five Wave-2 sibling ids and additionally verifies the real sibling packages are importable as optional peer-deps. - diff --git a/plugins/document-navigator/docs/networking/network/network-discovery-peerjs/README.md b/plugins/document-navigator/docs/networking/network/network-discovery-peerjs/README.md index b288b97..de5b9bc 100644 --- a/plugins/document-navigator/docs/networking/network/network-discovery-peerjs/README.md +++ b/plugins/document-navigator/docs/networking/network/network-discovery-peerjs/README.md @@ -31,7 +31,9 @@ a [PeerJS](https://peerjs.com) signalling-server client + WebRTC - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [peer-connection-manager](./src/core/peer-connection-manager/peer-connection-manager.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [peer-connection-manager](./src/core/peer-connection-manager/peer-connection-manager.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [peer-connection-manager](./src/core/peer-connection-manager/peer-connection-manager.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [peer-connection-manager](./src/core/peer-connection-manager/peer-connection-manager.md) — _(no submodules)_- [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_ - [peerjs-connection](./src/core/peerjs-connection/peerjs-connection.md) — _(no submodules)_- [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_ - [peerjs-discovery](./src/core/peerjs-discovery/peerjs-discovery.md) — _(no submodules)_- [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_ - [peerjs-intervals](./src/core/peerjs-intervals/peerjs-intervals.md) — _(no submodules)_- [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_ - [peerjs-message-handlers](./src/core/peerjs-message-handlers/peerjs-message-handlers.md) — _(no submodules)_- [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_ - [room-manager](./src/core/room-manager/room-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```sh diff --git a/plugins/document-navigator/docs/networking/network/network-discovery-trystero/README.md b/plugins/document-navigator/docs/networking/network/network-discovery-trystero/README.md index b4aafef..4827db3 100644 --- a/plugins/document-navigator/docs/networking/network/network-discovery-trystero/README.md +++ b/plugins/document-navigator/docs/networking/network/network-discovery-trystero/README.md @@ -46,7 +46,9 @@ defaults survive anywhere in the code. - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [ipfs-transport](./src/core/ipfs-transport/ipfs-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [ipfs-transport](./src/core/ipfs-transport/ipfs-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [ipfs-transport](./src/core/ipfs-transport/ipfs-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [ipfs-transport](./src/core/ipfs-transport/ipfs-transport.md) — _(no submodules)_- [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_ - [mqtt-transport](./src/core/mqtt-transport/mqtt-transport.md) — _(no submodules)_- [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_ - [nostr-transport](./src/core/nostr-transport/nostr-transport.md) — _(no submodules)_- [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_ - [torrent-transport](./src/core/torrent-transport/torrent-transport.md) — _(no submodules)_- [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_ - [trystero-discovery](./src/core/trystero-discovery/trystero-discovery.md) — _(no submodules)_- [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_ - [trystero-fallback](./src/core/trystero-fallback/trystero-fallback.md) — _(no submodules)_- [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_ - [trystero-intervals](./src/core/trystero-intervals/trystero-intervals.md) — _(no submodules)_- [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_ - [trystero-message-handlers](./src/core/trystero-message-handlers/trystero-message-handlers.md) — _(no submodules)_- [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_ - [trystero-peer-manager](./src/core/trystero-peer-manager/trystero-peer-manager.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/networking/network/network-discovery-webtorrent/README.md b/plugins/document-navigator/docs/networking/network/network-discovery-webtorrent/README.md index c68804d..957520a 100644 --- a/plugins/document-navigator/docs/networking/network/network-discovery-webtorrent/README.md +++ b/plugins/document-navigator/docs/networking/network/network-discovery-webtorrent/README.md @@ -22,7 +22,9 @@ capped peer set to the bootstrap pipeline. - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [webtorrent-discovery](./src/core/webtorrent-discovery/webtorrent-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [webtorrent-discovery](./src/core/webtorrent-discovery/webtorrent-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [webtorrent-discovery](./src/core/webtorrent-discovery/webtorrent-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [webtorrent-discovery](./src/core/webtorrent-discovery/webtorrent-discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Why this package - Plug-and-play `DiscoveryStrategy` slot for network bootstrap diff --git a/plugins/document-navigator/docs/networking/network/network-gundb-server/README.md b/plugins/document-navigator/docs/networking/network/network-gundb-server/README.md index c17ba15..00ae4a9 100644 --- a/plugins/document-navigator/docs/networking/network/network-gundb-server/README.md +++ b/plugins/document-navigator/docs/networking/network/network-gundb-server/README.md @@ -24,7 +24,9 @@ signed peer-announces through the relay. - [types](./src/types/types.md) — _(no submodules)_ - [validation](./src/validation/validation.md) — _(no submodules)_ - [validation](./src/validation/validation.md) — _(no submodules)_ + - [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_ - [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_ - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_- [validation](./src/validation/validation.md) — _(no submodules)_ - [validation](./src/validation/validation.md) — _(no submodules)_ + ## Why this package - **Single daemon, no orchestrator coupling.** Boot the relay, diff --git a/plugins/document-navigator/docs/networking/network/network-libp2p-server/README.md b/plugins/document-navigator/docs/networking/network/network-libp2p-server/README.md index 2f74150..2b0b2bb 100644 --- a/plugins/document-navigator/docs/networking/network/network-libp2p-server/README.md +++ b/plugins/document-navigator/docs/networking/network/network-libp2p-server/README.md @@ -23,15 +23,18 @@ verbs. - [server](./src/server/server.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… - - [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… - - [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… - - [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_ - [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_ - [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… - - [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + +- [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… +- [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… +- [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_ - [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_ - [health-listener](./src/server/health-listener.md) — Wraps the asynchronous `http.Server.listen(port, host)` flow with the listener-attach / `EADDRINUSE` classification / `… +- [peer-events](./src/server/peer-events.md) — Wires the `peer:connect` and `peer:disconnect` event listeners onto a `Libp2pServerNodeLike` and bridges them onto the… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Run the daemon ```ts diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-assignment/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-assignment/README.md index aed3254..19da0f1 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-assignment/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-assignment/README.md @@ -16,7 +16,9 @@ Mesh auto-assignment and load balancing: live `MeshCapacityTracker`, weighted-mu - [tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_ - [mesh-capacity-tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-assignment plugin. Three codes cover the surface: `NO_ELIGIBLE_ME… + - [mesh-balancer](./src/balancer/mesh-balancer.md) — _(no submodules)_- [controller](./src/controller/admission-controller.md) — _(no submodules)_- [admission-controller](./src/controller/admission-controller.md) — _(no submodules)_- [engine](./src/engine/assignment-engine.md) — _(no submodules)_- [assignment-engine](./src/engine/assignment-engine.md) — _(no submodules)_- [tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [mesh-capacity-tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-assignment plugin. Three codes cover the surface: `NO_ELIGIBLE_ME… + - [mesh-balancer](./src/balancer/mesh-balancer.md) — _(no submodules)_- [controller](./src/controller/admission-controller.md) — _(no submodules)_- [admission-controller](./src/controller/admission-controller.md) — _(no submodules)_- [engine](./src/engine/assignment-engine.md) — _(no submodules)_- [assignment-engine](./src/engine/assignment-engine.md) — _(no submodules)_- [tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [mesh-capacity-tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-assignment plugin. Three codes cover the surface: `NO_ELIGIBLE_ME… - [mesh-balancer](./src/balancer/mesh-balancer.md) — _(no submodules)_- [controller](./src/controller/admission-controller.md) — _(no submodules)_- [admission-controller](./src/controller/admission-controller.md) — _(no submodules)_- [engine](./src/engine/assignment-engine.md) — _(no submodules)_- [assignment-engine](./src/engine/assignment-engine.md) — _(no submodules)_- [tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [mesh-capacity-tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-assignment plugin. Three codes cover the surface: `NO_ELIGIBLE_ME… - [mesh-balancer](./src/balancer/mesh-balancer.md) — _(no submodules)_- [controller](./src/controller/admission-controller.md) — _(no submodules)_ - [admission-controller](./src/controller/admission-controller.md) — _(no submodules)_- [engine](./src/engine/assignment-engine.md) — _(no submodules)_ - [assignment-engine](./src/engine/assignment-engine.md) — _(no submodules)_- [tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_ - [mesh-capacity-tracker](./src/tracker/mesh-capacity-tracker.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-assignment plugin. Three codes cover the surface: `NO_ELIGIBLE_ME… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-audit-mesh/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-audit-mesh/README.md index 54db70a..e7f480e 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-audit-mesh/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-audit-mesh/README.md @@ -22,7 +22,9 @@ Tamper-evident, cryptographically signed, append-only audit log chain for the Su - [retriever](./src/retriever/log-retriever.md) — _(no submodules)_ - [log-retriever](./src/retriever/log-retriever.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen `NET_AUDIT` error registry for `@suaveplan/network-plugin-audit-mesh`. Every failure path the audit subsystem ca… + - [log-compaction](./src/compaction/log-compaction.md) — _(no submodules)_- [conflict](./src/conflict/conflict-resolver.md) — _(no submodules)_- [conflict-resolver](./src/conflict/conflict-resolver.md) — _(no submodules)_- [integrity](./src/integrity/integrity-checker.md) — _(no submodules)_- [integrity-checker](./src/integrity/integrity-checker.md) — _(no submodules)_- [log](./src/log/signed-log.md) — _(no submodules)_- [signed-log](./src/log/signed-log.md) — _(no submodules)_- [plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [audit-mesh-plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [log-replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [log-retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_AUDIT` error registry for `@suaveplan/network-plugin-audit-mesh`. Every failure path the audit subsystem ca… + - [log-compaction](./src/compaction/log-compaction.md) — _(no submodules)_- [conflict](./src/conflict/conflict-resolver.md) — _(no submodules)_- [conflict-resolver](./src/conflict/conflict-resolver.md) — _(no submodules)_- [integrity](./src/integrity/integrity-checker.md) — _(no submodules)_- [integrity-checker](./src/integrity/integrity-checker.md) — _(no submodules)_- [log](./src/log/signed-log.md) — _(no submodules)_- [signed-log](./src/log/signed-log.md) — _(no submodules)_- [plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [audit-mesh-plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [log-replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [log-retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_AUDIT` error registry for `@suaveplan/network-plugin-audit-mesh`. Every failure path the audit subsystem ca… - [log-compaction](./src/compaction/log-compaction.md) — _(no submodules)_- [conflict](./src/conflict/conflict-resolver.md) — _(no submodules)_- [conflict-resolver](./src/conflict/conflict-resolver.md) — _(no submodules)_- [integrity](./src/integrity/integrity-checker.md) — _(no submodules)_- [integrity-checker](./src/integrity/integrity-checker.md) — _(no submodules)_- [log](./src/log/signed-log.md) — _(no submodules)_- [signed-log](./src/log/signed-log.md) — _(no submodules)_- [plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [audit-mesh-plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [log-replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [log-retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_AUDIT` error registry for `@suaveplan/network-plugin-audit-mesh`. Every failure path the audit subsystem ca… - [log-compaction](./src/compaction/log-compaction.md) — _(no submodules)_- [conflict](./src/conflict/conflict-resolver.md) — _(no submodules)_ - [conflict-resolver](./src/conflict/conflict-resolver.md) — _(no submodules)_- [integrity](./src/integrity/integrity-checker.md) — _(no submodules)_ - [integrity-checker](./src/integrity/integrity-checker.md) — _(no submodules)_- [log](./src/log/signed-log.md) — _(no submodules)_ - [signed-log](./src/log/signed-log.md) — _(no submodules)_- [plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_ - [audit-mesh-plugin](./src/plugin/audit-mesh-plugin.md) — _(no submodules)_- [replicator](./src/replicator/log-replicator.md) — _(no submodules)_ - [log-replicator](./src/replicator/log-replicator.md) — _(no submodules)_- [retriever](./src/retriever/log-retriever.md) — _(no submodules)_ - [log-retriever](./src/retriever/log-retriever.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_AUDIT` error registry for `@suaveplan/network-plugin-audit-mesh`. Every failure path the audit subsystem ca… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-auth/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-auth/README.md index 4f2a139..c3b304b 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-auth/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-auth/README.md @@ -14,7 +14,9 @@ Mesh membership authentication and cross-mesh relay authorization. Bridges `@sua - [verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_ - [mesh-membership-verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the mesh-auth plugin. Five codes cover the full surface: `JOIN_REJECTED` when a peer… + - [capability-token-issuer](./src/issuer/capability-token-issuer.md) — _(no submodules)_- [trust](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [cross-mesh-trust-validator](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [mesh-membership-verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the mesh-auth plugin. Five codes cover the full surface: `JOIN_REJECTED` when a peer… + - [capability-token-issuer](./src/issuer/capability-token-issuer.md) — _(no submodules)_- [trust](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [cross-mesh-trust-validator](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [mesh-membership-verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the mesh-auth plugin. Five codes cover the full surface: `JOIN_REJECTED` when a peer… - [capability-token-issuer](./src/issuer/capability-token-issuer.md) — _(no submodules)_- [trust](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [cross-mesh-trust-validator](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [mesh-membership-verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the mesh-auth plugin. Five codes cover the full surface: `JOIN_REJECTED` when a peer… - [capability-token-issuer](./src/issuer/capability-token-issuer.md) — _(no submodules)_- [trust](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_ - [cross-mesh-trust-validator](./src/trust/cross-mesh-trust-validator.md) — _(no submodules)_- [verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_ - [mesh-membership-verifier](./src/verifier/mesh-membership-verifier.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the mesh-auth plugin. Five codes cover the full surface: `JOIN_REJECTED` when a peer… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-circuit-breaker/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-circuit-breaker/README.md index 604994b..68574e8 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-circuit-breaker/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-circuit-breaker/README.md @@ -16,7 +16,9 @@ Mesh-level circuit breakers: per-path state machine (`CLOSED → OPEN → HALF_O - [registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_ - [circuit-breaker-registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen error-code registry for the mesh circuit-breaker plugin. Two codes cover the full surface: `PATH_OPEN` when a re… + - [mesh-circuit-breaker](./src/breaker/mesh-circuit-breaker.md) — _(no submodules)_- [middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [circuit-breaker-middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [probe](./src/probe/half-open-probe.md) — _(no submodules)_- [half-open-probe](./src/probe/half-open-probe.md) — _(no submodules)_- [registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [circuit-breaker-registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the mesh circuit-breaker plugin. Two codes cover the full surface: `PATH_OPEN` when a re… + - [mesh-circuit-breaker](./src/breaker/mesh-circuit-breaker.md) — _(no submodules)_- [middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [circuit-breaker-middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [probe](./src/probe/half-open-probe.md) — _(no submodules)_- [half-open-probe](./src/probe/half-open-probe.md) — _(no submodules)_- [registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [circuit-breaker-registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the mesh circuit-breaker plugin. Two codes cover the full surface: `PATH_OPEN` when a re… - [mesh-circuit-breaker](./src/breaker/mesh-circuit-breaker.md) — _(no submodules)_- [middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [circuit-breaker-middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [probe](./src/probe/half-open-probe.md) — _(no submodules)_- [half-open-probe](./src/probe/half-open-probe.md) — _(no submodules)_- [registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [circuit-breaker-registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the mesh circuit-breaker plugin. Two codes cover the full surface: `PATH_OPEN` when a re… - [mesh-circuit-breaker](./src/breaker/mesh-circuit-breaker.md) — _(no submodules)_- [middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_ - [circuit-breaker-middleware](./src/middleware/circuit-breaker-middleware.md) — _(no submodules)_- [probe](./src/probe/half-open-probe.md) — _(no submodules)_ - [half-open-probe](./src/probe/half-open-probe.md) — _(no submodules)_- [registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_ - [circuit-breaker-registry](./src/registry/circuit-breaker-registry.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the mesh circuit-breaker plugin. Two codes cover the full surface: `PATH_OPEN` when a re… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-content-delivery/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-content-delivery/README.md index 6932f76..52cfc9d 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-content-delivery/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-content-delivery/README.md @@ -26,7 +26,9 @@ Mesh-as-CDN core for the Suaveplan network. `ChunkIndex` maintains a distributed - [throttle](./src/throttle/bandwidth-throttler.md) — _(no submodules)_ - [bandwidth-throttler](./src/throttle/bandwidth-throttler.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen `NET_CD` error registry for `@suaveplan/network-plugin-content-delivery`. Every failure path the content-deliver… + - [chunk-index](./src/index/chunk-index.md) — _(no submodules)_- [integrity](./src/integrity/integrity-verifier.md) — _(no submodules)_- [integrity-verifier](./src/integrity/integrity-verifier.md) — _(no submodules)_- [packer](./src/packer/packer-integration.md) — _(no submodules)_- [packer-integration](./src/packer/packer-integration.md) — _(no submodules)_- [plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [content-delivery-plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [prefetch](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [prefetch-engine](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [redundancy](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [redundancy-manager](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [router](./src/router/chunk-request-router.md) — _(no submodules)_- [chunk-request-router](./src/router/chunk-request-router.md) — _(no submodules)_- [store](./src/store/chunk-store.md) — _(no submodules)_- [chunk-store](./src/store/chunk-store.md) — _(no submodules)_- [throttle](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [bandwidth-throttler](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_CD` error registry for `@suaveplan/network-plugin-content-delivery`. Every failure path the content-deliver… + - [chunk-index](./src/index/chunk-index.md) — _(no submodules)_- [integrity](./src/integrity/integrity-verifier.md) — _(no submodules)_- [integrity-verifier](./src/integrity/integrity-verifier.md) — _(no submodules)_- [packer](./src/packer/packer-integration.md) — _(no submodules)_- [packer-integration](./src/packer/packer-integration.md) — _(no submodules)_- [plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [content-delivery-plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [prefetch](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [prefetch-engine](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [redundancy](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [redundancy-manager](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [router](./src/router/chunk-request-router.md) — _(no submodules)_- [chunk-request-router](./src/router/chunk-request-router.md) — _(no submodules)_- [store](./src/store/chunk-store.md) — _(no submodules)_- [chunk-store](./src/store/chunk-store.md) — _(no submodules)_- [throttle](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [bandwidth-throttler](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_CD` error registry for `@suaveplan/network-plugin-content-delivery`. Every failure path the content-deliver… - [chunk-index](./src/index/chunk-index.md) — _(no submodules)_- [integrity](./src/integrity/integrity-verifier.md) — _(no submodules)_- [integrity-verifier](./src/integrity/integrity-verifier.md) — _(no submodules)_- [packer](./src/packer/packer-integration.md) — _(no submodules)_- [packer-integration](./src/packer/packer-integration.md) — _(no submodules)_- [plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [content-delivery-plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [prefetch](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [prefetch-engine](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [redundancy](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [redundancy-manager](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [router](./src/router/chunk-request-router.md) — _(no submodules)_- [chunk-request-router](./src/router/chunk-request-router.md) — _(no submodules)_- [store](./src/store/chunk-store.md) — _(no submodules)_- [chunk-store](./src/store/chunk-store.md) — _(no submodules)_- [throttle](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [bandwidth-throttler](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_CD` error registry for `@suaveplan/network-plugin-content-delivery`. Every failure path the content-deliver… - [chunk-index](./src/index/chunk-index.md) — _(no submodules)_- [integrity](./src/integrity/integrity-verifier.md) — _(no submodules)_ - [integrity-verifier](./src/integrity/integrity-verifier.md) — _(no submodules)_- [packer](./src/packer/packer-integration.md) — _(no submodules)_ - [packer-integration](./src/packer/packer-integration.md) — _(no submodules)_- [plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_ - [content-delivery-plugin](./src/plugin/content-delivery-plugin.md) — _(no submodules)_- [prefetch](./src/prefetch/prefetch-engine.md) — _(no submodules)_ - [prefetch-engine](./src/prefetch/prefetch-engine.md) — _(no submodules)_- [redundancy](./src/redundancy/redundancy-manager.md) — _(no submodules)_ - [redundancy-manager](./src/redundancy/redundancy-manager.md) — _(no submodules)_- [router](./src/router/chunk-request-router.md) — _(no submodules)_ - [chunk-request-router](./src/router/chunk-request-router.md) — _(no submodules)_- [store](./src/store/chunk-store.md) — _(no submodules)_ - [chunk-store](./src/store/chunk-store.md) — _(no submodules)_- [throttle](./src/throttle/bandwidth-throttler.md) — _(no submodules)_ - [bandwidth-throttler](./src/throttle/bandwidth-throttler.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_CD` error registry for `@suaveplan/network-plugin-content-delivery`. Every failure path the content-deliver… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-crypto-messages/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-crypto-messages/README.md index 0c84f0d..b58d00e 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-crypto-messages/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-crypto-messages/README.md @@ -20,7 +20,9 @@ Cryptographic integrity layer for the Suaveplan mesh. Ed25519-backed `MessageSig - [mesh-token-authority](./src/token/mesh-token-authority.md) — Validates server-signed `MeshToken`s. Mirrors `SessionTokenAuthority` for the mesh-creation ceremony — same expiry / fo… - [session-token-authority](./src/token/session-token-authority.md) — Validates server-signed `SessionToken`s. Rejects expired tokens (`expiresAt <= now`), forged tokens (Ed25519 verify fai… - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the crypto-messages package. Codes are namespaced under `NET_CRYPTO` and… + - [peer-identity-verifier](./src/identity/peer-identity-verifier.md) — _(no submodules)_- [key-rotation](./src/key-rotation/key-rotation-manager.md) — _(no submodules)_- [key-rotation-manager](./src/key-rotation/key-rotation-manager.md) — _(no submodules)_- [log-chain](./src/log-chain/log-chain-signer.md) — _(no submodules)_- [log-chain-signer](./src/log-chain/log-chain-signer.md) — _(no submodules)_- [plugin](./src/plugin/crypto-messages-plugin.md) — _(no submodules)_- [crypto-messages-plugin](./src/plugin/crypto-messages-plugin.md) — _(no submodules)_- [signer](./src/signer/message-signer.md) — _(no submodules)_- [message-signer](./src/signer/message-signer.md) — _(no submodules)_- [mesh-token-authority](./src/token/mesh-token-authority.md) — Validates server-signed `MeshToken`s. Mirrors `SessionTokenAuthority` for the mesh-creation ceremony — same expiry / fo… + - [session-token-authority](./src/token/session-token-authority.md) — Validates server-signed `SessionToken`s. Rejects expired tokens (`expiresAt <= now`), forged tokens (Ed25519 verify fai… - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the crypto-messages package. Codes are namespaced under `NET_CRYPTO` and… - [peer-identity-verifier](./src/identity/peer-identity-verifier.md) — _(no submodules)_- [key-rotation](./src/key-rotation/key-rotation-manager.md) — _(no submodules)_- [key-rotation-manager](./src/key-rotation/key-rotation-manager.md) — _(no submodules)_- [log-chain](./src/log-chain/log-chain-signer.md) — _(no submodules)_- [log-chain-signer](./src/log-chain/log-chain-signer.md) — _(no submodules)_- [plugin](./src/plugin/crypto-messages-plugin.md) — _(no submodules)_- [crypto-messages-plugin](./src/plugin/crypto-messages-plugin.md) — _(no submodules)_- [signer](./src/signer/message-signer.md) — _(no submodules)_- [message-signer](./src/signer/message-signer.md) — _(no submodules)_- [mesh-token-authority](./src/token/mesh-token-authority.md) — Validates server-signed `MeshToken`s. Mirrors `SessionTokenAuthority` for the mesh-creation ceremony — same expiry / fo… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-devtools/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-devtools/README.md index d88e029..b00cc44 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-devtools/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-devtools/README.md @@ -30,7 +30,9 @@ call sites cannot silently exercise devtools work paths. - [network-visualizer](./src/visualizer/network-visualizer.md) — Renders the live mesh as a `VisualizerScene` intermediate representation (IR) and delegates byte production to an injec… - [svg-renderer](./src/visualizer/svg-renderer.md) — Pure-string SVG renderer that consumes a `VisualizerScene` and produces deterministic UTF-8 SVG bytes without touching… - [error-codes](./src/error-codes.md) — Defines the frozen registry of every failure mode the four devtools subsystems can surface. Centralising the codes here… + - [state-inspector](./src/inspector/state-inspector.md) — _(no submodules)_- [plugin](./src/plugin/devtools-plugin.md) — _(no submodules)_- [devtools-plugin](./src/plugin/devtools-plugin.md) — _(no submodules)_- [performance-profiler](./src/profiler/performance-profiler.md) — Captures runtime performance evidence (latency per path, throughput per path, plugin overhead, memory) into bounded rin… + - [performance-profiler.suggestions](./src/profiler/performance-profiler.suggestions.md) — Pure-function suggestion engine that consumes profiler ring buffers (latency / overhead / throughput / memory) and emit… - [simulator](./src/simulator/simulation-config-tool.md) — _(no submodules)_- [simulation-config-tool](./src/simulator/simulation-config-tool.md) — _(no submodules)_- [network-visualizer](./src/visualizer/network-visualizer.md) — Renders the live mesh as a `VisualizerScene` intermediate representation (IR) and delegates byte production to an injec… - [svg-renderer](./src/visualizer/svg-renderer.md) — Pure-string SVG renderer that consumes a `VisualizerScene` and produces deterministic UTF-8 SVG bytes without touching… @@ -103,4 +105,3 @@ const scenarioJson = devtools.simulator.exportJson(); - [`profiler/performance-profiler`](./src/profiler/performance-profiler.md) — latency / throughput / overhead / memory tracking with regression detection. - [`profiler/performance-profiler.suggestions`](./src/profiler/performance-profiler.suggestions.md) — heuristic suggestion engine. - [`plugin/devtools-plugin`](./src/plugin/devtools-plugin.md) — facade satisfying `NetworkPlugin` with tier gate and production guard. - diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-failover/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-failover/README.md index 7010a6b..2174b4a 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-failover/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-failover/README.md @@ -18,7 +18,9 @@ Mesh failover plugin: per-peer heartbeat manager, alive→suspect→dead→recov - [promoter](./src/promoter/promoter-manager.md) — _(no submodules)_ - [promoter-manager](./src/promoter/promoter-manager.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-failover plugin. Two codes cover the surface: `INVALID_HEALTH_TRA… + - [failover-coordinator](./src/failover/failover-coordinator.md) — _(no submodules)_- [health](./src/health/health-monitor.md) — _(no submodules)_- [health-monitor](./src/health/health-monitor.md) — _(no submodules)_- [heartbeat](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [heartbeat-manager](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [failover-plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [promoter](./src/promoter/promoter-manager.md) — _(no submodules)_- [promoter-manager](./src/promoter/promoter-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-failover plugin. Two codes cover the surface: `INVALID_HEALTH_TRA… + - [failover-coordinator](./src/failover/failover-coordinator.md) — _(no submodules)_- [health](./src/health/health-monitor.md) — _(no submodules)_- [health-monitor](./src/health/health-monitor.md) — _(no submodules)_- [heartbeat](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [heartbeat-manager](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [failover-plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [promoter](./src/promoter/promoter-manager.md) — _(no submodules)_- [promoter-manager](./src/promoter/promoter-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-failover plugin. Two codes cover the surface: `INVALID_HEALTH_TRA… - [failover-coordinator](./src/failover/failover-coordinator.md) — _(no submodules)_- [health](./src/health/health-monitor.md) — _(no submodules)_- [health-monitor](./src/health/health-monitor.md) — _(no submodules)_- [heartbeat](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [heartbeat-manager](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [failover-plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [promoter](./src/promoter/promoter-manager.md) — _(no submodules)_- [promoter-manager](./src/promoter/promoter-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-failover plugin. Two codes cover the surface: `INVALID_HEALTH_TRA… - [failover-coordinator](./src/failover/failover-coordinator.md) — _(no submodules)_- [health](./src/health/health-monitor.md) — _(no submodules)_ - [health-monitor](./src/health/health-monitor.md) — _(no submodules)_- [heartbeat](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_ - [heartbeat-manager](./src/heartbeat/heartbeat-manager.md) — _(no submodules)_- [plugin](./src/plugin/failover-plugin.md) — _(no submodules)_ - [failover-plugin](./src/plugin/failover-plugin.md) — _(no submodules)_- [promoter](./src/promoter/promoter-manager.md) — _(no submodules)_ - [promoter-manager](./src/promoter/promoter-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-failover plugin. Two codes cover the surface: `INVALID_HEALTH_TRA… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-governance/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-governance/README.md index 478d699..4d55c66 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-governance/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-governance/README.md @@ -22,7 +22,9 @@ Concrete `NetworkPlugin` that consumes `peer:latency` and `peer:disconnected` ev - [voting](./src/voting/voting-manager.md) — _(no submodules)_ - [voting-manager](./src/voting/voting-manager.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the governance plugin. Every failure mode in the election pipeline — missing quorum,… + - [election-engine](./src/election/election-engine.md) — _(no submodules)_- [plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [governance-plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation-tracker.md) — _(no submodules)_- [reputation-tracker](./src/reputation/reputation-tracker.md) — _(no submodules)_- [scoring](./src/scoring/candidate-scorer.md) — _(no submodules)_- [candidate-scorer](./src/scoring/candidate-scorer.md) — _(no submodules)_- [transition](./src/transition/transition-manager.md) — _(no submodules)_- [transition-manager](./src/transition/transition-manager.md) — _(no submodules)_- [voting](./src/voting/voting-manager.md) — _(no submodules)_- [voting-manager](./src/voting/voting-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the governance plugin. Every failure mode in the election pipeline — missing quorum,… + - [election-engine](./src/election/election-engine.md) — _(no submodules)_- [plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [governance-plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation-tracker.md) — _(no submodules)_- [reputation-tracker](./src/reputation/reputation-tracker.md) — _(no submodules)_- [scoring](./src/scoring/candidate-scorer.md) — _(no submodules)_- [candidate-scorer](./src/scoring/candidate-scorer.md) — _(no submodules)_- [transition](./src/transition/transition-manager.md) — _(no submodules)_- [transition-manager](./src/transition/transition-manager.md) — _(no submodules)_- [voting](./src/voting/voting-manager.md) — _(no submodules)_- [voting-manager](./src/voting/voting-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the governance plugin. Every failure mode in the election pipeline — missing quorum,… - [election-engine](./src/election/election-engine.md) — _(no submodules)_- [plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [governance-plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation-tracker.md) — _(no submodules)_- [reputation-tracker](./src/reputation/reputation-tracker.md) — _(no submodules)_- [scoring](./src/scoring/candidate-scorer.md) — _(no submodules)_- [candidate-scorer](./src/scoring/candidate-scorer.md) — _(no submodules)_- [transition](./src/transition/transition-manager.md) — _(no submodules)_- [transition-manager](./src/transition/transition-manager.md) — _(no submodules)_- [voting](./src/voting/voting-manager.md) — _(no submodules)_- [voting-manager](./src/voting/voting-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the governance plugin. Every failure mode in the election pipeline — missing quorum,… - [election-engine](./src/election/election-engine.md) — _(no submodules)_- [plugin](./src/plugin/governance-plugin.md) — _(no submodules)_ - [governance-plugin](./src/plugin/governance-plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation-tracker.md) — _(no submodules)_ - [reputation-tracker](./src/reputation/reputation-tracker.md) — _(no submodules)_- [scoring](./src/scoring/candidate-scorer.md) — _(no submodules)_ - [candidate-scorer](./src/scoring/candidate-scorer.md) — _(no submodules)_- [transition](./src/transition/transition-manager.md) — _(no submodules)_ - [transition-manager](./src/transition/transition-manager.md) — _(no submodules)_- [voting](./src/voting/voting-manager.md) — _(no submodules)_ - [voting-manager](./src/voting/voting-manager.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the governance plugin. Every failure mode in the election pipeline — missing quorum,… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-intra-relay/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-intra-relay/README.md index 4054aa1..b302638 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-intra-relay/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-intra-relay/README.md @@ -24,7 +24,9 @@ Intra-mesh peer-to-peer relay for the Suaveplan network. When direct WebRTC fail - [selector](./src/selector/relay-selector.md) — _(no submodules)_ - [relay-selector](./src/selector/relay-selector.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen `NET_INTRA_RELAY` error registry for `@suaveplan/network-plugin-intra-relay`. Every failure path the relay subsy… + - [relay-connection-manager](./src/connection/relay-connection-manager.md) — _(no submodules)_- [discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [relay-discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [relay-envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [loop](./src/loop/loop-prevention.md) — _(no submodules)_- [loop-prevention](./src/loop/loop-prevention.md) — _(no submodules)_- [monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [relay-performance-monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [intra-relay-plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [security](./src/security/relay-security-manager.md) — _(no submodules)_- [relay-security-manager](./src/security/relay-security-manager.md) — _(no submodules)_- [selector](./src/selector/relay-selector.md) — _(no submodules)_- [relay-selector](./src/selector/relay-selector.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_INTRA_RELAY` error registry for `@suaveplan/network-plugin-intra-relay`. Every failure path the relay subsy… + - [relay-connection-manager](./src/connection/relay-connection-manager.md) — _(no submodules)_- [discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [relay-discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [relay-envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [loop](./src/loop/loop-prevention.md) — _(no submodules)_- [loop-prevention](./src/loop/loop-prevention.md) — _(no submodules)_- [monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [relay-performance-monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [intra-relay-plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [security](./src/security/relay-security-manager.md) — _(no submodules)_- [relay-security-manager](./src/security/relay-security-manager.md) — _(no submodules)_- [selector](./src/selector/relay-selector.md) — _(no submodules)_- [relay-selector](./src/selector/relay-selector.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_INTRA_RELAY` error registry for `@suaveplan/network-plugin-intra-relay`. Every failure path the relay subsy… - [relay-connection-manager](./src/connection/relay-connection-manager.md) — _(no submodules)_- [discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [relay-discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [relay-envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [loop](./src/loop/loop-prevention.md) — _(no submodules)_- [loop-prevention](./src/loop/loop-prevention.md) — _(no submodules)_- [monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [relay-performance-monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [intra-relay-plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [security](./src/security/relay-security-manager.md) — _(no submodules)_- [relay-security-manager](./src/security/relay-security-manager.md) — _(no submodules)_- [selector](./src/selector/relay-selector.md) — _(no submodules)_- [relay-selector](./src/selector/relay-selector.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_INTRA_RELAY` error registry for `@suaveplan/network-plugin-intra-relay`. Every failure path the relay subsy… - [relay-connection-manager](./src/connection/relay-connection-manager.md) — _(no submodules)_- [discovery](./src/discovery/relay-discovery.md) — _(no submodules)_ - [relay-discovery](./src/discovery/relay-discovery.md) — _(no submodules)_- [envelope](./src/envelope/relay-envelope.md) — _(no submodules)_ - [relay-envelope](./src/envelope/relay-envelope.md) — _(no submodules)_- [loop](./src/loop/loop-prevention.md) — _(no submodules)_ - [loop-prevention](./src/loop/loop-prevention.md) — _(no submodules)_- [monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_ - [relay-performance-monitor](./src/monitor/relay-performance-monitor.md) — _(no submodules)_- [plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_ - [intra-relay-plugin](./src/plugin/intra-relay-plugin.md) — _(no submodules)_- [security](./src/security/relay-security-manager.md) — _(no submodules)_ - [relay-security-manager](./src/security/relay-security-manager.md) — _(no submodules)_- [selector](./src/selector/relay-selector.md) — _(no submodules)_ - [relay-selector](./src/selector/relay-selector.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen `NET_INTRA_RELAY` error registry for `@suaveplan/network-plugin-intra-relay`. Every failure path the relay subsy… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-middleware/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-middleware/README.md index 384f9dd..35c19df 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-middleware/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-middleware/README.md @@ -26,7 +26,9 @@ Priority-ordered middleware chain for the Suaveplan mesh. Inbound and outbound m - [validation](./src/validation/validation-middleware.md) — _(no submodules)_ - [validation-middleware](./src/validation/validation-middleware.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the middleware chain. Each code maps to one failure class so consumers ca… + - [i18n-middleware](./src/i18n/i18n-middleware.md) — _(no submodules)_- [logging](./src/logging/logging-middleware.md) — _(no submodules)_- [logging-middleware](./src/logging/logging-middleware.md) — _(no submodules)_- [manager](./src/manager/middleware-manager.md) — _(no submodules)_- [middleware-manager](./src/manager/middleware-manager.md) — _(no submodules)_- [metrics](./src/metrics/metrics-middleware.md) — _(no submodules)_- [metrics-middleware](./src/metrics/metrics-middleware.md) — _(no submodules)_- [plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [middleware-plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [security](./src/security/security-middleware.md) — _(no submodules)_- [security-middleware](./src/security/security-middleware.md) — _(no submodules)_- [throttling](./src/throttling/throttling-middleware.md) — _(no submodules)_- [throttling-middleware](./src/throttling/throttling-middleware.md) — _(no submodules)_- [transformation](./src/transformation/transformation-middleware.md) — _(no submodules)_- [transformation-middleware](./src/transformation/transformation-middleware.md) — _(no submodules)_- [validation](./src/validation/validation-middleware.md) — _(no submodules)_- [validation-middleware](./src/validation/validation-middleware.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the middleware chain. Each code maps to one failure class so consumers ca… + - [i18n-middleware](./src/i18n/i18n-middleware.md) — _(no submodules)_- [logging](./src/logging/logging-middleware.md) — _(no submodules)_- [logging-middleware](./src/logging/logging-middleware.md) — _(no submodules)_- [manager](./src/manager/middleware-manager.md) — _(no submodules)_- [middleware-manager](./src/manager/middleware-manager.md) — _(no submodules)_- [metrics](./src/metrics/metrics-middleware.md) — _(no submodules)_- [metrics-middleware](./src/metrics/metrics-middleware.md) — _(no submodules)_- [plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [middleware-plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [security](./src/security/security-middleware.md) — _(no submodules)_- [security-middleware](./src/security/security-middleware.md) — _(no submodules)_- [throttling](./src/throttling/throttling-middleware.md) — _(no submodules)_- [throttling-middleware](./src/throttling/throttling-middleware.md) — _(no submodules)_- [transformation](./src/transformation/transformation-middleware.md) — _(no submodules)_- [transformation-middleware](./src/transformation/transformation-middleware.md) — _(no submodules)_- [validation](./src/validation/validation-middleware.md) — _(no submodules)_- [validation-middleware](./src/validation/validation-middleware.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the middleware chain. Each code maps to one failure class so consumers ca… - [i18n-middleware](./src/i18n/i18n-middleware.md) — _(no submodules)_- [logging](./src/logging/logging-middleware.md) — _(no submodules)_- [logging-middleware](./src/logging/logging-middleware.md) — _(no submodules)_- [manager](./src/manager/middleware-manager.md) — _(no submodules)_- [middleware-manager](./src/manager/middleware-manager.md) — _(no submodules)_- [metrics](./src/metrics/metrics-middleware.md) — _(no submodules)_- [metrics-middleware](./src/metrics/metrics-middleware.md) — _(no submodules)_- [plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [middleware-plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [security](./src/security/security-middleware.md) — _(no submodules)_- [security-middleware](./src/security/security-middleware.md) — _(no submodules)_- [throttling](./src/throttling/throttling-middleware.md) — _(no submodules)_- [throttling-middleware](./src/throttling/throttling-middleware.md) — _(no submodules)_- [transformation](./src/transformation/transformation-middleware.md) — _(no submodules)_- [transformation-middleware](./src/transformation/transformation-middleware.md) — _(no submodules)_- [validation](./src/validation/validation-middleware.md) — _(no submodules)_- [validation-middleware](./src/validation/validation-middleware.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the middleware chain. Each code maps to one failure class so consumers ca… - [i18n-middleware](./src/i18n/i18n-middleware.md) — _(no submodules)_- [logging](./src/logging/logging-middleware.md) — _(no submodules)_ - [logging-middleware](./src/logging/logging-middleware.md) — _(no submodules)_- [manager](./src/manager/middleware-manager.md) — _(no submodules)_ - [middleware-manager](./src/manager/middleware-manager.md) — _(no submodules)_- [metrics](./src/metrics/metrics-middleware.md) — _(no submodules)_ - [metrics-middleware](./src/metrics/metrics-middleware.md) — _(no submodules)_- [plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_ - [middleware-plugin](./src/plugin/middleware-plugin.md) — _(no submodules)_- [security](./src/security/security-middleware.md) — _(no submodules)_ - [security-middleware](./src/security/security-middleware.md) — _(no submodules)_- [throttling](./src/throttling/throttling-middleware.md) — _(no submodules)_ - [throttling-middleware](./src/throttling/throttling-middleware.md) — _(no submodules)_- [transformation](./src/transformation/transformation-middleware.md) — _(no submodules)_ - [transformation-middleware](./src/transformation/transformation-middleware.md) — _(no submodules)_- [validation](./src/validation/validation-middleware.md) — _(no submodules)_ - [validation-middleware](./src/validation/validation-middleware.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the middleware chain. Each code maps to one failure class so consumers ca… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-migration/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-migration/README.md index 89ab530..2709eb5 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-migration/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-migration/README.md @@ -14,7 +14,9 @@ Peer state migration between meshes: 8-step `MigrationCoordinator`, snapshot ser - [tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_ - [forwarding-tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-migration plugin. Four codes cover the surface: `MIGRATION_REJECT… + - [migration-coordinator](./src/coordinator/migration-coordinator.md) — _(no submodules)_- [state-transfer](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [state-transfer-protocol](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [forwarding-tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-migration plugin. Four codes cover the surface: `MIGRATION_REJECT… + - [migration-coordinator](./src/coordinator/migration-coordinator.md) — _(no submodules)_- [state-transfer](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [state-transfer-protocol](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [forwarding-tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-migration plugin. Four codes cover the surface: `MIGRATION_REJECT… - [migration-coordinator](./src/coordinator/migration-coordinator.md) — _(no submodules)_- [state-transfer](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [state-transfer-protocol](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [forwarding-tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-migration plugin. Four codes cover the surface: `MIGRATION_REJECT… - [migration-coordinator](./src/coordinator/migration-coordinator.md) — _(no submodules)_- [state-transfer](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_ - [state-transfer-protocol](./src/state-transfer/state-transfer-protocol.md) — _(no submodules)_- [tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_ - [forwarding-tunnel](./src/tunnel/forwarding-tunnel.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-migration plugin. Four codes cover the surface: `MIGRATION_REJECT… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-monitor/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-monitor/README.md index f8d9be7..7fb78d9 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-monitor/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-monitor/README.md @@ -30,7 +30,9 @@ Production monitoring + distributed tracing for the Suaveplan mesh. Collects met - [tracer](./src/tracer/network-tracer.md) — _(no submodules)_ - [network-tracer](./src/tracer/network-tracer.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the monitor package. Codes are namespaced under `NET_MON` and registered… + - [alert-engine](./src/alert/alert-engine.md) — _(no submodules)_- [collector](./src/collector/metric-collector.md) — _(no submodules)_- [metric-collector](./src/collector/metric-collector.md) — _(no submodules)_- [grafana](./src/grafana/dashboard-generator.md) — _(no submodules)_- [dashboard-generator](./src/grafana/dashboard-generator.md) — _(no submodules)_- [history](./src/history/historical-data-store.md) — _(no submodules)_- [historical-data-store](./src/history/historical-data-store.md) — _(no submodules)_- [monitor](./src/monitor/network-monitor.md) — _(no submodules)_- [network-monitor](./src/monitor/network-monitor.md) — _(no submodules)_- [plugin](./src/plugin/monitor-plugin.md) — _(no submodules)_- [monitor-plugin](./src/plugin/monitor-plugin.md) — _(no submodules)_- [prometheus](./src/prometheus/prometheus-exposition.md) — _(no submodules)_- [prometheus-exposition](./src/prometheus/prometheus-exposition.md) — _(no submodules)_- [bandwidth-monitor](./src/quality/bandwidth-monitor.md) — `BandwidthMonitor` records per-link bandwidth / RTT / packet-loss measurements into a bounded ring buffer and exposes s… + - [degradation-manager](./src/quality/degradation-manager.md) — `DegradationManager` is a 4-rung quality classifier that decides the current `QualityLevel` (`HIGH`/`MEDIUM`/`LOW`/`MIN… - [quality-middleware](./src/quality/quality-middleware.md) — `createQualityMiddleware` builds an outgoing-message gate that drops or forwards each message based on the current `Qua… - [quality-types](./src/quality/quality-types.md) — Shared type definitions for the quality-class classification + adaptive degradation feature group. These types underpin… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-partition/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-partition/README.md index fde4566..fffc7d3 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-partition/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-partition/README.md @@ -14,7 +14,9 @@ Split-brain detection and resolution for the mesh: epoch-based `PartitionDetecto - [quorum](./src/quorum/quorum-resolver.md) — _(no submodules)_ - [quorum-resolver](./src/quorum/quorum-resolver.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-partition plugin. Three codes cover the surface: `SPLIT_BRAIN_DETECTED`… + - [partition-detector](./src/detector/partition-detector.md) — _(no submodules)_- [merge](./src/merge/merge-protocol.md) — _(no submodules)_- [merge-protocol](./src/merge/merge-protocol.md) — _(no submodules)_- [quorum](./src/quorum/quorum-resolver.md) — _(no submodules)_- [quorum-resolver](./src/quorum/quorum-resolver.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-partition plugin. Three codes cover the surface: `SPLIT_BRAIN_DETECTED`… + - [partition-detector](./src/detector/partition-detector.md) — _(no submodules)_- [merge](./src/merge/merge-protocol.md) — _(no submodules)_- [merge-protocol](./src/merge/merge-protocol.md) — _(no submodules)_- [quorum](./src/quorum/quorum-resolver.md) — _(no submodules)_- [quorum-resolver](./src/quorum/quorum-resolver.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-partition plugin. Three codes cover the surface: `SPLIT_BRAIN_DETECTED`… - [partition-detector](./src/detector/partition-detector.md) — _(no submodules)_- [merge](./src/merge/merge-protocol.md) — _(no submodules)_- [merge-protocol](./src/merge/merge-protocol.md) — _(no submodules)_- [quorum](./src/quorum/quorum-resolver.md) — _(no submodules)_- [quorum-resolver](./src/quorum/quorum-resolver.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-partition plugin. Three codes cover the surface: `SPLIT_BRAIN_DETECTED`… - [partition-detector](./src/detector/partition-detector.md) — _(no submodules)_- [merge](./src/merge/merge-protocol.md) — _(no submodules)_ - [merge-protocol](./src/merge/merge-protocol.md) — _(no submodules)_- [quorum](./src/quorum/quorum-resolver.md) — _(no submodules)_ - [quorum-resolver](./src/quorum/quorum-resolver.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-partition plugin. Three codes cover the surface: `SPLIT_BRAIN_DETECTED`… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-protocol/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-protocol/README.md index 4abddde..4324ffb 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-protocol/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-protocol/README.md @@ -25,8 +25,10 @@ Network protocol plugin for the mesh system. - [ttl](./src/ttl/ttl.md) — _(no submodules)_ - [ttl](./src/ttl/ttl.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-protocol` package. All runtime failures withi… + - [batcher](./src/batcher/batcher.md) — _(no submodules)_- [decoder](./src/decoder/decoder.md) — _(no submodules)_- [decoder](./src/decoder/decoder.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- [pipeline](./src/pipeline/pipeline.md) — _(no submodules)_- [pipeline](./src/pipeline/pipeline.md) — _(no submodules)_- [protocol](./src/protocol/protocol.md) — _(no submodules)_- [protocol-plugin](./src/protocol/protocol-plugin.md) — The main plugin implementation that integrates the protocol layer into a `NetworkNode`. `ProtocolPlugin` implements the… - - [protocol](./src/protocol/protocol.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [ttl](./src/ttl/ttl.md) — _(no submodules)_- [ttl](./src/ttl/ttl.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-protocol` package. All runtime failures withi… + +- [protocol](./src/protocol/protocol.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [ttl](./src/ttl/ttl.md) — _(no submodules)_- [ttl](./src/ttl/ttl.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-protocol` package. All runtime failures withi… - [batcher](./src/batcher/batcher.md) — _(no submodules)_- [decoder](./src/decoder/decoder.md) — _(no submodules)_- [decoder](./src/decoder/decoder.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- [pipeline](./src/pipeline/pipeline.md) — _(no submodules)_- [pipeline](./src/pipeline/pipeline.md) — _(no submodules)_- [protocol](./src/protocol/protocol.md) — _(no submodules)_- [protocol-plugin](./src/protocol/protocol-plugin.md) — The main plugin implementation that integrates the protocol layer into a `NetworkNode`. `ProtocolPlugin` implements the… - [protocol](./src/protocol/protocol.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [serializer](./src/serializer/serializer.md) — _(no submodules)_- [ttl](./src/ttl/ttl.md) — _(no submodules)_- [ttl](./src/ttl/ttl.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-protocol` package. All runtime failures withi… - [batcher](./src/batcher/batcher.md) — _(no submodules)_- [decoder](./src/decoder/decoder.md) — _(no submodules)_- [decoder](./src/decoder/decoder.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- [encoder](./src/encoder/encoder.md) — _(no submodules)_- [pipeline](./src/pipeline/pipeline.md) — _(no submodules)_- [pipeline](./src/pipeline/pipeline.md) — _(no submodules)_- [protocol](./src/protocol/protocol.md) — _(no submodules)_- [protocol-plugin](./src/protocol/protocol-plugin.md) — The main plugin implementation that integrates the protocol layer into a `NetworkNode`. `ProtocolPlugin` implements the… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-qos/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-qos/README.md index 5ce122e..450aa3d 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-qos/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-qos/README.md @@ -16,7 +16,9 @@ Bandwidth management and quality-of-service for the mesh: bandwidth-quota enforc - [router](./src/router/qos-router.md) — _(no submodules)_ - [qos-router](./src/router/qos-router.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-qos plugin. One code covers the wire surface: `QUOTA_EXCEEDED` is… + - [message-priority-classifier](./src/classifier/message-priority-classifier.md) — _(no submodules)_- [enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [bandwidth-quota-enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [congestion-monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [router](./src/router/qos-router.md) — _(no submodules)_- [qos-router](./src/router/qos-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-qos plugin. One code covers the wire surface: `QUOTA_EXCEEDED` is… + - [message-priority-classifier](./src/classifier/message-priority-classifier.md) — _(no submodules)_- [enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [bandwidth-quota-enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [congestion-monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [router](./src/router/qos-router.md) — _(no submodules)_- [qos-router](./src/router/qos-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-qos plugin. One code covers the wire surface: `QUOTA_EXCEEDED` is… - [message-priority-classifier](./src/classifier/message-priority-classifier.md) — _(no submodules)_- [enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [bandwidth-quota-enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [congestion-monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [router](./src/router/qos-router.md) — _(no submodules)_- [qos-router](./src/router/qos-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-qos plugin. One code covers the wire surface: `QUOTA_EXCEEDED` is… - [message-priority-classifier](./src/classifier/message-priority-classifier.md) — _(no submodules)_- [enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_ - [bandwidth-quota-enforcer](./src/enforcer/bandwidth-quota-enforcer.md) — _(no submodules)_- [monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_ - [congestion-monitor](./src/monitor/congestion-monitor.md) — _(no submodules)_- [router](./src/router/qos-router.md) — _(no submodules)_ - [qos-router](./src/router/qos-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-qos plugin. One code covers the wire surface: `QUOTA_EXCEEDED` is… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-registry/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-registry/README.md index 4770463..e60fb4f 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-registry/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-registry/README.md @@ -15,7 +15,9 @@ Fixed-capacity peer registry with bitpacker-based binary encoding. - [sync](./src/sync/sync.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-registry` package. All runtime failures withi… - [registry-plugin](./src/registry-plugin.md) — Integrates the registry system into a `NetworkNode`. `RegistryPlugin` implements `NetworkPlugin` and wires together the… + - [encoder](./src/encoder/encoder.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-registry` package. All runtime failures withi… + - [registry-plugin](./src/registry-plugin.md) — Integrates the registry system into a `NetworkNode`. `RegistryPlugin` implements `NetworkPlugin` and wires together the… - [encoder](./src/encoder/encoder.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-plugin-registry` package. All runtime failures withi… - [registry-plugin](./src/registry-plugin.md) — Integrates the registry system into a `NetworkNode`. `RegistryPlugin` implements `NetworkPlugin` and wires together the… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-relay/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-relay/README.md index 3ccf9e4..1d6d1ac 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-relay/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-relay/README.md @@ -20,7 +20,9 @@ Cross-mesh relay — the federation layer that lets Tier 0 hosts of different me - [router](./src/router/relay-router.md) — _(no submodules)_ - [relay-router](./src/router/relay-router.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-relay plugin. Five codes cover the full surface: `ROUTE_NOT_FOUND… + - [host-backbone-transport](./src/backbone/host-backbone-transport.md) — _(no submodules)_- [directory](./src/directory/mesh-directory.md) — _(no submodules)_- [mesh-directory](./src/directory/mesh-directory.md) — _(no submodules)_- [envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [cross-mesh-envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [loop-prevention](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [loop-guard](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [manager](./src/manager/relay-manager.md) — _(no submodules)_- [relay-manager](./src/manager/relay-manager.md) — _(no submodules)_- [router](./src/router/relay-router.md) — _(no submodules)_- [relay-router](./src/router/relay-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-relay plugin. Five codes cover the full surface: `ROUTE_NOT_FOUND… + - [host-backbone-transport](./src/backbone/host-backbone-transport.md) — _(no submodules)_- [directory](./src/directory/mesh-directory.md) — _(no submodules)_- [mesh-directory](./src/directory/mesh-directory.md) — _(no submodules)_- [envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [cross-mesh-envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [loop-prevention](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [loop-guard](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [manager](./src/manager/relay-manager.md) — _(no submodules)_- [relay-manager](./src/manager/relay-manager.md) — _(no submodules)_- [router](./src/router/relay-router.md) — _(no submodules)_- [relay-router](./src/router/relay-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-relay plugin. Five codes cover the full surface: `ROUTE_NOT_FOUND… - [host-backbone-transport](./src/backbone/host-backbone-transport.md) — _(no submodules)_- [directory](./src/directory/mesh-directory.md) — _(no submodules)_- [mesh-directory](./src/directory/mesh-directory.md) — _(no submodules)_- [envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [cross-mesh-envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [loop-prevention](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [loop-guard](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [manager](./src/manager/relay-manager.md) — _(no submodules)_- [relay-manager](./src/manager/relay-manager.md) — _(no submodules)_- [router](./src/router/relay-router.md) — _(no submodules)_- [relay-router](./src/router/relay-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-relay plugin. Five codes cover the full surface: `ROUTE_NOT_FOUND… - [host-backbone-transport](./src/backbone/host-backbone-transport.md) — _(no submodules)_- [directory](./src/directory/mesh-directory.md) — _(no submodules)_ - [mesh-directory](./src/directory/mesh-directory.md) — _(no submodules)_- [envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_ - [cross-mesh-envelope](./src/envelope/cross-mesh-envelope.md) — _(no submodules)_- [loop-prevention](./src/loop-prevention/loop-guard.md) — _(no submodules)_ - [loop-guard](./src/loop-prevention/loop-guard.md) — _(no submodules)_- [manager](./src/manager/relay-manager.md) — _(no submodules)_ - [relay-manager](./src/manager/relay-manager.md) — _(no submodules)_- [router](./src/router/relay-router.md) — _(no submodules)_ - [relay-router](./src/router/relay-router.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-relay plugin. Five codes cover the full surface: `ROUTE_NOT_FOUND… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-server-bridge/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-server-bridge/README.md index e8deb2f..9ab8349 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-server-bridge/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-server-bridge/README.md @@ -41,7 +41,9 @@ Tier-0 host ↔ central-server bridge for the Suaveplan mesh. - [server-bridge-plugin](./src/plugin/server-bridge-plugin.md) — _(no submodules)_ - [reconciliation](./src/reconciliation/reconciliation-protocol.md) — _(no submodules)_ - [reconciliation-protocol](./src/reconciliation/reconciliation-protocol.md) — _(no submodules)_ + - [log-buffer](./src/buffer/log-buffer.md) — _(no submodules)_- [command](./src/command/command-dispatcher.md) — _(no submodules)_- [command-dispatcher](./src/command/command-dispatcher.md) — _(no submodules)_- [fsm](./src/fsm/graceful-degradation-fsm.md) — _(no submodules)_- [graceful-degradation-fsm](./src/fsm/graceful-degradation-fsm.md) — _(no submodules)_- [gateway](./src/gateway/server-gateway.md) — _(no submodules)_- [server-gateway](./src/gateway/server-gateway.md) — _(no submodules)_- [backup-coordinator](./src/hosting/backup-coordinator.md) — `BackupCoordinator` implements the `CLIENT_WITH_SERVER_BACKUP` model: clients host normally and the server is a backup… + - [failover-coordinator](./src/hosting/failover-coordinator.md) — `FailoverCoordinator` implements the `SERVER_TO_CLIENT_FAILOVER` model — the proposal's current default. The server is… - [hosting-model-config](./src/hosting/hosting-model-config.md) — `hostingModelConfig(model)` is the single accessor for the four hosting-model presets the proposal documents (`PURE_CLI… - [pure-client-coordinator](./src/hosting/pure-client-coordinator.md) — `PureClientCoordinator` implements the `PURE_CLIENT` hosting model: no central server is in the picture, and token issu… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-session/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-session/README.md index 9872d74..5ab78cc 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-session/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-session/README.md @@ -26,7 +26,9 @@ Hierarchical session management for the Suaveplan mesh. `SessionTree` maintains - [tree](./src/tree/session-tree.md) — _(no submodules)_ - [session-tree](./src/tree/session-tree.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the session package. Codes are namespaced under `NET_SESSION` and registe… + - [parent-state-bridge](./src/bridge/parent-state-bridge.md) — _(no submodules)_- [capacity](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [session-capacity-enforcer](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [election](./src/election/session-host-election.md) — _(no submodules)_- [session-host-election](./src/election/session-host-election.md) — _(no submodules)_- [plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [session-plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [registry](./src/registry/session-registry.md) — _(no submodules)_- [session-registry](./src/registry/session-registry.md) — _(no submodules)_- [router](./src/router/session-router.md) — _(no submodules)_- [session-router](./src/router/session-router.md) — _(no submodules)_- [session](./src/session/session-manager.md) — _(no submodules)_- [session-manager](./src/session/session-manager.md) — _(no submodules)_- [transition](./src/transition/session-transition-manager.md) — _(no submodules)_- [session-transition-manager](./src/transition/session-transition-manager.md) — _(no submodules)_- [tree](./src/tree/session-tree.md) — _(no submodules)_- [session-tree](./src/tree/session-tree.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the session package. Codes are namespaced under `NET_SESSION` and registe… + - [parent-state-bridge](./src/bridge/parent-state-bridge.md) — _(no submodules)_- [capacity](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [session-capacity-enforcer](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [election](./src/election/session-host-election.md) — _(no submodules)_- [session-host-election](./src/election/session-host-election.md) — _(no submodules)_- [plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [session-plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [registry](./src/registry/session-registry.md) — _(no submodules)_- [session-registry](./src/registry/session-registry.md) — _(no submodules)_- [router](./src/router/session-router.md) — _(no submodules)_- [session-router](./src/router/session-router.md) — _(no submodules)_- [session](./src/session/session-manager.md) — _(no submodules)_- [session-manager](./src/session/session-manager.md) — _(no submodules)_- [transition](./src/transition/session-transition-manager.md) — _(no submodules)_- [session-transition-manager](./src/transition/session-transition-manager.md) — _(no submodules)_- [tree](./src/tree/session-tree.md) — _(no submodules)_- [session-tree](./src/tree/session-tree.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the session package. Codes are namespaced under `NET_SESSION` and registe… - [parent-state-bridge](./src/bridge/parent-state-bridge.md) — _(no submodules)_- [capacity](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [session-capacity-enforcer](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [election](./src/election/session-host-election.md) — _(no submodules)_- [session-host-election](./src/election/session-host-election.md) — _(no submodules)_- [plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [session-plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [registry](./src/registry/session-registry.md) — _(no submodules)_- [session-registry](./src/registry/session-registry.md) — _(no submodules)_- [router](./src/router/session-router.md) — _(no submodules)_- [session-router](./src/router/session-router.md) — _(no submodules)_- [session](./src/session/session-manager.md) — _(no submodules)_- [session-manager](./src/session/session-manager.md) — _(no submodules)_- [transition](./src/transition/session-transition-manager.md) — _(no submodules)_- [session-transition-manager](./src/transition/session-transition-manager.md) — _(no submodules)_- [tree](./src/tree/session-tree.md) — _(no submodules)_- [session-tree](./src/tree/session-tree.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the session package. Codes are namespaced under `NET_SESSION` and registe… - [parent-state-bridge](./src/bridge/parent-state-bridge.md) — _(no submodules)_- [capacity](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_ - [session-capacity-enforcer](./src/capacity/session-capacity-enforcer.md) — _(no submodules)_- [election](./src/election/session-host-election.md) — _(no submodules)_ - [session-host-election](./src/election/session-host-election.md) — _(no submodules)_- [plugin](./src/plugin/session-plugin.md) — _(no submodules)_ - [session-plugin](./src/plugin/session-plugin.md) — _(no submodules)_- [registry](./src/registry/session-registry.md) — _(no submodules)_ - [session-registry](./src/registry/session-registry.md) — _(no submodules)_- [router](./src/router/session-router.md) — _(no submodules)_ - [session-router](./src/router/session-router.md) — _(no submodules)_- [session](./src/session/session-manager.md) — _(no submodules)_ - [session-manager](./src/session/session-manager.md) — _(no submodules)_- [transition](./src/transition/session-transition-manager.md) — _(no submodules)_ - [session-transition-manager](./src/transition/session-transition-manager.md) — _(no submodules)_- [tree](./src/tree/session-tree.md) — _(no submodules)_ - [session-tree](./src/tree/session-tree.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the session package. Codes are namespaced under `NET_SESSION` and registe… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-simulation/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-simulation/README.md index c490f65..9cd14f3 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-simulation/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-simulation/README.md @@ -20,7 +20,9 @@ Deterministic virtual-network simulation framework for the Suaveplan mesh. `Netw - [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_ - [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… + - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_- [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_- [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… + - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_- [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_- [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_- [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_- [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… - [chaos-engine](./src/chaos/chaos-engine.md) — _(no submodules)_- [conditions](./src/conditions/network-condition-injector.md) — _(no submodules)_ - [network-condition-injector](./src/conditions/network-condition-injector.md) — _(no submodules)_- [plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_ - [simulation-plugin](./src/plugin/simulation-plugin.md) — _(no submodules)_- [scenario](./src/scenario/scenario-runner.md) — _(no submodules)_ - [scenario-runner](./src/scenario/scenario-runner.md) — _(no submodules)_- [simulator](./src/simulator/network-simulator.md) — _(no submodules)_ - [network-simulator](./src/simulator/network-simulator.md) — _(no submodules)_- [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_ - [virtual-node](./src/virtual-node/virtual-node.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the simulation package. Codes are namespaced under `NET_SIM` and register… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-state/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-state/README.md index bf246b2..b329a26 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-state/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-state/README.md @@ -26,7 +26,9 @@ Mesh-wide synchronized state for the Suaveplan network. Path-based `StateManager - [sync](./src/sync/state-sync-engine.md) — _(no submodules)_ - [state-sync-engine](./src/sync/state-sync-engine.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the state package. Codes are namespaced under `NET_STATE` and registered… + - [bloom-filter-comparator](./src/bloom/bloom-filter-comparator.md) — _(no submodules)_- [delta](./src/delta/delta-compressor.md) — _(no submodules)_- [delta-compressor](./src/delta/delta-compressor.md) — _(no submodules)_- [plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [state-plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [state-history-pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [state-reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [resource](./src/resource/resource-adapter.md) — _(no submodules)_- [resource-adapter](./src/resource/resource-adapter.md) — _(no submodules)_- [state](./src/state/state-manager.md) — _(no submodules)_- [state-manager](./src/state/state-manager.md) — _(no submodules)_- [strategy](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [path-strategy-registry](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [sync](./src/sync/state-sync-engine.md) — _(no submodules)_- [state-sync-engine](./src/sync/state-sync-engine.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the state package. Codes are namespaced under `NET_STATE` and registered… + - [bloom-filter-comparator](./src/bloom/bloom-filter-comparator.md) — _(no submodules)_- [delta](./src/delta/delta-compressor.md) — _(no submodules)_- [delta-compressor](./src/delta/delta-compressor.md) — _(no submodules)_- [plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [state-plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [state-history-pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [state-reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [resource](./src/resource/resource-adapter.md) — _(no submodules)_- [resource-adapter](./src/resource/resource-adapter.md) — _(no submodules)_- [state](./src/state/state-manager.md) — _(no submodules)_- [state-manager](./src/state/state-manager.md) — _(no submodules)_- [strategy](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [path-strategy-registry](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [sync](./src/sync/state-sync-engine.md) — _(no submodules)_- [state-sync-engine](./src/sync/state-sync-engine.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the state package. Codes are namespaced under `NET_STATE` and registered… - [bloom-filter-comparator](./src/bloom/bloom-filter-comparator.md) — _(no submodules)_- [delta](./src/delta/delta-compressor.md) — _(no submodules)_- [delta-compressor](./src/delta/delta-compressor.md) — _(no submodules)_- [plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [state-plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [state-history-pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [state-reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [resource](./src/resource/resource-adapter.md) — _(no submodules)_- [resource-adapter](./src/resource/resource-adapter.md) — _(no submodules)_- [state](./src/state/state-manager.md) — _(no submodules)_- [state-manager](./src/state/state-manager.md) — _(no submodules)_- [strategy](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [path-strategy-registry](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [sync](./src/sync/state-sync-engine.md) — _(no submodules)_- [state-sync-engine](./src/sync/state-sync-engine.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the state package. Codes are namespaced under `NET_STATE` and registered… - [bloom-filter-comparator](./src/bloom/bloom-filter-comparator.md) — _(no submodules)_- [delta](./src/delta/delta-compressor.md) — _(no submodules)_ - [delta-compressor](./src/delta/delta-compressor.md) — _(no submodules)_- [plugin](./src/plugin/state-plugin.md) — _(no submodules)_ - [state-plugin](./src/plugin/state-plugin.md) — _(no submodules)_- [pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_ - [state-history-pruner](./src/pruner/state-history-pruner.md) — _(no submodules)_- [reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_ - [state-reconciler](./src/reconciler/state-reconciler.md) — _(no submodules)_- [resource](./src/resource/resource-adapter.md) — _(no submodules)_ - [resource-adapter](./src/resource/resource-adapter.md) — _(no submodules)_- [state](./src/state/state-manager.md) — _(no submodules)_ - [state-manager](./src/state/state-manager.md) — _(no submodules)_- [strategy](./src/strategy/path-strategy-registry.md) — _(no submodules)_ - [path-strategy-registry](./src/strategy/path-strategy-registry.md) — _(no submodules)_- [sync](./src/sync/state-sync-engine.md) — _(no submodules)_ - [state-sync-engine](./src/sync/state-sync-engine.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the state package. Codes are namespaced under `NET_STATE` and registered… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-topology/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-topology/README.md index 34092f3..767a554 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-topology/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-topology/README.md @@ -16,7 +16,9 @@ Tiered mesh topology plugin: 3-tier `HierarchicalTopology` (Host / SubHost / Lea - [topology](./src/topology/hierarchical-topology.md) — _(no submodules)_ - [hierarchical-topology](./src/topology/hierarchical-topology.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-topology plugin. Three codes cover the surface: `INVALID_TIER` fo… + - [group-manager](./src/group/group-manager.md) — _(no submodules)_- [latency](./src/latency/latency-assigner.md) — _(no submodules)_- [latency-assigner](./src/latency/latency-assigner.md) — _(no submodules)_- [plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology-plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [hierarchical-topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-topology plugin. Three codes cover the surface: `INVALID_TIER` fo… + - [group-manager](./src/group/group-manager.md) — _(no submodules)_- [latency](./src/latency/latency-assigner.md) — _(no submodules)_- [latency-assigner](./src/latency/latency-assigner.md) — _(no submodules)_- [plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology-plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [hierarchical-topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-topology plugin. Three codes cover the surface: `INVALID_TIER` fo… - [group-manager](./src/group/group-manager.md) — _(no submodules)_- [latency](./src/latency/latency-assigner.md) — _(no submodules)_- [latency-assigner](./src/latency/latency-assigner.md) — _(no submodules)_- [plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology-plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [hierarchical-topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-topology plugin. Three codes cover the surface: `INVALID_TIER` fo… - [group-manager](./src/group/group-manager.md) — _(no submodules)_- [latency](./src/latency/latency-assigner.md) — _(no submodules)_ - [latency-assigner](./src/latency/latency-assigner.md) — _(no submodules)_- [plugin](./src/plugin/topology-plugin.md) — _(no submodules)_ - [topology-plugin](./src/plugin/topology-plugin.md) — _(no submodules)_- [topology](./src/topology/hierarchical-topology.md) — _(no submodules)_ - [hierarchical-topology](./src/topology/hierarchical-topology.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen registry of error codes for the network-plugin-topology plugin. Three codes cover the surface: `INVALID_TIER` fo… diff --git a/plugins/document-navigator/docs/networking/network/network-plugin-transport-manager/README.md b/plugins/document-navigator/docs/networking/network/network-plugin-transport-manager/README.md index 9a66a3b..097bb5d 100644 --- a/plugins/document-navigator/docs/networking/network/network-plugin-transport-manager/README.md +++ b/plugins/document-navigator/docs/networking/network/network-plugin-transport-manager/README.md @@ -27,10 +27,12 @@ Multi-transport orchestration for the Suaveplan mesh. Maintains a pool of regist - [session-continuity-guard](./src/recovery/session-continuity-guard.md) — Owns the session-state machine around the persistence buffer so callers cannot bypass the documented sequence: a sessio… - [bandwidth-conservator](./src/scheduler/bandwidth-conservator.md) — Implements `NET-124`: when the manager is told it has a constrained bandwidth budget, this module reports the recommend… - [battery-aware-scheduler](./src/scheduler/battery-aware-scheduler.md) — Reduces keepalive frequency and prefers low-power transports when the host device is running on battery. Implements `NE… -- [preemptive-selector](./src/selector/preemptive-selector.md) — Decides whether to swap a still-functioning transport for a healthier alternative *before* the current one drops to bel… +- [preemptive-selector](./src/selector/preemptive-selector.md) — Decides whether to swap a still-functioning transport for a healthier alternative _before_ the current one drops to bel… - [transport-selector](./src/selector/transport-selector.md) — Translates a `(priority, commonCapabilities)` ask into a concrete, ordered list of transports drawn from the live pool.… - [error-codes](./src/error-codes.md) — Frozen registry of every error code raised by the transport-manager package. Codes are namespaced under `NET_TM` and re… + - [quality-trend-analyzer](./src/analyzer/quality-trend-analyzer.md) — _(no submodules)_- [balancer](./src/balancer/round-robin-balancer.md) — _(no submodules)_- [round-robin-balancer](./src/balancer/round-robin-balancer.md) — _(no submodules)_- [health](./src/health/transport-health-monitor.md) — _(no submodules)_- [transport-health-monitor](./src/health/transport-health-monitor.md) — _(no submodules)_- [negotiator](./src/negotiator/capability-negotiator.md) — _(no submodules)_- [capability-negotiator](./src/negotiator/capability-negotiator.md) — _(no submodules)_- [persistence](./src/persistence/session-persistence-buffer.md) — _(no submodules)_- [session-persistence-buffer](./src/persistence/session-persistence-buffer.md) — _(no submodules)_- [plugin](./src/plugin/transport-manager-plugin.md) — _(no submodules)_- [transport-manager-plugin](./src/plugin/transport-manager-plugin.md) — _(no submodules)_- [pool](./src/pool/transport-pool.md) — _(no submodules)_- [transport-pool](./src/pool/transport-pool.md) — _(no submodules)_- [priority](./src/priority/priority-router.md) — _(no submodules)_- [priority-router](./src/priority/priority-router.md) — _(no submodules)_- [connection-recovery-manager](./src/recovery/connection-recovery-manager.md) — Generates exponential-backoff delays with bounded full-jitter so the manager can pace reconnection attempts without thu… + - [session-continuity-guard](./src/recovery/session-continuity-guard.md) — Owns the session-state machine around the persistence buffer so callers cannot bypass the documented sequence: a sessio… - [bandwidth-conservator](./src/scheduler/bandwidth-conservator.md) — Implements `NET-124`: when the manager is told it has a constrained bandwidth budget, this module reports the recommend… - [battery-aware-scheduler](./src/scheduler/battery-aware-scheduler.md) — Reduces keepalive frequency and prefers low-power transports when the host device is running on battery. Implements `NE… diff --git a/plugins/document-navigator/docs/networking/network/network-testing/README.md b/plugins/document-navigator/docs/networking/network/network-testing/README.md index ae6e55d..785abab 100644 --- a/plugins/document-navigator/docs/networking/network/network-testing/README.md +++ b/plugins/document-navigator/docs/networking/network/network-testing/README.md @@ -17,4 +17,3 @@ - [common](./src/types/common.md) — This module declares the public type surface of `@suaveplan/network-testing`. All interfaces are pure types with no run… - [error-codes](./src/error-codes.md) — This module defines the canonical error taxonomy for the `@suaveplan/network-testing` package. All test-failure conditi… - diff --git a/plugins/document-navigator/docs/networking/network/network-transport-hyperswarm/README.md b/plugins/document-navigator/docs/networking/network/network-transport-hyperswarm/README.md index 217a252..76c5751 100644 --- a/plugins/document-navigator/docs/networking/network/network-transport-hyperswarm/README.md +++ b/plugins/document-navigator/docs/networking/network/network-transport-hyperswarm/README.md @@ -29,7 +29,9 @@ This package is **server-only** — it depends on the `hyperswarm` npm package, - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [connections](./src/connections/connections.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [connections](./src/connections/connections.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [connections](./src/connections/connections.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [connections](./src/connections/connections.md) — _(no submodules)_- [discovery](./src/discovery/discovery.md) — _(no submodules)_ - [discovery](./src/discovery/discovery.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [messaging](./src/messaging/messaging.md) — _(no submodules)_ - [messaging](./src/messaging/messaging.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [reputation](./src/reputation/reputation.md) — _(no submodules)_ - [reputation](./src/reputation/reputation.md) — _(no submodules)_- [security](./src/security/security.md) — _(no submodules)_ - [security](./src/security/security.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/networking/network/network-transport-libp2p/README.md b/plugins/document-navigator/docs/networking/network/network-transport-libp2p/README.md index f9c344c..741e564 100644 --- a/plugins/document-navigator/docs/networking/network/network-transport-libp2p/README.md +++ b/plugins/document-navigator/docs/networking/network/network-transport-libp2p/README.md @@ -24,7 +24,9 @@ Universal libp2p `Transport` for `@suaveplan/network`. Composes WebSockets or We - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [connection](./src/connection/connection.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [frame](./src/messaging/frame.md) — Implements length-prefixed binary framing for envelopes traversing a libp2p stream. Each frame is a 4-byte big-endian l… + - [peer-message](./src/messaging/peer-message.md) — Defines the wire-format codec for envelopes flowing between libp2p peers. Encoding uses the `@suaveplan/serialize` Mess… - [send](./src/messaging/send.md) — Outbound stream-based envelope shipping over libp2p. Each `send` opens a new protocol stream, writes a single framed en… - [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [streams](./src/streams/streams.md) — _(no submodules)_- [streams](./src/streams/streams.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [connection](./src/connection/connection.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [frame](./src/messaging/frame.md) — Implements length-prefixed binary framing for envelopes traversing a libp2p stream. Each frame is a 4-byte big-endian l… @@ -37,6 +39,7 @@ Universal libp2p `Transport` for `@suaveplan/network`. Composes WebSockets or We - [peer-message](./src/messaging/peer-message.md) — Defines the wire-format codec for envelopes flowing between libp2p peers. Encoding uses the `@suaveplan/serialize` Mess… - [send](./src/messaging/send.md) — Outbound stream-based envelope shipping over libp2p. Each `send` opens a new protocol stream, writes a single framed en… - [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [streams](./src/streams/streams.md) — _(no submodules)_ - [streams](./src/streams/streams.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/networking/network/network-transport-standby/README.md b/plugins/document-navigator/docs/networking/network/network-transport-standby/README.md index 3075375..3777473 100644 --- a/plugins/document-navigator/docs/networking/network/network-transport-standby/README.md +++ b/plugins/document-navigator/docs/networking/network/network-transport-standby/README.md @@ -25,7 +25,9 @@ in ~10 ms instead of the typical 1-3 s ICE/DTLS handshake. - [transport](./src/transport/transport.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/monitor.md) — _(no submodules)_- [monitor](./src/health/monitor.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/monitor.md) — _(no submodules)_- [monitor](./src/health/monitor.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/monitor.md) — _(no submodules)_- [monitor](./src/health/monitor.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/monitor.md) — _(no submodules)_ - [monitor](./src/health/monitor.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [pool](./src/pool/pool.md) — _(no submodules)_ - [pool](./src/pool/pool.md) — _(no submodules)_- [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_ - [reconnect](./src/reconnect/reconnect.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Module map - [`src/types/types.md`](./src/types/types.md) — shared types. diff --git a/plugins/document-navigator/docs/networking/network/network-transport-webrtc/README.md b/plugins/document-navigator/docs/networking/network/network-transport-webrtc/README.md index 221fb90..5302169 100644 --- a/plugins/document-navigator/docs/networking/network/network-transport-webrtc/README.md +++ b/plugins/document-navigator/docs/networking/network/network-transport-webrtc/README.md @@ -24,7 +24,9 @@ WebRTC transport plugin for mesh networking. - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-transport-webrtc` package. All runtime failures with… + - [data-channel-manager](./src/data-channel/data-channel-manager.md) — _(no submodules)_- [ice](./src/ice/ice-manager.md) — _(no submodules)_- [ice-manager](./src/ice/ice-manager.md) — _(no submodules)_- [mesh](./src/mesh/webrtc-mesh.md) — _(no submodules)_- [webrtc-mesh](./src/mesh/webrtc-mesh.md) — _(no submodules)_- [ping](./src/ping/ping-manager.md) — _(no submodules)_- [ping-manager](./src/ping/ping-manager.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signaling-client](./src/signaling/signaling-client.md) — Defines the structural contract for any signaling channel used by the WebRTC plugin to exchange offers, answers, and IC… + - [websocket-signaling-client](./src/signaling/websocket-signaling-client.md) — Concrete `SignalingClient` implementation backed by a WebSocket. Handles the boring-but-load-bearing pieces of any sign… - [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network-transport-webrtc` package. All runtime failures with… - [data-channel-manager](./src/data-channel/data-channel-manager.md) — _(no submodules)_- [ice](./src/ice/ice-manager.md) — _(no submodules)_- [ice-manager](./src/ice/ice-manager.md) — _(no submodules)_- [mesh](./src/mesh/webrtc-mesh.md) — _(no submodules)_- [webrtc-mesh](./src/mesh/webrtc-mesh.md) — _(no submodules)_- [ping](./src/ping/ping-manager.md) — _(no submodules)_- [ping-manager](./src/ping/ping-manager.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [signaling-client](./src/signaling/signaling-client.md) — Defines the structural contract for any signaling channel used by the WebRTC plugin to exchange offers, answers, and IC… diff --git a/plugins/document-navigator/docs/networking/network/network-transport-websockets/README.md b/plugins/document-navigator/docs/networking/network/network-transport-websockets/README.md index 1077fed..018cd7f 100644 --- a/plugins/document-navigator/docs/networking/network/network-transport-websockets/README.md +++ b/plugins/document-navigator/docs/networking/network/network-transport-websockets/README.md @@ -24,7 +24,9 @@ WebSocket client utilities with typed message framing, connection lifecycle mana - [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Frozen error-code registry for the `@suaveplan/network-transport-websockets` package. Centralises every failure classif… + - [native-adapter](./src/adapters/native-adapter.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the `@suaveplan/network-transport-websockets` package. Centralises every failure classif… + - [native-adapter](./src/adapters/native-adapter.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the `@suaveplan/network-transport-websockets` package. Centralises every failure classif… - [native-adapter](./src/adapters/native-adapter.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_- [common](./src/types/common.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the `@suaveplan/network-transport-websockets` package. Centralises every failure classif… - [native-adapter](./src/adapters/native-adapter.md) — _(no submodules)_- [client](./src/core/client/client.md) — _(no submodules)_ - [client](./src/core/client/client.md) — _(no submodules)_- [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_ - [heartbeat](./src/core/heartbeat/heartbeat.md) — _(no submodules)_- [queue](./src/core/queue/queue.md) — _(no submodules)_ - [queue](./src/core/queue/queue.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [types](./src/types/common.md) — _(no submodules)_ - [common](./src/types/common.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Frozen error-code registry for the `@suaveplan/network-transport-websockets` package. Centralises every failure classif… diff --git a/plugins/document-navigator/docs/networking/network/network-trystero-server/README.md b/plugins/document-navigator/docs/networking/network/network-trystero-server/README.md index 7b7222b..ac8f5ad 100644 --- a/plugins/document-navigator/docs/networking/network/network-trystero-server/README.md +++ b/plugins/document-navigator/docs/networking/network/network-trystero-server/README.md @@ -24,19 +24,22 @@ daemon's published `relayUrl` for relay-backed P2P signaling. - [server](./src/server/server.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… - - [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… - - [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… - - [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… - - [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… - - [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… - - [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_ - [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_ - [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… - - [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… - - [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… - - [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + +- [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… +- [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… +- [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… +- [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_- [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… +- [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… +- [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_ - [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [server](./src/server/server.md) — _(no submodules)_ - [broker-select](./src/server/broker-select.md) — The broker-select module resolves which broker factory the daemon hosts and bundles the matching mode-specific options… +- [health-listener](./src/server/health-listener.md) — The health-listener helper extracts the `http.Server.listen` promise adapter out of the main daemon module so the daemo… +- [peer-events](./src/server/peer-events.md) — The peer-events module owns the daemon-side wiring of broker lifecycle callbacks into the daemon's connection table, OT… +- [server](./src/server/server.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Why this package - **One daemon, one mode.** Construction-time selection between diff --git a/plugins/document-navigator/docs/networking/network/network/README.md b/plugins/document-navigator/docs/networking/network/network/README.md index 3078d11..5b50114 100644 --- a/plugins/document-navigator/docs/networking/network/network/README.md +++ b/plugins/document-navigator/docs/networking/network/network/README.md @@ -28,7 +28,9 @@ Core network interfaces and runtime for the mesh system. - [version](./src/version/version.md) — _(no submodules)_ - [version](./src/version/version.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network` package. All runtime failures within the network co… + - [bus](./src/bus/bus.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network` package. All runtime failures within the network co… + - [bus](./src/bus/bus.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network` package. All runtime failures within the network co… - [bus](./src/bus/bus.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network` package. All runtime failures within the network co… - [bus](./src/bus/bus.md) — _(no submodules)_- [envelope](./src/envelope/envelope.md) — _(no submodules)_ - [envelope](./src/envelope/envelope.md) — _(no submodules)_- [events](./src/events/events.md) — _(no submodules)_ - [events](./src/events/events.md) — _(no submodules)_- [manager](./src/manager/manager.md) — _(no submodules)_ - [manager](./src/manager/manager.md) — _(no submodules)_- [node](./src/node/node.md) — _(no submodules)_ - [node](./src/node/node.md) — _(no submodules)_- [plugin](./src/plugin/plugin.md) — _(no submodules)_ - [plugin](./src/plugin/plugin.md) — _(no submodules)_- [router](./src/router/router.md) — _(no submodules)_ - [router](./src/router/router.md) — _(no submodules)_- [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_ - [timestamp](./src/timestamp/timestamp.md) — _(no submodules)_- [transport](./src/transport/transport.md) — _(no submodules)_ - [transport](./src/transport/transport.md) — _(no submodules)_- [version](./src/version/version.md) — _(no submodules)_ - [version](./src/version/version.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the stable error-code registry for the `@suaveplan/network` package. All runtime failures within the network co… @@ -121,4 +123,3 @@ See the per-module documentation in `src/`: ## Implementation Notes The network core is designed for loose coupling. Plugins communicate via the `NetworkBus` using typed events, not direct imports. This allows any plugin to be swapped out without changing other plugins. All envelopes are validated with Zod before routing, ensuring that malformed messages cannot propagate through the mesh. The `PluginManager` enforces deterministic lifecycle ordering to prevent resource leaks and race conditions. - diff --git a/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/README.md b/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/README.md index 3790698..c096c1c 100644 --- a/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/README.md +++ b/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/README.md @@ -30,9 +30,11 @@ Storybook isolation; the lifecycle + state machine lives in the - [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_ - wire-peer-events — Side-effect helper that subscrib… - [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_ - wire-peer-events — Side-effect helper that subscrib… - [wire-peer-events](./src/hooks/use-libp2p-demo/wire-peer-events.md) — Side-effect helper that subscribes to a `Libp2pDemoNode`'s three peer events (`peer:discovery`, `peer:connect`, `peer:d… + - [libp2p-demo](./src/components/libp2p-demo/libp2p-demo.md) — _(no submodules)_- [log-panel](./src/components/log-panel/log-panel.md) — _(no submodules)_- [log-panel](./src/components/log-panel/log-panel.md) — _(no submodules)_- [node-controls](./src/components/node-controls/node-controls.md) — _(no submodules)_- [node-controls](./src/components/node-controls/node-controls.md) — _(no submodules)_- [node-status-panel](./src/components/node-status-panel/node-status-panel.md) — _(no submodules)_- [node-status-panel](./src/components/node-status-panel/node-status-panel.md) — _(no submodules)_- [peer-interaction-panel](./src/components/peer-interaction-panel/peer-interaction-panel.md) — _(no submodules)_- [peer-interaction-panel](./src/components/peer-interaction-panel/peer-interaction-panel.md) — _(no submodules)_- [peer-list](./src/components/peer-list/peer-list.md) — _(no submodules)_- [peer-list](./src/components/peer-list/peer-list.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_- wire-peer-events — Side-effect helper that subscrib… - - [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_- wire-peer-events — Side-effect helper that subscrib… - - [wire-peer-events](./src/hooks/use-libp2p-demo/wire-peer-events.md) — Side-effect helper that subscribes to a `Libp2pDemoNode`'s three peer events (`peer:discovery`, `peer:connect`, `peer:d… + +- [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_- wire-peer-events — Side-effect helper that subscrib… +- [wire-peer-events](./src/hooks/use-libp2p-demo/wire-peer-events.md) — Side-effect helper that subscribes to a `Libp2pDemoNode`'s three peer events (`peer:discovery`, `peer:connect`, `peer:d… - [libp2p-demo](./src/components/libp2p-demo/libp2p-demo.md) — _(no submodules)_- [log-panel](./src/components/log-panel/log-panel.md) — _(no submodules)_- [log-panel](./src/components/log-panel/log-panel.md) — _(no submodules)_- [node-controls](./src/components/node-controls/node-controls.md) — _(no submodules)_- [node-controls](./src/components/node-controls/node-controls.md) — _(no submodules)_- [node-status-panel](./src/components/node-status-panel/node-status-panel.md) — _(no submodules)_- [node-status-panel](./src/components/node-status-panel/node-status-panel.md) — _(no submodules)_- [peer-interaction-panel](./src/components/peer-interaction-panel/peer-interaction-panel.md) — _(no submodules)_- [peer-interaction-panel](./src/components/peer-interaction-panel/peer-interaction-panel.md) — _(no submodules)_- [peer-list](./src/components/peer-list/peer-list.md) — _(no submodules)_- [peer-list](./src/components/peer-list/peer-list.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_- wire-peer-events — Side-effect helper that subscrib… - [use-libp2p-demo](./src/hooks/use-libp2p-demo/use-libp2p-demo.md) — _(no submodules)_- wire-peer-events — Side-effect helper that subscrib… - [wire-peer-events](./src/hooks/use-libp2p-demo/wire-peer-events.md) — Side-effect helper that subscribes to a `Libp2pDemoNode`'s three peer events (`peer:discovery`, `peer:connect`, `peer:d… diff --git a/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/src/hooks/use-libp2p-demo/use-libp2p-demo.md b/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/src/hooks/use-libp2p-demo/use-libp2p-demo.md index 15a5dd2..9807c20 100644 --- a/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/src/hooks/use-libp2p-demo/use-libp2p-demo.md +++ b/plugins/document-navigator/docs/networking/network/react-network-libp2p-demo/src/hooks/use-libp2p-demo/use-libp2p-demo.md @@ -3,6 +3,7 @@ _(no submodules)_ - wire-peer-events — Side-effect helper that subscrib… + - [wire-peer-events](./wire-peer-events.md) — Side-effect helper that subscribes to a `Libp2pDemoNode`'s three peer events (`peer:discovery`, `peer:connect`, `peer:d… - wire-peer-events — Side-effect helper that subscrib… diff --git a/plugins/document-navigator/docs/networking/network/service-discovery/README.md b/plugins/document-navigator/docs/networking/network/service-discovery/README.md index 5edc3c1..a9d3fac 100644 --- a/plugins/document-navigator/docs/networking/network/service-discovery/README.md +++ b/plugins/document-navigator/docs/networking/network/service-discovery/README.md @@ -17,7 +17,9 @@ contract consumed by every Wave-2 `network-discovery-*` plugin. - [otel](./src/otel/otel.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [service-registry](./src/core/service-registry/service-registry.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [service-registry](./src/core/service-registry/service-registry.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [service-registry](./src/core/service-registry/service-registry.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [service-registry](./src/core/service-registry/service-registry.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/networking/network/websocket-gateway/README.md b/plugins/document-navigator/docs/networking/network/websocket-gateway/README.md index 55a2593..6f3c82b 100644 --- a/plugins/document-navigator/docs/networking/network/websocket-gateway/README.md +++ b/plugins/document-navigator/docs/networking/network/websocket-gateway/README.md @@ -35,20 +35,22 @@ Server-tier WebSocket gateway daemon with rooms, presence tracking, and channel- - [room](./src/room/room.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [channel](./src/channel/channel.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [gateway](./src/gateway/gateway.md) — _(no submodules)_- heartbeat — Builds the heartbeat sweep that the dae… - - [access-gate](./src/gateway/access-gate.md) — Central rate-limit / authorization / audit pipeline. The gateway calls `gate(...)` once before every mutating action (r… - - [channel-manager](./src/gateway/channel-manager.md) — Owns the lifecycle of every `Channel` registered on a gateway instance. Clients never see a raw `Channel` — every chann… - - [channel-ops](./src/gateway/channel-ops.md) — Free-function module containing every channel-level mutation the gateway exposes — `subscribeToChannel`, `unsubscribeFr… - - [client-lifecycle](./src/gateway/client-lifecycle.md) — Free-function module containing `connectClient` and `disconnectClient` — every state mutation that happens when a clien… - - [defaults](./src/gateway/defaults.md) — The four deferred-dependency hooks (`AuthVerifier`, `AuthorizationCheck`, `RateLimitGate`, `AuditLogger`) need sensible… - - [gateway-deps](./src/gateway/gateway-deps.md) — Centralises the cross-module dependency-bundle construction the daemon needs once at construction time. Without this mo… - - [gateway](./src/gateway/gateway.md) — _(no submodules)_- heartbeat — Builds the heartbeat sweep that the dae… - - [heartbeat](./src/gateway/heartbeat.md) — Builds the heartbeat sweep that the daemon installs while running. The sweep periodically calls `PresenceTracker.detect… - - [lifecycle](./src/gateway/lifecycle.md) — Centralises three pieces of lifecycle plumbing the daemon needs but doesn't want inline: WS-server boot, start-completi… - - [message-factory](./src/gateway/message-factory.md) — Tiny factory that produces immutable `Message` envelopes for every outbound dispatch the gateway emits. The factory thr… - - [presence-fire](./src/gateway/presence-fire.md) — Single side-effect helper that fans out one presence transition (`join` / `leave` / `update`) to every observation sink… - - [presence-webhook](./src/gateway/presence-webhook.md) — Best-effort, signed delivery of a single presence event to a configured webhook receiver. The gateway calls this functi… - - [room-ops](./src/gateway/room-ops.md) — Free-function module containing every room-level mutation the gateway exposes — create / delete / join / leave / broadc… + +- [access-gate](./src/gateway/access-gate.md) — Central rate-limit / authorization / audit pipeline. The gateway calls `gate(...)` once before every mutating action (r… +- [channel-manager](./src/gateway/channel-manager.md) — Owns the lifecycle of every `Channel` registered on a gateway instance. Clients never see a raw `Channel` — every chann… +- [channel-ops](./src/gateway/channel-ops.md) — Free-function module containing every channel-level mutation the gateway exposes — `subscribeToChannel`, `unsubscribeFr… +- [client-lifecycle](./src/gateway/client-lifecycle.md) — Free-function module containing `connectClient` and `disconnectClient` — every state mutation that happens when a clien… +- [defaults](./src/gateway/defaults.md) — The four deferred-dependency hooks (`AuthVerifier`, `AuthorizationCheck`, `RateLimitGate`, `AuditLogger`) need sensible… +- [gateway-deps](./src/gateway/gateway-deps.md) — Centralises the cross-module dependency-bundle construction the daemon needs once at construction time. Without this mo… +- [gateway](./src/gateway/gateway.md) — _(no submodules)_- heartbeat — Builds the heartbeat sweep that the dae… +- [heartbeat](./src/gateway/heartbeat.md) — Builds the heartbeat sweep that the daemon installs while running. The sweep periodically calls `PresenceTracker.detect… +- [lifecycle](./src/gateway/lifecycle.md) — Centralises three pieces of lifecycle plumbing the daemon needs but doesn't want inline: WS-server boot, start-completi… +- [message-factory](./src/gateway/message-factory.md) — Tiny factory that produces immutable `Message` envelopes for every outbound dispatch the gateway emits. The factory thr… +- [presence-fire](./src/gateway/presence-fire.md) — Single side-effect helper that fans out one presence transition (`join` / `leave` / `update`) to every observation sink… +- [presence-webhook](./src/gateway/presence-webhook.md) — Best-effort, signed delivery of a single presence event to a configured webhook receiver. The gateway calls this functi… +- [room-ops](./src/gateway/room-ops.md) — Free-function module containing every room-level mutation the gateway exposes — create / delete / join / leave / broadc… - [health](./src/health/health.md) — _(no submodules)_- [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_- [presence](./src/presence/presence.md) — _(no submodules)_- [presence](./src/presence/presence.md) — _(no submodules)_- [room](./src/room/room.md) — _(no submodules)_- [room](./src/room/room.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [channel](./src/channel/channel.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [gateway](./src/gateway/gateway.md) — _(no submodules)_- heartbeat — Builds the heartbeat sweep that the dae… - [access-gate](./src/gateway/access-gate.md) — Central rate-limit / authorization / audit pipeline. The gateway calls `gate(...)` once before every mutating action (r… - [channel-manager](./src/gateway/channel-manager.md) — Owns the lifecycle of every `Channel` registered on a gateway instance. Clients never see a raw `Channel` — every chann… @@ -90,6 +92,7 @@ Server-tier WebSocket gateway daemon with rooms, presence tracking, and channel- - [presence-webhook](./src/gateway/presence-webhook.md) — Best-effort, signed delivery of a single presence event to a configured webhook receiver. The gateway calls this functi… - [room-ops](./src/gateway/room-ops.md) — Free-function module containing every room-level mutation the gateway exposes — create / delete / join / leave / broadc… - [health](./src/health/health.md) — _(no submodules)_ - [health](./src/health/health.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [presence](./src/presence/presence.md) — _(no submodules)_ - [presence](./src/presence/presence.md) — _(no submodules)_- [room](./src/room/room.md) — _(no submodules)_ - [room](./src/room/room.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/networking/network/websocket-gateway/src/gateway/gateway.md b/plugins/document-navigator/docs/networking/network/websocket-gateway/src/gateway/gateway.md index 24456da..8b86349 100644 --- a/plugins/document-navigator/docs/networking/network/websocket-gateway/src/gateway/gateway.md +++ b/plugins/document-navigator/docs/networking/network/websocket-gateway/src/gateway/gateway.md @@ -3,6 +3,7 @@ _(no submodules)_ - heartbeat — Builds the heartbeat sweep that the dae… + - [heartbeat](./heartbeat.md) — Builds the heartbeat sweep that the daemon installs while running. The sweep periodically calls `PresenceTracker.detect… - [lifecycle](./lifecycle.md) — Centralises three pieces of lifecycle plumbing the daemon needs but doesn't want inline: WS-server boot, start-completi… - [message-factory](./message-factory.md) — Tiny factory that produces immutable `Message` envelopes for every outbound dispatch the gateway emits. The factory thr… diff --git a/plugins/document-navigator/docs/observability/monitor/analytics-browser/README.md b/plugins/document-navigator/docs/observability/monitor/analytics-browser/README.md index 2c46ee2..c7db71e 100644 --- a/plugins/document-navigator/docs/observability/monitor/analytics-browser/README.md +++ b/plugins/document-navigator/docs/observability/monitor/analytics-browser/README.md @@ -201,4 +201,3 @@ tracker.events.on("flush", ({ eventCount, success, latencyMs }) => {}); ``` Constructor signature, public method names, and behavioural semantics of `track` / `identify` / `flush` / `shutdown` are preserved. - diff --git a/plugins/document-navigator/docs/observability/monitor/audit-logging/README.md b/plugins/document-navigator/docs/observability/monitor/audit-logging/README.md index ce780c4..5399ec0 100644 --- a/plugins/document-navigator/docs/observability/monitor/audit-logging/README.md +++ b/plugins/document-navigator/docs/observability/monitor/audit-logging/README.md @@ -19,7 +19,9 @@ Tamper-proof, GDPR-compliant audit logging for Suaveplan. Provides a cryptograph - [audit-error](./src/errors/audit-error.md) — _(no submodules)_ - [schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_ - [audit-logging.schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_ + - [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [errors](./src/errors/audit-error.md) — _(no submodules)_- [audit-error](./src/errors/audit-error.md) — _(no submodules)_- [schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_- [audit-logging.schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [errors](./src/errors/audit-error.md) — _(no submodules)_- [audit-error](./src/errors/audit-error.md) — _(no submodules)_- [schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_- [audit-logging.schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [errors](./src/errors/audit-error.md) — _(no submodules)_- [audit-error](./src/errors/audit-error.md) — _(no submodules)_- [schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_- [audit-logging.schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_- [memory](./src/adapters/memory/memory.md) — _(no submodules)_- [storage](./src/adapters/storage/storage.md) — _(no submodules)_ - [storage](./src/adapters/storage/storage.md) — _(no submodules)_- [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_ - [audit-logger](./src/core/audit-logger/audit-logger.md) — _(no submodules)_- [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_ - [chain-integrity](./src/core/chain-integrity/chain-integrity.md) — _(no submodules)_- [errors](./src/errors/audit-error.md) — _(no submodules)_ - [audit-error](./src/errors/audit-error.md) — _(no submodules)_- [schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_ - [audit-logging.schemas](./src/schemas/audit-logging.schemas.md) — _(no submodules)_ + ## Features - **AuditLogger** — orchestrates log, query, verify, export, and retention with injectable dependencies diff --git a/plugins/document-navigator/docs/observability/monitor/health-check/README.md b/plugins/document-navigator/docs/observability/monitor/health-check/README.md index 4533903..52debc3 100644 --- a/plugins/document-navigator/docs/observability/monitor/health-check/README.md +++ b/plugins/document-navigator/docs/observability/monitor/health-check/README.md @@ -64,4 +64,3 @@ const { statusCode, body } = await builder.health(); ## License MIT - diff --git a/plugins/document-navigator/docs/observability/monitor/logger/README.md b/plugins/document-navigator/docs/observability/monitor/logger/README.md index 491ee81..6216b9b 100644 --- a/plugins/document-navigator/docs/observability/monitor/logger/README.md +++ b/plugins/document-navigator/docs/observability/monitor/logger/README.md @@ -36,19 +36,22 @@ Enterprise-grade structured logger for Suaveplan. Provides a full pipeline: leve - [sink](./src/sink/sink.md) — _(no submodules)_ - [storage](./src/storage/storage-logger.md) — _(no submodules)_ - [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_ + - [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_- [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_- [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_- [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_- [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_- [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_- [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… - - [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… - - [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… - - [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_- [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_- [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_- [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_- [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_- [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_- [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_- [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_- [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… - - [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… - - [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… - - [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_- [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_- [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_- [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_- [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_- [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_- [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_- [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_- [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… - - [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… - - [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… - - [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_- [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_- [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_ - [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_ - [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_ - [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_ - [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_ - [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_ - [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_ - [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_ - [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_ - [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_ - [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… - - [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… - - [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… - - [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_ - [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_ + +- [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… +- [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… +- [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_- [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_- [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_- [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_- [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_- [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_- [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_- [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_- [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… +- [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… +- [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… +- [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_- [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_- [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_- [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_- [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_- [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_- [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_- [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_- [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… +- [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… +- [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… +- [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_- [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_- [abstract-logger](./src/abstract/abstract-logger.md) — _(no submodules)_- [console](./src/console/console-logger.md) — _(no submodules)_ - [console-logger](./src/console/console-logger.md) — _(no submodules)_- [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_ - [error-bridge](./src/error-bridge/error-bridge.md) — _(no submodules)_- [errors](./src/errors/logger-error.md) — _(no submodules)_ - [logger-error](./src/errors/logger-error.md) — _(no submodules)_- [event](./src/event/event-logger.md) — _(no submodules)_ - [event-logger](./src/event/event-logger.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_ - [init](./src/init/init.md) — _(no submodules)_- [otel](./src/otel/otel-context.md) — _(no submodules)_ - [otel-context](./src/otel/otel-context.md) — _(no submodules)_- [record](./src/record/log-record.md) — _(no submodules)_ - [log-record](./src/record/log-record.md) — _(no submodules)_- [redaction](./src/redaction/redaction.md) — _(no submodules)_ - [redaction](./src/redaction/redaction.md) — _(no submodules)_- [sampling](./src/sampling/sampling.md) — _(no submodules)_ - [sampling](./src/sampling/sampling.md) — _(no submodules)_- [sink](./src/sink/sink.md) — _(no submodules)_ - [buffered-sink](./src/sink/buffered-sink.md) — `BufferedSink` is an in-memory queuing wrapper around any `Sink` implementation. It decouples the hot path of log recor… +- [console-sink](./src/sink/console-sink.md) — `ConsoleSink` is the human-readable terminal output sink for `@suaveplan/logger`. It formats each `LogRecord` into a si… +- [json-sink](./src/sink/json-sink.md) — `JsonSink` is the machine-readable structured output sink for `@suaveplan/logger`. It serialises each `LogRecord` to a… +- [sink](./src/sink/sink.md) — _(no submodules)_- [storage](./src/storage/storage-logger.md) — _(no submodules)_ - [storage-logger](./src/storage/storage-logger.md) — _(no submodules)_ + ## Features - **Structured logging** — `LogRecord` with level, message, ISO timestamp, context bag, trace IDs diff --git a/plugins/document-navigator/docs/observability/monitor/opentelemetry/README.md b/plugins/document-navigator/docs/observability/monitor/opentelemetry/README.md index fc919c4..87fef85 100644 --- a/plugins/document-navigator/docs/observability/monitor/opentelemetry/README.md +++ b/plugins/document-navigator/docs/observability/monitor/opentelemetry/README.md @@ -18,7 +18,9 @@ OpenTelemetry SDK setup and configuration helpers for Suaveplan. Provides batter - [metrics-utils](./src/utils/metrics-utils.md) — Provides thin factory and recording helpers that wrap the `@opentelemetry/api` metrics API with sensible defaults and e… - [resource](./src/utils/resource.md) — Builds a frozen OpenTelemetry resource attribute map from service identity configuration fields. Resource attributes ar… - [span-utils](./src/utils/span-utils.md) — Provides ergonomic helper functions for working with OpenTelemetry spans. Rather than writing the same try/catch/finall… + - [propagation](./src/core/propagation/propagation.md) — _(no submodules)_- [noop-sdk](./src/core/sdk/noop-sdk.md) — Provides `NoopSdk`, a zero-dependency implementation of the `OtelSdk` interface that delegates all tracer and meter loo… + - [sdk-factory](./src/core/sdk/sdk-factory.md) — Provides the `createSdk` factory function — the primary entry point for constructing an `OtelSdk` instance from a valid… - [errors](./src/errors/opentelemetry-error.md) — _(no submodules)_- [opentelemetry-error](./src/errors/opentelemetry-error.md) — _(no submodules)_- [schemas](./src/schemas/otel-config.schema.md) — _(no submodules)_- [otel-config.schema](./src/schemas/otel-config.schema.md) — _(no submodules)_- [metrics-utils](./src/utils/metrics-utils.md) — Provides thin factory and recording helpers that wrap the `@opentelemetry/api` metrics API with sensible defaults and e… - [resource](./src/utils/resource.md) — Builds a frozen OpenTelemetry resource attribute map from service identity configuration fields. Resource attributes ar… diff --git a/plugins/document-navigator/docs/persistence/cache/cache-redis/README.md b/plugins/document-navigator/docs/persistence/cache/cache-redis/README.md index 0ecd576..239943a 100644 --- a/plugins/document-navigator/docs/persistence/cache/cache-redis/README.md +++ b/plugins/document-navigator/docs/persistence/cache/cache-redis/README.md @@ -77,4 +77,3 @@ So `RedisCache` talks to Redis directly via `RedisLike`, and `cache-storage` is | `@suaveplan/error` | `defineCodes`, `SuaveplanError`. | | `@suaveplan/types` | `EventBusLike`. | | `tslib` | TypeScript helpers. | - diff --git a/plugins/document-navigator/docs/persistence/cache/cache-storage/README.md b/plugins/document-navigator/docs/persistence/cache/cache-storage/README.md index 5901adf..7355540 100644 --- a/plugins/document-navigator/docs/persistence/cache/cache-storage/README.md +++ b/plugins/document-navigator/docs/persistence/cache/cache-storage/README.md @@ -85,4 +85,3 @@ const cache = createCache("storage", { storage: new MemoryStorage() }); | `@suaveplan/storage` | `AbstractStorage` contract. | | `@suaveplan/types` | `EventBusLike`. | | `tslib` | TypeScript helpers. | - diff --git a/plugins/document-navigator/docs/persistence/cache/cache/README.md b/plugins/document-navigator/docs/persistence/cache/cache/README.md index 87ffdc1..46b9a68 100644 --- a/plugins/document-navigator/docs/persistence/cache/cache/README.md +++ b/plugins/document-navigator/docs/persistence/cache/cache/README.md @@ -21,7 +21,9 @@ Type-safe caching abstraction for Suaveplan. Provides `MemoryCache` with LRU/LFU - [memory-cache](./src/memory/memory-cache/memory-cache.md) — _(no submodules)_ - [common](./src/types/common.md) — Centralises all shared TypeScript types and interfaces for `@suaveplan/cache`. Keeping types in one file prevents circu… - [schemas](./src/types/schemas.md) — Provides Zod validation schemas for all public option types in `@suaveplan/cache`. These schemas run at configuration b… + - [abstract-cache](./src/abstract/abstract-cache/abstract-cache.md) — _(no submodules)_- [namespaced-cache](./src/abstract/namespaced-cache/namespaced-cache.md) — _(no submodules)_- [namespaced-cache](./src/abstract/namespaced-cache/namespaced-cache.md) — _(no submodules)_- [errors](./src/errors/cache-error.md) — _(no submodules)_- [cache-error](./src/errors/cache-error.md) — _(no submodules)_- [cache](./src/factory/cache/cache.md) — _(no submodules)_- [cache](./src/factory/cache/cache.md) — _(no submodules)_- [registry](./src/factory/registry/registry.md) — _(no submodules)_- [registry](./src/factory/registry/registry.md) — _(no submodules)_- [memory-cache](./src/memory/memory-cache/memory-cache.md) — _(no submodules)_- [memory-cache](./src/memory/memory-cache/memory-cache.md) — _(no submodules)_- [common](./src/types/common.md) — Centralises all shared TypeScript types and interfaces for `@suaveplan/cache`. Keeping types in one file prevents circu… + - [schemas](./src/types/schemas.md) — Provides Zod validation schemas for all public option types in `@suaveplan/cache`. These schemas run at configuration b… - [abstract-cache](./src/abstract/abstract-cache/abstract-cache.md) — _(no submodules)_- [namespaced-cache](./src/abstract/namespaced-cache/namespaced-cache.md) — _(no submodules)_- [namespaced-cache](./src/abstract/namespaced-cache/namespaced-cache.md) — _(no submodules)_- [errors](./src/errors/cache-error.md) — _(no submodules)_- [cache-error](./src/errors/cache-error.md) — _(no submodules)_- [cache](./src/factory/cache/cache.md) — _(no submodules)_- [cache](./src/factory/cache/cache.md) — _(no submodules)_- [registry](./src/factory/registry/registry.md) — _(no submodules)_- [registry](./src/factory/registry/registry.md) — _(no submodules)_- [memory-cache](./src/memory/memory-cache/memory-cache.md) — _(no submodules)_- [memory-cache](./src/memory/memory-cache/memory-cache.md) — _(no submodules)_- [common](./src/types/common.md) — Centralises all shared TypeScript types and interfaces for `@suaveplan/cache`. Keeping types in one file prevents circu… - [schemas](./src/types/schemas.md) — Provides Zod validation schemas for all public option types in `@suaveplan/cache`. These schemas run at configuration b… diff --git a/plugins/document-navigator/docs/persistence/database/db-sqlite/README.md b/plugins/document-navigator/docs/persistence/database/db-sqlite/README.md index 5c11c44..75da60f 100644 --- a/plugins/document-navigator/docs/persistence/database/db-sqlite/README.md +++ b/plugins/document-navigator/docs/persistence/database/db-sqlite/README.md @@ -30,10 +30,12 @@ Universal SQLite adapter for Suaveplan. Runs on `bun:sqlite` on the Bun server a - [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [unsafe](./src/unsafe/unsafe.md) — _(no submodules)_ - [unsafe](./src/unsafe/unsafe.md) — _(no submodules)_ + - adapter.wasm — Browser-runtime entry point for the…… - - [adapter.bun](./src/adapter/adapter.bun.md) — Bun-runtime entry point for the `./adapter` conditional export in `@suaveplan/db-sqlite`. When a bundler or the Bun run… - - [adapter](./src/adapter/adapter.md) — _(no submodules)_- adapter.wasm — Browser-runtime entry point for the…… - - [adapter.wasm](./src/adapter/adapter.wasm.md) — Browser-runtime entry point for the `./adapter` conditional export in `@suaveplan/db-sqlite`. When a browser bundler re… + +- [adapter.bun](./src/adapter/adapter.bun.md) — Bun-runtime entry point for the `./adapter` conditional export in `@suaveplan/db-sqlite`. When a bundler or the Bun run… +- [adapter](./src/adapter/adapter.md) — _(no submodules)_- adapter.wasm — Browser-runtime entry point for the…… +- [adapter.wasm](./src/adapter/adapter.wasm.md) — Browser-runtime entry point for the `./adapter` conditional export in `@suaveplan/db-sqlite`. When a browser bundler re… - [cache](./src/cache/cache.md) — _(no submodules)_- [cache](./src/cache/cache.md) — _(no submodules)_- [conformance](./src/conformance/conformance-suite.md) — _(no submodules)_- [conformance-suite](./src/conformance/conformance-suite.md) — _(no submodules)_- [connection](./src/connection/connection.md) — _(no submodules)_- [connection](./src/connection/connection.md) — _(no submodules)_- [bun-driver](./src/drivers/bun-driver.md) — Provides `createBunDriver`, the server-side SQLite driver for `@suaveplan/db-sqlite`. It dynamically imports `bun:sqlit… - [wasm-driver](./src/drivers/wasm-driver.md) — Provides `createWasmDriver`, the browser-side SQLite driver for `@suaveplan/db-sqlite`. It spawns a Web Worker running… - [wasm-worker](./src/drivers/wasm-worker.md) — Web Worker implementation for the WASM SQLite driver. This module runs inside a dedicated worker thread created by `cre… @@ -59,6 +61,7 @@ Universal SQLite adapter for Suaveplan. Runs on `bun:sqlite` on the Bun server a - [wasm-driver](./src/drivers/wasm-driver.md) — Provides `createWasmDriver`, the browser-side SQLite driver for `@suaveplan/db-sqlite`. It spawns a Web Worker running… - [wasm-worker](./src/drivers/wasm-worker.md) — Web Worker implementation for the WASM SQLite driver. This module runs inside a dedicated worker thread created by `cre… - [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [migration](./src/migration/migration.md) — _(no submodules)_ - [migration](./src/migration/migration.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_- [unsafe](./src/unsafe/unsafe.md) — _(no submodules)_ - [unsafe](./src/unsafe/unsafe.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/persistence/database/db-sqlite/src/adapter/adapter.md b/plugins/document-navigator/docs/persistence/database/db-sqlite/src/adapter/adapter.md index 1cf28ec..04d8d5c 100644 --- a/plugins/document-navigator/docs/persistence/database/db-sqlite/src/adapter/adapter.md +++ b/plugins/document-navigator/docs/persistence/database/db-sqlite/src/adapter/adapter.md @@ -3,6 +3,7 @@ _(no submodules)_ - adapter.wasm — Browser-runtime entry point for the…… + - [adapter.wasm](./adapter.wasm.md) — Browser-runtime entry point for the `./adapter` conditional export in `@suaveplan/db-sqlite`. When a browser bundler re… - adapter.wasm — Browser-runtime entry point for the…… diff --git a/plugins/document-navigator/docs/persistence/database/db/README.md b/plugins/document-navigator/docs/persistence/database/db/README.md index c69f1b2..ee97303 100644 --- a/plugins/document-navigator/docs/persistence/database/db/README.md +++ b/plugins/document-navigator/docs/persistence/database/db/README.md @@ -21,7 +21,9 @@ This package is the stable foundation that `@suaveplan/db-sqlite` and future ada - [trace](./src/telemetry/trace.md) — `withDbSpan` is a thin OTel tracing helper that wraps any async database operation in a named span. It handles the boil… - [types](./src/types/database-config.md) — _(no submodules)_ - [database-config](./src/types/database-config.md) — _(no submodules)_ + - [database-adapter](./src/adapter/database-adapter.md) — _(no submodules)_- [connection](./src/connection/singleton.md) — _(no submodules)_- [singleton](./src/connection/singleton.md) — _(no submodules)_- [errors](./src/errors/database-error.md) — _(no submodules)_- [database-error](./src/errors/database-error.md) — _(no submodules)_- [migration](./src/migration/migration-runner.md) — _(no submodules)_- [migration-runner](./src/migration/migration-runner.md) — _(no submodules)_- [instruments](./src/telemetry/instruments.md) — `instruments.ts` provides lazily-initialised OpenTelemetry metric instruments for `@suaveplan/db`. Rather than creating… + - [trace](./src/telemetry/trace.md) — `withDbSpan` is a thin OTel tracing helper that wraps any async database operation in a named span. It handles the boil… - [types](./src/types/database-config.md) — _(no submodules)_- [database-config](./src/types/database-config.md) — _(no submodules)_- [database-adapter](./src/adapter/database-adapter.md) — _(no submodules)_- [connection](./src/connection/singleton.md) — _(no submodules)_- [singleton](./src/connection/singleton.md) — _(no submodules)_- [errors](./src/errors/database-error.md) — _(no submodules)_- [database-error](./src/errors/database-error.md) — _(no submodules)_- [migration](./src/migration/migration-runner.md) — _(no submodules)_- [migration-runner](./src/migration/migration-runner.md) — _(no submodules)_- [instruments](./src/telemetry/instruments.md) — `instruments.ts` provides lazily-initialised OpenTelemetry metric instruments for `@suaveplan/db`. Rather than creating… - [trace](./src/telemetry/trace.md) — `withDbSpan` is a thin OTel tracing helper that wraps any async database operation in a named span. It handles the boil… @@ -30,6 +32,7 @@ This package is the stable foundation that `@suaveplan/db-sqlite` and future ada - [types](./src/types/database-config.md) — _(no submodules)_- [database-config](./src/types/database-config.md) — _(no submodules)_- [database-adapter](./src/adapter/database-adapter.md) — _(no submodules)_- [connection](./src/connection/singleton.md) — _(no submodules)_ - [singleton](./src/connection/singleton.md) — _(no submodules)_- [errors](./src/errors/database-error.md) — _(no submodules)_ - [database-error](./src/errors/database-error.md) — _(no submodules)_- [migration](./src/migration/migration-runner.md) — _(no submodules)_ - [migration-runner](./src/migration/migration-runner.md) — _(no submodules)_- [instruments](./src/telemetry/instruments.md) — `instruments.ts` provides lazily-initialised OpenTelemetry metric instruments for `@suaveplan/db`. Rather than creating… - [trace](./src/telemetry/trace.md) — `withDbSpan` is a thin OTel tracing helper that wraps any async database operation in a named span. It handles the boil… - [types](./src/types/database-config.md) — _(no submodules)_ - [database-config](./src/types/database-config.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/persistence/database/migration/README.md b/plugins/document-navigator/docs/persistence/database/migration/README.md index 1ae85f3..b057f4b 100644 --- a/plugins/document-navigator/docs/persistence/database/migration/README.md +++ b/plugins/document-navigator/docs/persistence/database/migration/README.md @@ -37,7 +37,9 @@ Database-agnostic schema migration runner with ledger tracking, checksum validat - [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_ - [utils](./src/utils/checksum.md) — _(no submodules)_ - [checksum](./src/utils/checksum.md) — _(no submodules)_ + - [surrealdb](./src/adapters/surrealdb/surrealdb.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [errors](./src/errors/migration-error.md) — _(no submodules)_- [migration-error](./src/errors/migration-error.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration.schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [utils](./src/utils/checksum.md) — _(no submodules)_- [checksum](./src/utils/checksum.md) — _(no submodules)_- [surrealdb](./src/adapters/surrealdb/surrealdb.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [errors](./src/errors/migration-error.md) — _(no submodules)_- [migration-error](./src/errors/migration-error.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration.schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [utils](./src/utils/checksum.md) — _(no submodules)_- [checksum](./src/utils/checksum.md) — _(no submodules)_- [surrealdb](./src/adapters/surrealdb/surrealdb.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [errors](./src/errors/migration-error.md) — _(no submodules)_- [migration-error](./src/errors/migration-error.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration.schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [utils](./src/utils/checksum.md) — _(no submodules)_- [checksum](./src/utils/checksum.md) — _(no submodules)_- [surrealdb](./src/adapters/surrealdb/surrealdb.md) — _(no submodules)_- [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_ - [batch-migrator](./src/batch/batch-migrator/batch-migrator.md) — _(no submodules)_- [errors](./src/errors/migration-error.md) — _(no submodules)_ - [migration-error](./src/errors/migration-error.md) — _(no submodules)_- [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_ - [distributed-lock](./src/lock/distributed-lock/distributed-lock.md) — _(no submodules)_- [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_ - [memory-lock](./src/lock/memory-lock/memory-lock.md) — _(no submodules)_- [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_ - [redis-lock](./src/lock/redis-lock/redis-lock.md) — _(no submodules)_- [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_ - [migration-planner](./src/planner/migration-planner/migration-planner.md) — _(no submodules)_- [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_ - [dry-run-reporter](./src/runner/dry-run-reporter/dry-run-reporter.md) — _(no submodules)_- [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_ - [migration-executor](./src/runner/migration-executor/migration-executor.md) — _(no submodules)_- [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_ - [migration-runner](./src/runner/migration-runner/migration-runner.md) — _(no submodules)_- [schemas](./src/schemas/migration.schemas.md) — _(no submodules)_ - [migration.schemas](./src/schemas/migration.schemas.md) — _(no submodules)_- [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_ - [migration-status](./src/status/migration-status/migration-status.md) — _(no submodules)_- [database-store](./src/store/database-store/database-store.md) — _(no submodules)_ - [database-store](./src/store/database-store/database-store.md) — _(no submodules)_- [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_ - [memory-store](./src/store/memory-store/memory-store.md) — _(no submodules)_- [utils](./src/utils/checksum.md) — _(no submodules)_ - [checksum](./src/utils/checksum.md) — _(no submodules)_ + ## Packages - [migration-runner](src/runner/migration-runner/migration-runner.md) diff --git a/plugins/document-navigator/docs/persistence/database/seed/README.md b/plugins/document-navigator/docs/persistence/database/seed/README.md index d4c0ce8..a260b2e 100644 --- a/plugins/document-navigator/docs/persistence/database/seed/README.md +++ b/plugins/document-navigator/docs/persistence/database/seed/README.md @@ -186,4 +186,3 @@ if (!result.success) { - **AbortSignal is checked between seeds** — in-flight `SeedStore` calls receive the signal too (every `SeedStore` method accepts an optional `signal?: AbortSignal`). - **Logger is opt-in** — `LoggerLike` defaults to a no-op so the runner stays silent when unwired. Wire it to get `seed.run.start` / `seed.completed` / `seed.skipped` / `seed.failed` / `seed.run.complete` events. - **Enterprise extras are out of scope here** — plugin lifecycle, SurrealDB schema migrations, JWT/RBAC, audit logging, rate limiting, webhooks, OTel spans, and Prometheus metrics all belong to a future `api-plugin-seed` package that wraps this core. - diff --git a/plugins/document-navigator/docs/persistence/database/seed/src/registry/registry.md b/plugins/document-navigator/docs/persistence/database/seed/src/registry/registry.md index 20abcf7..a281c50 100644 --- a/plugins/document-navigator/docs/persistence/database/seed/src/registry/registry.md +++ b/plugins/document-navigator/docs/persistence/database/seed/src/registry/registry.md @@ -106,8 +106,8 @@ registry.clear(); ## Implementation Notes - Storage uses `Map` so insertion order is preserved by `names`, `getAll`, and `getForEnvironment`. -- Defensive copies are *shallow* (`{ ...seed }`). Nested arrays (`environments`, `dependencies`, `upsertKeys`, `data`) are not cloned; they remain `readonly` on the `SeedDefinition` type, so callers cannot mutate them without an explicit cast. This matches the upstream reference behaviour and avoids deep-clone overhead during runner setup. +- Defensive copies are _shallow_ (`{ ...seed }`). Nested arrays (`environments`, `dependencies`, `upsertKeys`, `data`) are not cloned; they remain `readonly` on the `SeedDefinition` type, so callers cannot mutate them without an explicit cast. This matches the upstream reference behaviour and avoids deep-clone overhead during runner setup. - `getForEnvironment` filters the already-defensive `getAll()` result. The two-pass approach keeps the filter logic small and reuses the copy contract. -- `register` throws *before* mutating the map, so a duplicate registration leaves the registry intact. `registerMany` therefore preserves a partial-success prefix when an entry mid-stream collides — consumers who need transactional semantics should snapshot `names` and roll back via `remove` after catching. +- `register` throws _before_ mutating the map, so a duplicate registration leaves the registry intact. `registerMany` therefore preserves a partial-success prefix when an entry mid-stream collides — consumers who need transactional semantics should snapshot `names` and roll back via `remove` after catching. - Error construction always includes `seedName` so downstream `instanceof SeedError` checks can dispatch without parsing the message string. - No internal concurrency control: the registry is intended for single-threaded use during process startup and test setup. Consumers requiring concurrent registration must serialise externally. diff --git a/plugins/document-navigator/docs/persistence/database/surrealdb/README.md b/plugins/document-navigator/docs/persistence/database/surrealdb/README.md index c644c7c..fbab776 100644 --- a/plugins/document-navigator/docs/persistence/database/surrealdb/README.md +++ b/plugins/document-navigator/docs/persistence/database/surrealdb/README.md @@ -31,8 +31,10 @@ Universal SurrealDB client wrapper for Suaveplan. Implements `@suaveplan/db`'s ` - [types](./src/types/types.md) — _(no submodules)_ - [utils](./src/utils/version-detector.md) — _(no submodules)_ - [version-detector](./src/utils/version-detector.md) — _(no submodules)_ + - [adapter](./src/adapter/adapter/adapter.md) — _(no submodules)_- [crud](./src/adapter/crud/crud.md) — _(no submodules)_ - [crud](./src/adapter/crud/crud.md) — _(no submodules)_- [query-helpers](./src/adapter/query-helpers/query-helpers.md) — _(no submodules)_ - [query-helpers](./src/adapter/query-helpers/query-helpers.md) — _(no submodules)_- [transaction](./src/adapter/transaction/transaction.md) — _(no submodules)_ - [transaction](./src/adapter/transaction/transaction.md) — _(no submodules)_- [connection](./src/connection/connection.md) — _(no submodules)_- [connection](./src/connection/connection.md) — _(no submodules)_- [errors](./src/errors/error.md) — _(no submodules)_- [error](./src/errors/error.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [schema](./src/schema/discovery.md) — _(no submodules)_- [discovery](./src/schema/discovery.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [singleton](./src/singleton/singleton.md) — _(no submodules)_- [singleton](./src/singleton/singleton.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [utils](./src/utils/version-detector.md) — _(no submodules)_- [version-detector](./src/utils/version-detector.md) — _(no submodules)_- [adapter](./src/adapter/adapter/adapter.md) — _(no submodules)_- [crud](./src/adapter/crud/crud.md) — `crud` exposes the typed record-level CRUD primitives (`create`, `select`, `update`, `delete`, `selectAll`) used by `Su… - - [crud](./src/adapter/crud/crud.md) — `crud` exposes the typed record-level CRUD primitives (`create`, `select`, `update`, `delete`, `selectAll`) used by `Su… + +- [crud](./src/adapter/crud/crud.md) — `crud` exposes the typed record-level CRUD primitives (`create`, `select`, `update`, `delete`, `selectAll`) used by `Su… - [query-helpers](./src/adapter/query-helpers/query-helpers.md) — `query-helpers` holds the small, stateless utility functions shared by every public method on `SurrealAdapter` and its… - [query-helpers](./src/adapter/query-helpers/query-helpers.md) — `query-helpers` holds the small, stateless utility functions shared by every public method on `SurrealAdapter` and its… - [transaction](./src/adapter/transaction/transaction.md) — `transaction` houses the SurrealDB transaction orchestration logic that wraps a caller-supplied function in a `BEGIN TR… diff --git a/plugins/document-navigator/docs/persistence/search/search/README.md b/plugins/document-navigator/docs/persistence/search/search/README.md index a79db87..1cfc3a8 100644 --- a/plugins/document-navigator/docs/persistence/search/search/README.md +++ b/plugins/document-navigator/docs/persistence/search/search/README.md @@ -19,7 +19,9 @@ Full-text and fuzzy search primitives with in-memory BM25 engine, trigram fuzzy - [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_ - [trigram](./src/text/trigram/trigram.md) — _(no submodules)_ - [trigram](./src/text/trigram/trigram.md) — _(no submodules)_ + - [memory-engine](./src/engine/memory-engine/memory-engine.md) — _(no submodules)_- [errors](./src/errors/search-error.md) — _(no submodules)_- [search-error](./src/errors/search-error.md) — _(no submodules)_- [schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [search.schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_- [memory-engine](./src/engine/memory-engine/memory-engine.md) — _(no submodules)_- [errors](./src/errors/search-error.md) — _(no submodules)_- [search-error](./src/errors/search-error.md) — _(no submodules)_- [schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [search.schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_- [memory-engine](./src/engine/memory-engine/memory-engine.md) — _(no submodules)_- [errors](./src/errors/search-error.md) — _(no submodules)_- [search-error](./src/errors/search-error.md) — _(no submodules)_- [schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [search.schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_- [memory-engine](./src/engine/memory-engine/memory-engine.md) — _(no submodules)_- [errors](./src/errors/search-error.md) — _(no submodules)_ - [search-error](./src/errors/search-error.md) — _(no submodules)_- [schemas](./src/schemas/search.schemas.md) — _(no submodules)_ - [search.schemas](./src/schemas/search.schemas.md) — _(no submodules)_- [scorer](./src/text/scorer/scorer.md) — _(no submodules)_ - [scorer](./src/text/scorer/scorer.md) — _(no submodules)_- [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_ - [tokenizer](./src/text/tokenizer/tokenizer.md) — _(no submodules)_- [trigram](./src/text/trigram/trigram.md) — _(no submodules)_ - [trigram](./src/text/trigram/trigram.md) — _(no submodules)_ + ## Modules - [MemorySearchEngine](src/engine/memory-engine/memory-engine.md) — in-memory BM25 search engine diff --git a/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/README.md b/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/README.md index c5f842a..28f994a 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/README.md @@ -22,11 +22,12 @@ Browser-tier `AbstractStorage` adapter backed by the W3C IndexedDB API (`globalT - [registry](./src/registry/registry.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_ - - [error-codes](./src/error-codes/error-codes.md) — _(no submodules)_- [idb-adapter](./src/idb-adapter/idb-adapter.md) — _(no submodules)_ - [idb-adapter](./src/idb-adapter/idb-adapter.md) — _(no submodules)_- [indexeddb-storage](./src/indexeddb-storage/indexeddb-storage.md) — _(no submodules)_ - [indexeddb-storage.config](./src/indexeddb-storage/indexeddb-storage.config.md) — This module exposes the two building blocks every public method of `IndexedDbStorage` relies on: `resolveOptions` valid… - - [indexeddb-storage.crud](./src/indexeddb-storage/indexeddb-storage.crud.md) — This module hosts the pure CRUD primitives that `IndexedDbStorage` composes its public methods from. Splitting them out… - - [indexeddb-storage.errors](./src/indexeddb-storage/indexeddb-storage.errors.md) — This module concentrates the DOMException-to-`IndexedDbError` translation that the `IndexedDbStorage` class relies on.… - - [indexeddb-storage](./src/indexeddb-storage/indexeddb-storage.md) — _(no submodules)_ - [indexeddb-storage.ops](./src/indexeddb-storage/indexeddb-storage.ops.md) — This module owns the Promise-bridging glue around the callback-shaped `IDBRequest` and `IDBTransaction` APIs. Separatin… +- [error-codes](./src/error-codes/error-codes.md) — _(no submodules)_- [idb-adapter](./src/idb-adapter/idb-adapter.md) — _(no submodules)_ - [idb-adapter](./src/idb-adapter/idb-adapter.md) — _(no submodules)_- [indexeddb-storage](./src/indexeddb-storage/indexeddb-storage.md) — _(no submodules)_ - [indexeddb-storage.config](./src/indexeddb-storage/indexeddb-storage.config.md) — This module exposes the two building blocks every public method of `IndexedDbStorage` relies on: `resolveOptions` valid… +- [indexeddb-storage.crud](./src/indexeddb-storage/indexeddb-storage.crud.md) — This module hosts the pure CRUD primitives that `IndexedDbStorage` composes its public methods from. Splitting them out… +- [indexeddb-storage.errors](./src/indexeddb-storage/indexeddb-storage.errors.md) — This module concentrates the DOMException-to-`IndexedDbError` translation that the `IndexedDbStorage` class relies on.… +- [indexeddb-storage](./src/indexeddb-storage/indexeddb-storage.md) — _(no submodules)_ - [indexeddb-storage.ops](./src/indexeddb-storage/indexeddb-storage.ops.md) — This module owns the Promise-bridging glue around the callback-shaped `IDBRequest` and `IDBTransaction` APIs. Separatin… - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_ - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_ + ## Install ```bash @@ -90,4 +91,3 @@ The package does NOT self-register at module-evaluation time — call `registerI ## License MIT. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/src/indexeddb-storage/indexeddb-storage.md b/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/src/indexeddb-storage/indexeddb-storage.md index 886f272..c317807 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/src/indexeddb-storage/indexeddb-storage.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-browser-indexeddb/src/indexeddb-storage/indexeddb-storage.md @@ -3,6 +3,7 @@ _(no submodules)_ - indexeddb-storage.ops — This module owns the Promis… + - [indexeddb-storage.ops](./indexeddb-storage.ops.md) — This module owns the Promise-bridging glue around the callback-shaped `IDBRequest` and `IDBTransaction` APIs. Separatin… - [indexeddb-storage.ops](./indexeddb-storage.ops.md) — This module owns the Promise-bridging glue around the callback-shaped `IDBRequest` and `IDBTransaction` APIs. Separatin… diff --git a/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/README.md b/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/README.md index 9ff69c4..966bd29 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/README.md @@ -25,10 +25,10 @@ Browser-tier `AbstractStorage` adapter backed by the synchronous `Storage` API ( - [registry](./src/registry/registry.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Single source of truth for every error code the `@suaveplan/storage-browser-localstorage` package can throw. The regist… - - [envelope](./src/envelope/envelope.md) — _(no submodules)_- [in-memory-storage](./src/in-memory-storage/in-memory-storage.md) — _(no submodules)_ - [in-memory-storage](./src/in-memory-storage/in-memory-storage.md) — _(no submodules)_- [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_ - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [local-storage](./src/local-storage/local-storage.md) — _(no submodules)_ - [local-storage.errors](./src/local-storage/local-storage.errors.md) — Maps every error thrown by the underlying `Storage` adapter to the typed `LocalStorageError` surface. Browsers raise in… - - [local-storage](./src/local-storage/local-storage.md) — _(no submodules)_ - [local-storage.ops](./src/local-storage/local-storage.ops.md) — `localStorage` is a flat string keyspace shared across the entire origin. `@suaveplan/storage-browser-localstorage` par… - - [local-storage.partial](./src/local-storage/local-storage.partial.md) — `localStorage` is an inherently whole-value API — there is no native partial read or partial write. `LocalStorageStorag… - - [local-storage.slot](./src/local-storage/local-storage.slot.md) — The slot module owns the pure functional helpers `LocalStorageStorage` needs but does not benefit from keeping inside t… +- [envelope](./src/envelope/envelope.md) — _(no submodules)_- [in-memory-storage](./src/in-memory-storage/in-memory-storage.md) — _(no submodules)_ - [in-memory-storage](./src/in-memory-storage/in-memory-storage.md) — _(no submodules)_- [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_ - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [local-storage](./src/local-storage/local-storage.md) — _(no submodules)_ - [local-storage.errors](./src/local-storage/local-storage.errors.md) — Maps every error thrown by the underlying `Storage` adapter to the typed `LocalStorageError` surface. Browsers raise in… +- [local-storage](./src/local-storage/local-storage.md) — _(no submodules)_ - [local-storage.ops](./src/local-storage/local-storage.ops.md) — `localStorage` is a flat string keyspace shared across the entire origin. `@suaveplan/storage-browser-localstorage` par… +- [local-storage.partial](./src/local-storage/local-storage.partial.md) — `localStorage` is an inherently whole-value API — there is no native partial read or partial write. `LocalStorageStorag… +- [local-storage.slot](./src/local-storage/local-storage.slot.md) — The slot module owns the pure functional helpers `LocalStorageStorage` needs but does not benefit from keeping inside t… - [local-storage-adapter](./src/local-storage-adapter/local-storage-adapter.md) — _(no submodules)_ - [local-storage-adapter](./src/local-storage-adapter/local-storage-adapter.md) — _(no submodules)_- [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Single source of truth for every error code the `@suaveplan/storage-browser-localstorage` package can throw. The regist… ## Install @@ -98,4 +98,3 @@ The package does NOT self-register at module-evaluation time — call `registerL ## License MIT. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/src/local-storage/local-storage.md b/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/src/local-storage/local-storage.md index 10cc2c1..ba8ce7b 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/src/local-storage/local-storage.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-browser-localstorage/src/local-storage/local-storage.md @@ -2,6 +2,7 @@ _(no submodules)_ - local-storage.ops — `localStorage` is a flat string… + - [local-storage.ops](./local-storage.ops.md) — `localStorage` is a flat string keyspace shared across the entire origin. `@suaveplan/storage-browser-localstorage` par… - [local-storage.partial](./local-storage.partial.md) — `localStorage` is an inherently whole-value API — there is no native partial read or partial write. `LocalStorageStorag… - [local-storage.slot](./local-storage.slot.md) — The slot module owns the pure functional helpers `LocalStorageStorage` needs but does not benefit from keeping inside t… diff --git a/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/README.md b/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/README.md index 72e2d0e..67d14e8 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/README.md @@ -24,9 +24,9 @@ Browser-tier `AbstractStorage` adapter backed by the Origin Private File System - [registry](./src/registry/registry.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Single source of truth for every error code the `@suaveplan/storage-browser-opfs` package can throw. The registry uses… - - [filename-codec](./src/filename-codec/filename-codec.md) — _(no submodules)_- [in-memory-opfs](./src/in-memory-opfs/in-memory-opfs.md) — _(no submodules)_ - [in-memory-opfs](./src/in-memory-opfs/in-memory-opfs.md) — _(no submodules)_- [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_ - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [opfs-adapter](./src/opfs-adapter/opfs-adapter.md) — _(no submodules)_ - [opfs-adapter](./src/opfs-adapter/opfs-adapter.md) — _(no submodules)_- [opfs-storage](./src/opfs-storage/opfs-storage.md) — _(no submodules)_ - [opfs-storage.errors](./src/opfs-storage/opfs-storage.errors.md) — Encapsulates the mapping between WHATWG `DOMException` shapes thrown by the OPFS API and the typed `OpfsError` codes th… - - [opfs-storage](./src/opfs-storage/opfs-storage.md) — _(no submodules)_ - [opfs-storage.ops](./src/opfs-storage/opfs-storage.ops.md) — Hosts pure / nearly-pure helpers that `OpfsStorage` calls but that would push the class file over the 300-line hard bud… - - [opfs-storage.streams](./src/opfs-storage/opfs-storage.streams.md) — Factors the `createReadStream` / `createWriteStream` builders out of the main `OpfsStorage` class so the class stays un… +- [filename-codec](./src/filename-codec/filename-codec.md) — _(no submodules)_- [in-memory-opfs](./src/in-memory-opfs/in-memory-opfs.md) — _(no submodules)_ - [in-memory-opfs](./src/in-memory-opfs/in-memory-opfs.md) — _(no submodules)_- [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_ - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [opfs-adapter](./src/opfs-adapter/opfs-adapter.md) — _(no submodules)_ - [opfs-adapter](./src/opfs-adapter/opfs-adapter.md) — _(no submodules)_- [opfs-storage](./src/opfs-storage/opfs-storage.md) — _(no submodules)_ - [opfs-storage.errors](./src/opfs-storage/opfs-storage.errors.md) — Encapsulates the mapping between WHATWG `DOMException` shapes thrown by the OPFS API and the typed `OpfsError` codes th… +- [opfs-storage](./src/opfs-storage/opfs-storage.md) — _(no submodules)_ - [opfs-storage.ops](./src/opfs-storage/opfs-storage.ops.md) — Hosts pure / nearly-pure helpers that `OpfsStorage` calls but that would push the class file over the 300-line hard bud… +- [opfs-storage.streams](./src/opfs-storage/opfs-storage.streams.md) — Factors the `createReadStream` / `createWriteStream` builders out of the main `OpfsStorage` class so the class stays un… - [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Single source of truth for every error code the `@suaveplan/storage-browser-opfs` package can throw. The registry uses… ## Install @@ -92,4 +92,3 @@ The package does NOT self-register at module-evaluation time — call `registerO ## License MIT. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/src/opfs-storage/opfs-storage.md b/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/src/opfs-storage/opfs-storage.md index aeb3133..8b7bec4 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/src/opfs-storage/opfs-storage.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-browser-opfs/src/opfs-storage/opfs-storage.md @@ -3,6 +3,7 @@ _(no submodules)_ - opfs-storage.ops — Hosts pure / nearly-pure helpers… + - [opfs-storage.ops](./opfs-storage.ops.md) — Hosts pure / nearly-pure helpers that `OpfsStorage` calls but that would push the class file over the 300-line hard bud… - [opfs-storage.streams](./opfs-storage.streams.md) — Factors the `createReadStream` / `createWriteStream` builders out of the main `OpfsStorage` class so the class stays un… - [opfs-storage.ops](./opfs-storage.ops.md) — Hosts pure / nearly-pure helpers that `OpfsStorage` calls but that would push the class file over the 300-line hard bud… diff --git a/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/README.md b/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/README.md index a1a478d..fb74f78 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/README.md @@ -109,4 +109,3 @@ const storage = createStorage({ type: "bunnycdn", config }); ## License MIT — see `LICENSE` at the repo root. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/pull-zone-client/pull-zone-client.md b/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/pull-zone-client/pull-zone-client.md index b51de85..fd51a0a 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/pull-zone-client/pull-zone-client.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/pull-zone-client/pull-zone-client.md @@ -70,5 +70,5 @@ async function purgeSafelyWithKeyRotation(ctx, edgeUrl: string) { - Purge URL composition is the caller's responsibility because the same endpoint handles both single keys and prefix purges (caller appends `*` for prefix mode). Pushing composition into the helper would force every caller through an enum or a flag. - The `AccessKey` header is the account-level key from the Bunny.net dashboard, NOT the per-zone storage key. They're rotated independently and have different scopes; conflating them is the typical "purge stopped working after I rotated the storage key" bug. -- 404 on purge is treated as success at the *caller* level (we don't see it here because the BunnyCDN API returns `200 OK` even when the object was already evicted) — operators relying on a 404 signal should switch to the management API's status endpoint. +- 404 on purge is treated as success at the _caller_ level (we don't see it here because the BunnyCDN API returns `200 OK` even when the object was already evicted) — operators relying on a 404 signal should switch to the management API's status endpoint. - The `pullZoneHostname` field is unused inside this function but is part of the bundle so callers can build edge URLs without a second context object. diff --git a/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/storage-client/storage-client.md b/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/storage-client/storage-client.md index 1ddd48a..781a7ec 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/storage-client/storage-client.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-cdn-bunnycdn/src/storage-client/storage-client.md @@ -72,7 +72,7 @@ See the corresponding TS signatures in `storage-client.ts`. Status → code mapp ## Implementation Notes -- The `AccessKey` header is added by `baseHeaders` *after* the caller's custom headers, so a caller's `headers` callback cannot accidentally override it with a different value. +- The `AccessKey` header is added by `baseHeaders` _after_ the caller's custom headers, so a caller's `headers` callback cannot accidentally override it with a different value. - Range reads bypass the auth-check for non-401/403 statuses because `consumeRangeResponse` understands `206`/`200`/`416` natively — duplicating the logic would mask the dedicated range fallback metric. - `storageStream` skips `retryWithBackoff` because streaming responses can't be retried mid-stream without buffering, and the retry classifier is response-shape rather than stream-shape. - All errors carry `zone`, `region`, and `httpStatus` so monitoring dashboards can break failures down by tenant. diff --git a/plugins/document-navigator/docs/persistence/storage/storage-cdn-rackspace/README.md b/plugins/document-navigator/docs/persistence/storage/storage-cdn-rackspace/README.md index 9019b48..428d65f 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-cdn-rackspace/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-cdn-rackspace/README.md @@ -111,4 +111,3 @@ const storage = createStorage({ type: "rackspace-cdn", config }); ## License MIT — see `LICENSE` at the repo root. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-cdn/README.md b/plugins/document-navigator/docs/persistence/storage/storage-cdn/README.md index a0797a0..ffb571c 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-cdn/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-cdn/README.md @@ -90,4 +90,3 @@ A consumer that only needs read access to a CDN-fronted static site uses `storag ## License MIT — see `LICENSE` at the repo root. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-file/README.md b/plugins/document-navigator/docs/persistence/storage/storage-file/README.md index c3e7a1e..76240fc 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-file/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-file/README.md @@ -27,8 +27,8 @@ Node.js filesystem `AbstractStorage` adapter for `@suaveplan/storage`. Implement - [streams](./src/streams/streams.md) — _(no submodules)_ - [error-codes](./src/error-codes.md) — Defines the frozen `STORAGE_FILE_CODES` registry and the `StorageFileError` class used by every public path in `@suavep… - - [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [node-fs](./src/node-fs/node-fs.md) — _(no submodules)_ - [node-fs](./src/node-fs/node-fs.md) — _(no submodules)_- [node-fs-storage](./src/node-fs-storage/node-fs-storage.md) — _(no submodules)_ - [node-fs-storage.helpers](./src/node-fs-storage/node-fs-storage.helpers.md) — Houses the pure helpers consumed by `NodeFsStorage` so the orchestrator class stays under the file-size budget and the… - - [node-fs-storage](./src/node-fs-storage/node-fs-storage.md) — _(no submodules)_ - [node-fs-storage.ops](./src/node-fs-storage/node-fs-storage.ops.md) — Houses the file-system operation helpers consumed by `NodeFsStorage`. Each function here wraps a single boundary call w… +- [key-sanitizer](./src/key-sanitizer/key-sanitizer.md) — _(no submodules)_- [node-fs](./src/node-fs/node-fs.md) — _(no submodules)_ - [node-fs](./src/node-fs/node-fs.md) — _(no submodules)_- [node-fs-storage](./src/node-fs-storage/node-fs-storage.md) — _(no submodules)_ - [node-fs-storage.helpers](./src/node-fs-storage/node-fs-storage.helpers.md) — Houses the pure helpers consumed by `NodeFsStorage` so the orchestrator class stays under the file-size budget and the… +- [node-fs-storage](./src/node-fs-storage/node-fs-storage.md) — _(no submodules)_ - [node-fs-storage.ops](./src/node-fs-storage/node-fs-storage.ops.md) — Houses the file-system operation helpers consumed by `NodeFsStorage`. Each function here wraps a single boundary call w… - [otel](./src/otel/otel.md) — _(no submodules)_ - [otel](./src/otel/otel.md) — _(no submodules)_- [registry](./src/registry/registry.md) — _(no submodules)_ - [registry](./src/registry/registry.md) — _(no submodules)_- [retry-helper](./src/retry-helper/retry-helper.md) — _(no submodules)_ - [retry-helper](./src/retry-helper/retry-helper.md) — _(no submodules)_- [streams](./src/streams/streams.md) — _(no submodules)_ - [streams](./src/streams/streams.md) — _(no submodules)_- [error-codes](./src/error-codes.md) — Defines the frozen `STORAGE_FILE_CODES` registry and the `StorageFileError` class used by every public path in `@suavep… ## Installation @@ -85,4 +85,3 @@ const viaFactory = createStorage({ type: "file", config: { rootDir: "/tmp/store" - **Resilience**: transient errors (`EBUSY`, `EMFILE`, `ENFILE`, `EAGAIN`) are retried via `@suaveplan/retry` with exponential backoff and injectable `TimersLike`. Non-transient errors surface as `STORAGE_FILE.IO_FAILED` or `STORAGE_FILE.PERMISSION_DENIED`. - **Security**: every public method passes its key through `sanitizeKey`. Path-traversal, absolute paths, drive-letter prefixes, null bytes, control chars, and over-length keys all surface as `STORAGE_FILE.INVALID_KEY`/`KEY_TOO_LONG` before any filesystem call. - **Observability**: OTel counters, histograms, and a tracer emit from production paths. Tests assert against a real in-memory MeterProvider — no `vi.mock`. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-file/src/node-fs-storage/node-fs-storage.md b/plugins/document-navigator/docs/persistence/storage/storage-file/src/node-fs-storage/node-fs-storage.md index 69ca1f5..c43549b 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-file/src/node-fs-storage/node-fs-storage.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-file/src/node-fs-storage/node-fs-storage.md @@ -3,6 +3,7 @@ _(no submodules)_ - node-fs-storage.ops — Houses the file-system operat… + - [node-fs-storage.ops](./node-fs-storage.ops.md) — Houses the file-system operation helpers consumed by `NodeFsStorage`. Each function here wraps a single boundary call w… - [node-fs-storage.ops](./node-fs-storage.ops.md) — Houses the file-system operation helpers consumed by `NodeFsStorage`. Each function here wraps a single boundary call w… diff --git a/plugins/document-navigator/docs/persistence/storage/storage-http/README.md b/plugins/document-navigator/docs/persistence/storage/storage-http/README.md index 3b884e9..14e55a3 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-http/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-http/README.md @@ -132,4 +132,3 @@ async function readCached(key: string): Promise { ## License MIT — see `LICENSE` at the repo root. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-plugin-cache/README.md b/plugins/document-navigator/docs/persistence/storage/storage-plugin-cache/README.md index faeba1f..408e967 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-plugin-cache/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-plugin-cache/README.md @@ -187,4 +187,3 @@ NEVER throws because the cache misbehaved. A failed `cache.get` falls through to `inner.get`; a failed `cache.set` still returns the inner-read bytes; a failed `cache.delete` on invalidation still returns the inner-write/delete result. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-s3/README.md b/plugins/document-navigator/docs/persistence/storage/storage-s3/README.md index 09808dd..a89363c 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-s3/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-s3/README.md @@ -13,7 +13,9 @@ S3-compatible object storage adapter for `@suaveplan/storage`. Extends `Abstract - [s3](./src/s3/s3.md) — _(no submodules)_ - [utils](./src/utils/credential-validator.md) — _(no submodules)_ - [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_ + - [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_ - [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_ - [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_ + ## Installation ```bash diff --git a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/README.md b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/README.md index 235d7b3..61512b8 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/README.md @@ -164,4 +164,3 @@ exercised by the test suite. Inject a `MeterProvider` with `setBundleUriMeterProvider(provider)` then `resetInstruments()` to rebind. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/abort/abort.md b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/abort/abort.md index 786a81b..ed7376c 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/abort/abort.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/abort/abort.md @@ -8,7 +8,7 @@ _(no submodules)_ `abort.ts` declares the two helpers every read path consumes to honour an `AbortSignal`: `ensureNotAborted` short-circuits an already-aborted signal -into a `BUNDLE_URI.ABORTED` rejection *before* any fetch is dispatched, +into a `BUNDLE_URI.ABORTED` rejection _before_ any fetch is dispatched, and `wrapAbortError` converts a mid-flight `AbortError` into a structured `BundleUriError` carrying the original error on `cause` so retry and circuit-breaker classifiers can distinguish caller-initiated cancellation diff --git a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/otel/otel.md b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/otel/otel.md index 7773283..a35b3d0 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/otel/otel.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-bundle/src/otel/otel.md @@ -84,7 +84,7 @@ The instrument bag is held in a module-private `let` so the same instruments persist across calls. `resetInstruments` is the test-only escape hatch that drops the cache so the next `getInstruments` rebinds against the freshly-installed `MeterProvider`. The 256-char clip is -applied *after* the query strip — query-string lengths are not counted +applied _after_ the query strip — query-string lengths are not counted against the attribute size budget. `classifyRootKind` is a `switch` over `URL.protocol` (which always ends with `:`); the default case covers bundler-virtual schemes (`virtual:`, `~asset:`, `\0…`) so coverage diff --git a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-fallback/README.md b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-fallback/README.md index b264df7..4079ec7 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-fallback/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-uri-plugin-fallback/README.md @@ -184,4 +184,3 @@ URIs from manifests, config, or the wire. - [`plugin/plugin`](./src/plugin/plugin.md) — `fallbackUriPlugin` factory. - [`conformance/fallback-conformance`](./src/conformance/fallback-conformance.md) — `runFallbackConformance` consumer harness. - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-uri/README.md b/plugins/document-navigator/docs/persistence/storage/storage-uri/README.md index ea5acd7..89b57b4 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-uri/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-uri/README.md @@ -143,4 +143,3 @@ URLs cannot leak into telemetry sinks. ## License MIT - diff --git a/plugins/document-navigator/docs/persistence/storage/storage-uri/src/types/plugin.types.md b/plugins/document-navigator/docs/persistence/storage/storage-uri/src/types/plugin.types.md index f4515e2..b294751 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage-uri/src/types/plugin.types.md +++ b/plugins/document-navigator/docs/persistence/storage/storage-uri/src/types/plugin.types.md @@ -64,7 +64,7 @@ function makePlugin(adapter: StorageLike & StreamingStorageExtensions): UriPlugi ## Implementation Notes `adapter` is typed as `StorageLike` (from `@suaveplan/types`), NOT -`AbstractStorage` from `@suaveplan/storage`. That lets in-memory +`AbstractStorage` from `@suaveplan/storage`. That lets in-memory test stubs satisfy the contract without pulling in the storage runtime. `meta` is a `Record` rather than a generic shape so all adapter-specific addressing (bucket, zone, diff --git a/plugins/document-navigator/docs/persistence/storage/storage/README.md b/plugins/document-navigator/docs/persistence/storage/storage/README.md index cec56cd..84b0055 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage/README.md +++ b/plugins/document-navigator/docs/persistence/storage/storage/README.md @@ -19,9 +19,11 @@ Enterprise key-value storage abstractions for Suaveplan. Provides `AbstractStora - [types](./src/types/types.md) — _(no submodules)_ - [schemas](./src/types/schemas.md) — Provides Zod schemas for every value-type in `@suaveplan/storage` that crosses a runtime boundary — factory configurati… - [types](./src/types/types.md) — _(no submodules)_ + - namespace — `NamespacedStorage` wraps any `Abstract… - - [abstract](./src/abstract/abstract.md) — _(no submodules)_- namespace — `NamespacedStorage` wraps any `Abstract… - - [namespace](./src/abstract/namespace.md) — `NamespacedStorage` wraps any `AbstractStorage` instance and prefixes all key operations with a caller-supplied namespa… + +- [abstract](./src/abstract/abstract.md) — _(no submodules)_- namespace — `NamespacedStorage` wraps any `Abstract… +- [namespace](./src/abstract/namespace.md) — `NamespacedStorage` wraps any `AbstractStorage` instance and prefixes all key operations with a caller-supplied namespa… - [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_- [memory](./src/memory/memory.md) — _(no submodules)_- [memory](./src/memory/memory.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [schemas](./src/types/schemas.md) — Provides Zod schemas for every value-type in `@suaveplan/storage` that crosses a runtime boundary — factory configurati… - [types](./src/types/types.md) — _(no submodules)_- namespace — `NamespacedStorage` wraps any `Abstract… @@ -36,6 +38,7 @@ Enterprise key-value storage abstractions for Suaveplan. Provides `AbstractStora - [types](./src/types/types.md) — _(no submodules)_- [abstract](./src/abstract/abstract.md) — _(no submodules)_- [namespace](./src/abstract/namespace.md) — `NamespacedStorage` wraps any `AbstractStorage` instance and prefixes all key operations with a caller-supplied namespa… - [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [factory](./src/factory/factory.md) — _(no submodules)_ - [factory](./src/factory/factory.md) — _(no submodules)_- [memory](./src/memory/memory.md) — _(no submodules)_ - [memory](./src/memory/memory.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [schemas](./src/types/schemas.md) — Provides Zod schemas for every value-type in `@suaveplan/storage` that crosses a runtime boundary — factory configurati… - [types](./src/types/types.md) — _(no submodules)_ + ## Installation ```bash @@ -170,4 +173,3 @@ try { | `@opentelemetry/api` | `storage.ops` counter, `storage.op.duration_ms` histogram | | `zod` | Schema validation for config and options | | `tslib` | TypeScript runtime helpers | - diff --git a/plugins/document-navigator/docs/persistence/storage/storage/src/abstract/abstract.md b/plugins/document-navigator/docs/persistence/storage/storage/src/abstract/abstract.md index bae21cd..fc86aaa 100644 --- a/plugins/document-navigator/docs/persistence/storage/storage/src/abstract/abstract.md +++ b/plugins/document-navigator/docs/persistence/storage/storage/src/abstract/abstract.md @@ -3,6 +3,7 @@ _(no submodules)_ - namespace — `NamespacedStorage` wraps any `Abstract… + - [namespace](./namespace.md) — `NamespacedStorage` wraps any `AbstractStorage` instance and prefixes all key operations with a caller-supplied namespa… - namespace — `NamespacedStorage` wraps any `Abstract… diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-bin/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-bin/README.md index 66aeab1..405d860 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-bin/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-bin/README.md @@ -19,7 +19,9 @@ browser/server consumers that just want primitives. - [hash-password](./src/bin/hash-password.md) — _(no submodules)_ - [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_ - [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_ + - [hash-password](./src/bin/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_- [hash-password](./src/bin/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_- [hash-password](./src/bin/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_- [hash-password](./src/bin/hash-password.md) — _(no submodules)_- [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_ - [hash-password](./src/hash-password/hash-password.md) — _(no submodules)_ + ## Quickstart ```bash @@ -102,4 +104,3 @@ surfaced via `env.writeError(...)` and a non-zero return value. See No dependency on `@suaveplan/cli` — argv parsing is hand-rolled (~40 lines) so the bin stays small. - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-browser/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-browser/README.md index b2430ff..8dfa14a 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-browser/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-browser/README.md @@ -29,7 +29,9 @@ WebCrypto-backed engine implementations for `@suaveplan/crypto` — AES-256-GCM, - [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_ - [rsa](./src/rsa/rsa.md) — _(no submodules)_ - [rsa](./src/rsa/rsa.md) — _(no submodules)_ + - [aes-kw](./src/aes-kw/aes-kw.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_- [aes-kw](./src/aes-kw/aes-kw.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_- [aes-kw](./src/aes-kw/aes-kw.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_- [aes-kw](./src/aes-kw/aes-kw.md) — _(no submodules)_- [availability](./src/availability/availability.md) — _(no submodules)_ - [availability](./src/availability/availability.md) — _(no submodules)_- [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_ - [ecdh-p384](./src/ecdh-p384/ecdh-p384.md) — _(no submodules)_- [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_ - [ecdsa-p384](./src/ecdsa-p384/ecdsa-p384.md) — _(no submodules)_- [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_ - [webcrypto-aead-engine](./src/engines/webcrypto-aead-engine/webcrypto-aead-engine.md) — _(no submodules)_- [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_ - [webcrypto-agree-engine](./src/engines/webcrypto-agree-engine/webcrypto-agree-engine.md) — _(no submodules)_- [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_ - [webcrypto-sign-engine](./src/engines/webcrypto-sign-engine/webcrypto-sign-engine.md) — _(no submodules)_- [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_ - [browser-crypto-error](./src/errors/browser-crypto-error/browser-crypto-error.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_ - [non-extractable-key](./src/non-extractable-key/non-extractable-key.md) — _(no submodules)_- [rsa](./src/rsa/rsa.md) — _(no submodules)_ - [rsa](./src/rsa/rsa.md) — _(no submodules)_ + ## Modules | Module | Description | diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/README.md index f4a9586..943dfad 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/README.md @@ -41,8 +41,10 @@ Low-level AEAD (Authenticated Encryption with Associated Data) cipher primitives - [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_ - [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_ - [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_ + - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-cipher-error](./src/errors/crypto-cipher-error/crypto-cipher-error.md) — _(no submodules)_- [crypto-cipher-error](./src/errors/crypto-cipher-error/crypto-cipher-error.md) — _(no submodules)_- [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_- [aes-256-gcm.select](./src/primitives/aes-256-gcm/aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.select](./src/primitives/aes-256-gcm/aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_- [chacha20-poly1305](./src/primitives/chacha20-poly1305/chacha20-poly1305.md) — _(no submodules)_- [chacha20-poly1305.select](./src/primitives/chacha20-poly1305/chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.select](./src/primitives/chacha20-poly1305/chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.native](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305.noble](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./src/primitives/chacha20-poly1305/chacha20-poly1305.md) — _(no submodules)_- [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_- [xchacha20-poly1305.native](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.native](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.noble](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305.select](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_- [streaming-aead](./src/streaming/streaming-aead/streaming-aead.md) — _(no submodules)_- [streaming-aead](./src/streaming/streaming-aead/streaming-aead.md) — _(no submodules)_- [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_- [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_- [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_- [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-cipher-error](./src/errors/crypto-cipher-error/crypto-cipher-error.md) — _(no submodules)_- [crypto-cipher-error](./src/errors/crypto-cipher-error/crypto-cipher-error.md) — _(no submodules)_- [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no submodules)_- [aes-256-gcm.select](./src/primitives/aes-256-gcm/aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no submodules)_- [aes-256-gcm.select](./src/primitives/aes-256-gcm/aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no submodules)_- chacha20-poly1305.select — <… - [chacha20-poly1305.select](./src/primitives/chacha20-poly1305/chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.select](./src/primitives/chacha20-poly1305/chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.native](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305.noble](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./src/primitives/chacha20-poly1305/chacha20-poly1305.md) — _(no submodules)_- chacha20-poly1305.select — <… - [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native —… @@ -54,6 +56,7 @@ Low-level AEAD (Authenticated Encryption with Associated Data) cipher primitives - [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native — _(no submodules)_- [xchacha20-poly1305.native](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.noble](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305.select](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native — _(no submodules)_- [streaming-aead](./src/streaming/streaming-aead/streaming-aead.md) — _(no submodules)_- [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_- [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_- [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_- [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-cipher-error](./src/errors/crypto-cipher-error/crypto-cipher-error.md) — _(no submodules)_ - [crypto-cipher-error](./src/errors/crypto-cipher-error/crypto-cipher-error.md) — _(no submodules)_- [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_ - [aes-256-gcm.select](./src/primitives/aes-256-gcm/aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_ - [aes-256-gcm.select](./src/primitives/aes-256-gcm/aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_ - [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_ - [aes-256-gcm.native](./src/primitives/aes-256-gcm/impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_ - [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_ - [aes-256-gcm.noble](./src/primitives/aes-256-gcm/impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_ - [aes-256-gcm](./src/primitives/aes-256-gcm/aes-256-gcm.md) — _(no submodules)_- [chacha20-poly1305](./src/primitives/chacha20-poly1305/chacha20-poly1305.md) — _(no submodules)_ - [chacha20-poly1305.select](./src/primitives/chacha20-poly1305/chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_ - [chacha20-poly1305.select](./src/primitives/chacha20-poly1305/chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_ - [chacha20-poly1305.native](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_ - [chacha20-poly1305.native](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_ - [chacha20-poly1305.noble](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_ - [chacha20-poly1305.noble](./src/primitives/chacha20-poly1305/impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_ - [chacha20-poly1305](./src/primitives/chacha20-poly1305/chacha20-poly1305.md) — _(no submodules)_- [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_ - [xchacha20-poly1305.native](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_ - [xchacha20-poly1305.native](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_ - [xchacha20-poly1305.noble](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_ - [xchacha20-poly1305.noble](./src/primitives/xchacha20-poly1305/impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_ - [xchacha20-poly1305.select](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_ - [xchacha20-poly1305.select](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_ - [xchacha20-poly1305](./src/primitives/xchacha20-poly1305/xchacha20-poly1305.md) — _(no submodules)_- [streaming-aead](./src/streaming/streaming-aead/streaming-aead.md) — _(no submodules)_ - [streaming-aead](./src/streaming/streaming-aead/streaming-aead.md) — _(no submodules)_- [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_ - [streaming-aead-aes-gcm](./src/streaming/streaming-aead-aes-gcm/streaming-aead-aes-gcm.md) — _(no submodules)_- [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_ - [streaming-aead-xchacha20](./src/streaming/streaming-aead-xchacha20/streaming-aead-xchacha20.md) — _(no submodules)_ + ## Primitives - `aes-256-gcm` — NIST SP 800-38D, 12-byte nonce, 16-byte tag (appended). @@ -68,4 +71,3 @@ Low-level AEAD (Authenticated Encryption with Associated Data) cipher primitives Implementation flavour (`'noble'` vs `'native'`) is selected at build time via `crypto.config.ts`. All Phase 0 impls route to `@noble/ciphers`. - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/aes-256-gcm/aes-256-gcm.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/aes-256-gcm/aes-256-gcm.md index a9d7e9e..777bcf4 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/aes-256-gcm/aes-256-gcm.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/aes-256-gcm/aes-256-gcm.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [aes-256-gcm.select](./aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_ - [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_ - [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no s… +- [aes-256-gcm.select](./aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_ - [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_ - [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no s… - [aes-256-gcm.select](./aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./aes-256-gcm.md) — _(no submodules)_- [aes-256-gcm.select](./aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./aes-256-gcm.md) — _(no submodules)_- aes-256-gcm.select — _(no… - [aes-256-gcm.select](./aes-256-gcm.select/aes-256-gcm.select.md) — _(no submodules)_- [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_ - [aes-256-gcm.native](./impl/aes-256-gcm.native/aes-256-gcm.native.md) — _(no submodules)_- [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_ - [aes-256-gcm.noble](./impl/aes-256-gcm.noble/aes-256-gcm.noble.md) — _(no submodules)_- [aes-256-gcm](./aes-256-gcm.md) — _(no submodules)_ + ## Purpose `aes-256-gcm.ts` is the stable public entry point for the AES-256-GCM AEAD primitive in `@suaveplan/crypto-cipher`. It re-exports everything from the generated `aes-256-gcm.select.ts`, which forwards to either the Noble-backed or native implementation according to `crypto.config.ts`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/chacha20-poly1305/chacha20-poly1305.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/chacha20-poly1305/chacha20-poly1305.md index 99133dc..ae8b35d 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/chacha20-poly1305/chacha20-poly1305.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/chacha20-poly1305/chacha20-poly1305.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [chacha20-poly1305.select](./chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_ - [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_ - [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./chacha20-poly1305.md) — _(no submodules)_- chacha20-poly1305.select — … +- [chacha20-poly1305.select](./chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_ - [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_ - [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./chacha20-poly1305.md) — _(no submodules)_- chacha20-poly1305.select — … - [chacha20-poly1305.select](./chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./chacha20-poly1305.md) — _(no submodules)_- [chacha20-poly1305.select](./chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./chacha20-poly1305.md) — _(no submodules)_- chacha20-poly1305.select — <… - [chacha20-poly1305.select](./chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./chacha20-poly1305.md) — _(no submodules)_- chacha20-poly1305.select — … - [chacha20-poly1305.select](./chacha20-poly1305.select/chacha20-poly1305.select.md) — _(no submodules)_- [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_ - [chacha20-poly1305.native](./impl/chacha20-poly1305.native/chacha20-poly1305.native.md) — _(no submodules)_- [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_ - [chacha20-poly1305.noble](./impl/chacha20-poly1305.noble/chacha20-poly1305.noble.md) — _(no submodules)_- [chacha20-poly1305](./chacha20-poly1305.md) — _(no submodules)_ + ## Purpose `chacha20-poly1305.ts` is the stable public entry point for the ChaCha20-Poly1305 AEAD primitive in `@suaveplan/crypto-cipher`. It re-exports everything from the generated `chacha20-poly1305.select.ts`, which forwards to either the Noble-backed or native implementation based on `crypto.config.ts`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/xchacha20-poly1305/xchacha20-poly1305.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/xchacha20-poly1305/xchacha20-poly1305.md index 99b4c76..44e7d36 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/xchacha20-poly1305/xchacha20-poly1305.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-cipher/src/primitives/xchacha20-poly1305/xchacha20-poly1305.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [xchacha20-poly1305.native](./impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_ - [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_ - [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native — … +- [xchacha20-poly1305.native](./impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_ - [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_ - [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native — … - [xchacha20-poly1305.native](./impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./xchacha20-poly1305.md) — _(no submodules)_- [xchacha20-poly1305.native](./impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native —… - [xchacha20-poly1305.native](./impl/xchacha20-poly1305.native/xchacha20-poly1305.native.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./xchacha20-poly1305.md) — _(no submodules)_- xchacha20-poly1305.native — _(no submodules)_- [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_ - [xchacha20-poly1305.noble](./impl/xchacha20-poly1305.noble/xchacha20-poly1305.noble.md) — _(no submodules)_- [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_ - [xchacha20-poly1305.select](./xchacha20-poly1305.select/xchacha20-poly1305.select.md) — _(no submodules)_- [xchacha20-poly1305](./xchacha20-poly1305.md) — _(no submodules)_ + ## Purpose `xchacha20-poly1305.ts` is the stable public entry point for the XChaCha20-Poly1305 AEAD primitive in `@suaveplan/crypto-cipher`. It re-exports from the generated `xchacha20-poly1305.select.ts`, which forwards to the Noble-backed or native implementation based on `crypto.config.ts`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/README.md index e8c12ac..1eecec0 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/README.md @@ -39,6 +39,7 @@ Universal cryptographic primitives — engine-pluggable AEAD, Ed25519/ECDSA-P256 - [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_ - [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_ - [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_ + - [noble-aead-engine](./src/aead/noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [noble-aead-engine](./src/aead/noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./src/aead/aead.md) — _(no submodules)_- [noble-agree-engine](./src/agree/noble-agree-engine/noble-agree-engine.md) — _(no submodules)_- [noble-agree-engine](./src/agree/noble-agree-engine/noble-agree-engine.md) — _(no submodules)_- [x25519](./src/agree/x25519/x25519.md) — _(no submodules)_- [x25519](./src/agree/x25519/x25519.md) — _(no submodules)_- [auth-box](./src/auth-box/auth-box.md) — _(no submodules)_- [noble-auth-box-engine](./src/auth-box/noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [noble-auth-box-engine](./src/auth-box/noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [auth-box](./src/auth-box/auth-box.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [constant-time-equal](./src/primitives/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [constant-time-equal](./src/primitives/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [random-bytes](./src/primitives/random-bytes/random-bytes.md) — _(no submodules)_- [random-bytes](./src/primitives/random-bytes/random-bytes.md) — _(no submodules)_- [zeroize](./src/primitives/zeroize/zeroize.md) — _(no submodules)_- [zeroize](./src/primitives/zeroize/zeroize.md) — _(no submodules)_- [sealed-box](./src/sealed-box/sealed-box.md) — _(no submodules)_- [noble-sealed-box-engine](./src/sealed-box/noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [noble-sealed-box-engine](./src/sealed-box/noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./src/sealed-box/sealed-box.md) — _(no submodules)_- [ecdsa-p256](./src/sign/ecdsa-p256/ecdsa-p256.md) — _(no submodules)_- [ecdsa-p256](./src/sign/ecdsa-p256/ecdsa-p256.md) — _(no submodules)_- [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_- [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_- [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_- [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_- noble-aead-engine — _(no submodules)_- [noble-aead-engine](./src/aead/noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./src/aead/aead.md) — _(no submodules)_- noble-aead-engine — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [constant-time-equal](./src/primitives/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [constant-time-equal](./src/primitives/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [random-bytes](./src/primitives/random-bytes/random-bytes.md) — _(no submodules)_- [random-bytes](./src/primitives/random-bytes/random-bytes.md) — _(no submodules)_- [zeroize](./src/primitives/zeroize/zeroize.md) — _(no submodules)_- [zeroize](./src/primitives/zeroize/zeroize.md) — _(no submodules)_- [sealed-box](./src/sealed-box/sealed-box.md) — _(no submodules)_- noble-sealed-box-engine — … - [noble-sealed-box-engine](./src/sealed-box/noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [noble-sealed-box-engine](./src/sealed-box/noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./src/sealed-box/sealed-box.md) — _(no submodules)_- noble-sealed-box-engine — … - [ecdsa-p256](./src/sign/ecdsa-p256/ecdsa-p256.md) — _(no submodules)_- [ecdsa-p256](./src/sign/ecdsa-p256/ecdsa-p256.md) — _(no submodules)_- [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_- [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_- [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_- [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_- [noble-aead-engine](./src/aead/noble-aead-engine/noble-aead-engine.md) — _(no submodules)_ - [noble-aead-engine](./src/aead/noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./src/aead/aead.md) — _(no submodules)_- [noble-agree-engine](./src/agree/noble-agree-engine/noble-agree-engine.md) — _(no submodules)_ - [noble-agree-engine](./src/agree/noble-agree-engine/noble-agree-engine.md) — _(no submodules)_- [x25519](./src/agree/x25519/x25519.md) — _(no submodules)_ - [x25519](./src/agree/x25519/x25519.md) — _(no submodules)_- [auth-box](./src/auth-box/auth-box.md) — _(no submodules)_ - [noble-auth-box-engine](./src/auth-box/noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_ - [noble-auth-box-engine](./src/auth-box/noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_ - [auth-box](./src/auth-box/auth-box.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_ - [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [constant-time-equal](./src/primitives/constant-time-equal/constant-time-equal.md) — _(no submodules)_ - [constant-time-equal](./src/primitives/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [random-bytes](./src/primitives/random-bytes/random-bytes.md) — _(no submodules)_ - [random-bytes](./src/primitives/random-bytes/random-bytes.md) — _(no submodules)_- [zeroize](./src/primitives/zeroize/zeroize.md) — _(no submodules)_ - [zeroize](./src/primitives/zeroize/zeroize.md) — _(no submodules)_- [sealed-box](./src/sealed-box/sealed-box.md) — _(no submodules)_ - [noble-sealed-box-engine](./src/sealed-box/noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_ - [noble-sealed-box-engine](./src/sealed-box/noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_ - [sealed-box](./src/sealed-box/sealed-box.md) — _(no submodules)_- [ecdsa-p256](./src/sign/ecdsa-p256/ecdsa-p256.md) — _(no submodules)_ - [ecdsa-p256](./src/sign/ecdsa-p256/ecdsa-p256.md) — _(no submodules)_- [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_ - [ed25519](./src/sign/ed25519/ed25519.md) — _(no submodules)_- [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_ - [noble-sign-engine](./src/sign/noble-sign-engine/noble-sign-engine.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/aead/aead.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/aead/aead.md index fa93ec9..9e5eef6 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/aead/aead.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/aead/aead.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [noble-aead-engine](./noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./aead.md) — _(no submodules)_- noble-aead-engine — _(no su… +- [noble-aead-engine](./noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./aead.md) — _(no submodules)_- noble-aead-engine — _(no su… - [noble-aead-engine](./noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./aead.md) — _(no submodules)_- [noble-aead-engine](./noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./aead.md) — _(no submodules)_- noble-aead-engine — _(no submodules)_- [aead](./aead.md) — _(no submodules)_- noble-aead-engine — _(no s… - [noble-aead-engine](./noble-aead-engine/noble-aead-engine.md) — _(no submodules)_- [aead](./aead.md) — _(no submodules)_ + ## Purpose Provides authenticated encryption with associated data (AEAD) facade functions backed by `@noble/ciphers`. AEAD combines confidentiality and integrity in a single operation — encrypted data includes an authentication tag that is verified before decryption, making it safe against ciphertext tampering. The facade is engine-pluggable: pass `{ engine }` to swap in a WebCrypto-backed or libsodium-backed implementation without changing calling code. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/auth-box/auth-box.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/auth-box/auth-box.md index fdaa64c..ef98e3d 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/auth-box/auth-box.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/auth-box/auth-box.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [noble-auth-box-engine](./noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [auth-box](./auth-box.md) — _(no submodules)_- noble-auth-box-engine — _(n… +- [noble-auth-box-engine](./noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [auth-box](./auth-box.md) — _(no submodules)_- noble-auth-box-engine — _(n… - [noble-auth-box-engine](./noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [auth-box](./auth-box.md) — _(no submodules)_- [noble-auth-box-engine](./noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [auth-box](./auth-box.md) — _(no submodules)_- noble-auth-box-engine — _(no submodules)_- [auth-box](./auth-box.md) — _(no submodules)_- noble-auth-box-engine — _(… - [noble-auth-box-engine](./noble-auth-box-engine/noble-auth-box-engine.md) — _(no submodules)_- [auth-box](./auth-box.md) — _(no submodules)_ + ## Purpose Provides authenticated sealed-box encryption following `crypto_box` semantics. Unlike the anonymous `sealedBox`, the auth-box binds the sender's identity to the ciphertext: the recipient can verify that only the holder of the sender's secret key could have produced it. The protocol uses X25519 ECDH key agreement, HKDF-SHA256 key derivation, and XChaCha20-Poly1305 encryption. Both parties must hold each other's public keys before communicating, making this suitable for protocols with established key exchange such as Signal-style messaging or server-to-server encryption. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/sealed-box/sealed-box.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/sealed-box/sealed-box.md index ebdff8e..b8d5a5b 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/sealed-box/sealed-box.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-core/src/sealed-box/sealed-box.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [noble-sealed-box-engine](./noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./sealed-box.md) — _(no submodules)_- noble-sealed-box-engine — _… +- [noble-sealed-box-engine](./noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./sealed-box.md) — _(no submodules)_- noble-sealed-box-engine — _… - [noble-sealed-box-engine](./noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./sealed-box.md) — _(no submodules)_- [noble-sealed-box-engine](./noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./sealed-box.md) — _(no submodules)_- noble-sealed-box-engine — _(no submodules)_- [sealed-box](./sealed-box.md) — _(no submodules)_- noble-sealed-box-engine — … - [noble-sealed-box-engine](./noble-sealed-box-engine/noble-sealed-box-engine.md) — _(no submodules)_- [sealed-box](./sealed-box.md) — _(no submodules)_ + ## Purpose Provides anonymous-sender sealed-box encryption following `crypto_box_seal` semantics. The sender generates an ephemeral X25519 keypair, performs ECDH with the recipient's public key, derives a symmetric key via HKDF-SHA256, then encrypts with XChaCha20-Poly1305. The ephemeral public key is prepended to the ciphertext blob so the recipient can derive the same symmetric key without the sender needing to reveal their identity. This pattern is commonly used for one-way encrypted messages where sender anonymity is desired. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/README.md index 2e8f15b..ab9aac1 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/README.md @@ -59,8 +59,10 @@ Low-level elliptic-curve building blocks for the `@suaveplan/crypto` stack. Expo - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ - x25519.native — _(no submod… + - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_- [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_- [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no submodules)_- [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- ed25519.select — _(no submodules)_- p256.native — _(no submodules)_- [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_- p256.native — _(no submodules)_- p384.native — _(no submodules)_- x25519.native — _(no submo… - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_- x25519.native — _(no submo… - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_ - [crypto-curve-error](./src/errors/crypto-curve-error/crypto-curve-error.md) — _(no submodules)_- [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_ - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_ - [ed25519.select](./src/primitives/ed25519/ed25519.select/ed25519.select.md) — _(no submodules)_ - [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.native](./src/primitives/ed25519/impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519.noble](./src/primitives/ed25519/impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519](./src/primitives/ed25519/ed25519.md) — _(no submodules)_- [p256](./src/primitives/p256/p256.md) — _(no submodules)_ - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_ - [p256.native](./src/primitives/p256/impl/p256.native/p256.native.md) — _(no submodules)_ - [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.noble](./src/primitives/p256/impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_ - [p256.select](./src/primitives/p256/p256.select/p256.select.md) — _(no submodules)_ - [p256](./src/primitives/p256/p256.md) — _(no submodules)_- [p384](./src/primitives/p384/p384.md) — _(no submodules)_ - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_ - [p384.native](./src/primitives/p384/impl/p384.native/p384.native.md) — _(no submodules)_ - [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.noble](./src/primitives/p384/impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_ - [p384.select](./src/primitives/p384/p384.select/p384.select.md) — _(no submodules)_ - [p384](./src/primitives/p384/p384.md) — _(no submodules)_- [p521](./src/primitives/p521/p521.md) — _(no submodules)_ - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_ - [p521.native](./src/primitives/p521/impl/p521.native/p521.native.md) — _(no submodules)_ - [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.noble](./src/primitives/p521/impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_ - [p521.select](./src/primitives/p521/p521.select/p521.select.md) — _(no submodules)_ - [p521](./src/primitives/p521/p521.md) — _(no submodules)_- [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_ - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_ - [secp256k1.native](./src/primitives/secp256k1/impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_ - [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.noble](./src/primitives/secp256k1/impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1.select](./src/primitives/secp256k1/secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1](./src/primitives/secp256k1/secp256k1.md) — _(no submodules)_- [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_ - [x25519.native](./src/primitives/x25519/impl/x25519.native/x25519.native.md) — _(no submodules)_ - [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.noble](./src/primitives/x25519/impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./src/primitives/x25519/x25519.select/x25519.select.md) — _(no submodules)_ - [x25519](./src/primitives/x25519/x25519.md) — _(no submodules)_ + ## Primitives - `secp256k1` — ECDSA + ECDH on secp256k1 (Bitcoin/Ethereum curve). @@ -100,4 +103,3 @@ Low-level elliptic-curve building blocks for the `@suaveplan/crypto` stack. Expo Implementation flavour (`'noble'` vs `'native'`) is selected at build time via the repo-root `crypto.config.ts`. All Phase 0 impls route to `@noble/curves`. - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/ed25519/ed25519.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/ed25519/ed25519.md index 4ae233a..9bf2be5 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/ed25519/ed25519.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/ed25519/ed25519.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [ed25519.select](./ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./ed25519.md) — _(no submodules)_- ed25519.select — _(no submo… +- [ed25519.select](./ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./ed25519.md) — _(no submodules)_- ed25519.select — _(no submo… - [ed25519.select](./ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./ed25519.md) — _(no submodules)_- [ed25519.select](./ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./ed25519.md) — _(no submodules)_- ed25519.select — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./ed25519.md) — _(no submodules)_- ed25519.select — _(no subm… - [ed25519.select](./ed25519.select/ed25519.select.md) — _(no submodules)_- [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_ - [ed25519.native](./impl/ed25519.native/ed25519.native.md) — _(no submodules)_- [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_ - [ed25519.noble](./impl/ed25519.noble/ed25519.noble.md) — _(no submodules)_- [ed25519](./ed25519.md) — _(no submodules)_ + ## Purpose Ed25519 is the Edwards-curve Digital Signature Algorithm defined in RFC 8032, the recommended signature scheme for new protocols. Compared with ECDSA it has deterministic signatures (no per-signature randomness needed), constant-time verification of well-formed inputs, small 32-byte public keys and 64-byte signatures, and formal soundness properties that make it the baseline choice for TLS, SSH, JWT signing, and peer-to-peer identity. This module exposes the primitive directly — key generation, signing, verification, and public-key derivation — as thin wrappers over `@noble/curves/ed25519`, with a paired `native` stub that throws `PrimitiveNotImplemented`. Selection between the two is controlled by `crypto.config.ts` at build time. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p256/p256.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p256/p256.md index 97feaa0..03e02d9 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p256/p256.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p256/p256.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [p256.native](./impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_ - [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256](./p256.md) — _(no submodules)_- p256.native — _(no submodul… +- [p256.native](./impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_ - [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256](./p256.md) — _(no submodules)_- p256.native — _(no submodul… - [p256.native](./impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256](./p256.md) — _(no submodules)_- [p256.native](./impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256](./p256.md) — _(no submodules)_- p256.native — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256](./p256.md) — _(no submodules)_- p256.native — _(no submodu… - [p256.native](./impl/p256.native/p256.native.md) — _(no submodules)_- [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_ - [p256.noble](./impl/p256.noble/p256.noble.md) — _(no submodules)_- [p256.select](./p256.select/p256.select.md) — _(no submodules)_ - [p256.select](./p256.select/p256.select.md) — _(no submodules)_- [p256](./p256.md) — _(no submodules)_ + ## Purpose `p256.ts` is the stable public entry point for the NIST P-256 elliptic-curve primitive in `@suaveplan/crypto-curve`. It re-exports everything from `p256.select.ts`, which forwards to either the Noble-backed or native implementation based on `crypto.config.ts`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p384/p384.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p384/p384.md index 3adb8e3..3e88b45 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p384/p384.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p384/p384.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [p384.native](./impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_ - [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384](./p384.md) — _(no submodules)_- p384.native — _(no submodul… +- [p384.native](./impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_ - [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384](./p384.md) — _(no submodules)_- p384.native — _(no submodul… - [p384.native](./impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384](./p384.md) — _(no submodules)_- [p384.native](./impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384](./p384.md) — _(no submodules)_- p384.native — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384](./p384.md) — _(no submodules)_- p384.native — _(no submodu… - [p384.native](./impl/p384.native/p384.native.md) — _(no submodules)_- [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_ - [p384.noble](./impl/p384.noble/p384.noble.md) — _(no submodules)_- [p384.select](./p384.select/p384.select.md) — _(no submodules)_ - [p384.select](./p384.select/p384.select.md) — _(no submodules)_- [p384](./p384.md) — _(no submodules)_ + ## Purpose `p384.ts` is the stable public entry point for the NIST P-384 elliptic-curve diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p521/p521.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p521/p521.md index 1094cbe..1d31bd5 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p521/p521.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/p521/p521.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [p521.native](./impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_ - [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521](./p521.md) — _(no submodules)_- p521.native — _(no submodul… +- [p521.native](./impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_ - [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521](./p521.md) — _(no submodules)_- p521.native — _(no submodul… - [p521.native](./impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521](./p521.md) — _(no submodules)_- [p521.native](./impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521](./p521.md) — _(no submodules)_- p521.native — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521](./p521.md) — _(no submodules)_- p521.native — _(no submodu… - [p521.native](./impl/p521.native/p521.native.md) — _(no submodules)_- [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_ - [p521.noble](./impl/p521.noble/p521.noble.md) — _(no submodules)_- [p521.select](./p521.select/p521.select.md) — _(no submodules)_ - [p521.select](./p521.select/p521.select.md) — _(no submodules)_- [p521](./p521.md) — _(no submodules)_ + ## Purpose `p521.ts` is the stable public entry point for the NIST P-521 elliptic-curve diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/secp256k1/secp256k1.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/secp256k1/secp256k1.md index d1daf1f..f70374e 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/secp256k1/secp256k1.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/secp256k1/secp256k1.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [secp256k1.native](./impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./secp256k1.md) — _(no submodules)_- secp256k1.native — _(no sub… +- [secp256k1.native](./impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./secp256k1.md) — _(no submodules)_- secp256k1.native — _(no sub… - [secp256k1.native](./impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./secp256k1.md) — _(no submodules)_- [secp256k1.native](./impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./secp256k1.md) — _(no submodules)_- secp256k1.native — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./secp256k1.md) — _(no submodules)_- secp256k1.native — _(no su… - [secp256k1.native](./impl/secp256k1.native/secp256k1.native.md) — _(no submodules)_- [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_ - [secp256k1.noble](./impl/secp256k1.noble/secp256k1.noble.md) — _(no submodules)_- [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_ - [secp256k1.select](./secp256k1.select/secp256k1.select.md) — _(no submodules)_- [secp256k1](./secp256k1.md) — _(no submodules)_ + ## Purpose `secp256k1.ts` is the stable public entry point for the secp256k1 elliptic-curve primitive in `@suaveplan/crypto-curve`. It re-exports everything from the generated selector file `secp256k1.select.ts`, which in turn forwards to either the Noble-backed or native implementation depending on `crypto.config.ts`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/x25519/x25519.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/x25519/x25519.md index a82155d..d63ccf8 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/x25519/x25519.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-curve/src/primitives/x25519/x25519.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [x25519.native](./impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./x25519.md) — _(no submodules)_- x25519.native — _(no submod… +- [x25519.native](./impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./x25519.md) — _(no submodules)_- x25519.native — _(no submod… - [x25519.native](./impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./x25519.md) — _(no submodules)_- [x25519.native](./impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./x25519.md) — _(no submodules)_- x25519.native — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./x25519.md) — _(no submodules)_- x25519.native — _(no submo… - [x25519.native](./impl/x25519.native/x25519.native.md) — _(no submodules)_- [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_ - [x25519.noble](./impl/x25519.noble/x25519.noble.md) — _(no submodules)_- [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_ - [x25519.select](./x25519.select/x25519.select.md) — _(no submodules)_- [x25519](./x25519.md) — _(no submodules)_ + ## Purpose `x25519.ts` is the stable public entry point for the X25519 elliptic-curve Diffie-Hellman primitive in `@suaveplan/crypto-curve`. It re-exports everything from `x25519.select.ts`, which forwards to either the Noble-backed or native implementation based on `crypto.config.ts`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/README.md index 07116ac..2725225 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/README.md @@ -81,8 +81,10 @@ tree-shakeable. - [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_ - [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_ - [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_ + - [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- [blake2b.noble](./src/primitives/blake2b/impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b.noble](./src/primitives/blake2b/impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_- [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_- [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- blake2b.noble — _(no submodules)_- [blake2b.noble](./src/primitives/blake2b/impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- blake2b.noble — _(no submodules)_- [blake2b.noble](./src/primitives/blake2b/impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- blake2b.noble — _(no submodules)_- [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- scrypt.noble — _(no submodules)_- [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- scrypt.noble — _(no submodules)_- [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- blake2b.noble — _(no submo… @@ -90,6 +92,7 @@ tree-shakeable. - [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_- [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- scrypt.noble — _(no submod… - [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- scrypt.noble — _(no submod… - [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_- [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_ - [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_ - [hash-error](./src/errors/hash-error/hash-error.md) — _(no submodules)_- [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_ - [sha2](./src/hash/sha2/sha2.md) — _(no submodules)_- [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_ - [argon2id](./src/kdf/argon2id/argon2id.md) — _(no submodules)_- [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_ - [hkdf](./src/kdf/hkdf/hkdf.md) — _(no submodules)_- [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_ - [pbkdf2](./src/kdf/pbkdf2/pbkdf2.md) — _(no submodules)_- [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_ - [argon2id-password](./src/mac/argon2id-password/argon2id-password.md) — _(no submodules)_- [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_ - [blake2b-password](./src/mac/blake2b-password/blake2b-password.md) — _(no submodules)_- [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_ - [hmac](./src/mac/hmac/hmac.md) — _(no submodules)_- [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_ - [argon2id.select](./src/primitives/argon2id/argon2id.select/argon2id.select.md) — _(no submodules)_- [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_ - [argon2id.native](./src/primitives/argon2id/impl/argon2id.native/argon2id.native.md) — _(no submodules)_- [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_ - [argon2id.noble](./src/primitives/argon2id/impl/argon2id.noble/argon2id.noble.md) — _(no submodules)_- [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_ - [blake2b.noble](./src/primitives/blake2b/impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_ - [blake2b.noble](./src/primitives/blake2b/impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_ - [blake2b](./src/primitives/blake2b/blake2b.md) — _(no submodules)_- [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_ - [hkdf.select](./src/primitives/hkdf/hkdf.select/hkdf.select.md) — _(no submodules)_- [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_ - [hkdf.native](./src/primitives/hkdf/impl/hkdf.native/hkdf.native.md) — _(no submodules)_- [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_ - [hkdf.noble](./src/primitives/hkdf/impl/hkdf.noble/hkdf.noble.md) — _(no submodules)_- [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_ - [hmac.select](./src/primitives/hmac/hmac.select/hmac.select.md) — _(no submodules)_- [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_ - [hmac.native](./src/primitives/hmac/impl/hmac.native/hmac.native.md) — _(no submodules)_- [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_ - [hmac.noble](./src/primitives/hmac/impl/hmac.noble/hmac.noble.md) — _(no submodules)_- [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_ - [pbkdf2.native](./src/primitives/pbkdf2/impl/pbkdf2.native/pbkdf2.native.md) — _(no submodules)_- [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_ - [pbkdf2.noble](./src/primitives/pbkdf2/impl/pbkdf2.noble/pbkdf2.noble.md) — _(no submodules)_- [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_ - [pbkdf2.select](./src/primitives/pbkdf2/pbkdf2.select/pbkdf2.select.md) — _(no submodules)_- [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_ - [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_ - [scrypt.noble](./src/primitives/scrypt/impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_ - [scrypt](./src/primitives/scrypt/scrypt.md) — _(no submodules)_- [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_ - [sha256.native](./src/primitives/sha256/impl/sha256.native/sha256.native.md) — _(no submodules)_- [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_ - [sha256.noble](./src/primitives/sha256/impl/sha256.noble/sha256.noble.md) — _(no submodules)_- [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_ - [sha256.select](./src/primitives/sha256/sha256.select/sha256.select.md) — _(no submodules)_- [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_ - [sha384.native](./src/primitives/sha384/impl/sha384.native/sha384.native.md) — _(no submodules)_- [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_ - [sha384.noble](./src/primitives/sha384/impl/sha384.noble/sha384.noble.md) — _(no submodules)_- [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_ - [sha384.select](./src/primitives/sha384/sha384.select/sha384.select.md) — _(no submodules)_- [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_ - [sha512.native](./src/primitives/sha512/impl/sha512.native/sha512.native.md) — _(no submodules)_- [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_ - [sha512.noble](./src/primitives/sha512/impl/sha512.noble/sha512.noble.md) — _(no submodules)_- [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_ - [sha512.select](./src/primitives/sha512/sha512.select/sha512.select.md) — _(no submodules)_ + ## Packages | Module | File | Exports | @@ -125,4 +128,3 @@ import { HashError, HASH_CODES } from "@suaveplan/crypto-hash/errors"; ## License MIT - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/blake2b/blake2b.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/blake2b/blake2b.md index a914ee7..a304ef7 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/blake2b/blake2b.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/blake2b/blake2b.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [blake2b.noble](./impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./blake2b.md) — _(no submodules)_- blake2b.noble — _(no submod… +- [blake2b.noble](./impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./blake2b.md) — _(no submodules)_- blake2b.noble — _(no submod… - [blake2b.noble](./impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./blake2b.md) — _(no submodules)_- [blake2b.noble](./impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./blake2b.md) — _(no submodules)_- blake2b.noble — _(no submodules)_- [blake2b](./blake2b.md) — _(no submodules)_- blake2b.noble — _(no submo… - [blake2b.noble](./impl/blake2b.noble/blake2b.noble.md) — _(no submodules)_- [blake2b](./blake2b.md) — _(no submodules)_ + ## Purpose `blake2b.ts` is the public entry point for the BLAKE2b hash primitive (RFC 7693) in `@suaveplan/crypto-hash`. BLAKE2b is a fast, secure cryptographic hash function used by Argon2, password-manager keystreams, blockchain-protocol commitments (Zcash, Polkadot), and many other modern protocols. The suaveplan implementation routes through the per-primitive selector layout (`blake2b.select.ts`) so the noble engine can be replaced without changing caller imports. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/scrypt/scrypt.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/scrypt/scrypt.md index 02eccb3..6f7b418 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/scrypt/scrypt.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-hash/src/primitives/scrypt/scrypt.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [scrypt.noble](./impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./scrypt.md) — _(no submodules)_- scrypt.noble — _(no submodu… +- [scrypt.noble](./impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./scrypt.md) — _(no submodules)_- scrypt.noble — _(no submodu… - [scrypt.noble](./impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./scrypt.md) — _(no submodules)_- [scrypt.noble](./impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./scrypt.md) — _(no submodules)_- scrypt.noble — _(no submodules)_- [scrypt](./scrypt.md) — _(no submodules)_- scrypt.noble — _(no submod… - [scrypt.noble](./impl/scrypt.noble/scrypt.noble.md) — _(no submodules)_- [scrypt](./scrypt.md) — _(no submodules)_ + ## Purpose `scrypt.ts` is the public entry point for the scrypt KDF (RFC 7914) primitive in `@suaveplan/crypto-hash`. scrypt is a memory-hard password-based key derivation function — its `N` parameter forces an attacker to allocate `N * r * 64` bytes of fast memory per guess, which makes brute-force attacks on hardware accelerators dramatically more expensive than they would be against PBKDF2 or even bcrypt. It is the right KDF when callers want stronger memory-hardness than PBKDF2 but cannot adopt Argon2id (e.g. cross-stack interop with older Bitcoin / Litecoin tooling, or compatibility with the standard library on platforms that ship scrypt natively). diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-keys/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-keys/README.md index db9b066..40afe65 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-keys/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-keys/README.md @@ -189,4 +189,3 @@ with a stable `CHAIN_KEYS.*` code. Verification failures don't throw; they return `{ valid: false, errors: [...] }` so callers can chain multiple verification attempts without try/catch. Only construction-time errors (e.g. an invalid `domainTag`) throw synchronously. - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-rsa/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-rsa/README.md index 5a7d37a..8a16976 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-rsa/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-rsa/README.md @@ -20,75 +20,77 @@ encrypt / decrypt / key-generation entry points, the engine adapter (`@noble/cur ## Documentation tree -- [__benchmarks__](./src/__benchmarks__/blinded_vs_unblinded_2048.md) — _(no submodules)_ - - [blinded_vs_unblinded_2048](./src/__benchmarks__/blinded_vs_unblinded_2048.md) — _(no submodules)_ -- [rsa-2048-key](./src/__fixtures__/rsa-2048-key.md) — Real 2048-bit RSA keypair generated once at module-load time and exposed as canonical `RsaPublicKey` / `RsaPrivateKey`… -- [test-keys](./src/__fixtures__/test-keys.md) — Tiny synthetic RSA keypair for unit tests that need an `RsaPrivateKey` / `RsaPublicKey` shape but don't need to run a r… -- [reader](./src/asn1/reader.md) — Strict-DER reader scoped to the RSA key shapes defined in RFC 8017 Appendix A (PKCS#1), RFC 5280 §4.1 + Appendix A (`Su… -- [writer](./src/asn1/writer.md) — Strict-DER encoder mirroring `asn1/reader`. Encodes the same minimal subset of ASN.1 needed to serialise RSA keys in PK… -- [blinding](./src/blinding/blinding.md) — _(no submodules)_ - - [blinding](./src/blinding/blinding.md) — _(no submodules)_ -- [oaep](./src/decrypt/oaep.md) — RSAES-OAEP decryption per RFC 8017 §7.1.2 — counterpart to `encrypt/oaep`. Modern default for RSA public-key encryption. -- [pkcs1v15](./src/decrypt/pkcs1v15.md) — RSAES-PKCS1-v1_5 decryption per RFC 8017 §7.2.2. Counterpart to `encrypt/pkcs1v15`. Provides legacy interop for protoco… -- [emsa-pkcs1-v1_5](./src/encoding/emsa-pkcs1-v1_5.md) — Implements EMSA-PKCS1-v1\_5-ENCODE from RFC 8017 §9.2 — the encoding method underlying RSASSA-PKCS1-v1\_5 signatures. T… -- [emsa-pss-encode](./src/encoding/emsa-pss-encode.md) — Implements the EMSA-PSS encoding operation defined in RFC 8017 §9.1.1. Given a message digest, an encoded-message bit l… -- [emsa-pss-verify](./src/encoding/emsa-pss-verify.md) — Implements the EMSA-PSS verification operation defined in RFC 8017 §9.1.2. Given the message digest, the candidate enco… -- [mgf1](./src/encoding/mgf1.md) — Implements the MGF1 mask-generation function defined in RFC 8017 §B.2.1. MGF1 is the building block used by EMSA-PSS an… -- [default-rng](./src/encrypt/default-rng.md) — Single canonical adapter that lifts the `crypto.getRandomValues` CSPRNG into the `@suaveplan/types` `Rng` interface eve… -- [oaep](./src/encrypt/oaep.md) — RSAES-OAEP encryption per RFC 8017 §7.1.1. The Optimal Asymmetric Encryption Padding (OAEP) scheme is the modern defaul… -- [pkcs1v15](./src/encrypt/pkcs1v15.md) — RSAES-PKCS1-v1_5 encryption per RFC 8017 §7.2.1 — the legacy public-key encryption padding scheme historically used by… -- [noble](./src/engine/noble.md) — Default `RsaCryptoEngine` backed by the pure-JS noble primitives this package ships natively. Provides the `name: "nobl… -- [select](./src/engine/select.md) — Resolve the default `RsaCryptoEngine` for the host runtime. When `globalThis.crypto.subtle` exposes the RSA algorithms… -- [subtle](./src/engine/subtle.md) — `RsaCryptoEngine` adapter over `globalThis.crypto.subtle`. When the host runtime exposes WebCrypto, this engine routes… -- [errors](./src/errors/errors.md) — _(no submodules)_ - - [errors](./src/errors/errors.md) — _(no submodules)_ -- [format](./src/fingerprint/format.md) — Render a fingerprint byte sequence as a human- and machine-readable string. Provides four output formats covering every… -- [spki](./src/fingerprint/spki.md) — Compute a deterministic fingerprint of an RSA public key by hashing its SPKI DER encoding (RFC 5280 §4.1 `SubjectPublic… -- [registry](./src/handle/registry.md) — Process-wide registry for RSA key-handle providers. Every HSM, KMS, OS keychain, or PKCS#11 bridge registers a provider… -- [software](./src/handle/software.md) — Reference `RsaKeyHandleProvider` wrapping in-memory `RsaPrivateKey` values. Implements the same interface as a real HSM… -- [thumbprint-uri](./src/jwk/thumbprint-uri.md) — Compute the JWK Thumbprint URI per RFC 9278 §3 — the canonical `urn:ietf:params:oauth:jwk-thumbprint:: 1`, `< 2^256`) live here so they c… -- [generate](./src/keygen/generate.md) — RSA key-pair generation per NIST FIPS 186-5 Appendix A.1 and SP 800-56B Rev. 2 §6.3. Two-prime by default; multi-prime… -- [miller-rabin](./src/keygen/miller-rabin.md) — Probable-prime test per NIST FIPS 186-5 Appendix B.3.1, used by `generateRsaKeyPair` to qualify candidate primes during… -- [multi-prime](./src/keygen/multi-prime.md) — Multi-prime RSA key generation per RFC 8017 §3 and PKCS #1 Appendix A.1.2 `OtherPrimeInfos` extension. Reachable via th… -- [jwk-policy](./src/keys/jwk-policy.md) — Cross-check a JWK's `key_ops`, `use`, and `alg` members against the requested operation per RFC 7517 §4.2 / §4.3 / §4.4… -- [oid](./src/keys/oid.md) — Centralised OID constants for the RSA wire formats handled by this package. Currently exports `OID_RSA_ENCRYPTION` (`1.… -- [parse-jwk](./src/keys/parse-jwk.md) — Parses RSA JWKs per RFC 7517 §6.3.1 (public) and §6.3.2 (private). Accepts the JWK as a plain JS object literal, as a J… -- [parse-pkcs1-private](./src/keys/parse-pkcs1-private.md) — Parses a DER-encoded `RSAPrivateKey` per RFC 8017 Appendix A.1.2 into the canonical `RsaPrivateKey` shape with mandator… -- [parse-pkcs1-public](./src/keys/parse-pkcs1-public.md) — Parses a DER-encoded `RSAPublicKey ::= SEQUENCE { modulus INTEGER, publicExponent INTEGER }` per RFC 8017 Appendix A.1.… -- [parse-pkcs8](./src/keys/parse-pkcs8.md) — Parses a PKCS#8 `PrivateKeyInfo` per RFC 5208 §5 — also accepts the RFC 5958 `OneAsymmetricKey` shape, which adds optio… -- [parse-spki](./src/keys/parse-spki.md) — Parses an X.509 `SubjectPublicKeyInfo` per RFC 5280 §4.1 + Appendix A and unwraps the inner PKCS#1 `RSAPublicKey`. SPKI… -- [parse](./src/keys/parse.md) — Public dispatcher entry-point unifying the four key-format parsers (PKCS#1, SPKI, PKCS#8, JWK) under one ergonomic call… -- [serialize-jwk](./src/keys/serialize-jwk.md) — Inverse of `parseRsaPublicKeyJwk` and `parseRsaPrivateKeyJwk`. Emits an `RsaJwk` with every numeric field encoded as ba… -- [serialize-pkcs1-private](./src/keys/serialize-pkcs1-private.md) — Inverse of `parseRsaPrivateKeyPkcs1`. Emits a DER `RSAPrivateKey` SEQUENCE per RFC 8017 Appendix A.1.2 from a canonical… -- [serialize-pkcs1-public](./src/keys/serialize-pkcs1-public.md) — Inverse of `parseRsaPublicKeyPkcs1`. Emits a DER `RSAPublicKey` SEQUENCE per RFC 8017 Appendix A.1.1 from a canonical `… -- [serialize-pkcs8](./src/keys/serialize-pkcs8.md) — Inverse of `parseRsaPrivateKeyPkcs8`. Wraps a serialised PKCS#1 `RSAPrivateKey` in a DER `PrivateKeyInfo` per RFC 5208… -- [serialize-spki](./src/keys/serialize-spki.md) — Inverse of `parseRsaPublicKeySpki`. Wraps a serialised PKCS#1 `RSAPublicKey` in a DER `SubjectPublicKeyInfo` per RFC 52… -- [serialize](./src/keys/serialize.md) — Public dispatcher entry-point inverse of `parse`. Selects the per-format serialiser via the same `format` discriminator… -- [crt](./src/math/crt.md) — RSA private-key operation via the Chinese Remainder Theorem (RFC 8017 §5.1.2, second-form algorithm). Computes `m = c^d… -- [i2osp](./src/math/i2osp.md) — Integer-to-Octet-String Primitive (RFC 8017 §4.1). Encodes a non-negative integer as a fixed-length big-endian byte str… -- [modpow](./src/math/modpow.md) — Single-source-of-truth modular exponentiation for the entire `@suaveplan/crypto-rsa` package. Wraps `@noble/curves/abst… -- [os2ip](./src/math/os2ip.md) — Octet-String-to-Integer Primitive (RFC 8017 §4.2). Decodes a big-endian byte string into a non-negative `bigint`. Used… -- [metrics](./src/observability/metrics.md) — OpenTelemetry meter + instrument registry for `@suaveplan/crypto-rsa`. defines the full instrument set the prop… -- [timing](./src/observability/timing.md) — Centralised high-resolution clock source used by every metric histogram in `@suaveplan/crypto-rsa`. Resolves to `perfor… -- [labels](./src/pem/labels.md) — Centralised PEM textual labels per RFC 7468 §5/§10/§11 used by the public and private PEM parsers and serialisers in th… -- [parse-private](./src/pem/parse-private.md) — Parse an RSA private key from RFC 7468 PEM textual encoding. Accepts the two canonical private-key armor labels — `"PRI… -- [parse-public](./src/pem/parse-public.md) — Parse an RSA public key from RFC 7468 PEM textual encoding. Accepts both canonical armor labels — `"PUBLIC KEY"` (SPKI… -- [pem-codec](./src/pem/pem-codec.md) — Underlying RFC 7468 textual-encoding codec used by the four PEM parse/serialise entry points in this module. Splits the… -- [serialize-private](./src/pem/serialize-private.md) — Inverse of `parseRsaPrivateKeyPem`. Emits PEM textual encoding for an RSA private key in either PKCS#8 (`"PRIVATE KEY"`… -- [serialize-public](./src/pem/serialize-public.md) — Inverse of `parseRsaPublicKeyPem`. Emits PEM textual encoding for an RSA public key in either SPKI (`"PUBLIC KEY"`, the… -- [policy](./src/policy/modulus.md) — _(no submodules)_ - - [modulus](./src/policy/modulus.md) — _(no submodules)_ -- [profile](./src/profile/profile.md) — _(no submodules)_ - - [profile](./src/profile/profile.md) — _(no submodules)_ -- [schemas](./src/schemas/schemas.md) — _(no submodules)_ - - [schemas](./src/schemas/schemas.md) — _(no submodules)_ -- [pkcs1v15](./src/sign/pkcs1v15.md) — RSASSA-PKCS1-v1\_5 signature generation per RFC 8017 §8.2.1. Hashes the message with the configured algorithm, applies… -- [pss](./src/sign/pss.md) — RSASSA-PSS signature generation per RFC 8017 §8.1.1. Hashes the message, draws a random salt of the configured length,… -- [pkcs1v15](./src/verify/pkcs1v15.md) — RSASSA-PKCS1-v1\_5 signature verification per RFC 8017 §8.2.2. Recovers the encoded message from `signature` via `s^e m… -- [pss](./src/verify/pss.md) — RSASSA-PSS signature verification per RFC 8017 §8.1.2. Recovers the encoded message via `s^e mod n`, then runs the EMSA… ++ [__benchmarks__](./src/__benchmarks__/blinded_vs_unblinded_2048.md) — _(no submodules)_ + + [blinded_vs_unblinded_2048](./src/__benchmarks__/blinded_vs_unblinded_2048.md) — _(no submodules)_ ++ [rsa-2048-key](./src/__fixtures__/rsa-2048-key.md) — Real 2048-bit RSA keypair generated once at module-load time and exposed as canonical `RsaPublicKey` / `RsaPrivateKey`… ++ [test-keys](./src/__fixtures__/test-keys.md) — Tiny synthetic RSA keypair for unit tests that need an `RsaPrivateKey` / `RsaPublicKey` shape but don't need to run a r… ++ [reader](./src/asn1/reader.md) — Strict-DER reader scoped to the RSA key shapes defined in RFC 8017 Appendix A (PKCS#1), RFC 5280 §4.1 + Appendix A (`Su… ++ [writer](./src/asn1/writer.md) — Strict-DER encoder mirroring `asn1/reader`. Encodes the same minimal subset of ASN.1 needed to serialise RSA keys in PK… ++ [blinding](./src/blinding/blinding.md) — _(no submodules)_ + + [blinding](./src/blinding/blinding.md) — _(no submodules)_ ++ [oaep](./src/decrypt/oaep.md) — RSAES-OAEP decryption per RFC 8017 §7.1.2 — counterpart to `encrypt/oaep`. Modern default for RSA public-key encryption. ++ [pkcs1v15](./src/decrypt/pkcs1v15.md) — RSAES-PKCS1-v1_5 decryption per RFC 8017 §7.2.2. Counterpart to `encrypt/pkcs1v15`. Provides legacy interop for protoco… ++ [emsa-pkcs1-v1_5](./src/encoding/emsa-pkcs1-v1_5.md) — Implements EMSA-PKCS1-v1\_5-ENCODE from RFC 8017 §9.2 — the encoding method underlying RSASSA-PKCS1-v1\_5 signatures. T… ++ [emsa-pss-encode](./src/encoding/emsa-pss-encode.md) — Implements the EMSA-PSS encoding operation defined in RFC 8017 §9.1.1. Given a message digest, an encoded-message bit l… ++ [emsa-pss-verify](./src/encoding/emsa-pss-verify.md) — Implements the EMSA-PSS verification operation defined in RFC 8017 §9.1.2. Given the message digest, the candidate enco… ++ [mgf1](./src/encoding/mgf1.md) — Implements the MGF1 mask-generation function defined in RFC 8017 §B.2.1. MGF1 is the building block used by EMSA-PSS an… ++ [default-rng](./src/encrypt/default-rng.md) — Single canonical adapter that lifts the `crypto.getRandomValues` CSPRNG into the `@suaveplan/types` `Rng` interface eve… ++ [oaep](./src/encrypt/oaep.md) — RSAES-OAEP encryption per RFC 8017 §7.1.1. The Optimal Asymmetric Encryption Padding (OAEP) scheme is the modern defaul… ++ [pkcs1v15](./src/encrypt/pkcs1v15.md) — RSAES-PKCS1-v1_5 encryption per RFC 8017 §7.2.1 — the legacy public-key encryption padding scheme historically used by… ++ [noble](./src/engine/noble.md) — Default `RsaCryptoEngine` backed by the pure-JS noble primitives this package ships natively. Provides the `name: "nobl… ++ [select](./src/engine/select.md) — Resolve the default `RsaCryptoEngine` for the host runtime. When `globalThis.crypto.subtle` exposes the RSA algorithms… ++ [subtle](./src/engine/subtle.md) — `RsaCryptoEngine` adapter over `globalThis.crypto.subtle`. When the host runtime exposes WebCrypto, this engine routes… ++ [errors](./src/errors/errors.md) — _(no submodules)_ + + [errors](./src/errors/errors.md) — _(no submodules)_ ++ [format](./src/fingerprint/format.md) — Render a fingerprint byte sequence as a human- and machine-readable string. Provides four output formats covering every… ++ [spki](./src/fingerprint/spki.md) — Compute a deterministic fingerprint of an RSA public key by hashing its SPKI DER encoding (RFC 5280 §4.1 `SubjectPublic… ++ [registry](./src/handle/registry.md) — Process-wide registry for RSA key-handle providers. Every HSM, KMS, OS keychain, or PKCS#11 bridge registers a provider… ++ [software](./src/handle/software.md) — Reference `RsaKeyHandleProvider` wrapping in-memory `RsaPrivateKey` values. Implements the same interface as a real HSM… ++ [thumbprint-uri](./src/jwk/thumbprint-uri.md) — Compute the JWK Thumbprint URI per RFC 9278 §3 — the canonical `urn:ietf:params:oauth:jwk-thumbprint:: 1`, `< 2^256`) live here so they c… ++ [generate](./src/keygen/generate.md) — RSA key-pair generation per NIST FIPS 186-5 Appendix A.1 and SP 800-56B Rev. 2 §6.3. Two-prime by default; multi-prime… ++ [miller-rabin](./src/keygen/miller-rabin.md) — Probable-prime test per NIST FIPS 186-5 Appendix B.3.1, used by `generateRsaKeyPair` to qualify candidate primes during… ++ [multi-prime](./src/keygen/multi-prime.md) — Multi-prime RSA key generation per RFC 8017 §3 and PKCS #1 Appendix A.1.2 `OtherPrimeInfos` extension. Reachable via th… ++ [jwk-policy](./src/keys/jwk-policy.md) — Cross-check a JWK's `key_ops`, `use`, and `alg` members against the requested operation per RFC 7517 §4.2 / §4.3 / §4.4… ++ [oid](./src/keys/oid.md) — Centralised OID constants for the RSA wire formats handled by this package. Currently exports `OID_RSA_ENCRYPTION` (`1.… ++ [parse-jwk](./src/keys/parse-jwk.md) — Parses RSA JWKs per RFC 7517 §6.3.1 (public) and §6.3.2 (private). Accepts the JWK as a plain JS object literal, as a J… ++ [parse-pkcs1-private](./src/keys/parse-pkcs1-private.md) — Parses a DER-encoded `RSAPrivateKey` per RFC 8017 Appendix A.1.2 into the canonical `RsaPrivateKey` shape with mandator… ++ [parse-pkcs1-public](./src/keys/parse-pkcs1-public.md) — Parses a DER-encoded `RSAPublicKey ::= SEQUENCE { modulus INTEGER, publicExponent INTEGER }` per RFC 8017 Appendix A.1.… ++ [parse-pkcs8](./src/keys/parse-pkcs8.md) — Parses a PKCS#8 `PrivateKeyInfo` per RFC 5208 §5 — also accepts the RFC 5958 `OneAsymmetricKey` shape, which adds optio… ++ [parse-spki](./src/keys/parse-spki.md) — Parses an X.509 `SubjectPublicKeyInfo` per RFC 5280 §4.1 + Appendix A and unwraps the inner PKCS#1 `RSAPublicKey`. SPKI… ++ [parse](./src/keys/parse.md) — Public dispatcher entry-point unifying the four key-format parsers (PKCS#1, SPKI, PKCS#8, JWK) under one ergonomic call… ++ [serialize-jwk](./src/keys/serialize-jwk.md) — Inverse of `parseRsaPublicKeyJwk` and `parseRsaPrivateKeyJwk`. Emits an `RsaJwk` with every numeric field encoded as ba… ++ [serialize-pkcs1-private](./src/keys/serialize-pkcs1-private.md) — Inverse of `parseRsaPrivateKeyPkcs1`. Emits a DER `RSAPrivateKey` SEQUENCE per RFC 8017 Appendix A.1.2 from a canonical… ++ [serialize-pkcs1-public](./src/keys/serialize-pkcs1-public.md) — Inverse of `parseRsaPublicKeyPkcs1`. Emits a DER `RSAPublicKey` SEQUENCE per RFC 8017 Appendix A.1.1 from a canonical `… ++ [serialize-pkcs8](./src/keys/serialize-pkcs8.md) — Inverse of `parseRsaPrivateKeyPkcs8`. Wraps a serialised PKCS#1 `RSAPrivateKey` in a DER `PrivateKeyInfo` per RFC 5208… ++ [serialize-spki](./src/keys/serialize-spki.md) — Inverse of `parseRsaPublicKeySpki`. Wraps a serialised PKCS#1 `RSAPublicKey` in a DER `SubjectPublicKeyInfo` per RFC 52… ++ [serialize](./src/keys/serialize.md) — Public dispatcher entry-point inverse of `parse`. Selects the per-format serialiser via the same `format` discriminator… ++ [crt](./src/math/crt.md) — RSA private-key operation via the Chinese Remainder Theorem (RFC 8017 §5.1.2, second-form algorithm). Computes `m = c^d… ++ [i2osp](./src/math/i2osp.md) — Integer-to-Octet-String Primitive (RFC 8017 §4.1). Encodes a non-negative integer as a fixed-length big-endian byte str… ++ [modpow](./src/math/modpow.md) — Single-source-of-truth modular exponentiation for the entire `@suaveplan/crypto-rsa` package. Wraps `@noble/curves/abst… ++ [os2ip](./src/math/os2ip.md) — Octet-String-to-Integer Primitive (RFC 8017 §4.2). Decodes a big-endian byte string into a non-negative `bigint`. Used… ++ [metrics](./src/observability/metrics.md) — OpenTelemetry meter + instrument registry for `@suaveplan/crypto-rsa`. defines the full instrument set the prop… ++ [timing](./src/observability/timing.md) — Centralised high-resolution clock source used by every metric histogram in `@suaveplan/crypto-rsa`. Resolves to `perfor… ++ [labels](./src/pem/labels.md) — Centralised PEM textual labels per RFC 7468 §5/§10/§11 used by the public and private PEM parsers and serialisers in th… ++ [parse-private](./src/pem/parse-private.md) — Parse an RSA private key from RFC 7468 PEM textual encoding. Accepts the two canonical private-key armor labels — `"PRI… ++ [parse-public](./src/pem/parse-public.md) — Parse an RSA public key from RFC 7468 PEM textual encoding. Accepts both canonical armor labels — `"PUBLIC KEY"` (SPKI… ++ [pem-codec](./src/pem/pem-codec.md) — Underlying RFC 7468 textual-encoding codec used by the four PEM parse/serialise entry points in this module. Splits the… ++ [serialize-private](./src/pem/serialize-private.md) — Inverse of `parseRsaPrivateKeyPem`. Emits PEM textual encoding for an RSA private key in either PKCS#8 (`"PRIVATE KEY"`… ++ [serialize-public](./src/pem/serialize-public.md) — Inverse of `parseRsaPublicKeyPem`. Emits PEM textual encoding for an RSA public key in either SPKI (`"PUBLIC KEY"`, the… ++ [policy](./src/policy/modulus.md) — _(no submodules)_ + + [modulus](./src/policy/modulus.md) — _(no submodules)_ ++ [profile](./src/profile/profile.md) — _(no submodules)_ + + [profile](./src/profile/profile.md) — _(no submodules)_ ++ [schemas](./src/schemas/schemas.md) — _(no submodules)_ + + [schemas](./src/schemas/schemas.md) — _(no submodules)_ ++ [pkcs1v15](./src/sign/pkcs1v15.md) — RSASSA-PKCS1-v1\_5 signature generation per RFC 8017 §8.2.1. Hashes the message with the configured algorithm, applies… ++ [pss](./src/sign/pss.md) — RSASSA-PSS signature generation per RFC 8017 §8.1.1. Hashes the message, draws a random salt of the configured length,… ++ [pkcs1v15](./src/verify/pkcs1v15.md) — RSASSA-PKCS1-v1\_5 signature verification per RFC 8017 §8.2.2. Recovers the encoded message from `signature` via `s^e m… ++ [pss](./src/verify/pss.md) — RSASSA-PSS signature verification per RFC 8017 §8.1.2. Recovers the encoded message via `s^e mod n`, then runs the EMSA… + + [blinded_vs_unblinded_2048](./src/__benchmarks__/blinded_vs_unblinded_2048.md) — _(no submodules)_+ [rsa-2048-key](./src/__fixtures__/rsa-2048-key.md) — Real 2048-bit RSA keypair generated once at module-load time and exposed as canonical `RsaPublicKey` / `RsaPrivateKey`… + + [test-keys](./src/__fixtures__/test-keys.md) — Tiny synthetic RSA keypair for unit tests that need an `RsaPrivateKey` / `RsaPublicKey` shape but don't need to run a r… + [reader](./src/asn1/reader.md) — Strict-DER reader scoped to the RSA key shapes defined in RFC 8017 Appendix A (PKCS#1), RFC 5280 §4.1 + Appendix A (`Su… + [writer](./src/asn1/writer.md) — Strict-DER encoder mirroring `asn1/reader`. Encodes the same minimal subset of ASN.1 needed to serialise RSA keys in PK… @@ -461,4 +463,3 @@ const v = modPow(c, publicKey.e, publicKey.n); // public op ## License MIT - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-sodium/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-sodium/README.md index a50fe3f..28aafe6 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-sodium/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-sodium/README.md @@ -31,7 +31,9 @@ libsodium-backed engine implementations for `@suaveplan/crypto`. Provides AEAD e - [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_ - [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_ - [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_ + - [sodium-aead-engine](./src/engines/sodium-aead-engine/sodium-aead-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_- [sodium-aead-engine](./src/engines/sodium-aead-engine/sodium-aead-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_- [sodium-aead-engine](./src/engines/sodium-aead-engine/sodium-aead-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_- [sodium-aead-engine](./src/engines/sodium-aead-engine/sodium-aead-engine.md) — _(no submodules)_- [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_ - [sodium-agree-engine](./src/engines/sodium-agree-engine/sodium-agree-engine.md) — _(no submodules)_- [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_ - [sodium-auth-box-engine](./src/engines/sodium-auth-box-engine/sodium-auth-box-engine.md) — _(no submodules)_- [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_ - [sodium-sealed-box-engine](./src/engines/sodium-sealed-box-engine/sodium-sealed-box-engine.md) — _(no submodules)_- [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_ - [sodium-sign-engine](./src/engines/sodium-sign-engine/sodium-sign-engine.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_ - [sodium-error](./src/errors/sodium-error/sodium-error.md) — _(no submodules)_- [init](./src/init/init.md) — _(no submodules)_ - [init](./src/init/init.md) — _(no submodules)_- [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_ - [crypto-auth](./src/primitives/crypto-auth/crypto-auth.md) — _(no submodules)_- [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_ - [crypto-kdf](./src/primitives/crypto-kdf/crypto-kdf.md) — _(no submodules)_- [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_ - [crypto-pwhash](./src/primitives/crypto-pwhash/crypto-pwhash.md) — _(no submodules)_- [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_ - [ristretto255](./src/primitives/ristretto255/ristretto255.md) — _(no submodules)_ + ## Installation ```sh diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-utils/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-utils/README.md index be9cd95..318e8ff 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-utils/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-utils/README.md @@ -45,7 +45,9 @@ Shared cryptographic utilities consumed internally by all other `@suaveplan/cryp - [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_ - [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_ - [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_ + - [concat-bytes](./src/bytes/concat-bytes/concat-bytes.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_- [concat-bytes](./src/bytes/concat-bytes/concat-bytes.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_- [concat-bytes](./src/bytes/concat-bytes/concat-bytes.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_- [concat-bytes](./src/bytes/concat-bytes/concat-bytes.md) — _(no submodules)_- [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_ - [i2osp](./src/bytes/i2osp/i2osp.md) — _(no submodules)_- [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_ - [os2ip](./src/bytes/os2ip/os2ip.md) — _(no submodules)_- [xor](./src/bytes/xor/xor.md) — _(no submodules)_ - [xor](./src/bytes/xor/xor.md) — _(no submodules)_- [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_ - [constant-time-equal](./src/constant-time/constant-time-equal/constant-time-equal.md) — _(no submodules)_- [base58](./src/encoding/base58/base58.md) — _(no submodules)_ - [base58](./src/encoding/base58/base58.md) — _(no submodules)_- [base64](./src/encoding/base64/base64.md) — _(no submodules)_ - [base64](./src/encoding/base64/base64.md) — _(no submodules)_- [hex](./src/encoding/hex/hex.md) — _(no submodules)_ - [hex](./src/encoding/hex/hex.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_ - [crypto-utils-error](./src/errors/crypto-utils-error/crypto-utils-error.md) — _(no submodules)_- [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_ - [primitive-not-implemented](./src/errors/primitive-not-implemented/primitive-not-implemented.md) — _(no submodules)_- [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_ - [merkle-proof](./src/merkle/merkle-proof/merkle-proof.md) — _(no submodules)_- [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_ - [merkle-root](./src/merkle/merkle-root/merkle-root.md) — _(no submodules)_- [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_ - [primitive-id](./src/primitive-id/primitive-id.md) — _(no submodules)_- [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_ - [random-bytes](./src/random/random-bytes/random-bytes.md) — _(no submodules)_- [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_ - [diff-fuzz](./src/testing/diff-fuzz/diff-fuzz.md) — _(no submodules)_- [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_ - [dudect](./src/testing/dudect/dudect.md) — _(no submodules)_- [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_ - [run-vectors](./src/testing/run-vectors/run-vectors.md) — _(no submodules)_- [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_ - [zeroize](./src/zeroize/zeroize.md) — _(no submodules)_ + ## Subpath exports - `@suaveplan/crypto-utils` — umbrella barrel. @@ -62,4 +64,3 @@ Shared cryptographic utilities consumed internally by all other `@suaveplan/cryp ## Module documentation See each co-located `.md` next to its implementation file. - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/README.md index ea7edf5..da493db 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/README.md @@ -39,7 +39,9 @@ instances that zeroize on lock. - [twoskd](./src/twoskd/twoskd.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + - [argon2id](./src/argon2id/argon2id.md) — _(no submodules)_- [bip39](./src/bip39/bip39.md) — _(no submodules)_- [bip39](./src/bip39/bip39.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `codes.ts` is the canonical, frozen registry of every error code emitted by `@suaveplan/crypto-vault`. The registry exi… + - [crypto-vault-error](./src/errors/crypto-vault-error.md) — `CryptoVaultError` is the umbrella error class for `@suaveplan/crypto-vault`. Every failure mode in the package — inval… - [handle](./src/handle/opaque-handle.md) — _(no submodules)_- [opaque-handle](./src/handle/opaque-handle.md) — _(no submodules)_- [hd-key](./src/hd-key/hd-key.md) — _(no submodules)_- [hd-key](./src/hd-key/hd-key.md) — _(no submodules)_- [key-hierarchy](./src/key-hierarchy/key-hierarchy.md) — _(no submodules)_- [key-hierarchy](./src/key-hierarchy/key-hierarchy.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [secure](./src/secure/secure-buffer.md) — _(no submodules)_- [secure-buffer](./src/secure/secure-buffer.md) — _(no submodules)_- [srp-client](./src/srp/srp-client.md) — `srp-client.ts` implements the client side of the SRP-6a zero-knowledge password-authenticated key exchange per RFC 505… - [srp-group](./src/srp/srp-group.md) — `srp-group.ts` exports the canonical 2048-bit MODP group from RFC 5054 Appendix A as `bigint` constants. The SRP-6a cli… @@ -56,6 +58,7 @@ instances that zeroize on lock. - [handle](./src/handle/opaque-handle.md) — _(no submodules)_ - [opaque-handle](./src/handle/opaque-handle.md) — _(no submodules)_- [hd-key](./src/hd-key/hd-key.md) — _(no submodules)_ - [hd-key](./src/hd-key/hd-key.md) — _(no submodules)_- [key-hierarchy](./src/key-hierarchy/key-hierarchy.md) — _(no submodules)_ - [key-hierarchy](./src/key-hierarchy/key-hierarchy.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_- [secure](./src/secure/secure-buffer.md) — _(no submodules)_ - [secure-buffer](./src/secure/secure-buffer.md) — _(no submodules)_- [srp-client](./src/srp/srp-client.md) — `srp-client.ts` implements the client side of the SRP-6a zero-knowledge password-authenticated key exchange per RFC 505… - [srp-group](./src/srp/srp-group.md) — `srp-group.ts` exports the canonical 2048-bit MODP group from RFC 5054 Appendix A as `bigint` constants. The SRP-6a cli… - [twoskd](./src/twoskd/twoskd.md) — _(no submodules)_ - [twoskd](./src/twoskd/twoskd.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_ + ## Install ```bash @@ -150,4 +153,3 @@ console.log(wrapped.isClosed); // true ## License MIT - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/src/orchestration/orchestration.md b/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/src/orchestration/orchestration.md index 1bf88d5..01d688b 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/src/orchestration/orchestration.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto-vault/src/orchestration/orchestration.md @@ -96,7 +96,7 @@ console.log(decoded["sign"].publicKey === server2.publicKeys["sign"].publicKey); `Promise`. Deterministically derives a child master via `HMAC-SHA512(rootMaster, u32be(version))` truncated to 32 bytes. Throws `CryptoVaultError(CRYPTOVAULT.ORCHESTRATION.INVALID_VERSION)` on negative or - non-integer `version`. Public-key file is signed by the *root* sign slot. + non-integer `version`. Public-key file is signed by the _root_ sign slot. - `rollServerKeys(rootKeys, currentVersion, serverPassword, options?)` → `Promise`. Returns a result at `version = currentVersion + 1`. Throws the same `INVALID_VERSION` error on negative `currentVersion`. diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto/README.md b/plugins/document-navigator/docs/security-stack/crypto/crypto/README.md index 6774893..5434bae 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto/README.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto/README.md @@ -57,7 +57,9 @@ Universal cryptographic primitives — engine-pluggable AEAD, Ed25519/ECDSA-P256 - [trust-anchor](./src/trust-anchors/trust-anchor.md) — _(no submodules)_ - [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_ - [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_ + - [authority](./src/authority/authority.md) — _(no submodules)_- [chain-bundle](./src/bundles/chain-bundle/chain-bundle.md) — _(no submodules)_- [chain-bundle](./src/bundles/chain-bundle/chain-bundle.md) — _(no submodules)_- [public-bundle](./src/bundles/public-bundle/public-bundle.md) — _(no submodules)_- [public-bundle](./src/bundles/public-bundle/public-bundle.md) — _(no submodules)_- [coordinate](./src/derivation/coordinate/coordinate.md) — _(no submodules)_- [coordinate](./src/derivation/coordinate/coordinate.md) — _(no submodules)_- [layouts](./src/derivation/layouts/layouts.md) — _(no submodules)_- [layouts](./src/derivation/layouts/layouts.md) — _(no submodules)_- [purposes](./src/derivation/purposes/purposes.md) — _(no submodules)_- [purposes](./src/derivation/purposes/purposes.md) — _(no submodules)_- [domain-tags](./src/domain-tags/domain-tags.md) — _(no submodules)_- [domain-tags](./src/domain-tags/domain-tags.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [codes](./src/errors/keys-errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/keys-errors/codes/codes.md) — _(no submodules)_- [crypto-keys-error](./src/errors/keys-errors/crypto-keys-error/crypto-keys-error.md) — _(no submodules)_- [crypto-keys-error](./src/errors/keys-errors/crypto-keys-error/crypto-keys-error.md) — _(no submodules)_- [codes](./src/errors/vault-errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/vault-errors/codes/codes.md) — _(no submodules)_- [crypto-vault-error](./src/errors/vault-errors/crypto-vault-error/crypto-vault-error.md) — _(no submodules)_- [crypto-vault-error](./src/errors/vault-errors/crypto-vault-error/crypto-vault-error.md) — _(no submodules)_- [keychain](./src/keychain/keychain.md) — _(no submodules)_- [algorithms](./src/keychain/algorithms/algorithms.md) — _(no submodules)_- [algorithms](./src/keychain/algorithms/algorithms.md) — _(no submodules)_- [key-slot](./src/keychain/key-slot/key-slot.md) — _(no submodules)_- [key-slot](./src/keychain/key-slot/key-slot.md) — _(no submodules)_- [generate](./src/keychain/keypair/generate/generate.md) — _(no submodules)_- [generate](./src/keychain/keypair/generate/generate.md) — _(no submodules)_- [validate](./src/keychain/keypair/validate/validate.md) — _(no submodules)_- [validate](./src/keychain/keypair/validate/validate.md) — _(no submodules)_- [memory](./src/keychain/storage/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/keychain/storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./src/keychain/storage/adapters/serialized/serialized.md) — _(no submodules)_- [serialized](./src/keychain/storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./src/keychain/validity/validity.md) — _(no submodules)_- [validity](./src/keychain/validity/validity.md) — _(no submodules)_- [keychain](./src/keychain/keychain.md) — _(no submodules)_- [derive-key-from-password](./src/password/derive-key-from-password.md) — `derive-key-from-password.ts` is the low-level password-to-key derivation helper in `@suaveplan/crypto`. It accepts a p… + - [encrypt-with-password](./src/password/encrypt-with-password.md) — `encrypt-with-password.ts` is the high-level password-based encryption helper in `@suaveplan/crypto`. It accepts a pass… - [trust-anchors](./src/trust-anchors/trust-anchor.md) — _(no submodules)_- [trust-anchor](./src/trust-anchors/trust-anchor.md) — _(no submodules)_- [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_- [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_- [authority](./src/authority/authority.md) — _(no submodules)_- [chain-bundle](./src/bundles/chain-bundle/chain-bundle.md) — _(no submodules)_- [chain-bundle](./src/bundles/chain-bundle/chain-bundle.md) — _(no submodules)_- [public-bundle](./src/bundles/public-bundle/public-bundle.md) — _(no submodules)_- [public-bundle](./src/bundles/public-bundle/public-bundle.md) — _(no submodules)_- [coordinate](./src/derivation/coordinate/coordinate.md) — _(no submodules)_- [coordinate](./src/derivation/coordinate/coordinate.md) — _(no submodules)_- [layouts](./src/derivation/layouts/layouts.md) — _(no submodules)_- [layouts](./src/derivation/layouts/layouts.md) — _(no submodules)_- [purposes](./src/derivation/purposes/purposes.md) — _(no submodules)_- [purposes](./src/derivation/purposes/purposes.md) — _(no submodules)_- [domain-tags](./src/domain-tags/domain-tags.md) — _(no submodules)_- [domain-tags](./src/domain-tags/domain-tags.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [codes](./src/errors/keys-errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/keys-errors/codes/codes.md) — _(no submodules)_- [crypto-keys-error](./src/errors/keys-errors/crypto-keys-error/crypto-keys-error.md) — _(no submodules)_- [crypto-keys-error](./src/errors/keys-errors/crypto-keys-error/crypto-keys-error.md) — _(no submodules)_- [codes](./src/errors/vault-errors/codes/codes.md) — _(no submodules)_- [codes](./src/errors/vault-errors/codes/codes.md) — _(no submodules)_- [crypto-vault-error](./src/errors/vault-errors/crypto-vault-error/crypto-vault-error.md) — _(no submodules)_- [crypto-vault-error](./src/errors/vault-errors/crypto-vault-error/crypto-vault-error.md) — _(no submodules)_- [keychain](./src/keychain/keychain.md) — _(no submodules)_- algorithms — _(no submodules)_- [algorithms](./src/keychain/algorithms/algorithms.md) — _(no submodules)_- [key-slot](./src/keychain/key-slot/key-slot.md) — _(no submodules)_- [key-slot](./src/keychain/key-slot/key-slot.md) — _(no submodules)_- [generate](./src/keychain/keypair/generate/generate.md) — _(no submodules)_- [generate](./src/keychain/keypair/generate/generate.md) — _(no submodules)_- [validate](./src/keychain/keypair/validate/validate.md) — _(no submodules)_- [validate](./src/keychain/keypair/validate/validate.md) — _(no submodules)_- [memory](./src/keychain/storage/adapters/memory/memory.md) — _(no submodules)_- [memory](./src/keychain/storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./src/keychain/storage/adapters/serialized/serialized.md) — _(no submodules)_- [serialized](./src/keychain/storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./src/keychain/validity/validity.md) — _(no submodules)_- [validity](./src/keychain/validity/validity.md) — _(no submodules)_- [keychain](./src/keychain/keychain.md) — _(no submodules)_- algorithms — _(no submodules)_- [trust-anchor](./src/trust-anchors/trust-anchor.md) — _(no submodules)_- [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_- [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_- [authority](./src/authority/authority.md) — _(no submodules)_- [chain-bundle](./src/bundles/chain-bundle/chain-bundle.md) — _(no submodules)_ - [chain-bundle](./src/bundles/chain-bundle/chain-bundle.md) — _(no submodules)_- [public-bundle](./src/bundles/public-bundle/public-bundle.md) — _(no submodules)_ - [public-bundle](./src/bundles/public-bundle/public-bundle.md) — _(no submodules)_- [coordinate](./src/derivation/coordinate/coordinate.md) — _(no submodules)_ - [coordinate](./src/derivation/coordinate/coordinate.md) — _(no submodules)_- [layouts](./src/derivation/layouts/layouts.md) — _(no submodules)_ - [layouts](./src/derivation/layouts/layouts.md) — _(no submodules)_- [purposes](./src/derivation/purposes/purposes.md) — _(no submodules)_ - [purposes](./src/derivation/purposes/purposes.md) — _(no submodules)_- [domain-tags](./src/domain-tags/domain-tags.md) — _(no submodules)_ - [domain-tags](./src/domain-tags/domain-tags.md) — _(no submodules)_- [codes](./src/errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/codes/codes.md) — _(no submodules)_- [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_ - [crypto-error](./src/errors/crypto-error/crypto-error.md) — _(no submodules)_- [codes](./src/errors/keys-errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/keys-errors/codes/codes.md) — _(no submodules)_- [crypto-keys-error](./src/errors/keys-errors/crypto-keys-error/crypto-keys-error.md) — _(no submodules)_ - [crypto-keys-error](./src/errors/keys-errors/crypto-keys-error/crypto-keys-error.md) — _(no submodules)_- [codes](./src/errors/vault-errors/codes/codes.md) — _(no submodules)_ - [codes](./src/errors/vault-errors/codes/codes.md) — _(no submodules)_- [crypto-vault-error](./src/errors/vault-errors/crypto-vault-error/crypto-vault-error.md) — _(no submodules)_ - [crypto-vault-error](./src/errors/vault-errors/crypto-vault-error/crypto-vault-error.md) — _(no submodules)_- [keychain](./src/keychain/keychain.md) — _(no submodules)_ - [algorithms](./src/keychain/algorithms/algorithms.md) — _(no submodules)_ - [algorithms](./src/keychain/algorithms/algorithms.md) — _(no submodules)_ - [key-slot](./src/keychain/key-slot/key-slot.md) — _(no submodules)_ - [key-slot](./src/keychain/key-slot/key-slot.md) — _(no submodules)_ - [generate](./src/keychain/keypair/generate/generate.md) — _(no submodules)_ - [generate](./src/keychain/keypair/generate/generate.md) — _(no submodules)_ - [validate](./src/keychain/keypair/validate/validate.md) — _(no submodules)_ - [validate](./src/keychain/keypair/validate/validate.md) — _(no submodules)_ - [memory](./src/keychain/storage/adapters/memory/memory.md) — _(no submodules)_ - [memory](./src/keychain/storage/adapters/memory/memory.md) — _(no submodules)_ - [serialized](./src/keychain/storage/adapters/serialized/serialized.md) — _(no submodules)_ - [serialized](./src/keychain/storage/adapters/serialized/serialized.md) — _(no submodules)_ - [validity](./src/keychain/validity/validity.md) — _(no submodules)_ - [validity](./src/keychain/validity/validity.md) — _(no submodules)_ - [keychain](./src/keychain/keychain.md) — _(no submodules)_- [derive-key-from-password](./src/password/derive-key-from-password.md) — `derive-key-from-password.ts` is the low-level password-to-key derivation helper in `@suaveplan/crypto`. It accepts a p… - [encrypt-with-password](./src/password/encrypt-with-password.md) — `encrypt-with-password.ts` is the high-level password-based encryption helper in `@suaveplan/crypto`. It accepts a pass… - [trust-anchors](./src/trust-anchors/trust-anchor.md) — _(no submodules)_ - [trust-anchor](./src/trust-anchors/trust-anchor.md) — _(no submodules)_- [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_ - [mnemonic](./src/vault/mnemonic/mnemonic.md) — _(no submodules)_ + ## Install ```bash @@ -213,4 +216,3 @@ import { CryptoError, CRYPTO_CODES } from "@suaveplan/crypto/errors"; ```bash bunx turbo lint typecheck test:coverage --filter=@suaveplan/crypto ``` - diff --git a/plugins/document-navigator/docs/security-stack/crypto/crypto/src/keychain/keychain.md b/plugins/document-navigator/docs/security-stack/crypto/crypto/src/keychain/keychain.md index f6dff05..9c646a7 100644 --- a/plugins/document-navigator/docs/security-stack/crypto/crypto/src/keychain/keychain.md +++ b/plugins/document-navigator/docs/security-stack/crypto/crypto/src/keychain/keychain.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [algorithms](./algorithms/algorithms.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_ - [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_ - [generate](./keypair/generate/generate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_ - [validate](./keypair/validate/validate.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_ - [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_ - [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_ - [validity](./validity/validity.md) — _(no submodules)_- [keychain](./keychain.md) — _(no submodules)_- algorithms — _(no submodule… +- [algorithms](./algorithms/algorithms.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_ - [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_ - [generate](./keypair/generate/generate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_ - [validate](./keypair/validate/validate.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_ - [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_ - [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_ - [validity](./validity/validity.md) — _(no submodules)_- [keychain](./keychain.md) — _(no submodules)_- algorithms — _(no submodule… - [algorithms](./algorithms/algorithms.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_- [keychain](./keychain.md) — _(no submodules)_- [algorithms](./algorithms/algorithms.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_- [keychain](./keychain.md) — _(no submodules)_- algorithms — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_- [keychain](./keychain.md) — _(no submodules)_- algorithms — _(no submodul… - [algorithms](./algorithms/algorithms.md) — _(no submodules)_- [key-slot](./key-slot/key-slot.md) — _(no submodules)_ - [key-slot](./key-slot/key-slot.md) — _(no submodules)_- [generate](./keypair/generate/generate.md) — _(no submodules)_ - [generate](./keypair/generate/generate.md) — _(no submodules)_- [validate](./keypair/validate/validate.md) — _(no submodules)_ - [validate](./keypair/validate/validate.md) — _(no submodules)_- [memory](./storage/adapters/memory/memory.md) — _(no submodules)_ - [memory](./storage/adapters/memory/memory.md) — _(no submodules)_- [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_ - [serialized](./storage/adapters/serialized/serialized.md) — _(no submodules)_- [validity](./validity/validity.md) — _(no submodules)_ - [validity](./validity/validity.md) — _(no submodules)_- [keychain](./keychain.md) — _(no submodules)_ + ## Purpose A `Keychain` is the typed, eight-slot identity bundle for a single application instance. It encodes every cryptographic role a real system needs — master derivation, encryption, signing, key-agreement, salting, hashing, streaming, and device identity — under one coherent versioned address. This is the central artifact of the package: vaults serialise it, public bundles distribute its public projection, the Authority interface signs _through_ its slots, and every higher-level operation (Packer envelopes, chain traversal, audit log) ultimately resolves back to a slot in some keychain. diff --git a/plugins/document-navigator/docs/security-stack/security/hibp/README.md b/plugins/document-navigator/docs/security-stack/security/hibp/README.md index 3a7622f..fe5dfc1 100644 --- a/plugins/document-navigator/docs/security-stack/security/hibp/README.md +++ b/plugins/document-navigator/docs/security-stack/security/hibp/README.md @@ -36,10 +36,12 @@ required runtime primitive is `fetch`. - [paste.schema](./src/schemas/paste.schema.md) — `PasteSchema` validates the HIBP v3 `Paste` payload returned by `/pasteaccount/{email}`. Older paste records can omit `… - [pwned-result.schema](./src/schemas/pwned-result.schema.md) — `PwnedResultSchema` validates the runtime shape of every `checkPassword` result. It is the final boundary between the i… - [error-codes](./src/error-codes.md) — Hosts the canonical `HIBP_CODES` registry — exactly seven error codes that classify every failure path inside `@suavepl… + - lru — `LruHibpCache` is the default cache for `H… - - [cache](./src/cache/cache.md) — _(no submodules)_- lru — `LruHibpCache` is the default cache for `H… - - [lru](./src/cache/lru.md) — `LruHibpCache` is the default cache for `HibpClient`. It holds up to `LRU_DEFAULT_CAPACITY` entries (10 000) with `L… - - [null](./src/cache/null.md) — `NullHibpCache` is the always-miss adapter used by `HibpClient` when the caller explicitly opts out of caching (`cac… + +- [cache](./src/cache/cache.md) — _(no submodules)_- lru — `LruHibpCache` is the default cache for `H… +- [lru](./src/cache/lru.md) — `LruHibpCache` is the default cache for `HibpClient`. It holds up to `LRU_DEFAULT_CAPACITY` entries (10 000) with `L… +- [null](./src/cache/null.md) — `NullHibpCache` is the always-miss adapter used by `HibpClient` when the caller explicitly opts out of caching (`cac… - [client](./src/client/client.md) — _(no submodules)_- options.schema — `HibpClientOptionsSchema` is the Z… - [client](./src/client/client.md) — _(no submodules)_- options.schema — `HibpClientOptionsSchema` is the Z… - [options.schema](./src/client/options.schema.md) — `HibpClientOptionsSchema` is the Zod boundary for the `HibpClient` constructor. It is `.strict()` — unknown keys cause… @@ -219,4 +221,3 @@ Run with `bun run benchmark` (see `src/__benchmarks__/`). ## License MIT - diff --git a/plugins/document-navigator/docs/security-stack/security/hibp/src/cache/cache.md b/plugins/document-navigator/docs/security-stack/security/hibp/src/cache/cache.md index 311b220..da3e203 100644 --- a/plugins/document-navigator/docs/security-stack/security/hibp/src/cache/cache.md +++ b/plugins/document-navigator/docs/security-stack/security/hibp/src/cache/cache.md @@ -3,6 +3,7 @@ _(no submodules)_ - lru — `LruHibpCache` is the default cache for `H… + - [lru](./lru.md) — `LruHibpCache` is the default cache for `HibpClient`. It holds up to `LRU_DEFAULT_CAPACITY` entries (10 000) with `L… - [null](./null.md) — `NullHibpCache` is the always-miss adapter used by `HibpClient` when the caller explicitly opts out of caching (`cac… - lru — `LruHibpCache` is the default cache for `H… diff --git a/plugins/document-navigator/docs/security-stack/security/hibp/src/client/client.md b/plugins/document-navigator/docs/security-stack/security/hibp/src/client/client.md index e90b922..0e07aac 100644 --- a/plugins/document-navigator/docs/security-stack/security/hibp/src/client/client.md +++ b/plugins/document-navigator/docs/security-stack/security/hibp/src/client/client.md @@ -3,6 +3,7 @@ _(no submodules)_ - options.schema — `HibpClientOptionsSchema` is the Z… + - [options.schema](./options.schema.md) — `HibpClientOptionsSchema` is the Zod boundary for the `HibpClient` constructor. It is `.strict()` — unknown keys cause… - options.schema — `HibpClientOptionsSchema` is the Z… diff --git a/plugins/document-navigator/docs/security-stack/security/jws/README.md b/plugins/document-navigator/docs/security-stack/security/jws/README.md index 34a1eb1..f6a7ed6 100644 --- a/plugins/document-navigator/docs/security-stack/security/jws/README.md +++ b/plugins/document-navigator/docs/security-stack/security/jws/README.md @@ -42,9 +42,11 @@ RFC 7515 **JSON Web Signature** (verify + sign). Pure TypeScript over `Uint8Arra - [sign-pipeline](./src/sign/sign-pipeline.md) — _(no submodules)_ - [verify](./src/verify/verify-pipeline.md) — _(no submodules)_ - [verify-pipeline](./src/verify/verify-pipeline.md) — _(no submodules)_ + - [base64url](./src/base64url/base64url.md) — _(no submodules)_- [detached](./src/detached/detached.md) — _(no submodules)_- [detached](./src/detached/detached.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [header](./src/header/header.md) — _(no submodules)_- [b64](./src/header/b64.md) — RFC 7797 §3 implements the `b64` header parameter, allowing JWS producers to embed unencoded payloads directly into the… - - [crit](./src/header/crit.md) — RFC 7515 §4.1.11 enforcement: every entry in `header.crit` MUST be in the caller's `acceptableCriticalHeaders` allowlis… - - [header](./src/header/header.md) — _(no submodules)_- [jwk](./src/keys/jwk.md) — Parse an RFC 7517 §4 / RFC 7518 §6 JSON Web Key into the typed key shape expected by the JWS algorithm impl for the dec… + +- [crit](./src/header/crit.md) — RFC 7515 §4.1.11 enforcement: every entry in `header.crit` MUST be in the caller's `acceptableCriticalHeaders` allowlis… +- [header](./src/header/header.md) — _(no submodules)_- [jwk](./src/keys/jwk.md) — Parse an RFC 7517 §4 / RFC 7518 §6 JSON Web Key into the typed key shape expected by the JWS algorithm impl for the dec… - [resolver](./src/keys/resolver.md) — Caller-supplied key-resolution function consulted when `header.kid` is present and no key has been supplied via `opts.k… - [x5c](./src/keys/x5c.md) — Decode an RFC 7515 §4.1.6 `x5c` certificate chain, delegate trust-path validation to `@suaveplan/x509.validateChain`, a… - [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [compact](./src/serialization/compact/compact.md) — _(no submodules)_- [compact](./src/serialization/compact/compact.md) — _(no submodules)_- [flat](./src/serialization/flat/flat.md) — _(no submodules)_- [flat](./src/serialization/flat/flat.md) — _(no submodules)_- [general](./src/serialization/general/general.md) — _(no submodules)_- [general](./src/serialization/general/general.md) — _(no submodules)_- [sign](./src/sign/sign-pipeline.md) — _(no submodules)_- [sign-pipeline](./src/sign/sign-pipeline.md) — _(no submodules)_- [verify](./src/verify/verify-pipeline.md) — _(no submodules)_- [verify-pipeline](./src/verify/verify-pipeline.md) — _(no submodules)_- [base64url](./src/base64url/base64url.md) — _(no submodules)_- [detached](./src/detached/detached.md) — _(no submodules)_- [detached](./src/detached/detached.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [header](./src/header/header.md) — _(no submodules)_- [b64](./src/header/b64.md) — RFC 7797 §3 implements the `b64` header parameter, allowing JWS producers to embed unencoded payloads directly into the… @@ -63,6 +65,7 @@ RFC 7515 **JSON Web Signature** (verify + sign). Pure TypeScript over `Uint8Arra - [resolver](./src/keys/resolver.md) — Caller-supplied key-resolution function consulted when `header.kid` is present and no key has been supplied via `opts.k… - [x5c](./src/keys/x5c.md) — Decode an RFC 7515 §4.1.6 `x5c` certificate chain, delegate trust-path validation to `@suaveplan/x509.validateChain`, a… - [observability](./src/observability/metrics.md) — _(no submodules)_ - [metrics](./src/observability/metrics.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_- [compact](./src/serialization/compact/compact.md) — _(no submodules)_ - [compact](./src/serialization/compact/compact.md) — _(no submodules)_- [flat](./src/serialization/flat/flat.md) — _(no submodules)_ - [flat](./src/serialization/flat/flat.md) — _(no submodules)_- [general](./src/serialization/general/general.md) — _(no submodules)_ - [general](./src/serialization/general/general.md) — _(no submodules)_- [sign](./src/sign/sign-pipeline.md) — _(no submodules)_ - [sign-pipeline](./src/sign/sign-pipeline.md) — _(no submodules)_- [verify](./src/verify/verify-pipeline.md) — _(no submodules)_ - [verify-pipeline](./src/verify/verify-pipeline.md) — _(no submodules)_ + ## Install ```sh @@ -144,4 +147,3 @@ const result = await compactVerify(token, secret, { algorithms: ["HS256"] }); ## License MIT. - diff --git a/plugins/document-navigator/docs/security-stack/security/license/README.md b/plugins/document-navigator/docs/security-stack/security/license/README.md index 3a741c1..ddb450b 100644 --- a/plugins/document-navigator/docs/security-stack/security/license/README.md +++ b/plugins/document-navigator/docs/security-stack/security/license/README.md @@ -175,4 +175,3 @@ breaks the circular dependency between "decode needs the seed" and ## License MIT. - diff --git a/plugins/document-navigator/docs/security-stack/security/otp/README.md b/plugins/document-navigator/docs/security-stack/security/otp/README.md index eb89a39..81c1565 100644 --- a/plugins/document-navigator/docs/security-stack/security/otp/README.md +++ b/plugins/document-navigator/docs/security-stack/security/otp/README.md @@ -38,7 +38,9 @@ - [format-uri](./src/uri/format-uri.md) — Build a canonical `otpauth://` URI from an `OtpUri` value object. Round-trips with `parseUri` for every valid input. Pe… - [parse-uri](./src/uri/parse-uri.md) — Parse the `otpauth://` Key URI Format used by Google Authenticator and every compatible authenticator app. Supports bot… - [uri.schema](./src/uri/uri.schema.md) — Zod boundary schemas for the `OtpUri` discriminated union. `OtpTotpUriSchema` and `OtpHotpUriSchema` cover the per-vari… + - [base32](./src/base32/base32.md) — _(no submodules)_- [drift](./src/drift/detect.md) — _(no submodules)_- [detect](./src/drift/detect.md) — _(no submodules)_- [codes](./src/errors/codes.md) — Stable, registered error codes for `@suaveplan/otp` plus the typed `OtpError` base class. Every failure that crosses th… + - [zod-map](./src/errors/zod-map.md) — Translate Zod boundary failures into the most-specific `OtpErrorCode`. When a caller passes options that fail strict-mo… - [hotp](./src/hotp/hotp.md) — _(no submodules)_- hotp.schema — Zod boundary schema for `HotpOptions`… - [encode-counter](./src/hotp/encode-counter.md) — Encode an HOTP counter as the 8-byte big-endian block required by RFC 4226 §5.1. `bigint` is the canonical input type b… @@ -204,4 +206,3 @@ const r = verify(code, secret); ## License MIT - diff --git a/plugins/document-navigator/docs/security-stack/security/otp/src/hotp/hotp.md b/plugins/document-navigator/docs/security-stack/security/otp/src/hotp/hotp.md index bce360f..844471f 100644 --- a/plugins/document-navigator/docs/security-stack/security/otp/src/hotp/hotp.md +++ b/plugins/document-navigator/docs/security-stack/security/otp/src/hotp/hotp.md @@ -3,6 +3,7 @@ _(no submodules)_ - hotp.schema — Zod boundary schema for `HotpOptions`… + - [hotp.schema](./hotp.schema.md) — Zod boundary schema for `HotpOptions`. Strict-mode parsing rejects unknown keys (so silent typos in caller configuratio… - hotp.schema — Zod boundary schema for `HotpOptions`… diff --git a/plugins/document-navigator/docs/security-stack/security/otp/src/ocra/ocra.md b/plugins/document-navigator/docs/security-stack/security/otp/src/ocra/ocra.md index 01ace33..ebaf8e9 100644 --- a/plugins/document-navigator/docs/security-stack/security/otp/src/ocra/ocra.md +++ b/plugins/document-navigator/docs/security-stack/security/otp/src/ocra/ocra.md @@ -3,6 +3,7 @@ _(no submodules)_ - ocra.schema — Zod boundary schema for `OcraParams`…… + - [ocra.schema](./ocra.schema.md) — Zod boundary schema for `OcraParams` — the runtime parameter bag passed alongside a suite string and a key. Optional fi… - [suite](./suite.md) — Parse an OCRA suite string into a typed `OcraSuite` AST per RFC 6287 §6.1. Exposed separately so callers can validate s… - [verify-ocra](./verify-ocra.md) — Constant-time verify of an OCRA response. Recomputes the response under the supplied suite, key, and params, then compa… diff --git a/plugins/document-navigator/docs/security-stack/security/otp/src/totp/totp.md b/plugins/document-navigator/docs/security-stack/security/otp/src/totp/totp.md index 2159e43..3cc80c8 100644 --- a/plugins/document-navigator/docs/security-stack/security/otp/src/totp/totp.md +++ b/plugins/document-navigator/docs/security-stack/security/otp/src/totp/totp.md @@ -3,6 +3,7 @@ _(no submodules)_ - totp.schema — Zod boundary schemas for `TotpOptions… + - [totp.schema](./totp.schema.md) — Zod boundary schemas for `TotpOptions` and `TotpVerifyOptions`. The TOTP schema covers algorithm / digits / period / t0… - [verify-many](./verify-many.md) — Backup-aware TOTP verify. Used during rotation windows where an old and a new TOTP secret coexist — the user's authenti… - [verify](./verify.md) — RFC 6238 §5.2 verify with drift window. Checks the supplied code against the current step and `±window` neighbouring st… diff --git a/plugins/document-navigator/docs/security-stack/security/password-formats/README.md b/plugins/document-navigator/docs/security-stack/security/password-formats/README.md index 13c666b..69bb361 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-formats/README.md +++ b/plugins/document-navigator/docs/security-stack/security/password-formats/README.md @@ -25,7 +25,9 @@ Universal import/export layer for common password-manager export formats. Parses - [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_ - [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_ - [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_ + - [format-detector](./src/core/detector/format-detector.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_- [validator](./src/core/validator/validate.md) — _(no submodules)_- [validate](./src/core/validator/validate.md) — _(no submodules)_- [errors](./src/errors/password-formats-error.md) — _(no submodules)_- [password-formats-error](./src/errors/password-formats-error.md) — _(no submodules)_- [export](./src/export/csv-export.md) — _(no submodules)_- [csv-export](./src/export/csv-export.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_- [format-detector](./src/core/detector/format-detector.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_- [validator](./src/core/validator/validate.md) — _(no submodules)_- [validate](./src/core/validator/validate.md) — _(no submodules)_- [errors](./src/errors/password-formats-error.md) — _(no submodules)_- [password-formats-error](./src/errors/password-formats-error.md) — _(no submodules)_- [export](./src/export/csv-export.md) — _(no submodules)_- [csv-export](./src/export/csv-export.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_- [format-detector](./src/core/detector/format-detector.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_- [validator](./src/core/validator/validate.md) — _(no submodules)_- [validate](./src/core/validator/validate.md) — _(no submodules)_- [errors](./src/errors/password-formats-error.md) — _(no submodules)_- [password-formats-error](./src/errors/password-formats-error.md) — _(no submodules)_- [export](./src/export/csv-export.md) — _(no submodules)_- [csv-export](./src/export/csv-export.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_- [format-detector](./src/core/detector/format-detector.md) — _(no submodules)_- [parse](./src/core/parse/parse.md) — _(no submodules)_ - [parse](./src/core/parse/parse.md) — _(no submodules)_- [validator](./src/core/validator/validate.md) — _(no submodules)_ - [validate](./src/core/validator/validate.md) — _(no submodules)_- [errors](./src/errors/password-formats-error.md) — _(no submodules)_ - [password-formats-error](./src/errors/password-formats-error.md) — _(no submodules)_- [export](./src/export/csv-export.md) — _(no submodules)_ - [csv-export](./src/export/csv-export.md) — _(no submodules)_- [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_ - [apple-passwords](./src/parsers/apple-passwords/apple-passwords.md) — _(no submodules)_- [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_ - [bitwarden](./src/parsers/bitwarden/bitwarden.md) — _(no submodules)_- [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_ - [chrome](./src/parsers/chrome/chrome.md) — _(no submodules)_- [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_ - [keepass](./src/parsers/keepass/keepass.md) — _(no submodules)_ + ## Supported Formats | Format | Type | Detection | diff --git a/plugins/document-navigator/docs/security-stack/security/password-generator/README.md b/plugins/document-navigator/docs/security-stack/security/password-generator/README.md index 9559c05..ba6b8d6 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-generator/README.md +++ b/plugins/document-navigator/docs/security-stack/security/password-generator/README.md @@ -38,9 +38,11 @@ passphrase decoration, an entropy estimator, and a `assertStrength` guard. - [eff-long](./src/wordlists/eff-long.md) — Bundles the EFF Long Wordlist as a frozen `readonly string[]` so callers who only want passphrase generation pull this… - [eff-short](./src/wordlists/eff-short.md) — Bundles EFF's Short Wordlist #1 — 1296 entries (4-dice / 6⁴), ≈ 10.34 bits/word, every entry ≤ 5 ASCII characters. Sour… - [registry](./src/wordlists/registry.md) — The wordlist registry exposes a small plugin API — `registerWordlist`, `getWordlist`, `listWordlists` — that lets calle… + - [charsets](./src/charsets/charsets.md) — _(no submodules)_- [entropy](./src/entropy/entropy.md) — _(no submodules)_- [entropy](./src/entropy/entropy.md) — _(no submodules)_- [errors](./src/errors/codes.md) — _(no submodules)_- [codes](./src/errors/codes.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [passphrase](./src/passphrase/passphrase.md) — _(no submodules)_- [passphrase](./src/passphrase/passphrase.md) — _(no submodules)_- [password](./src/password/password.md) — _(no submodules)_- pronounceable — `generatePronounceablePassword(opts… - - [password](./src/password/password.md) — _(no submodules)_- pronounceable — `generatePronounceablePassword(opts… - - [pronounceable](./src/password/pronounceable.md) — `generatePronounceablePassword(opts, rng?)` emits CVC-pattern (consonant–vowel–consonant) syllables suitable for should… + +- [password](./src/password/password.md) — _(no submodules)_- pronounceable — `generatePronounceablePassword(opts… +- [pronounceable](./src/password/pronounceable.md) — `generatePronounceablePassword(opts, rng?)` emits CVC-pattern (consonant–vowel–consonant) syllables suitable for should… - [pin](./src/pin/pin.md) — _(no submodules)_- [pin](./src/pin/pin.md) — _(no submodules)_- [default-rng](./src/random/default-rng.md) — `defaultRng()` builds the default `Rng` backed by `@suaveplan/crypto-utils.randomBytes`, which delegates to `crypto.get… - [fisher-yates](./src/random/fisher-yates.md) — `shuffleInPlace(array, rng)` performs an in-place Fisher–Yates / Knuth shuffle parameterised over the bias-free `random… - [random-int](./src/random/random-int.md) — `randomInt(rng, max)` returns a uniformly-distributed integer in the half-open interval `[0, max)` for any `max ∈ [1, 2… @@ -160,4 +162,3 @@ list. A consumer that imports only `./pin` pulls neither wordlist. ## License MIT - diff --git a/plugins/document-navigator/docs/security-stack/security/password-generator/src/password/password.md b/plugins/document-navigator/docs/security-stack/security/password-generator/src/password/password.md index 32d1ec7..2e7980e 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-generator/src/password/password.md +++ b/plugins/document-navigator/docs/security-stack/security/password-generator/src/password/password.md @@ -3,6 +3,7 @@ _(no submodules)_ - pronounceable — `generatePronounceablePassword(opts… + - [pronounceable](./pronounceable.md) — `generatePronounceablePassword(opts, rng?)` emits CVC-pattern (consonant–vowel–consonant) syllables suitable for should… - pronounceable — `generatePronounceablePassword(opts… diff --git a/plugins/document-navigator/docs/security-stack/security/password-strength/README.md b/plugins/document-navigator/docs/security-stack/security/password-strength/README.md index b96d1d4..afe1928 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-strength/README.md +++ b/plugins/document-navigator/docs/security-stack/security/password-strength/README.md @@ -66,14 +66,16 @@ hard 200-character DoS guard. - [estimate-guesses](./src/scoring/estimate-guesses.md) — Implements the Wheeler 2016 section 4 closed-form guess estimates per pattern type: dictionary (rank × uppercase × l33t… - [most-guessable-match-sequence](./src/scoring/most-guessable-match-sequence.md) — Picks the lowest-`Π guesses × k!` cover of the password from the union of pattern matches plus implicit bruteforce-char… - [score](./src/scoring/score.md) — Maps a `guesses` count to a coarse integer score per Wheeler 2016 section 5. This score (`0`–`4`) is what most consumer… + - [assess-reactive](./src/assess/assess-reactive.md) — Debounce + cancel-on-newer-input wrapper around `assess` for UI strength meters that update as the user types. Each new… - - [assess](./src/assess/assess.md) — _(no submodules)_- [dicts](./src/dicts/load-dictionaries.md) — _(no submodules)_- [de](./src/dicts/de/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/de/wikipedia.md) — _(no submodules)_- [english-wikipedia](./src/dicts/en/english-wikipedia.md) — Frequency-ranked dictionary of the most common English tokens observed in Wikipedia. The matcher uses this to flag pass… - - [names](./src/dicts/en/names.md) — Frequency-ranked dictionaries of common US given names (male and female) and surnames. Names are over-represented in pa… - - [passwords](./src/dicts/en/passwords.md) — Frequency-ranked dictionary of the most common passwords observed across public breach corpora (RockYou, HaveIBeenPwned… - - [es](./src/dicts/es/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/es/wikipedia.md) — _(no submodules)_- [fr](./src/dicts/fr/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/fr/wikipedia.md) — _(no submodules)_- [ru](./src/dicts/ru/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/ru/wikipedia.md) — _(no submodules)_- [zh-Hans](./src/dicts/zh-Hans/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/zh-Hans/wikipedia.md) — _(no submodules)_- [load-dictionaries](./src/dicts/load-dictionaries.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [feedback](./src/feedback/feedback.md) — _(no submodules)_- [feedback](./src/feedback/feedback.md) — _(no submodules)_- [graphs](./src/graphs/validate-graph.md) — _(no submodules)_- [azerty](./src/graphs/azerty/azerty.md) — _(no submodules)_- [azerty](./src/graphs/azerty/azerty.md) — _(no submodules)_- [dvorak](./src/graphs/dvorak/dvorak.md) — _(no submodules)_- [dvorak](./src/graphs/dvorak/dvorak.md) — _(no submodules)_- [qwerty](./src/graphs/qwerty/qwerty.md) — _(no submodules)_- [qwerty](./src/graphs/qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./src/graphs/validate-graph.md) — _(no submodules)_- [matchers](./src/matchers/types.md) — _(no submodules)_- [date](./src/matchers/date/date.md) — _(no submodules)_- [date](./src/matchers/date/date.md) — _(no submodules)_- [dictionary](./src/matchers/dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… - - [dictionary](./src/matchers/dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… - - [l33t-table](./src/matchers/dictionary/l33t-table.md) — Provides the default character → letter substitution table used by the `dictionaryMatch` matcher to recognise l33t-enco… - - [keyboard](./src/matchers/keyboard/keyboard.md) — _(no submodules)_- [keyboard](./src/matchers/keyboard/keyboard.md) — _(no submodules)_- [regex](./src/matchers/regex/regex.md) — _(no submodules)_- [regex](./src/matchers/regex/regex.md) — _(no submodules)_- [repeat](./src/matchers/repeat/repeat.md) — _(no submodules)_- [repeat](./src/matchers/repeat/repeat.md) — _(no submodules)_- [sequence](./src/matchers/sequence/sequence.md) — _(no submodules)_- [sequence](./src/matchers/sequence/sequence.md) — _(no submodules)_- [types](./src/matchers/types.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [crack-times](./src/scoring/crack-times.md) — Maps a `guesses` count to seconds-to-crack under the four canonical attack scenarios from Wheeler 2016 section 5: onlin… + +- [assess](./src/assess/assess.md) — _(no submodules)_- [dicts](./src/dicts/load-dictionaries.md) — _(no submodules)_- [de](./src/dicts/de/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/de/wikipedia.md) — _(no submodules)_- [english-wikipedia](./src/dicts/en/english-wikipedia.md) — Frequency-ranked dictionary of the most common English tokens observed in Wikipedia. The matcher uses this to flag pass… +- [names](./src/dicts/en/names.md) — Frequency-ranked dictionaries of common US given names (male and female) and surnames. Names are over-represented in pa… +- [passwords](./src/dicts/en/passwords.md) — Frequency-ranked dictionary of the most common passwords observed across public breach corpora (RockYou, HaveIBeenPwned… +- [es](./src/dicts/es/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/es/wikipedia.md) — _(no submodules)_- [fr](./src/dicts/fr/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/fr/wikipedia.md) — _(no submodules)_- [ru](./src/dicts/ru/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/ru/wikipedia.md) — _(no submodules)_- [zh-Hans](./src/dicts/zh-Hans/wikipedia.md) — _(no submodules)_- [wikipedia](./src/dicts/zh-Hans/wikipedia.md) — _(no submodules)_- [load-dictionaries](./src/dicts/load-dictionaries.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [feedback](./src/feedback/feedback.md) — _(no submodules)_- [feedback](./src/feedback/feedback.md) — _(no submodules)_- [graphs](./src/graphs/validate-graph.md) — _(no submodules)_- [azerty](./src/graphs/azerty/azerty.md) — _(no submodules)_- [azerty](./src/graphs/azerty/azerty.md) — _(no submodules)_- [dvorak](./src/graphs/dvorak/dvorak.md) — _(no submodules)_- [dvorak](./src/graphs/dvorak/dvorak.md) — _(no submodules)_- [qwerty](./src/graphs/qwerty/qwerty.md) — _(no submodules)_- [qwerty](./src/graphs/qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./src/graphs/validate-graph.md) — _(no submodules)_- [matchers](./src/matchers/types.md) — _(no submodules)_- [date](./src/matchers/date/date.md) — _(no submodules)_- [date](./src/matchers/date/date.md) — _(no submodules)_- [dictionary](./src/matchers/dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… + - [dictionary](./src/matchers/dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… + - [l33t-table](./src/matchers/dictionary/l33t-table.md) — Provides the default character → letter substitution table used by the `dictionaryMatch` matcher to recognise l33t-enco… +- [keyboard](./src/matchers/keyboard/keyboard.md) — _(no submodules)_- [keyboard](./src/matchers/keyboard/keyboard.md) — _(no submodules)_- [regex](./src/matchers/regex/regex.md) — _(no submodules)_- [regex](./src/matchers/regex/regex.md) — _(no submodules)_- [repeat](./src/matchers/repeat/repeat.md) — _(no submodules)_- [repeat](./src/matchers/repeat/repeat.md) — _(no submodules)_- [sequence](./src/matchers/sequence/sequence.md) — _(no submodules)_- [sequence](./src/matchers/sequence/sequence.md) — _(no submodules)_- [types](./src/matchers/types.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [crack-times](./src/scoring/crack-times.md) — Maps a `guesses` count to seconds-to-crack under the four canonical attack scenarios from Wheeler 2016 section 5: onlin… - [estimate-guesses](./src/scoring/estimate-guesses.md) — Implements the Wheeler 2016 section 4 closed-form guess estimates per pattern type: dictionary (rank × uppercase × l33t… - [most-guessable-match-sequence](./src/scoring/most-guessable-match-sequence.md) — Picks the lowest-`Π guesses × k!` cover of the password from the union of pattern matches plus implicit bruteforce-char… - [score](./src/scoring/score.md) — Maps a `guesses` count to a coarse integer score per Wheeler 2016 section 5. This score (`0`–`4`) is what most consumer… @@ -204,4 +206,3 @@ locally. Indicative timings on commodity hardware (single fork, no warmup): | DP n=199 | ~12 ms | The 200-character DoS guard keeps p99 well under the 5 ms `it()` default. - diff --git a/plugins/document-navigator/docs/security-stack/security/password-strength/src/dicts/load-dictionaries.md b/plugins/document-navigator/docs/security-stack/security/password-strength/src/dicts/load-dictionaries.md index 2d45e04..514edc2 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-strength/src/dicts/load-dictionaries.md +++ b/plugins/document-navigator/docs/security-stack/security/password-strength/src/dicts/load-dictionaries.md @@ -3,7 +3,7 @@ _(no submodules)_ - - [wikipedia](./de/wikipedia.md) — _(no submodules)_- [english-wikipedia](./en/english-wikipedia.md) — Frequency-ranked dictionary of the most common English tokens observed in Wikipedia. The matcher uses this to flag pass… +- [wikipedia](./de/wikipedia.md) — _(no submodules)_- [english-wikipedia](./en/english-wikipedia.md) — Frequency-ranked dictionary of the most common English tokens observed in Wikipedia. The matcher uses this to flag pass… - [names](./en/names.md) — Frequency-ranked dictionaries of common US given names (male and female) and surnames. Names are over-represented in pa… - [passwords](./en/passwords.md) — Frequency-ranked dictionary of the most common passwords observed across public breach corpora (RockYou, HaveIBeenPwned… - [es](./es/wikipedia.md) — _(no submodules)_ - [wikipedia](./es/wikipedia.md) — _(no submodules)_- [fr](./fr/wikipedia.md) — _(no submodules)_ - [wikipedia](./fr/wikipedia.md) — _(no submodules)_- [ru](./ru/wikipedia.md) — _(no submodules)_ - [wikipedia](./ru/wikipedia.md) — _(no submodules)_- [zh-Hans](./zh-Hans/wikipedia.md) — _(no submodules)_ - [wikipedia](./zh-Hans/wikipedia.md) — _(no submodules)_- [load-dictionaries](./load-dictionaries.md) — _(no submodules)_- wikipedia — _(no submodules… @@ -22,6 +22,7 @@ _(no submodules)_ - [names](./en/names.md) — Frequency-ranked dictionaries of common US given names (male and female) and surnames. Names are over-represented in pa… - [passwords](./en/passwords.md) — Frequency-ranked dictionary of the most common passwords observed across public breach corpora (RockYou, HaveIBeenPwned… - [es](./es/wikipedia.md) — _(no submodules)_ - [wikipedia](./es/wikipedia.md) — _(no submodules)_- [fr](./fr/wikipedia.md) — _(no submodules)_ - [wikipedia](./fr/wikipedia.md) — _(no submodules)_- [ru](./ru/wikipedia.md) — _(no submodules)_ - [wikipedia](./ru/wikipedia.md) — _(no submodules)_- [zh-Hans](./zh-Hans/wikipedia.md) — _(no submodules)_ - [wikipedia](./zh-Hans/wikipedia.md) — _(no submodules)_- [load-dictionaries](./load-dictionaries.md) — _(no submodules)_ + ## Purpose Builds a fresh `DictionarySet` value from a caller-supplied partial map, diff --git a/plugins/document-navigator/docs/security-stack/security/password-strength/src/graphs/validate-graph.md b/plugins/document-navigator/docs/security-stack/security/password-strength/src/graphs/validate-graph.md index 591eb62..aec812e 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-strength/src/graphs/validate-graph.md +++ b/plugins/document-navigator/docs/security-stack/security/password-strength/src/graphs/validate-graph.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [azerty](./azerty/azerty.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_ - [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_ - [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./validate-graph.md) — _(no submodules)_- azerty — _(no submodules)_… +- [azerty](./azerty/azerty.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_ - [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_ - [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./validate-graph.md) — _(no submodules)_- azerty — _(no submodules)_… - [azerty](./azerty/azerty.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./validate-graph.md) — _(no submodules)_- [azerty](./azerty/azerty.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./validate-graph.md) — _(no submodules)_- azerty — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./validate-graph.md) — _(no submodules)_- azerty — _(no submodules)_… - [azerty](./azerty/azerty.md) — _(no submodules)_- [dvorak](./dvorak/dvorak.md) — _(no submodules)_ - [dvorak](./dvorak/dvorak.md) — _(no submodules)_- [qwerty](./qwerty/qwerty.md) — _(no submodules)_ - [qwerty](./qwerty/qwerty.md) — _(no submodules)_- [validate-graph](./validate-graph.md) — _(no submodules)_ + ## Purpose Validates that a user-supplied keyboard adjacency graph is well-formed diff --git a/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/dictionary/dictionary.md b/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/dictionary/dictionary.md index 07d1c5e..ca0f56f 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/dictionary/dictionary.md +++ b/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/dictionary/dictionary.md @@ -3,6 +3,7 @@ _(no submodules)_ - l33t-table — Provides the default character → lette… + - [l33t-table](./l33t-table.md) — Provides the default character → letter substitution table used by the `dictionaryMatch` matcher to recognise l33t-enco… - l33t-table — Provides the default character → lette… diff --git a/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/types.md b/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/types.md index 51729a5..ec425f1 100644 --- a/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/types.md +++ b/plugins/document-navigator/docs/security-stack/security/password-strength/src/matchers/types.md @@ -3,9 +3,9 @@ _(no submodules)_ - - [date](./date/date.md) — _(no submodules)_- [dictionary](./dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… - - [dictionary](./dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… - - [l33t-table](./dictionary/l33t-table.md) — Provides the default character → letter substitution table used by the `dictionaryMatch` matcher to recognise l33t-enco… +- [date](./date/date.md) — _(no submodules)_- [dictionary](./dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… +- [dictionary](./dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… +- [l33t-table](./dictionary/l33t-table.md) — Provides the default character → letter substitution table used by the `dictionaryMatch` matcher to recognise l33t-enco… - [keyboard](./keyboard/keyboard.md) — _(no submodules)_ - [keyboard](./keyboard/keyboard.md) — _(no submodules)_- [regex](./regex/regex.md) — _(no submodules)_ - [regex](./regex/regex.md) — _(no submodules)_- [repeat](./repeat/repeat.md) — _(no submodules)_ - [repeat](./repeat/repeat.md) — _(no submodules)_- [sequence](./sequence/sequence.md) — _(no submodules)_ - [sequence](./sequence/sequence.md) — _(no submodules)_- [types](./types.md) — _(no submodules)_- date — _(no submodules)_ _(no submodules)_- [dictionary](./dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… - [dictionary](./dictionary/dictionary.md) — _(no submodules)_- l33t-table — Provides the default character → lette… @@ -20,6 +20,7 @@ _(no submodules)_ - [keyboard](./keyboard/keyboard.md) — _(no submodules)_- [keyboard](./keyboard/keyboard.md) — _(no submodules)_- [regex](./regex/regex.md) — _(no submodules)_- [regex](./regex/regex.md) — _(no submodules)_- [repeat](./repeat/repeat.md) — _(no submodules)_- [repeat](./repeat/repeat.md) — _(no submodules)_- [sequence](./sequence/sequence.md) — _(no submodules)_- [sequence](./sequence/sequence.md) — _(no submodules)_- [types](./types.md) — _(no submodules)_- date — _(no submodules)_ <… - [date](./date/date.md) — _(no submodules)_- [dictionary](./dictionary/dictionary.md) — _(no submodules)_ - [dictionary](./dictionary/dictionary.md) — _(no submodules)_ - [l33t-table](./dictionary/l33t-table.md) — Provides the default character → letter substitution table used by the `dictionaryMatch` matcher to recognise l33t-enco… - [keyboard](./keyboard/keyboard.md) — _(no submodules)_ - [keyboard](./keyboard/keyboard.md) — _(no submodules)_- [regex](./regex/regex.md) — _(no submodules)_ - [regex](./regex/regex.md) — _(no submodules)_- [repeat](./repeat/repeat.md) — _(no submodules)_ - [repeat](./repeat/repeat.md) — _(no submodules)_- [sequence](./sequence/sequence.md) — _(no submodules)_ - [sequence](./sequence/sequence.md) — _(no submodules)_- [types](./types.md) — _(no submodules)_ + ## Purpose Declares the cross-matcher discriminated-union types and shared shapes diff --git a/plugins/document-navigator/docs/security-stack/security/security-codes/README.md b/plugins/document-navigator/docs/security-stack/security/security-codes/README.md index cafd6ec..8bb5383 100644 --- a/plugins/document-navigator/docs/security-stack/security/security-codes/README.md +++ b/plugins/document-navigator/docs/security-stack/security/security-codes/README.md @@ -29,7 +29,9 @@ AWS access keys, OpenAI keys, Google API keys, and high-entropy heuristics. - [security-codes](./src/types/security-codes.md) — _(no submodules)_ - [utils](./src/utils/luhn.md) — _(no submodules)_ - [luhn](./src/utils/luhn.md) — _(no submodules)_ + - [code-detector](./src/core/code-detector/code-detector.md) — _(no submodules)_- [code-sanitizer](./src/core/code-sanitizer/code-sanitizer.md) — _(no submodules)_- [code-sanitizer](./src/core/code-sanitizer/code-sanitizer.md) — _(no submodules)_- [errors](./src/errors/security-codes-error.md) — _(no submodules)_- [security-codes-error](./src/errors/security-codes-error.md) — _(no submodules)_- [aws](./src/patterns/aws.md) — Detects AWS Access Key IDs within arbitrary string input. AWS Access Key IDs are 20-character alphanumeric identifiers… + - [credit-card](./src/patterns/credit-card.md) — Detects credit card numbers embedded in arbitrary strings using a combination of regex matching and the Luhn checksum a… - [entropy](./src/patterns/entropy.md) — Detects high-entropy strings that are likely secret tokens, API keys, or passwords using Shannon entropy analysis. This… - [github](./src/patterns/github.md) — Detects GitHub Personal Access Tokens (PATs) — both classic tokens (`ghp_…`) and the newer fine-grained tokens (`github… @@ -70,6 +72,7 @@ AWS access keys, OpenAI keys, Google API keys, and high-entropy heuristics. - [ssh](./src/patterns/ssh.md) — Detects SSH private keys and public keys embedded in arbitrary strings. SSH private keys grant direct shell access to a… - [stripe](./src/patterns/stripe.md) — Detects Stripe API keys — both secret keys (`sk_live_` / `sk_test_`) and publishable keys (`pk_live_` / `pk_test_`) — e… - [types](./src/types/security-codes.md) — _(no submodules)_ - [security-codes](./src/types/security-codes.md) — _(no submodules)_- [utils](./src/utils/luhn.md) — _(no submodules)_ - [luhn](./src/utils/luhn.md) — _(no submodules)_ + ## Features - **10 built-in pattern detectors** covering the most common secret types diff --git a/plugins/document-navigator/docs/security-stack/security/server-keys/README.md b/plugins/document-navigator/docs/security-stack/security/server-keys/README.md index 4bdb0af..7c05f7e 100644 --- a/plugins/document-navigator/docs/security-stack/security/server-keys/README.md +++ b/plugins/document-navigator/docs/security-stack/security/server-keys/README.md @@ -192,4 +192,3 @@ await runFunction("custom-cmd", async (signal) => { license format requires secp256k1; the vault's sign slot is ed25519. The license bin therefore uses its own `keygen` sub-command rather than trying to reuse the vault's signing key. - diff --git a/plugins/document-navigator/docs/security-stack/security/slsa/README.md b/plugins/document-navigator/docs/security-stack/security/slsa/README.md index faff6a5..b3dc9c6 100644 --- a/plugins/document-navigator/docs/security-stack/security/slsa/README.md +++ b/plugins/document-navigator/docs/security-stack/security/slsa/README.md @@ -34,9 +34,11 @@ typed `SlsaError` subclasses with stable error codes. - [verification](./src/verification/verification.md) — _(no submodules)_ - [checks](./src/verification/checks.md) — Individual, stateless verification rules that consume a provenance statement plus policy inputs and return a structured… - [verification](./src/verification/verification.md) — _(no submodules)_ + - [assessment](./src/assessment/assessment.md) — _(no submodules)_- [dsse](./src/attestation/dsse/dsse.md) — _(no submodules)_- [dsse](./src/attestation/dsse/dsse.md) — _(no submodules)_- [errors](./src/errors/slsa-error.md) — _(no submodules)_- [slsa-error](./src/errors/slsa-error.md) — _(no submodules)_- [otel](./src/otel/slsa-otel.md) — _(no submodules)_- [slsa-otel](./src/otel/slsa-otel.md) — _(no submodules)_- [policy](./src/policy/policy.md) — _(no submodules)_- [policy](./src/policy/policy.md) — _(no submodules)_- [provenance](./src/provenance/provenance.md) — _(no submodules)_- [canonical-json](./src/provenance/canonical-json.md) — Produces a byte-stable, lexicographically-ordered JSON encoding for provenance statements, SBOM documents, and DSSE pay… - - [digest](./src/provenance/digest.md) — Single canonical entry point for SHA-256 digest computation inside the SLSA package. Deliberately routes through `@suav… - - [provenance](./src/provenance/provenance.md) — _(no submodules)_- [inclusion-proof](./src/rekor/inclusion-proof.md) — Verifies an RFC 6962 Merkle inclusion proof as returned by Sigstore Rekor. Given a leaf (the canonical body a Rekor ent… + +- [digest](./src/provenance/digest.md) — Single canonical entry point for SHA-256 digest computation inside the SLSA package. Deliberately routes through `@suav… +- [provenance](./src/provenance/provenance.md) — _(no submodules)_- [inclusion-proof](./src/rekor/inclusion-proof.md) — Verifies an RFC 6962 Merkle inclusion proof as returned by Sigstore Rekor. Given a leaf (the canonical body a Rekor ent… - [rekor-client](./src/rekor/rekor-client.md) — Minimal Sigstore Rekor REST client for the two upload shapes Suaveplan cares about: `hashedrekord` v0.0.1 (when logging… - [sbom](./src/sbom/sbom.md) — _(no submodules)_- [sbom](./src/sbom/sbom.md) — _(no submodules)_- [schemas](./src/schemas/parse.md) — _(no submodules)_- [parse](./src/schemas/parse.md) — _(no submodules)_- [verification](./src/verification/verification.md) — _(no submodules)_- [checks](./src/verification/checks.md) — Individual, stateless verification rules that consume a provenance statement plus policy inputs and return a structured… - [verification](./src/verification/verification.md) — _(no submodules)_- [assessment](./src/assessment/assessment.md) — _(no submodules)_- [dsse](./src/attestation/dsse/dsse.md) — _(no submodules)_- [dsse](./src/attestation/dsse/dsse.md) — _(no submodules)_- [errors](./src/errors/slsa-error.md) — _(no submodules)_- [slsa-error](./src/errors/slsa-error.md) — _(no submodules)_- [otel](./src/otel/slsa-otel.md) — _(no submodules)_- [slsa-otel](./src/otel/slsa-otel.md) — _(no submodules)_- [policy](./src/policy/policy.md) — _(no submodules)_- [policy](./src/policy/policy.md) — _(no submodules)_- [provenance](./src/provenance/provenance.md) — _(no submodules)_- [canonical-json](./src/provenance/canonical-json.md) — Produces a byte-stable, lexicographically-ordered JSON encoding for provenance statements, SBOM documents, and DSSE pay… @@ -55,6 +57,7 @@ typed `SlsaError` subclasses with stable error codes. - [rekor-client](./src/rekor/rekor-client.md) — Minimal Sigstore Rekor REST client for the two upload shapes Suaveplan cares about: `hashedrekord` v0.0.1 (when logging… - [sbom](./src/sbom/sbom.md) — _(no submodules)_ - [sbom](./src/sbom/sbom.md) — _(no submodules)_- [schemas](./src/schemas/parse.md) — _(no submodules)_ - [parse](./src/schemas/parse.md) — _(no submodules)_- [verification](./src/verification/verification.md) — _(no submodules)_ - [checks](./src/verification/checks.md) — Individual, stateless verification rules that consume a provenance statement plus policy inputs and return a structured… - [verification](./src/verification/verification.md) — _(no submodules)_ + ## Install ```bash @@ -135,4 +138,3 @@ console.log(assessSlsaLevel({ ...environment, hasRekorInclusion: true }).level); - Tests: 170 passing (13 files). - Coverage: 99.2% statements, 100% functions, 99.44% lines, 95.15% branches. - Typecheck, lint, and build all green. - diff --git a/plugins/document-navigator/docs/security-stack/security/srp/README.md b/plugins/document-navigator/docs/security-stack/security/srp/README.md index c615112..e571049 100644 --- a/plugins/document-navigator/docs/security-stack/security/srp/README.md +++ b/plugins/document-navigator/docs/security-stack/security/srp/README.md @@ -48,7 +48,9 @@ SRP-6a zero-knowledge password proof per [RFC 5054](https://www.rfc-editor.org/r - [server-start](./src/server/server-start.md) — Begin the SRP-6a handshake on the server side. Loads the stored verifier `v` (alongside the user's `(I, salt)`), draws… - [verifier](./src/verifier/verifier.md) — _(no submodules)_ - [verifier](./src/verifier/verifier.md) — _(no submodules)_ + - [errors](./src/errors/errors.md) — _(no submodules)_- [groups](./src/groups/groups-2048.md) — _(no submodules)_- [1024](./src/groups/1024/groups-1024.md) — _(no submodules)_- [groups-1024](./src/groups/1024/groups-1024.md) — _(no submodules)_- [1536](./src/groups/1536/groups-1536.md) — _(no submodules)_- [groups-1536](./src/groups/1536/groups-1536.md) — _(no submodules)_- [3072](./src/groups/3072/groups-3072.md) — _(no submodules)_- [groups-3072](./src/groups/3072/groups-3072.md) — _(no submodules)_- [4096](./src/groups/4096/groups-4096.md) — _(no submodules)_- [groups-4096](./src/groups/4096/groups-4096.md) — _(no submodules)_- [6144](./src/groups/6144/groups-6144.md) — _(no submodules)_- [groups-6144](./src/groups/6144/groups-6144.md) — _(no submodules)_- [8192](./src/groups/8192/groups-8192.md) — _(no submodules)_- [groups-8192](./src/groups/8192/groups-8192.md) — _(no submodules)_- [groups-2048](./src/groups/groups-2048.md) — _(no submodules)_- [hash](./src/hash/hash-bridge.md) — _(no submodules)_- [hash-bridge](./src/hash/hash-bridge.md) — _(no submodules)_- [k](./src/math/k.md) — Compute the SRP-6a multiplier parameter `k = H(N | PAD(g))` per RFC 5054 §2.5.3. The multiplier is the structural chang… + - [modpow](./src/math/modpow.md) — Modular exponentiation primitive for `@suaveplan/srp`. This is a thin wrapper over `@noble/curves`'s hardened `pow(num,… - [pad](./src/math/pad.md) — The `PAD(x, N)` helper from RFC 5054 §2.5.3. Returns a left-zero-extended copy of `x` whose length equals `N.byteLength… - [proof](./src/math/proof.md) — Internal helpers for computing the SRP-6a / RFC 2945 §3 mutual-authentication proofs `M1` and `M2`. Both client and ser… @@ -93,6 +95,7 @@ SRP-6a zero-knowledge password proof per [RFC 5054](https://www.rfc-editor.org/r - [server-m2](./src/server/server-m2.md) — Split-roundtrip helper that computes the server proof `M2 = H(A | M1 | K)` independently of `serverFinishHandshake`. Us… - [server-start](./src/server/server-start.md) — Begin the SRP-6a handshake on the server side. Loads the stored verifier `v` (alongside the user's `(I, salt)`), draws… - [verifier](./src/verifier/verifier.md) — _(no submodules)_ - [verifier](./src/verifier/verifier.md) — _(no submodules)_ + ## Install ```bash @@ -188,4 +191,3 @@ bun scripts/generate-srp-vectors.ts [--seed=42] ``` Regenerates `src/__fixtures__/vectors-2048-sha256.json` deterministically. - diff --git a/plugins/document-navigator/docs/security-stack/security/srp/src/groups/groups-2048.md b/plugins/document-navigator/docs/security-stack/security/srp/src/groups/groups-2048.md index 78204a3..ad20d80 100644 --- a/plugins/document-navigator/docs/security-stack/security/srp/src/groups/groups-2048.md +++ b/plugins/document-navigator/docs/security-stack/security/srp/src/groups/groups-2048.md @@ -3,10 +3,11 @@ _(no submodules)_ - - [groups-1024](./1024/groups-1024.md) — _(no submodules)_- [1536](./1536/groups-1536.md) — _(no submodules)_ - [groups-1536](./1536/groups-1536.md) — _(no submodules)_- [3072](./3072/groups-3072.md) — _(no submodules)_ - [groups-3072](./3072/groups-3072.md) — _(no submodules)_- [4096](./4096/groups-4096.md) — _(no submodules)_ - [groups-4096](./4096/groups-4096.md) — _(no submodules)_- [6144](./6144/groups-6144.md) — _(no submodules)_ - [groups-6144](./6144/groups-6144.md) — _(no submodules)_- [8192](./8192/groups-8192.md) — _(no submodules)_ - [groups-8192](./8192/groups-8192.md) — _(no submodules)_- [groups-2048](./groups-2048.md) — _(no submodules)_- groups-1024 — _(no submodul… +- [groups-1024](./1024/groups-1024.md) — _(no submodules)_- [1536](./1536/groups-1536.md) — _(no submodules)_ - [groups-1536](./1536/groups-1536.md) — _(no submodules)_- [3072](./3072/groups-3072.md) — _(no submodules)_ - [groups-3072](./3072/groups-3072.md) — _(no submodules)_- [4096](./4096/groups-4096.md) — _(no submodules)_ - [groups-4096](./4096/groups-4096.md) — _(no submodules)_- [6144](./6144/groups-6144.md) — _(no submodules)_ - [groups-6144](./6144/groups-6144.md) — _(no submodules)_- [8192](./8192/groups-8192.md) — _(no submodules)_ - [groups-8192](./8192/groups-8192.md) — _(no submodules)_- [groups-2048](./groups-2048.md) — _(no submodules)_- groups-1024 — _(no submodul… - [groups-1024](./1024/groups-1024.md) — _(no submodules)_- [1536](./1536/groups-1536.md) — _(no submodules)_- [groups-1536](./1536/groups-1536.md) — _(no submodules)_- [3072](./3072/groups-3072.md) — _(no submodules)_- [groups-3072](./3072/groups-3072.md) — _(no submodules)_- [4096](./4096/groups-4096.md) — _(no submodules)_- [groups-4096](./4096/groups-4096.md) — _(no submodules)_- [6144](./6144/groups-6144.md) — _(no submodules)_- [groups-6144](./6144/groups-6144.md) — _(no submodules)_- [8192](./8192/groups-8192.md) — _(no submodules)_- [groups-8192](./8192/groups-8192.md) — _(no submodules)_- [groups-2048](./groups-2048.md) — _(no submodules)_- [groups-1024](./1024/groups-1024.md) — _(no submodules)_- [1536](./1536/groups-1536.md) — _(no submodules)_- [groups-1536](./1536/groups-1536.md) — _(no submodules)_- [3072](./3072/groups-3072.md) — _(no submodules)_- [groups-3072](./3072/groups-3072.md) — _(no submodules)_- [4096](./4096/groups-4096.md) — _(no submodules)_- [groups-4096](./4096/groups-4096.md) — _(no submodules)_- [6144](./6144/groups-6144.md) — _(no submodules)_- [groups-6144](./6144/groups-6144.md) — _(no submodules)_- [8192](./8192/groups-8192.md) — _(no submodules)_- [groups-8192](./8192/groups-8192.md) — _(no submodules)_- [groups-2048](./groups-2048.md) — _(no submodules)_- groups-1024 — _(no submodules)_- [1536](./1536/groups-1536.md) — _(no submodules)_- [groups-1536](./1536/groups-1536.md) — _(no submodules)_- [3072](./3072/groups-3072.md) — _(no submodules)_- [groups-3072](./3072/groups-3072.md) — _(no submodules)_- [4096](./4096/groups-4096.md) — _(no submodules)_- [groups-4096](./4096/groups-4096.md) — _(no submodules)_- [6144](./6144/groups-6144.md) — _(no submodules)_- [groups-6144](./6144/groups-6144.md) — _(no submodules)_- [8192](./8192/groups-8192.md) — _(no submodules)_- [groups-8192](./8192/groups-8192.md) — _(no submodules)_- [groups-2048](./groups-2048.md) — _(no submodules)_- groups-1024 — _(no submodu… - [groups-1024](./1024/groups-1024.md) — _(no submodules)_- [1536](./1536/groups-1536.md) — _(no submodules)_ - [groups-1536](./1536/groups-1536.md) — _(no submodules)_- [3072](./3072/groups-3072.md) — _(no submodules)_ - [groups-3072](./3072/groups-3072.md) — _(no submodules)_- [4096](./4096/groups-4096.md) — _(no submodules)_ - [groups-4096](./4096/groups-4096.md) — _(no submodules)_- [6144](./6144/groups-6144.md) — _(no submodules)_ - [groups-6144](./6144/groups-6144.md) — _(no submodules)_- [8192](./8192/groups-8192.md) — _(no submodules)_ - [groups-8192](./8192/groups-8192.md) — _(no submodules)_- [groups-2048](./groups-2048.md) — _(no submodules)_ + ## Purpose The bundled 2048-bit safe-prime group from RFC 5054 Appendix A. This is the default SRP-6a group every consumer of `@suaveplan/srp` gets without any additional import: `N_2048` is a 256-byte modulus, `g_2048` is the single byte `0x02`, and `BIT_LENGTH` is the literal `2048`. RFC 5054 deliberately bundles a small set of fixed safe primes to side-step trust-on-first-use over arbitrary moduli; we ship the 2048-bit one as the default because it sits at the contemporary security floor while keeping a 2048-bit `modPow` cheap enough (~5–20 ms) for an interactive login. diff --git a/plugins/document-navigator/docs/security-stack/security/tpm-struct/README.md b/plugins/document-navigator/docs/security-stack/security/tpm-struct/README.md index 0f6f4ab..28f825c 100644 --- a/plugins/document-navigator/docs/security-stack/security/tpm-struct/README.md +++ b/plugins/document-navigator/docs/security-stack/security/tpm-struct/README.md @@ -43,9 +43,11 @@ available at the WebAuthn step-5/step-8 call site. - [serialize](./src/public/serialize.md) — `serializeTpmtPublic` re-emits a parsed `TpmtPublic` value as the TCG-canonical byte string per Library Part 2 §12.2. I… - [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_ + - [alg](./src/alg/alg.md) — _(no submodules)_- [attest](./src/attest/attest.md) — _(no submodules)_- serialize — `serializeTpmsAttest` re-emits a parsed… - - [attest](./src/attest/attest.md) — _(no submodules)_- serialize — `serializeTpmsAttest` re-emits a parsed… - - [serialize](./src/attest/serialize.md) — `serializeTpmsAttest` re-emits a parsed `TpmsAttest` value as the TCG-canonical byte string per Library Part 2 §10.12.… + +- [attest](./src/attest/attest.md) — _(no submodules)_- serialize — `serializeTpmsAttest` re-emits a parsed… +- [serialize](./src/attest/serialize.md) — `serializeTpmsAttest` re-emits a parsed `TpmsAttest` value as the TCG-canonical byte string per Library Part 2 §10.12.… - [buffer](./src/buffer/buffer.md) — _(no submodules)_- [buffer](./src/buffer/buffer.md) — _(no submodules)_- [diagnostic](./src/diagnostic/diagnostic.md) — _(no submodules)_- [diagnostic](./src/diagnostic/diagnostic.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_- [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [extra-data](./src/extra-data/extra-data.md) — _(no submodules)_- [extra-data](./src/extra-data/extra-data.md) — _(no submodules)_- [name](./src/name/name.md) — _(no submodules)_- [name](./src/name/name.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_- [metrics](./src/observability/metrics.md) — _(no submodules)_- [public](./src/public/public.md) — _(no submodules)_- serialize — `serializeTpmtPublic` re-emits a parsed… - [object-attributes](./src/public/object-attributes.md) — `decodeObjectAttributes` (and its inverse `encodeObjectAttributes`) walk the 32-bit `TPMA_OBJECT` bitfield documented i… - [public](./src/public/public.md) — _(no submodules)_- serialize — `serializeTpmtPublic` re-emits a parsed… @@ -68,6 +70,7 @@ available at the WebAuthn step-5/step-8 call site. - [buffer](./src/buffer/buffer.md) — _(no submodules)_ - [buffer](./src/buffer/buffer.md) — _(no submodules)_- [diagnostic](./src/diagnostic/diagnostic.md) — _(no submodules)_ - [diagnostic](./src/diagnostic/diagnostic.md) — _(no submodules)_- [errors](./src/errors/error-codes.md) — _(no submodules)_ - [error-codes](./src/errors/error-codes.md) — _(no submodules)_- [extra-data](./src/extra-data/extra-data.md) — _(no submodules)_ - [extra-data](./src/extra-data/extra-data.md) — _(no submodules)_- [name](./src/name/name.md) — _(no submodules)_ - [name](./src/name/name.md) — _(no submodules)_- [observability](./src/observability/metrics.md) — _(no submodules)_ - [metrics](./src/observability/metrics.md) — _(no submodules)_- [public](./src/public/public.md) — _(no submodules)_ - [object-attributes](./src/public/object-attributes.md) — `decodeObjectAttributes` (and its inverse `encodeObjectAttributes`) walk the 32-bit `TPMA_OBJECT` bitfield documented i… - [public](./src/public/public.md) — _(no submodules)_ - [serialize](./src/public/serialize.md) — `serializeTpmtPublic` re-emits a parsed `TpmtPublic` value as the TCG-canonical byte string per Library Part 2 §12.2. I… - [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_ + ## Install ```bash @@ -130,4 +133,3 @@ if ( ## License MIT. - diff --git a/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/attest/attest.md b/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/attest/attest.md index cee463d..7159df4 100644 --- a/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/attest/attest.md +++ b/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/attest/attest.md @@ -3,6 +3,7 @@ _(no submodules)_ - serialize — `serializeTpmsAttest` re-emits a parsed… + - [serialize](./serialize.md) — `serializeTpmsAttest` re-emits a parsed `TpmsAttest` value as the TCG-canonical byte string per Library Part 2 §10.12.… - serialize — `serializeTpmsAttest` re-emits a parsed… diff --git a/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/public/public.md b/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/public/public.md index 875990f..8086a61 100644 --- a/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/public/public.md +++ b/plugins/document-navigator/docs/security-stack/security/tpm-struct/src/public/public.md @@ -3,6 +3,7 @@ _(no submodules)_ - serialize — `serializeTpmtPublic` re-emits a parsed… + - [serialize](./serialize.md) — `serializeTpmtPublic` re-emits a parsed `TpmtPublic` value as the TCG-canonical byte string per Library Part 2 §12.2. I… - serialize — `serializeTpmtPublic` re-emits a parsed… diff --git a/plugins/document-navigator/docs/security-stack/security/vault-sync/README.md b/plugins/document-navigator/docs/security-stack/security/vault-sync/README.md index 8e10d47..426f2f6 100644 --- a/plugins/document-navigator/docs/security-stack/security/vault-sync/README.md +++ b/plugins/document-navigator/docs/security-stack/security/vault-sync/README.md @@ -33,7 +33,9 @@ vector-clock causal ordering, and XChaCha20-Poly1305 sync payloads. - [types](./src/types/types.md) — _(no submodules)_ - [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ - [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ + - [crypto-sync](./src/crypto-sync/crypto-sync.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `codes.ts` defines the canonical, frozen registry of every fully-qualified error code emitted by `@suaveplan/vault-sync… + - [vault-sync-error](./src/errors/vault-sync-error.md) — `VaultSyncError` is the single concrete error class thrown from every production path inside `@suaveplan/vault-sync`. I… - [merge](./src/merge/merge.md) — _(no submodules)_- [merge](./src/merge/merge.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [crypto-sync](./src/crypto-sync/crypto-sync.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `codes.ts` defines the canonical, frozen registry of every fully-qualified error code emitted by `@suaveplan/vault-sync… - [vault-sync-error](./src/errors/vault-sync-error.md) — `VaultSyncError` is the single concrete error class thrown from every production path inside `@suaveplan/vault-sync`. I… @@ -42,6 +44,7 @@ vector-clock causal ordering, and XChaCha20-Poly1305 sync payloads. - [merge](./src/merge/merge.md) — _(no submodules)_- [merge](./src/merge/merge.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_- [crypto-sync](./src/crypto-sync/crypto-sync.md) — _(no submodules)_- [engine](./src/engine/engine.md) — _(no submodules)_ - [engine](./src/engine/engine.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `codes.ts` defines the canonical, frozen registry of every fully-qualified error code emitted by `@suaveplan/vault-sync… - [vault-sync-error](./src/errors/vault-sync-error.md) — `VaultSyncError` is the single concrete error class thrown from every production path inside `@suaveplan/vault-sync`. I… - [merge](./src/merge/merge.md) — _(no submodules)_ - [merge](./src/merge/merge.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_ - [instruments](./src/otel/instruments.md) — _(no submodules)_- [patch](./src/patch/patch.md) — _(no submodules)_ - [patch](./src/patch/patch.md) — _(no submodules)_- [queue](./src/queue/queue.md) — _(no submodules)_ - [queue](./src/queue/queue.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_ - [schemas](./src/schemas/schemas.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_ - [types](./src/types/types.md) — _(no submodules)_- [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ - [vector-clock](./src/vector-clock/vector-clock.md) — _(no submodules)_ + ## Install ```bash @@ -123,4 +126,3 @@ bunx turbo test --filter=@suaveplan/vault-sync bunx turbo test:coverage --filter=@suaveplan/vault-sync # 100/100/100/100 bunx turbo lint typecheck --filter=@suaveplan/vault-sync ``` - diff --git a/plugins/document-navigator/docs/security-stack/security/vault/README.md b/plugins/document-navigator/docs/security-stack/security/vault/README.md index 7e15d68..9996d3e 100644 --- a/plugins/document-navigator/docs/security-stack/security/vault/README.md +++ b/plugins/document-navigator/docs/security-stack/security/vault/README.md @@ -39,7 +39,9 @@ Vault orchestration layer for the Vaulted password-manager ecosystem. Provides a - [lifecycle](./src/vault/lifecycle.md) — `lifecycle.ts` extracts the two side-effecting helpers that drive the unlock path: `deriveVaultKeyBuffer` (running 2SKD… - [vault](./src/vault/vault.md) — _(no submodules)_ - wiring — `wiring.ts` extracts the per-unlock module… - [wiring](./src/vault/wiring.md) — `wiring.ts` extracts the per-unlock module factories used by `Vault`: `buildItems`, `buildSearch`, `buildAttachments`,… + - [attachments](./src/attachments/attachments.md) — _(no submodules)_- [container](./src/container/container.md) — _(no submodules)_- [container](./src/container/container.md) — _(no submodules)_- [encryption](./src/encryption/field-encryption.md) — _(no submodules)_- [field-encryption](./src/encryption/field-encryption.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `codes.ts` defines the stable error-code registry for `@suaveplan/vault`. Every failure raised by the orchestration lay… + - [vault-error](./src/errors/vault-error.md) — `vault-error.ts` defines `VaultError`, the concrete `SuaveplanError` subclass thrown by every public path in `@suavepla… - [items](./src/items/items.md) — _(no submodules)_- [migrations](./src/items/migrations/migrations.md) — _(no submodules)_- [migrations](./src/items/migrations/migrations.md) — _(no submodules)_- [helpers](./src/items/helpers.md) — `items-helpers.ts` extracts the pure transformation helpers used by the items repository: row-to-item projection (with… - [items](./src/items/items.md) — _(no submodules)_- [manifest](./src/manifest/manifest.md) — _(no submodules)_- [manifest](./src/manifest/manifest.md) — _(no submodules)_- [otel](./src/otel/instruments.md) — _(no submodules)_- [instruments](./src/otel/instruments.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [schemas](./src/schemas/schemas.md) — _(no submodules)_- [search](./src/search/search.md) — _(no submodules)_- [search](./src/search/search.md) — _(no submodules)_- [shares](./src/shares/shares.md) — _(no submodules)_- [shares](./src/shares/shares.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [sync](./src/sync/sync.md) — _(no submodules)_- [types](./src/types/types.md) — _(no submodules)_- [adapters](./src/types/adapters.md) — `adapters.ts` defines the Phase-1 adapter contracts the vault orchestration layer uses to talk to blob storage, share-l… @@ -153,4 +155,3 @@ await vault.lock(); // zeroizes all key material ## Phased delivery This is the Phase-1 landing. Adapter interfaces (`DriveLike`, `DriveSharingLike`, `VaultSyncLike`) are defined inline; production wiring binds the real `@suaveplan/drive`, `@suaveplan/drive-sharing`, and `@suaveplan/vault-sync` packages without changes to this surface. - diff --git a/plugins/document-navigator/docs/security-stack/security/vault/src/items/items.md b/plugins/document-navigator/docs/security-stack/security/vault/src/items/items.md index 6e2cd44..53e6129 100644 --- a/plugins/document-navigator/docs/security-stack/security/vault/src/items/items.md +++ b/plugins/document-navigator/docs/security-stack/security/vault/src/items/items.md @@ -3,7 +3,7 @@ _(no submodules)_ - - [migrations](./migrations/migrations.md) — _(no submodules)_- [helpers](./helpers.md) — `items-helpers.ts` extracts the pure transformation helpers used by the items repository: row-to-item projection (with… +- [migrations](./migrations/migrations.md) — _(no submodules)_- [helpers](./helpers.md) — `items-helpers.ts` extracts the pure transformation helpers used by the items repository: row-to-item projection (with… - [items](./items.md) — _(no submodules)_- migrations — _(no submodule… - [migrations](./migrations/migrations.md) — _(no submodules)_- [helpers](./helpers.md) — `items-helpers.ts` extracts the pure transformation helpers used by the items repository: row-to-item projection (with… - [items](./items.md) — _(no submodules)_- [migrations](./migrations/migrations.md) — _(no submodules)_- [helpers](./helpers.md) — `items-helpers.ts` extracts the pure transformation helpers used by the items repository: row-to-item projection (with… @@ -12,6 +12,7 @@ _(no submodules)_ - [items](./items.md) — _(no submodules)_- migrations — _(no submodul… - [migrations](./migrations/migrations.md) — _(no submodules)_- [helpers](./helpers.md) — `items-helpers.ts` extracts the pure transformation helpers used by the items repository: row-to-item projection (with… - [items](./items.md) — _(no submodules)_ + ## Purpose `items.ts` exposes the `VaultItems` class, the in-memory CRUD repository over the vault container's item map. It is the boundary between the public `vault.items` surface and the underlying state — every public method validates input via Zod, mutates the container `Map`, appends an audit entry to the container history, encrypts concealed-field values per item, and notifies the orchestrator that a flush is due. diff --git a/plugins/document-navigator/docs/security-stack/security/vault/src/vault/vault.md b/plugins/document-navigator/docs/security-stack/security/vault/src/vault/vault.md index cec29ad..dc623e6 100644 --- a/plugins/document-navigator/docs/security-stack/security/vault/src/vault/vault.md +++ b/plugins/document-navigator/docs/security-stack/security/vault/src/vault/vault.md @@ -3,6 +3,7 @@ _(no submodules)_ - wiring — `wiring.ts` extracts the per-unlock module… + - [wiring](./wiring.md) — `wiring.ts` extracts the per-unlock module factories used by `Vault`: `buildItems`, `buildSearch`, `buildAttachments`,… - wiring — `wiring.ts` extracts the per-unlock module… diff --git a/plugins/document-navigator/docs/security-stack/security/x509/README.md b/plugins/document-navigator/docs/security-stack/security/x509/README.md index b4b0ccb..e20ad62 100644 --- a/plugins/document-navigator/docs/security-stack/security/x509/README.md +++ b/plugins/document-navigator/docs/security-stack/security/x509/README.md @@ -41,7 +41,9 @@ RFC 5280 X.509 v3 certificate parser and certification-path validator. Universal - [verify](./src/signature/verify.md) — The `signature/verify` module is part of the certificate signature-verify pipeline. Together with the rest of the `sign… - [trust-anchor](./src/validate/trust-anchor.md) — `validate/trust-anchor` is the core of the certificate path-validation pipeline. `validateChain` walks the certificate… - [validate-chain](./src/validate/validate-chain.md) — `validate/validate-chain` is the core of the certificate path-validation pipeline. `validateChain` walks the certificat… + - [build-certs](./src/__fixtures__/build-certs.md) — _(no submodules)_- [decoder](./src/asn1/decoder.md) — Implements `decodeAsn1(bytes, mode)` covering every ASN.1 production used by RFC 5280 Appendix A: primitive scalars (`I… + - [encoder](./src/asn1/encoder.md) — Implements `encodeAsn1(node)` producing canonical DER bytes per X.690 paragraph 10 for any `Asn1Node` the decoder accep… - [oid](./src/asn1/oid.md) — Encodes and decodes ASN.1 OBJECT IDENTIFIER bodies per X.690 paragraph 8.19. OIDs in X.509 identify algorithms, extensi… - [strings](./src/asn1/strings.md) — Decodes and encodes the typed ASN.1 string types used inside X.509 Names and SubjectAltName entries: `UTF8String`, `Pri… @@ -202,4 +204,3 @@ console.log(result.trustedPath.length); // 3 - __Certificate issuance / signing__ — follow-up `@suaveplan/x509-ca`. - __Policy mapping / policy constraints__ — decoded as `RawExtension`; critical occurrence triggers `CRITICAL_EXTENSION_UNRECOGNIZED` per RFC 5280 §6.1.4(f). - __PKCS#12 / PKCS#11 / smartcard__ — not in scope. - diff --git a/plugins/document-navigator/docs/testkit/testing/ab-testing/README.md b/plugins/document-navigator/docs/testkit/testing/ab-testing/README.md index f395c36..54f5baa 100644 --- a/plugins/document-navigator/docs/testkit/testing/ab-testing/README.md +++ b/plugins/document-navigator/docs/testkit/testing/ab-testing/README.md @@ -19,7 +19,9 @@ Enterprise A/B testing and experimentation engine with deterministic FNV-1a buck - [targeting](./src/targeting/targeting.md) — _(no submodules)_ - [common](./src/types/common.md) — Defines the shared TypeScript interfaces and type aliases that form the public contract of `@suaveplan/ab-testing`. Eve… - [schemas](./src/types/schemas.md) — Provides Zod validation schemas for all public input types in `@suaveplan/ab-testing`. These schemas serve as the singl… + - [bucketing](./src/bucketing/bucketing.md) — _(no submodules)_- [experiment-manager](./src/core/experiment-manager/experiment-manager.md) — _(no submodules)_- [experiment-manager](./src/core/experiment-manager/experiment-manager.md) — _(no submodules)_- [providers](./src/providers/provider.md) — _(no submodules)_- [provider](./src/providers/provider.md) — _(no submodules)_- [results](./src/results/results.md) — _(no submodules)_- [results](./src/results/results.md) — _(no submodules)_- [targeting](./src/targeting/targeting.md) — _(no submodules)_- [targeting](./src/targeting/targeting.md) — _(no submodules)_- [common](./src/types/common.md) — Defines the shared TypeScript interfaces and type aliases that form the public contract of `@suaveplan/ab-testing`. Eve… + - [schemas](./src/types/schemas.md) — Provides Zod validation schemas for all public input types in `@suaveplan/ab-testing`. These schemas serve as the singl… - [bucketing](./src/bucketing/bucketing.md) — _(no submodules)_- [experiment-manager](./src/core/experiment-manager/experiment-manager.md) — _(no submodules)_- [experiment-manager](./src/core/experiment-manager/experiment-manager.md) — _(no submodules)_- [providers](./src/providers/provider.md) — _(no submodules)_- [provider](./src/providers/provider.md) — _(no submodules)_- [results](./src/results/results.md) — _(no submodules)_- [results](./src/results/results.md) — _(no submodules)_- [targeting](./src/targeting/targeting.md) — _(no submodules)_- [targeting](./src/targeting/targeting.md) — _(no submodules)_- [common](./src/types/common.md) — Defines the shared TypeScript interfaces and type aliases that form the public contract of `@suaveplan/ab-testing`. Eve… - [schemas](./src/types/schemas.md) — Provides Zod validation schemas for all public input types in `@suaveplan/ab-testing`. These schemas serve as the singl… diff --git a/plugins/document-navigator/docs/testkit/testing/testing-dom/README.md b/plugins/document-navigator/docs/testkit/testing/testing-dom/README.md index 6b8129f..0c1b1d6 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-dom/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-dom/README.md @@ -32,12 +32,14 @@ DOM and React component testing utilities for Suaveplan. Provides a single insta - [polyfills](./src/setup/polyfills.md) — _(no submodules)_ - [user](./src/user/setup-user.md) — _(no submodules)_ - [setup-user](./src/user/setup-user.md) — _(no submodules)_ + - detect-environment — `detectEnvironment` probes the… - - [bun-test-config](./src/config/bun-test-config.md) — `createBunTestConfig` produces a minimal `bun test` configuration object with the same polyfill preload and environment… - - [config](./src/config/config.md) — _(no submodules)_- detect-environment — `detectEnvironment` probes the… - - [detect-environment](./src/config/detect-environment.md) — `detectEnvironment` probes the current runtime and returns the most-specific test environment available: `"happy-dom"`… - - [detect-runner](./src/config/detect-runner.md) — `detectRunner` tells the caller whether the currently-executing process is vitest or bun-test. It's used by the runner-… - - [vitest-config](./src/config/vitest-config.md) — `createVitestConfig` builds a ready-to-use vitest test block with WSL2-safe defaults and the package's polyfills preloa… + +- [bun-test-config](./src/config/bun-test-config.md) — `createBunTestConfig` produces a minimal `bun test` configuration object with the same polyfill preload and environment… +- [config](./src/config/config.md) — _(no submodules)_- detect-environment — `detectEnvironment` probes the… +- [detect-environment](./src/config/detect-environment.md) — `detectEnvironment` probes the current runtime and returns the most-specific test environment available: `"happy-dom"`… +- [detect-runner](./src/config/detect-runner.md) — `detectRunner` tells the caller whether the currently-executing process is vitest or bun-test. It's used by the runner-… +- [vitest-config](./src/config/vitest-config.md) — `createVitestConfig` builds a ready-to-use vitest test block with WSL2-safe defaults and the package's polyfills preloa… - [codes](./src/errors/codes.md) — `TESTING_DOM_CODES` is the package-local error code registry for `@suaveplan/testing-dom`. All codes share the `TESTING… - [testing-dom-error](./src/errors/testing-dom-error.md) — `TestingDomError` is the single concrete error class thrown by `@suaveplan/testing-dom`. It intentionally does NOT exte… - [matchers](./src/matchers/matchers.md) — _(no submodules)_- [matchers](./src/matchers/matchers.md) — _(no submodules)_- [observability](./src/observability/instrumented.md) — _(no submodules)_- [instrumented](./src/observability/instrumented.md) — _(no submodules)_- [queries](./src/queries/queries.md) — _(no submodules)_- [queries](./src/queries/queries.md) — _(no submodules)_- [render](./src/render/render-component.md) — _(no submodules)_- [render-component](./src/render/render-component.md) — _(no submodules)_- [runner](./src/runner/runner.md) — _(no submodules)_- vitest — The `runner/vitest` module re-exports vite… @@ -83,6 +85,7 @@ DOM and React component testing utilities for Suaveplan. Provides a single insta - [mocks](./src/runner/mocks.md) — The `runner/mocks` module offers a small set of dependency-injection friendly mock helpers that work identically under… - [runner](./src/runner/runner.md) — _(no submodules)_ - [vitest](./src/runner/vitest.md) — The `runner/vitest` module re-exports vitest's `describe`, `it`, `test`, `expect`, `beforeAll`, `beforeEach`, `afterAll… - [setup](./src/setup/polyfills.md) — _(no submodules)_ - [polyfills](./src/setup/polyfills.md) — _(no submodules)_- [user](./src/user/setup-user.md) — _(no submodules)_ - [setup-user](./src/user/setup-user.md) — _(no submodules)_ + ## Install ```bash @@ -151,4 +154,3 @@ it("submits the form", async () => { | | [src/runner/mocks.md](src/runner/mocks.md) | `fn`, `spy`, `stub`, `mock`, `fakeClock`, `restoreMocks`, `restoreTimers` — runner-agnostic mock helpers | | | [src/runner/runner.md](src/runner/runner.md) | Runner abstraction types | | _(observability)_ | [src/observability/instrumented.md](src/observability/instrumented.md) | `instrumented` — optional OTel wrapper (gated by `TESTING_DOM_OTEL_ENABLED=1`) that records call counts and duration histograms for package entrypoints | - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-dom/src/config/config.md b/plugins/document-navigator/docs/testkit/testing/testing-dom/src/config/config.md index a388e6c..fde3395 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-dom/src/config/config.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-dom/src/config/config.md @@ -3,6 +3,7 @@ _(no submodules)_ - detect-environment — `detectEnvironment` probes the… + - [detect-environment](./detect-environment.md) — `detectEnvironment` probes the current runtime and returns the most-specific test environment available: `"happy-dom"`… - [detect-runner](./detect-runner.md) — `detectRunner` tells the caller whether the currently-executing process is vitest or bun-test. It's used by the runner-… - [vitest-config](./vitest-config.md) — `createVitestConfig` builds a ready-to-use vitest test block with WSL2-safe defaults and the package's polyfills preloa… diff --git a/plugins/document-navigator/docs/testkit/testing/testing-dom/src/runner/runner.md b/plugins/document-navigator/docs/testkit/testing/testing-dom/src/runner/runner.md index a8803e1..63419c4 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-dom/src/runner/runner.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-dom/src/runner/runner.md @@ -3,6 +3,7 @@ _(no submodules)_ - vitest — The `runner/vitest` module re-exports vite… + - [vitest](./vitest.md) — The `runner/vitest` module re-exports vitest's `describe`, `it`, `test`, `expect`, `beforeAll`, `beforeEach`, `afterAll… - vitest — The `runner/vitest` module re-exports vite… diff --git a/plugins/document-navigator/docs/testkit/testing/testing-e2e/README.md b/plugins/document-navigator/docs/testkit/testing/testing-e2e/README.md index 7231295..723fd31 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-e2e/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-e2e/README.md @@ -78,7 +78,9 @@ downloaded to `~/.cache/cloakbrowser/`. CI runners pre-cache it via - [page-object](./src/page-objects/page-object.md) — _(no submodules)_ - [presets](./src/presets/stealth-presets.md) — Ready-made `CloakOptions` bundles for the most common cloakbrowser deployment shapes. Pulled from the official CloakBro… - [stealth-presets](./src/presets/stealth-presets.md) — Ready-made `CloakOptions` bundles for the most common cloakbrowser deployment shapes. Pulled from the official CloakBro… + - [create-playwright-config](./src/config/create-playwright-config.md) — _(no submodules)_- [console-monitor](./src/console-monitor/console-monitor.md) — _(no submodules)_- [console-monitor](./src/console-monitor/console-monitor.md) — _(no submodules)_- [codes](./src/errors/codes.md) — `TESTING_E2E_ERROR_CODES` is the frozen registry of every failure code `@suaveplan/testing-e2e` emits. All codes carry… + - [testing-e2e-error](./src/errors/testing-e2e-error.md) — `TestingE2eError` is the structured error class thrown by every helper, fixture, and page object in `@suaveplan/testing… - [extension-fixture](./src/extension-fixture/launch-with-extension.md) — _(no submodules)_- [launch-with-extension](./src/extension-fixture/launch-with-extension.md) — _(no submodules)_- [fixtures](./src/fixtures/extended-test.md) — _(no submodules)_- [extended-test](./src/fixtures/extended-test.md) — _(no submodules)_- [dismiss-dialog](./src/helpers/dismiss-dialog.md) — `dismissDialog` attaches a one-shot handler to the next `page.on("dialog")` event, with the caller choosing between `ac… - [mock-clipboard](./src/helpers/mock-clipboard.md) — `mockClipboard` installs a deterministic, in-memory clipboard implementation on the navigator object for a Playwright p… @@ -107,6 +109,7 @@ downloaded to `~/.cache/cloakbrowser/`. CI runners pre-cache it via - [screenshot-on-failure](./src/helpers/screenshot-on-failure.md) — `screenshotOnFailure` captures a full-page screenshot when a Playwright test fails and attaches it to the `TestInfo` re… - [wait-for-network-idle](./src/helpers/wait-for-network-idle.md) — `waitForNetworkIdle` suspends until a Playwright page has had zero in-flight requests for at least `idleMs` consecutive… - [multi-session](./src/multi-session/create-multi-session.md) — _(no submodules)_ - [create-multi-session](./src/multi-session/create-multi-session.md) — _(no submodules)_- [network-monitor](./src/network-monitor/network-monitor.md) — _(no submodules)_ - [network-monitor](./src/network-monitor/network-monitor.md) — _(no submodules)_- [observability](./src/observability/instrumented.md) — _(no submodules)_ - [instrumented](./src/observability/instrumented.md) — _(no submodules)_- [page-objects](./src/page-objects/page-object.md) — _(no submodules)_ - [page-object](./src/page-objects/page-object.md) — _(no submodules)_ + ## Install ```bash @@ -277,4 +280,3 @@ See `docker/README.md` for the full operator playbook. | `@suaveplan/testing-e2e/errors` | [src/errors/testing-e2e-error.md](src/errors/testing-e2e-error.md) | Typed error classes (`NavigationError`, `WaitTimeoutError`, `AbortedError`, `CloakLaunchError`) + `classifyCloakError` / `wrapCloakError` helpers | | | [src/errors/codes.md](src/errors/codes.md) | `TESTING_E2E_ERROR_CODES` registry | | _(observability)_ | [src/observability/instrumented.md](src/observability/instrumented.md) | `instrumented` — optional OTel wrapper (gated by `TESTING_E2E_OTEL_ENABLED=1`) that records call counts and duration histograms for package entrypoints | - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/extension-fixture/launch-with-extension.md b/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/extension-fixture/launch-with-extension.md index 08083ac..3204db4 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/extension-fixture/launch-with-extension.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/extension-fixture/launch-with-extension.md @@ -112,11 +112,11 @@ loaded and resolves the extension's runtime ID. - `options.userDataDir` — absolute path to the persistent browser profile directory; must be writable and unique per concurrent test run -- `options.launchPersistentContext` — *optional* launcher override. +- `options.launchPersistentContext` — _optional_ launcher override. Defaults to `cloakbrowser.launchPersistentContext` (loaded lazily via dynamic `import`). Tests inject a spy here; adapters inject a profile-manager-backed launcher -- `options.launchOptions` — *optional* extra options forwarded +- `options.launchOptions` — _optional_ extra options forwarded unchanged to the launcher. Use this to set `proxy`, `humanize`, `geoip`, `timezone`, `locale`, or any other cloakbrowser `LaunchPersistentContextOptions` field diff --git a/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/fixtures/extended-test.md b/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/fixtures/extended-test.md index 5c7bb9e..6592d34 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/fixtures/extended-test.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-e2e/src/fixtures/extended-test.md @@ -122,10 +122,10 @@ await browser.close(); A Playwright `test` function extended with the following fixtures: -- `browser: Browser` *(worker, overridden)* — stealth Chromium launched +- `browser: Browser` _(worker, overridden)_ — stealth Chromium launched via `cloakbrowser.launch`. Cleanup (`browser.close()`) runs once per worker -- `cloak: CloakOptions` *(worker option)* — options forwarded to +- `cloak: CloakOptions` _(worker option)_ — options forwarded to `cloakbrowser.launch`. Default `{ headless: true }` - `apiContext: APIRequestContext` — fresh per test, browser-free - `freshPage: Page` — fresh context + page per test diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-garage-s3/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-garage-s3/README.md index c92e109..7629250 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-garage-s3/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-garage-s3/README.md @@ -11,7 +11,9 @@ Implements `ServiceFixture` — manages a Garage container lifec - [fixture](./src/fixture/garage-s3-fixture.md) — _(no submodules)_ - [garage-s3-fixture](./src/fixture/garage-s3-fixture.md) — _(no submodules)_ + - [garage-s3-fixture](./src/fixture/garage-s3-fixture.md) — _(no submodules)_- [garage-s3-fixture](./src/fixture/garage-s3-fixture.md) — _(no submodules)_- [garage-s3-fixture](./src/fixture/garage-s3-fixture.md) — _(no submodules)_- [garage-s3-fixture](./src/fixture/garage-s3-fixture.md) — _(no submodules)_ + ## Install ```bash @@ -44,4 +46,3 @@ GARAGE_S3_SECRET_ACCESS_KEY=your-secret ## Docs - [GarageS3Fixture](src/fixture/garage-s3-fixture.md) - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-mailpit/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-mailpit/README.md index 25e5a6d..654af35 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-mailpit/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-mailpit/README.md @@ -13,7 +13,9 @@ Implements `ServiceFixture` — manages a Mailpit container lifec - [mailpit-fixture](./src/fixture/mailpit-fixture.md) — _(no submodules)_ - [helpers](./src/helpers/assert-mail.md) — _(no submodules)_ - [assert-mail](./src/helpers/assert-mail.md) — _(no submodules)_ + - [mailpit-fixture](./src/fixture/mailpit-fixture.md) — _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — _(no submodules)_- [assert-mail](./src/helpers/assert-mail.md) — _(no submodules)_- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — _(no submodules)_- [assert-mail](./src/helpers/assert-mail.md) — _(no submodules)_- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — _(no submodules)_- [assert-mail](./src/helpers/assert-mail.md) — _(no submodules)_- [mailpit-fixture](./src/fixture/mailpit-fixture.md) — _(no submodules)_- [helpers](./src/helpers/assert-mail.md) — _(no submodules)_ - [assert-mail](./src/helpers/assert-mail.md) — _(no submodules)_ + ## Install ```bash @@ -49,4 +51,3 @@ MAILPIT_API_URL=http://localhost:8025 - [MailpitFixture](src/fixture/mailpit-fixture.md) - [assertMail](src/helpers/assert-mail.md) - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-oauth-mock/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-oauth-mock/README.md index 4c81acf..181a0c3 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-oauth-mock/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-oauth-mock/README.md @@ -61,4 +61,3 @@ await idp.stop(); - Rule 11 — test-runner imports go through `@suaveplan/testing/runner`. - Rule 2 — real HTTP, no mocking libraries. - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-postgres/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-postgres/README.md index 4510df2..58fbae0 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-postgres/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-postgres/README.md @@ -11,7 +11,9 @@ Implements `ServiceFixture` — manages a PostgreSQL container l - [fixture](./src/fixture/postgres-fixture.md) — _(no submodules)_ - [postgres-fixture](./src/fixture/postgres-fixture.md) — _(no submodules)_ + - [postgres-fixture](./src/fixture/postgres-fixture.md) — _(no submodules)_- [postgres-fixture](./src/fixture/postgres-fixture.md) — _(no submodules)_- [postgres-fixture](./src/fixture/postgres-fixture.md) — _(no submodules)_- [postgres-fixture](./src/fixture/postgres-fixture.md) — _(no submodules)_ + ## Install ```bash @@ -40,4 +42,3 @@ POSTGRES_URL=postgresql://test:test@localhost:5432/test ## Docs - [PostgresFixture](src/fixture/postgres-fixture.md) - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-redis/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-redis/README.md index 0486433..1394701 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-redis/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-redis/README.md @@ -11,7 +11,9 @@ Implements `ServiceFixture` — manages a Redis container lifecycle - [fixture](./src/fixture/redis-fixture.md) — _(no submodules)_ - [redis-fixture](./src/fixture/redis-fixture.md) — _(no submodules)_ + - [redis-fixture](./src/fixture/redis-fixture.md) — _(no submodules)_- [redis-fixture](./src/fixture/redis-fixture.md) — _(no submodules)_- [redis-fixture](./src/fixture/redis-fixture.md) — _(no submodules)_- [redis-fixture](./src/fixture/redis-fixture.md) — _(no submodules)_ + ## Install ```bash @@ -40,4 +42,3 @@ REDIS_URL=redis://localhost:6379 ## Docs - [RedisFixture](src/fixture/redis-fixture.md) - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-surrealdb/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-surrealdb/README.md index deb9562..35fce4b 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-surrealdb/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-surrealdb/README.md @@ -11,7 +11,9 @@ Implements `ServiceFixture` — manages a SurrealDB container l - [fixture](./src/fixture/surrealdb-fixture.md) — _(no submodules)_ - [surrealdb-fixture](./src/fixture/surrealdb-fixture.md) — _(no submodules)_ + - [surrealdb-fixture](./src/fixture/surrealdb-fixture.md) — _(no submodules)_- [surrealdb-fixture](./src/fixture/surrealdb-fixture.md) — _(no submodules)_- [surrealdb-fixture](./src/fixture/surrealdb-fixture.md) — _(no submodules)_- [surrealdb-fixture](./src/fixture/surrealdb-fixture.md) — _(no submodules)_ + ## Install ```bash @@ -42,4 +44,3 @@ SURREALDB_PASSWORD=yourpassword ## Docs - [SurrealDBFixture](src/fixture/surrealdb-fixture.md) - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration-typesense/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration-typesense/README.md index 92465a5..5bff7b9 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration-typesense/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration-typesense/README.md @@ -11,7 +11,9 @@ Implements `ServiceFixture` — manages a Typesense container l - [fixture](./src/fixture/typesense-fixture.md) — _(no submodules)_ - [typesense-fixture](./src/fixture/typesense-fixture.md) — _(no submodules)_ + - [typesense-fixture](./src/fixture/typesense-fixture.md) — _(no submodules)_- [typesense-fixture](./src/fixture/typesense-fixture.md) — _(no submodules)_- [typesense-fixture](./src/fixture/typesense-fixture.md) — _(no submodules)_- [typesense-fixture](./src/fixture/typesense-fixture.md) — _(no submodules)_ + ## Install ```bash @@ -41,4 +43,3 @@ TYPESENSE_API_KEY=your-api-key ## Docs - [TypesenseFixture](src/fixture/typesense-fixture.md) - diff --git a/plugins/document-navigator/docs/testkit/testing/testing-integration/README.md b/plugins/document-navigator/docs/testkit/testing/testing-integration/README.md index 27b32d5..6ab4af5 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing-integration/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing-integration/README.md @@ -18,7 +18,9 @@ Core integration test infrastructure for Vitest: fixture lifecycle management, h - [skip-if-unavailable-internal](./src/internal/skip-if-unavailable-internal.md) — This module exposes `createSkipIfUnavailableWithInject()` — the dependency-injected core of the public `skipIfUnavailab… - [create-integration-setup](./src/setup/create-integration-setup.md) — `createIntegrationSetup` is the primary entry point for wiring integration test fixtures into the Vitest global-setup l… - [global-setup](./src/setup/global-setup.md) — `global-setup.ts` is the Vitest global-setup module that bridges the fixture registry populated by `createIntegrationSe… + - [test-environment](./src/environment/test-environment.md) — _(no submodules)_- [fixture](./src/fixture/service-fixture.md) — _(no submodules)_- [service-fixture](./src/fixture/service-fixture.md) — _(no submodules)_- [health-poller](./src/helpers/health-poller.md) — `HealthPoller` repeatedly calls a `ServiceFixture`'s `healthCheck()` method at a configurable interval until the servic… + - [skip-if-unavailable](./src/helpers/skip-if-unavailable.md) — `skipIfUnavailable` returns a `beforeAll`-compatible callback that marks the current test as skipped when the named ser… - [create-integration-setup-internal](./src/internal/create-integration-setup-internal.md) — This module exposes `createIntegrationSetupWithInject()` — the dependency-injected core of the public `createIntegratio… - [fixture-registry](./src/internal/fixture-registry.md) — This module exposes the module-level `fixtureRegistry` `Map>>` that brid… @@ -114,4 +116,3 @@ When creating a sibling fixture package (e.g. `@suaveplan/testing-integration-cl 1. Mirror the `vite.config.ts` of an existing fixture (e.g. `testing-integration-redis`). The `build.rollupOptions.output` block MUST contain all three of `preserveModules: true`, `preserveModulesRoot: "src"`, **and `entryFileNames: "[name].js"`**. Without the third line, Vite's lib mode derives the entry filename from the package name and the consumer-facing `dist/index.js` is never written — the package will appear to build but fail to resolve from any sibling workspace. 2. Run `bun run check:fixture-resolves` from the repo root to verify the new package resolves. The repo-level CI gate `//#check:fixture-resolves` (in `turbo.json`) will fail otherwise. - diff --git a/plugins/document-navigator/docs/testkit/testing/testing/README.md b/plugins/document-navigator/docs/testkit/testing/testing/README.md index 2948cee..fb33ec6 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing/README.md +++ b/plugins/document-navigator/docs/testkit/testing/testing/README.md @@ -44,7 +44,9 @@ This package is **Layer 0** in the dependency graph: it has zero `@suaveplan/*` - [memory-store](./src/storage/memory-store/memory-store.md) — _(no submodules)_ - [types](./src/types/http.md) — _(no submodules)_ - [http](./src/types/http.md) — _(no submodules)_ + - [request](./src/builders/request/request.md) — _(no submodules)_- [response](./src/builders/response/response.md) — _(no submodules)_- [response](./src/builders/response/response.md) — _(no submodules)_- [fake-clock](./src/clock/fake-clock/fake-clock.md) — _(no submodules)_- [fake-clock](./src/clock/fake-clock/fake-clock.md) — _(no submodules)_- [config](./src/config/create-test-config.md) — _(no submodules)_- [create-test-config](./src/config/create-test-config.md) — _(no submodules)_- [clock-constants](./src/constants/clock-constants.md) — `clock-constants` centralises the default configuration values and safety limits for `FakeClock`, the controllable time… + - [fixture-constants](./src/constants/fixture-constants.md) — `fixture-constants` defines the safety limits governing `FixtureManager`, the lifecycle-aware test fixture coordinator… - [helpers-constants](./src/constants/helpers-constants.md) — `helpers-constants` provides the default polling configuration for `waitFor`, the async condition helper in `@suaveplan… - [http-constants](./src/constants/http-constants.md) — `http-constants` provides the default HTTP configuration values used by `ResponseBuilder`, the fluent HTTP response fix… @@ -95,6 +97,7 @@ This package is **Layer 0** in the dependency graph: it has zero `@suaveplan/*` - [mocks](./src/runner/mocks.md) — The `runner/mocks` module offers a small set of dependency-injection friendly mock helpers that work identically under… - [runner](./src/runner/runner.md) — _(no submodules)_ - [vitest](./src/runner/vitest.md) — The `runner/vitest` module re-exports vitest's `describe`, `it`, `test`, `expect`, `beforeAll`, `beforeEach`, `afterAll… - [memory-store](./src/storage/memory-store/memory-store.md) — _(no submodules)_ - [memory-store](./src/storage/memory-store/memory-store.md) — _(no submodules)_- [types](./src/types/http.md) — _(no submodules)_ - [http](./src/types/http.md) — _(no submodules)_ + ## Install ```sh @@ -205,4 +208,3 @@ Every error thrown from `@suaveplan/testing` has a stable code. Callers should b ## License MIT - diff --git a/plugins/document-navigator/docs/testkit/testing/testing/src/runner/runner.md b/plugins/document-navigator/docs/testkit/testing/testing/src/runner/runner.md index eaa4928..c27f5a2 100644 --- a/plugins/document-navigator/docs/testkit/testing/testing/src/runner/runner.md +++ b/plugins/document-navigator/docs/testkit/testing/testing/src/runner/runner.md @@ -3,6 +3,7 @@ _(no submodules)_ - vitest — The `runner/vitest` module re-exports vite… + - [vitest](./vitest.md) — The `runner/vitest` module re-exports vitest's `describe`, `it`, `test`, `expect`, `beforeAll`, `beforeEach`, `afterAll… - vitest — The `runner/vitest` module re-exports vite… diff --git a/plugins/document-navigator/docs/threejs/r3f/r3f-networking/README.md b/plugins/document-navigator/docs/threejs/r3f/r3f-networking/README.md index a664c07..47182b5 100644 --- a/plugins/document-navigator/docs/threejs/r3f/r3f-networking/README.md +++ b/plugins/document-navigator/docs/threejs/r3f/r3f-networking/README.md @@ -51,15 +51,18 @@ deltas, `@suaveplan/fsm` for the reconciliation state machine, and - [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_ - [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_ - [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_ + - [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… - - [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… - - [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… - - [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… - - [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… - - [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… - - [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_ - [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… - - [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_ - [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_ - [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… - - [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_ - [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_ - [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_ - [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_ - [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_ - [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_ - [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_ - [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_ - [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_ - [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_ - [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_ - [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_ - [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_ - [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_ + +- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… +- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… +- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… +- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… +- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… +- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_- [server-authority](./src/authority/server-authority/server-authority.md) — _(no submodules)_- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_ - [network-provider-context](./src/components/network-provider/network-provider-context.md) — Module-scope `React.Context` exported as a separate file so consumers can import the context object directly (`useConte… +- [network-provider](./src/components/network-provider/network-provider.md) — _(no submodules)_- [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_ - [network-stats](./src/components/network-stats/network-stats.md) — _(no submodules)_- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_ - [apply-networked-frame](./src/components/networked-entity/apply-networked-frame.md) — Pure per-frame helper that writes a target `EntityTransform` into a Three.js group-shaped target. Local entities snap d… +- [networked-entity](./src/components/networked-entity/networked-entity.md) — _(no submodules)_- [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_ - [interpolation](./src/core/interpolation/interpolation.md) — _(no submodules)_- [prediction](./src/core/prediction/prediction.md) — _(no submodules)_ - [prediction](./src/core/prediction/prediction.md) — _(no submodules)_- [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_ - [reconciliation-fsm](./src/core/reconciliation-fsm/reconciliation-fsm.md) — _(no submodules)_- [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_ - [snapshot-diff](./src/core/snapshot-diff/snapshot-diff.md) — _(no submodules)_- [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_ - [state-buffer](./src/core/state-buffer/state-buffer.md) — _(no submodules)_- [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_ - [wire-codec](./src/core/wire-codec/wire-codec.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_ - [use-network-predict](./src/hooks/use-network-predict/use-network-predict.md) — _(no submodules)_- [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_ - [use-network-sync](./src/hooks/use-network-sync/use-network-sync.md) — _(no submodules)_- [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_ - [use-networked-entity](./src/hooks/use-networked-entity/use-networked-entity.md) — _(no submodules)_- [observability](./src/observability/observability.md) — _(no submodules)_ - [observability](./src/observability/observability.md) — _(no submodules)_- [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_ - [entity-sync](./src/sync/entity-sync/entity-sync.md) — _(no submodules)_- [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_ - [interest-manager](./src/sync/interest-manager/interest-manager.md) — _(no submodules)_- [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_ - [memory-transport](./src/transport/memory-transport/memory-transport.md) — _(no submodules)_- [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_ - [network-helpers](./src/utils/network-helpers/network-helpers.md) — _(no submodules)_ + ## What this package owns - **Interpolation** — frame-loop smoothing of remote-peer transforms diff --git a/plugins/document-navigator/docs/ui/forms/form-builder/README.md b/plugins/document-navigator/docs/ui/forms/form-builder/README.md index b1fc05b..6dd7a2a 100644 --- a/plugins/document-navigator/docs/ui/forms/form-builder/README.md +++ b/plugins/document-navigator/docs/ui/forms/form-builder/README.md @@ -125,4 +125,3 @@ await submit({ ## License MIT. - diff --git a/plugins/document-navigator/docs/ui/forms/form-builder/src/otel/instruments/instruments.md b/plugins/document-navigator/docs/ui/forms/form-builder/src/otel/instruments/instruments.md index 8bb51f5..f66ab7a 100644 --- a/plugins/document-navigator/docs/ui/forms/form-builder/src/otel/instruments/instruments.md +++ b/plugins/document-navigator/docs/ui/forms/form-builder/src/otel/instruments/instruments.md @@ -12,7 +12,7 @@ instruments emitted across the package: three counters `form_builder.submission.total`) and two histograms (`form_builder.validation.duration_ms`, `form_builder.submission.duration_ms`). Lazy resolution lets test environments install a custom `MeterProvider` -via `metrics.setGlobalMeterProvider` *after* the module is imported and +via `metrics.setGlobalMeterProvider` _after_ the module is imported and still observe production emissions. A test-only `_resetInstrumentsForTests` is exported so the lazy cache can diff --git a/plugins/document-navigator/docs/ui/forms/form-builder/src/serialise/serialise/serialise.md b/plugins/document-navigator/docs/ui/forms/form-builder/src/serialise/serialise/serialise.md index 7d73f82..08c52c6 100644 --- a/plugins/document-navigator/docs/ui/forms/form-builder/src/serialise/serialise/serialise.md +++ b/plugins/document-navigator/docs/ui/forms/form-builder/src/serialise/serialise/serialise.md @@ -62,7 +62,7 @@ try { The envelope wraps the schema rather than annotating it inline because that keeps the schema body untouched and lets the version discriminator be a plain object key rather than a magic field embedded in the schema. The -implementation deliberately performs the version check *before* delegating +implementation deliberately performs the version check _before_ delegating to `parseFormSchema`, so callers see a clear "wrong version" error rather than a flood of Zod-issue noise when the inner shape is for a future release. diff --git a/plugins/document-navigator/docs/ui/forms/form-builder/src/zod-schema/zod-schema/zod-schema.md b/plugins/document-navigator/docs/ui/forms/form-builder/src/zod-schema/zod-schema/zod-schema.md index eb66fcb..060b780 100644 --- a/plugins/document-navigator/docs/ui/forms/form-builder/src/zod-schema/zod-schema/zod-schema.md +++ b/plugins/document-navigator/docs/ui/forms/form-builder/src/zod-schema/zod-schema/zod-schema.md @@ -54,7 +54,7 @@ import { toZodSchema } from "@suaveplan/form-builder"; Every field is wrapped in `.optional()` so the generated schema accepts partially-filled drafts; the `superRefine` step is the canonical layer that decides whether a value is structurally required. This means the -schema validates against the *current* values being parsed, which is what +schema validates against the _current_ values being parsed, which is what `react-hook-form` consumers expect for conditional UIs. We deliberately avoid `z.discriminatedUnion` over field types because field types are an attribute of the schema, not the value space. diff --git a/plugins/document-navigator/docs/ui/forms/react-forms/README.md b/plugins/document-navigator/docs/ui/forms/react-forms/README.md index f86f15d..6cce18d 100644 --- a/plugins/document-navigator/docs/ui/forms/react-forms/README.md +++ b/plugins/document-navigator/docs/ui/forms/react-forms/README.md @@ -92,9 +92,11 @@ engine + validator suite. - [required](./src/validation/validators/required/required.md) — _(no submodules)_ - [url](./src/validation/validators/url/url.md) — _(no submodules)_ - [url](./src/validation/validators/url/url.md) — _(no submodules)_ + - use-api-client — React hook that reads the active `… - - [api-client-context](./src/core/api-client-context/api-client-context.md) — _(no submodules)_- use-api-client — React hook that reads the active `… - - [use-api-client](./src/core/api-client-context/use-api-client.md) — React hook that reads the active `ApiClient` from the surrounding `` and returns it typed as the con… + +- [api-client-context](./src/core/api-client-context/api-client-context.md) — _(no submodules)_- use-api-client — React hook that reads the active `… +- [use-api-client](./src/core/api-client-context/use-api-client.md) — React hook that reads the active `ApiClient` from the surrounding `` and returns it typed as the con… - [auth-context](./src/core/auth-context/auth-context.md) — _(no submodules)_- use-auth — React hook that reads the active `AuthCo… - [auth-context](./src/core/auth-context/auth-context.md) — _(no submodules)_- use-auth — React hook that reads the active `AuthCo… - [use-auth](./src/core/auth-context/use-auth.md) — React hook that reads the active `AuthContextValue` from the surrounding `` and returns it typed as `Auth… @@ -229,6 +231,7 @@ engine + validator suite. - [sequence](./src/validation/compose/sequence.md) — Short-circuit AND composer with explicit ordering semantics. Identical to `compose` in result — every validator must pa… - [shared](./src/validation/compose/shared.md) — Tiny internal helper module shared by every composer in `validation/compose`. Centralises the `Promise` discrimination… - [bic](./src/validation/validators/bic/bic.md) — _(no submodules)_ - [bic](./src/validation/validators/bic/bic.md) — _(no submodules)_- [credit-card](./src/validation/validators/credit-card/credit-card.md) — _(no submodules)_ - [credit-card](./src/validation/validators/credit-card/credit-card.md) — _(no submodules)_- [custom](./src/validation/validators/custom/custom.md) — _(no submodules)_ - [custom](./src/validation/validators/custom/custom.md) — _(no submodules)_- [email](./src/validation/validators/email/email.md) — _(no submodules)_ - [email](./src/validation/validators/email/email.md) — _(no submodules)_- [iban](./src/validation/validators/iban/iban.md) — _(no submodules)_ - [iban](./src/validation/validators/iban/iban.md) — _(no submodules)_- [max-length](./src/validation/validators/max-length/max-length.md) — _(no submodules)_ - [max-length](./src/validation/validators/max-length/max-length.md) — _(no submodules)_- [min-length](./src/validation/validators/min-length/min-length.md) — _(no submodules)_ - [min-length](./src/validation/validators/min-length/min-length.md) — _(no submodules)_- [password-strength](./src/validation/validators/password-strength/password-strength.md) — _(no submodules)_ - [password-strength](./src/validation/validators/password-strength/password-strength.md) — _(no submodules)_- [pattern](./src/validation/validators/pattern/pattern.md) — _(no submodules)_ - [pattern](./src/validation/validators/pattern/pattern.md) — _(no submodules)_- [phone](./src/validation/validators/phone/phone.md) — _(no submodules)_ - [phone](./src/validation/validators/phone/phone.md) — _(no submodules)_- [postcode](./src/validation/validators/postcode/postcode.md) — _(no submodules)_ - [postcode](./src/validation/validators/postcode/postcode.md) — _(no submodules)_- [required](./src/validation/validators/required/required.md) — _(no submodules)_ - [required](./src/validation/validators/required/required.md) — _(no submodules)_- [url](./src/validation/validators/url/url.md) — _(no submodules)_ - [url](./src/validation/validators/url/url.md) — _(no submodules)_ + ## Install ```bash diff --git a/plugins/document-navigator/docs/ui/forms/react-forms/src/core/api-client-context/api-client-context.md b/plugins/document-navigator/docs/ui/forms/react-forms/src/core/api-client-context/api-client-context.md index 447ba84..1d3052d 100644 --- a/plugins/document-navigator/docs/ui/forms/react-forms/src/core/api-client-context/api-client-context.md +++ b/plugins/document-navigator/docs/ui/forms/react-forms/src/core/api-client-context/api-client-context.md @@ -3,6 +3,7 @@ _(no submodules)_ - use-api-client — React hook that reads the active `… + - [use-api-client](./use-api-client.md) — React hook that reads the active `ApiClient` from the surrounding `` and returns it typed as the con… - use-api-client — React hook that reads the active `… diff --git a/plugins/document-navigator/docs/ui/forms/react-forms/src/core/auth-context/auth-context.md b/plugins/document-navigator/docs/ui/forms/react-forms/src/core/auth-context/auth-context.md index 9318ada..b0307e1 100644 --- a/plugins/document-navigator/docs/ui/forms/react-forms/src/core/auth-context/auth-context.md +++ b/plugins/document-navigator/docs/ui/forms/react-forms/src/core/auth-context/auth-context.md @@ -3,6 +3,7 @@ _(no submodules)_ - use-auth — React hook that reads the active `AuthCo… + - [use-auth](./use-auth.md) — React hook that reads the active `AuthContextValue` from the surrounding `` and returns it typed as `Auth… - use-auth — React hook that reads the active `AuthCo… diff --git a/plugins/document-navigator/docs/ui/forms/react-forms/src/validation/compose/compose.md b/plugins/document-navigator/docs/ui/forms/react-forms/src/validation/compose/compose.md index 2b23e4a..e9acef7 100644 --- a/plugins/document-navigator/docs/ui/forms/react-forms/src/validation/compose/compose.md +++ b/plugins/document-navigator/docs/ui/forms/react-forms/src/validation/compose/compose.md @@ -3,6 +3,7 @@ _(no submodules)_ - or — OR-semantics composer for the validator suite.… + - [or](./or.md) — OR-semantics composer for the validator suite. Returns a validator that passes when any of the input validators passes.… - [sequence](./sequence.md) — Short-circuit AND composer with explicit ordering semantics. Identical to `compose` in result — every validator must pa… - [shared](./shared.md) — Tiny internal helper module shared by every composer in `validation/compose`. Centralises the `Promise` discrimination… diff --git a/plugins/document-navigator/docs/ui/react/react-audio-fingerprint/README.md b/plugins/document-navigator/docs/ui/react/react-audio-fingerprint/README.md index bda7988..df53300 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio-fingerprint/README.md +++ b/plugins/document-navigator/docs/ui/react/react-audio-fingerprint/README.md @@ -88,4 +88,3 @@ heaviest bin's count as the score and its midpoint as the alignment offset. ## License MIT — see `LICENSE` at the repo root. - diff --git a/plugins/document-navigator/docs/ui/react/react-audio-player/README.md b/plugins/document-navigator/docs/ui/react/react-audio-player/README.md index cb5694e..6fe8f2f 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio-player/README.md +++ b/plugins/document-navigator/docs/ui/react/react-audio-player/README.md @@ -133,4 +133,3 @@ export function Preview({ lrc }: { lrc: string }) { | `./error-codes` | `REACT_AUDIO_PLAYER.*` registry. | See the per-feature `.md` files for full API references. - diff --git a/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/lyrics-display/lyrics-display.md b/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/lyrics-display/lyrics-display.md index a937dbb..6da1b16 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/lyrics-display/lyrics-display.md +++ b/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/lyrics-display/lyrics-display.md @@ -79,13 +79,13 @@ function StyledLyrics({ lrc, time }: { lrc: string; time: number }) { ## API Reference - `` accepts `LyricsDisplayProps`: - - `lyrics?: readonly Lyric[]` — preferred over `lrc`. - - `lrc?: string` — parsed once per identity change. - - `currentSec: number` — required. - - `intervalMs?: number` (default 100). - - `announceLyrics?: boolean` (default `true`). - - `className?: string`. - - `renderLine?: ({ lyric, isActive, index }) => ReactNode`. + - `lyrics?: readonly Lyric[]` — preferred over `lrc`. + - `lrc?: string` — parsed once per identity change. + - `currentSec: number` — required. + - `intervalMs?: number` (default 100). + - `announceLyrics?: boolean` (default `true`). + - `className?: string`. + - `renderLine?: ({ lyric, isActive, index }) => ReactNode`. ## Implementation Notes diff --git a/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/use-lyrics/use-lyrics.md b/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/use-lyrics/use-lyrics.md index fac2ae9..891cb27 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/use-lyrics/use-lyrics.md +++ b/plugins/document-navigator/docs/ui/react/react-audio-player/src/karaoke/use-lyrics/use-lyrics.md @@ -89,14 +89,14 @@ function StandaloneLyricPreview({ lrc }: { lrc: string }) { - `useLyrics(opts: UseLyricsOptions): UseLyricsResult` - `UseLyricsOptions`: - - `lyrics?: readonly Lyric[]` — preferred. - - `lrc?: string` — parsed once per identity change. - - `intervalMs?: number` (default 100). - - `currentSec: number` — required. + - `lyrics?: readonly Lyric[]` — preferred. + - `lrc?: string` — parsed once per identity change. + - `intervalMs?: number` (default 100). + - `currentSec: number` — required. - `UseLyricsResult`: - - `lyrics: readonly Lyric[]`, - - `activeIndex: number` (`-1` for "before first cue / empty"), - - `activeLyric: Lyric | undefined`. + - `lyrics: readonly Lyric[]`, + - `activeIndex: number` (`-1` for "before first cue / empty"), + - `activeLyric: Lyric | undefined`. ## Implementation Notes diff --git a/plugins/document-navigator/docs/ui/react/react-audio-stream/README.md b/plugins/document-navigator/docs/ui/react/react-audio-stream/README.md index e5a75bf..99fcbfd 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio-stream/README.md +++ b/plugins/document-navigator/docs/ui/react/react-audio-stream/README.md @@ -129,4 +129,3 @@ export function App() { - Zero browser audio APIs: no `AudioContext` / `AudioNode` / `AudioWorklet` imports. - DAW solo semantics live in the mixer hook, not in each component. - Every hook throws `REACT_AUDIO_STREAM.NO_PROVIDER` outside a ``. - diff --git a/plugins/document-navigator/docs/ui/react/react-audio/README.md b/plugins/document-navigator/docs/ui/react/react-audio/README.md index 19acbda..fda08e5 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio/README.md +++ b/plugins/document-navigator/docs/ui/react/react-audio/README.md @@ -203,4 +203,3 @@ Phase 1. ## License MIT - diff --git a/plugins/document-navigator/docs/ui/react/react-audio/src/components/plugin-loader/plugin-loader.md b/plugins/document-navigator/docs/ui/react/react-audio/src/components/plugin-loader/plugin-loader.md index d9d5bfd..1012a49 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio/src/components/plugin-loader/plugin-loader.md +++ b/plugins/document-navigator/docs/ui/react/react-audio/src/components/plugin-loader/plugin-loader.md @@ -84,7 +84,7 @@ without needing a snapshot store. The component keeps a local `version` counter that is incremented after every registration so React schedules a re-render — `list()` itself is a method, not a reactive primitive. The registration form intentionally writes a -*placeholder* factory that throws when invoked; this prevents the +_placeholder_ factory that throws when invoked; this prevents the loader from accidentally being used in production to register half-real factories. Consumers wanting real registration should call `registry.register(...)` directly from a parent component. diff --git a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-analyser/use-analyser.md b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-analyser/use-analyser.md index d74b3f2..8a3a282 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-analyser/use-analyser.md +++ b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-analyser/use-analyser.md @@ -87,17 +87,17 @@ function TrackVisualizer({ adapter, trackId }) { - `useAnalyser(opts?: UseAnalyserOptions): UseAnalyserResult` - `UseAnalyserOptions`: - - `analyser?: AnalyserLike | null` — direct ref; supersedes `factory`. - - `factory?: () => AnalyserLike | null` — lazy resolver, retried per tick. - - `intervalMs?: number` — poll interval (default 16). - - `fftSize?: number` — power-of-2 in `[32, 32768]` (default 2048). - - `smoothingTimeConstant?: number` — `[0, 1]` (default 0.8). - - `minDecibels?: number` — default `-100`. - - `maxDecibels?: number` — default `-30`. + - `analyser?: AnalyserLike | null` — direct ref; supersedes `factory`. + - `factory?: () => AnalyserLike | null` — lazy resolver, retried per tick. + - `intervalMs?: number` — poll interval (default 16). + - `fftSize?: number` — power-of-2 in `[32, 32768]` (default 2048). + - `smoothingTimeConstant?: number` — `[0, 1]` (default 0.8). + - `minDecibels?: number` — default `-100`. + - `maxDecibels?: number` — default `-30`. - `UseAnalyserResult`: - - `analyser: AnalyserLike | null` — resolved instance or `null`. - - `frequency: Uint8Array` — byte-magnitude FFT, identity-stable. - - `waveform: Uint8Array` — byte time-domain, identity-stable. + - `analyser: AnalyserLike | null` — resolved instance or `null`. + - `frequency: Uint8Array` — byte-magnitude FFT, identity-stable. + - `waveform: Uint8Array` — byte time-domain, identity-stable. ## Implementation Notes diff --git a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-engine-state/use-engine-state.md b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-engine-state/use-engine-state.md index cfb1574..32010db 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-engine-state/use-engine-state.md +++ b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-engine-state/use-engine-state.md @@ -9,7 +9,7 @@ _(no submodules)_ `useEngineState()` reports the ``'s async-init lifecycle phase as one of `'pending' | 'ready' | 'error'`. It is the only engine-aware hook that does **not** throw on the pending phase — -its purpose is to *report* that phase so consumers can render a +its purpose is to _report_ that phase so consumers can render a loading state or gate child trees on engine readiness. The hook still throws `ReactAudioError(REACT_AUDIO.NO_PROVIDER)` when diff --git a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-provider-state.md b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-provider-state.md index a553548..9c601e0 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-provider-state.md +++ b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-provider-state.md @@ -20,7 +20,7 @@ contract. or throws. - `useAudioContextOrThrow()` — returns the raw `AudioContextValue` (without the pending check) for hooks like `useEngineState` that - need to *report* the lifecycle phase rather than throw on it. + need to _report_ the lifecycle phase rather than throw on it. ## Usage: Basic diff --git a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-timeline/use-timeline.md b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-timeline/use-timeline.md index 0afc20d..83d5449 100644 --- a/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-timeline/use-timeline.md +++ b/plugins/document-navigator/docs/ui/react/react-audio/src/hooks/use-timeline/use-timeline.md @@ -10,7 +10,7 @@ _(no submodules)_ instance, the canonical owner of timeline state — tracks, clips, selection, loop region, master volume, undo/redo. The engine exposes its own typed event surface (`engine.on(event, listener)`); consumers -who want to *subscribe* to engine events should pair this hook with +who want to _subscribe_ to engine events should pair this hook with `useSyncExternalStore` and pass `engine.on(...)` as the subscribe callback. The hook itself returns the engine handle and does not trigger re-renders on engine state changes. diff --git a/plugins/document-navigator/docs/ui/react/react-auth-whitelabel/README.md b/plugins/document-navigator/docs/ui/react/react-auth-whitelabel/README.md index e983660..f122247 100644 --- a/plugins/document-navigator/docs/ui/react/react-auth-whitelabel/README.md +++ b/plugins/document-navigator/docs/ui/react/react-auth-whitelabel/README.md @@ -103,4 +103,3 @@ unmount. story gate — depend on packages not yet . - Bundle-size snapshot — repo-wide tooling not yet wired. - Playwright E2E specs — see `e2e/README.md`. - diff --git a/plugins/document-navigator/docs/ui/react/react-auth/README.md b/plugins/document-navigator/docs/ui/react/react-auth/README.md index 308b1ab..944925f 100644 --- a/plugins/document-navigator/docs/ui/react/react-auth/README.md +++ b/plugins/document-navigator/docs/ui/react/react-auth/README.md @@ -123,4 +123,3 @@ This package is the **Wave 1** core. The Wave 2 forms (`LoginForm`, `RegisterFor ## Observability All instrumented call paths emit through `metrics.getMeter("suaveplan.react-auth")`. Counters: `react_auth.sign_in.total`, `react_auth.sign_up.total`, `react_auth.sign_out.total`, `react_auth.guard.allow.total`, `react_auth.guard.deny.total`. Histogram: `react_auth.session_fetch.duration_ms`. - diff --git a/plugins/document-navigator/docs/ui/react/react-control-surface/README.md b/plugins/document-navigator/docs/ui/react/react-control-surface/README.md index 21a9590..686b885 100644 --- a/plugins/document-navigator/docs/ui/react/react-control-surface/README.md +++ b/plugins/document-navigator/docs/ui/react/react-control-surface/README.md @@ -111,4 +111,3 @@ spec: changing the skin is a pure CSS-variable swap. user-driven `onChange` from an atomic control. - `control_surface_render_duration_ms` — histogram recorded by the runtime per surface render commit (registered for future chunks). - diff --git a/plugins/document-navigator/docs/ui/react/react-midi/README.md b/plugins/document-navigator/docs/ui/react/react-midi/README.md index 639f122..f529eee 100644 --- a/plugins/document-navigator/docs/ui/react/react-midi/README.md +++ b/plugins/document-navigator/docs/ui/react/react-midi/README.md @@ -163,4 +163,3 @@ This package ships a local mirror of the `@suaveplan/midi` `MidiMessage` contract in `src/midi-contract/`. Once `@suaveplan/midi` graduates to `workspace:^`, the local mirror is replaced by a re-export from that package without any shape change. - diff --git a/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-midi/use-midi.md b/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-midi/use-midi.md index 1b9f4ff..667d56e 100644 --- a/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-midi/use-midi.md +++ b/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-midi/use-midi.md @@ -17,7 +17,7 @@ specialised hooks (`useMidiInput`, `useMidiDevices`) wrap it for narrower use-cases. The hook never throws on a `denied` / `unsupported` status — it -*reports* the state. The only throw is the structural +_reports_ the state. The only throw is the structural `REACT_MIDI.NO_PROVIDER` when rendered outside a provider. ## Features diff --git a/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-rpn/use-rpn.md b/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-rpn/use-rpn.md index e28147b..cf65648 100644 --- a/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-rpn/use-rpn.md +++ b/plugins/document-navigator/docs/ui/react/react-midi/src/hooks/use-rpn/use-rpn.md @@ -59,7 +59,7 @@ data-MSB/LSB CCs (6 and 38) are shared with NRPN — devices follow the convention of sending a fresh paramHigh selector to switch between the two address spaces, which the reducer handles via its "new paramHigh resets partial state" rule. Consumers that need to -listen to *both* NRPN and RPN streams from the same port simply +listen to _both_ NRPN and RPN streams from the same port simply compose the two hooks side by side; the underlying input adapter fans the parsed messages out to both subscriptions without double-binding the Web MIDI `onmidimessage` slot. diff --git a/plugins/document-navigator/docs/ui/react/react-ui/README.md b/plugins/document-navigator/docs/ui/react/react-ui/README.md index f509dbc..35b82bf 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/README.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/README.md @@ -246,9 +246,11 @@ this README covers what Wave 2 ships. - [variants](./src/variants/variants.md) — _(no submodules)_ - [variants](./src/variants/variants.md) — _(no submodules)_ - [version](./src/version.md) — Declares the running version of `@suaveplan/react-ui` as the constant `REACT_UI_VERSION`. The version is hand-maintaine… + - accordion.variants — `accordionVariants`, `accordio… - - [accordion](./src/components/accordion/accordion.md) — _(no submodules)_- accordion.variants — `accordionVariants`, `accordio… - - [accordion.variants](./src/components/accordion/accordion.variants.md) — `accordionVariants`, `accordionItemVariants`, `accordionHeaderVariants`, `accordionTriggerVariants`, and `accordionCont… + +- [accordion](./src/components/accordion/accordion.md) — _(no submodules)_- accordion.variants — `accordionVariants`, `accordio… +- [accordion.variants](./src/components/accordion/accordion.variants.md) — `accordionVariants`, `accordionItemVariants`, `accordionHeaderVariants`, `accordionTriggerVariants`, and `accordionCont… - [alert](./src/components/alert/alert.md) — _(no submodules)_- alert.variants — `alertVariants` is the cva config…… - [alert](./src/components/alert/alert.md) — _(no submodules)_- alert.variants — `alertVariants` is the cva config…… - [alert.variants](./src/components/alert/alert.variants.md) — `alertVariants` is the cva config that powers the `` chassis component. It exposes a `variant` axis with four ru… @@ -873,4 +875,3 @@ Cross-cutting design: `docs/cross-cutting-designs/2026-05-05-react-ui-react-i18n ## License MIT — © Suaveplan Team. - diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/accordion/accordion.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/accordion/accordion.md index 8bb7012..bbbc917 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/accordion/accordion.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/accordion/accordion.md @@ -3,6 +3,7 @@ _(no submodules)_ - accordion.variants — `accordionVariants`, `accordio… + - [accordion.variants](./accordion.variants.md) — `accordionVariants`, `accordionItemVariants`, `accordionHeaderVariants`, `accordionTriggerVariants`, and `accordionCont… - accordion.variants — `accordionVariants`, `accordio… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert-dialog/alert-dialog.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert-dialog/alert-dialog.md index 12be1fb..96c3ea0 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert-dialog/alert-dialog.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert-dialog/alert-dialog.md @@ -3,6 +3,7 @@ _(no submodules)_ - alert-dialog.variants — `alertDialogOverlayVariants… + - [alert-dialog.variants](./alert-dialog.variants.md) — `alertDialogOverlayVariants`, `alertDialogContentVariants`, `alertDialogHeaderVariants`, `alertDialogFooterVariants`, `… - alert-dialog.variants — `alertDialogOverlayVariants… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert/alert.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert/alert.md index d11b54b..ab68c21 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert/alert.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/alert/alert.md @@ -3,6 +3,7 @@ _(no submodules)_ - alert.variants — `alertVariants` is the cva config…… + - [alert.variants](./alert.variants.md) — `alertVariants` is the cva config that powers the `` chassis component. It exposes a `variant` axis with four ru… - alert.variants — `alertVariants` is the cva config…… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/aspect-ratio/aspect-ratio.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/aspect-ratio/aspect-ratio.md index 6a51b14..aaad82f 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/aspect-ratio/aspect-ratio.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/aspect-ratio/aspect-ratio.md @@ -3,6 +3,7 @@ _(no submodules)_ - aspect-ratio.variants — `aspectRatioVariants` is th… + - [aspect-ratio.variants](./aspect-ratio.variants.md) — `aspectRatioVariants` is the cva (class-variance-authority) configuration powering the `` outer wrapper. I… - aspect-ratio.variants — `aspectRatioVariants` is th… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/avatar/avatar.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/avatar/avatar.md index b201ed4..929e043 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/avatar/avatar.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/avatar/avatar.md @@ -3,6 +3,7 @@ _(no submodules)_ - avatar.variants — `avatarVariants` is the cva confi… + - [avatar.variants](./avatar.variants.md) — `avatarVariants` is the cva config that powers the `` chassis component (`` and ``… - avatar.variants — `avatarVariants` is the cva confi… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/badge/badge.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/badge/badge.md index db719f2..d5bf667 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/badge/badge.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/badge/badge.md @@ -3,6 +3,7 @@ _(no submodules)_ - badge.variants — `badgeVariants` is the cva config…… + - [badge.variants](./badge.variants.md) — `badgeVariants` is the cva config that powers the `` chassis component. It exposes a `variant` axis with four ru… - badge.variants — `badgeVariants` is the cva config…… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/breadcrumb/breadcrumb.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/breadcrumb/breadcrumb.md index e6e5f0d..ccc266e 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/breadcrumb/breadcrumb.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/breadcrumb/breadcrumb.md @@ -3,6 +3,7 @@ _(no submodules)_ - breadcrumb.variants — `breadcrumbVariants`, `breadc… + - [breadcrumb.variants](./breadcrumb.variants.md) — `breadcrumbVariants`, `breadcrumbListVariants`, `breadcrumbItemVariants`, `breadcrumbLinkVariants`, `breadcrumbPageVari… - breadcrumb.variants — `breadcrumbVariants`, `breadc… diff --git a/plugins/document-navigator/docs/ui/react/react-ui/src/components/button/button.md b/plugins/document-navigator/docs/ui/react/react-ui/src/components/button/button.md index 11e0d48..c4c3922 100644 --- a/plugins/document-navigator/docs/ui/react/react-ui/src/components/button/button.md +++ b/plugins/document-navigator/docs/ui/react/react-ui/src/components/button/button.md @@ -3,6 +3,7 @@ _(no submodules)_ - button.variants — `buttonVariants` is the cva (clas… + - [button.variants](./button.variants.md) — `buttonVariants` is the cva (class-variance-authority) configuration that powers every `