@winspan/claude-forge 9.2.0 → 9.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEVELOPMENT.md +80 -19
- package/README.md +13 -6
- package/dist/catalogs/agents.json +19 -24
- package/dist/catalogs/skills.json +139 -27
- package/dist/claudemd/templates/swarm-protocol.md +1 -1
- package/dist/cli/commands/agent.d.ts +169 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +690 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/codegraph.d.ts +17 -0
- package/dist/cli/commands/codegraph.d.ts.map +1 -0
- package/dist/cli/commands/codegraph.js +263 -0
- package/dist/cli/commands/codegraph.js.map +1 -0
- package/dist/cli/commands/decisions.d.ts.map +1 -1
- package/dist/cli/commands/decisions.js +46 -9
- package/dist/cli/commands/decisions.js.map +1 -1
- package/dist/cli/commands/executions.d.ts.map +1 -1
- package/dist/cli/commands/executions.js +2 -1
- package/dist/cli/commands/executions.js.map +1 -1
- package/dist/cli/commands/insights-goal-check.d.ts +5 -1
- package/dist/cli/commands/insights-goal-check.d.ts.map +1 -1
- package/dist/cli/commands/insights-goal-check.js +15 -15
- package/dist/cli/commands/insights-goal-check.js.map +1 -1
- package/dist/cli/commands/knowledge.d.ts +51 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/knowledge.js +202 -29
- package/dist/cli/commands/knowledge.js.map +1 -1
- package/dist/cli/commands/loop.d.ts +95 -0
- package/dist/cli/commands/loop.d.ts.map +1 -0
- package/dist/cli/commands/loop.js +408 -0
- package/dist/cli/commands/loop.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +33 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +75 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +23 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +82 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/skills.d.ts +131 -0
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +409 -9
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +9 -2
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/constants.d.ts +37 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +43 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/core/diagnostics/checks.d.ts.map +1 -1
- package/dist/core/diagnostics/checks.js +2 -1
- package/dist/core/diagnostics/checks.js.map +1 -1
- package/dist/core/diagnostics/daemon-status.d.ts +1 -1
- package/dist/core/diagnostics/daemon-status.d.ts.map +1 -1
- package/dist/core/diagnostics/daemon-status.js +1 -1
- package/dist/core/diagnostics/daemon-status.js.map +1 -1
- package/dist/core/diagnostics/entropy-checks.d.ts +3 -2
- package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -1
- package/dist/core/diagnostics/entropy-checks.js +10 -5
- package/dist/core/diagnostics/entropy-checks.js.map +1 -1
- package/dist/core/diagnostics/heartbeat-reader.d.ts +28 -0
- package/dist/core/diagnostics/heartbeat-reader.d.ts.map +1 -0
- package/dist/core/diagnostics/heartbeat-reader.js +50 -0
- package/dist/core/diagnostics/heartbeat-reader.js.map +1 -0
- package/dist/core/event-fields.d.ts +27 -0
- package/dist/core/event-fields.d.ts.map +1 -1
- package/dist/core/event-fields.js +43 -0
- package/dist/core/event-fields.js.map +1 -1
- package/dist/core/governance/global-inject.d.ts +34 -4
- package/dist/core/governance/global-inject.d.ts.map +1 -1
- package/dist/core/governance/global-inject.js +80 -25
- package/dist/core/governance/global-inject.js.map +1 -1
- package/dist/core/insights/agent-anchor-guard.d.ts +77 -0
- package/dist/core/insights/agent-anchor-guard.d.ts.map +1 -0
- package/dist/core/insights/agent-anchor-guard.js +119 -0
- package/dist/core/insights/agent-anchor-guard.js.map +1 -0
- package/dist/core/insights/agent-distill-context.d.ts +55 -0
- package/dist/core/insights/agent-distill-context.d.ts.map +1 -0
- package/dist/core/insights/agent-distill-context.js +146 -0
- package/dist/core/insights/agent-distill-context.js.map +1 -0
- package/dist/core/insights/agent-distill-spawn.d.ts +56 -0
- package/dist/core/insights/agent-distill-spawn.d.ts.map +1 -0
- package/dist/core/insights/agent-distill-spawn.js +179 -0
- package/dist/core/insights/agent-distill-spawn.js.map +1 -0
- package/dist/core/insights/agent-drift.d.ts +66 -0
- package/dist/core/insights/agent-drift.d.ts.map +1 -0
- package/dist/core/insights/agent-drift.js +109 -0
- package/dist/core/insights/agent-drift.js.map +1 -0
- package/dist/core/insights/agent-evolution-sources.d.ts +21 -0
- package/dist/core/insights/agent-evolution-sources.d.ts.map +1 -0
- package/dist/core/insights/agent-evolution-sources.js +36 -0
- package/dist/core/insights/agent-evolution-sources.js.map +1 -0
- package/dist/core/insights/agent-health.d.ts +142 -0
- package/dist/core/insights/agent-health.d.ts.map +1 -0
- package/dist/core/insights/agent-health.js +296 -0
- package/dist/core/insights/agent-health.js.map +1 -0
- package/dist/core/insights/agent-patch-apply.d.ts +45 -0
- package/dist/core/insights/agent-patch-apply.d.ts.map +1 -0
- package/dist/core/insights/agent-patch-apply.js +165 -0
- package/dist/core/insights/agent-patch-apply.js.map +1 -0
- package/dist/core/insights/agent-suggest.d.ts +128 -0
- package/dist/core/insights/agent-suggest.d.ts.map +1 -0
- package/dist/core/insights/agent-suggest.js +284 -0
- package/dist/core/insights/agent-suggest.js.map +1 -0
- package/dist/core/insights/coverage-tiers.d.ts +46 -0
- package/dist/core/insights/coverage-tiers.d.ts.map +1 -0
- package/dist/core/insights/coverage-tiers.js +95 -0
- package/dist/core/insights/coverage-tiers.js.map +1 -0
- package/dist/{daemon/services → core/insights}/experience-extractor.d.ts +0 -7
- package/dist/core/insights/experience-extractor.d.ts.map +1 -0
- package/dist/{daemon/services → core/insights}/experience-extractor.js +5 -9
- package/dist/core/insights/experience-extractor.js.map +1 -0
- package/dist/{daemon/services → core/insights}/violation-reporter.d.ts +20 -1
- package/dist/core/insights/violation-reporter.d.ts.map +1 -0
- package/dist/{daemon/services → core/insights}/violation-reporter.js +56 -4
- package/dist/core/insights/violation-reporter.js.map +1 -0
- package/dist/core/loop/loop-engine.d.ts +140 -0
- package/dist/core/loop/loop-engine.d.ts.map +1 -0
- package/dist/core/loop/loop-engine.js +266 -0
- package/dist/core/loop/loop-engine.js.map +1 -0
- package/dist/core/queue/index.d.ts.map +1 -1
- package/dist/core/queue/index.js +2 -1
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/storage/base.d.ts +159 -0
- package/dist/core/storage/base.d.ts.map +1 -1
- package/dist/core/storage/base.js +523 -0
- package/dist/core/storage/base.js.map +1 -1
- package/dist/core/storage/codegraph-types.d.ts +79 -0
- package/dist/core/storage/codegraph-types.d.ts.map +1 -0
- package/dist/core/storage/codegraph-types.js +14 -0
- package/dist/core/storage/codegraph-types.js.map +1 -0
- package/dist/core/storage/codegraph.d.ts +186 -0
- package/dist/core/storage/codegraph.d.ts.map +1 -0
- package/dist/core/storage/codegraph.js +452 -0
- package/dist/core/storage/codegraph.js.map +1 -0
- package/dist/core/storage/decisions.d.ts +30 -5
- package/dist/core/storage/decisions.d.ts.map +1 -1
- package/dist/core/storage/decisions.js +45 -13
- package/dist/core/storage/decisions.js.map +1 -1
- package/dist/core/storage/events.d.ts +127 -0
- package/dist/core/storage/events.d.ts.map +1 -1
- package/dist/core/storage/events.js +318 -3
- package/dist/core/storage/events.js.map +1 -1
- package/dist/core/storage/feedback.d.ts +3 -23
- package/dist/core/storage/feedback.d.ts.map +1 -1
- package/dist/core/storage/feedback.js +37 -38
- package/dist/core/storage/feedback.js.map +1 -1
- package/dist/core/storage/injections.d.ts +40 -0
- package/dist/core/storage/injections.d.ts.map +1 -1
- package/dist/core/storage/injections.js +69 -0
- package/dist/core/storage/injections.js.map +1 -1
- package/dist/core/storage/knowledge.d.ts +226 -0
- package/dist/core/storage/knowledge.d.ts.map +1 -1
- package/dist/core/storage/knowledge.js +391 -4
- package/dist/core/storage/knowledge.js.map +1 -1
- package/dist/core/storage/pipeline-rollup.d.ts +1 -7
- package/dist/core/storage/pipeline-rollup.d.ts.map +1 -1
- package/dist/core/storage/pipeline-rollup.js +18 -57
- package/dist/core/storage/pipeline-rollup.js.map +1 -1
- package/dist/core/storage/routing.d.ts +34 -0
- package/dist/core/storage/routing.d.ts.map +1 -1
- package/dist/core/storage/routing.js +92 -2
- package/dist/core/storage/routing.js.map +1 -1
- package/dist/core/storage/rows.d.ts +5 -25
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +92 -27
- package/dist/core/storage/sessions.d.ts.map +1 -1
- package/dist/core/storage/sessions.js +2 -1
- package/dist/core/storage/sessions.js.map +1 -1
- package/dist/core/storage/skills.d.ts +159 -0
- package/dist/core/storage/skills.d.ts.map +1 -1
- package/dist/core/storage/skills.js +350 -4
- package/dist/core/storage/skills.js.map +1 -1
- package/dist/core/storage/sqlite.d.ts +81 -25
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +143 -45
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/storage/tasks.d.ts +270 -0
- package/dist/core/storage/tasks.d.ts.map +1 -1
- package/dist/core/storage/tasks.js +495 -16
- package/dist/core/storage/tasks.js.map +1 -1
- package/dist/core/storage/tool-intercepts.d.ts +1 -1
- package/dist/core/storage/tool-intercepts.js +1 -1
- package/dist/core/types.d.ts +26 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/binary-paths.d.ts +32 -0
- package/dist/core/utils/binary-paths.d.ts.map +1 -1
- package/dist/core/utils/binary-paths.js +52 -0
- package/dist/core/utils/binary-paths.js.map +1 -1
- package/dist/core/utils/claude-cli-resolver.d.ts.map +1 -0
- package/dist/{skills/distill → core/utils}/claude-cli-resolver.js +1 -1
- package/dist/core/utils/claude-cli-resolver.js.map +1 -0
- package/dist/core/utils/claude-cli-spawn.d.ts +1 -1
- package/dist/core/utils/claude-cli-spawn.js +2 -2
- package/dist/core/utils/claude-cli-spawn.js.map +1 -1
- package/dist/core/utils/noise-prompt.d.ts +1 -1
- package/dist/core/utils/noise-prompt.js +1 -1
- package/dist/core/utils/time.d.ts +26 -0
- package/dist/core/utils/time.d.ts.map +1 -1
- package/dist/core/utils/time.js +33 -0
- package/dist/core/utils/time.js.map +1 -1
- package/dist/daemon/config-store.d.ts.map +1 -1
- package/dist/daemon/config-store.js +14 -5
- package/dist/daemon/config-store.js.map +1 -1
- package/dist/daemon/event-parser.d.ts.map +1 -1
- package/dist/daemon/event-parser.js +5 -0
- package/dist/daemon/event-parser.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +24 -16
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +76 -116
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +35 -10
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.js +71 -38
- package/dist/daemon/handlers/pre-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +20 -0
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +96 -8
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +16 -1
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +97 -56
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/handlers/violation-content-backfill.d.ts +76 -0
- package/dist/daemon/handlers/violation-content-backfill.d.ts.map +1 -0
- package/dist/daemon/handlers/violation-content-backfill.js +167 -0
- package/dist/daemon/handlers/violation-content-backfill.js.map +1 -0
- package/dist/daemon/index.d.ts +19 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +125 -200
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/rules/defaults.d.ts.map +1 -1
- package/dist/daemon/rules/defaults.js +151 -64
- package/dist/daemon/rules/defaults.js.map +1 -1
- package/dist/daemon/rules/types.d.ts +28 -22
- package/dist/daemon/rules/types.d.ts.map +1 -1
- package/dist/daemon/rules/workflow-defaults.js +9 -9
- package/dist/daemon/rules/workflow-defaults.js.map +1 -1
- package/dist/daemon/services/codegraph-sync.d.ts +94 -0
- package/dist/daemon/services/codegraph-sync.d.ts.map +1 -0
- package/dist/daemon/services/codegraph-sync.js +159 -0
- package/dist/daemon/services/codegraph-sync.js.map +1 -0
- package/dist/daemon/services/decision-hint.d.ts +47 -10
- package/dist/daemon/services/decision-hint.d.ts.map +1 -1
- package/dist/daemon/services/decision-hint.js +99 -24
- package/dist/daemon/services/decision-hint.js.map +1 -1
- package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -1
- package/dist/daemon/services/event-ttl-sweep.js +3 -2
- package/dist/daemon/services/event-ttl-sweep.js.map +1 -1
- package/dist/daemon/services/feedback-aggregator.d.ts +14 -26
- package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -1
- package/dist/daemon/services/feedback-aggregator.js +23 -63
- package/dist/daemon/services/feedback-aggregator.js.map +1 -1
- package/dist/daemon/services/heartbeat-writer.d.ts +6 -15
- package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -1
- package/dist/daemon/services/heartbeat-writer.js +7 -36
- package/dist/daemon/services/heartbeat-writer.js.map +1 -1
- package/dist/daemon/services/kb-injector.d.ts +1 -1
- package/dist/daemon/services/kb-injector.d.ts.map +1 -1
- package/dist/daemon/services/kb-injector.js +10 -2
- package/dist/daemon/services/kb-injector.js.map +1 -1
- package/dist/daemon/services/kb-rebuild-scheduler.d.ts +95 -0
- package/dist/daemon/services/kb-rebuild-scheduler.d.ts.map +1 -0
- package/dist/daemon/services/kb-rebuild-scheduler.js +149 -0
- package/dist/daemon/services/kb-rebuild-scheduler.js.map +1 -0
- package/dist/daemon/services/loop-hint.d.ts +139 -0
- package/dist/daemon/services/loop-hint.d.ts.map +1 -0
- package/dist/daemon/services/loop-hint.js +272 -0
- package/dist/daemon/services/loop-hint.js.map +1 -0
- package/dist/daemon/services/outcome-classification-service.js +1 -1
- package/dist/daemon/services/outcome-classification-service.js.map +1 -1
- package/dist/daemon/services/task-segmenter.d.ts +11 -0
- package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
- package/dist/daemon/services/task-segmenter.js +48 -2
- package/dist/daemon/services/task-segmenter.js.map +1 -1
- package/dist/daemon/startup/maintenance-schedulers.d.ts +68 -0
- package/dist/daemon/startup/maintenance-schedulers.d.ts.map +1 -0
- package/dist/daemon/startup/maintenance-schedulers.js +294 -0
- package/dist/daemon/startup/maintenance-schedulers.js.map +1 -0
- package/dist/daemon/templates/agents/agent-retro-distiller.md +106 -0
- package/dist/daemon/templates/agents/claudemd-writer.md +1 -0
- package/dist/daemon/templates/agents/coder.md +165 -8
- package/dist/daemon/templates/agents/decision-maker.md +107 -21
- package/dist/daemon/templates/agents/doc-reviewer.md +4 -1
- package/dist/daemon/templates/agents/harness-debug-full.md +85 -3
- package/dist/daemon/templates/agents/knowledge-builder.md +1 -0
- package/dist/daemon/templates/agents/patch-applier.md +1 -0
- package/dist/daemon/templates/agents/planner.md +55 -3
- package/dist/daemon/templates/agents/safety-net-implementer.md +278 -0
- package/dist/daemon/templates/agents/skill-distiller.md +1 -0
- package/dist/daemon/templates/agents/task-boundary-classifier.md +1 -0
- package/dist/daemon/templates/agents/verify-agent.md +128 -5
- package/dist/hooks/stop.sh +7 -1
- package/dist/knowledge/builder.js +36 -7
- package/dist/knowledge/builder.js.map +1 -1
- package/dist/knowledge/constants.d.ts +10 -5
- package/dist/knowledge/constants.d.ts.map +1 -1
- package/dist/knowledge/constants.js +10 -5
- package/dist/knowledge/constants.js.map +1 -1
- package/dist/knowledge/graph/edge-extractor.d.ts +45 -0
- package/dist/knowledge/graph/edge-extractor.d.ts.map +1 -0
- package/dist/knowledge/graph/edge-extractor.js +242 -0
- package/dist/knowledge/graph/edge-extractor.js.map +1 -0
- package/dist/knowledge/graph/impact.d.ts +73 -0
- package/dist/knowledge/graph/impact.d.ts.map +1 -0
- package/dist/knowledge/graph/impact.js +94 -0
- package/dist/knowledge/graph/impact.js.map +1 -0
- package/dist/knowledge/graph/types.d.ts +22 -0
- package/dist/knowledge/graph/types.d.ts.map +1 -0
- package/dist/knowledge/graph/types.js +13 -0
- package/dist/knowledge/graph/types.js.map +1 -0
- package/dist/knowledge/prompt.d.ts +9 -0
- package/dist/knowledge/prompt.d.ts.map +1 -1
- package/dist/knowledge/prompt.js +17 -5
- package/dist/knowledge/prompt.js.map +1 -1
- package/dist/knowledge/query.d.ts +13 -0
- package/dist/knowledge/query.d.ts.map +1 -1
- package/dist/knowledge/query.js +107 -10
- package/dist/knowledge/query.js.map +1 -1
- package/dist/knowledge/repo-map.d.ts +11 -5
- package/dist/knowledge/repo-map.d.ts.map +1 -1
- package/dist/knowledge/repo-map.js +42 -3
- package/dist/knowledge/repo-map.js.map +1 -1
- package/dist/knowledge/validator.d.ts.map +1 -1
- package/dist/knowledge/validator.js +69 -2
- package/dist/knowledge/validator.js.map +1 -1
- package/dist/mcp/server.d.ts +64 -8
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +233 -18
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/distill/distiller.js +1 -1
- package/dist/skills/distill/distiller.js.map +1 -1
- package/dist/skills/distilled/distilled-api-design.md +4 -0
- package/dist/skills/distilled/distilled-brainstorming.md +79 -0
- package/dist/skills/distilled/distilled-brand-guidelines.md +86 -0
- package/dist/skills/distilled/distilled-canvas-design.md +128 -0
- package/dist/skills/distilled/distilled-claude-api.md +185 -0
- package/dist/skills/distilled/distilled-creator.md +5 -2
- package/dist/skills/distilled/distilled-dispatching-parallel-agents.md +136 -0
- package/dist/skills/distilled/distilled-doc-coauthoring.md +144 -0
- package/dist/skills/distilled/distilled-docx.md +231 -0
- package/dist/skills/distilled/distilled-executing-plans.md +85 -50
- package/dist/skills/distilled/distilled-finishing-a-development-branch.md +213 -0
- package/dist/skills/distilled/distilled-frontend-design.md +118 -0
- package/dist/skills/distilled/distilled-harness-engineering.md +1 -1
- package/dist/skills/distilled/distilled-receiving-code-review.md +185 -0
- package/dist/skills/distilled/distilled-subagent-driven-development.md +124 -0
- package/dist/skills/distilled/distilled-systematic-debugging.md +108 -260
- package/dist/skills/distilled/distilled-test-driven-development.md +432 -0
- package/dist/skills/distilled/distilled-using-superpowers.md +134 -0
- package/dist/skills/distilled/distilled-verification-before-completion.md +88 -78
- package/dist/skills/distilled/distilled-writing-skills.md +175 -0
- package/dist/skills/registry.d.ts +10 -50
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +7 -118
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/tools/pipeline-suggest.js +2 -2
- package/dist/skills/tools/pipeline-suggest.js.map +1 -1
- package/dist/skills/tools/skill-invoke.d.ts +2 -1
- package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
- package/dist/skills/tools/skill-invoke.js +3 -1
- package/dist/skills/tools/skill-invoke.js.map +1 -1
- package/dist/web/analytics/anti-pattern-detector.d.ts.map +1 -1
- package/dist/web/analytics/anti-pattern-detector.js +6 -1
- package/dist/web/analytics/anti-pattern-detector.js.map +1 -1
- package/dist/web/analytics/drift-detector.d.ts +6 -0
- package/dist/web/analytics/drift-detector.d.ts.map +1 -1
- package/dist/web/analytics/drift-detector.js +15 -8
- package/dist/web/analytics/drift-detector.js.map +1 -1
- package/dist/web/analytics/weekly-report.d.ts +13 -0
- package/dist/web/analytics/weekly-report.d.ts.map +1 -1
- package/dist/web/analytics/weekly-report.js +17 -3
- package/dist/web/analytics/weekly-report.js.map +1 -1
- package/dist/web/routes/_helpers.d.ts +31 -0
- package/dist/web/routes/_helpers.d.ts.map +1 -1
- package/dist/web/routes/_helpers.js +33 -0
- package/dist/web/routes/_helpers.js.map +1 -1
- package/dist/web/routes/agent-distill.d.ts +49 -0
- package/dist/web/routes/agent-distill.d.ts.map +1 -0
- package/dist/web/routes/agent-distill.js +526 -0
- package/dist/web/routes/agent-distill.js.map +1 -0
- package/dist/web/routes/config.d.ts +56 -0
- package/dist/web/routes/config.d.ts.map +1 -0
- package/dist/web/routes/config.js +243 -0
- package/dist/web/routes/config.js.map +1 -0
- package/dist/web/routes/decisions.js +1 -1
- package/dist/web/routes/decisions.js.map +1 -1
- package/dist/web/routes/error-handler.d.ts +0 -4
- package/dist/web/routes/error-handler.d.ts.map +1 -1
- package/dist/web/routes/error-handler.js +0 -8
- package/dist/web/routes/error-handler.js.map +1 -1
- package/dist/web/routes/events.d.ts.map +1 -1
- package/dist/web/routes/events.js +2 -1
- package/dist/web/routes/events.js.map +1 -1
- package/dist/web/routes/insights.d.ts.map +1 -1
- package/dist/web/routes/insights.js +0 -0
- package/dist/web/routes/insights.js.map +1 -1
- package/dist/web/routes/knowledge.d.ts +43 -2
- package/dist/web/routes/knowledge.d.ts.map +1 -1
- package/dist/web/routes/knowledge.js +117 -6
- package/dist/web/routes/knowledge.js.map +1 -1
- package/dist/web/routes/pipeline.d.ts +0 -9
- package/dist/web/routes/pipeline.d.ts.map +1 -1
- package/dist/web/routes/pipeline.js +0 -4
- package/dist/web/routes/pipeline.js.map +1 -1
- package/dist/web/routes/rules.d.ts.map +1 -1
- package/dist/web/routes/rules.js +20 -6
- package/dist/web/routes/rules.js.map +1 -1
- package/dist/web/routes/sessions.d.ts.map +1 -1
- package/dist/web/routes/sessions.js +8 -7
- package/dist/web/routes/sessions.js.map +1 -1
- package/dist/web/routes/skill-stats.d.ts.map +1 -1
- package/dist/web/routes/skill-stats.js +153 -16
- package/dist/web/routes/skill-stats.js.map +1 -1
- package/dist/web/routes/skills-distill.js +1 -1
- package/dist/web/routes/skills-distill.js.map +1 -1
- package/dist/web/routes/stats.d.ts.map +1 -1
- package/dist/web/routes/stats.js +2 -1
- package/dist/web/routes/stats.js.map +1 -1
- package/dist/web/routes/task-timeline.d.ts +95 -19
- package/dist/web/routes/task-timeline.d.ts.map +1 -1
- package/dist/web/routes/task-timeline.js +344 -88
- package/dist/web/routes/task-timeline.js.map +1 -1
- package/dist/web/routes/tasks.d.ts.map +1 -1
- package/dist/web/routes/tasks.js +52 -30
- package/dist/web/routes/tasks.js.map +1 -1
- package/dist/web/routes/violations.d.ts +1 -1
- package/dist/web/routes/violations.d.ts.map +1 -1
- package/dist/web/routes/violations.js +3 -2
- package/dist/web/routes/violations.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +20 -0
- package/dist/web/server.js.map +1 -1
- package/dist/web/services/agent-distill-manager.d.ts +122 -0
- package/dist/web/services/agent-distill-manager.d.ts.map +1 -0
- package/dist/web/services/agent-distill-manager.js +397 -0
- package/dist/web/services/agent-distill-manager.js.map +1 -0
- package/dist/web/services/distill-manager.d.ts +47 -0
- package/dist/web/services/distill-manager.d.ts.map +1 -1
- package/dist/web/services/distill-manager.js +103 -0
- package/dist/web/services/distill-manager.js.map +1 -1
- package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js +2 -0
- package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js.map +1 -0
- package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js +3 -0
- package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js.map +1 -0
- package/dist/web/static/assets/AgentsPage-Qd9FExLG.js +2 -0
- package/dist/web/static/assets/AgentsPage-Qd9FExLG.js.map +1 -0
- package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js +2 -0
- package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js.map +1 -0
- package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js +2 -0
- package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js.map +1 -0
- package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js +2 -0
- package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js.map +1 -0
- package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js +2 -0
- package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js.map +1 -0
- package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js +4 -0
- package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js.map +1 -0
- package/dist/web/static/assets/DistillPage-O7BHtRN8.js +2 -0
- package/dist/web/static/assets/DistillPage-O7BHtRN8.js.map +1 -0
- package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js +2 -0
- package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js.map +1 -0
- package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js +2 -0
- package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js.map +1 -0
- package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js +2 -0
- package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js.map +1 -0
- package/dist/web/static/assets/IssuesPage-SKmhlCrw.js +2 -0
- package/dist/web/static/assets/IssuesPage-SKmhlCrw.js.map +1 -0
- package/dist/web/static/assets/KbDetailPage-Yna86Na8.js +2 -0
- package/dist/web/static/assets/KbDetailPage-Yna86Na8.js.map +1 -0
- package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js +2 -0
- package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js.map +1 -0
- package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js → MarkdownRenderer-DlDQNihj.js} +2 -2
- package/dist/web/static/assets/{MarkdownRenderer-DZmTl-8J.js.map → MarkdownRenderer-DlDQNihj.js.map} +1 -1
- package/dist/web/static/assets/NotFound-LMzbP51V.js +2 -0
- package/dist/web/static/assets/{NotFound-BQPh0vaF.js.map → NotFound-LMzbP51V.js.map} +1 -1
- package/dist/web/static/assets/SettingsPage-DzoK4PKg.js +2 -0
- package/dist/web/static/assets/SettingsPage-DzoK4PKg.js.map +1 -0
- package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js +2 -0
- package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js.map +1 -0
- package/dist/web/static/assets/SkillsPage-aojkJpBc.js +2 -0
- package/dist/web/static/assets/SkillsPage-aojkJpBc.js.map +1 -0
- package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js +4 -0
- package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js.map +1 -0
- package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js +6 -0
- package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js.map +1 -0
- package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js +2 -0
- package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js.map +1 -0
- package/dist/web/static/assets/arco-DV6xCLhr.js +14 -0
- package/dist/web/static/assets/arco-DV6xCLhr.js.map +1 -0
- package/dist/web/static/assets/charts-BSV4cyC4.js +37 -0
- package/dist/web/static/assets/charts-BSV4cyC4.js.map +1 -0
- package/dist/web/static/assets/{index-7bl3kbcx.css → index-B_v_MKlb.css} +1 -1
- package/dist/web/static/assets/index-DileOOE4.js +4 -0
- package/dist/web/static/assets/index-DileOOE4.js.map +1 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js +30 -0
- package/dist/web/static/assets/markdown-CA7ePUts.js.map +1 -0
- package/dist/web/static/assets/{outcome-DUn1NjlC.js → outcome-BKGy9azt.js} +2 -2
- package/dist/web/static/assets/{outcome-DUn1NjlC.js.map → outcome-BKGy9azt.js.map} +1 -1
- package/dist/web/static/assets/{query-S6X1S7K9.js → query-CgCOpYWf.js} +2 -2
- package/dist/web/static/assets/{query-S6X1S7K9.js.map → query-CgCOpYWf.js.map} +1 -1
- package/dist/web/static/assets/{react-router-JVUrkhdd.js → react-router-Cxmg8RuL.js} +3 -3
- package/dist/web/static/assets/{react-router-JVUrkhdd.js.map → react-router-Cxmg8RuL.js.map} +1 -1
- package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js → syntax-highlighter-BDYycNja.js} +3 -3
- package/dist/web/static/assets/{syntax-highlighter-BkZfCDsz.js.map → syntax-highlighter-BDYycNja.js.map} +1 -1
- package/dist/web/static/assets/task-title-BhOcemuR.js +2 -0
- package/dist/web/static/assets/task-title-BhOcemuR.js.map +1 -0
- package/dist/web/static/assets/useAgentStats-B-uTgqBd.js +2 -0
- package/dist/web/static/assets/useAgentStats-B-uTgqBd.js.map +1 -0
- package/dist/web/static/assets/useDecisions-D-G2Ft5T.js +2 -0
- package/dist/web/static/assets/useDecisions-D-G2Ft5T.js.map +1 -0
- package/dist/web/static/assets/useDistill-21dZkXlT.js +3 -0
- package/dist/web/static/assets/useDistill-21dZkXlT.js.map +1 -0
- package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js +2 -0
- package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js.map +1 -0
- package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js +2 -0
- package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js.map +1 -0
- package/dist/web/static/assets/useKbHits-xKXWgqh9.js +2 -0
- package/dist/web/static/assets/useKbHits-xKXWgqh9.js.map +1 -0
- package/dist/web/static/assets/useSkillStats-B5hbIwdf.js +2 -0
- package/dist/web/static/assets/useSkillStats-B5hbIwdf.js.map +1 -0
- package/dist/web/static/assets/vendor-DS-q4Eyc.js +36 -0
- package/dist/web/static/assets/vendor-DS-q4Eyc.js.map +1 -0
- package/dist/web/static/index.html +6 -6
- package/package.json +5 -3
- package/dist/core/storage/workflow-recommendations.d.ts +0 -124
- package/dist/core/storage/workflow-recommendations.d.ts.map +0 -1
- package/dist/core/storage/workflow-recommendations.js +0 -274
- package/dist/core/storage/workflow-recommendations.js.map +0 -1
- package/dist/daemon/services/experience-extractor.d.ts.map +0 -1
- package/dist/daemon/services/experience-extractor.js.map +0 -1
- package/dist/daemon/services/violation-reporter.d.ts.map +0 -1
- package/dist/daemon/services/violation-reporter.js.map +0 -1
- package/dist/daemon/templates/agents/harness-hotfix.md +0 -99
- package/dist/daemon/templates/agents/hybrid-feature-with-safety.md +0 -104
- package/dist/daemon/templates/agents/refactor-specialist.md +0 -98
- package/dist/skills/distill/claude-cli-resolver.d.ts.map +0 -1
- package/dist/skills/distill/claude-cli-resolver.js.map +0 -1
- package/dist/skills/distilled/distilled-defi-amm-security.md +0 -293
- package/dist/skills/keyword-score.d.ts +0 -29
- package/dist/skills/keyword-score.d.ts.map +0 -1
- package/dist/skills/keyword-score.js +0 -54
- package/dist/skills/keyword-score.js.map +0 -1
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js +0 -2
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js.map +0 -1
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js +0 -2
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js.map +0 -1
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js +0 -3
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js.map +0 -1
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js +0 -2
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js.map +0 -1
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js +0 -2
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js.map +0 -1
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js +0 -2
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js.map +0 -1
- package/dist/web/static/assets/DriftTab-DqpepOhI.js +0 -2
- package/dist/web/static/assets/DriftTab-DqpepOhI.js.map +0 -1
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js +0 -3
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js.map +0 -1
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js +0 -2
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js.map +0 -1
- package/dist/web/static/assets/NotFound-BQPh0vaF.js +0 -2
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js +0 -2
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js.map +0 -1
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js +0 -2
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js.map +0 -1
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js +0 -2
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js.map +0 -1
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js +0 -2
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js.map +0 -1
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js +0 -2
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js.map +0 -1
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js +0 -6
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js.map +0 -1
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js +0 -3
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js.map +0 -1
- package/dist/web/static/assets/arco-Bhi3a6Qp.js +0 -14
- package/dist/web/static/assets/arco-Bhi3a6Qp.js.map +0 -1
- package/dist/web/static/assets/charts-BuHQWDbQ.js +0 -37
- package/dist/web/static/assets/charts-BuHQWDbQ.js.map +0 -1
- package/dist/web/static/assets/index-BIYnq1Dx.js +0 -4
- package/dist/web/static/assets/index-BIYnq1Dx.js.map +0 -1
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js +0 -2
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js.map +0 -1
- package/dist/web/static/assets/vendor-DWgdB1eY.js +0 -65
- package/dist/web/static/assets/vendor-DWgdB1eY.js.map +0 -1
- /package/dist/{skills/distill → core/utils}/claude-cli-resolver.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-S6X1S7K9.js","sources":["../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../node_modules/@tanstack/query-core/build/modern/utils.js","../../node_modules/@tanstack/query-core/build/modern/environmentManager.js","../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../node_modules/@tanstack/query-core/build/modern/removable.js","../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../node_modules/@tanstack/query-core/build/modern/query.js","../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../node_modules/@tanstack/react-query/build/modern/useMutation.js"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/environmentManager.ts\nimport { isServer } from \"./utils.js\";\nvar environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n})();\nexport {\n environmentManager\n};\n//# sourceMappingURL=environmentManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/removable.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout !== void 0) {\n timeoutManager.clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/infiniteQueryBehavior.ts\nimport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn\n} from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject(context.signal.reason);\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar Query = class extends Removable {\n #queryType;\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get queryType() {\n return this.#queryType;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n if (options?._type) {\n this.#queryType = options._type;\n }\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state) {\n this.#dispatch({ type: \"setState\", state });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveQueryBoolean(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n const behavior = this.#queryType === \"infinite\" ? infiniteQueryBehavior(\n this.options.pages\n ) : this.options.behavior;\n behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options._type = \"infinite\";\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options._type = \"infinite\";\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map"],"names":["Subscribable","listener","FocusManager","_a","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","defaultTimeoutProvider","callback","delay","timeoutId","intervalId","TimeoutManager","_provider","_providerCalled","provider","timeoutManager","systemSetTimeoutZero","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveQueryBoolean","option","matchQuery","filters","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","key","a","b","hasOwn","replaceEqualDeep","depth","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","aItem","bItem","v","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","keepPreviousData","previousData","addToEnd","items","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","addConsumeAwareSignal","object","getSignal","onCancelled","consumed","signal","environmentManager","isServerFn","isServerValue","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","createRetryer","config","isRetryCancelled","continueFn","isResolved","cancel","cancelOptions","error","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","shouldRetry","Removable","_gcTimeout","newGcTime","infiniteQueryBehavior","pages","context","direction","_c","_b","oldPages","_d","oldPageParams","_e","currentPage","fetchFn","cancelled","addSignalProperty","queryFn","fetchPage","param","previous","queryFnContext","queryFnContext2","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","Query","_Query_instances","_queryType","_initialState","_revertState","_cache","_client","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","defaultState","successState","newData","__privateMethod","dispatch_fn","state","promise","observer","x","isInitialPausedFetch_fn","abortController","context2","behavior","_g","_f","_i","_h","_k","_j","action","reducer","fetchState","newState","dataUpdatedAt","hasData","initialDataUpdatedAt","QueryObserver","client","_QueryObserver_instances","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_currentThenable","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","prevResult","prevResultState","prevResultOptions","queryInitialState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","notifyOptions","shouldLoadOnMount","field","optimisticResult","Mutation","_Mutation_instances","_observers","_mutationCache","variables","onContinue","mutationFnContext","restored","isPaused","_l","e","_n","_m","_p","_o","_r","_q","MutationCache","_mutations","_scopes","_mutationId","__privateWrapper","scope","scopeFor","scopedMutations","index","mutationsWithSameScope","firstPendingMutation","m","foundMutation","defaultedFilters","event","pausedMutations","MutationObserver","_MutationObserver_instances","_currentMutation","_mutateOptions","updateResult_fn","onMutateResult","QueryCache","_queries","queryHash","queryInMap","queries","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryClientContext","React.createContext","useQueryClient","queryClient","React.useContext","QueryClientProvider","children","React.useEffect","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","React.useState","shouldSubscribe","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useQuery","useMutation","mutate","mutateOptions"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}
|
|
1
|
+
{"version":3,"file":"query-CgCOpYWf.js","sources":["../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../node_modules/@tanstack/query-core/build/modern/utils.js","../../node_modules/@tanstack/query-core/build/modern/environmentManager.js","../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../node_modules/@tanstack/query-core/build/modern/removable.js","../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../node_modules/@tanstack/query-core/build/modern/query.js","../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../node_modules/@tanstack/react-query/build/modern/useMutation.js"],"sourcesContent":["// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support the default provider's concrete timer ID, which is\n // infeasible across environments.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveQueryBoolean(option, query) {\n return typeof option === \"function\" ? option(query) : option;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/environmentManager.ts\nimport { isServer } from \"./utils.js\";\nvar environmentManager = /* @__PURE__ */ (() => {\n let isServerFn = () => isServer;\n return {\n /**\n * Returns whether the current runtime should be treated as a server environment.\n */\n isServer() {\n return isServerFn();\n },\n /**\n * Overrides the server check globally.\n */\n setIsServer(isServerValue) {\n isServerFn = isServerValue;\n }\n };\n})();\nexport {\n environmentManager\n};\n//# sourceMappingURL=environmentManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (typeof window !== \"undefined\" && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (environmentManager.isServer() ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/removable.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (environmentManager.isServer() ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout !== void 0) {\n timeoutManager.clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/infiniteQueryBehavior.ts\nimport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn\n} from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject(context.signal.reason);\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar Query = class extends Removable {\n #queryType;\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get queryType() {\n return this.#queryType;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n if (options?._type) {\n this.#queryType = options._type;\n }\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state) {\n this.#dispatch({ type: \"setState\", state });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n get resetState() {\n return this.#initialState;\n }\n reset() {\n this.destroy();\n this.setState(this.resetState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveQueryBoolean(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || !this.isFetched();\n }\n isFetched() {\n return this.state.dataUpdateCount + this.state.errorUpdateCount > 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed || this.#isInitialPausedFetch()) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n #isInitialPausedFetch() {\n return this.state.fetchStatus === \"paused\" && this.state.status === \"pending\";\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n const behavior = this.#queryType === \"infinite\" ? infiniteQueryBehavior(\n this.options.pages\n ) : this.options.behavior;\n behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { environmentManager } from \"./environmentManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isValidTimeout,\n noop,\n replaceData,\n resolveQueryBoolean,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveQueryBoolean(this.options.enabled, this.#currentQuery) !== resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (environmentManager.isServer() || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (environmentManager.isServer() || resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId !== void 0) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId !== void 0) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: query.isFetched(),\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveQueryBoolean(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && resolveQueryBoolean(options.retryOnMount, query) === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveQueryBoolean(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveQueryBoolean(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveQueryBoolean(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options._type = \"infinite\";\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options._type = \"infinite\";\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { environmentManager, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !environmentManager.isServer() && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map"],"names":["Subscribable","listener","FocusManager","_a","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","defaultTimeoutProvider","callback","delay","timeoutId","intervalId","TimeoutManager","_provider","_providerCalled","provider","timeoutManager","systemSetTimeoutZero","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveQueryBoolean","option","matchQuery","filters","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","key","a","b","hasOwn","replaceEqualDeep","depth","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","aItem","bItem","v","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","keepPreviousData","previousData","addToEnd","items","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","addConsumeAwareSignal","object","getSignal","onCancelled","consumed","signal","environmentManager","isServerFn","isServerValue","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","createRetryer","config","isRetryCancelled","continueFn","isResolved","cancel","cancelOptions","error","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","shouldRetry","Removable","_gcTimeout","newGcTime","infiniteQueryBehavior","pages","context","direction","_c","_b","oldPages","_d","oldPageParams","_e","currentPage","fetchFn","cancelled","addSignalProperty","queryFn","fetchPage","param","previous","queryFnContext","queryFnContext2","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","Query","_Query_instances","_queryType","_initialState","_revertState","_cache","_client","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","defaultState","successState","newData","__privateMethod","dispatch_fn","state","promise","observer","x","isInitialPausedFetch_fn","abortController","context2","behavior","_g","_f","_i","_h","_k","_j","action","reducer","fetchState","newState","dataUpdatedAt","hasData","initialDataUpdatedAt","QueryObserver","client","_QueryObserver_instances","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_currentThenable","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","prevResult","prevResultState","prevResultOptions","queryInitialState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","notifyOptions","shouldLoadOnMount","field","optimisticResult","Mutation","_Mutation_instances","_observers","_mutationCache","variables","onContinue","mutationFnContext","restored","isPaused","_l","e","_n","_m","_p","_o","_r","_q","MutationCache","_mutations","_scopes","_mutationId","__privateWrapper","scope","scopeFor","scopedMutations","index","mutationsWithSameScope","firstPendingMutation","m","foundMutation","defaultedFilters","event","pausedMutations","MutationObserver","_MutationObserver_instances","_currentMutation","_mutateOptions","updateResult_fn","onMutateResult","QueryCache","_queries","queryHash","queryInMap","queries","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryClientContext","React.createContext","useQueryClient","queryClient","React.useContext","QueryClientProvider","children","React.useEffect","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","React.useState","shouldSubscribe","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useQuery","useMutation","mutate","mutateOptions"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}
|