From b3d5ee015b3eba18ac9a5639137ff04c0b9b5f14 Mon Sep 17 00:00:00 2001 From: Maurice de Bruyn Date: Sat, 17 Oct 2026 15:14:01 +0200 Subject: [PATCH] chore: use the ueberbrot npm scope --- .fallowrc.jsonc | 2 +- .intent/review-state.json | 389 ++++++++++-------- README.md | 10 +- _artifacts/domain_map.yaml | 8 +- _artifacts/skill_spec.md | 4 +- _artifacts/skill_tree.yaml | 2 +- apps/docs/astro.config.mts | 2 +- apps/docs/public/package-version.js | 4 +- .../compatibility-and-stability.md | 2 +- .../docs/getting-started/http-quick-start.md | 2 +- .../docs/getting-started/installation.md | 2 +- .../docs/getting-started/quick-start.md | 2 +- .../src/content/docs/guides/cache-filters.md | 2 +- .../src/content/docs/guides/cancellation.md | 2 +- .../docs/guides/conditional-queries.md | 2 +- .../content/docs/guides/handle-failures.md | 4 +- .../src/content/docs/guides/query-defaults.md | 6 +- .../src/content/docs/guides/react-query.md | 4 +- .../src/content/docs/guides/retry-queries.md | 4 +- .../src/content/docs/guides/solid-query.md | 2 +- .../content/docs/guides/stream-snapshots.md | 2 +- .../docs/guides/suspense-and-recovery.md | 4 +- .../src/content/docs/guides/trace-streams.md | 4 +- .../docs/src/content/docs/guides/vue-query.md | 4 +- .../content/docs/reference/http-factory.md | 2 +- .../content/docs/reference/public-exports.md | 2 +- .../content/docs/reference/type-inference.md | 2 +- e2e-docs/docs.spec.ts | 4 +- examples/shared/error-description.ts | 2 +- examples/tanstack-start/package.json | 2 +- .../src/components/conditional-user-query.tsx | 2 +- .../tanstack-start/src/lib/application.ts | 8 +- .../tests/server-render.test.tsx | 2 +- examples/vite-react/package.json | 2 +- .../src/components/conditional-user-query.tsx | 2 +- examples/vite-react/src/lib/application.ts | 4 +- package.json | 2 +- pnpm-lock.yaml | 4 +- scripts/verify-docs-examples.mts | 2 +- skills/effect-api-query/SKILL.md | 4 +- .../references/cache-workflows.md | 10 +- .../references/frameworks-and-hosts.md | 4 +- skills/effect-api-query/references/http.md | 4 +- .../references/hydration-and-ssr.md | 2 +- .../references/query-patterns.md | 8 +- skills/effect-api-query/references/rpc.md | 2 +- tests/types/docs-functionality.ts | 2 +- tests/types/docs-http-quick-start.ts | 2 +- tests/types/docs-hydration-dto.ts | 2 +- tests/types/docs-hydration-rich.ts | 2 +- tests/types/docs-policies.ts | 4 +- tests/types/docs-react-client.ts | 4 +- tests/types/docs-readme-http.ts | 2 +- tests/types/docs-readme-rpc.ts | 2 +- tests/types/docs-retry.ts | 6 +- tests/types/docs-rpc-quick-start.ts | 2 +- tests/types/docs-stream-snapshot.ts | 2 +- tests/types/docs-stream-tracing.ts | 4 +- tests/types/docs-suspense.tsx | 4 +- tests/types/helper-contract.ts | 6 +- tests/types/http-contract.ts | 4 +- tests/types/http-stream-contract.ts | 11 +- tests/types/http-type-scale.ts | 4 +- tests/types/public-contract.ts | 10 +- tests/types/snapshot-contract.ts | 6 +- tests/types/tanstack-start-contract.ts | 2 +- tests/types/type-scale.ts | 2 +- 67 files changed, 346 insertions(+), 282 deletions(-) diff --git a/.fallowrc.jsonc b/.fallowrc.jsonc index 4b0c878..9eb05bc 100644 --- a/.fallowrc.jsonc +++ b/.fallowrc.jsonc @@ -44,7 +44,7 @@ "@tanstack/intent", "effect", // Fallow resolves workspace imports to source but misses the root package dependency. - "effect-api-query", + "@ueberbrot/effect-api-query", "publint", // React belongs to the private apps; Fallow attributes shared example sources to the root. "react", diff --git a/.intent/review-state.json b/.intent/review-state.json index 259d50d..c7fcee6 100644 --- a/.intent/review-state.json +++ b/.intent/review-state.json @@ -3,10 +3,10 @@ "baseline": "5b91ddb1de13970365669c887b9d767ea417fbd4", "items": { "skill:skills/effect-api-query/SKILL.md": { - "fingerprint": "429e8935db27acc58ffce07d4b10df3dc8b40b5dddf5480eeb7076ebe8b333ea", + "fingerprint": "a208998a8588b7e2ded8b672eeb42db6e5ba57242e0098944624b015b5fa9669", "snapshot": { "GLOSSARY.md": "60e4919b11d134139ac1dcb9b796903caa2b672fd474a2b83338547802194a08", - "README.md": "501f99e7854c7e4e4154ad0cdc23afc6680e1cd27be38d2145e684d48884cfc6", + "README.md": "f26b555fe485bd27eeee35ac49928ff29f0326aac274644e56d4c11f166e50ad", "apps/docs/src/content/docs/concepts/client-lifecycle.md": "10da4a8517faea055cea83f158bb68cf3c8c60b0a1fc4cb53bf9900a846db91f", "apps/docs/src/content/docs/concepts/data-normalization.md": "c67ac43accbca0b1982da942a7e5bb32c68e7cdd0d94a6a7e4e8e74f15a8fba9", "apps/docs/src/content/docs/concepts/http-utility-tree.md": "adb5974bce5b1061ef522018e11554b03b13ce8ecf82fdfa40a100f0f903ad22", @@ -15,19 +15,18 @@ "apps/docs/src/content/docs/concepts/semantic-keys.md": "f5c23587532f038e1f8933590fe747486c82e6c1da3c8ad747eb647c03bf9487", "apps/docs/src/content/docs/examples.md": "6fccd10d78463e14df3300312fb4e8714b3c607649880b48d0e1514fc4c34408", "apps/docs/src/content/docs/examples/cancellable-commands.md": "272c01ab8cc1b63b1d2c064fd5b97da7505fe721da07c9301a2e4f779ac8a73a", - "apps/docs/src/content/docs/getting-started/compatibility-and-stability.md": "dbb168ad0411e22d0989c7421ff9576762315c82ce270bf6b65e876d1ec96bdd", + "apps/docs/src/content/docs/getting-started/compatibility-and-stability.md": "b143de0423b0207b65e8341e45983533d4a2af8619b9278be5a8bf3975e24efb", "apps/docs/src/content/docs/getting-started/feature-support.md": "0c44d3f5dac0be81fb154e0663368795d7794faf07fee9e79c75844a23fa93f4", - "apps/docs/src/content/docs/getting-started/http-quick-start.md": "791c00beac0d39ef5f46f73e0af3033b29be7274f9a1cbfe39f781975ce7d7cf", - "apps/docs/src/content/docs/getting-started/installation.md": "2fb452a210dc1cb6488651a31442c8acde35e1b5ebde8253810dcf258e6dabe3", - "apps/docs/src/content/docs/getting-started/quick-start.md": "148f23bc4320388882b3bb9a473e27bdc510e12515f73ba2af56ca854444aa39", + "apps/docs/src/content/docs/getting-started/http-quick-start.md": "443204f2231cb4847737be2488a206358376bf18a0b405912eb3b1fea6ff2c9d", + "apps/docs/src/content/docs/getting-started/installation.md": "9ddbbb12c6b1f57f8e862e8bfac2635b9901f528aca2615789ae718409749262", + "apps/docs/src/content/docs/getting-started/quick-start.md": "a6b3ed1d2b065f83af0ae75132b1001fc377b4db90c6bb787fb8f22a95dcb676", "apps/docs/src/content/docs/guides/angular-query.md": "3d6ba5560db5c4f03969da124cce568ac883bd148ad5bafe5045d53f3059be51", - "apps/docs/src/content/docs/guides/cache-filters.md": "71ce56ff7f9804ea92e43fdd0c37928f4c0d7c74042eaacc08f0c034f689db2c", - "apps/docs/src/content/docs/guides/cache-management.md": null, - "apps/docs/src/content/docs/guides/cancellation.md": "f5a1e5863b8f173470ed78616ede0b8bfb27488bb60252ad48dffc622a339ccb", + "apps/docs/src/content/docs/guides/cache-filters.md": "7ceeafcb2c216cc0c4eab968339816b5aeadb088113d4029aa6b3de74f563ee5", + "apps/docs/src/content/docs/guides/cancellation.md": "a11461fe599b446147f1f5935f45455963cd436390a5ce26d459874e09232102", "apps/docs/src/content/docs/guides/choose-stream-history.md": "c138808345ba4b1220ba24deef63150ad188747ade7213d7243d00d08ef22cf2", - "apps/docs/src/content/docs/guides/conditional-queries.md": "9b1d0fd9449bf92c500dd8b60d1a5a01e5675b0e223d3c789ca04a7150dfbcd6", + "apps/docs/src/content/docs/guides/conditional-queries.md": "aa62a4b52a91385151ddc310c273d01edf6e5da55f2f5e1cbe08f3ccb4bd36ab", "apps/docs/src/content/docs/guides/custom-key-encoders.md": "8bdcb04d74913f0906069d301b0c477413925b66be5e28d139b35a9797216ec6", - "apps/docs/src/content/docs/guides/handle-failures.md": "633c88a58464798f5fb46d2059b63927cab2735aa552ac4b1d0b222579272ade", + "apps/docs/src/content/docs/guides/handle-failures.md": "162892fdb72bd2f0e5e89be1d284d6ee9a9c5645e51321eb64fcc3459289e5c6", "apps/docs/src/content/docs/guides/http-metadata.md": "c634f1c609500456551b48142396a9db1f7ad0e2c6a692c4dec547feb177ec1a", "apps/docs/src/content/docs/guides/http-queries-and-mutations.md": "b5c646131aa5c3c641579c5e75963052ae942cac9a0b427f763108ef4d45e648", "apps/docs/src/content/docs/guides/hydrate-query-views.md": "d69329e9636fdc0f5a4249e8804da8b15e5793c4fde00b2148b6419baf050cdc", @@ -36,19 +35,19 @@ "apps/docs/src/content/docs/guides/optimistic-writes.md": "d5c1cbca4f484c38c6c4fd86ec38a25c96da0a6320cf7dbe91eb24fe02179d88", "apps/docs/src/content/docs/guides/pagination.md": "3f126136723ff6848a34d0392f3669d1190a884299256c3f1b13615028ec13f8", "apps/docs/src/content/docs/guides/queries.md": "26f8f6ae6ea5e745c155400759faa5680b5735cfae9046e3e9edc1105c1fa5e6", - "apps/docs/src/content/docs/guides/query-defaults.md": "52afde31f49c855f9fc83a43d85747a052d9cbfbdb5fc5aec4a08aee9c92c40e", - "apps/docs/src/content/docs/guides/react-query.md": "b1cf8b84280357141df3b478fa45a2e322b8473f06b706199d389690a40bbb93", + "apps/docs/src/content/docs/guides/query-defaults.md": "6eb3154e10abe25d013150866bc214c2b59793b5bd8106f996e24731792a9e32", + "apps/docs/src/content/docs/guides/react-query.md": "4563ee6dff4c6b4b6916a4d3d7675b0d7ef07e52a518124d23d5f23e268f1d06", "apps/docs/src/content/docs/guides/refresh-from-events.md": "6167c023679b311c6292466b8fe134bc5ab035ff7df55fe9e73c8658a1fe20b0", - "apps/docs/src/content/docs/guides/retry-queries.md": "a1ab846da36b796f695edb4b1a0033a508901feb128cab4a589b20f962a7bd4b", - "apps/docs/src/content/docs/guides/solid-query.md": "1d244991dfcecdc6605613f922e0a33bfa16dd2abfed7bd7a36f28b076626ea0", - "apps/docs/src/content/docs/guides/stream-snapshots.md": "1f397caa3bf6651b02f8c445bb34d0cf66f19020b70da0d353217e61163de756", + "apps/docs/src/content/docs/guides/retry-queries.md": "f5eb6d5086f6281da4fbbc411ce8d5e0a6eeec4e4c38929f242bb2a75c1b3bf4", + "apps/docs/src/content/docs/guides/solid-query.md": "34838e2875e0c33a2af81d4a428a9fc00c28f59cb1967ec3e365c13103a87af7", + "apps/docs/src/content/docs/guides/stream-snapshots.md": "adc54982828806a78e473498053a4f29407c86c4b8fdbc4a069735cf43aa307e", "apps/docs/src/content/docs/guides/streaming.md": "1d4915f53e1b1e3ffd5f997116efd03adc65a3481235fda346f87f5ae61f55a5", - "apps/docs/src/content/docs/guides/suspense-and-recovery.md": "2b86a4b9bae6e530c6ee096093673f2a204cb7ac86e956b1a217f0a888c5b161", + "apps/docs/src/content/docs/guides/suspense-and-recovery.md": "6aad75ee58de547325877fef064bb0ff2b72abdf5c8127484603bd88032b4978", "apps/docs/src/content/docs/guides/svelte-query.md": "bd29928e2be9618aad82e70235358aa297bf132d345d6b796126a746015a6c73", "apps/docs/src/content/docs/guides/switch-cache-owners.md": "18e4ce7507a1a3572612f9c7de282dac2a23507cf9111cdb7756923903e1674e", "apps/docs/src/content/docs/guides/tanstack-start.md": "3a8a702708a4b1bd9b2a93f22d20e980d55fcd15d5c5a986033da1c5d542b5c8", - "apps/docs/src/content/docs/guides/trace-streams.md": "b90ed9a5922a1dfbce58e90e039e149cae9efd28c11a98e79f81203b0fc302c4", - "apps/docs/src/content/docs/guides/vue-query.md": "c89cb2205e7fed5a0e9b707a41b8dcebc3381cdae8a79a1be6dc6421a30ed39c", + "apps/docs/src/content/docs/guides/trace-streams.md": "380671fe9e6334fe48a289d0f22e01999ceef372ca5757591f3c8f1244ca156c", + "apps/docs/src/content/docs/guides/vue-query.md": "7caabde0842b7cf11a6776a466ca68778053f5340ea49ce470c7cf1ae07bdfb0", "apps/docs/src/content/docs/guides/websocket-clients.md": "1ea3f5ff57f3ec46edcecc2d2247d1a5973f4e032b3945b392e13ff51d70757c", "apps/docs/src/content/docs/index.mdx": "f67c034d8ba493f6ec6ca4e1268adff194180b2f975589dbb8b7d66b837e866d", "apps/docs/src/content/docs/integrations/index.md": "a67e580f5d8113cde0d1ac422cbc1270a5c65c7d334a4d1acfbae77a733a6375", @@ -59,10 +58,10 @@ "apps/docs/src/content/docs/reference/factory.md": "359ec1488dc6d551d84413faaa016d24954473ccc0705a6ee988dc512e3c506b", "apps/docs/src/content/docs/reference/generated-builders.md": "d1b39925363e7d13b815c3e5312692cbee2a0665ee8afc6b99362b2f33d3aa58", "apps/docs/src/content/docs/reference/http-builders.md": "fedf31eb11b3532aee81955939b5a40e86a0dea58334a423c695963782b439b0", - "apps/docs/src/content/docs/reference/http-factory.md": "ad8d90aede30203ebbd7c9894f5896c8db748ed0b20b6e6943c61425c2e5b925", + "apps/docs/src/content/docs/reference/http-factory.md": "a587f720a7a3133c3e80541d62955cdc84feb95e868e2223b569c16f66c59174", "apps/docs/src/content/docs/reference/performance.md": "9fcd785bf8df6510e69541da71c2600cb7762899a886d258b1a99eb42dcfdb29", - "apps/docs/src/content/docs/reference/public-exports.md": "141219f987b5c33f6b1f0122063634c2cd2c8bba9f965cad88712cb097d617af", - "apps/docs/src/content/docs/reference/type-inference.md": "9b8208d0d6cb49894416bde7161ea74463f1d3e8fbb1d243ed1a11e2749e3ed0", + "apps/docs/src/content/docs/reference/public-exports.md": "f0c66b20568fab960ae5b484879d72984ac8186c0d3bad882c0f40015f72f2b5", + "apps/docs/src/content/docs/reference/type-inference.md": "2b724d49bc32a90f5567cb110f0ff0b81457257405eb7a8a22849de5563ebb52", "docs/adr/0001-target-effect-4-release-candidate.md": "df4be0035618ca4b6ca5816cb41fdeba182279a07db35caa2b5a2d7128d7d786", "docs/adr/0002-let-call-sites-choose-query-or-mutation.md": "4d8c0e6ac2d6aa68c9a295025463854771720b4217b9a0f8f832ec6f5813a090", "docs/adr/0003-project-dotted-rpc-tags-into-utility-paths.md": "2cc3876c9b9d57e9ffee57e8a6c98a0519ef21d3674150b8af283aa167bf5458", @@ -100,11 +99,11 @@ "examples/server/tests/rpc-websocket-consumer.test.ts": "733f48091c431b42088fa7cc822dfffebf072d925df54d534df4d2a576997994", "examples/server/tests/server.test.ts": "44530f1e8b9b67f4d4bd8486c7bd7790240128fb161c1244857eee15c87a068d", "examples/server/tests/web-handler.test.ts": "94d1b28810d908dcec8ca8299e56bb520f93804e8761b4d5e9c828087efae646", - "examples/shared/error-description.ts": "374a804cd0daf1dcfdff8b7247194d278cc52fdf3bd0d9b5d2891124b439cf87", + "examples/shared/error-description.ts": "e5bd7b88c7c18cf62c942ecf8a7813ca0a43bdeff4639b2ba89da0e25fd32d6d", "examples/shared/use-slow-query-cancellation.ts": "f6221dc3a725c2f3cb15f41167ab98f8f579f3a0c138cb66cdf3c368b93b996a", "examples/tanstack-start/src/components/effect-error-details.tsx": "a84187a90ebe207f9b8427f43dda44c81f6564821510c8c848ceca0f7d6940af", "examples/tanstack-start/src/lib/api-server.ts": "b678d6edab872786fb92db328f60095d604c8d2f5205c4d4a462c3405a782bad", - "examples/tanstack-start/src/lib/application.ts": "7417de76eaf8a1a1cbd8464af6508bc3244a0176941c742e829880670a54ee8a", + "examples/tanstack-start/src/lib/application.ts": "9b8f091f5ec8a9a7aaac45bee39ded00a42f6594414a7de64cee04f32ad8e36b", "examples/tanstack-start/src/lib/query-ssr.ts": "0754abae5faf2f7562e1d86d27df0e14820a5ba9830146690ff1dc9f5beb3ec9", "examples/tanstack-start/src/lib/server-application.ts": "442278fc08c4beb9a69cf1ab7672f661385d9c49998db77ce2870d349ffdc8a1", "examples/tanstack-start/src/lib/server-host.ts": "1682ee37ea7551ec52c9530d6a4b476b967fa0572f5ddc26351ad427ce854e37", @@ -115,10 +114,10 @@ "examples/tanstack-start/tests/client-navigation.test.tsx": "62af6b9c4ad00e2bd772a0eb75d175e11329079bc787874b0d87e7f22030620e", "examples/tanstack-start/tests/failure-dehydration.test.ts": "b9d135c54e8e70ff454903f8016e6560fabaa487095cb40cb8725ed73577f079", "examples/tanstack-start/tests/server-local.test.ts": "2facfdbf572cf8ed1cf5f6104a503504ab0e979546aca3e28d9dbc853c64c6e5", - "examples/tanstack-start/tests/server-render.test.tsx": "77b82127f9e3ddea55b201f7b2080f930ef340269010502f1515f6691ecc4ab2", + "examples/tanstack-start/tests/server-render.test.tsx": "4552761c5eed13958be41283c84ca3c604ad1da783ab468b15764445e1109d42", "examples/vite-react/src/app.tsx": "691f77aee6fb9f2b1f6f9df40a3afcf78f4af2d043d7b379f38c75c647a5f91e", "examples/vite-react/src/components/ui/effect-error-details.tsx": "26a1a4bdb5a6331dca09c3c7764b2ff55431aa18ad6768f82529f8563dc3801a", - "examples/vite-react/src/lib/application.ts": "01f8f4f611435708e68d358993971aa9cadb01a2167fdc350a284d7f1ceeb752", + "examples/vite-react/src/lib/application.ts": "a90405e9a7f319d6119c4e758633af0acfebe56a03b5d16403c2025b752509bd", "examples/vite-react/src/lib/owner-cache.ts": "3286d0df63d4036c16c572ffd5e113400b455a5ce9f55dfe7859e72b8ae218bb", "examples/vite-react/src/lib/user-writes.ts": "55f2de2f7be68f477665af3f59c93f37994045023014274513404418e0d1b8e8", "examples/vite-react/src/main.tsx": "cdee6ca4095b58e1750015db473bda8651702a8ab32c408fa77961873db0e6fe", @@ -133,19 +132,18 @@ "examples/vite-react/tests/stream-tracing.test.ts": "0f09b669dc00a66e7db0d947f31daa88862e89cda9877d37caaa72631c1b247c", "examples/vite-react/tests/suspense-recovery.test.tsx": "884e694a2a3ecc0cdd12d3555c953c30c6c7778bc613a78752b2ca27c17c173d", "examples/vite-react/tests/user-writes.test.ts": "3fe07c1fa8deab8c154d30481f7bc6ef77d3a8ed6c3d5e0d3cbfe75574061e33", - "package.json": "a813edac320b65f884b9f90e016ed4eae0ef7268857ea43f52865270d883c6c9", + "package.json": "c4baab0fbf8e9fc3d71cdb1262ffbfc25163036f93e42b8f6bd8a8c6b8a9d9f3", "pnpm-workspace.yaml": "be1d28fb27e2c4af6fffb22fe71bccf5c1f48daf70e0abc149537fdccb49d7f2", "scripts/decode-utf8.mts": "2e90c53e95c22b864a209a87c98084db6ec95e83f842007b21528d286d45c18c", "scripts/measure-construction.mts": "10522cb10ab51fd44d8990896a2a73e8bf4d4cd2646441e958b6180cb1afd147", - "scripts/verify-docs-examples.mts": "0696e102102b659b13c040cc1fdca82732486fee25224b279ef9ce693a4d2dc8", - "scripts/verify-packed-consumer.mts": null, - "skills/effect-api-query/SKILL.md": "8dd6f2af608c87369210e2e4fc0b65a2018e17976993c8c3aec14dcff589df80", - "skills/effect-api-query/references/cache-workflows.md": "2b54d5ee96eb66a73eaa2896dec9ca04cd08b9bb21d7aea692eb99a6b8c0e0ac", - "skills/effect-api-query/references/frameworks-and-hosts.md": "51736bec5d4f12ffc0d3ce9183d8529998e102764b58219a178b6d14329fbed2", - "skills/effect-api-query/references/http.md": "e0d7071c1244a2b0ca9bac9ff12f73863763197e3d67a37ca62c96be572f5bcb", - "skills/effect-api-query/references/hydration-and-ssr.md": "2221298e3cb3f029a04f9ebf91254532eb8f8f2e95d0bb368221e055d180bbf1", - "skills/effect-api-query/references/query-patterns.md": "67e42a182c467b5a09cdff139808e6b7f6bbf280e487e59f24b7f1e4d52d7d69", - "skills/effect-api-query/references/rpc.md": "c1795bf9e5e1a5358a97a21d958af8f11dd78c8aadbfe2d39c54a01983867077", + "scripts/verify-docs-examples.mts": "028a312a61fef862ecd8d33b85cb9f88ba00b9eae1aa27aebf34e65eabdab53f", + "skills/effect-api-query/SKILL.md": "42162988cfd79d8ff8ac56a549f8662f3c19d1499eea6308684e2f62c063f701", + "skills/effect-api-query/references/cache-workflows.md": "9042d87e35130c06206529d7e56a60a1d66741a6e1f85282a5353e030e012e8f", + "skills/effect-api-query/references/frameworks-and-hosts.md": "88a5db091f7fea297fd46c4b7014ed2c9fdfb9193cc155eab39df4170801e282", + "skills/effect-api-query/references/http.md": "531a40d04c8f534667297b10d3d8b87002a5e4992d6afe3da659ca3901e0418d", + "skills/effect-api-query/references/hydration-and-ssr.md": "5e9afae280a641da61ec1ea1ce79b5860d18c54bc2bbc1b31c3bdcd448e3e42e", + "skills/effect-api-query/references/query-patterns.md": "74b04a6a1eb89295268dc8c2c1756ff4cfb375f686142fa672c7f4e8e86b958f", + "skills/effect-api-query/references/rpc.md": "1c22a19c5fb0aad8c4bf91b3fdb852bed0ac8e2d22370d32b9eaff2d79eeb7fd", "src/core/inference.ts": "b8345c0961c67ceb41ee18e017302a5ef5d6be91794b861e72bece21ee5e9c30", "src/core/operation.ts": "7dabe4d21070d20534643e5051060c84a09db5a7aa39858e75846043f8a537ea", "src/core/policy.ts": "bebe7a32bb958ba9a1817c6fec6792fd04541f5ae81cd70fa422106ac3cb4073", @@ -201,60 +199,63 @@ "tests/query-policy.test.ts": "6ae9b22f6b171414387a5a9639ca3716ce2d065f3530122c320cebf1bc25066e", "tests/query-view-prefix.test.ts": "162de0fa5f68b1f778f8c0c7201a15dcdd78dce4f107fcd64c1e1a50c733e6fe", "tests/stream-snapshot.test.ts": "86449ef5d0f1baf165a5c973fcd0a190b9fce8ae5b6e8732a4454ab0c9f6c132", - "tests/types/docs-functionality.ts": "d638721f8a5f291e30b97229933bbb48dc5a92f677897e330bd1959b35deb8ae", + "tests/types/docs-functionality.ts": "0eb43a0ae5fef1a457e92fb5f97428ea1cf0ff0e18c2992c49ee96ca6f928996", "tests/types/docs-http-quick-start-contract.ts": "9f1b832d08b09f7e654e217dc4049f177326eb6274c4d61d0d17b4795b0ccf0a", - "tests/types/docs-http-quick-start.ts": "21690839bfcde19e7512ff507e507890eb869e547e316ec810451ae24906e641", + "tests/types/docs-http-quick-start.ts": "9052bf446f2ccd1845e27490d119ba846e659acb31cadde00abb55670b6a8eeb", "tests/types/docs-hydration-async.ts": "de67135bf3da0dffdac47e9f2e49469edddac3d7d026fbd93d39aea6964c0dd8", - "tests/types/docs-hydration-dto.ts": "ebcd5c3895e8fa40bff3b62e8e13213e98a3e1c4796d89979b23ecc64cdc13ff", - "tests/types/docs-hydration-rich.ts": "56b35d7bb4a0f0ebc777161beb2e73a19dfc7de4db26fc74e3abab5d164f1402", + "tests/types/docs-hydration-dto.ts": "d962df543ca618a6435d50f6741c16ef827c10015d67f6d8346c3fb8af29202d", + "tests/types/docs-hydration-rich.ts": "9a230da757a739ad8e40e8894f8258e9672e9197b9b630049462237b27b65bbf", "tests/types/docs-hydration-views.ts": "08d75fe114e4a682fc0ad62b847898dba270672e0ce6d19a4f4d66cf92f75365", - "tests/types/docs-policies.ts": "b52d09f03131797873d73ac73d48639010136673b9ac98b866762099899e79a4", - "tests/types/docs-react-client.ts": "9c4d6d0366c9cb2a9f8de147a3c48aa884856f5c778afe562e5c491059e18bd0", + "tests/types/docs-policies.ts": "a769bce1d566ba54454a45bf6c7d2507fbd352dd2dd826ed7a855011dea6b9d8", + "tests/types/docs-react-client.ts": "0064f745c02b10b1ae2f2bf01da7ad14fa168774012df4274509c4a40beaf097", "tests/types/docs-react-entry.ts": "cfe186d60a53553103ef292261b48b09b5094d927b1f198f2d3c8bd6f08325d1", "tests/types/docs-react-setup.tsx": "34c3f91ff2fd8278601066b68974796f497f4bf75bfcd1aed6ce93fe7f19cb59", "tests/types/docs-readme-http-contract.ts": "a076275bfe7f015a5652ccd9e18589661b4a2d12bbd2badbe5bd3b165de24156", - "tests/types/docs-readme-http.ts": "419ee1c6f84c8c0182ec6dd6c1696e45858cfddedcb06f92d869f075494187cc", + "tests/types/docs-readme-http.ts": "9a1d8d8e22c50ce458f1325ef9854eff77f1e9049c2919ba5ee236a65229065a", "tests/types/docs-readme-rpc-contract.ts": "b8b3b4718e0b76d58b690bd351b046167c7a8bee2602f678cbf5e81892bc53be", - "tests/types/docs-readme-rpc.ts": "7ea36bda29a45e909dbddfefed11b3fb3886810fd893fffd63754b22b2804787", - "tests/types/docs-retry.ts": "78c782810b772e152ea0c47074fb2546fed5d397b93b147862644859fd20cc25", + "tests/types/docs-readme-rpc.ts": "e11735a73e107d1b6ade1299335d2b3e9d0263040804fa5d5d5200bae96074b4", + "tests/types/docs-retry.ts": "0f8e098ba0391a32ee4755a8449b542b8341180e3c74e9dc32af53fa33a80ff6", "tests/types/docs-rpc-quick-start-contract.ts": "8404d3fe32e249bbc2371e0d1806262ba2c17c20f6ca589e28cbdf1dce411871", - "tests/types/docs-rpc-quick-start.ts": "af542c614987431347dfa6acee98190d593d76b27c0c87babf17de6096e2c2e7", - "tests/types/docs-stream-snapshot.ts": "bc924cff90a9f9a8e416bf7fbdfedbd607c88e7a678435aaf20ef878862e06ff", + "tests/types/docs-rpc-quick-start.ts": "229d12fb7e7cd8c9a2f686856f3037d50c15d7790672e2960eada47dc89214f4", + "tests/types/docs-stream-snapshot.ts": "1b7f2161183f8796bdd4f7dbd865566420b31e4cbc599f364c7b1df4c3ef0dd6", "tests/types/docs-stream-tracing-contract.ts": "16cd2b3b5d14416da974f293d1a95ef391156c206b3b98b5703091349fff3e7f", - "tests/types/docs-stream-tracing.ts": "de288db06bb4e6e01800c0bfacd4d3ab1856feedc21743e656e757371f08a0a4", - "tests/types/docs-suspense.tsx": "2adc801083df580498a6cfa78fd6b970eae087c6e2af8601fcae111a53d13f4c", + "tests/types/docs-stream-tracing.ts": "fdabf52a174e30cdb7a7d2a5a6a9065a66f753511856376bf84e316c63c26d15", + "tests/types/docs-suspense.tsx": "67292fd86f70859fd0d91af3adf2e918b257f09af07b9f18d87a85e710ebfa32", "tests/types/docs-user-events.ts": "87647140d5434b95cc5389b1fea9919f20df7b6fcee4f00565836a4eae549a70", "tests/types/example-owner-contract.ts": "fb10bd087ee582a64806d110404c366cb74e520b0b8cc11701348036b08b9622", - "tests/types/helper-contract.ts": "93f5d4276dca08c4848ffe7fccff893081767c4f51e11ec27588caade4999a53", - "tests/types/http-contract.ts": "9b6134849353f790a91cfebe955d660a65dc1927ffc00adf471afb7ae84b064d", - "tests/types/http-stream-contract.ts": "24031e37ac8cada4b8e9d3b2f4ce6e08448780571d94c8002bd8b267caa320bd", - "tests/types/http-type-scale.ts": "b456543b88316a2dd899f929efbffcf514e54e213e109b5f7d52eb785d2255aa", + "tests/types/helper-contract.ts": "07689ccc46b092c3d7a7e70ca3b3256719bed33ec56e604b530a5337ff18ca41", + "tests/types/http-contract.ts": "305b62ae461c4d1c921a5473499d6628981419ae2ae15f950c5815a91749a6ba", + "tests/types/http-stream-contract.ts": "53417d4fbe931264edbc61128bed12e0a745cb32205333b5d3ef91373f9065b1", + "tests/types/http-type-scale.ts": "43f76760924c00208171b4de3d6acc491a2e8e12cac7edff594fecf3fcfa6fe9", "tests/types/http-view-proof.ts": "f42a1ebf36eeab7a906b722f5d2c2af0aabe8d30ef378fc50386c16d464fb64e", - "tests/types/public-contract.ts": "c28cdfe4c89960050e1d88a0cf348cfd82052bd631ebeb3fa46a10ed2970d403", + "tests/types/public-contract.ts": "e8311415c9bd9968a624d8969cc831d9446675e89e7c0d28f0bd01b64609ea4a", "tests/types/server-local-client-contract.ts": "443a60788ce7d91a77459c99f07d3fc9bf70d5a64a83c05ece5c40cfac63d298", - "tests/types/snapshot-contract.ts": "9e6a2edaddb7545f20d351511ed99be2828d4ca56779503bcc443963d8b73716", - "tests/types/tanstack-start-contract.ts": "51681e3d0d7504a614d490f18adb6f44db82d34b9d4d7cb9cf941aea33de284f", - "tests/types/type-scale.ts": "a9b307c25c72f3c184eabc8e22ddaeea96feb331c0f8d748773d765d358dbfca" + "tests/types/snapshot-contract.ts": "170665711f5eb6f3a2823fc00b43291a1bfbb09af7850d4a04c020b3be9f7604", + "tests/types/tanstack-start-contract.ts": "8c960ed8dbd3cad236d7941feeb41a70d3bdc428c6d511f3cc835aaabdbb2b41", + "tests/types/type-scale.ts": "0367cafa06acd7613718288c17b72929c78905817d30074ef5144257af9a1bb4" }, - "head": "c2982f3ade1140f82940a97685ca44b21fb65879", - "outcome": "no-change", - "reason": "The root package files allowlist includes CHANGELOG.md and omits redundant LICENSE. Native pnpm includes README and LICENSE automatically. Published code, types, peers, README and all seven skill files are unchanged. The existing skill and all three planning records (_artifacts/domain_map.yaml, _artifacts/skill_spec.md, _artifacts/skill_tree.yaml) remain accurate for the same fourteen tasks, six references and package-only distribution.", + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", + "outcome": "updated", + "reason": "Changed the library metadata and all public module specifiers in the entry skill and six references to @ueberbrot/effect-api-query. Preserved skill name/slug/path, project branding, activation description, purpose, version, APIs, resource ownership and all guidance boundaries. Fresh installed consumers now discover/load the skill under the scoped package identifier and execute its APIs.", "evidence": [ - "Two isolated vp pm pack runs confirmed README/LICENSE included automatically, while CHANGELOG.md is absent unless explicitly listed.", - "Final native tarball has14unique file paths, one README.md, one LICENSE and one CHANGELOG.md; byte equality to source verified.", - "All prior archive files except manifest are byte-identical; manifest differs only in files allowlist; prior isolated compiler/runtime consumer checks remain applicable.", - "vp run --no-cache format passed; prior native vp pack ATTW/publint passed; no source/build changes.", - "Final SHA256: 1efc77169bd644f0a3cb4927ff4ed4b768bf4e686a2e66a157f277bf542fff18" + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." ] }, "planning:_artifacts": { - "fingerprint": "1e6a8d612abd50d4e8e34b0062aae9faaded5abba2f5d5b5c92e758e60cf0d31", + "fingerprint": "86eb2a125e480fb30948c255ccfa2abbd80d8e7dc62f54d77ffb8bb4156e2878", "snapshot": { "GLOSSARY.md": "60e4919b11d134139ac1dcb9b796903caa2b672fd474a2b83338547802194a08", - "README.md": "501f99e7854c7e4e4154ad0cdc23afc6680e1cd27be38d2145e684d48884cfc6", - "_artifacts/domain_map.yaml": "6f21087e34c10fd44695f70ed8daaf5837ca0eaab6add84e0fc20933565c2e9c", - "_artifacts/skill_spec.md": "82bd6cb4990905ec97eddd0b058c59099687d2dd93ab4314bc70b47f87866694", - "_artifacts/skill_tree.yaml": "32e32f0add18cf8858c9f051c61b5e068687209c9dcb93a6ea32e5c4015fe9a3", + "README.md": "f26b555fe485bd27eeee35ac49928ff29f0326aac274644e56d4c11f166e50ad", + "_artifacts/domain_map.yaml": "eb9c19a1f0ff11c3d31113fe39d92fe01ddfb40d399ba2647153fa96af104e3e", + "_artifacts/skill_spec.md": "bf294f145b37ded047e0d4cbcb32fbb00a830dcb1ae38c8db6ea7055e8e869f7", + "_artifacts/skill_tree.yaml": "3209570f1f122f705d403eb2ea9b6f41c61185b1a6bc06ab6e3034946753cfa2", "apps/docs/src/content/docs/concepts/client-lifecycle.md": "10da4a8517faea055cea83f158bb68cf3c8c60b0a1fc4cb53bf9900a846db91f", "apps/docs/src/content/docs/concepts/data-normalization.md": "c67ac43accbca0b1982da942a7e5bb32c68e7cdd0d94a6a7e4e8e74f15a8fba9", "apps/docs/src/content/docs/concepts/http-utility-tree.md": "adb5974bce5b1061ef522018e11554b03b13ce8ecf82fdfa40a100f0f903ad22", @@ -263,19 +264,18 @@ "apps/docs/src/content/docs/concepts/semantic-keys.md": "f5c23587532f038e1f8933590fe747486c82e6c1da3c8ad747eb647c03bf9487", "apps/docs/src/content/docs/examples.md": "6fccd10d78463e14df3300312fb4e8714b3c607649880b48d0e1514fc4c34408", "apps/docs/src/content/docs/examples/cancellable-commands.md": "272c01ab8cc1b63b1d2c064fd5b97da7505fe721da07c9301a2e4f779ac8a73a", - "apps/docs/src/content/docs/getting-started/compatibility-and-stability.md": "dbb168ad0411e22d0989c7421ff9576762315c82ce270bf6b65e876d1ec96bdd", + "apps/docs/src/content/docs/getting-started/compatibility-and-stability.md": "b143de0423b0207b65e8341e45983533d4a2af8619b9278be5a8bf3975e24efb", "apps/docs/src/content/docs/getting-started/feature-support.md": "0c44d3f5dac0be81fb154e0663368795d7794faf07fee9e79c75844a23fa93f4", - "apps/docs/src/content/docs/getting-started/http-quick-start.md": "791c00beac0d39ef5f46f73e0af3033b29be7274f9a1cbfe39f781975ce7d7cf", - "apps/docs/src/content/docs/getting-started/installation.md": "2fb452a210dc1cb6488651a31442c8acde35e1b5ebde8253810dcf258e6dabe3", - "apps/docs/src/content/docs/getting-started/quick-start.md": "148f23bc4320388882b3bb9a473e27bdc510e12515f73ba2af56ca854444aa39", + "apps/docs/src/content/docs/getting-started/http-quick-start.md": "443204f2231cb4847737be2488a206358376bf18a0b405912eb3b1fea6ff2c9d", + "apps/docs/src/content/docs/getting-started/installation.md": "9ddbbb12c6b1f57f8e862e8bfac2635b9901f528aca2615789ae718409749262", + "apps/docs/src/content/docs/getting-started/quick-start.md": "a6b3ed1d2b065f83af0ae75132b1001fc377b4db90c6bb787fb8f22a95dcb676", "apps/docs/src/content/docs/guides/angular-query.md": "3d6ba5560db5c4f03969da124cce568ac883bd148ad5bafe5045d53f3059be51", - "apps/docs/src/content/docs/guides/cache-filters.md": "71ce56ff7f9804ea92e43fdd0c37928f4c0d7c74042eaacc08f0c034f689db2c", - "apps/docs/src/content/docs/guides/cache-management.md": null, - "apps/docs/src/content/docs/guides/cancellation.md": "f5a1e5863b8f173470ed78616ede0b8bfb27488bb60252ad48dffc622a339ccb", + "apps/docs/src/content/docs/guides/cache-filters.md": "7ceeafcb2c216cc0c4eab968339816b5aeadb088113d4029aa6b3de74f563ee5", + "apps/docs/src/content/docs/guides/cancellation.md": "a11461fe599b446147f1f5935f45455963cd436390a5ce26d459874e09232102", "apps/docs/src/content/docs/guides/choose-stream-history.md": "c138808345ba4b1220ba24deef63150ad188747ade7213d7243d00d08ef22cf2", - "apps/docs/src/content/docs/guides/conditional-queries.md": "9b1d0fd9449bf92c500dd8b60d1a5a01e5675b0e223d3c789ca04a7150dfbcd6", + "apps/docs/src/content/docs/guides/conditional-queries.md": "aa62a4b52a91385151ddc310c273d01edf6e5da55f2f5e1cbe08f3ccb4bd36ab", "apps/docs/src/content/docs/guides/custom-key-encoders.md": "8bdcb04d74913f0906069d301b0c477413925b66be5e28d139b35a9797216ec6", - "apps/docs/src/content/docs/guides/handle-failures.md": "633c88a58464798f5fb46d2059b63927cab2735aa552ac4b1d0b222579272ade", + "apps/docs/src/content/docs/guides/handle-failures.md": "162892fdb72bd2f0e5e89be1d284d6ee9a9c5645e51321eb64fcc3459289e5c6", "apps/docs/src/content/docs/guides/http-metadata.md": "c634f1c609500456551b48142396a9db1f7ad0e2c6a692c4dec547feb177ec1a", "apps/docs/src/content/docs/guides/http-queries-and-mutations.md": "b5c646131aa5c3c641579c5e75963052ae942cac9a0b427f763108ef4d45e648", "apps/docs/src/content/docs/guides/hydrate-query-views.md": "d69329e9636fdc0f5a4249e8804da8b15e5793c4fde00b2148b6419baf050cdc", @@ -284,19 +284,19 @@ "apps/docs/src/content/docs/guides/optimistic-writes.md": "d5c1cbca4f484c38c6c4fd86ec38a25c96da0a6320cf7dbe91eb24fe02179d88", "apps/docs/src/content/docs/guides/pagination.md": "3f126136723ff6848a34d0392f3669d1190a884299256c3f1b13615028ec13f8", "apps/docs/src/content/docs/guides/queries.md": "26f8f6ae6ea5e745c155400759faa5680b5735cfae9046e3e9edc1105c1fa5e6", - "apps/docs/src/content/docs/guides/query-defaults.md": "52afde31f49c855f9fc83a43d85747a052d9cbfbdb5fc5aec4a08aee9c92c40e", - "apps/docs/src/content/docs/guides/react-query.md": "b1cf8b84280357141df3b478fa45a2e322b8473f06b706199d389690a40bbb93", + "apps/docs/src/content/docs/guides/query-defaults.md": "6eb3154e10abe25d013150866bc214c2b59793b5bd8106f996e24731792a9e32", + "apps/docs/src/content/docs/guides/react-query.md": "4563ee6dff4c6b4b6916a4d3d7675b0d7ef07e52a518124d23d5f23e268f1d06", "apps/docs/src/content/docs/guides/refresh-from-events.md": "6167c023679b311c6292466b8fe134bc5ab035ff7df55fe9e73c8658a1fe20b0", - "apps/docs/src/content/docs/guides/retry-queries.md": "a1ab846da36b796f695edb4b1a0033a508901feb128cab4a589b20f962a7bd4b", - "apps/docs/src/content/docs/guides/solid-query.md": "1d244991dfcecdc6605613f922e0a33bfa16dd2abfed7bd7a36f28b076626ea0", - "apps/docs/src/content/docs/guides/stream-snapshots.md": "1f397caa3bf6651b02f8c445bb34d0cf66f19020b70da0d353217e61163de756", + "apps/docs/src/content/docs/guides/retry-queries.md": "f5eb6d5086f6281da4fbbc411ce8d5e0a6eeec4e4c38929f242bb2a75c1b3bf4", + "apps/docs/src/content/docs/guides/solid-query.md": "34838e2875e0c33a2af81d4a428a9fc00c28f59cb1967ec3e365c13103a87af7", + "apps/docs/src/content/docs/guides/stream-snapshots.md": "adc54982828806a78e473498053a4f29407c86c4b8fdbc4a069735cf43aa307e", "apps/docs/src/content/docs/guides/streaming.md": "1d4915f53e1b1e3ffd5f997116efd03adc65a3481235fda346f87f5ae61f55a5", - "apps/docs/src/content/docs/guides/suspense-and-recovery.md": "2b86a4b9bae6e530c6ee096093673f2a204cb7ac86e956b1a217f0a888c5b161", + "apps/docs/src/content/docs/guides/suspense-and-recovery.md": "6aad75ee58de547325877fef064bb0ff2b72abdf5c8127484603bd88032b4978", "apps/docs/src/content/docs/guides/svelte-query.md": "bd29928e2be9618aad82e70235358aa297bf132d345d6b796126a746015a6c73", "apps/docs/src/content/docs/guides/switch-cache-owners.md": "18e4ce7507a1a3572612f9c7de282dac2a23507cf9111cdb7756923903e1674e", "apps/docs/src/content/docs/guides/tanstack-start.md": "3a8a702708a4b1bd9b2a93f22d20e980d55fcd15d5c5a986033da1c5d542b5c8", - "apps/docs/src/content/docs/guides/trace-streams.md": "b90ed9a5922a1dfbce58e90e039e149cae9efd28c11a98e79f81203b0fc302c4", - "apps/docs/src/content/docs/guides/vue-query.md": "c89cb2205e7fed5a0e9b707a41b8dcebc3381cdae8a79a1be6dc6421a30ed39c", + "apps/docs/src/content/docs/guides/trace-streams.md": "380671fe9e6334fe48a289d0f22e01999ceef372ca5757591f3c8f1244ca156c", + "apps/docs/src/content/docs/guides/vue-query.md": "7caabde0842b7cf11a6776a466ca68778053f5340ea49ce470c7cf1ae07bdfb0", "apps/docs/src/content/docs/guides/websocket-clients.md": "1ea3f5ff57f3ec46edcecc2d2247d1a5973f4e032b3945b392e13ff51d70757c", "apps/docs/src/content/docs/index.mdx": "f67c034d8ba493f6ec6ca4e1268adff194180b2f975589dbb8b7d66b837e866d", "apps/docs/src/content/docs/integrations/index.md": "a67e580f5d8113cde0d1ac422cbc1270a5c65c7d334a4d1acfbae77a733a6375", @@ -307,10 +307,10 @@ "apps/docs/src/content/docs/reference/factory.md": "359ec1488dc6d551d84413faaa016d24954473ccc0705a6ee988dc512e3c506b", "apps/docs/src/content/docs/reference/generated-builders.md": "d1b39925363e7d13b815c3e5312692cbee2a0665ee8afc6b99362b2f33d3aa58", "apps/docs/src/content/docs/reference/http-builders.md": "fedf31eb11b3532aee81955939b5a40e86a0dea58334a423c695963782b439b0", - "apps/docs/src/content/docs/reference/http-factory.md": "ad8d90aede30203ebbd7c9894f5896c8db748ed0b20b6e6943c61425c2e5b925", + "apps/docs/src/content/docs/reference/http-factory.md": "a587f720a7a3133c3e80541d62955cdc84feb95e868e2223b569c16f66c59174", "apps/docs/src/content/docs/reference/performance.md": "9fcd785bf8df6510e69541da71c2600cb7762899a886d258b1a99eb42dcfdb29", - "apps/docs/src/content/docs/reference/public-exports.md": "141219f987b5c33f6b1f0122063634c2cd2c8bba9f965cad88712cb097d617af", - "apps/docs/src/content/docs/reference/type-inference.md": "9b8208d0d6cb49894416bde7161ea74463f1d3e8fbb1d243ed1a11e2749e3ed0", + "apps/docs/src/content/docs/reference/public-exports.md": "f0c66b20568fab960ae5b484879d72984ac8186c0d3bad882c0f40015f72f2b5", + "apps/docs/src/content/docs/reference/type-inference.md": "2b724d49bc32a90f5567cb110f0ff0b81457257405eb7a8a22849de5563ebb52", "docs/adr/0001-target-effect-4-release-candidate.md": "df4be0035618ca4b6ca5816cb41fdeba182279a07db35caa2b5a2d7128d7d786", "docs/adr/0002-let-call-sites-choose-query-or-mutation.md": "4d8c0e6ac2d6aa68c9a295025463854771720b4217b9a0f8f832ec6f5813a090", "docs/adr/0003-project-dotted-rpc-tags-into-utility-paths.md": "2cc3876c9b9d57e9ffee57e8a6c98a0519ef21d3674150b8af283aa167bf5458", @@ -348,11 +348,11 @@ "examples/server/tests/rpc-websocket-consumer.test.ts": "733f48091c431b42088fa7cc822dfffebf072d925df54d534df4d2a576997994", "examples/server/tests/server.test.ts": "44530f1e8b9b67f4d4bd8486c7bd7790240128fb161c1244857eee15c87a068d", "examples/server/tests/web-handler.test.ts": "94d1b28810d908dcec8ca8299e56bb520f93804e8761b4d5e9c828087efae646", - "examples/shared/error-description.ts": "374a804cd0daf1dcfdff8b7247194d278cc52fdf3bd0d9b5d2891124b439cf87", + "examples/shared/error-description.ts": "e5bd7b88c7c18cf62c942ecf8a7813ca0a43bdeff4639b2ba89da0e25fd32d6d", "examples/shared/use-slow-query-cancellation.ts": "f6221dc3a725c2f3cb15f41167ab98f8f579f3a0c138cb66cdf3c368b93b996a", "examples/tanstack-start/src/components/effect-error-details.tsx": "a84187a90ebe207f9b8427f43dda44c81f6564821510c8c848ceca0f7d6940af", "examples/tanstack-start/src/lib/api-server.ts": "b678d6edab872786fb92db328f60095d604c8d2f5205c4d4a462c3405a782bad", - "examples/tanstack-start/src/lib/application.ts": "7417de76eaf8a1a1cbd8464af6508bc3244a0176941c742e829880670a54ee8a", + "examples/tanstack-start/src/lib/application.ts": "9b8f091f5ec8a9a7aaac45bee39ded00a42f6594414a7de64cee04f32ad8e36b", "examples/tanstack-start/src/lib/query-ssr.ts": "0754abae5faf2f7562e1d86d27df0e14820a5ba9830146690ff1dc9f5beb3ec9", "examples/tanstack-start/src/lib/server-application.ts": "442278fc08c4beb9a69cf1ab7672f661385d9c49998db77ce2870d349ffdc8a1", "examples/tanstack-start/src/lib/server-host.ts": "1682ee37ea7551ec52c9530d6a4b476b967fa0572f5ddc26351ad427ce854e37", @@ -363,10 +363,10 @@ "examples/tanstack-start/tests/client-navigation.test.tsx": "62af6b9c4ad00e2bd772a0eb75d175e11329079bc787874b0d87e7f22030620e", "examples/tanstack-start/tests/failure-dehydration.test.ts": "b9d135c54e8e70ff454903f8016e6560fabaa487095cb40cb8725ed73577f079", "examples/tanstack-start/tests/server-local.test.ts": "2facfdbf572cf8ed1cf5f6104a503504ab0e979546aca3e28d9dbc853c64c6e5", - "examples/tanstack-start/tests/server-render.test.tsx": "77b82127f9e3ddea55b201f7b2080f930ef340269010502f1515f6691ecc4ab2", + "examples/tanstack-start/tests/server-render.test.tsx": "4552761c5eed13958be41283c84ca3c604ad1da783ab468b15764445e1109d42", "examples/vite-react/src/app.tsx": "691f77aee6fb9f2b1f6f9df40a3afcf78f4af2d043d7b379f38c75c647a5f91e", "examples/vite-react/src/components/ui/effect-error-details.tsx": "26a1a4bdb5a6331dca09c3c7764b2ff55431aa18ad6768f82529f8563dc3801a", - "examples/vite-react/src/lib/application.ts": "01f8f4f611435708e68d358993971aa9cadb01a2167fdc350a284d7f1ceeb752", + "examples/vite-react/src/lib/application.ts": "a90405e9a7f319d6119c4e758633af0acfebe56a03b5d16403c2025b752509bd", "examples/vite-react/src/lib/owner-cache.ts": "3286d0df63d4036c16c572ffd5e113400b455a5ce9f55dfe7859e72b8ae218bb", "examples/vite-react/src/lib/user-writes.ts": "55f2de2f7be68f477665af3f59c93f37994045023014274513404418e0d1b8e8", "examples/vite-react/src/main.tsx": "cdee6ca4095b58e1750015db473bda8651702a8ab32c408fa77961873db0e6fe", @@ -381,19 +381,18 @@ "examples/vite-react/tests/stream-tracing.test.ts": "0f09b669dc00a66e7db0d947f31daa88862e89cda9877d37caaa72631c1b247c", "examples/vite-react/tests/suspense-recovery.test.tsx": "884e694a2a3ecc0cdd12d3555c953c30c6c7778bc613a78752b2ca27c17c173d", "examples/vite-react/tests/user-writes.test.ts": "3fe07c1fa8deab8c154d30481f7bc6ef77d3a8ed6c3d5e0d3cbfe75574061e33", - "package.json": "a813edac320b65f884b9f90e016ed4eae0ef7268857ea43f52865270d883c6c9", + "package.json": "c4baab0fbf8e9fc3d71cdb1262ffbfc25163036f93e42b8f6bd8a8c6b8a9d9f3", "pnpm-workspace.yaml": "be1d28fb27e2c4af6fffb22fe71bccf5c1f48daf70e0abc149537fdccb49d7f2", "scripts/decode-utf8.mts": "2e90c53e95c22b864a209a87c98084db6ec95e83f842007b21528d286d45c18c", "scripts/measure-construction.mts": "10522cb10ab51fd44d8990896a2a73e8bf4d4cd2646441e958b6180cb1afd147", - "scripts/verify-docs-examples.mts": "0696e102102b659b13c040cc1fdca82732486fee25224b279ef9ce693a4d2dc8", - "scripts/verify-packed-consumer.mts": null, - "skills/effect-api-query/SKILL.md": "8dd6f2af608c87369210e2e4fc0b65a2018e17976993c8c3aec14dcff589df80", - "skills/effect-api-query/references/cache-workflows.md": "2b54d5ee96eb66a73eaa2896dec9ca04cd08b9bb21d7aea692eb99a6b8c0e0ac", - "skills/effect-api-query/references/frameworks-and-hosts.md": "51736bec5d4f12ffc0d3ce9183d8529998e102764b58219a178b6d14329fbed2", - "skills/effect-api-query/references/http.md": "e0d7071c1244a2b0ca9bac9ff12f73863763197e3d67a37ca62c96be572f5bcb", - "skills/effect-api-query/references/hydration-and-ssr.md": "2221298e3cb3f029a04f9ebf91254532eb8f8f2e95d0bb368221e055d180bbf1", - "skills/effect-api-query/references/query-patterns.md": "67e42a182c467b5a09cdff139808e6b7f6bbf280e487e59f24b7f1e4d52d7d69", - "skills/effect-api-query/references/rpc.md": "c1795bf9e5e1a5358a97a21d958af8f11dd78c8aadbfe2d39c54a01983867077", + "scripts/verify-docs-examples.mts": "028a312a61fef862ecd8d33b85cb9f88ba00b9eae1aa27aebf34e65eabdab53f", + "skills/effect-api-query/SKILL.md": "42162988cfd79d8ff8ac56a549f8662f3c19d1499eea6308684e2f62c063f701", + "skills/effect-api-query/references/cache-workflows.md": "9042d87e35130c06206529d7e56a60a1d66741a6e1f85282a5353e030e012e8f", + "skills/effect-api-query/references/frameworks-and-hosts.md": "88a5db091f7fea297fd46c4b7014ed2c9fdfb9193cc155eab39df4170801e282", + "skills/effect-api-query/references/http.md": "531a40d04c8f534667297b10d3d8b87002a5e4992d6afe3da659ca3901e0418d", + "skills/effect-api-query/references/hydration-and-ssr.md": "5e9afae280a641da61ec1ea1ce79b5860d18c54bc2bbc1b31c3bdcd448e3e42e", + "skills/effect-api-query/references/query-patterns.md": "74b04a6a1eb89295268dc8c2c1756ff4cfb375f686142fa672c7f4e8e86b958f", + "skills/effect-api-query/references/rpc.md": "1c22a19c5fb0aad8c4bf91b3fdb852bed0ac8e2d22370d32b9eaff2d79eeb7fd", "src/core/inference.ts": "b8345c0961c67ceb41ee18e017302a5ef5d6be91794b861e72bece21ee5e9c30", "src/core/operation.ts": "7dabe4d21070d20534643e5051060c84a09db5a7aa39858e75846043f8a537ea", "src/core/policy.ts": "bebe7a32bb958ba9a1817c6fec6792fd04541f5ae81cd70fa422106ac3cb4073", @@ -449,50 +448,53 @@ "tests/query-policy.test.ts": "6ae9b22f6b171414387a5a9639ca3716ce2d065f3530122c320cebf1bc25066e", "tests/query-view-prefix.test.ts": "162de0fa5f68b1f778f8c0c7201a15dcdd78dce4f107fcd64c1e1a50c733e6fe", "tests/stream-snapshot.test.ts": "86449ef5d0f1baf165a5c973fcd0a190b9fce8ae5b6e8732a4454ab0c9f6c132", - "tests/types/docs-functionality.ts": "d638721f8a5f291e30b97229933bbb48dc5a92f677897e330bd1959b35deb8ae", + "tests/types/docs-functionality.ts": "0eb43a0ae5fef1a457e92fb5f97428ea1cf0ff0e18c2992c49ee96ca6f928996", "tests/types/docs-http-quick-start-contract.ts": "9f1b832d08b09f7e654e217dc4049f177326eb6274c4d61d0d17b4795b0ccf0a", - "tests/types/docs-http-quick-start.ts": "21690839bfcde19e7512ff507e507890eb869e547e316ec810451ae24906e641", + "tests/types/docs-http-quick-start.ts": "9052bf446f2ccd1845e27490d119ba846e659acb31cadde00abb55670b6a8eeb", "tests/types/docs-hydration-async.ts": "de67135bf3da0dffdac47e9f2e49469edddac3d7d026fbd93d39aea6964c0dd8", - "tests/types/docs-hydration-dto.ts": "ebcd5c3895e8fa40bff3b62e8e13213e98a3e1c4796d89979b23ecc64cdc13ff", - "tests/types/docs-hydration-rich.ts": "56b35d7bb4a0f0ebc777161beb2e73a19dfc7de4db26fc74e3abab5d164f1402", + "tests/types/docs-hydration-dto.ts": "d962df543ca618a6435d50f6741c16ef827c10015d67f6d8346c3fb8af29202d", + "tests/types/docs-hydration-rich.ts": "9a230da757a739ad8e40e8894f8258e9672e9197b9b630049462237b27b65bbf", "tests/types/docs-hydration-views.ts": "08d75fe114e4a682fc0ad62b847898dba270672e0ce6d19a4f4d66cf92f75365", - "tests/types/docs-policies.ts": "b52d09f03131797873d73ac73d48639010136673b9ac98b866762099899e79a4", - "tests/types/docs-react-client.ts": "9c4d6d0366c9cb2a9f8de147a3c48aa884856f5c778afe562e5c491059e18bd0", + "tests/types/docs-policies.ts": "a769bce1d566ba54454a45bf6c7d2507fbd352dd2dd826ed7a855011dea6b9d8", + "tests/types/docs-react-client.ts": "0064f745c02b10b1ae2f2bf01da7ad14fa168774012df4274509c4a40beaf097", "tests/types/docs-react-entry.ts": "cfe186d60a53553103ef292261b48b09b5094d927b1f198f2d3c8bd6f08325d1", "tests/types/docs-react-setup.tsx": "34c3f91ff2fd8278601066b68974796f497f4bf75bfcd1aed6ce93fe7f19cb59", "tests/types/docs-readme-http-contract.ts": "a076275bfe7f015a5652ccd9e18589661b4a2d12bbd2badbe5bd3b165de24156", - "tests/types/docs-readme-http.ts": "419ee1c6f84c8c0182ec6dd6c1696e45858cfddedcb06f92d869f075494187cc", + "tests/types/docs-readme-http.ts": "9a1d8d8e22c50ce458f1325ef9854eff77f1e9049c2919ba5ee236a65229065a", "tests/types/docs-readme-rpc-contract.ts": "b8b3b4718e0b76d58b690bd351b046167c7a8bee2602f678cbf5e81892bc53be", - "tests/types/docs-readme-rpc.ts": "7ea36bda29a45e909dbddfefed11b3fb3886810fd893fffd63754b22b2804787", - "tests/types/docs-retry.ts": "78c782810b772e152ea0c47074fb2546fed5d397b93b147862644859fd20cc25", + "tests/types/docs-readme-rpc.ts": "e11735a73e107d1b6ade1299335d2b3e9d0263040804fa5d5d5200bae96074b4", + "tests/types/docs-retry.ts": "0f8e098ba0391a32ee4755a8449b542b8341180e3c74e9dc32af53fa33a80ff6", "tests/types/docs-rpc-quick-start-contract.ts": "8404d3fe32e249bbc2371e0d1806262ba2c17c20f6ca589e28cbdf1dce411871", - "tests/types/docs-rpc-quick-start.ts": "af542c614987431347dfa6acee98190d593d76b27c0c87babf17de6096e2c2e7", - "tests/types/docs-stream-snapshot.ts": "bc924cff90a9f9a8e416bf7fbdfedbd607c88e7a678435aaf20ef878862e06ff", + "tests/types/docs-rpc-quick-start.ts": "229d12fb7e7cd8c9a2f686856f3037d50c15d7790672e2960eada47dc89214f4", + "tests/types/docs-stream-snapshot.ts": "1b7f2161183f8796bdd4f7dbd865566420b31e4cbc599f364c7b1df4c3ef0dd6", "tests/types/docs-stream-tracing-contract.ts": "16cd2b3b5d14416da974f293d1a95ef391156c206b3b98b5703091349fff3e7f", - "tests/types/docs-stream-tracing.ts": "de288db06bb4e6e01800c0bfacd4d3ab1856feedc21743e656e757371f08a0a4", - "tests/types/docs-suspense.tsx": "2adc801083df580498a6cfa78fd6b970eae087c6e2af8601fcae111a53d13f4c", + "tests/types/docs-stream-tracing.ts": "fdabf52a174e30cdb7a7d2a5a6a9065a66f753511856376bf84e316c63c26d15", + "tests/types/docs-suspense.tsx": "67292fd86f70859fd0d91af3adf2e918b257f09af07b9f18d87a85e710ebfa32", "tests/types/docs-user-events.ts": "87647140d5434b95cc5389b1fea9919f20df7b6fcee4f00565836a4eae549a70", "tests/types/example-owner-contract.ts": "fb10bd087ee582a64806d110404c366cb74e520b0b8cc11701348036b08b9622", - "tests/types/helper-contract.ts": "93f5d4276dca08c4848ffe7fccff893081767c4f51e11ec27588caade4999a53", - "tests/types/http-contract.ts": "9b6134849353f790a91cfebe955d660a65dc1927ffc00adf471afb7ae84b064d", - "tests/types/http-stream-contract.ts": "24031e37ac8cada4b8e9d3b2f4ce6e08448780571d94c8002bd8b267caa320bd", - "tests/types/http-type-scale.ts": "b456543b88316a2dd899f929efbffcf514e54e213e109b5f7d52eb785d2255aa", + "tests/types/helper-contract.ts": "07689ccc46b092c3d7a7e70ca3b3256719bed33ec56e604b530a5337ff18ca41", + "tests/types/http-contract.ts": "305b62ae461c4d1c921a5473499d6628981419ae2ae15f950c5815a91749a6ba", + "tests/types/http-stream-contract.ts": "53417d4fbe931264edbc61128bed12e0a745cb32205333b5d3ef91373f9065b1", + "tests/types/http-type-scale.ts": "43f76760924c00208171b4de3d6acc491a2e8e12cac7edff594fecf3fcfa6fe9", "tests/types/http-view-proof.ts": "f42a1ebf36eeab7a906b722f5d2c2af0aabe8d30ef378fc50386c16d464fb64e", - "tests/types/public-contract.ts": "c28cdfe4c89960050e1d88a0cf348cfd82052bd631ebeb3fa46a10ed2970d403", + "tests/types/public-contract.ts": "e8311415c9bd9968a624d8969cc831d9446675e89e7c0d28f0bd01b64609ea4a", "tests/types/server-local-client-contract.ts": "443a60788ce7d91a77459c99f07d3fc9bf70d5a64a83c05ece5c40cfac63d298", - "tests/types/snapshot-contract.ts": "9e6a2edaddb7545f20d351511ed99be2828d4ca56779503bcc443963d8b73716", - "tests/types/tanstack-start-contract.ts": "51681e3d0d7504a614d490f18adb6f44db82d34b9d4d7cb9cf941aea33de284f", - "tests/types/type-scale.ts": "a9b307c25c72f3c184eabc8e22ddaeea96feb331c0f8d748773d765d358dbfca" + "tests/types/snapshot-contract.ts": "170665711f5eb6f3a2823fc00b43291a1bfbb09af7850d4a04c020b3be9f7604", + "tests/types/tanstack-start-contract.ts": "8c960ed8dbd3cad236d7941feeb41a70d3bdc428c6d511f3cc835aaabdbb2b41", + "tests/types/type-scale.ts": "0367cafa06acd7613718288c17b72929c78905817d30074ef5144257af9a1bb4" }, - "head": "c2982f3ade1140f82940a97685ca44b21fb65879", - "outcome": "no-change", - "reason": "The root package files allowlist includes CHANGELOG.md and omits redundant LICENSE. Native pnpm includes README and LICENSE automatically. Published code, types, peers, README and all seven skill files are unchanged. The existing skill and all three planning records (_artifacts/domain_map.yaml, _artifacts/skill_spec.md, _artifacts/skill_tree.yaml) remain accurate for the same fourteen tasks, six references and package-only distribution.", + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", + "outcome": "updated", + "reason": "Updated _artifacts/domain_map.yaml library/packages/subsystem ownership and _artifacts/skill_tree.yaml library name to the scoped package, and the existing installed-consumer sentence in _artifacts/skill_spec.md. Parsed both YAML files and checked all seven guidance files and16relative links. Preserved all task coverage, failure modes, six references, source mappings, prior history, skill identity, version0.1.0 and package-only distribution.", "evidence": [ - "Two isolated vp pm pack runs confirmed README/LICENSE included automatically, while CHANGELOG.md is absent unless explicitly listed.", - "Final native tarball has14unique file paths, one README.md, one LICENSE and one CHANGELOG.md; byte equality to source verified.", - "All prior archive files except manifest are byte-identical; manifest differs only in files allowlist; prior isolated compiler/runtime consumer checks remain applicable.", - "vp run --no-cache format passed; prior native vp pack ATTW/publint passed; no source/build changes.", - "Final SHA256: 1efc77169bd644f0a3cb4927ff4ed4b768bf4e686a2e66a157f277bf542fff18" + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." ] }, "source:vite.config.ts": { @@ -589,19 +591,22 @@ ] }, "source:.fallowrc.jsonc": { - "fingerprint": "49061c764fdec3a91725399b92a30406d853b2ae9c74494ec2cae89cc9f0881e", + "fingerprint": "14a8e73eaa5a80303b1c84dbe6ece11a3462922a99a24c7e981a4abee7d3ae67", "snapshot": { - ".fallowrc.jsonc": "ef93043d3b03cc51f7559fecc0ef25eadcaeb044091d67ef41540399085b97c5" + ".fallowrc.jsonc": "bec396faa342f67101597d02a823ae2b89bbc4d2f70f907d7a504a343f4237e6" }, - "head": "fac2c2ffbf72b1b17e425c238a74089a68e9c1ab", + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", "outcome": "no-change", - "reason": "No consumer-guidance change is needed for repository analysis settings. Removed 19 clone suppressions that matched neither Fallow 3.31.0 nor 3.33.1; exact source-fragment/location comparison found the same 61 clone groups in both versions. Added the exact root package name to dependency ignores because both private apps import it directly but Fallow reports their workspace dependency unused. Both dead-code modes pass without weakening rule severities.", + "reason": "Retargeted the existing narrow Fallow workspace-dependency ignore to the scoped root package. This only aligns tooling with the renamed dependency and changes no public usage guidance. Fallow audits passed without changing their rules.", "evidence": [ - "Reviewed actual uncommitted diff against HEAD fac2c2ffbf72b1b17e425c238a74089a68e9c1ab on chore/update-dependencies-release-age. Native frozen installation with pnpm 12.11.2 verified all 1013 lockfile entries against unchanged strict seven-day, missing-time and trust policies. Independent npm timestamp audit passed all 157 introduced registry versions.", - "Package/declaration build with attw and publint passed. Public API and server-local compiler fixtures passed TypeScript 7.0.2 and 5.9.3. Exact inputless query option return keys are asserted in tests/types/public-contract.ts.", - "All 509 runtime tests across 46 files passed, including new singleton GET/form-urlencoded array, full WebSocket buffer cancellation, and request-local stream Schema decoding failure regressions. Full typed lint and checking, formatting, strict Effect diagnostics, both Fallow dead-code modes, duplicate reporting and health checks passed with cache disabled for the existing WSL2 fspy EBUSY limitation.", - "Both application production builds passed. Documentation excerpt verifier, Astro check, 56-page build and internal link validation passed. Intent structural validation passed one skill and its six references; maintainer sync found no metadata changes.", - "No activation-description, API-recommendation, task-coverage or package-export changes. Fresh isolated consumer and skill-discovery exercises were not repeated; runtime/compiler integration checks provide the evidence for this dependency update." + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." ] }, "source:.github/workflows/ci.yml": { @@ -1043,20 +1048,22 @@ ] }, "source:apps/docs/astro.config.mts": { - "fingerprint": "bdc0bddfd3f7f8c6e60ad19f8765e13e6e7ac83782a771b425038195af0213c7", + "fingerprint": "b31c51a3311761fc01566cc51a43bbb7ef4125957ed330f26f7fe3e047f850bf", "snapshot": { - "apps/docs/astro.config.mts": "86b2ce101dabf1be2d8d59cb379049c7cf7293758178fa16988fb118f192f65e" + "apps/docs/astro.config.mts": "ceadaed16a840987f03ee87a198b252c3be78fbaa085c3ceadfb91e76a530387" }, - "head": "cb14a01c995cd9dfac5a3c5dc752ea5d71da862f", + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", "outcome": "no-change", - "reason": "The static npm link is an honest fallback while the existing browser script still displays the registry latest version after a valid lookup. This prevents independently deployed docs from claiming an unpublished repository version; it changes documentation chrome, with no integration recommendation or consumer skill impact.", + "reason": "Set the site title explicitly to effect-api-query so root package metadata can be scoped while the user-requested project branding and docs URLs stay stable. The npm link already derives from packageManifest.name. No library API/guidance behavior changes beyond the separately reviewed scoped imports.", "evidence": [ - "Source cb14a01c995cd9dfac5a3c5dc752ea5d71da862f plus current local diff. No public library behavior, types, dependencies, package version, or publishing setup changes.", - "Fresh vp run --no-cache api-types passed package/declaration construction, attw, publint, and actual importing compiler fixtures under TypeScript 7 and 5.9.3. Exact documentation excerpt verification and Astro checks passed; docs-build produced 56 pages with valid internal links.", - "Type-aware lint and checking passed 150 files; repository formatting passed 310 files. The two existing React mounting and stream tracing runtime recipe tests passed after real module extraction.", - "Seven Chromium documentation checks passed against the fresh local build: navigation/search/assets, published registry version, unpublished/network/invalid-version fallbacks, and generated LLM documentation links. Collaborative browser inspection confirmed separate quick-start and React modules, preserved React anchor, and the correct October 11 page-change date.", - "Workflow YAML 1.2 parsing and dependency/branch/artifact inspection passed. Documentation now depends on successful validation on main, reuses its browser-tested artifact, and has no publish dependency; standalone manual main builds check compiler fixtures. No live workflow was dispatched and npm publication remains unconfigured as confirmed by the maintainer.", - "Intent sync reported Nothing to synchronize. Reviewed the owned skill, RPC/HTTP and framework references, and all three planning records against the actual diff. Existing source patterns cover every new fixture and changed canonical guide. Fresh consumer/discovery sessions were not repeated because recommendations and library behavior are unchanged." + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." ] }, "source:docs/adr/0016-automate-releases-with-changesets.md": { @@ -1281,16 +1288,22 @@ ] }, "source:apps/docs/public/package-version.js": { - "fingerprint": "22bfa3892fa1b85ae21f2c484fa190b10dd35556e9a47ed5b39eb8c6d3bcd551", + "fingerprint": "c1c0e3a66f6a4e6fa1b8885d6d59bae64a53c88e357cb22a8bd11ed3e6dca97e", "snapshot": { - "apps/docs/public/package-version.js": "f88677a24f7a65061aa41cabde4f6727a9f4c52adfac5ac4fde2b478909c3dc0" + "apps/docs/public/package-version.js": "08f12790c3bd678ff40cd1a0b5a3270c4b21e6b8fdeaeb7b9575162ed025a659" }, - "head": "54b6521f3e37f9cb3ca4cd3812ab3c960eb2168a", + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", "outcome": "no-change", - "reason": "Removed fallback implementation commentary; a failed registry request still retains the build version. Chromium covers unpublished, failed and invalid responses, so existing user-facing guidance remains accurate.", + "reason": "Changed only the npm href and percent-encoded scoped registry endpoint. Existing badge branding, version validation, rendering and fallback behavior stay intact, as the seven existing docsbrowserchecks verify. No additional library skill is needed.", "evidence": [ - "Reviewed the actual diff and current source at apps/docs/public/package-version.js against 54b6521 and the supplied PR base; relevant native task receipts are under /tmp/effect-api-query-audit-2026-10-11/.", - "Final uncached native tasks passed: typecheck (142 files), Effect diagnostics (162 files, zero errors/warnings), Fallow, test (41 files / 474 runtime cases), public API and server-local fixtures with TypeScript 7.0.2 and 5.9.3, native pack with attw/publint, both example builds, docs-check and 46-page docs-build with internal links. Chromium passed all 31 application and 7 documentation checks. Firefox/WebKit browser launches are unavailable locally because their installed binaries are missing; their HTTP-only documentation checks passed. Fresh installed-consumer activation/task evaluation was not performed; compiler and application evidence comes from this workspace." + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." ] }, "source:docs/adr/0013-use-a-vite-plus-workspace-with-a-root-package.md": { @@ -1312,20 +1325,22 @@ ] }, "source:e2e-docs/docs.spec.ts": { - "fingerprint": "a19c3ff2bd2dd764e61fb49f2906c46d4dd423c761128fba98096e2434d55677", + "fingerprint": "b75aaa67c3d5b084f28d952c1c433d3d176721001ba019ca94c110e6559b6971", "snapshot": { - "e2e-docs/docs.spec.ts": "cc227bfce7d3e9f559ab926e2dddea09cb4161c832c240391f8212c9a931d0c8" + "e2e-docs/docs.spec.ts": "92bdc951bf6587ed9a55ad64dfdbcef6e5b8c31dd9131635dc3c1c1e10ce0a44" }, - "head": "cb14a01c995cd9dfac5a3c5dc752ea5d71da862f", + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", "outcome": "no-change", - "reason": "Existing browser assertions now verify the neutral npm fallback while preserving successful published-version checks for desktop and mobile links. Test coverage matches the actual site behavior and requires no shipped guidance update.", + "reason": "Updated the two existing npm/registry testURL constants to the scoped package. Branding assertions and existing scenarios are unchanged; allseven Chromium cases passed, verifying scoped requests without broadening test or guidance scope.", "evidence": [ - "Source cb14a01c995cd9dfac5a3c5dc752ea5d71da862f plus current local diff. No public library behavior, types, dependencies, package version, or publishing setup changes.", - "Fresh vp run --no-cache api-types passed package/declaration construction, attw, publint, and actual importing compiler fixtures under TypeScript 7 and 5.9.3. Exact documentation excerpt verification and Astro checks passed; docs-build produced 56 pages with valid internal links.", - "Type-aware lint and checking passed 150 files; repository formatting passed 310 files. The two existing React mounting and stream tracing runtime recipe tests passed after real module extraction.", - "Seven Chromium documentation checks passed against the fresh local build: navigation/search/assets, published registry version, unpublished/network/invalid-version fallbacks, and generated LLM documentation links. Collaborative browser inspection confirmed separate quick-start and React modules, preserved React anchor, and the correct October 11 page-change date.", - "Workflow YAML 1.2 parsing and dependency/branch/artifact inspection passed. Documentation now depends on successful validation on main, reuses its browser-tested artifact, and has no publish dependency; standalone manual main builds check compiler fixtures. No live workflow was dispatched and npm publication remains unconfigured as confirmed by the maintainer.", - "Intent sync reported Nothing to synchronize. Reviewed the owned skill, RPC/HTTP and framework references, and all three planning records against the actual diff. Existing source patterns cover every new fixture and changed canonical guide. Fresh consumer/discovery sessions were not repeated because recommendations and library behavior are unchanged." + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." ] }, "source:e2e/conditional-query.spec.ts": { @@ -1730,6 +1745,44 @@ "Tarball dist and all other non-manifest preexisting files are byte-identical to the previously tested 13-file release archive; isolated consumer compiler and runtime checks from that archive remain applicable.", "Final archive SHA256: 4dace3d66666e3bd92cbb97bd477204632efae205f1842774d24c3c0ce860e29" ] + }, + "source:examples/tanstack-start/src/components/conditional-user-query.tsx": { + "fingerprint": "698ee6f404676bacb051249bbb15e482a034dc1f34be54e187e975042416d4b6", + "snapshot": { + "examples/tanstack-start/src/components/conditional-user-query.tsx": "806c22652c90c0ba97266ba5b10adf8ad9b6405450906b4bedaa4b02763d5163" + }, + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", + "outcome": "updated", + "reason": "Changed only the skipToken public import to @ueberbrot/effect-api-query. Existing shipped guidance was updated to the same public root. Internal aliases, private workspace names, function/API behavior and runtime identity are unchanged; compiler, runtime and application build checks passed.", + "evidence": [ + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." + ] + }, + "source:examples/vite-react/src/components/conditional-user-query.tsx": { + "fingerprint": "f11c9d71699f0633e6c9e7af3fdb3f24649b1c13fe26c8d19e4182711f30f8eb", + "snapshot": { + "examples/vite-react/src/components/conditional-user-query.tsx": "cd98b64ccfe63e0864ef3853066c1028640cd9b041701412cd85826517fa6685" + }, + "head": "c62ae6817c5bccb010a32f665d0fb8d8ce22f75d", + "outcome": "updated", + "reason": "Changed only the skipToken public import to @ueberbrot/effect-api-query. Existing shipped guidance was updated to the same public root. Internal aliases, private workspace names, function/API behavior and runtime identity are unchanged; compiler, runtime and application build checks passed.", + "evidence": [ + "Base origin/main c62ae6817c5bccb010a32f665d0fb8d8ce22f75d; git diff has no src runtime, release-workflow, Changeset or changelog changes.", + "vp install --frozen-lockfile verified1013 supply-chain entries; lockfile differs only in two renamed workspace importer keys.", + "vp run --no-cache pack passed ATTW/publint; final @ueberbrot/effect-api-query0.1.0 archive has14unique files and byte-identical runtime/declaration/map output to the unscoped tested archive.", + "Type-aware lint, publicAPI and server-local compiler fixtures on TypeScript7.0.2/5.9.3, Effect diagnostics and Fallow audits passed; all509 runtime tests passed.", + "Both application builds and final56page docsbuild passed; all7Chromium docs checks passed, including scoped registry/npm URLs, branding, unpublished/network/invalid-version fallbacks and generated LLM docs.", + "Fresh isolated scoped consumer: frozen nativepnpm12.11.2 install with25supply-chain checks and unchanged seven-day policy; strictNodeNext skipLibCheck:false TS7.0.2/5.9.3 and realRPC/HTTP runtime fixture passed.", + "Installed Intent list discovered @ueberbrot/effect-api-query#effect-api-query; load --path resolved the packagedskill; structural packagedskillvalidation passed and all16relative links resolve. Evidence: /tmp/eaq-scoped-release-0.1.0/consumer-evidence.json.", + "Packaged Intent snippet checking warns it requires Git-tracked declared files; installed dist/index.d.mts exists and both strictconsumer compiler checks passed independently." + ] } } } diff --git a/README.md b/README.md index 9b9308e..b0681d1 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Your application controls transport, client lifetime, and cache policy. Install the package and TanStack Query Core: ```sh -pnpm add effect-api-query @tanstack/query-core +pnpm add @ueberbrot/effect-api-query @tanstack/query-core ``` The package requires one exact Effect 4 release because its RPC and HTTP API modules are unstable. @@ -42,7 +42,7 @@ Client integration in `client.ts`: ```ts import { QueryClient } from '@tanstack/query-core' -import { createRpcQueryUtils } from 'effect-api-query' +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import type { RpcClient, RpcGroup } from 'effect/rpc' import { usersRpc } from './rpc-contract.ts' @@ -87,7 +87,7 @@ Client integration in `client.ts`: ```ts import { QueryClient } from '@tanstack/query-core' -import { createHttpApiQueryUtils } from 'effect-api-query' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' import type { HttpApiClient } from 'effect/http-api' import { usersApi } from './http-contract.ts' @@ -137,10 +137,10 @@ npx skills add ueberBrot/effect-api-query --full-depth --skill effect-api-query ``` The npm package includes the same skill. After installing the library, run -`npx @tanstack/intent@latest install` and enable `effect-api-query`, then load it with: +`npx @tanstack/intent@latest install` and enable `@ueberbrot/effect-api-query`, then load it with: ```sh -npx @tanstack/intent@latest load effect-api-query#effect-api-query +npx @tanstack/intent@latest load @ueberbrot/effect-api-query#effect-api-query ``` Intent loads the skill from your installed library version. Update a skill installed from GitHub diff --git a/_artifacts/domain_map.yaml b/_artifacts/domain_map.yaml index 8a742f0..1bb8f35 100644 --- a/_artifacts/domain_map.yaml +++ b/_artifacts/domain_map.yaml @@ -1,5 +1,5 @@ library: - name: effect-api-query + name: '@ueberbrot/effect-api-query' version: 0.1.0 repository: https://github.com/ueberBrot/effect-api-query description: TanStack Query utilities derived from ready Effect RPC and HTTP clients. @@ -16,7 +16,7 @@ skills: consumers. type: core packages: - - effect-api-query + - '@ueberbrot/effect-api-query' covers: - RPC construction and canonical identity - HTTP decoded requests, SSE, multipart mutations, and metadata @@ -47,10 +47,10 @@ skills: - Choose an application-owned transport within documented version and host boundaries. subsystems: - name: RPC - package: effect-api-query + package: '@ueberbrot/effect-api-query' config_surface: Literal RpcGroup, flat ready client, prefix, key encoders, runner. - name: HTTP - package: effect-api-query + package: '@ueberbrot/effect-api-query' config_surface: Literal HttpApi, ready client, prefix, request encoders, runner. reference_candidates: - topic: Adapter inputs and capabilities diff --git a/_artifacts/skill_spec.md b/_artifacts/skill_spec.md index ed52939..b7638d7 100644 --- a/_artifacts/skill_spec.md +++ b/_artifacts/skill_spec.md @@ -17,8 +17,8 @@ The entry point contains shared rules and directs conditional tasks to six refer | Hydration and SSR | Snapshots, paired view codecs, preparation and cleanup | | Frameworks and hosts | Provider setup, Suspense, reactive accessors, transports and hosts | -Consumers load the guidance from their installed package without repository-local -authoring skills. Planning records remain outside the shipped package. +Consumers load the guidance from installed `@ueberbrot/effect-api-query` without +repository-local authoring skills. Planning records remain outside the shipped package. ## Sources and boundaries diff --git a/_artifacts/skill_tree.yaml b/_artifacts/skill_tree.yaml index fa14e1b..e8a24de 100644 --- a/_artifacts/skill_tree.yaml +++ b/_artifacts/skill_tree.yaml @@ -1,5 +1,5 @@ library: - name: effect-api-query + name: '@ueberbrot/effect-api-query' version: 0.1.0 generated_from: domain_map: _artifacts/domain_map.yaml diff --git a/apps/docs/astro.config.mts b/apps/docs/astro.config.mts index e25467c..f47ba8e 100644 --- a/apps/docs/astro.config.mts +++ b/apps/docs/astro.config.mts @@ -347,7 +347,7 @@ export default defineConfig({ }, ], social: [{ icon: 'github', label: 'GitHub', href: repositoryUrl }], - title: packageManifest.name, + title: 'effect-api-query', }), ], site: 'https://ueberbrot.github.io', diff --git a/apps/docs/public/package-version.js b/apps/docs/public/package-version.js index ab8f1b4..91db545 100644 --- a/apps/docs/public/package-version.js +++ b/apps/docs/public/package-version.js @@ -1,6 +1,6 @@ ;(() => { - const packageUrl = 'https://www.npmjs.com/package/effect-api-query' - const packageManifestUrl = 'https://registry.npmjs.org/effect-api-query/latest' + const packageUrl = 'https://www.npmjs.com/package/@ueberbrot/effect-api-query' + const packageManifestUrl = 'https://registry.npmjs.org/@ueberbrot%2Feffect-api-query/latest' const semanticVersion = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/ const updatePackageVersion = (version) => { diff --git a/apps/docs/src/content/docs/getting-started/compatibility-and-stability.md b/apps/docs/src/content/docs/getting-started/compatibility-and-stability.md index 83ab1e3..3edcad8 100644 --- a/apps/docs/src/content/docs/getting-started/compatibility-and-stability.md +++ b/apps/docs/src/content/docs/getting-started/compatibility-and-stability.md @@ -3,7 +3,7 @@ title: Compatibility and Stability description: Check supported integrations, module format, and the release policy. --- -Import both factories from the `effect-api-query` package root. They use the same peer dependencies. +Import both factories from the `@ueberbrot/effect-api-query` package root. They use the same peer dependencies. The package's [manifest](https://github.com/ueberBrot/effect-api-query/blob/main/package.json) defines the peer requirements. The [workspace catalog](https://github.com/ueberBrot/effect-api-query/blob/main/pnpm-workspace.yaml) lists the versions tested in this repository. See the diff --git a/apps/docs/src/content/docs/getting-started/http-quick-start.md b/apps/docs/src/content/docs/getting-started/http-quick-start.md index db56da7..7d971f6 100644 --- a/apps/docs/src/content/docs/getting-started/http-quick-start.md +++ b/apps/docs/src/content/docs/getting-started/http-quick-start.md @@ -45,8 +45,8 @@ Client integration in `client.ts`: ```ts import { MutationObserver, QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' import { ManagedRuntime } from 'effect' -import { createHttpApiQueryUtils } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { HttpApiClient } from 'effect/http-api' diff --git a/apps/docs/src/content/docs/getting-started/installation.md b/apps/docs/src/content/docs/getting-started/installation.md index 7a7e948..2cd4243 100644 --- a/apps/docs/src/content/docs/getting-started/installation.md +++ b/apps/docs/src/content/docs/getting-started/installation.md @@ -6,7 +6,7 @@ description: Install effect-api-query and its peer dependencies. Install the package and TanStack Query Core: ```sh -pnpm add effect-api-query @tanstack/query-core +pnpm add @ueberbrot/effect-api-query @tanstack/query-core ``` With pnpm's default peer installation enabled, this command also installs the exact Effect release that the package requires. diff --git a/apps/docs/src/content/docs/getting-started/quick-start.md b/apps/docs/src/content/docs/getting-started/quick-start.md index 0658014..2e12f39 100644 --- a/apps/docs/src/content/docs/getting-started/quick-start.md +++ b/apps/docs/src/content/docs/getting-started/quick-start.md @@ -42,8 +42,8 @@ Client integration in `client.ts`: ```ts import { MutationObserver, QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Effect, Exit, Layer, Scope } from 'effect' -import { createRpcQueryUtils } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { RpcClient, RpcSerialization } from 'effect/rpc' diff --git a/apps/docs/src/content/docs/guides/cache-filters.md b/apps/docs/src/content/docs/guides/cache-filters.md index 2a7780c..73e5ac4 100644 --- a/apps/docs/src/content/docs/guides/cache-filters.md +++ b/apps/docs/src/content/docs/guides/cache-filters.md @@ -5,7 +5,7 @@ description: Read typed entries and target native cache operations with generate For typed `getQueryData` and `setQueryData`, use a generated concrete key. For native `invalidateQueries`, `cancelQueries`, and query-state filters, use root, branch, leaf, or view prefixes. -To select one supported cache view, import `viewPrefix` from `effect-api-query`. +To select one supported cache view, import `viewPrefix` from `@ueberbrot/effect-api-query`. Choose the scope before adding `type`, `stale`, `fetchStatus`, or `predicate` conditions: | Scope | Key | Matches | diff --git a/apps/docs/src/content/docs/guides/cancellation.md b/apps/docs/src/content/docs/guides/cancellation.md index 61abd2a..e56e450 100644 --- a/apps/docs/src/content/docs/guides/cancellation.md +++ b/apps/docs/src/content/docs/guides/cancellation.md @@ -4,7 +4,7 @@ description: Cancel queries and request server-side cancellation for long-runnin --- In your application client module, forward TanStack's `AbortSignal` to the runtime. -Import `RunPromiseExit` from `effect-api-query`: +Import `RunPromiseExit` from `@ueberbrot/effect-api-query`: ```ts const runPromiseExit: RunPromiseExit = (effect, options) => runtime.runPromiseExit(effect, options) diff --git a/apps/docs/src/content/docs/guides/conditional-queries.md b/apps/docs/src/content/docs/guides/conditional-queries.md index 5c739aa..e0cc890 100644 --- a/apps/docs/src/content/docs/guides/conditional-queries.md +++ b/apps/docs/src/content/docs/guides/conditional-queries.md @@ -13,7 +13,7 @@ use `{ input: skipToken }`. The builder still accepts TanStack options such as ` `select`, or `initialData`: ```ts -import { skipToken } from 'effect-api-query' +import { skipToken } from '@ueberbrot/effect-api-query' type User = { id: number; name: string } diff --git a/apps/docs/src/content/docs/guides/handle-failures.md b/apps/docs/src/content/docs/guides/handle-failures.md index e15c1ef..61d01fd 100644 --- a/apps/docs/src/content/docs/guides/handle-failures.md +++ b/apps/docs/src/content/docs/guides/handle-failures.md @@ -7,8 +7,8 @@ A failed RPC `Exit` becomes `EffectRpcQueryError`. The error records the RPC tag operation, and the complete Effect `Cause`. Inspect the error in your application handler: ```ts +import { isEffectRpcQueryError } from '@ueberbrot/effect-api-query' import { Cause } from 'effect' -import { isEffectRpcQueryError } from 'effect-api-query' const logRpcError = (error: unknown) => { if (isEffectRpcQueryError(error)) { @@ -36,7 +36,7 @@ bounded attempt counts, and synchronous preparation errors. ## Inspect HTTP failures -Import `isEffectHttpApiQueryError` from `effect-api-query` to recognize a failed HTTP execution. +Import `isEffectHttpApiQueryError` from `@ueberbrot/effect-api-query` to recognize a failed HTTP execution. The wrapper records `apiId`, `groupId`, `endpoint`, `method`, and `operation`. Its `cause` retains the complete original Effect Cause. Use `Cause.findError` to inspect declared endpoint errors, middleware errors, Schema errors, and HTTP client errors. Use `Cause.hasDies` and diff --git a/apps/docs/src/content/docs/guides/query-defaults.md b/apps/docs/src/content/docs/guides/query-defaults.md index 996d17a..cbabb51 100644 --- a/apps/docs/src/content/docs/guides/query-defaults.md +++ b/apps/docs/src/content/docs/guides/query-defaults.md @@ -18,7 +18,7 @@ builder's inference. The library supplies the generated keys and execution funct ## Register native defaults In the cache module, import `QueryClient` from `@tanstack/query-core` and `viewPrefix` from -`effect-api-query`: +`@ueberbrot/effect-api-query`: ```ts const queryClient = new QueryClient({ @@ -61,7 +61,7 @@ the cache owner's lifetime. Builders reject per-call hashing overrides. See If a policy belongs to one leaf and view, use `withQueryPolicy`. `QueryPolicy` types reusable objects with that leaf's native options. Retry and refetch callbacks retain its data and error types. -Import both from `effect-api-query`: +Import both from `@ueberbrot/effect-api-query`: ```ts const policy = { @@ -90,7 +90,7 @@ use a value such as `staleTime: 0` or `retry: false`. ## Bind mutation invalidation -Import `withMutationPolicy` from `effect-api-query`. Seed the returned user and invalidate affected +Import `withMutationPolicy` from `@ueberbrot/effect-api-query`. Seed the returned user and invalidate affected reads once for every use of the creation builder: ```ts diff --git a/apps/docs/src/content/docs/guides/react-query.md b/apps/docs/src/content/docs/guides/react-query.md index bd4f2c2..77d71ee 100644 --- a/apps/docs/src/content/docs/guides/react-query.md +++ b/apps/docs/src/content/docs/guides/react-query.md @@ -45,9 +45,9 @@ Client integration in `client.ts`: ```ts import { QueryClient } from '@tanstack/react-query' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' +import type { RunPromiseExit } from '@ueberbrot/effect-api-query' import { ManagedRuntime } from 'effect' -import { createHttpApiQueryUtils } from 'effect-api-query' -import type { RunPromiseExit } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { HttpApiClient } from 'effect/http-api' diff --git a/apps/docs/src/content/docs/guides/retry-queries.md b/apps/docs/src/content/docs/guides/retry-queries.md index d04f2f5..609bc50 100644 --- a/apps/docs/src/content/docs/guides/retry-queries.md +++ b/apps/docs/src/content/docs/guides/retry-queries.md @@ -58,7 +58,7 @@ unknown values safely. The adapter guard rejects custom runner failures that pas ## Bind a typed RPC policy Import `withQueryPolicy`, `isEffectRpcQueryError`, and the type `InferQueryError` from -`effect-api-query`, plus `RpcClientError` from `effect/rpc`. After acquiring your ready client and +`@ueberbrot/effect-api-query`, plus `RpcClientError` from `effect/rpc`. After acquiring your ready client and creating `rpc`, bind the profile read: ```ts @@ -82,7 +82,7 @@ belongs to the application that owns those transports. ## Bind the same decision to HTTP -Import `isEffectHttpApiQueryError` from `effect-api-query` and `HttpClientError` from `effect/http`. +Import `isEffectHttpApiQueryError` from `@ueberbrot/effect-api-query` and `HttpClientError` from `effect/http`. Reuse the shared retry logic with HTTP's transport classifier: ```ts diff --git a/apps/docs/src/content/docs/guides/solid-query.md b/apps/docs/src/content/docs/guides/solid-query.md index 6752a94..2a99560 100644 --- a/apps/docs/src/content/docs/guides/solid-query.md +++ b/apps/docs/src/content/docs/guides/solid-query.md @@ -23,7 +23,7 @@ with `name`: ```ts import { useQuery } from '@tanstack/solid-query' -import { skipToken } from 'effect-api-query' +import { skipToken } from '@ueberbrot/effect-api-query' import { createSignal } from 'solid-js' import { rpc } from './queries.ts' diff --git a/apps/docs/src/content/docs/guides/stream-snapshots.md b/apps/docs/src/content/docs/guides/stream-snapshots.md index 6aafee9..23366b2 100644 --- a/apps/docs/src/content/docs/guides/stream-snapshots.md +++ b/apps/docs/src/content/docs/guides/stream-snapshots.md @@ -9,7 +9,7 @@ query and awaits local iterator cleanup. Ordinary `queryClient.query` waits for ## Capture data before dehydration -Import `fetchStreamSnapshot` from `effect-api-query`. In the request loader or server snapshot +Import `fetchStreamSnapshot` from `@ueberbrot/effect-api-query`. In the request loader or server snapshot module, use your existing `rpc`, request-local `queryClient` and abort `signal`. Keep the ready client and runner alive until capture settles. For the declared `updates.watch` stream: diff --git a/apps/docs/src/content/docs/guides/suspense-and-recovery.md b/apps/docs/src/content/docs/guides/suspense-and-recovery.md index 081ba43..f59f78b 100644 --- a/apps/docs/src/content/docs/guides/suspense-and-recovery.md +++ b/apps/docs/src/content/docs/guides/suspense-and-recovery.md @@ -27,9 +27,9 @@ import { useSuspenseQueries, useSuspenseQuery, } from '@tanstack/react-query' +import { createRpcQueryUtils, isEffectRpcQueryError } from '@ueberbrot/effect-api-query' +import type { InferQueryData, InferQueryError } from '@ueberbrot/effect-api-query' import { Cause, Result, Schema } from 'effect' -import { createRpcQueryUtils, isEffectRpcQueryError } from 'effect-api-query' -import type { InferQueryData, InferQueryError } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' import { Component, Suspense } from 'react' diff --git a/apps/docs/src/content/docs/guides/trace-streams.md b/apps/docs/src/content/docs/guides/trace-streams.md index f38ecc8..b57a0e8 100644 --- a/apps/docs/src/content/docs/guides/trace-streams.md +++ b/apps/docs/src/content/docs/guides/trace-streams.md @@ -38,9 +38,9 @@ Client tracing in `trace-feed.ts`: ```ts import { QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils, fetchStreamSnapshot } from '@ueberbrot/effect-api-query' +import type { RunPromiseExit } from '@ueberbrot/effect-api-query' import { Effect, Layer, ManagedRuntime, Stream, Tracer } from 'effect' -import { createHttpApiQueryUtils, fetchStreamSnapshot } from 'effect-api-query' -import type { RunPromiseExit } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { HttpApiClient } from 'effect/http-api' import { OtlpSerialization, OtlpTracer } from 'effect/observability' diff --git a/apps/docs/src/content/docs/guides/vue-query.md b/apps/docs/src/content/docs/guides/vue-query.md index 94a12cf..3620876 100644 --- a/apps/docs/src/content/docs/guides/vue-query.md +++ b/apps/docs/src/content/docs/guides/vue-query.md @@ -22,8 +22,8 @@ Here `users.read` returns a user with a `name`: ```ts import { useQuery } from '@tanstack/vue-query' -import { skipToken } from 'effect-api-query' -import type { InferQueryData, InferQueryError } from 'effect-api-query' +import { skipToken } from '@ueberbrot/effect-api-query' +import type { InferQueryData, InferQueryError } from '@ueberbrot/effect-api-query' import { computed, ref } from 'vue' import { rpc } from './queries.ts' diff --git a/apps/docs/src/content/docs/reference/http-factory.md b/apps/docs/src/content/docs/reference/http-factory.md index df8e3c5..6b46b28 100644 --- a/apps/docs/src/content/docs/reference/http-factory.md +++ b/apps/docs/src/content/docs/reference/http-factory.md @@ -5,7 +5,7 @@ description: HTTP factory options, decoded request input, response data, and cac `createHttpApiQueryUtils(api, options)` builds and freezes an HTTP utility tree from an Effect HttpApi and a ready HttpApiClient. The application manages the client's lifetime. -The factory is exported from `effect-api-query`. +The factory is exported from `@ueberbrot/effect-api-query`. The [HTTP Quick Start](/effect-api-query/getting-started/http-quick-start/) shows factory setup. [HTTP Builders](/effect-api-query/reference/http-builders/) defines each generated option and key. diff --git a/apps/docs/src/content/docs/reference/public-exports.md b/apps/docs/src/content/docs/reference/public-exports.md index 3456193..a9c1b7a 100644 --- a/apps/docs/src/content/docs/reference/public-exports.md +++ b/apps/docs/src/content/docs/reference/public-exports.md @@ -3,7 +3,7 @@ title: Public Exports description: Package-root values and types. --- -The package root, `effect-api-query`, exports all supported values and types. +The package root, `@ueberbrot/effect-api-query`, exports all supported values and types. | Export | Purpose | | ----------------------------------------- | ------------------------------------------------------------------------------ | diff --git a/apps/docs/src/content/docs/reference/type-inference.md b/apps/docs/src/content/docs/reference/type-inference.md index 99da0bf..0b15850 100644 --- a/apps/docs/src/content/docs/reference/type-inference.md +++ b/apps/docs/src/content/docs/reference/type-inference.md @@ -3,7 +3,7 @@ title: Type Inference description: Derive operation inputs, cached data, mutation results, and failures from generated leaves. --- -These types are exported from `effect-api-query`. Each describes a generated leaf's contract: +These types are exported from `@ueberbrot/effect-api-query`. Each describes a generated leaf's contract: | Type | Result | | ----------------------------- | --------------------------------------------------------- | diff --git a/e2e-docs/docs.spec.ts b/e2e-docs/docs.spec.ts index b7c574a..f2236ef 100644 --- a/e2e-docs/docs.spec.ts +++ b/e2e-docs/docs.spec.ts @@ -1,8 +1,8 @@ import { expect, test } from '@playwright/test' const docsBase = '/effect-api-query/' -const registryUrl = 'https://registry.npmjs.org/effect-api-query/latest' -const packageUrl = 'https://www.npmjs.com/package/effect-api-query' +const registryUrl = 'https://registry.npmjs.org/@ueberbrot%2Feffect-api-query/latest' +const packageUrl = 'https://www.npmjs.com/package/@ueberbrot/effect-api-query' const repositoryUrl = 'https://github.com/ueberBrot/effect-api-query' test('opens tutorials and feature guides and searches the production index', async ({ diff --git a/examples/shared/error-description.ts b/examples/shared/error-description.ts index 7e5b811..5e70ea7 100644 --- a/examples/shared/error-description.ts +++ b/examples/shared/error-description.ts @@ -1,5 +1,5 @@ +import { isEffectHttpApiQueryError, isEffectRpcQueryError } from '@ueberbrot/effect-api-query' import { Cause } from 'effect' -import { isEffectHttpApiQueryError, isEffectRpcQueryError } from 'effect-api-query' // oxlint-disable-next-line anti-slop/no-unknown-parameters export const describeEffectError = (error: unknown) => { diff --git a/examples/tanstack-start/package.json b/examples/tanstack-start/package.json index c624c90..b569724 100644 --- a/examples/tanstack-start/package.json +++ b/examples/tanstack-start/package.json @@ -14,8 +14,8 @@ "@tanstack/react-router": "catalog:", "@tanstack/react-router-ssr-query": "catalog:", "@tanstack/react-start": "catalog:", + "@ueberbrot/effect-api-query": "workspace:*", "effect": "catalog:", - "effect-api-query": "workspace:*", "react": "catalog:", "react-dom": "catalog:" }, diff --git a/examples/tanstack-start/src/components/conditional-user-query.tsx b/examples/tanstack-start/src/components/conditional-user-query.tsx index ffb0214..d3000a7 100644 --- a/examples/tanstack-start/src/components/conditional-user-query.tsx +++ b/examples/tanstack-start/src/components/conditional-user-query.tsx @@ -1,6 +1,6 @@ import type { User } from '@effect-api-query/contracts' import { useQuery } from '@tanstack/react-query' -import { skipToken } from 'effect-api-query' +import { skipToken } from '@ueberbrot/effect-api-query' import { useState } from 'react' import type { TanStackStartApplication } from '../lib/application.ts' diff --git a/examples/tanstack-start/src/lib/application.ts b/examples/tanstack-start/src/lib/application.ts index 3e13ddb..38d57f3 100644 --- a/examples/tanstack-start/src/lib/application.ts +++ b/examples/tanstack-start/src/lib/application.ts @@ -2,9 +2,13 @@ import { exampleHttpApi, exampleRpcGroup } from '@effect-api-query/contracts' import { startExampleRpcClient } from '@effect-api-query/contracts/client' import type { ExampleRpcClient, StartedExampleRpcClient } from '@effect-api-query/contracts/client' import { QueryClient } from '@tanstack/react-query' +import { + createHttpApiQueryUtils, + createRpcQueryUtils, + fetchStreamSnapshot, +} from '@ueberbrot/effect-api-query' +import type { RunPromiseExit } from '@ueberbrot/effect-api-query' import { Effect, Layer, ManagedRuntime } from 'effect' -import { createHttpApiQueryUtils, createRpcQueryUtils, fetchStreamSnapshot } from 'effect-api-query' -import type { RunPromiseExit } from 'effect-api-query' import { FetchHttpClient, HttpClient, HttpClientRequest } from 'effect/http' import { HttpApiClient } from 'effect/http-api' diff --git a/examples/tanstack-start/tests/server-render.test.tsx b/examples/tanstack-start/tests/server-render.test.tsx index 94d1cd5..c1c6ff2 100644 --- a/examples/tanstack-start/tests/server-render.test.tsx +++ b/examples/tanstack-start/tests/server-render.test.tsx @@ -1,8 +1,8 @@ import { startExampleRpcServer } from '@effect-api-query/server' import { QueryClient } from '@tanstack/react-query' import { createMemoryHistory, RouterProvider } from '@tanstack/react-router' +import { createRpcQueryUtils, fetchStreamSnapshot } from '@ueberbrot/effect-api-query' import { Deferred, Effect, Exit, Schema, Scope, Stream } from 'effect' -import { createRpcQueryUtils, fetchStreamSnapshot } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' import { renderToString } from 'react-dom/server' diff --git a/examples/vite-react/package.json b/examples/vite-react/package.json index c06466d..3ac4318 100644 --- a/examples/vite-react/package.json +++ b/examples/vite-react/package.json @@ -10,8 +10,8 @@ "dependencies": { "@effect-api-query/contracts": "workspace:*", "@tanstack/react-query": "catalog:", + "@ueberbrot/effect-api-query": "workspace:*", "effect": "catalog:", - "effect-api-query": "workspace:*", "react": "catalog:", "react-dom": "catalog:" }, diff --git a/examples/vite-react/src/components/conditional-user-query.tsx b/examples/vite-react/src/components/conditional-user-query.tsx index da3edf3..d091770 100644 --- a/examples/vite-react/src/components/conditional-user-query.tsx +++ b/examples/vite-react/src/components/conditional-user-query.tsx @@ -1,6 +1,6 @@ import type { User } from '@effect-api-query/contracts' import { useQuery } from '@tanstack/react-query' -import { skipToken } from 'effect-api-query' +import { skipToken } from '@ueberbrot/effect-api-query' import { useState } from 'react' import type { ViteReactApplication } from '../lib/application.ts' diff --git a/examples/vite-react/src/lib/application.ts b/examples/vite-react/src/lib/application.ts index 43748b6..6868ade 100644 --- a/examples/vite-react/src/lib/application.ts +++ b/examples/vite-react/src/lib/application.ts @@ -2,9 +2,9 @@ import { exampleHttpApi, exampleRpcGroup } from '@effect-api-query/contracts' import { startExampleRpcClient } from '@effect-api-query/contracts/client' import type { ExampleRpcClient } from '@effect-api-query/contracts/client' import { QueryClient } from '@tanstack/react-query' +import { createHttpApiQueryUtils, createRpcQueryUtils } from '@ueberbrot/effect-api-query' +import type { RunPromiseExit } from '@ueberbrot/effect-api-query' import { ManagedRuntime } from 'effect' -import { createHttpApiQueryUtils, createRpcQueryUtils } from 'effect-api-query' -import type { RunPromiseExit } from 'effect-api-query' import { FetchHttpClient, HttpClient, HttpClientRequest } from 'effect/http' import { HttpApiClient } from 'effect/http-api' import type { RpcClientError } from 'effect/rpc' diff --git a/package.json b/package.json index 3a76259..f125c77 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "effect-api-query", + "name": "@ueberbrot/effect-api-query", "version": "0.1.0", "description": "Type-safe TanStack Query utilities derived from Effect RPC and HTTP API contracts.", "keywords": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d34ddc9..8639756 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -410,7 +410,7 @@ importers: effect: specifier: 'catalog:' version: 4.0.2 - effect-api-query: + '@ueberbrot/effect-api-query': specifier: workspace:* version: link:../.. react: @@ -459,7 +459,7 @@ importers: effect: specifier: 'catalog:' version: 4.0.2 - effect-api-query: + '@ueberbrot/effect-api-query': specifier: workspace:* version: link:../.. react: diff --git a/scripts/verify-docs-examples.mts b/scripts/verify-docs-examples.mts index 3e683d1..4ac591e 100644 --- a/scripts/verify-docs-examples.mts +++ b/scripts/verify-docs-examples.mts @@ -86,7 +86,7 @@ for (const [page, fixtures] of [ const source = decodeUtf8(readFileSync(new URL(`../${fixturePath}`, import.meta.url))) sources.push( source - .replaceAll("from '#effect-api-query'", "from 'effect-api-query'") + .replaceAll("from '#effect-api-query'", "from '@ueberbrot/effect-api-query'") .replaceAll("from './docs-readme-rpc-contract.ts'", "from './rpc-contract.ts'") .replaceAll("from './docs-readme-http-contract.ts'", "from './http-contract.ts'") .replaceAll("from './docs-rpc-quick-start-contract.ts'", "from './rpc-contract.ts'") diff --git a/skills/effect-api-query/SKILL.md b/skills/effect-api-query/SKILL.md index 6e58981..3064a94 100644 --- a/skills/effect-api-query/SKILL.md +++ b/skills/effect-api-query/SKILL.md @@ -14,7 +14,7 @@ metadata: clients, preserving cache identity, decoded query views, native framework behavior, and application-owned execution, hydration, and resource lifetime. type: core - library: effect-api-query + library: '@ueberbrot/effect-api-query' library_version: '0.1.0' sources: - 'src/**/*.ts' @@ -68,7 +68,7 @@ Read the reference for the contract you are integrating: | Effect RPC group | `createRpcQueryUtils` with payload constructor input | [RPC setup and rules](references/rpc.md) | | Effect HttpApi | `createHttpApiQueryUtils` with decoded request parts | [HTTP setup and rules](references/http.md) | -Import both factories and error guards from `effect-api-query`, the package's one +Import both factories and error guards from `@ueberbrot/effect-api-query`, the package's one public root export. Each factory accepts an already acquired client. It builds an eager, frozen utility tree without making a request. diff --git a/skills/effect-api-query/references/cache-workflows.md b/skills/effect-api-query/references/cache-workflows.md index a3b35b2..4d77202 100644 --- a/skills/effect-api-query/references/cache-workflows.md +++ b/skills/effect-api-query/references/cache-workflows.md @@ -11,8 +11,8 @@ policies. Keep selection and input at each builder call. ```ts import { QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils, viewPrefix } from '@ueberbrot/effect-api-query' import { Effect, Schema } from 'effect' -import { createRpcQueryUtils, viewPrefix } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' @@ -80,9 +80,13 @@ Reuse them at call sites. The following factory shares a freshness decision and mutation invalidation: ```ts +import { + createRpcQueryUtils, + withMutationPolicy, + withQueryPolicy, +} from '@ueberbrot/effect-api-query' +import type { QueryPolicy } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils, withMutationPolicy, withQueryPolicy } from 'effect-api-query' -import type { QueryPolicy } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' diff --git a/skills/effect-api-query/references/frameworks-and-hosts.md b/skills/effect-api-query/references/frameworks-and-hosts.md index bf3a7db..b31ad1f 100644 --- a/skills/effect-api-query/references/frameworks-and-hosts.md +++ b/skills/effect-api-query/references/frameworks-and-hosts.md @@ -26,9 +26,9 @@ component setup: ```ts import { useQuery as useSolidQuery } from '@tanstack/solid-query' import { useQuery as useVueQuery } from '@tanstack/vue-query' +import { createRpcQueryUtils, skipToken } from '@ueberbrot/effect-api-query' +import type { InferQueryData, InferQueryError } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils, skipToken } from 'effect-api-query' -import type { InferQueryData, InferQueryError } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' import { computed, ref } from 'vue' diff --git a/skills/effect-api-query/references/http.md b/skills/effect-api-query/references/http.md index fe386bb..b4013da 100644 --- a/skills/effect-api-query/references/http.md +++ b/skills/effect-api-query/references/http.md @@ -6,8 +6,8 @@ the same declaration. ```ts import { MutationObserver, QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' import { ManagedRuntime, Schema } from 'effect' -import { createHttpApiQueryUtils } from 'effect-api-query' import { FetchHttpClient, Multipart } from 'effect/http' import { HttpApi, @@ -150,8 +150,8 @@ acquired client for the same declaration. It returns independent history and latest views: ```ts +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createHttpApiQueryUtils } from 'effect-api-query' import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from 'effect/http-api' import type { HttpApiClient } from 'effect/http-api' diff --git a/skills/effect-api-query/references/hydration-and-ssr.md b/skills/effect-api-query/references/hydration-and-ssr.md index 140fb53..c95151e 100644 --- a/skills/effect-api-query/references/hydration-and-ssr.md +++ b/skills/effect-api-query/references/hydration-and-ssr.md @@ -11,8 +11,8 @@ cleanup. ```ts import { dehydrate } from '@tanstack/query-core' import type { QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils, fetchStreamSnapshot } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils, fetchStreamSnapshot } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' diff --git a/skills/effect-api-query/references/query-patterns.md b/skills/effect-api-query/references/query-patterns.md index 83980e7..fa3e93a 100644 --- a/skills/effect-api-query/references/query-patterns.md +++ b/skills/effect-api-query/references/query-patterns.md @@ -2,7 +2,7 @@ ## Reuse inferred operation types -To infer operation types, import helpers from `effect-api-query` and apply them to +To infer operation types, import helpers from `@ueberbrot/effect-api-query` and apply them to a utility leaf: | Helper | Representation | @@ -43,8 +43,8 @@ components under the application's `QueryClientProvider`. ```ts import { useQuery } from '@tanstack/react-query' +import { createRpcQueryUtils, skipToken } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils, skipToken } from 'effect-api-query' import { Rpc, RpcGroup, type RpcClient } from 'effect/rpc' export const users = RpcGroup.make( @@ -82,8 +82,8 @@ execution. ```ts import { QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils } from 'effect-api-query' import { Rpc, RpcGroup, type RpcClient } from 'effect/rpc' export const catalog = RpcGroup.make( @@ -121,8 +121,8 @@ inside the options object. Do not return the sentinel from a mapper. ## RPC streams ```ts +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils } from 'effect-api-query' import { Rpc, RpcGroup, type RpcClient } from 'effect/rpc' export const events = RpcGroup.make( diff --git a/skills/effect-api-query/references/rpc.md b/skills/effect-api-query/references/rpc.md index 50ff40a..1946b38 100644 --- a/skills/effect-api-query/references/rpc.md +++ b/skills/effect-api-query/references/rpc.md @@ -6,8 +6,8 @@ The server must implement the same contract. ```ts import { MutationObserver, QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Effect, Exit, Layer, Schema, Scope } from 'effect' -import { createRpcQueryUtils } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { Rpc, RpcClient, RpcGroup, RpcSerialization } from 'effect/rpc' diff --git a/tests/types/docs-functionality.ts b/tests/types/docs-functionality.ts index 7184b8d..1198342 100644 --- a/tests/types/docs-functionality.ts +++ b/tests/types/docs-functionality.ts @@ -1,6 +1,6 @@ import { MutationObserver, QueryClient, QueryObserver } from '@tanstack/query-core' +import { createHttpApiQueryUtils, createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Effect, Schema } from 'effect' -import { createHttpApiQueryUtils, createRpcQueryUtils } from 'effect-api-query' import { Multipart } from 'effect/http' import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from 'effect/http-api' import type { HttpApiClient } from 'effect/http-api' diff --git a/tests/types/docs-http-quick-start.ts b/tests/types/docs-http-quick-start.ts index 7c61c8f..c20bddf 100644 --- a/tests/types/docs-http-quick-start.ts +++ b/tests/types/docs-http-quick-start.ts @@ -1,6 +1,6 @@ import { MutationObserver, QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' import { ManagedRuntime } from 'effect' -import { createHttpApiQueryUtils } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { HttpApiClient } from 'effect/http-api' diff --git a/tests/types/docs-hydration-dto.ts b/tests/types/docs-hydration-dto.ts index a75d5bf..eaed32b 100644 --- a/tests/types/docs-hydration-dto.ts +++ b/tests/types/docs-hydration-dto.ts @@ -1,7 +1,7 @@ import { defaultShouldDehydrateQuery, dehydrate, hydrate } from '@tanstack/query-core' import type { QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils, createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createHttpApiQueryUtils, createRpcQueryUtils } from 'effect-api-query' import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup } from 'effect/http-api' import { Rpc, RpcClient, RpcGroup } from 'effect/rpc' diff --git a/tests/types/docs-hydration-rich.ts b/tests/types/docs-hydration-rich.ts index fff45ac..4d56c50 100644 --- a/tests/types/docs-hydration-rich.ts +++ b/tests/types/docs-hydration-rich.ts @@ -1,7 +1,7 @@ import { defaultShouldDehydrateQuery, dehydrate, hydrate } from '@tanstack/query-core' import type { QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils, createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createHttpApiQueryUtils, createRpcQueryUtils } from 'effect-api-query' import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup } from 'effect/http-api' import { Rpc, RpcClient, RpcGroup } from 'effect/rpc' diff --git a/tests/types/docs-policies.ts b/tests/types/docs-policies.ts index ca33e7e..9c50b7c 100644 --- a/tests/types/docs-policies.ts +++ b/tests/types/docs-policies.ts @@ -5,7 +5,7 @@ import { viewPrefix, withMutationPolicy, withQueryPolicy, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' import type { InferInput, InferMutationData, @@ -13,7 +13,7 @@ import type { InferQueryData, InferQueryError, QueryPolicy, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' import type { HttpApiClient } from 'effect/http-api' import type { RpcClient, RpcGroup } from 'effect/rpc' diff --git a/tests/types/docs-react-client.ts b/tests/types/docs-react-client.ts index 621082d..3613d20 100644 --- a/tests/types/docs-react-client.ts +++ b/tests/types/docs-react-client.ts @@ -1,7 +1,7 @@ import { QueryClient } from '@tanstack/react-query' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' +import type { RunPromiseExit } from '@ueberbrot/effect-api-query' import { ManagedRuntime } from 'effect' -import { createHttpApiQueryUtils } from 'effect-api-query' -import type { RunPromiseExit } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { HttpApiClient } from 'effect/http-api' diff --git a/tests/types/docs-readme-http.ts b/tests/types/docs-readme-http.ts index 4064060..e6d08c6 100644 --- a/tests/types/docs-readme-http.ts +++ b/tests/types/docs-readme-http.ts @@ -1,5 +1,5 @@ import { QueryClient } from '@tanstack/query-core' -import { createHttpApiQueryUtils } from 'effect-api-query' +import { createHttpApiQueryUtils } from '@ueberbrot/effect-api-query' import type { HttpApiClient } from 'effect/http-api' import { usersApi } from './docs-readme-http-contract.ts' diff --git a/tests/types/docs-readme-rpc.ts b/tests/types/docs-readme-rpc.ts index 8b564cc..c8fd589 100644 --- a/tests/types/docs-readme-rpc.ts +++ b/tests/types/docs-readme-rpc.ts @@ -1,5 +1,5 @@ import { QueryClient } from '@tanstack/query-core' -import { createRpcQueryUtils } from 'effect-api-query' +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import type { RpcClient, RpcGroup } from 'effect/rpc' import { usersRpc } from './docs-readme-rpc-contract.ts' diff --git a/tests/types/docs-retry.ts b/tests/types/docs-retry.ts index 6084e22..63c4222 100644 --- a/tests/types/docs-retry.ts +++ b/tests/types/docs-retry.ts @@ -1,12 +1,12 @@ -import { Cause, Result, Schema } from 'effect' import { createHttpApiQueryUtils, createRpcQueryUtils, isEffectHttpApiQueryError, isEffectRpcQueryError, withQueryPolicy, -} from 'effect-api-query' -import type { InferQueryError } from 'effect-api-query' +} from '@ueberbrot/effect-api-query' +import type { InferQueryError } from '@ueberbrot/effect-api-query' +import { Cause, Result, Schema } from 'effect' import { HttpClientError } from 'effect/http' import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup } from 'effect/http-api' import { Rpc, RpcClient, RpcClientError, RpcGroup } from 'effect/rpc' diff --git a/tests/types/docs-rpc-quick-start.ts b/tests/types/docs-rpc-quick-start.ts index 4e33afb..23f44f3 100644 --- a/tests/types/docs-rpc-quick-start.ts +++ b/tests/types/docs-rpc-quick-start.ts @@ -1,6 +1,6 @@ import { MutationObserver, QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils } from '@ueberbrot/effect-api-query' import { Effect, Exit, Layer, Scope } from 'effect' -import { createRpcQueryUtils } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { RpcClient, RpcSerialization } from 'effect/rpc' diff --git a/tests/types/docs-stream-snapshot.ts b/tests/types/docs-stream-snapshot.ts index dc738b5..731f911 100644 --- a/tests/types/docs-stream-snapshot.ts +++ b/tests/types/docs-stream-snapshot.ts @@ -1,6 +1,6 @@ import type { QueryClient } from '@tanstack/query-core' +import { createRpcQueryUtils, fetchStreamSnapshot } from '@ueberbrot/effect-api-query' import { Schema } from 'effect' -import { createRpcQueryUtils, fetchStreamSnapshot } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' diff --git a/tests/types/docs-stream-tracing.ts b/tests/types/docs-stream-tracing.ts index 784520b..9ac840b 100644 --- a/tests/types/docs-stream-tracing.ts +++ b/tests/types/docs-stream-tracing.ts @@ -1,7 +1,7 @@ import { QueryClient } from '@tanstack/query-core' +import { createHttpApiQueryUtils, fetchStreamSnapshot } from '@ueberbrot/effect-api-query' +import type { RunPromiseExit } from '@ueberbrot/effect-api-query' import { Effect, Layer, ManagedRuntime, Stream, Tracer } from 'effect' -import { createHttpApiQueryUtils, fetchStreamSnapshot } from 'effect-api-query' -import type { RunPromiseExit } from 'effect-api-query' import { FetchHttpClient } from 'effect/http' import { HttpApiClient } from 'effect/http-api' import { OtlpSerialization, OtlpTracer } from 'effect/observability' diff --git a/tests/types/docs-suspense.tsx b/tests/types/docs-suspense.tsx index a49f573..7e0106b 100644 --- a/tests/types/docs-suspense.tsx +++ b/tests/types/docs-suspense.tsx @@ -3,9 +3,9 @@ import { useSuspenseQueries, useSuspenseQuery, } from '@tanstack/react-query' +import { createRpcQueryUtils, isEffectRpcQueryError } from '@ueberbrot/effect-api-query' +import type { InferQueryData, InferQueryError } from '@ueberbrot/effect-api-query' import { Cause, Result, Schema } from 'effect' -import { createRpcQueryUtils, isEffectRpcQueryError } from 'effect-api-query' -import type { InferQueryData, InferQueryError } from 'effect-api-query' import { Rpc, RpcGroup } from 'effect/rpc' import type { RpcClient } from 'effect/rpc' import { Component, Suspense } from 'react' diff --git a/tests/types/helper-contract.ts b/tests/types/helper-contract.ts index cce57da..01d362d 100644 --- a/tests/types/helper-contract.ts +++ b/tests/types/helper-contract.ts @@ -1,6 +1,5 @@ import type { dataTagSymbol, InfiniteData, QueryClient, SkipToken } from '@tanstack/query-core' import { useInfiniteQuery, useMutation, useQuery, useSuspenseQuery } from '@tanstack/react-query' -import { Effect, Schema } from 'effect' import { createHttpApiQueryUtils, createRpcQueryUtils, @@ -8,7 +7,7 @@ import { viewPrefix, withMutationPolicy, withQueryPolicy, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' import type { EffectHttpApiQueryError, EffectRpcQueryError, @@ -20,7 +19,8 @@ import type { MutationPolicy, QueryPolicy, RpcQueryUtils, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' +import { Effect, Schema } from 'effect' import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from 'effect/http-api' import type { HttpApiClient } from 'effect/http-api' import { Rpc, RpcGroup } from 'effect/rpc' diff --git a/tests/types/http-contract.ts b/tests/types/http-contract.ts index c1e67a4..2686a5e 100644 --- a/tests/types/http-contract.ts +++ b/tests/types/http-contract.ts @@ -16,7 +16,6 @@ import { useSuspenseInfiniteQuery, useSuspenseQuery, } from '@tanstack/react-query' -import { Context, Effect, Schema } from 'effect' import { createHttpApiQueryUtils, EffectHttpApiQueryError, @@ -26,7 +25,8 @@ import { type HttpApiKeyEncoder, type HttpApiQueryUtils, type RunPromiseExit, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' +import { Context, Effect, Schema } from 'effect' import type { HttpClient, HttpClientError, HttpClientResponse } from 'effect/http' import { HttpApi, diff --git a/tests/types/http-stream-contract.ts b/tests/types/http-stream-contract.ts index 133253b..cf8bdf8 100644 --- a/tests/types/http-stream-contract.ts +++ b/tests/types/http-stream-contract.ts @@ -1,14 +1,17 @@ import { QueryClient, QueryObserver, skipToken } from '@tanstack/query-core' import { useQuery, useSuspenseQuery } from '@tanstack/react-query' -import { Context, Effect, Schema, SchemaTransformation } from 'effect' -import type { Stream } from 'effect' -import { createHttpApiQueryUtils, EffectHttpApiQueryEmptyStreamError } from 'effect-api-query' +import { + createHttpApiQueryUtils, + EffectHttpApiQueryEmptyStreamError, +} from '@ueberbrot/effect-api-query' import type { CreateHttpApiQueryUtilsOptions, EffectHttpApiQueryConfigError, EffectHttpApiQueryError, RunPromiseExit, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' +import { Context, Effect, Schema, SchemaTransformation } from 'effect' +import type { Stream } from 'effect' import type { Sse } from 'effect/encoding' import type { HttpClientError } from 'effect/http' import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from 'effect/http-api' diff --git a/tests/types/http-type-scale.ts b/tests/types/http-type-scale.ts index a64d60b..94d905f 100644 --- a/tests/types/http-type-scale.ts +++ b/tests/types/http-type-scale.ts @@ -1,10 +1,10 @@ import { QueryClient, type InfiniteData } from '@tanstack/query-core' -import { Schema } from 'effect' import { createHttpApiQueryUtils, type EffectHttpApiQueryError, type HttpApiQueryUtils, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' +import { Schema } from 'effect' import type { HttpClientError } from 'effect/http' import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup } from 'effect/http-api' diff --git a/tests/types/public-contract.ts b/tests/types/public-contract.ts index 63e9e31..03f31df 100644 --- a/tests/types/public-contract.ts +++ b/tests/types/public-contract.ts @@ -17,8 +17,6 @@ import { useSuspenseInfiniteQuery, useSuspenseQuery, } from '@tanstack/react-query' -import { Context, Effect, Schema } from 'effect' -import type { Redacted } from 'effect' import { createRpcQueryUtils, EffectRpcQueryEmptyStreamError, @@ -34,7 +32,9 @@ import { type RpcQueryUtils, type RunPromiseExit, type SkipToken, -} from 'effect-api-query' +} from '@ueberbrot/effect-api-query' +import { Context, Effect, Schema } from 'effect' +import type { Redacted } from 'effect' import { Rpc, RpcClient, RpcGroup, RpcMiddleware } from 'effect/rpc' class AuthMiddleware extends RpcMiddleware.Service()('AuthMiddleware', { @@ -1437,11 +1437,11 @@ true satisfies Assert