@kynetic-ai/spec 0.10.0 → 0.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/README.md +55 -455
- package/dist/agent-runtime/bootstrap.d.ts +31 -0
- package/dist/agent-runtime/bootstrap.d.ts.map +1 -0
- package/dist/agent-runtime/bootstrap.js +302 -0
- package/dist/agent-runtime/bootstrap.js.map +1 -0
- package/dist/agent-runtime/dispatch.d.ts +150 -10
- package/dist/agent-runtime/dispatch.d.ts.map +1 -1
- package/dist/agent-runtime/dispatch.js +1248 -244
- package/dist/agent-runtime/dispatch.js.map +1 -1
- package/dist/agent-runtime/invocation.d.ts +28 -1
- package/dist/agent-runtime/invocation.d.ts.map +1 -1
- package/dist/agent-runtime/invocation.js +172 -60
- package/dist/agent-runtime/invocation.js.map +1 -1
- package/dist/agent-runtime/prompts.d.ts +9 -0
- package/dist/agent-runtime/prompts.d.ts.map +1 -1
- package/dist/agent-runtime/prompts.js +42 -7
- package/dist/agent-runtime/prompts.js.map +1 -1
- package/dist/agent-runtime/session-event-accumulator.d.ts +83 -0
- package/dist/agent-runtime/session-event-accumulator.d.ts.map +1 -0
- package/dist/agent-runtime/session-event-accumulator.js +203 -0
- package/dist/agent-runtime/session-event-accumulator.js.map +1 -0
- package/dist/agent-runtime/session-event-types.d.ts +67 -0
- package/dist/agent-runtime/session-event-types.d.ts.map +1 -0
- package/dist/agent-runtime/session-event-types.js +13 -0
- package/dist/agent-runtime/session-event-types.js.map +1 -0
- package/dist/agent-runtime/workspace.d.ts +244 -0
- package/dist/agent-runtime/workspace.d.ts.map +1 -0
- package/dist/agent-runtime/workspace.js +2025 -0
- package/dist/agent-runtime/workspace.js.map +1 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/adapters.js +58 -13
- package/dist/agents/adapters.js.map +1 -1
- package/dist/agents/spawner.d.ts +8 -0
- package/dist/agents/spawner.d.ts.map +1 -1
- package/dist/agents/spawner.js +25 -3
- package/dist/agents/spawner.js.map +1 -1
- package/dist/cli/batch-exec.js +1 -1
- package/dist/cli/batch-exec.js.map +1 -1
- package/dist/cli/command-annotations.d.ts +15 -3
- package/dist/cli/command-annotations.d.ts.map +1 -1
- package/dist/cli/command-annotations.js +23 -3
- package/dist/cli/command-annotations.js.map +1 -1
- package/dist/cli/commands/agent.d.ts +2 -0
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +144 -27
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +5 -5
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +118 -3
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/guard.d.ts.map +1 -1
- package/dist/cli/commands/guard.js +8 -6
- package/dist/cli/commands/guard.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +20 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/item.d.ts.map +1 -1
- package/dist/cli/commands/item.js +205 -47
- package/dist/cli/commands/item.js.map +1 -1
- package/dist/cli/commands/log.d.ts.map +1 -1
- package/dist/cli/commands/log.js +24 -10
- package/dist/cli/commands/log.js.map +1 -1
- package/dist/cli/commands/meta.d.ts.map +1 -1
- package/dist/cli/commands/meta.js +10 -1
- package/dist/cli/commands/meta.js.map +1 -1
- package/dist/cli/commands/plan-import.d.ts +3 -3
- package/dist/cli/commands/plan-import.d.ts.map +1 -1
- package/dist/cli/commands/plan-import.js +213 -528
- package/dist/cli/commands/plan-import.js.map +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +533 -83
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/review.d.ts +14 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +1142 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +1 -0
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +33 -10
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/session/checkpoint.d.ts +2 -4
- package/dist/cli/commands/session/checkpoint.d.ts.map +1 -1
- package/dist/cli/commands/session/checkpoint.js +6 -107
- package/dist/cli/commands/session/checkpoint.js.map +1 -1
- package/dist/cli/commands/session/commands.d.ts.map +1 -1
- package/dist/cli/commands/session/commands.js +33 -23
- package/dist/cli/commands/session/commands.js.map +1 -1
- package/dist/cli/commands/session/compact.js +4 -4
- package/dist/cli/commands/session/compact.js.map +1 -1
- package/dist/cli/commands/session/create.js +2 -2
- package/dist/cli/commands/session/create.js.map +1 -1
- package/dist/cli/commands/session/format.d.ts.map +1 -1
- package/dist/cli/commands/session/format.js +1 -6
- package/dist/cli/commands/session/format.js.map +1 -1
- package/dist/cli/commands/session/log.d.ts +32 -7
- package/dist/cli/commands/session/log.d.ts.map +1 -1
- package/dist/cli/commands/session/log.js +166 -60
- package/dist/cli/commands/session/log.js.map +1 -1
- package/dist/cli/commands/session/migrate.d.ts +9 -0
- package/dist/cli/commands/session/migrate.d.ts.map +1 -0
- package/dist/cli/commands/session/migrate.js +46 -0
- package/dist/cli/commands/session/migrate.js.map +1 -0
- package/dist/cli/commands/session/stale-close.d.ts.map +1 -1
- package/dist/cli/commands/session/stale-close.js +5 -8
- package/dist/cli/commands/session/stale-close.js.map +1 -1
- package/dist/cli/commands/session/types.d.ts +1 -1
- package/dist/cli/commands/session/types.d.ts.map +1 -1
- package/dist/cli/commands/setup.d.ts +2 -2
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +287 -257
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/shadow.d.ts.map +1 -1
- package/dist/cli/commands/shadow.js +147 -31
- package/dist/cli/commands/shadow.js.map +1 -1
- package/dist/cli/commands/skill-crud.d.ts +7 -0
- package/dist/cli/commands/skill-crud.d.ts.map +1 -1
- package/dist/cli/commands/skill-crud.js +41 -18
- package/dist/cli/commands/skill-crud.js.map +1 -1
- package/dist/cli/commands/skill-diff.d.ts.map +1 -1
- package/dist/cli/commands/skill-diff.js +29 -3
- package/dist/cli/commands/skill-diff.js.map +1 -1
- package/dist/cli/commands/skill-install.d.ts.map +1 -1
- package/dist/cli/commands/skill-install.js +5 -4
- package/dist/cli/commands/skill-install.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +359 -49
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/trait.d.ts.map +1 -1
- package/dist/cli/commands/trait.js +5 -27
- package/dist/cli/commands/trait.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +113 -52
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +69 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/output.d.ts +26 -0
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +108 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/sync-mode.d.ts +44 -0
- package/dist/cli/sync-mode.d.ts.map +1 -0
- package/dist/cli/sync-mode.js +64 -0
- package/dist/cli/sync-mode.js.map +1 -0
- package/dist/daemon/middleware/project-context.ts +25 -7
- package/dist/daemon/project-context.ts +18 -0
- package/dist/daemon/routes/agent-dispatch.ts +107 -23
- package/dist/daemon/routes/aggregation.ts +184 -0
- package/dist/daemon/routes/inbox.ts +5 -0
- package/dist/daemon/routes/items.ts +167 -0
- package/dist/daemon/routes/meta.ts +141 -1
- package/dist/daemon/routes/plans.ts +147 -0
- package/dist/daemon/routes/projects.ts +28 -6
- package/dist/daemon/routes/ref-resolution.ts +119 -0
- package/dist/daemon/routes/refs.ts +42 -0
- package/dist/daemon/routes/session-related.ts +140 -0
- package/dist/daemon/routes/sessions.ts +581 -0
- package/dist/daemon/routes/tasks.ts +257 -2
- package/dist/daemon/routes/triage.ts +40 -1
- package/dist/daemon/routes/validation.ts +1 -1
- package/dist/daemon/server.ts +165 -50
- package/dist/daemon/session-sync.ts +11 -0
- package/dist/daemon/shadow-sync.ts +11 -0
- package/dist/daemon/watcher.ts +56 -5
- package/dist/daemon/websocket/project-resolution.ts +77 -0
- package/dist/export/json.d.ts.map +1 -1
- package/dist/export/json.js +104 -1
- package/dist/export/json.js.map +1 -1
- package/dist/export/types.d.ts +52 -1
- package/dist/export/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/parser/agent-detection.d.ts +1 -1
- package/dist/parser/agent-detection.d.ts.map +1 -1
- package/dist/parser/agent-detection.js +10 -0
- package/dist/parser/agent-detection.js.map +1 -1
- package/dist/parser/alignment.d.ts.map +1 -1
- package/dist/parser/alignment.js +4 -2
- package/dist/parser/alignment.js.map +1 -1
- package/dist/parser/config.d.ts +397 -2
- package/dist/parser/config.d.ts.map +1 -1
- package/dist/parser/config.js +125 -3
- package/dist/parser/config.js.map +1 -1
- package/dist/parser/dispatch-workspaces.d.ts +18 -0
- package/dist/parser/dispatch-workspaces.d.ts.map +1 -0
- package/dist/parser/dispatch-workspaces.js +209 -0
- package/dist/parser/dispatch-workspaces.js.map +1 -0
- package/dist/parser/doctor.d.ts.map +1 -1
- package/dist/parser/doctor.js +27 -8
- package/dist/parser/doctor.js.map +1 -1
- package/dist/parser/file-lock.d.ts.map +1 -1
- package/dist/parser/file-lock.js +9 -2
- package/dist/parser/file-lock.js.map +1 -1
- package/dist/parser/index.d.ts +6 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +6 -0
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/plans.d.ts.map +1 -1
- package/dist/parser/plans.js +1 -0
- package/dist/parser/plans.js.map +1 -1
- package/dist/parser/refs.d.ts +8 -1
- package/dist/parser/refs.d.ts.map +1 -1
- package/dist/parser/refs.js +27 -1
- package/dist/parser/refs.js.map +1 -1
- package/dist/parser/review-operations.d.ts +72 -0
- package/dist/parser/review-operations.d.ts.map +1 -0
- package/dist/parser/review-operations.js +185 -0
- package/dist/parser/review-operations.js.map +1 -0
- package/dist/parser/review-task-integration.d.ts +78 -0
- package/dist/parser/review-task-integration.d.ts.map +1 -0
- package/dist/parser/review-task-integration.js +173 -0
- package/dist/parser/review-task-integration.js.map +1 -0
- package/dist/parser/review-threads.d.ts +101 -0
- package/dist/parser/review-threads.d.ts.map +1 -0
- package/dist/parser/review-threads.js +222 -0
- package/dist/parser/review-threads.js.map +1 -0
- package/dist/parser/review-validation.d.ts +69 -0
- package/dist/parser/review-validation.d.ts.map +1 -0
- package/dist/parser/review-validation.js +207 -0
- package/dist/parser/review-validation.js.map +1 -0
- package/dist/parser/reviews.d.ts +58 -0
- package/dist/parser/reviews.d.ts.map +1 -0
- package/dist/parser/reviews.js +230 -0
- package/dist/parser/reviews.js.map +1 -0
- package/dist/parser/session-branch.d.ts +91 -0
- package/dist/parser/session-branch.d.ts.map +1 -0
- package/dist/parser/session-branch.js +565 -0
- package/dist/parser/session-branch.js.map +1 -0
- package/dist/parser/session-sync-scheduler.d.ts +53 -0
- package/dist/parser/session-sync-scheduler.d.ts.map +1 -0
- package/dist/parser/session-sync-scheduler.js +100 -0
- package/dist/parser/session-sync-scheduler.js.map +1 -0
- package/dist/parser/setup-status.d.ts +7 -1
- package/dist/parser/setup-status.d.ts.map +1 -1
- package/dist/parser/setup-status.js +104 -39
- package/dist/parser/setup-status.js.map +1 -1
- package/dist/parser/shadow-sync-scheduler.d.ts +71 -0
- package/dist/parser/shadow-sync-scheduler.d.ts.map +1 -0
- package/dist/parser/shadow-sync-scheduler.js +139 -0
- package/dist/parser/shadow-sync-scheduler.js.map +1 -0
- package/dist/parser/shadow.d.ts +121 -14
- package/dist/parser/shadow.d.ts.map +1 -1
- package/dist/parser/shadow.js +752 -27
- package/dist/parser/shadow.js.map +1 -1
- package/dist/parser/skill-render.d.ts +24 -0
- package/dist/parser/skill-render.d.ts.map +1 -1
- package/dist/parser/skill-render.js +98 -26
- package/dist/parser/skill-render.js.map +1 -1
- package/dist/parser/validate.d.ts +43 -3
- package/dist/parser/validate.d.ts.map +1 -1
- package/dist/parser/validate.js +204 -30
- package/dist/parser/validate.js.map +1 -1
- package/dist/parser/yaml.d.ts +47 -11
- package/dist/parser/yaml.d.ts.map +1 -1
- package/dist/parser/yaml.js +329 -149
- package/dist/parser/yaml.js.map +1 -1
- package/dist/review/checks.d.ts +97 -0
- package/dist/review/checks.d.ts.map +1 -0
- package/dist/review/checks.js +175 -0
- package/dist/review/checks.js.map +1 -0
- package/dist/review/index.d.ts +3 -0
- package/dist/review/index.d.ts.map +1 -0
- package/dist/review/index.js +3 -0
- package/dist/review/index.js.map +1 -0
- package/dist/review/subject-bindings.d.ts +83 -0
- package/dist/review/subject-bindings.d.ts.map +1 -0
- package/dist/review/subject-bindings.js +175 -0
- package/dist/review/subject-bindings.js.map +1 -0
- package/dist/schema/common.d.ts +26 -0
- package/dist/schema/common.d.ts.map +1 -1
- package/dist/schema/common.js +13 -0
- package/dist/schema/common.js.map +1 -1
- package/dist/schema/dispatch-workspace.d.ts +2643 -0
- package/dist/schema/dispatch-workspace.d.ts.map +1 -0
- package/dist/schema/dispatch-workspace.js +187 -0
- package/dist/schema/dispatch-workspace.js.map +1 -0
- package/dist/schema/inbox.d.ts +8 -8
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +2 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/meta.d.ts +663 -116
- package/dist/schema/meta.d.ts.map +1 -1
- package/dist/schema/meta.js +28 -0
- package/dist/schema/meta.js.map +1 -1
- package/dist/schema/plan.d.ts +30 -19
- package/dist/schema/plan.d.ts.map +1 -1
- package/dist/schema/plan.js +3 -1
- package/dist/schema/plan.js.map +1 -1
- package/dist/schema/review-records.d.ts +2676 -0
- package/dist/schema/review-records.d.ts.map +1 -0
- package/dist/schema/review-records.js +232 -0
- package/dist/schema/review-records.js.map +1 -0
- package/dist/schema/spec.d.ts +32 -14
- package/dist/schema/spec.d.ts.map +1 -1
- package/dist/schema/spec.js +5 -0
- package/dist/schema/spec.js.map +1 -1
- package/dist/schema/task.d.ts +187 -29
- package/dist/schema/task.d.ts.map +1 -1
- package/dist/schema/task.js +12 -2
- package/dist/schema/task.js.map +1 -1
- package/dist/schema/triage.d.ts +22 -22
- package/dist/sessions/cache.d.ts +119 -0
- package/dist/sessions/cache.d.ts.map +1 -0
- package/dist/sessions/cache.js +284 -0
- package/dist/sessions/cache.js.map +1 -0
- package/dist/sessions/index.d.ts +1 -0
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +2 -0
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/legacy.d.ts +77 -0
- package/dist/sessions/legacy.d.ts.map +1 -0
- package/dist/sessions/legacy.js +146 -0
- package/dist/sessions/legacy.js.map +1 -0
- package/dist/sessions/store.d.ts +115 -71
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +357 -182
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/types.d.ts +44 -16
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/sessions/types.js +11 -2
- package/dist/sessions/types.js.map +1 -1
- package/dist/strings/errors.d.ts +32 -0
- package/dist/strings/errors.d.ts.map +1 -1
- package/dist/strings/errors.js +17 -0
- package/dist/strings/errors.js.map +1 -1
- package/dist/strings/labels.d.ts +1 -0
- package/dist/strings/labels.d.ts.map +1 -1
- package/dist/strings/labels.js +1 -0
- package/dist/strings/labels.js.map +1 -1
- package/dist/utils/activity.d.ts +101 -0
- package/dist/utils/activity.d.ts.map +1 -0
- package/dist/utils/activity.js +408 -0
- package/dist/utils/activity.js.map +1 -0
- package/dist/utils/git.d.ts +31 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +87 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/web-ui/_app/immutable/assets/0.tmlwn-Ih.css +1 -0
- package/dist/web-ui/_app/immutable/assets/9.BwwJybWx.css +1 -0
- package/dist/web-ui/_app/immutable/chunks/2KqE8gtn.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/70-t_QvE.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/AiWQj974.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B25nWFyA.js +5 -0
- package/dist/web-ui/_app/immutable/chunks/B2bcA_Q_.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B5e5HYyB.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B7-5z6eA.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B7bGmhK0.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/B8tYZKAE.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BFGAyJjD.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BG0850zf.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BG8eSzAd.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BIMxXS8I.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BSzL1fpU.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BYtjHfeq.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/{D1ArdqNb.js → Bp5pFYXL.js} +1 -1
- package/dist/web-ui/_app/immutable/chunks/BsJFsuAT.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BvpNHcD6.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/BypqA25-.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/C0w6WDm5.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/C5_PAZ0y.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CDRO15Iv.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CF1CoqD5.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CS2sa4_m.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CWUQwB9H.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CY5FDdSU.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/C_7MTDoj.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/CaAJD3dl.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/{i-XnOIX0.js → ChB5iyEL.js} +1 -1
- package/dist/web-ui/_app/immutable/chunks/ChQD-6N8.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/{BCkp8Hs8.js → CqbsoCwA.js} +1 -1
- package/dist/web-ui/_app/immutable/chunks/DCeJW50p.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DJtZNgcs.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DKIeaprD.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DLd2uVIA.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DW_subyT.js +2 -0
- package/dist/web-ui/_app/immutable/chunks/DbU6lVn0.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Dc7ZCC5m.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Dd5umPsk.js +2 -0
- package/dist/web-ui/_app/immutable/chunks/Dg_zDpDS.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Dgqu8Yuc.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DmxsPZTB.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DphTaFUB.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DqK4iHp0.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DqT6OH_u.js +2 -0
- package/dist/web-ui/_app/immutable/chunks/Ds9I9wQb.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Du5ng3u4.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/DxJw79Wi.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/GFTX8GgV.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/HNjs76Zz.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/HVMjDi4_.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/P0A_fJvS.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/T3vGWjIL.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/VTmrX9Qu.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Xvwhx_F1.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/Yyz1XMQA.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/dh5HeqUr.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/fZMteyca.js +62 -0
- package/dist/web-ui/_app/immutable/chunks/{D28BF5MJ.js → gPrj-hqC.js} +1 -1
- package/dist/web-ui/_app/immutable/chunks/htcWMiYN.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/oTsvd9y4.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/qJfLUwU4.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/xCtiO_JE.js +1 -0
- package/dist/web-ui/_app/immutable/chunks/y4GeEH6k.js +1 -0
- package/dist/web-ui/_app/immutable/entry/app.C4h_eOn6.js +2 -0
- package/dist/web-ui/_app/immutable/entry/start.CQFTf9ep.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/0.Dh1xO970.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/1.l75D3Opx.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/10.DBidBPc-.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/11.Ab0gUKWe.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/12.CMsnoxfs.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/13.D8YKuknB.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/14.DZ0aan7y.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/15.CUIKreDL.js +2 -0
- package/dist/web-ui/_app/immutable/nodes/16.BWc8--BO.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/2.CDUonbuh.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/3.Ctg3M00i.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/4.Ci-JDwbA.js +2 -0
- package/dist/web-ui/_app/immutable/nodes/5.CTyEDAq0.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/6.BTZZqsAb.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/7.BI52g_Jo.js +137 -0
- package/dist/web-ui/_app/immutable/nodes/8.3hZPaB9x.js +1 -0
- package/dist/web-ui/_app/immutable/nodes/9.DS49kvwl.js +29 -0
- package/dist/web-ui/_app/version.json +1 -1
- package/dist/web-ui/favicon-192.png +0 -0
- package/dist/web-ui/favicon-32.png +0 -0
- package/dist/web-ui/favicon.ico +0 -0
- package/dist/web-ui/index.html +14 -11
- package/package.json +14 -7
- package/plugin/.claude-plugin/marketplace.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/plugins/kspec/skills/merge/SKILL.md +127 -0
- package/plugin/plugins/kspec/skills/plan/SKILL.md +55 -26
- package/plugin/plugins/kspec/skills/review/SKILL.md +350 -133
- package/plugin/plugins/kspec/skills/task-work/SKILL.md +96 -106
- package/templates/agents-sections/04-pr-workflow.md +15 -12
- package/templates/agents-sections/06-ralph-loop.md +15 -10
- package/templates/skills/manifest.yaml +25 -7
- package/templates/skills/merge/SKILL.md +120 -0
- package/templates/skills/plan/SKILL.md +55 -26
- package/templates/skills/review/SKILL.md +346 -130
- package/templates/skills/task-work/SKILL.md +93 -103
- package/dist/web-ui/_app/immutable/assets/0.BxCxvrZR.css +0 -1
- package/dist/web-ui/_app/immutable/chunks/B-CZR0q8.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/B1IR5Su5.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/B_Cvvtc4.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/BtFaGGII.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/Bu8JVsCH.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/C87u-CNA.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/CrFkBTYp.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/D6RtLpzL.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/D7FHSgx2.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/DBXrsxZQ.js +0 -2
- package/dist/web-ui/_app/immutable/chunks/Da_hHMuA.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/Do6LchSF.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/DoNPtcAw.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/DtUbXRZz.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/DyFPRlLl.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/DzAP8lRM.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/DzVXElzN.js +0 -2
- package/dist/web-ui/_app/immutable/chunks/aoPBFken.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/laxtrUO3.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/q1nIWgqB.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/sTLbk5Nm.js +0 -1
- package/dist/web-ui/_app/immutable/chunks/vwKgQu5P.js +0 -5
- package/dist/web-ui/_app/immutable/entry/app.BCwMcqnT.js +0 -2
- package/dist/web-ui/_app/immutable/entry/start.wKCQH-tt.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/0.CjGVMG74.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/1.B6_AIPan.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/2.q4oCS7Ws.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/3.rTKZf9o2.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/4.DVIDRu1d.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/5.8PtPXIOd.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/6.ZZrTemy_.js +0 -1
- package/dist/web-ui/_app/immutable/nodes/7.IP-gxCxi.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Dh1xO970.js","../chunks/y4GeEH6k.js","../chunks/CaAJD3dl.js","../chunks/oTsvd9y4.js","../chunks/Dg_zDpDS.js","../chunks/ChQD-6N8.js","../chunks/Dd5umPsk.js","../chunks/DqT6OH_u.js","../chunks/CDRO15Iv.js","../chunks/Ds9I9wQb.js","../chunks/HVMjDi4_.js","../chunks/DCeJW50p.js","../chunks/B25nWFyA.js","../chunks/BypqA25-.js","../chunks/P0A_fJvS.js","../chunks/VTmrX9Qu.js","../chunks/CY5FDdSU.js","../chunks/GFTX8GgV.js","../chunks/C5_PAZ0y.js","../chunks/DxJw79Wi.js","../chunks/DLd2uVIA.js","../chunks/C0w6WDm5.js","../chunks/gPrj-hqC.js","../chunks/BsJFsuAT.js","../chunks/AiWQj974.js","../chunks/ChB5iyEL.js","../chunks/B8tYZKAE.js","../chunks/qJfLUwU4.js","../chunks/70-t_QvE.js","../chunks/BvpNHcD6.js","../assets/select-trigger.CV-KWLNP.css","../chunks/BYtjHfeq.js","../chunks/HNjs76Zz.js","../chunks/xCtiO_JE.js","../chunks/DphTaFUB.js","../assets/0.tmlwn-Ih.css","../nodes/1.l75D3Opx.js","../chunks/dh5HeqUr.js","../nodes/2.CDUonbuh.js","../chunks/DW_subyT.js","../chunks/CF1CoqD5.js","../chunks/Du5ng3u4.js","../chunks/DKIeaprD.js","../chunks/B7bGmhK0.js","../chunks/BG8eSzAd.js","../chunks/DJtZNgcs.js","../chunks/B2bcA_Q_.js","../chunks/C_7MTDoj.js","../chunks/BIMxXS8I.js","../chunks/DqK4iHp0.js","../chunks/CWUQwB9H.js","../nodes/3.Ctg3M00i.js","../chunks/B5e5HYyB.js","../chunks/BSzL1fpU.js","../chunks/CqbsoCwA.js","../chunks/Xvwhx_F1.js","../chunks/htcWMiYN.js","../chunks/Dgqu8Yuc.js","../chunks/2KqE8gtn.js","../chunks/T3vGWjIL.js","../nodes/4.Ci-JDwbA.js","../chunks/fZMteyca.js","../nodes/5.CTyEDAq0.js","../nodes/6.BTZZqsAb.js","../chunks/Bp5pFYXL.js","../chunks/BFGAyJjD.js","../nodes/7.BI52g_Jo.js","../chunks/Dc7ZCC5m.js","../nodes/8.3hZPaB9x.js","../chunks/CS2sa4_m.js","../nodes/9.DS49kvwl.js","../chunks/Yyz1XMQA.js","../chunks/DbU6lVn0.js","../assets/9.BwwJybWx.css","../nodes/10.DBidBPc-.js","../chunks/BG0850zf.js","../nodes/11.Ab0gUKWe.js","../chunks/B7-5z6eA.js","../nodes/12.CMsnoxfs.js","../chunks/DmxsPZTB.js","../nodes/13.D8YKuknB.js","../nodes/14.DZ0aan7y.js","../nodes/15.CUIKreDL.js","../nodes/16.BWc8--BO.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as A,ah as G,g as d,aV as J,N as W,J as Y,p as z,C as F,y as H,b as T,j as K,f as L,s as Q,a as X,u as V,c as Z,r as $,t as tt}from"../chunks/CaAJD3dl.js";import{h as et,m as rt,u as st,s as ot}from"../chunks/DqT6OH_u.js";import{f as C,a as P,c as D,t as at}from"../chunks/y4GeEH6k.js";import{o as nt}from"../chunks/oTsvd9y4.js";import{p as I,i as w,b as k}from"../chunks/Dg_zDpDS.js";import{c as x}from"../chunks/Ds9I9wQb.js";function it(i){return class extends ct{constructor(t){super({component:i,...t})}}}class ct{#e;#t;constructor(t){var o=new Map,u=(r,e)=>{var s=Y(e,!1,!1);return o.set(r,s),s};const m=new Proxy({...t.props||{},$$events:{}},{get(r,e){return d(o.get(e)??u(e,Reflect.get(r,e)))},has(r,e){return e===G?!0:(d(o.get(e)??u(e,Reflect.get(r,e))),Reflect.has(r,e))},set(r,e,s){return A(o.get(e)??u(e,s),s),Reflect.set(r,e,s)}});this.#t=(t.hydrate?et:rt)(t.component,{target:t.target,anchor:t.anchor,props:m,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&J(),this.#e=m.$$events;for(const r of Object.keys(this.#t))r==="$set"||r==="$destroy"||r==="$on"||W(this,r,{get(){return this.#t[r]},set(e){this.#t[r]=e},enumerable:!0});this.#t.$set=r=>{Object.assign(m,r)},this.#t.$destroy=()=>{st(this.#t)}}$set(t){this.#t.$set(t)}$on(t,o){this.#e[t]=this.#e[t]||[];const u=(...m)=>o.call(this,...m);return this.#e[t].push(u),()=>{this.#e[t]=this.#e[t].filter(m=>m!==u)}}$destroy(){this.#t.$destroy()}}const ut="modulepreload",mt=function(i,t){return new URL(i,t).href},S={},n=function(t,o,u){let m=Promise.resolve();if(o&&o.length>0){let O=function(c){return Promise.all(c.map(_=>Promise.resolve(_).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const e=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),R=s?.nonce||s?.getAttribute("nonce");m=O(o.map(c=>{if(c=mt(c,u),c in S)return;S[c]=!0;const _=c.endsWith(".css"),f=_?'[rel="stylesheet"]':"";if(u)for(let h=e.length-1;h>=0;h--){const a=e[h];if(a.href===c&&(!_||a.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const l=document.createElement("link");if(l.rel=_?"stylesheet":ut,_||(l.as="script"),l.crossOrigin="",l.href=c,R&&l.setAttribute("nonce",R),document.head.appendChild(l),_)return new Promise((h,a)=>{l.addEventListener("load",h),l.addEventListener("error",()=>a(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(e){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=e,window.dispatchEvent(s),!s.defaultPrevented)throw e}return m.then(e=>{for(const s of e||[])s.status==="rejected"&&r(s.reason);return t().catch(r)})},bt={};var lt=C('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),_t=C("<!> <!>",1);function dt(i,t){z(t,!0);let o=I(t,"components",23,()=>[]),u=I(t,"data_0",3,null),m=I(t,"data_1",3,null);F(()=>t.stores.page.set(t.page)),H(()=>{t.stores,t.page,t.constructors,o(),t.form,u(),m(),t.stores.page.notify()});let r=T(!1),e=T(!1),s=T(null);nt(()=>{const a=t.stores.page.subscribe(()=>{d(r)&&(A(e,!0),K().then(()=>{A(s,document.title||"untitled page",!0)}))});return A(r,!0),a});const R=V(()=>t.constructors[1]);var O=_t(),c=L(O);{var _=a=>{const v=V(()=>t.constructors[0]);var E=D(),y=L(E);x(y,()=>d(v),(g,p)=>{k(p(g,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(b,ht)=>{var j=D(),M=L(j);x(M,()=>d(R),(q,U)=>{k(U(q,{get data(){return m()},get form(){return t.form},get params(){return t.page.params}}),B=>o()[1]=B,()=>o()?.[1])}),P(b,j)},$$slots:{default:!0}}),b=>o()[0]=b,()=>o()?.[0])}),P(a,E)},f=a=>{const v=V(()=>t.constructors[0]);var E=D(),y=L(E);x(y,()=>d(v),(g,p)=>{k(p(g,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),b=>o()[0]=b,()=>o()?.[0])}),P(a,E)};w(c,a=>{t.constructors[1]?a(_):a(f,!1)})}var l=Q(c,2);{var h=a=>{var v=lt(),E=Z(v);{var y=g=>{var p=at();tt(()=>ot(p,d(s))),P(g,p)};w(E,g=>{d(e)&&g(y)})}$(v),P(a,v)};w(l,a=>{d(r)&&a(h)})}P(i,O),X()}const Rt=it(dt),Ot=[()=>n(()=>import("../nodes/0.Dh1xO970.js"),__vite__mapDeps([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,26,27,28,29,30,31,32,33,34,35]),import.meta.url),()=>n(()=>import("../nodes/1.l75D3Opx.js"),__vite__mapDeps([36,1,2,19,7,21,37,23,8,3]),import.meta.url),()=>n(()=>import("../nodes/2.CDUonbuh.js"),__vite__mapDeps([38,1,2,3,7,4,5,6,8,9,23,39,18,40,41,42,43,44,45,25,46,47,48,49,50]),import.meta.url),()=>n(()=>import("../nodes/3.Ctg3M00i.js"),__vite__mapDeps([51,1,2,3,7,4,5,6,8,25,14,40,47,18,52,9,27,24,16,12,13,17,53,54,55,56,26,11,28,29,30,10,57,58,45,23,59,48,44,34]),import.meta.url),()=>n(()=>import("../nodes/4.Ci-JDwbA.js"),__vite__mapDeps([60,1,2,7,4,5,6,8,61,23,3,37,14,54,27,40,41,42,24,9,16,12,13,17,18,53,50]),import.meta.url),()=>n(()=>import("../nodes/5.CTyEDAq0.js"),__vite__mapDeps([62,1,2,19,3,21,5,23,8,22]),import.meta.url),()=>n(()=>import("../nodes/6.BTZZqsAb.js"),__vite__mapDeps([63,1,2,7,4,5,6,8,61,9,40,42,19,20,21,64,65]),import.meta.url),()=>n(()=>import("../nodes/7.BI52g_Jo.js"),__vite__mapDeps([66,1,2,7,4,5,6,8,23,3,22,40,41,42,14,44,61,18,29,67]),import.meta.url),()=>n(()=>import("../nodes/8.3hZPaB9x.js"),__vite__mapDeps([68,1,2,3,7,4,5,6,8,27,23,22,69,26,9,11,12,13,28,18,29,30,14,17,45,33,46,52,49,57]),import.meta.url),()=>n(()=>import("../nodes/9.DS49kvwl.js"),__vite__mapDeps([70,1,2,3,7,4,5,6,8,22,23,25,69,61,71,18,28,17,56,9,12,45,47,59,52,49,67,72,19,73]),import.meta.url),()=>n(()=>import("../nodes/10.DBidBPc-.js"),__vite__mapDeps([74,1,2,7,4,5,6,8,40,41,42,31,18,75,29,71]),import.meta.url),()=>n(()=>import("../nodes/11.Ab0gUKWe.js"),__vite__mapDeps([76,1,2,7,4,5,6,8,23,3,22,19,21,71,18,61,15,9,16,12,13,17,20,29,44,45,77,14,69,64]),import.meta.url),()=>n(()=>import("../nodes/12.CMsnoxfs.js"),__vite__mapDeps([78,1,2,3,7,4,5,9,6,8,22,23,54,27,14,26,11,12,13,28,18,29,30,19,21,45,79,61,55,56,44,10,77,69,75,48,25,24,16,17]),import.meta.url),()=>n(()=>import("../nodes/13.D8YKuknB.js"),__vite__mapDeps([80,1,2,3,7,4,5,6,8,22,23,25,79,61,9,14,55,27,54,56,12,44,45,10,11,13,77,69,75,18,48,39,46,47,49,24,16,17,19]),import.meta.url),()=>n(()=>import("../nodes/14.DZ0aan7y.js"),__vite__mapDeps([81,1,2,7,4,5,6,8,61,23,3,37,14,40,41,42,55,27,56,9,12,18,71]),import.meta.url),()=>n(()=>import("../nodes/15.CUIKreDL.js"),__vite__mapDeps([82,1,2,7,4,5,6,8,40,41,42,43,32,19,20,21,65]),import.meta.url),()=>n(()=>import("../nodes/16.BWc8--BO.js"),__vite__mapDeps([83,1,2,7,4,5,6,8,61,40,41,42,14,18,52,58,72]),import.meta.url)],Lt=[],At={"/":[2],"/agents":[3],"/inbox":[4],"/items":[5],"/observations":[6],"/plans":[7],"/sessions":[8],"/sessions/[id]":[9],"/settings":[10],"/specs":[11],"/tasks":[12],"/tasks/board":[13],"/triage":[14],"/validate":[15],"/workflows":[16]},N={handleError:(({error:i})=>{console.error(i)}),reroute:(()=>{}),transport:{}},ft=Object.fromEntries(Object.entries(N.transport).map(([i,t])=>[i,t.decode])),Tt=Object.fromEntries(Object.entries(N.transport).map(([i,t])=>[i,t.encode])),Vt=!1,Dt=(i,t)=>ft[i](t);export{Dt as decode,ft as decoders,At as dictionary,Tt as encoders,Vt as hash,N as hooks,bt as matchers,Ot as nodes,Rt as root,Lt as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as o,a as r}from"../chunks/BsJFsuAT.js";export{o as load_css,r as start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as y,a as l,f as S,p as Pe,t as pe}from"../chunks/y4GeEH6k.js";import{o as $t,a as Sr}from"../chunks/oTsvd9y4.js";import{B as $r,bm as wr,bp as Cr,U as Pr,v as Ir,bq as Mr,o as ct,al as kr,aq as Ar,aN as Vt,a2 as Gt,a1 as Bt,W as Or,p as T,f as g,a as D,b2 as Er,b1 as Nr,u as $,g as d,d as R,b as le,c as C,e as U,r as w,Q as wt,C as Tr,y as er,s as F,n as me,t as ne,$ as Dr,P as Rr}from"../chunks/CaAJD3dl.js";import{p as b,r as q,b as de,i as j,s as J,l as be}from"../chunks/Dg_zDpDS.js";import{a4 as tr,n as ge,al as Qt,a8 as Ae,am as rr,an as Vr,ao as Ft,ap as Gr,aq as zt,ar as Kt,as as Br,a6 as qt,at as Ht,au as Qr,av as Fr,l as V,m as Y,o as te,p as $e,t as zr,ad as Kr,y as ar,B as bt,aw as qr,h as He,ax as Hr,ay as sr,az as Lr,a as et,b as tt,aA as jr,q as se,I as Wr,J as Ur,H as Jr,j as We,aB as Yr,aC as Xr,d as nr,aD as Zr,aE as ea,aF as ta,aG as ra,aH as aa,aI as sa}from"../chunks/Dd5umPsk.js";import{b as ve}from"../chunks/CDRO15Iv.js";import{c as na,o as ia,s as ie,e as oa,d as la}from"../chunks/DqT6OH_u.js";import{c as H}from"../chunks/Ds9I9wQb.js";import{c as da,T as ca,a as ua,b as fa}from"../chunks/HVMjDi4_.js";import{a as Ie,c as ha,n as _t,f as Lt,d as Me,e as k,m as we}from"../chunks/B25nWFyA.js";import{B as va}from"../chunks/P0A_fJvS.js";import{a as ma,b as ga,c as pa,S as ba,C as _a,d as ya}from"../chunks/VTmrX9Qu.js";import{s as ir,a as or}from"../chunks/ChQD-6N8.js";import{p as lr}from"../chunks/gPrj-hqC.js";import{e as xa,D as Sa,b as $a,c as wa,d as Ca,a as Pa}from"../chunks/AiWQj974.js";import{i as Ia,g as Ma,r as ka,s as Aa,o as Oa,d as Ea}from"../chunks/ChB5iyEL.js";import{s as Na,S as Ta,a as Da,b as Ra,c as Va}from"../chunks/B8tYZKAE.js";import{F as Ga}from"../chunks/BYtjHfeq.js";import"../chunks/DxJw79Wi.js";import{I as _e,s as ye}from"../chunks/DLd2uVIA.js";import{S as Ba,R as Qa}from"../chunks/HNjs76Zz.js";import{i as Fa}from"../chunks/C0w6WDm5.js";import{g as za}from"../chunks/BsJFsuAT.js";import{C as Ct,m as Re,z as Ka,E as qa,k as Ha,H as La,h as ja,A as Wa,B as Ua,G as Ja,I as Ya,f as Xa,j as Za,J as es,K as ts,L as rs,w as Ue,y as as,n as yt,M as dr,u as ss}from"../chunks/BypqA25-.js";import{i as jt,S as ns}from"../chunks/xCtiO_JE.js";import{a as is}from"../chunks/qJfLUwU4.js";import{M as os}from"../chunks/DphTaFUB.js";const ls=[];function ds(r,e=!1,t=!1){return st(r,new Map,"",ls,null,t)}function st(r,e,t,a,s=null,i=!1){if(typeof r=="object"&&r!==null){var n=e.get(r);if(n!==void 0)return n;if(r instanceof Map)return new Map(r);if(r instanceof Set)return new Set(r);if($r(r)){var o=Array(r.length);e.set(r,o),s!==null&&e.set(s,o);for(var c=0;c<r.length;c+=1){var u=r[c];c in r&&(o[c]=st(u,e,t,a,null,i))}return o}if(wr(r)===Cr){o={},e.set(r,o),s!==null&&e.set(s,o);for(var m in r)o[m]=st(r[m],e,t,a,null,i);return o}if(r instanceof Date)return structuredClone(r);if(typeof r.toJSON=="function"&&!i)return st(r.toJSON(),e,t,a,r)}if(r instanceof EventTarget)return r;try{return structuredClone(r)}catch{return r}}function cs(r,e){let t=null,a=ct;var s;if(ct){t=Or;for(var i=kr(document.head);i!==null&&(i.nodeType!==Ar||i.data!==r);)i=Vt(i);if(i===null)Gt(!1);else{var n=Vt(i);i.remove(),Bt(n)}}ct||(s=document.head.appendChild(Pr()));try{Ir(()=>e(s),Mr)}finally{a&&(Gt(!0),Bt(t))}}const us=!1,Io=Object.freeze(Object.defineProperty({__proto__:null,ssr:us},Symbol.toStringTag,{value:"Module"}));var fs=class extends tr{constructor(r={}){super(),this.config=r,this.#e=new Set,this.#t=new Map,this.#r=0}#e;#t;#r;build(r,e,t){const a=new os({client:r,mutationCache:this,mutationId:++this.#r,options:r.defaultMutationOptions(e),state:t});return this.add(a),a}add(r){this.#e.add(r);const e=rt(r);if(typeof e=="string"){const t=this.#t.get(e);t?t.push(r):this.#t.set(e,[r])}this.notify({type:"added",mutation:r})}remove(r){if(this.#e.delete(r)){const e=rt(r);if(typeof e=="string"){const t=this.#t.get(e);if(t)if(t.length>1){const a=t.indexOf(r);a!==-1&&t.splice(a,1)}else t[0]===r&&this.#t.delete(e)}}this.notify({type:"removed",mutation:r})}canRun(r){const e=rt(r);if(typeof e=="string"){const a=this.#t.get(e)?.find(s=>s.state.status==="pending");return!a||a===r}else return!0}runNext(r){const e=rt(r);return typeof e=="string"?this.#t.get(e)?.find(a=>a!==r&&a.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){ge.batch(()=>{this.#e.forEach(r=>{this.notify({type:"removed",mutation:r})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(r){const e={exact:!0,...r};return this.getAll().find(t=>Qt(e,t))}findAll(r={}){return this.getAll().filter(e=>Qt(r,e))}notify(r){ge.batch(()=>{this.listeners.forEach(e=>{e(r)})})}resumePausedMutations(){const r=this.getAll().filter(e=>e.state.isPaused);return ge.batch(()=>Promise.all(r.map(e=>e.continue().catch(Ae))))}};function rt(r){return r.options.scope?.id}var hs=class extends tr{constructor(r={}){super(),this.config=r,this.#e=new Map}#e;build(r,e,t){const a=e.queryKey,s=e.queryHash??rr(a,e);let i=this.get(s);return i||(i=new Vr({client:r,queryKey:a,queryHash:s,options:r.defaultQueryOptions(e),state:t,defaultOptions:r.getQueryDefaults(a)}),this.add(i)),i}add(r){this.#e.has(r.queryHash)||(this.#e.set(r.queryHash,r),this.notify({type:"added",query:r}))}remove(r){const e=this.#e.get(r.queryHash);e&&(r.destroy(),e===r&&this.#e.delete(r.queryHash),this.notify({type:"removed",query:r}))}clear(){ge.batch(()=>{this.getAll().forEach(r=>{this.remove(r)})})}get(r){return this.#e.get(r)}getAll(){return[...this.#e.values()]}find(r){const e={exact:!0,...r};return this.getAll().find(t=>Ft(e,t))}findAll(r={}){const e=this.getAll();return Object.keys(r).length>0?e.filter(t=>Ft(r,t)):e}notify(r){ge.batch(()=>{this.listeners.forEach(e=>{e(r)})})}onFocus(){ge.batch(()=>{this.getAll().forEach(r=>{r.onFocus()})})}onOnline(){ge.batch(()=>{this.getAll().forEach(r=>{r.onOnline()})})}},cr=class{#e;#t;#r;#a;#n;#s;#i;#o;constructor(r={}){this.#e=r.queryCache||new hs,this.#t=r.mutationCache||new fs,this.#r=r.defaultOptions||{},this.#a=new Map,this.#n=new Map,this.#s=0}mount(){this.#s++,this.#s===1&&(this.#i=Gr.subscribe(async r=>{r&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=zt.subscribe(async r=>{r&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#s--,this.#s===0&&(this.#i?.(),this.#i=void 0,this.#o?.(),this.#o=void 0)}isFetching(r){return this.#e.findAll({...r,fetchStatus:"fetching"}).length}isMutating(r){return this.#t.findAll({...r,status:"pending"}).length}getQueryData(r){const e=this.defaultQueryOptions({queryKey:r});return this.#e.get(e.queryHash)?.state.data}ensureQueryData(r){const e=this.defaultQueryOptions(r),t=this.#e.build(this,e),a=t.state.data;return a===void 0?this.fetchQuery(r):(r.revalidateIfStale&&t.isStaleByTime(Kt(e.staleTime,t))&&this.prefetchQuery(e),Promise.resolve(a))}getQueriesData(r){return this.#e.findAll(r).map(({queryKey:e,state:t})=>{const a=t.data;return[e,a]})}setQueryData(r,e,t){const a=this.defaultQueryOptions({queryKey:r}),i=this.#e.get(a.queryHash)?.state.data,n=Br(e,i);if(n!==void 0)return this.#e.build(this,a).setData(n,{...t,manual:!0})}setQueriesData(r,e,t){return ge.batch(()=>this.#e.findAll(r).map(({queryKey:a})=>[a,this.setQueryData(a,e,t)]))}getQueryState(r){const e=this.defaultQueryOptions({queryKey:r});return this.#e.get(e.queryHash)?.state}removeQueries(r){const e=this.#e;ge.batch(()=>{e.findAll(r).forEach(t=>{e.remove(t)})})}resetQueries(r,e){const t=this.#e;return ge.batch(()=>(t.findAll(r).forEach(a=>{a.reset()}),this.refetchQueries({type:"active",...r},e)))}cancelQueries(r,e={}){const t={revert:!0,...e},a=ge.batch(()=>this.#e.findAll(r).map(s=>s.cancel(t)));return Promise.all(a).then(Ae).catch(Ae)}invalidateQueries(r,e={}){return ge.batch(()=>(this.#e.findAll(r).forEach(t=>{t.invalidate()}),r?.refetchType==="none"?Promise.resolve():this.refetchQueries({...r,type:r?.refetchType??r?.type??"active"},e)))}refetchQueries(r,e={}){const t={...e,cancelRefetch:e.cancelRefetch??!0},a=ge.batch(()=>this.#e.findAll(r).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,t);return t.throwOnError||(i=i.catch(Ae)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(a).then(Ae)}fetchQuery(r){const e=this.defaultQueryOptions(r);e.retry===void 0&&(e.retry=!1);const t=this.#e.build(this,e);return t.isStaleByTime(Kt(e.staleTime,t))?t.fetch(e):Promise.resolve(t.state.data)}prefetchQuery(r){return this.fetchQuery(r).then(Ae).catch(Ae)}fetchInfiniteQuery(r){return r.behavior=jt(r.pages),this.fetchQuery(r)}prefetchInfiniteQuery(r){return this.fetchInfiniteQuery(r).then(Ae).catch(Ae)}ensureInfiniteQueryData(r){return r.behavior=jt(r.pages),this.ensureQueryData(r)}resumePausedMutations(){return zt.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(r){this.#r=r}setQueryDefaults(r,e){this.#a.set(qt(r),{queryKey:r,defaultOptions:e})}getQueryDefaults(r){const e=[...this.#a.values()],t={};return e.forEach(a=>{Ht(r,a.queryKey)&&Object.assign(t,a.defaultOptions)}),t}setMutationDefaults(r,e){this.#n.set(qt(r),{mutationKey:r,defaultOptions:e})}getMutationDefaults(r){const e=[...this.#n.values()],t={};return e.forEach(a=>{Ht(r,a.mutationKey)&&Object.assign(t,a.defaultOptions)}),t}defaultQueryOptions(r){if(r._defaulted)return r;const e={...this.#r.queries,...this.getQueryDefaults(r.queryKey),...r,_defaulted:!0};return e.queryHash||(e.queryHash=rr(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===Qr&&(e.enabled=!1),e}defaultMutationOptions(r){return r?._defaulted?r:{...this.#r.mutations,...r?.mutationKey&&this.getMutationDefaults(r.mutationKey),...r,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};class vs{#e;#t;constructor(e,t){this.#e=e,this.#t=na(t)}get current(){return this.#t(),this.#e()}}const ms=/\(.+\)/,gs=new Set(["all","print","screen","and","or","not","only"]);class ps extends vs{constructor(e,t){let a=ms.test(e)||e.split(/[\s,]+/).some(i=>gs.has(i.trim()))?e:`(${e})`;const s=window.matchMedia(a);super(()=>s.matches,i=>ia(s,"change",i))}}function bs(r,e){T(e,!0);const t=b(e,"client",19,()=>new cr);$t(()=>{t().mount()}),Fr(t()),Sr(()=>{t().unmount()});var a=y(),s=g(a);V(s,()=>e.children),l(r,a),D()}const _s=768;class ys extends ps{constructor(e=_s){super(`max-width: ${e-1}px`)}}const xs="sidebar:state",Ss=3600*24*7,$s="16rem",ws="18rem",Cs="3rem",Ps="b";class Is{props;#e=$(()=>this.props.open());get open(){return d(this.#e)}set open(e){R(this.#e,e)}#t=le(!1);get openMobile(){return d(this.#t)}set openMobile(e){R(this.#t,e,!0)}setOpen;#r;#a=$(()=>this.open?"expanded":"collapsed");get state(){return d(this.#a)}set state(e){R(this.#a,e)}constructor(e){this.setOpen=e.setOpen,this.#r=new ys,this.props=e}get isMobile(){return this.#r.current}handleShortcutKeydown=e=>{e.key===Ps&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),this.toggle())};setOpenMobile=e=>{this.openMobile=e};toggle=()=>this.#r.current?this.openMobile=!this.openMobile:this.setOpen(!this.open)}const ur="scn-sidebar";function Ms(r){return Er(Symbol.for(ur),new Is(r))}function Pt(){return Nr(Symbol.for(ur))}var ks=S("<div><!></div>");function As(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=ks();Y(s,n=>({"data-slot":"sidebar-content","data-sidebar":"content",class:n,...a}),[()=>te("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Os=S("<div><!></div>");function Es(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=Os();Y(s,n=>({"data-slot":"sidebar-footer","data-sidebar":"footer",class:n,...a}),[()=>te("flex flex-col gap-2 p-2",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Ns=S("<div><!></div>");function ut(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=Ns();Y(s,n=>({"data-slot":"sidebar-group-content","data-sidebar":"group-content",class:n,...a}),[()=>te("w-full text-sm",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Ts=S("<div><!></div>");function ft(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","children","child","class"]);const s=$(()=>({class:te("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e.class),"data-slot":"sidebar-group-label","data-sidebar":"group-label",...a}));var i=y(),n=g(i);{var o=u=>{var m=y(),f=g(m);V(f,()=>e.child,()=>({props:d(s)})),l(u,m)},c=u=>{var m=Ts();Y(m,()=>({...d(s)}));var f=C(m);V(f,()=>e.children??U),w(m),de(m,_=>t(_),()=>t()),l(u,m)};j(n,u=>{e.child?u(o):u(c,!1)})}l(r,i),D()}var Ds=S("<div><!></div>");function ht(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=Ds();Y(s,n=>({"data-slot":"sidebar-group","data-sidebar":"group",class:n,...a}),[()=>te("relative flex w-full min-w-0 flex-col p-2",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Rs=S("<div><!></div>");function Vs(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=Rs();Y(s,n=>({"data-slot":"sidebar-header","data-sidebar":"header",class:n,...a}),[()=>te("flex flex-col gap-2 p-2",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Gs=S("<main><!></main>");function Bs(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=Gs();Y(s,n=>({"data-slot":"sidebar-inset",class:n,...a}),[()=>te("bg-background relative flex min-w-0 w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Qs=S("<div><!></div>");function Fs(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=Qs();Y(s,n=>({"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",class:n,...a}),[()=>te("text-sidebar-foreground pointer-events-none absolute end-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}function zs(r,e){let t=r.nextElementSibling;for(;t;){if(t.matches(e))return t;t=t.nextElementSibling}}function Ks(r,e){let t=r.previousElementSibling;for(;t;){if(t.matches(e))return t;t=t.previousElementSibling}}function fr(r){if(typeof CSS<"u"&&typeof CSS.escape=="function")return CSS.escape(r);const e=r.length;let t=-1,a,s="";const i=r.charCodeAt(0);if(e===1&&i===45)return"\\"+r;for(;++t<e;){if(a=r.charCodeAt(t),a===0){s+="�";continue}if(a>=1&&a<=31||a===127||t===0&&a>=48&&a<=57||t===1&&a>=48&&a<=57&&i===45){s+="\\"+a.toString(16)+" ";continue}if(a>=128||a===45||a===95||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122){s+=r.charAt(t);continue}s+="\\"+r.charAt(t)}return s}const Ve="data-value",he=ha({component:"command",parts:["root","list","input","separator","loading","empty","group","group-items","group-heading","item","viewport","input-label"]}),qe=he.selector("group"),vt=he.selector("group-items"),Wt=he.selector("group-heading"),hr=he.selector("item"),mt=`${he.selector("item")}:not([aria-disabled="true"])`,Ge=new Ct("Command.Root"),qs=new Ct("Command.List"),Je=new Ct("Command.Group"),Ut={search:"",value:"",filtered:{count:0,items:new Map,groups:new Set}};class It{static create(e){return Ge.set(new It(e))}opts;attachment;#e=!1;#t=!0;sortAfterTick=!1;sortAndFilterAfterTick=!1;allItems=new Set;allGroups=new Map;allIds=new Map;#r=le(0);get key(){return d(this.#r)}set key(e){R(this.#r,e,!0)}#a=le(null);get viewportNode(){return d(this.#a)}set viewportNode(e){R(this.#a,e,!0)}#n=le(null);get inputNode(){return d(this.#n)}set inputNode(e){R(this.#n,e,!0)}#s=le(null);get labelNode(){return d(this.#s)}set labelNode(e){R(this.#s,e,!0)}#i=le(Ut);get commandState(){return d(this.#i)}set commandState(e){R(this.#i,e)}#o=le(wt(Ut));get _commandState(){return d(this.#o)}set _commandState(e){R(this.#o,e,!0)}#C(){return ds(this._commandState)}#h(){this.#e||(this.#e=!0,Re(()=>{this.#e=!1;const e=this.#C();!Object.is(this.commandState,e)&&(this.commandState=e,this.opts.onStateChange?.current?.(e))}))}setState(e,t,a){Object.is(this._commandState[e],t)||(this._commandState[e]=t,e==="search"?(this.#g(),this.#v()):e==="value"&&(a||this.#b()),this.#h())}constructor(e){this.opts=e,this.attachment=Ie(this.opts.ref);const t={...this._commandState,value:this.opts.value.current??""};this._commandState=t,this.commandState=t,this.onkeydown=this.onkeydown.bind(this)}#p(e,t){const a=this.opts.filter.current??mr;return e?a(e,this._commandState.search,t):0}#v(){if(!this._commandState.search||this.opts.shouldFilter.current===!1){!this._commandState.value||!this.#t?this.#m():this.#t&&this._commandState.value&&this.#P();return}const e=this._commandState.filtered.items,t=[];for(const n of this._commandState.filtered.groups){const o=this.allGroups.get(n);let c=0;if(!o){t.push([n,c]);continue}for(const u of o){const m=e.get(u);c=Math.max(m??0,c)}t.push([n,c])}const a=this.viewportNode,s=this.getValidItems().sort((n,o)=>{const c=n.getAttribute("data-value"),u=o.getAttribute("data-value"),m=e.get(c)??0;return(e.get(u)??0)-m});for(const n of s){const o=n.closest(vt);if(o){const c=n.parentElement===o?n:n.closest(`${vt} > *`);c&&o.appendChild(c)}else{const c=n.parentElement===a?n:n.closest(`${vt} > *`);c&&a?.appendChild(c)}}const i=t.sort((n,o)=>o[1]-n[1]);for(const n of i){const o=a?.querySelector(`${qe}[${Ve}="${fr(n[0])}"]`);o?.parentElement?.appendChild(o)}this.#m()}setValue(e,t){e!==this.opts.value.current&&e===""&&Re(()=>{this.key++}),this.setState("value",e,t),this.opts.value.current=e}#m(){Re(()=>{const t=this.getValidItems().find(s=>s.getAttribute("aria-disabled")!=="true")?.getAttribute(Ve),a=this.#t&&this.opts.disableInitialScroll.current;this.setValue(t??"",a),this.#t=!1})}#P(){Re(()=>{this.opts.disableInitialScroll.current||this.#b(),this.#t=!1})}#g(){if(!this._commandState.search||this.opts.shouldFilter.current===!1){this._commandState.filtered.count=this.allItems.size;return}this._commandState.filtered.groups=new Set;let e=0;for(const t of this.allItems){const a=this.allIds.get(t)?.value??"",s=this.allIds.get(t)?.keywords??[],i=this.#p(a,s);this._commandState.filtered.items.set(t,i),i>0&&e++}for(const[t,a]of this.allGroups)for(const s of a){const i=this._commandState.filtered.items.get(s);if(i&&i>0){this._commandState.filtered.groups.add(t);break}}this._commandState.filtered.count=e}getValidItems(){const e=this.opts.ref.current;return e?Array.from(e.querySelectorAll(mt)).filter(a=>!!a):[]}getVisibleItems(){const e=this.opts.ref.current;return e?Array.from(e.querySelectorAll(hr)).filter(a=>!!a):[]}get itemsGrid(){if(!this.isGrid)return[];const e=this.opts.columns.current??1,t=this.getVisibleItems(),a=[[]];let s=t[0]?.getAttribute("data-group"),i=0,n=0;for(let o=0;o<t.length;o++){const c=t[o],u=c?.getAttribute("data-group");s!==u?(s=u,i=1,n++,a.push([{index:o,firstRowOfGroup:!0,ref:c}])):(i++,i>e&&(n++,i=1,a.push([])),a[n]?.push({index:o,firstRowOfGroup:a[n]?.[0]?.firstRowOfGroup??o===0,ref:c}))}return a}#l(){const e=this.opts.ref.current;if(!e)return;const t=e.querySelector(`${mt}[data-selected]`);if(t)return t}#b(){Re(()=>{const e=this.#l();if(!e)return;const t=e.parentElement?.parentElement;if(t){if(this.isGrid){const a=this.#I(e);if(e.scrollIntoView({block:"nearest"}),a){e?.closest(qe)?.querySelector(Wt)?.scrollIntoView({block:"nearest"});return}}else{const a=Ka(t);if(a&&a.dataset?.value===e.dataset?.value){e?.closest(qe)?.querySelector(Wt)?.scrollIntoView({block:"nearest"});return}}e.scrollIntoView({block:"nearest"})}})}#I(e){const t=this.itemsGrid;if(t.length===0)return!1;for(let a=0;a<t.length;a++){const s=t[a];if(s!==void 0)for(let i=0;i<s.length;i++){const n=s[i];if(!(n===void 0||n.ref!==e))return n.firstRowOfGroup}}return!1}updateSelectedToIndex(e){const t=this.getValidItems()[e];t&&this.setValue(t.getAttribute(Ve)??"")}updateSelectedByItem(e){const t=this.#l(),a=this.getValidItems(),s=a.findIndex(n=>n===t);let i=a[s+e];this.opts.loop.current&&(i=s+e<0?a[a.length-1]:s+e===a.length?a[0]:a[s+e]),i&&this.setValue(i.getAttribute(Ve)??"")}updateSelectedByGroup(e){let a=this.#l()?.closest(qe),s;for(;a&&!s;)a=e>0?zs(a,qe):Ks(a,qe),s=a?.querySelector(mt);s?this.setValue(s.getAttribute(Ve)??""):this.updateSelectedByItem(e)}registerValue(e,t){return e&&e===this.allIds.get(e)?.value||this.allIds.set(e,{value:e,keywords:t}),this._commandState.filtered.items.set(e,this.#p(e,t)),this.sortAfterTick||(this.sortAfterTick=!0,Re(()=>{this.#v(),this.sortAfterTick=!1})),()=>{this.allIds.delete(e)}}registerItem(e,t){return this.allItems.add(e),t&&(this.allGroups.has(t)?this.allGroups.get(t).add(e):this.allGroups.set(t,new Set([e]))),this.sortAndFilterAfterTick||(this.sortAndFilterAfterTick=!0,Re(()=>{this.#g(),this.#v(),this.sortAndFilterAfterTick=!1})),this.#h(),()=>{const a=this.#l();this.allItems.delete(e),this.commandState.filtered.items.delete(e),this.#g(),a?.getAttribute("id")===e&&this.#m(),this.#h()}}registerGroup(e){return this.allGroups.has(e)||this.allGroups.set(e,new Set),()=>{this.allIds.delete(e),this.allGroups.delete(e)}}get isGrid(){return this.opts.columns.current!==null}#_(){return this.updateSelectedToIndex(this.getValidItems().length-1)}#d(e){e.preventDefault(),e.metaKey?this.#_():e.altKey?this.updateSelectedByGroup(1):this.updateSelectedByItem(1)}#y(e){this.opts.columns.current!==null&&(e.preventDefault(),e.metaKey?this.updateSelectedByGroup(1):this.updateSelectedByItem(this.#M(e)))}#x(e,t){if(t.length===0)return null;for(let a=0;a<t.length;a++){const s=t[a];if(s!==void 0)for(let i=0;i<s.length;i++){const n=s[i];if(!(n===void 0||n.ref!==e))return{columnIndex:i,rowIndex:a}}}return null}#M(e){const t=this.itemsGrid,a=this.#l();if(!a)return 0;const s=this.#x(a,t);if(!s)return 0;let i=null;const n=e.altKey?1:0;if(e.altKey&&s.rowIndex===t.length-2&&!this.opts.loop.current)i=this.#c({start:t.length-1,end:t.length,expectedColumnIndex:s.columnIndex,grid:t});else if(s.rowIndex===t.length-1){if(!this.opts.loop.current)return 0;i=this.#c({start:0+n,end:s.rowIndex,expectedColumnIndex:s.columnIndex,grid:t})}else i=this.#c({start:s.rowIndex+1+n,end:t.length,expectedColumnIndex:s.columnIndex,grid:t}),i===null&&this.opts.loop.current&&(i=this.#c({start:0,end:s.rowIndex,expectedColumnIndex:s.columnIndex,grid:t}));return this.#S(a,i)}#c({start:e,end:t,grid:a,expectedColumnIndex:s}){let i=null;for(let n=e;n<t;n++){const o=a[n];if(i=o[s]?.ref??null,i!==null&&at(i)){i=null;continue}if(i===null)for(let c=o.length-1;c>=0;c--){const u=o[o.length-1];if(!(u===void 0||at(u.ref))){i=u.ref;break}}break}return i}#S(e,t){if(t===null)return 0;const a=this.getValidItems(),s=a.findIndex(n=>n===e);return a.findIndex(n=>n===t)-s}#$(e){this.opts.columns.current!==null&&(e.preventDefault(),e.metaKey?this.updateSelectedByGroup(-1):this.updateSelectedByItem(this.#k(e)))}#k(e){const t=this.itemsGrid,a=this.#l();if(a===void 0)return 0;const s=this.#x(a,t);if(s===null)return 0;let i=null;const n=e.altKey?1:0;if(e.altKey&&s.rowIndex===1&&this.opts.loop.current===!1)i=this.#u({start:0,end:0,expectedColumnIndex:s.columnIndex,grid:t});else if(s.rowIndex===0){if(this.opts.loop.current===!1)return 0;i=this.#u({start:t.length-1-n,end:s.rowIndex+1,expectedColumnIndex:s.columnIndex,grid:t})}else i=this.#u({start:s.rowIndex-1-n,end:0,expectedColumnIndex:s.columnIndex,grid:t}),i===null&&this.opts.loop.current&&(i=this.#u({start:t.length-1,end:s.rowIndex+1,expectedColumnIndex:s.columnIndex,grid:t}));return this.#S(a,i)}#u({start:e,end:t,grid:a,expectedColumnIndex:s}){let i=null;for(let n=e;n>=t;n--){const o=a[n];if(o!==void 0){if(i=o[s]?.ref??null,i!==null&&at(i)){i=null;continue}if(i===null)for(let c=o.length-1;c>=0;c--){const u=o[o.length-1];if(!(u===void 0||at(u.ref))){i=u.ref;break}}break}}return i}#f(e){e.preventDefault(),e.metaKey?this.updateSelectedToIndex(0):e.altKey?this.updateSelectedByGroup(-1):this.updateSelectedByItem(-1)}onkeydown(e){const t=this.opts.vimBindings.current&&e.ctrlKey;switch(e.key){case rs:case ts:{t&&(this.isGrid?this.#y(e):this.#d(e));break}case es:{t&&this.isGrid&&this.#d(e);break}case Za:this.isGrid?this.#y(e):this.#d(e);break;case Xa:if(!this.isGrid)break;this.#d(e);break;case Ya:case Ja:{t&&(this.isGrid?this.#$(e):this.#f(e));break}case Ua:{t&&this.isGrid&&this.#f(e);break}case Wa:this.isGrid?this.#$(e):this.#f(e);break;case ja:if(!this.isGrid)break;this.#f(e);break;case La:e.preventDefault(),this.updateSelectedToIndex(0);break;case Ha:e.preventDefault(),this.#_();break;case qa:if(!e.isComposing&&e.keyCode!==229){e.preventDefault();const a=this.#l();a&&a?.click()}}}#w=$(()=>({id:this.opts.id.current,role:"application",[he.root]:"",tabindex:-1,onkeydown:this.onkeydown,...this.attachment}));get props(){return d(this.#w)}set props(e){R(this.#w,e)}}function at(r){return r.getAttribute("aria-disabled")==="true"}class Mt{static create(e){return new Mt(e,Ge.get())}opts;root;attachment;#e=$(()=>this.root._commandState.filtered.count===0&&this.#t===!1||this.opts.forceMount.current);get shouldRender(){return d(this.#e)}set shouldRender(e){R(this.#e,e)}#t=!0;constructor(e,t){this.opts=e,this.root=t,this.attachment=Ie(this.opts.ref),Tr(()=>{this.#t=!1})}#r=$(()=>({id:this.opts.id.current,role:"presentation",[he.empty]:"",...this.attachment}));get props(){return d(this.#r)}set props(e){R(this.#r,e)}}class kt{static create(e){return Je.set(new kt(e,Ge.get()))}opts;root;attachment;#e=$(()=>this.opts.forceMount.current||this.root.opts.shouldFilter.current===!1||!this.root.commandState.search?!0:this.root._commandState.filtered.groups.has(this.trueValue));get shouldRender(){return d(this.#e)}set shouldRender(e){R(this.#e,e)}#t=le(null);get headingNode(){return d(this.#t)}set headingNode(e){R(this.#t,e,!0)}#r=le("");get trueValue(){return d(this.#r)}set trueValue(e){R(this.#r,e,!0)}constructor(e,t){this.opts=e,this.root=t,this.attachment=Ie(this.opts.ref),this.trueValue=e.value.current??e.id.current,Ue(()=>this.trueValue,()=>this.root.registerGroup(this.trueValue)),er(()=>this.opts.value.current?(this.trueValue=this.opts.value.current,this.root.registerValue(this.opts.value.current)):this.headingNode&&this.headingNode.textContent?(this.trueValue=this.headingNode.textContent.trim().toLowerCase(),this.root.registerValue(this.trueValue)):(this.trueValue=`-----${this.opts.id.current}`,this.root.registerValue(this.trueValue)))}#a=$(()=>({id:this.opts.id.current,role:"presentation",hidden:this.shouldRender?void 0:!0,"data-value":this.trueValue,[he.group]:"",...this.attachment}));get props(){return d(this.#a)}set props(e){R(this.#a,e)}}class At{static create(e){return new At(e,Je.get())}opts;group;attachment;constructor(e,t){this.opts=e,this.group=t,this.attachment=Ie(this.opts.ref,a=>this.group.headingNode=a)}#e=$(()=>({id:this.opts.id.current,[he["group-heading"]]:"",...this.attachment}));get props(){return d(this.#e)}set props(e){R(this.#e,e)}}class Ot{static create(e){return new Ot(e,Je.get())}opts;group;attachment;constructor(e,t){this.opts=e,this.group=t,this.attachment=Ie(this.opts.ref)}#e=$(()=>({id:this.opts.id.current,role:"group",[he["group-items"]]:"","aria-labelledby":this.group.headingNode?.id??void 0,...this.attachment}));get props(){return d(this.#e)}set props(e){R(this.#e,e)}}class Et{static create(e){return new Et(e,Ge.get())}opts;root;attachment;#e=$(()=>{const e=this.root.viewportNode?.querySelector(`${hr}[${Ve}="${fr(this.root.opts.value.current)}"]`);if(e!=null)return e.getAttribute("id")??void 0});constructor(e,t){this.opts=e,this.root=t,this.attachment=Ie(this.opts.ref,a=>this.root.inputNode=a),Ue(()=>this.opts.ref.current,()=>{const a=this.opts.ref.current;a&&this.opts.autofocus.current&&as(10,()=>a.focus())}),Ue(()=>this.opts.value.current,()=>{this.root.commandState.search!==this.opts.value.current&&this.root.setState("search",this.opts.value.current)})}#t=$(()=>({id:this.opts.id.current,type:"text",[he.input]:"",autocomplete:"off",autocorrect:"off",spellcheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":_t(!0),"aria-controls":this.root.viewportNode?.id??void 0,"aria-labelledby":this.root.labelNode?.id??void 0,"aria-activedescendant":d(this.#e),...this.attachment}));get props(){return d(this.#t)}set props(e){R(this.#t,e)}}class Nt{static create(e){const t=Je.getOr(null);return new Nt({...e,group:t},Ge.get())}opts;root;attachment;#e=null;#t=$(()=>this.opts.forceMount.current||this.#e?.opts.forceMount.current===!0);#r=$(()=>{if(this.opts.ref.current,d(this.#t)||this.root.opts.shouldFilter.current===!1||!this.root.commandState.search)return!0;const e=this.root.commandState.filtered.items.get(this.trueValue);return e===void 0?!1:e>0});get shouldRender(){return d(this.#r)}set shouldRender(e){R(this.#r,e)}#a=$(()=>this.root.opts.value.current===this.trueValue&&this.trueValue!=="");get isSelected(){return d(this.#a)}set isSelected(e){R(this.#a,e)}#n=le("");get trueValue(){return d(this.#n)}set trueValue(e){R(this.#n,e,!0)}constructor(e,t){this.opts=e,this.root=t,this.#e=Je.getOr(null),this.trueValue=e.value.current,this.attachment=Ie(this.opts.ref),Ue([()=>this.trueValue,()=>this.#e?.trueValue,()=>this.opts.forceMount.current],()=>{if(!(this.opts.forceMount.current||!this.trueValue))return this.root.registerItem(this.trueValue,this.#e?.trueValue)}),Ue([()=>this.opts.value.current,()=>this.opts.ref.current],()=>{this.opts.value.current?this.trueValue=this.opts.value.current:this.opts.ref.current?.textContent&&(this.trueValue=this.opts.ref.current.textContent.trim()),this.trueValue&&(this.root.registerValue(this.trueValue,e.keywords.current.map(a=>a.trim())),this.opts.ref.current?.setAttribute(Ve,this.trueValue))}),this.onclick=this.onclick.bind(this),this.onpointermove=this.onpointermove.bind(this)}#s(){this.opts.disabled.current||(this.#i(),this.opts.onSelect?.current())}#i(){this.opts.disabled.current||this.root.setValue(this.trueValue,!0)}onpointermove(e){this.opts.disabled.current||this.root.opts.disablePointerSelection.current||this.#i()}onclick(e){this.opts.disabled.current||this.#s()}#o=$(()=>({id:this.opts.id.current,"aria-disabled":_t(this.opts.disabled.current),"aria-selected":_t(this.isSelected),"data-disabled":Lt(this.opts.disabled.current),"data-selected":Lt(this.isSelected),"data-value":this.trueValue,"data-group":this.#e?.trueValue,[he.item]:"",role:"option",onpointermove:this.onpointermove,onclick:this.onclick,...this.attachment}));get props(){return d(this.#o)}set props(e){R(this.#o,e)}}class Tt{static create(e){return new Tt(e)}opts;attachment;constructor(e){this.opts=e,this.attachment=Ie(this.opts.ref)}#e=$(()=>({id:this.opts.id.current,role:"progressbar","aria-valuenow":this.opts.progress.current,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Loading...",[he.loading]:"",...this.attachment}));get props(){return d(this.#e)}set props(e){R(this.#e,e)}}class Dt{static create(e){return qs.set(new Dt(e,Ge.get()))}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=Ie(this.opts.ref)}#e=$(()=>({id:this.opts.id.current,role:"listbox","aria-label":this.opts.ariaLabel.current,[he.list]:"",...this.attachment}));get props(){return d(this.#e)}set props(e){R(this.#e,e)}}class Rt{static create(e){return new Rt(e,Ge.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=Ie(this.opts.ref,a=>this.root.labelNode=a)}#e=$(()=>({id:this.opts.id.current,[he["input-label"]]:"",for:this.opts.for?.current,style:Na,...this.attachment}));get props(){return d(this.#e)}set props(e){R(this.#e,e)}}var Hs=S("<label><!></label>");function Ls(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=q(e,["$$slots","$$events","$$legacy","id","ref","children"]);const n=Rt.create({id:k(()=>a()),ref:k(()=>s(),m=>s(m))}),o=$(()=>we(i,n.props));var c=Hs();Y(c,()=>({...d(o)}));var u=C(c);V(u,()=>e.children??U),w(c),l(r,c),D()}var js=S("<!> <!>",1),Ws=S("<div><!> <!></div>");function Us(r,e){const t=Pe();T(e,!0);const a=Q=>{Ls(Q,{children:(z,K)=>{me();var W=pe();ne(()=>ie(W,_())),l(z,W)},$$slots:{default:!0}})};let s=b(e,"id",19,()=>Me(t)),i=b(e,"ref",15,null),n=b(e,"value",15,""),o=b(e,"onValueChange",3,yt),c=b(e,"onStateChange",3,yt),u=b(e,"loop",3,!1),m=b(e,"shouldFilter",3,!0),f=b(e,"filter",3,mr),_=b(e,"label",3,""),v=b(e,"vimBindings",3,!0),h=b(e,"disablePointerSelection",3,!1),p=b(e,"disableInitialScroll",3,!1),x=b(e,"columns",3,null),P=q(e,["$$slots","$$events","$$legacy","id","ref","value","onValueChange","onStateChange","loop","shouldFilter","filter","label","vimBindings","disablePointerSelection","disableInitialScroll","columns","children","child"]);const I=It.create({id:k(()=>s()),ref:k(()=>i(),Q=>i(Q)),filter:k(()=>f()),shouldFilter:k(()=>m()),loop:k(()=>u()),value:k(()=>n(),Q=>{n()!==Q&&(n(Q),o()(Q))}),vimBindings:k(()=>v()),disablePointerSelection:k(()=>h()),disableInitialScroll:k(()=>p()),onStateChange:k(()=>c()),columns:k(()=>x())}),N=Q=>I.updateSelectedToIndex(Q),L=Q=>I.updateSelectedByGroup(Q),G=Q=>I.updateSelectedByItem(Q),O=()=>I.getValidItems(),A=$(()=>we(P,I.props));var E={updateSelectedToIndex:N,updateSelectedByGroup:L,updateSelectedByItem:G,getValidItems:O},M=y(),B=g(M);{var ee=Q=>{var z=js(),K=g(z);a(K);var W=F(K,2);V(W,()=>e.child,()=>({props:d(A)})),l(Q,z)},X=Q=>{var z=Ws();Y(z,()=>({...d(A)}));var K=C(z);a(K);var W=F(K,2);V(W,()=>e.children??U),w(z),l(Q,z)};j(B,Q=>{e.child?Q(ee):Q(X,!1)})}return l(r,M),D(E)}var Js=S("<div><!></div>");function Ys(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=b(e,"forceMount",3,!1),n=q(e,["$$slots","$$events","$$legacy","id","ref","children","child","forceMount"]);const o=Mt.create({id:k(()=>a()),ref:k(()=>s(),_=>s(_)),forceMount:k(()=>i())}),c=$(()=>we(o.props,n));var u=y(),m=g(u);{var f=_=>{var v=y(),h=g(v);{var p=P=>{var I=y(),N=g(I);V(N,()=>e.child,()=>({props:d(c)})),l(P,I)},x=P=>{var I=Js();Y(I,()=>({...d(c)}));var N=C(I);V(N,()=>e.children??U),w(I),l(P,I)};j(h,P=>{e.child?P(p):P(x,!1)})}l(_,v)};j(m,_=>{o.shouldRender&&_(f)})}l(r,u),D()}var Xs=S("<div><!></div>");function Zs(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=b(e,"value",3,""),n=b(e,"forceMount",3,!1),o=q(e,["$$slots","$$events","$$legacy","id","ref","value","forceMount","children","child"]);const c=kt.create({id:k(()=>a()),ref:k(()=>s(),h=>s(h)),forceMount:k(()=>n()),value:k(()=>i())}),u=$(()=>we(o,c.props));var m=y(),f=g(m);{var _=h=>{var p=y(),x=g(p);V(x,()=>e.child,()=>({props:d(u)})),l(h,p)},v=h=>{var p=Xs();Y(p,()=>({...d(u)}));var x=C(p);V(x,()=>e.children??U),w(p),l(h,p)};j(f,h=>{e.child?h(_):h(v,!1)})}l(r,m),D()}var en=S("<div><!></div>");function tn(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=q(e,["$$slots","$$events","$$legacy","id","ref","children","child"]);const n=At.create({id:k(()=>a()),ref:k(()=>s(),_=>s(_))}),o=$(()=>we(i,n.props));var c=y(),u=g(c);{var m=_=>{var v=y(),h=g(v);V(h,()=>e.child,()=>({props:d(o)})),l(_,v)},f=_=>{var v=en();Y(v,()=>({...d(o)}));var h=C(v);V(h,()=>e.children??U),w(v),l(_,v)};j(u,_=>{e.child?_(m):_(f,!1)})}l(r,c),D()}var rn=S("<div><!></div>"),an=S('<div style="display: contents;"><!></div>');function sn(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=q(e,["$$slots","$$events","$$legacy","id","ref","children","child"]);const n=Ot.create({id:k(()=>a()),ref:k(()=>s(),_=>s(_))}),o=$(()=>we(i,n.props));var c=an(),u=C(c);{var m=_=>{var v=y(),h=g(v);V(h,()=>e.child,()=>({props:d(o)})),l(_,v)},f=_=>{var v=rn();Y(v,()=>({...d(o)}));var h=C(v);V(h,()=>e.children??U),w(v),l(_,v)};j(u,_=>{e.child?_(m):_(f,!1)})}w(c),l(r,c),D()}var nn=S("<input/>");function on(r,e){const t=Pe();T(e,!0);let a=b(e,"value",15,""),s=b(e,"autofocus",3,!1),i=b(e,"id",19,()=>Me(t)),n=b(e,"ref",15,null),o=q(e,["$$slots","$$events","$$legacy","value","autofocus","id","ref","child"]);const c=Et.create({id:k(()=>i()),ref:k(()=>n(),h=>n(h)),value:k(()=>a(),h=>{a(h)}),autofocus:k(()=>s()??!1)}),u=$(()=>we(o,c.props));var m=y(),f=g(m);{var _=h=>{var p=y(),x=g(p);V(x,()=>e.child,()=>({props:d(u)})),l(h,p)},v=h=>{var p=nn();Y(p,()=>({...d(u)}),void 0,void 0,void 0,void 0,!0),is(p,a),l(h,p)};j(f,h=>{e.child?h(_):h(v,!1)})}l(r,m),D()}var ln=S("<div><!></div>"),dn=S('<div style="display: contents;" data-item-wrapper=""><!></div>');function cn(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=b(e,"value",3,""),n=b(e,"disabled",3,!1),o=b(e,"onSelect",3,yt),c=b(e,"forceMount",3,!1),u=b(e,"keywords",19,()=>[]),m=q(e,["$$slots","$$events","$$legacy","id","ref","value","disabled","children","child","onSelect","forceMount","keywords"]);const f=Nt.create({id:k(()=>a()),ref:k(()=>s(),p=>s(p)),value:k(()=>i()),disabled:k(()=>n()),onSelect:k(()=>o()),forceMount:k(()=>c()),keywords:k(()=>u())}),_=$(()=>we(m,f.props));var v=y(),h=g(v);dr(h,()=>f.root.key,p=>{var x=dn(),P=C(x);{var I=N=>{var L=y(),G=g(L);{var O=E=>{var M=y(),B=g(M);V(B,()=>e.child,()=>({props:d(_)})),l(E,M)},A=E=>{var M=ln();Y(M,()=>({...d(_)}));var B=C(M);V(B,()=>e.children??U),w(M),l(E,M)};j(G,E=>{e.child?E(O):E(A,!1)})}l(N,L)};j(P,N=>{f.shouldRender&&N(I)})}w(x),ne(()=>$e(x,"data-value",f.trueValue)),l(p,x)}),l(r,v),D()}var un=S("<div><!></div>");function fn(r,e){const t=Pe();T(e,!0);let a=b(e,"id",19,()=>Me(t)),s=b(e,"ref",15,null),i=q(e,["$$slots","$$events","$$legacy","id","ref","child","children","aria-label"]);const n=Dt.create({id:k(()=>a()),ref:k(()=>s(),m=>s(m)),ariaLabel:k(()=>e["aria-label"]??"Suggestions...")}),o=$(()=>we(i,n.props));var c=y(),u=g(c);dr(u,()=>n.root._commandState.search==="",m=>{var f=y(),_=g(f);{var v=p=>{var x=y(),P=g(x);V(P,()=>e.child,()=>({props:d(o)})),l(p,x)},h=p=>{var x=un();Y(x,()=>({...d(o)}));var P=C(x);V(P,()=>e.children??U),w(x),l(p,x)};j(_,p=>{e.child?p(v):p(h,!1)})}l(m,f)}),l(r,c),D()}var hn=S("<div><!></div>");function vn(r,e){const t=Pe();T(e,!0);let a=b(e,"progress",3,0),s=b(e,"id",19,()=>Me(t)),i=b(e,"ref",15,null),n=q(e,["$$slots","$$events","$$legacy","progress","id","ref","children","child"]);const o=Tt.create({id:k(()=>s()),ref:k(()=>i(),v=>i(v)),progress:k(()=>a())}),c=$(()=>we(n,o.props));var u=y(),m=g(u);{var f=v=>{var h=y(),p=g(h);V(p,()=>e.child,()=>({props:d(c)})),l(v,h)},_=v=>{var h=hn();Y(h,()=>({...d(c)}));var p=C(h);V(p,()=>e.children??U),w(h),l(v,h)};j(m,v=>{e.child?v(f):v(_,!1)})}l(r,u),D()}const Jt=1,mn=.9,gn=.8,pn=.17,gt=.1,pt=.999,bn=.9999,_n=.99,yn=/[\\/_+.#"@[({&]/,xn=/[\\/_+.#"@[({&]/g,Sn=/[\s-]/,vr=/[\s-]/g;function xt(r,e,t,a,s,i,n){if(i===e.length)return s===r.length?Jt:_n;const o=`${s},${i}`;if(n[o]!==void 0)return n[o];const c=a.charAt(i);let u=t.indexOf(c,s),m=0,f,_,v,h;for(;u>=0;)f=xt(r,e,t,a,u+1,i+1,n),f>m&&(u===s?f*=Jt:yn.test(r.charAt(u-1))?(f*=gn,v=r.slice(s,u-1).match(xn),v&&s>0&&(f*=pt**v.length)):Sn.test(r.charAt(u-1))?(f*=mn,h=r.slice(s,u-1).match(vr),h&&s>0&&(f*=pt**h.length)):(f*=pn,s>0&&(f*=pt**(u-s))),r.charAt(u)!==e.charAt(i)&&(f*=bn)),(f<gt&&t.charAt(u-1)===a.charAt(i+1)||a.charAt(i+1)===a.charAt(i)&&t.charAt(u-1)!==a.charAt(i))&&(_=xt(r,e,t,a,u+1,i+2,n),_*gt>f&&(f=_*gt)),f>m&&(m=f),u=t.indexOf(c,u+1);return n[o]=m,m}function Yt(r){return r.toLowerCase().replace(vr," ")}function mr(r,e,t){return r=t&&t.length>0?`${`${r} ${t?.join(" ")}`}`:r,xt(r,e,Yt(r),Yt(e),0,0,{})}function $n(r,e){T(e,!0);let t=b(e,"delayDuration",3,700),a=b(e,"disableCloseOnTriggerClick",3,!1),s=b(e,"disableHoverableContent",3,!1),i=b(e,"disabled",3,!1),n=b(e,"ignoreNonKeyboardFocus",3,!1),o=b(e,"skipDelayDuration",3,300);da.create({delayDuration:k(()=>t()),disableCloseOnTriggerClick:k(()=>a()),disableHoverableContent:k(()=>s()),disabled:k(()=>i()),ignoreNonKeyboardFocus:k(()=>n()),skipDelayDuration:k(()=>o())});var c=y(),u=g(c);V(u,()=>e.children??U),l(r,c),D()}function wn(r,e){let t=q(e,["$$slots","$$events","$$legacy"]);var a=y(),s=g(a);H(s,()=>$n,(i,n)=>{n(i,J(()=>t))}),l(r,a)}const Cn=zr({base:"peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-start text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_var(--sidebar-border)] hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});var Pn=S("<button><!></button>"),In=S("<!> <!>",1);function Mn(r,e){T(e,!0);const t=(h,p)=>{let x=()=>p?.().props;const P=$(()=>we(d(u),x()));var I=y(),N=g(I);{var L=O=>{var A=y(),E=g(A);V(E,()=>e.child,()=>({props:d(P)})),l(O,A)},G=O=>{var A=Pn();Y(A,()=>({...d(P)}));var E=C(A);V(E,()=>e.children??U),w(A),de(A,M=>a(M),()=>a()),l(O,A)};j(N,O=>{e.child?O(L):O(G,!1)})}l(h,I)};let a=b(e,"ref",15,null),s=b(e,"variant",3,"default"),i=b(e,"size",3,"default"),n=b(e,"isActive",3,!1),o=q(e,["$$slots","$$events","$$legacy","ref","class","children","child","variant","size","isActive","tooltipContent","tooltipContentProps"]);const c=Pt(),u=$(()=>({class:te(Cn({variant:s(),size:i()}),e.class),"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":i(),"data-active":n(),...o}));var m=y(),f=g(m);{var _=h=>{t(h,()=>({}))},v=h=>{var p=y(),x=g(p);H(x,()=>fa,(P,I)=>{I(P,{children:(N,L)=>{var G=In(),O=g(G);{const E=(M,B)=>{let ee=()=>B?.().props;t(M,()=>({props:ee()}))};H(O,()=>ca,(M,B)=>{B(M,{child:E,$$slots:{child:!0}})})}var A=F(O,2);{let E=$(()=>c.state!=="collapsed"||c.isMobile);H(A,()=>ua,(M,B)=>{B(M,J({side:"right",align:"center",get hidden(){return d(E)}},()=>e.tooltipContentProps,{children:(ee,X)=>{var Q=y(),z=g(Q);{var K=re=>{var ae=pe();ne(()=>ie(ae,e.tooltipContent)),l(re,ae)},W=re=>{var ae=y(),ce=g(ae);{var oe=ue=>{var Z=y(),xe=g(Z);V(xe,()=>e.tooltipContent),l(ue,Z)};j(ce,ue=>{e.tooltipContent&&ue(oe)},!0)}l(re,ae)};j(z,re=>{typeof e.tooltipContent=="string"?re(K):re(W,!1)})}l(ee,Q)},$$slots:{default:!0}}))})}l(N,G)},$$slots:{default:!0}})}),l(h,p)};j(f,h=>{e.tooltipContent?h(v,!1):h(_)})}l(r,m),D()}var kn=S("<li><!></li>");function An(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=kn();Y(s,n=>({"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",class:n,...a}),[()=>te("group/menu-item relative",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var On=S("<ul><!></ul>");function En(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);var s=On();Y(s,n=>({"data-slot":"sidebar-menu","data-sidebar":"menu",class:n,...a}),[()=>te("flex w-full min-w-0 flex-col gap-1",e.class)]);var i=C(s);V(i,()=>e.children??U),w(s),de(s,n=>t(n),()=>t()),l(r,s),D()}var Nn=S("<div><!></div>");function Tn(r,e){T(e,!0);let t=b(e,"ref",15,null),a=b(e,"open",15,!0),s=b(e,"onOpenChange",3,()=>{}),i=q(e,["$$slots","$$events","$$legacy","ref","open","onOpenChange","class","style","children"]);const n=Ms({open:()=>a(),setOpen:u=>{a(u),s()(u),document.cookie=`${xs}=${a()}; path=/; max-age=${Ss}`}});var o=y();oa("keydown",Dr,function(...u){n.handleShortcutKeydown?.apply(this,u)});var c=g(o);H(c,()=>wn,(u,m)=>{m(u,{delayDuration:0,children:(f,_)=>{var v=Nn();Y(v,p=>({"data-slot":"sidebar-wrapper",style:`--sidebar-width: ${$s}; --sidebar-width-icon: ${Cs}; ${e.style??""}`,class:p,...i}),[()=>te("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",e.class)]);var h=C(v);V(h,()=>e.children??U),w(v),de(v,p=>t(p),()=>t()),l(f,v)},$$slots:{default:!0}})}),l(r,o),D()}var Dn=S("<button><!></button>");function Rn(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children"]);const s=Pt();var i=Dn();Y(i,o=>({"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onclick:s.toggle,title:"Toggle Sidebar",class:o,...a}),[()=>te("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-end-4 group-data-[side=right]:start-0 after:absolute after:inset-y-0 after:start-[calc(1/2*100%-1px)] after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full","[[data-side=left][data-collapsible=offcanvas]_&]:-end-2","[[data-side=right][data-collapsible=offcanvas]_&]:-start-2",e.class)]);var n=C(i);V(n,()=>e.children??U),w(i),de(i,o=>t(o),()=>t()),l(r,i),D()}function Vn(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class"]);var s=y(),i=g(s);{let n=$(()=>te("text-muted-foreground text-sm",e.class));H(i,()=>xa,(o,c)=>{c(o,J({"data-slot":"sheet-description",get class(){return d(n)}},()=>a,{get ref(){return t()},set ref(u){t(u)}}))})}l(r,s),D()}var Gn=S("<div><!></div>"),Bn=S("<!> <!>",1),Qn=S('<!> <div class="flex h-full w-full flex-col"><!></div>',1),Fn=S('<div class="text-sidebar-foreground group peer hidden md:block" data-slot="sidebar"><div data-slot="sidebar-gap"></div> <div><div data-sidebar="sidebar" data-slot="sidebar-inner" class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"><!></div></div></div>');function zn(r,e){T(e,!0);let t=b(e,"ref",15,null),a=b(e,"side",3,"left"),s=b(e,"variant",3,"sidebar"),i=b(e,"collapsible",3,"offcanvas"),n=q(e,["$$slots","$$events","$$legacy","ref","side","variant","collapsible","class","children"]);const o=Pt();var c=y(),u=g(c);{var m=_=>{var v=Gn();Y(v,p=>({class:p,...n}),[()=>te("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",e.class)]);var h=C(v);V(h,()=>e.children??U),w(v),de(v,p=>t(p),()=>t()),l(_,v)},f=_=>{var v=y(),h=g(v);{var p=P=>{var I=y(),N=g(I),L=()=>o.openMobile,G=O=>o.setOpenMobile(O);H(N,()=>ba,(O,A)=>{A(O,J({get open(){return L()},set open(E){G(E)}},()=>n,{children:(E,M)=>{var B=y(),ee=g(B);H(ee,()=>ma,(X,Q)=>{Q(X,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",class:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",get style(){return`--sidebar-width: ${ws};`},get side(){return a()},children:(z,K)=>{var W=Qn(),re=g(W);H(re,()=>ga,(oe,ue)=>{ue(oe,{class:"sr-only",children:(Z,xe)=>{var Se=Bn(),ke=g(Se);H(ke,()=>pa,(Ce,Te)=>{Te(Ce,{children:(Oe,Le)=>{me();var fe=pe("Sidebar");l(Oe,fe)},$$slots:{default:!0}})});var Ne=F(ke,2);H(Ne,()=>Vn,(Ce,Te)=>{Te(Ce,{children:(Oe,Le)=>{me();var fe=pe("Displays the mobile sidebar.");l(Oe,fe)},$$slots:{default:!0}})}),l(Z,Se)},$$slots:{default:!0}})});var ae=F(re,2),ce=C(ae);V(ce,()=>e.children??U),w(ae),l(z,W)},$$slots:{default:!0}})}),l(E,B)},$$slots:{default:!0}}))}),l(P,I)},x=P=>{var I=Fn(),N=C(I),L=F(N,2);Y(L,A=>({"data-slot":"sidebar-container",class:A,...n}),[()=>te("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",a()==="left"?"start-0 group-data-[collapsible=offcanvas]:start-[calc(var(--sidebar-width)*-1)]":"end-0 group-data-[collapsible=offcanvas]:end-[calc(var(--sidebar-width)*-1)]",s()==="floating"||s()==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s",e.class)]);var G=C(L),O=C(G);V(O,()=>e.children??U),w(G),w(L),w(I),de(I,A=>t(A),()=>t()),ne(A=>{$e(I,"data-state",o.state),$e(I,"data-collapsible",o.state==="collapsed"?i():""),$e(I,"data-variant",s()),$e(I,"data-side",a()),ar(N,1,A)},[()=>Kr(te("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",s()==="floating"||s()==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)"))]),l(P,I)};j(h,P=>{o.isMobile?P(p):P(x,!1)},!0)}l(_,v)};j(u,_=>{i()==="none"?_(m):_(f,!1)})}l(r,c),D()}var Kn=S('<span data-testid="connection-status"><!></span>');function qn(r,e){T(e,!0);let t=$(Ma),a=$(Ia),s=$(()=>d(a)?"destructive":d(t)==="connected"?"default":d(t)==="connecting"||d(t)==="reconnecting"?"secondary":"outline"),i=$(()=>d(a)?"Connection Lost":d(t)==="connected"?"Connected":d(t)==="reconnecting"?"Reconnecting...":d(t)==="connecting"?"Connecting...":"Disconnected");var n=Kn(),o=C(n);bt(o,{get variant(){return d(s)},children:(c,u)=>{me();var m=pe();ne(()=>ie(m,d(i))),l(c,m)},$$slots:{default:!0}}),w(n),l(r,n),D()}var Hn=S('<div class="flex items-center gap-2 px-3 py-2 text-sm text-muted-foreground" data-testid="loading-indicator"><span class="animate-pulse">Loading projects...</span></div>'),Ln=S('<div class="flex items-center gap-2 truncate"><!> <span class="truncate"> </span></div>'),jn=S('<div class="flex flex-col"><span> </span> <span class="text-xs text-muted-foreground truncate"> </span></div>'),Wn=S("<!> <!>",1),Un=S('<div class="w-full" data-testid="project-selector-container"><!></div>');function Jn(r,e){T(e,!0);function t(f){const _=f.split("/").filter(Boolean);return _[_.length-1]||f}function a(f){f&&(Hr(f),ka(f))}let s=$(()=>sr()??void 0),i=$(Lr),n=$(qr);var o=Un(),c=C(o);{var u=f=>{var _=Hn();l(f,_)},m=f=>{Ta(f,{type:"single",get value(){return d(s)},onValueChange:a,children:(_,v)=>{var h=Wn(),p=g(h);Da(p,{class:"w-full","data-testid":"project-selector","aria-label":"Select project",children:(P,I)=>{var N=Ln(),L=C(N);Ga(L,{class:"size-4 shrink-0"});var G=F(L,2),O=C(G,!0);w(G),w(N),ne(A=>ie(O,A),[()=>d(s)?t(d(s)):"Select project"]),l(P,N)},$$slots:{default:!0}});var x=F(p,2);Ra(x,{children:(P,I)=>{var N=y(),L=g(N);He(L,17,()=>d(i),G=>G.path,(G,O)=>{{let A=$(()=>t(d(O).path));Va(G,{get value(){return d(O).path},get label(){return d(A)},children:(E,M)=>{var B=jn(),ee=C(B),X=C(ee,!0);w(ee);var Q=F(ee,2),z=C(Q,!0);w(Q),w(B),ne(K=>{ie(X,K),$e(Q,"title",d(O).path),ie(z,d(O).path)},[()=>t(d(O).path)]),l(E,B)},$$slots:{default:!0}})}}),l(P,N)},$$slots:{default:!0}}),l(_,h)},$$slots:{default:!0}})};j(c,f=>{d(n)?f(u):f(m,!1)})}w(o),l(r,o),D()}function Yn(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M12 7v14"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}]];_e(r,J({name:"book-open"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function Xn(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M12 8V4H8"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2"}],["path",{d:"M2 14h2"}],["path",{d:"M20 14h2"}],["path",{d:"M15 13v2"}],["path",{d:"M9 13v2"}]];_e(r,J({name:"bot"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function Zn(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"m6 9 6 6 6-6"}]];_e(r,J({name:"chevron-down"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function ei(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}],["circle",{cx:"12",cy:"12",r:"3"}]];_e(r,J({name:"eye"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function gr(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5"}],["path",{d:"M10 9H8"}],["path",{d:"M16 13H8"}],["path",{d:"M16 17H8"}]];_e(r,J({name:"file-text"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function ti(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"}]];_e(r,J({name:"funnel"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function pr(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"}]];_e(r,J({name:"inbox"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function br(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1"}]];_e(r,J({name:"layout-dashboard"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function _r(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M13 5h8"}],["path",{d:"M13 12h8"}],["path",{d:"M13 19h8"}],["path",{d:"m3 17 2 2 4-4"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1"}]];_e(r,J({name:"list-todo"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function ri(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z"}],["path",{d:"M15 5.764v15"}],["path",{d:"M9 3.236v15"}]];_e(r,J({name:"map"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function ai(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{cx:"12",cy:"12",r:"3"}]];_e(r,J({name:"settings"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function si(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];_e(r,J({name:"terminal"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}function ni(r,e){const t=be(e,["children","$$slots","$$events","$$legacy"]);const a=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2"}]];_e(r,J({name:"workflow"},()=>t,{get iconNode(){return a},children:(s,i)=>{var n=y(),o=g(n);ye(o,e,"default",{}),l(s,n)},$$slots:{default:!0}}))}var ii=S('<div class="flex items-center gap-2 px-4 py-2"><span class="text-lg font-bold">kspec</span></div>'),oi=S('<div class="px-2"><!></div>'),li=S("<!> <!>",1),di=S('<div class="px-4 py-2 text-sm italic text-muted-foreground" data-testid="session-focus"> </div>'),ci=S("<!> <!>",1),ui=S('<button class="flex w-full items-center justify-between text-xs font-medium uppercase tracking-wider"> <!></button>'),fi=S("<a><!> <span> </span></a>"),hi=S("<!> <!>",1),vi=S("<!> <!>",1),mi=S("<!> <!> <!>",1),gi=S('<div class="flex items-center gap-2 px-4 py-2"><!></div>'),pi=S("<!> <!> <!> <!>",1);function bi(r,e){T(e,!0);const t=()=>or(lr,"$page",a),[a,s]=ir(),i=[{label:"Work",items:[{path:"/",label:"Dashboard",icon:br},{path:"/tasks",label:"Tasks",icon:_r,badgeKey:"pendingReview"},{path:"/agents",label:"Agents",icon:Xn},{path:"/sessions",label:"Sessions",icon:si}]},{label:"Specs",items:[{path:"/specs",label:"Specs",icon:gr},{path:"/plans",label:"Plans",icon:ri},{path:"/validate",label:"Validate",icon:Ba}]},{label:"Capture",items:[{path:"/inbox",label:"Inbox",icon:pr,badgeKey:"inbox"},{path:"/observations",label:"Observations",icon:ei,badgeKey:"observations"},{path:"/triage",label:"Triage",icon:ti}]},{label:"Config",items:[{path:"/workflows",label:"Workflows",icon:ni},{path:"/settings",label:"Settings",icon:ai}]}],n=et(()=>({queryKey:se.sessionContext.current(),queryFn:()=>jr(),enabled:tt()})),o=et(()=>({queryKey:se.inbox.count(),queryFn:()=>Wr({limit:0}),enabled:tt()})),c=et(()=>({queryKey:se.observations.count({resolved:!1}),queryFn:()=>Ur({resolved:!1}),enabled:tt()})),u=et(()=>({queryKey:se.tasks.list({status:"pending_review",limit:0}),queryFn:()=>Jr({status:"pending_review",limit:0}),enabled:tt()}));let m=$(Yr),f=le(wt({}));function _(p){R(f,{...d(f),[p]:!d(f)[p]},!0)}function v(p){const x=t().url.pathname,P=`${ve}${p}`;return p==="/"?x===P||x==="/":x===P||x.startsWith(`${P}/`)}function h(p){if(!p)return 0;switch(p){case"inbox":return o.data?.total??0;case"observations":return c.data?.total??0;case"pendingReview":return u.data?.total??0;default:return 0}}zn(r,{children:(p,x)=>{var P=pi(),I=g(P);Vs(I,{children:(O,A)=>{var E=ii();l(O,E)},$$slots:{default:!0}});var N=F(I,2);As(N,{children:(O,A)=>{var E=mi(),M=g(E);{var B=z=>{ht(z,{children:(K,W)=>{var re=li(),ae=g(re);ft(ae,{children:(oe,ue)=>{me();var Z=pe("Project");l(oe,Z)},$$slots:{default:!0}});var ce=F(ae,2);ut(ce,{children:(oe,ue)=>{var Z=oi(),xe=C(Z);Jn(xe,{}),w(Z),l(oe,Z)},$$slots:{default:!0}}),l(K,re)},$$slots:{default:!0}})};j(M,z=>{d(m)&&z(B)})}var ee=F(M,2);{var X=z=>{ht(z,{children:(K,W)=>{var re=ci(),ae=g(re);ft(ae,{children:(oe,ue)=>{me();var Z=pe("Current Focus");l(oe,Z)},$$slots:{default:!0}});var ce=F(ae,2);ut(ce,{children:(oe,ue)=>{var Z=di(),xe=C(Z,!0);w(Z),ne(()=>ie(xe,n.data?.focus)),l(oe,Z)},$$slots:{default:!0}}),l(K,re)},$$slots:{default:!0}})};j(ee,z=>{n.data?.focus&&z(X)})}var Q=F(ee,2);He(Q,17,()=>i,We,(z,K)=>{ht(z,{children:(W,re)=>{var ae=vi(),ce=g(ae);ft(ce,{children:(Z,xe)=>{var Se=ui();Se.__click=()=>_(d(K).label);var ke=C(Se),Ne=F(ke);{let Ce=$(()=>d(f)[d(K).label]?"-rotate-90":"");Zn(Ne,{get class(){return`h-3 w-3 transition-transform ${d(Ce)??""}`}})}w(Se),ne(Ce=>{$e(Se,"data-testid",`nav-group-${Ce??""}`),ie(ke,`${d(K).label??""} `)},[()=>d(K).label.toLowerCase()]),l(Z,Se)},$$slots:{default:!0}});var oe=F(ce,2);{var ue=Z=>{ut(Z,{children:(xe,Se)=>{{let ke=$(()=>d(K).label.toLowerCase());En(xe,{get"data-testid"(){return`sidebar-nav-${d(ke)??""}`},children:(Ne,Ce)=>{var Te=y(),Oe=g(Te);He(Oe,17,()=>d(K).items,We,(Le,fe)=>{An(Le,{children:(Be,nt)=>{var Ye=hi(),Xe=g(Ye);{const Qe=(ze,je)=>{let lt=()=>je?.().props;var Ee=fi();Y(Ee,()=>({href:`${ve??""}${d(fe).path??""}`,...lt()}));var Ke=C(Ee);H(Ke,()=>d(fe).icon,(yr,xr)=>{xr(yr,{class:"h-4 w-4"})});var Ze=F(Ke,2),dt=C(Ze,!0);w(Ze),w(Ee),ne(()=>ie(dt,d(fe).label)),l(ze,Ee)};let De=$(()=>v(d(fe).path)),Fe=$(()=>d(fe).label.toLowerCase());Mn(Xe,{get isActive(){return d(De)},get"data-testid"(){return`nav-link-${d(Fe)??""}`},child:Qe,$$slots:{child:!0}})}var it=F(Xe,2);{var ot=Qe=>{Fs(Qe,{get"data-testid"(){return`badge-${d(fe).badgeKey??""}`},children:(De,Fe)=>{me();var ze=pe();ne(je=>ie(ze,je),[()=>h(d(fe).badgeKey)]),l(De,ze)},$$slots:{default:!0}})};j(it,Qe=>{d(fe).badgeKey&&h(d(fe).badgeKey)>0&&Qe(ot)})}l(Be,Ye)},$$slots:{default:!0}})}),l(Ne,Te)},$$slots:{default:!0}})}},$$slots:{default:!0}})};j(oe,Z=>{d(f)[d(K).label]||Z(ue)})}l(W,ae)},$$slots:{default:!0}})}),l(O,E)},$$slots:{default:!0}});var L=F(N,2);Es(L,{children:(O,A)=>{var E=gi(),M=C(E);qn(M,{}),w(E),l(O,E)},$$slots:{default:!0}});var G=F(L,2);Rn(G,{}),l(p,P)},$$slots:{default:!0}}),D(),s()}la(["click"]);var _i=S("<a><!> <span> </span></a>"),yi=S('<nav class="fixed bottom-0 left-0 right-0 z-50 border-t bg-background md:hidden" aria-label="Mobile navigation"><div class="flex justify-around"></div></nav>');function xi(r,e){T(e,!1);const t=()=>or(lr,"$page",a),[a,s]=ir(),i=[{path:"/",label:"Home",icon:br},{path:"/tasks",label:"Tasks",icon:_r},{path:"/specs",label:"Specs",icon:gr},{path:"/inbox",label:"Inbox",icon:pr}];function n(u){const m=t().url.pathname,f=`${ve}${u}`;return u==="/"?m===f||m==="/":m===f||m.startsWith(`${f}/`)}Fa();var o=yi(),c=C(o);He(c,5,()=>i,We,(u,m)=>{var f=_i();let _;var v=C(f);d(m).icon(v,{class:"h-5 w-5"});var h=F(v,2),p=C(h,!0);w(h),w(f),ne(x=>{$e(f,"href",`${ve??""}${d(m).path??""}`),_=ar(f,1,"flex flex-1 flex-col items-center justify-center gap-1 px-2 py-3 text-xs transition-colors hover:bg-accent",null,_,x),ie(p,d(m).label)},[()=>({"text-primary":n(d(m).path),"font-semibold":n(d(m).path)})]),l(u,f)}),w(c),w(o),l(r,o),D(),s()}function Si(r,e){T(e,!0);let t=b(e,"api",15,null),a=b(e,"ref",15,null),s=b(e,"value",15,""),i=q(e,["$$slots","$$events","$$legacy","api","ref","value","class"]);var n=y(),o=g(n);{let c=$(()=>te("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e.class));H(o,()=>Us,(u,m)=>{de(m(u,J({"data-slot":"command",get class(){return d(c)}},()=>i,{get value(){return s()},set value(f){s(f)},get ref(){return a()},set ref(f){a(f)}})),f=>t(f),()=>t())})}l(r,n),D()}function $i(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref"]);var s=y(),i=g(s);H(i,()=>vn,(n,o)=>{o(n,J(()=>a,{get ref(){return t()},set ref(c){t(c)}}))}),l(r,s),D()}var wi=S("<!> <!>",1),Ci=S("<!> <!>",1);function Pi(r,e){T(e,!0);let t=b(e,"open",15,!1),a=b(e,"ref",15,null),s=b(e,"value",15,""),i=b(e,"title",3,"Command Palette"),n=b(e,"description",3,"Search for a command to run"),o=q(e,["$$slots","$$events","$$legacy","open","ref","value","title","description","portalProps","children"]);var c=y(),u=g(c);H(u,()=>Sa,(m,f)=>{f(m,J(()=>o,{get open(){return t()},set open(_){t(_)},children:(_,v)=>{var h=Ci(),p=g(h);H(p,()=>$a,(P,I)=>{I(P,{class:"sr-only",children:(N,L)=>{var G=wi(),O=g(G);H(O,()=>wa,(E,M)=>{M(E,{children:(B,ee)=>{me();var X=pe();ne(()=>ie(X,i())),l(B,X)},$$slots:{default:!0}})});var A=F(O,2);H(A,()=>Ca,(E,M)=>{M(E,{children:(B,ee)=>{me();var X=pe();ne(()=>ie(X,n())),l(B,X)},$$slots:{default:!0}})}),l(N,G)},$$slots:{default:!0}})});var x=F(p,2);H(x,()=>Pa,(P,I)=>{I(P,{class:"overflow-hidden p-0",get portalProps(){return e.portalProps},children:(N,L)=>{Si(N,J({class:"**:data-[slot=command-input-wrapper]:h-12 [&_[data-command-group]]:px-2 [&_[data-command-group]:not([hidden])_~[data-command-group]]:pt-0 [&_[data-command-input-wrapper]_svg]:h-5 [&_[data-command-input-wrapper]_svg]:w-5 [&_[data-command-input]]:h-12 [&_[data-command-item]]:px-2 [&_[data-command-item]]:py-3 [&_[data-command-item]_svg]:h-5 [&_[data-command-item]_svg]:w-5"},()=>o,{get children(){return e.children},get value(){return s()},set value(G){s(G)},get ref(){return a()},set ref(G){a(G)}}))},$$slots:{default:!0}})}),l(_,h)},$$slots:{default:!0}}))}),l(r,c),D()}function Ii(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class"]);var s=y(),i=g(s);{let n=$(()=>te("py-6 text-center text-sm",e.class));H(i,()=>Ys,(o,c)=>{c(o,J({"data-slot":"command-empty",get class(){return d(n)}},()=>a,{get ref(){return t()},set ref(u){t(u)}}))})}l(r,s),D()}var Mi=S("<!> <!>",1);function ki(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class","children","heading","value"]);var s=y(),i=g(s);{let n=$(()=>te("text-foreground overflow-hidden p-1",e.class)),o=$(()=>e.value??e.heading??`----${ss()}`);H(i,()=>Zs,(c,u)=>{u(c,J({"data-slot":"command-group",get class(){return d(n)},get value(){return d(o)}},()=>a,{get ref(){return t()},set ref(m){t(m)},children:(m,f)=>{var _=Mi(),v=g(_);{var h=x=>{var P=y(),I=g(P);H(I,()=>tn,(N,L)=>{L(N,{class:"text-muted-foreground px-2 py-1.5 text-xs font-medium",children:(G,O)=>{me();var A=pe();ne(()=>ie(A,e.heading)),l(G,A)},$$slots:{default:!0}})}),l(x,P)};j(v,x=>{e.heading&&x(h)})}var p=F(v,2);H(p,()=>sn,(x,P)=>{P(x,{get children(){return e.children}})}),l(m,_)},$$slots:{default:!0}}))})}l(r,s),D()}function Ai(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class"]);var s=y(),i=g(s);{let n=$(()=>te("aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class));H(i,()=>cn,(o,c)=>{c(o,J({"data-slot":"command-item",get class(){return d(n)}},()=>a,{get ref(){return t()},set ref(u){t(u)}}))})}l(r,s),D()}var Oi=S('<div class="flex h-9 items-center gap-2 border-b ps-3 pe-8" data-slot="command-input-wrapper"><!> <!></div>');function Ei(r,e){T(e,!0);let t=b(e,"ref",15,null),a=b(e,"value",15,""),s=q(e,["$$slots","$$events","$$legacy","ref","class","value"]);var i=Oi(),n=C(i);ns(n,{class:"size-4 shrink-0 opacity-50"});var o=F(n,2);{let c=$(()=>te("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e.class));H(o,()=>on,(u,m)=>{m(u,J({"data-slot":"command-input",get class(){return d(c)}},()=>s,{get ref(){return t()},set ref(f){t(f)},get value(){return a()},set value(f){a(f)}}))})}w(i),l(r,i),D()}function Ni(r,e){T(e,!0);let t=b(e,"ref",15,null),a=q(e,["$$slots","$$events","$$legacy","ref","class"]);var s=y(),i=g(s);{let n=$(()=>te("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e.class));H(i,()=>fn,(o,c)=>{c(o,J({"data-slot":"command-list",get class(){return d(n)}},()=>a,{get ref(){return t()},set ref(u){t(u)}}))})}l(r,s),D()}var Ti=S('<span class="text-xs text-muted-foreground"> </span>'),Di=S('<div class="flex flex-col"><span class="font-medium"> </span> <!></div>'),Ri=S("<!> <!>",1);function Vi(r,e){T(e,!0);const t=v=>{var h=Ri(),p=g(h);H(p,()=>Ei,(P,I)=>{I(P,{"data-testid":"command-palette-input",placeholder:"Search tasks, items, inbox..."})});var x=F(p,2);H(x,()=>Ni,(P,I)=>{I(P,{"data-testid":"command-palette-results",children:(N,L)=>{var G=y(),O=g(G);{var A=M=>{var B=y(),ee=g(B);H(ee,()=>$i,(X,Q)=>{Q(X,{children:(z,K)=>{me();var W=pe("Searching...");l(z,W)},$$slots:{default:!0}})}),l(M,B)},E=M=>{var B=y(),ee=g(B);{var X=z=>{var K=y(),W=g(K);H(W,()=>Ii,(re,ae)=>{ae(re,{children:(ce,oe)=>{me();var ue=pe("No results found.");l(ce,ue)},$$slots:{default:!0}})}),l(z,K)},Q=z=>{var K=y(),W=g(K);He(W,17,()=>Object.entries(d(c)),We,(re,ae)=>{var ce=$(()=>Rr(d(ae),2));let oe=()=>d(ce)[0],ue=()=>d(ce)[1];var Z=y(),xe=g(Z);{let Se=$(()=>m[oe()]||oe());H(xe,()=>ki,(ke,Ne)=>{Ne(ke,{get"data-testid"(){return`search-group-${oe()??""}`},get heading(){return d(Se)},children:(Ce,Te)=>{var Oe=y(),Le=g(Oe);He(Le,17,ue,We,(fe,Be)=>{var nt=y(),Ye=g(nt);H(Ye,()=>Ai,(Xe,it)=>{it(Xe,{"data-testid":"search-result-item",onSelect:()=>u(d(Be)),children:(ot,Qe)=>{var De=Di(),Fe=C(De),ze=C(Fe,!0);w(Fe);var je=F(Fe,2);{var lt=Ee=>{var Ke=Ti(),Ze=C(Ke);w(Ke),ne(dt=>ie(Ze,`Matched: ${dt??""}`),[()=>d(Be).matchedFields.join(", ")]),l(Ee,Ke)};j(je,Ee=>{d(Be).matchedFields.length>0&&Ee(lt)})}w(De),ne(()=>ie(ze,d(Be).title)),l(ot,De)},$$slots:{default:!0}})}),l(fe,nt)}),l(Ce,Oe)},$$slots:{default:!0}})})}l(re,Z)}),l(z,K)};j(ee,z=>{d(s).trim()&&d(i).length===0?z(X):z(Q,!1)},!0)}l(M,B)};j(O,M=>{d(n)?M(A):M(E,!1)})}l(N,G)},$$slots:{default:!0}})}),l(v,h)};let a=le(!1),s=le(""),i=le(wt([])),n=le(!1),o=null;$t(()=>{function v(h){(h.metaKey||h.ctrlKey)&&h.key==="k"&&(h.preventDefault(),R(a,!d(a)))}return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}}),er(()=>{if(d(s).trim()===""){R(i,[],!0),R(n,!1);return}return R(n,!0),o&&clearTimeout(o),o=setTimeout(async()=>{try{const v=await Xr(d(s));R(i,v.results,!0)}catch(v){console.error("Search failed:",v),R(i,[],!0)}finally{R(n,!1)}},300),()=>{o&&clearTimeout(o)}});const c=$(()=>d(i).reduce((v,h)=>(v[h.type]||(v[h.type]=[]),v[h.type].push(h),v),{}));function u(v){R(a,!1),R(s,""),R(i,[],!0);const p={task:x=>`${ve}/tasks?selected=${x}`,item:x=>`${ve}/items?selected=${x}`,inbox:x=>`${ve}/inbox?selected=${x}`,observation:x=>`${ve}/observations?selected=${x}`,agent:x=>`${ve}/meta?selected=${x}`,workflow:x=>`${ve}/meta?selected=${x}`,convention:x=>`${ve}/meta?selected=${x}`}[v.type]?.(v.ulid);p&&za(p)}const m={task:"Tasks",item:"Spec Items",inbox:"Inbox",observation:"Observations",agent:"Agents",workflow:"Workflows",convention:"Conventions"};var f=y(),_=g(f);H(_,()=>Pi,(v,h)=>{h(v,{"data-testid":"command-palette",title:"Search",description:"Search across all entities",get open(){return d(a)},set open(p){R(a,p,!0)},get value(){return d(s)},set value(p){R(s,p,!0)},children:(p,x)=>{t(p)},$$slots:{default:!0}})}),l(r,f),D()}var Gi=S("<!> Valid",1),Bi=S("<!> ",1),Qi=S('<!> <span class="sr-only">Refresh</span>',1),Fi=S('<div role="alert" class="flex items-center justify-between gap-4 border-b border-amber-200 bg-amber-50 px-4 py-2 text-sm text-amber-800 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-200"><div class="flex items-center gap-3"><!> <span><strong>Read-only mode</strong> <span class="hidden sm:inline"> </span> <span class="sm:hidden"> </span></span></div> <div class="flex items-center gap-2"><!> <!></div></div>');function zi(r,e){T(e,!0);function t(m){if(!m)return"Unknown";const f=new Date(m),v=new Date().getTime()-f.getTime(),h=Math.floor(v/6e4),p=Math.floor(h/60),x=Math.floor(p/24);return h<1?"Just now":h<60?`${h} minute${h===1?"":"s"} ago`:p<24?`${p} hour${p===1?"":"s"} ago`:x<7?`${x} day${x===1?"":"s"} ago`:f.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function a(){window.location.reload()}const s=$(Zr),i=$(ea),n=$(()=>t(d(i)));var o=y(),c=g(o);{var u=m=>{var f=Fi(),_=C(f),v=C(_);Yn(v,{class:"h-4 w-4 flex-shrink-0"});var h=F(v,2),p=F(C(h),2),x=C(p);w(p);var P=F(p,2),I=C(P);w(P),w(h),w(_);var N=F(_,2),L=C(N);{var G=A=>{var E=y(),M=g(E);{var B=X=>{bt(X,{variant:"outline",class:"gap-1 border-green-500 text-green-600 dark:text-green-400",children:(Q,z)=>{var K=Gi(),W=g(K);_a(W,{class:"h-3 w-3"}),me(),l(Q,K)},$$slots:{default:!0}})},ee=X=>{bt(X,{variant:"outline",class:"gap-1 border-red-500 text-red-600 dark:text-red-400",get title(){return`${d(s).errorCount??""} errors, ${d(s).warningCount??""} warnings`},children:(Q,z)=>{var K=Bi(),W=g(K);ya(W,{class:"h-3 w-3"});var re=F(W);ne(()=>ie(re,` ${d(s).errorCount??""} errors`)),l(Q,K)},$$slots:{default:!0}})};j(M,X=>{d(s).valid?X(B):X(ee,!1)})}l(A,E)};j(L,A=>{d(s)&&A(G)})}var O=F(L,2);va(O,{variant:"ghost",size:"sm",onclick:a,title:"Refresh page",children:(A,E)=>{var M=Qi(),B=g(M);Qa(B,{class:"h-4 w-4"}),me(2),l(A,M)},$$slots:{default:!0}}),w(N),w(f),ne(()=>{ie(x,`— Data as of: ${d(n)??""}`),ie(I,`— ${d(n)??""}`)}),l(m,f)};j(c,m=>{nr()&&m(u)})}l(r,o),D()}function Ki(){return new cr({defaultOptions:{queries:{staleTime:30*1e3,gcTime:600*1e3,retry:1,retryDelay:1e3,refetchOnWindowFocus:!1},mutations:{retry:0}}})}const Xt=["tasks:updates","items:updates","inbox:updates","triage:updates","agents","files:updates"];function qi(r,e){switch(r){case"tasks:updates":return[se.tasks.all,se.validation.all,se.sessionContext.all];case"items:updates":return[se.items.all,se.validation.all];case"inbox:updates":return[se.inbox.all];case"triage:updates":return[se.inbox.all];case"agents":return new Set(["message_start","message_progress","thinking_start","thinking_progress","tool_call_start"]).has(e.event)?[]:(e.event==="message_complete"||e.event==="thinking_complete"||e.event==="tool_call_complete")&&e.data?.session_id?[se.sessions.all,se.agents.all]:[se.agents.all,se.sessions.all];case"files:updates":return[se.settings.all,se.workflows.all,se.observations.all,se.validation.all,se.observations.all,se.sessionContext.all];default:return[]}}let St=null,Zt=!1;function Hi(r){return e=>{if(!St)return;const t=qi(r,e);for(const a of t)St.invalidateQueries({queryKey:a})}}const Li=new Map;function ji(r){if(!Zt){St=r,Aa([...Xt]);for(const e of Xt){const t=Hi(e);Li.set(e,t),Oa(e,t)}Zt=!0}}var Wi=S('<link rel="icon" type="image/x-icon"/> <link rel="icon" type="image/png" sizes="32x32"/> <link rel="icon" type="image/png" sizes="192x192"/>',1),Ui=S('<div class="flex items-center justify-center h-32"><span class="text-muted-foreground">Loading...</span></div>'),Ji=S('<!> <main class="flex-1 overflow-auto p-4 pb-20 md:pb-4 min-w-0"><!></main>',1),Yi=S('<div class="hidden md:block"><!></div> <!> <!>',1),Xi=S("<!> <!>",1);function Mo(r,e){T(e,!0);const t=Ki();sa(t);let a=le(!1);$t(async()=>{if(await ta(),nr()){ra(),R(a,!0);return}await aa(),R(a,!0);const c=sr();Ea({projectPath:c??void 0}),ji(t)});let s=$(()=>d(a));var i=Xi();cs("12qhfyh",c=>{var u=Wi(),m=g(u),f=F(m,2),_=F(f,2);ne(()=>{$e(m,"href",`${ve??""}/favicon.ico`),$e(f,"href",`${ve??""}/favicon-32.png`),$e(_,"href",`${ve??""}/favicon-192.png`)}),l(c,u)});var n=g(i);Vi(n,{});var o=F(n,2);bs(o,{get client(){return t},children:(c,u)=>{Tn(c,{children:(m,f)=>{var _=Yi(),v=g(_),h=C(v);bi(h,{}),w(v);var p=F(v,2);Bs(p,{children:(P,I)=>{var N=Ji(),L=g(N);zi(L,{});var G=F(L,2),O=C(G);{var A=M=>{var B=y(),ee=g(B);V(ee,()=>e.children),l(M,B)},E=M=>{var B=Ui();l(M,B)};j(O,M=>{d(s)?M(A):M(E,!1)})}w(G),l(P,N)},$$slots:{default:!0}});var x=F(p,2);xi(x,{}),l(m,_)},$$slots:{default:!0}})},$$slots:{default:!0}}),l(r,i),D()}export{Mo as component,Io as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as h,a as c}from"../chunks/y4GeEH6k.js";import"../chunks/DxJw79Wi.js";import{p as l,f as v,t as u,a as _,c as s,r as e,s as g}from"../chunks/CaAJD3dl.js";import{s as o}from"../chunks/DqT6OH_u.js";import{i as x}from"../chunks/C0w6WDm5.js";import{p}from"../chunks/dh5HeqUr.js";var d=h("<h1> </h1> <p> </p>",1);function y(m,i){l(i,!1),x();var t=d(),r=v(t),f=s(r,!0);e(r);var a=g(r,2),n=s(a,!0);e(a),u(()=>{o(f,p.status),o(n,p.error?.message)}),c(m,t),_()}export{y as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as C,a,f as d,t as qt}from"../chunks/y4GeEH6k.js";import{p as Mt,f as y,e as Zt,a as Bt,b as ue,Q as fe,s as r,c as s,g as t,u as K,r as e,n as R,t as M,d as me}from"../chunks/CaAJD3dl.js";import{d as _e,s as h}from"../chunks/DqT6OH_u.js";import{s as te,r as ee,i as f}from"../chunks/Dg_zDpDS.js";import{l as ae,a as bt,b as yt,q as wt,d as ft,S as Jt,T as xe,U as ge,V as pe,W as he,B as Nt,p as Xt,h as $t,j as Dt}from"../chunks/Dd5umPsk.js";import{C as jt}from"../chunks/CF1CoqD5.js";import{C as Ct}from"../chunks/Du5ng3u4.js";import{C as Pt}from"../chunks/DKIeaprD.js";import{F as be}from"../chunks/BYtjHfeq.js";import{I as se}from"../chunks/C5_PAZ0y.js";import{G as ye}from"../chunks/BG0850zf.js";import{C as we}from"../chunks/BvpNHcD6.js";import{C as $e}from"../chunks/Yyz1XMQA.js";const je=!1,Sa=Object.freeze(Object.defineProperty({__proto__:null,ssr:je},Symbol.toStringTag,{value:"Module"}));function Ce(mt,O){Mt(O,!0);let at=ee(O,["$$slots","$$events","$$legacy"]);const dt=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18"}]];se(mt,te({name:"server"},()=>at,{get iconNode(){return dt},children:(ot,_t)=>{var W=C(),P=y(W);ae(P,()=>O.children??Zt),a(ot,W)},$$slots:{default:!0}})),Bt()}function Yt(mt,O){Mt(O,!0);let at=ee(O,["$$slots","$$events","$$legacy"]);const dt=[["path",{d:"M12 7v14"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"}]];se(mt,te({name:"book-open"},()=>at,{get iconNode(){return dt},children:(ot,_t)=>{var W=C(),P=y(W);ae(P,()=>O.children??Zt),a(ot,W)},$$slots:{default:!0}})),Bt()}var Pe=d('<p class="text-sm text-muted-foreground" data-testid="settings-summary">Project configuration and daemon status</p>'),ke=d('<div class="flex items-center gap-2"><!> <h2 class="text-sm font-semibold">Project Configuration</h2></div>'),Se=d('<div class="flex flex-col gap-2" data-testid="settings-project-loading"><div class="h-4 w-3/4 rounded bg-muted ds-shimmer"></div> <div class="h-4 w-1/2 rounded bg-muted ds-shimmer"></div> <div class="h-4 w-2/3 rounded bg-muted ds-shimmer"></div></div>'),ze=d('<div class="text-sm text-destructive" data-testid="settings-project-error" role="alert"> </div>'),qe=d('<span class="text-xs text-muted-foreground">None</span>'),Ne=d('<dl class="flex flex-col gap-2 text-sm"><div class="flex justify-between"><dt class="text-muted-foreground">Name</dt> <dd class="font-medium" data-testid="config-project-name"> </dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Version</dt> <dd class="font-mono text-xs" data-testid="config-project-version"> </dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Status</dt> <dd data-testid="config-project-status"><!></dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Spec Version</dt> <dd class="font-mono text-xs" data-testid="config-spec-version"> </dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Root Directory</dt> <dd class="font-mono text-xs truncate max-w-[200px]" data-testid="config-root-dir"> </dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Remote Tracking</dt> <dd data-testid="config-remote-tracking"><!></dd></div></dl>'),De=d('<div class="text-sm text-muted-foreground" data-testid="settings-project-empty">No project configuration found.</div>'),Me=d("<!> <!>",1),Be=d('<div class="flex items-center gap-2"><!> <h2 class="text-sm font-semibold">Daemon Connection</h2></div>'),Fe=d('<div class="flex flex-col gap-2" data-testid="settings-daemon-loading"><div class="h-4 w-3/4 rounded bg-muted ds-shimmer"></div> <div class="h-4 w-1/2 rounded bg-muted ds-shimmer"></div></div>'),Qe=d('<div class="flex flex-col gap-2"><div class="flex items-center gap-2"><span class="size-2 rounded-full bg-severity-error"></span> <span class="text-sm font-medium" data-testid="daemon-status">Disconnected</span></div> <div class="text-sm text-destructive" data-testid="settings-daemon-error" role="alert"> </div></div>'),He=d('<div class="flex justify-between"><dt class="text-muted-foreground">Port</dt> <dd class="font-mono text-xs" data-testid="daemon-port"> </dd></div>'),Ke=d('<dl class="flex flex-col gap-2 text-sm"><div class="flex justify-between"><dt class="text-muted-foreground">Status</dt> <dd class="flex items-center gap-2" data-testid="daemon-status"><span class="size-2 rounded-full bg-severity-success"></span> <span class="font-medium">Connected</span></dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Version</dt> <dd class="font-mono text-xs" data-testid="daemon-version"> </dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Uptime</dt> <dd class="font-mono text-xs" data-testid="daemon-uptime"> </dd></div> <div class="flex justify-between"><dt class="text-muted-foreground">Active Connections</dt> <dd class="font-mono text-xs" data-testid="daemon-connections"> </dd></div> <!></dl>'),Ve=d('<div class="text-sm text-muted-foreground" data-testid="settings-daemon-static">Daemon connection details are unavailable in static mode.</div>'),Ge=d("<!> <!>",1),Le=d('<div class="flex items-center gap-2"><!> <h2 class="text-sm font-semibold">Shadow Branch</h2></div>'),Te=d('<div class="flex flex-col gap-2" data-testid="settings-shadow-loading"><div class="h-4 w-3/4 rounded bg-muted ds-shimmer"></div> <div class="h-4 w-1/2 rounded bg-muted ds-shimmer"></div></div>'),Ue=d('<div class="text-sm text-destructive" data-testid="settings-shadow-error" role="alert"> </div>'),Ie=d('<span class="size-2 rounded-full bg-severity-success"></span> <span class="font-medium">Healthy</span>',1),Re=d('<span class="size-2 rounded-full bg-severity-warning"></span> <span class="font-medium">Unhealthy</span>',1),Ae=d('<span class="size-2 rounded-full bg-muted-foreground"></span> <span class="font-medium">Disabled</span>',1),Ee=d('<div class="flex justify-between"><dt class="text-muted-foreground">Branch</dt> <dd class="font-mono text-xs" data-testid="shadow-branch"> </dd></div>'),Oe=d('<div class="flex justify-between"><dt class="text-muted-foreground">Worktree</dt> <dd class="font-mono text-xs truncate max-w-[200px]" data-testid="shadow-worktree"> </dd></div>'),We=d('<span class="text-xs text-muted-foreground">Not configured</span>'),Je=d('<dl class="flex flex-col gap-2 text-sm"><div class="flex justify-between"><dt class="text-muted-foreground">Status</dt> <dd class="flex items-center gap-2" data-testid="shadow-status"><!></dd></div> <!> <!> <div class="flex justify-between"><dt class="text-muted-foreground">Remote Tracking</dt> <dd data-testid="shadow-remote"><!></dd></div></dl>'),Xe=d('<div class="text-sm text-muted-foreground" data-testid="settings-shadow-static">Shadow branch status is unavailable in static mode.</div>'),Ye=d('<div class="text-sm text-muted-foreground" data-testid="settings-shadow-empty">Shadow branch not detected.</div>'),Ze=d("<!> <!>",1),ta=d('<span class="text-xs text-muted-foreground" data-testid="conventions-count"> </span>'),ea=d('<div class="flex items-center justify-between"><div class="flex items-center gap-2"><!> <h2 class="text-sm font-semibold">Conventions</h2></div> <!></div>'),aa=d('<div class="h-10 rounded bg-muted ds-shimmer"></div>'),sa=d('<div class="flex flex-col gap-2" data-testid="settings-conventions-loading"></div>'),ra=d('<div class="text-sm text-destructive" data-testid="settings-conventions-error" role="alert"> </div>'),da=d('<div class="flex flex-col items-center justify-center py-8" data-testid="settings-conventions-empty"><!> <p class="text-sm text-muted-foreground">No conventions defined</p></div>'),oa=d('<li class="text-muted-foreground flex items-start gap-1.5"><span class="text-xs mt-1 shrink-0">•</span> <span> </span></li>'),ia=d('<ul class="flex flex-col gap-1 mb-2"></ul>'),na=d('<div class="flex flex-col gap-0.5 text-xs"><div class="flex items-center gap-1.5"><span class="text-severity-success font-medium">Good:</span> <code class="bg-muted px-1 py-0.5 rounded"> </code></div> <div class="flex items-center gap-1.5"><span class="text-severity-error font-medium">Bad:</span> <code class="bg-muted px-1 py-0.5 rounded"> </code></div></div>'),la=d('<div class="flex flex-col gap-1.5 mt-2 pt-2 border-t"><h4 class="text-xs font-medium text-muted-foreground uppercase tracking-wider">Examples</h4> <!></div>'),va=d('<div class="border-t px-3 py-2 text-sm" data-testid="convention-details"><!> <!></div>'),ca=d('<div class="rounded-md border" data-testid="convention-item"><button type="button" class="flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-muted/50 transition-colors" data-testid="convention-toggle"><!> <span class="font-medium" data-testid="convention-domain"> </span> <span class="text-xs text-muted-foreground ml-auto"> </span></button> <!></div>'),ua=d('<div class="flex flex-col gap-1" data-testid="conventions-list"></div>'),fa=d("<!> <!>",1),ma=d('<div class="flex flex-col gap-4 p-6"><div class="flex items-center justify-between"><div><h1 class="text-2xl font-bold">Settings</h1> <!></div></div> <div class="grid gap-4 md:grid-cols-2"><!> <!> <!> <!></div></div>');function za(mt,O){Mt(O,!0);let at=ue(fe(new Set));const dt=bt(()=>({queryKey:wt.settings.projectConfig(),queryFn:()=>{if(ft()){const g=Jt();return{project:{name:g?.project.name??"Static Export",version:g?.project.version??"—",status:"static"},spec_version:null,root_dir:"GitHub Pages export",remote_tracking:null,daemon:{port:0,host:"n/a",auto_start:!1}}}return xe()},enabled:yt()})),ot=bt(()=>({queryKey:wt.settings.health(),queryFn:()=>ge(),enabled:yt()&&!ft()})),_t=bt(()=>({queryKey:wt.settings.shadow(),queryFn:()=>pe(),enabled:yt()&&!ft()})),W=bt(()=>({queryKey:wt.settings.conventions(),queryFn:()=>ft()?{items:Jt()?.conventions??[],total:0}:he(),enabled:yt()}));let P=K(()=>dt.data??null),ht=K(()=>ot.data??null),A=K(()=>_t.data??null),xt=K(()=>W.data?.items??[]),Ft=K(()=>dt.isLoading),Qt=K(()=>ot.isLoading),Ht=K(()=>_t.isLoading),kt=K(()=>W.isLoading),Kt=K(()=>dt.error?.message??""),Vt=K(()=>ot.error?.message??""),Gt=K(()=>_t.error?.message??""),Lt=K(()=>W.error?.message??""),re=K(()=>t(Ft)&&t(Qt)&&t(Ht)&&t(kt));function de(g){const Q=Math.floor(g/3600),z=Math.floor(g%3600/60),q=Math.floor(g%60);return Q>0?`${Q}h ${z}m ${q}s`:z>0?`${z}m ${q}s`:`${q}s`}function oe(g){const Q=new Set(t(at));Q.has(g)?Q.delete(g):Q.add(g),me(at,Q,!0)}var St=ma(),zt=s(St),Tt=s(zt),ie=r(s(Tt),2);{var ne=g=>{var Q=Pe();a(g,Q)};f(ie,g=>{t(re)||g(ne)})}e(Tt),e(zt);var Ut=r(zt,2),It=s(Ut);jt(It,{"data-testid":"settings-project-config",children:(g,Q)=>{var z=Me(),q=y(z);Pt(q,{class:"pb-3",children:(N,nt)=>{var n=ke(),j=s(n);be(j,{class:"size-4 text-muted-foreground"}),R(2),e(n),a(N,n)},$$slots:{default:!0}});var it=r(q,2);Ct(it,{class:"pt-0",children:(N,nt)=>{var n=C(),j=y(n);{var J=o=>{var m=Se();a(o,m)},X=o=>{var m=C(),H=y(m);{var E=l=>{var v=ze(),k=s(v,!0);e(v),M(()=>h(k,t(Kt))),a(l,v)},Y=l=>{var v=C(),k=y(v);{var Z=c=>{var u=Ne(),b=s(u),_=r(s(b),2),D=s(_,!0);e(_),e(b);var x=r(b,2),B=r(s(x),2),st=s(B,!0);e(B),e(x);var G=r(x,2),V=r(s(G),2),vt=s(V);Nt(vt,{variant:"secondary",class:"text-xs",children:(w,rt)=>{R();var ct=qt();M(()=>h(ct,t(P).project?.status??"—")),a(w,ct)},$$slots:{default:!0}}),e(V),e(G);var L=r(G,2),tt=r(s(L),2),T=s(tt,!0);e(tt),e(L);var U=r(L,2),$=r(s(U),2),i=s($,!0);e($),e(U);var p=r(U,2),F=r(s(p),2),I=s(F);{var gt=w=>{Nt(w,{variant:"outline",class:"text-xs",children:(rt,ct)=>{R();var et=qt();M(()=>h(et,`${t(P).remote_tracking.type??""}: ${t(P).remote_tracking.value??""}`)),a(rt,et)},$$slots:{default:!0}})},S=w=>{var rt=qe();a(w,rt)};f(I,w=>{t(P).remote_tracking?w(gt):w(S,!1)})}e(F),e(p),e(u),M(()=>{h(D,t(P).project?.name??"Not configured"),h(st,t(P).project?.version??"—"),h(T,t(P).spec_version??"—"),Xt($,"title",t(P).root_dir),h(i,t(P).root_dir)}),a(c,u)},lt=c=>{var u=De();a(c,u)};f(k,c=>{t(P)?c(Z):c(lt,!1)},!0)}a(l,v)};f(H,l=>{t(Kt)?l(E):l(Y,!1)},!0)}a(o,m)};f(j,o=>{t(Ft)?o(J):o(X,!1)})}a(N,n)},$$slots:{default:!0}}),a(g,z)},$$slots:{default:!0}});var Rt=r(It,2);jt(Rt,{"data-testid":"settings-daemon",children:(g,Q)=>{var z=Ge(),q=y(z);Pt(q,{class:"pb-3",children:(N,nt)=>{var n=Be(),j=s(n);Ce(j,{class:"size-4 text-muted-foreground"}),R(2),e(n),a(N,n)},$$slots:{default:!0}});var it=r(q,2);Ct(it,{class:"pt-0",children:(N,nt)=>{var n=C(),j=y(n);{var J=o=>{var m=Fe();a(o,m)},X=o=>{var m=C(),H=y(m);{var E=l=>{var v=Qe(),k=r(s(v),2),Z=s(k,!0);e(k),e(v),M(()=>h(Z,t(Vt))),a(l,v)},Y=l=>{var v=C(),k=y(v);{var Z=c=>{var u=Ke(),b=r(s(u),2),_=r(s(b),2),D=s(_,!0);e(_),e(b);var x=r(b,2),B=r(s(x),2),st=s(B,!0);e(B),e(x);var G=r(x,2),V=r(s(G),2),vt=s(V,!0);e(V),e(G);var L=r(G,2);{var tt=T=>{var U=He(),$=r(s(U),2),i=s($,!0);e($),e(U),M(()=>h(i,t(P).daemon.port)),a(T,U)};f(L,T=>{t(P)&&T(tt)})}e(u),M(T=>{h(D,t(ht).version),h(st,T),h(vt,t(ht).connections)},[()=>de(t(ht).uptime)]),a(c,u)},lt=c=>{var u=C(),b=y(u);{var _=D=>{var x=Ve();a(D,x)};f(b,D=>{ft()&&D(_)},!0)}a(c,u)};f(k,c=>{t(ht)?c(Z):c(lt,!1)},!0)}a(l,v)};f(H,l=>{t(Vt)?l(E):l(Y,!1)},!0)}a(o,m)};f(j,o=>{t(Qt)?o(J):o(X,!1)})}a(N,n)},$$slots:{default:!0}}),a(g,z)},$$slots:{default:!0}});var At=r(Rt,2);jt(At,{"data-testid":"settings-shadow",children:(g,Q)=>{var z=Ze(),q=y(z);Pt(q,{class:"pb-3",children:(N,nt)=>{var n=Le(),j=s(n);ye(j,{class:"size-4 text-muted-foreground"}),R(2),e(n),a(N,n)},$$slots:{default:!0}});var it=r(q,2);Ct(it,{class:"pt-0",children:(N,nt)=>{var n=C(),j=y(n);{var J=o=>{var m=Te();a(o,m)},X=o=>{var m=C(),H=y(m);{var E=l=>{var v=Ue(),k=s(v,!0);e(v),M(()=>h(k,t(Gt))),a(l,v)},Y=l=>{var v=C(),k=y(v);{var Z=c=>{var u=Je(),b=s(u),_=r(s(b),2),D=s(_);{var x=i=>{var p=Ie();R(2),a(i,p)},B=i=>{var p=C(),F=y(p);{var I=S=>{var w=Re();R(2),a(S,w)},gt=S=>{var w=Ae();R(2),a(S,w)};f(F,S=>{t(A).enabled?S(I):S(gt,!1)},!0)}a(i,p)};f(D,i=>{t(A).enabled&&t(A).healthy?i(x):i(B,!1)})}e(_),e(b);var st=r(b,2);{var G=i=>{var p=Ee(),F=r(s(p),2),I=s(F,!0);e(F),e(p),M(()=>h(I,t(A).branch_name)),a(i,p)};f(st,i=>{t(A).branch_name&&i(G)})}var V=r(st,2);{var vt=i=>{var p=Oe(),F=r(s(p),2),I=s(F,!0);e(F),e(p),M(()=>{Xt(F,"title",t(A).worktree_dir),h(I,t(A).worktree_dir)}),a(i,p)};f(V,i=>{t(A).worktree_dir&&i(vt)})}var L=r(V,2),tt=r(s(L),2),T=s(tt);{var U=i=>{Nt(i,{variant:"outline",class:"text-xs bg-severity-success-muted text-severity-success-muted-fg",children:(p,F)=>{R();var I=qt("Configured");a(p,I)},$$slots:{default:!0}})},$=i=>{var p=We();a(i,p)};f(T,i=>{t(A).remote_tracking?i(U):i($,!1)})}e(tt),e(L),e(u),a(c,u)},lt=c=>{var u=C(),b=y(u);{var _=x=>{var B=Xe();a(x,B)},D=x=>{var B=Ye();a(x,B)};f(b,x=>{ft()?x(_):x(D,!1)},!0)}a(c,u)};f(k,c=>{t(A)?c(Z):c(lt,!1)},!0)}a(l,v)};f(H,l=>{t(Gt)?l(E):l(Y,!1)},!0)}a(o,m)};f(j,o=>{t(Ht)?o(J):o(X,!1)})}a(N,n)},$$slots:{default:!0}}),a(g,z)},$$slots:{default:!0}});var le=r(At,2);jt(le,{class:"md:col-span-2","data-testid":"settings-conventions",children:(g,Q)=>{var z=fa(),q=y(z);Pt(q,{class:"pb-3",children:(N,nt)=>{var n=ea(),j=s(n),J=s(j);Yt(J,{class:"size-4 text-muted-foreground"}),R(2),e(j);var X=r(j,2);{var o=m=>{var H=ta(),E=s(H);e(H),M(()=>h(E,`${t(xt).length??""} domain${t(xt).length===1?"":"s"}`)),a(m,H)};f(X,m=>{!t(kt)&&t(xt).length>0&&m(o)})}e(n),a(N,n)},$$slots:{default:!0}});var it=r(q,2);Ct(it,{class:"pt-0",children:(N,nt)=>{var n=C(),j=y(n);{var J=o=>{var m=sa();$t(m,20,()=>Array(3),Dt,(H,E)=>{var Y=aa();a(H,Y)}),e(m),a(o,m)},X=o=>{var m=C(),H=y(m);{var E=l=>{var v=ra(),k=s(v,!0);e(v),M(()=>h(k,t(Lt))),a(l,v)},Y=l=>{var v=C(),k=y(v);{var Z=c=>{var u=da(),b=s(u);Yt(b,{class:"size-8 text-muted-foreground/30 mb-2"}),R(2),e(u),a(c,u)},lt=c=>{var u=ua();$t(u,21,()=>t(xt),b=>b._ulid,(b,_)=>{var D=ca(),x=s(D);x.__click=()=>oe(t(_).domain);var B=s(x);{var st=$=>{we($,{class:"size-3.5 text-muted-foreground shrink-0"})},G=$=>{$e($,{class:"size-3.5 text-muted-foreground shrink-0"})};f(B,$=>{t(at).has(t(_).domain)?$(st):$(G,!1)})}var V=r(B,2),vt=s(V,!0);e(V);var L=r(V,2),tt=s(L);e(L),e(x);var T=r(x,2);{var U=$=>{var i=va(),p=s(i);{var F=S=>{var w=ia();$t(w,21,()=>t(_).rules,Dt,(rt,ct)=>{var et=oa(),ut=r(s(et),2),pt=s(ut,!0);e(ut),e(et),M(()=>h(pt,t(ct))),a(rt,et)}),e(w),a(S,w)};f(p,S=>{t(_).rules.length>0&&S(F)})}var I=r(p,2);{var gt=S=>{var w=la(),rt=r(s(w),2);$t(rt,17,()=>t(_).examples,Dt,(ct,et)=>{var ut=na(),pt=s(ut),Et=r(s(pt),2),ve=s(Et,!0);e(Et),e(pt);var Ot=r(pt,2),Wt=r(s(Ot),2),ce=s(Wt,!0);e(Wt),e(Ot),e(ut),M(()=>{h(ve,t(et).good),h(ce,t(et).bad)}),a(ct,ut)}),e(w),a(S,w)};f(I,S=>{t(_).examples&&t(_).examples.length>0&&S(gt)})}e(i),a($,i)};f(T,$=>{t(at).has(t(_).domain)&&$(U)})}e(D),M(()=>{h(vt,t(_).domain),h(tt,`${t(_).rules.length??""} rule${t(_).rules.length===1?"":"s"}`)}),a(b,D)}),e(u),a(c,u)};f(k,c=>{t(xt).length===0?c(Z):c(lt,!1)},!0)}a(l,v)};f(H,l=>{t(Lt)?l(E):l(Y,!1)},!0)}a(o,m)};f(j,o=>{t(kt)?o(J):o(X,!1)})}a(N,n)},$$slots:{default:!0}}),a(g,z)},$$slots:{default:!0}}),e(Ut),e(St),a(mt,St),Bt()}_e(["click"]);export{za as component,Sa as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as Ut,c as U,a as s,f as g,t as _t}from"../chunks/y4GeEH6k.js";import{b as nt,Q as Gt,d as b,g as e,u as R,y as Lt,p as Y,f as A,a as Z,c as m,e as vt,r as l,aX as Ue,aY as Be,G as ge,k as dt,J as _e,a9 as ae,s as f,n as it,t as O}from"../chunks/CaAJD3dl.js";import{o as Ke,d as qe,s as Q}from"../chunks/DqT6OH_u.js";import{p as k,i as $,r as ht,s as jt}from"../chunks/Dg_zDpDS.js";import{l as X,m as Bt,h as wt,B as It,p as Et,y as le,j as Dt,ad as Ve,o as ce,ae as We,af as Oe,ag as ze,a as Ge,b as Le,ah as je,q as He}from"../chunks/Dd5umPsk.js";import{a as Qe,s as Je}from"../chunks/ChQD-6N8.js";import{b as ie}from"../chunks/CDRO15Iv.js";import{g as be}from"../chunks/BsJFsuAT.js";import{p as Xe}from"../chunks/gPrj-hqC.js";import"../chunks/DxJw79Wi.js";import{c as Ye}from"../chunks/oTsvd9y4.js";import{i as Ze}from"../chunks/C0w6WDm5.js";import{C as tr}from"../chunks/Yyz1XMQA.js";import{h as Tt,r as er,a as zt}from"../chunks/fZMteyca.js";import{S as rr,a as sr,b as xe,c as ye,C as ar,d as ir}from"../chunks/VTmrX9Qu.js";import{c as Mt}from"../chunks/Ds9I9wQb.js";import{A as ne,f as ue,h as ve,j as oe,k as nr,l as or,H as dr,C as Se,P as lr,S as cr,E as ur,w as de,m as vr,n as hr}from"../chunks/BypqA25-.js";import{i as fr,B as mr,h as pr,e as F,j as gr,t as _r,k as br,l as xr,a as Kt,f as Ht,g as Qt,c as yr,n as we,d as qt,m as Vt}from"../chunks/B25nWFyA.js";import{C as wr}from"../chunks/BvpNHcD6.js";import{S as bt}from"../chunks/BG8eSzAd.js";import{R as Sr}from"../chunks/DJtZNgcs.js";import{R as Pr}from"../chunks/B7-5z6eA.js";import{C as kr}from"../chunks/Bp5pFYXL.js";function St(v){let t=nt(Gt(v));return{[mr]:!0,[fr]:!0,get current(){return e(t)},set current(i){b(t,i,!0)}}}St.from=pr;St.with=F;St.flatten=gr;St.readonly=_r;St.isBox=br;St.isWritableBox=xr;function Ar(v){return window.getComputedStyle(v).getPropertyValue("direction")}function Ir(v="ltr",t="horizontal"){return{horizontal:v==="rtl"?ve:ue,vertical:oe}[t]}function Cr(v="ltr",t="horizontal"){return{horizontal:v==="rtl"?ue:ve,vertical:ne}[t]}function Nr(v="ltr",t="horizontal"){return["ltr","rtl"].includes(v)||(v="ltr"),["horizontal","vertical"].includes(t)||(t="horizontal"),{nextKey:Ir(v,t),prevKey:Cr(v,t)}}class Rr{#t;#e=St(null);constructor(t){this.#t=t}getCandidateNodes(){return this.#t.rootNode.current?this.#t.candidateSelector?Array.from(this.#t.rootNode.current.querySelectorAll(this.#t.candidateSelector)):this.#t.candidateAttr?Array.from(this.#t.rootNode.current.querySelectorAll(`[${this.#t.candidateAttr}]:not([data-disabled])`)):[]:[]}focusFirstCandidate(){const t=this.getCandidateNodes();t.length&&t[0]?.focus()}handleKeydown(t,i,r=!1){const o=this.#t.rootNode.current;if(!o||!t)return;const c=this.getCandidateNodes();if(!c.length)return;const h=c.indexOf(t),x=Ar(o),{nextKey:_,prevKey:w}=Nr(x,this.#t.orientation.current),I=this.#t.loop.current,S={[_]:h+1,[w]:h-1,[dr]:0,[nr]:c.length-1};if(r){const u=_===oe?ue:oe,a=w===ne?ve:ne;S[u]=h+1,S[a]=h-1}let p=S[i.key];if(p===void 0)return;i.preventDefault(),p<0&&I?p=c.length-1:p===c.length&&I&&(p=0);const d=c[p];if(d)return d.focus(),this.#e.current=d.id,this.#t.onCandidateFocus?.(d),d}getTabIndex(t){const i=this.getCandidateNodes(),r=this.#e.current!==null;return t&&!r&&i[0]===t?(this.#e.current=t.id,0):t?.id===this.#e.current?0:-1}setCurrentTabStopId(t){this.#e.current=t}focusCurrentTabStop(){const t=this.#e.current;if(!t)return;const i=this.#t.rootNode.current?.querySelector(`#${t}`);!i||!or(i)||i.focus()}}const Ct=yr({component:"accordion",parts:["root","trigger","content","item","header"]}),Pe=new Se("Accordion.Root"),Jt=new Se("Accordion.Item");class ke{opts;rovingFocusGroup;attachment;constructor(t){this.opts=t,this.rovingFocusGroup=new Rr({rootNode:this.opts.ref,candidateAttr:Ct.trigger,loop:this.opts.loop,orientation:this.opts.orientation}),this.attachment=Kt(this.opts.ref)}#t=R(()=>({id:this.opts.id.current,"data-orientation":this.opts.orientation.current,"data-disabled":Ht(this.opts.disabled.current),[Ct.root]:"",...this.attachment}));get props(){return e(this.#t)}set props(t){b(this.#t,t)}}class $r extends ke{opts;isMulti=!1;constructor(t){super(t),this.opts=t,this.includesItem=this.includesItem.bind(this),this.toggleItem=this.toggleItem.bind(this)}includesItem(t){return this.opts.value.current===t}toggleItem(t){this.opts.value.current=this.includesItem(t)?"":t}}class Fr extends ke{#t;isMulti=!0;constructor(t){super(t),this.#t=t.value,this.includesItem=this.includesItem.bind(this),this.toggleItem=this.toggleItem.bind(this)}includesItem(t){return this.#t.current.includes(t)}toggleItem(t){this.#t.current=this.includesItem(t)?this.#t.current.filter(i=>i!==t):[...this.#t.current,t]}}class Tr{static create(t){const{type:i,...r}=t,o=i==="single"?new $r(r):new Fr(r);return Pe.set(o)}}class he{static create(t){return Jt.set(new he({...t,rootState:Pe.get()}))}opts;root;#t=R(()=>this.root.includesItem(this.opts.value.current));get isActive(){return e(this.#t)}set isActive(t){b(this.#t,t)}#e=R(()=>this.opts.disabled.current||this.root.opts.disabled.current);get isDisabled(){return e(this.#e)}set isDisabled(t){b(this.#e,t)}attachment;#r=nt(null);get contentNode(){return e(this.#r)}set contentNode(t){b(this.#r,t,!0)}contentPresence;constructor(t){this.opts=t,this.root=t.rootState,this.updateValue=this.updateValue.bind(this),this.attachment=Kt(this.opts.ref),this.contentPresence=new lr({ref:F(()=>this.contentNode),open:F(()=>this.isActive)})}updateValue(){this.root.toggleItem(this.opts.value.current)}#s=R(()=>({id:this.opts.id.current,"data-state":Qt(this.isActive),"data-disabled":Ht(this.isDisabled),"data-orientation":this.root.opts.orientation.current,[Ct.item]:"",...this.attachment}));get props(){return e(this.#s)}set props(t){b(this.#s,t)}}class fe{opts;itemState;#t;#e=R(()=>this.opts.disabled.current||this.itemState.opts.disabled.current||this.#t.opts.disabled.current);attachment;constructor(t,i){this.opts=t,this.itemState=i,this.#t=i.root,this.onclick=this.onclick.bind(this),this.onkeydown=this.onkeydown.bind(this),this.attachment=Kt(this.opts.ref)}static create(t){return new fe(t,Jt.get())}onclick(t){if(e(this.#e)||t.button!==0){t.preventDefault();return}this.itemState.updateValue()}onkeydown(t){if(!e(this.#e)){if(t.key===cr||t.key===ur){t.preventDefault(),this.itemState.updateValue();return}this.#t.rovingFocusGroup.handleKeydown(this.opts.ref.current,t)}}#r=R(()=>({id:this.opts.id.current,disabled:e(this.#e),"aria-expanded":we(this.itemState.isActive),"aria-disabled":we(e(this.#e)),"data-disabled":Ht(e(this.#e)),"data-state":Qt(this.itemState.isActive),"data-orientation":this.#t.opts.orientation.current,[Ct.trigger]:"",tabindex:0,onclick:this.onclick,onkeydown:this.onkeydown,...this.attachment}));get props(){return e(this.#r)}set props(t){b(this.#r,t)}}class me{opts;item;attachment;#t=void 0;#e=!1;#r=nt(Gt({width:0,height:0}));#s=R(()=>this.opts.hiddenUntilFound.current?this.item.isActive:this.opts.forceMount.current||this.item.isActive);get open(){return e(this.#s)}set open(t){b(this.#s,t)}constructor(t,i){this.opts=t,this.item=i,this.#e=this.item.isActive,this.attachment=Kt(this.opts.ref,r=>this.item.contentNode=r),Lt(()=>{const r=requestAnimationFrame(()=>{this.#e=!1});return()=>cancelAnimationFrame(r)}),de.pre([()=>this.opts.ref.current,()=>this.opts.hiddenUntilFound.current],([r,o])=>!r||!o?void 0:Ke(r,"beforematch",()=>{this.item.isActive||requestAnimationFrame(()=>{this.item.updateValue()})})),de([()=>this.open,()=>this.opts.ref.current],this.#n)}static create(t){return new me(t,Jt.get())}#n=([t,i])=>{i&&vr(()=>{const r=this.opts.ref.current;if(!r)return;this.#t??={transitionDuration:r.style.transitionDuration,animationName:r.style.animationName},r.style.transitionDuration="0s",r.style.animationName="none";const o=r.getBoundingClientRect();b(this.#r,{width:o.width,height:o.height},!0),!this.#e&&this.#t&&(r.style.transitionDuration=this.#t.transitionDuration,r.style.animationName=this.#t.animationName)})};get shouldRender(){return this.item.contentPresence.shouldRender}#a=R(()=>({open:this.item.isActive}));get snippetProps(){return e(this.#a)}set snippetProps(t){b(this.#a,t)}#i=R(()=>({id:this.opts.id.current,"data-state":Qt(this.item.isActive),"data-disabled":Ht(this.item.isDisabled),"data-orientation":this.item.root.opts.orientation.current,[Ct.content]:"",style:{"--bits-accordion-content-height":`${e(this.#r).height}px`,"--bits-accordion-content-width":`${e(this.#r).width}px`},hidden:this.opts.hiddenUntilFound.current&&!this.item.isActive?"until-found":void 0,...this.opts.hiddenUntilFound.current&&!this.shouldRender?{}:{hidden:this.opts.hiddenUntilFound.current?!this.shouldRender:this.opts.forceMount.current?void 0:!this.shouldRender},...this.attachment}));get props(){return e(this.#i)}set props(t){b(this.#i,t)}}class pe{opts;item;attachment;constructor(t,i){this.opts=t,this.item=i,this.attachment=Kt(this.opts.ref)}static create(t){return new pe(t,Jt.get())}#t=R(()=>({id:this.opts.id.current,role:"heading","aria-level":this.opts.level.current,"data-heading-level":this.opts.level.current,"data-state":Qt(this.item.isActive),"data-orientation":this.item.root.opts.orientation.current,[Ct.header]:"",...this.attachment}));get props(){return e(this.#t)}set props(t){b(this.#t,t)}}var Dr=g("<div><!></div>");function Er(v,t){const i=Ut();Y(t,!0);let r=k(t,"disabled",3,!1),o=k(t,"value",15),c=k(t,"ref",15,null),h=k(t,"id",19,()=>qt(i)),x=k(t,"onValueChange",3,hr),_=k(t,"loop",3,!0),w=k(t,"orientation",3,"vertical"),I=ht(t,["$$slots","$$events","$$legacy","disabled","children","child","type","value","ref","id","onValueChange","loop","orientation"]);function S(){o()===void 0&&o(t.type==="single"?"":[])}S(),de.pre(()=>o(),()=>{S()});const p=Tr.create({type:t.type,value:F(()=>o(),y=>{o(y),x()(y)}),id:F(()=>h()),disabled:F(()=>r()),loop:F(()=>_()),orientation:F(()=>w()),ref:F(()=>c(),y=>c(y))}),d=R(()=>Vt(I,p.props));var u=U(),a=A(u);{var n=y=>{var D=U(),E=A(D);X(E,()=>t.child,()=>({props:e(d)})),s(y,D)},T=y=>{var D=Dr();Bt(D,()=>({...e(d)}));var E=m(D);X(E,()=>t.children??vt),l(D),s(y,D)};$(a,y=>{t.child?y(n):y(T,!1)})}s(v,u),Z()}var Mr=g("<div><!></div>");function Ur(v,t){const i=Ut();Y(t,!0);const r=qt(i);let o=k(t,"id",3,r),c=k(t,"disabled",3,!1),h=k(t,"value",3,r),x=k(t,"ref",15,null),_=ht(t,["$$slots","$$events","$$legacy","id","disabled","value","children","child","ref"]);const w=he.create({value:F(()=>h()),disabled:F(()=>c()),id:F(()=>o()),ref:F(()=>x(),a=>x(a))}),I=R(()=>Vt(_,w.props));var S=U(),p=A(S);{var d=a=>{var n=U(),T=A(n);X(T,()=>t.child,()=>({props:e(I)})),s(a,n)},u=a=>{var n=Mr();Bt(n,()=>({...e(I)}));var T=m(n);X(T,()=>t.children??vt),l(n),s(a,n)};$(p,a=>{t.child?a(d):a(u,!1)})}s(v,S),Z()}var Br=g("<div><!></div>");function Kr(v,t){const i=Ut();Y(t,!0);let r=k(t,"id",19,()=>qt(i)),o=k(t,"level",3,2),c=k(t,"ref",15,null),h=ht(t,["$$slots","$$events","$$legacy","id","level","children","child","ref"]);const x=pe.create({id:F(()=>r()),level:F(()=>o()),ref:F(()=>c(),d=>c(d))}),_=R(()=>Vt(h,x.props));var w=U(),I=A(w);{var S=d=>{var u=U(),a=A(u);X(a,()=>t.child,()=>({props:e(_)})),s(d,u)},p=d=>{var u=Br();Bt(u,()=>({...e(_)}));var a=m(u);X(a,()=>t.children??vt),l(u),s(d,u)};$(I,d=>{t.child?d(S):d(p,!1)})}s(v,w),Z()}var qr=g("<button><!></button>");function Vr(v,t){const i=Ut();Y(t,!0);let r=k(t,"disabled",3,!1),o=k(t,"ref",15,null),c=k(t,"id",19,()=>qt(i)),h=ht(t,["$$slots","$$events","$$legacy","disabled","ref","id","children","child"]);const x=fe.create({disabled:F(()=>r()),id:F(()=>c()),ref:F(()=>o(),d=>o(d))}),_=R(()=>Vt(h,x.props));var w=U(),I=A(w);{var S=d=>{var u=U(),a=A(u);X(a,()=>t.child,()=>({props:e(_)})),s(d,u)},p=d=>{var u=qr();Bt(u,()=>({type:"button",...e(_)}));var a=m(u);X(a,()=>t.children??vt),l(u),s(d,u)};$(I,d=>{t.child?d(S):d(p,!1)})}s(v,w),Z()}var Wr=g("<div><!></div>");function Or(v,t){const i=Ut();Y(t,!0);let r=k(t,"ref",15,null),o=k(t,"id",19,()=>qt(i)),c=k(t,"forceMount",3,!1),h=k(t,"hiddenUntilFound",3,!1),x=ht(t,["$$slots","$$events","$$legacy","child","ref","id","forceMount","children","hiddenUntilFound"]);const _=me.create({forceMount:F(()=>c()),id:F(()=>o()),ref:F(()=>r(),u=>r(u)),hiddenUntilFound:F(()=>h())}),w=R(()=>Vt(x,_.props));var I=U(),S=A(I);{var p=u=>{var a=U(),n=A(a);{let T=R(()=>({props:e(w),..._.snippetProps}));X(n,()=>t.child,()=>e(T))}s(u,a)},d=u=>{var a=Wr();Bt(a,()=>({...e(w)}));var n=m(a);X(n,()=>t.children??vt),l(a),s(u,a)};$(S,u=>{t.child?u(p):u(d,!1)})}s(v,I),Z()}var zr=g('<button type="button" data-testid="expand-toggle"><!></button>'),Gr=g('<div class="w-6"></div>'),Lr=g('<div class="flex gap-1 ml-auto"></div>'),jr=g('<div class="pl-4 border-l-2 border-border ml-4" data-testid="tree-node-child"></div>'),Hr=g('<div><div class="flex items-center gap-1 py-2 px-2 rounded-md hover:bg-muted/50"><!> <button type="button" class="flex items-center gap-2 flex-1 text-left" data-testid="node-title"><!> <span class="font-medium"> </span> <!></button></div> <!></div>'),Qr=g('<p class="text-center text-muted-foreground py-8">No spec items found</p>'),Jr=g('<div class="space-y-1" data-testid="spec-tree"></div>'),Xr=g('<div class="space-y-1" data-testid="spec-tree-container"><!></div>');function Yr(v,t){Y(t,!1);const i=_e(),r=(a,n=vt,T=vt)=>{const y=ae(()=>(e(h),n(),dt(()=>e(h).has(n().item._ulid)))),D=ae(()=>(n(),dt(()=>n().children.length>0)));var E=Hr(),J=m(E),lt=m(J);{var ft=B=>{var N=zr();let et;N.__click=()=>_(n().item._ulid);var rt=m(N);tr(rt,{class:"h-4 w-4"}),l(N),O(()=>{et=le(N,1,"p-1 rounded hover:bg-muted transition-transform",null,et,{"rotate-90":e(y)}),Et(N,"aria-expanded",e(y)),Et(N,"aria-label",e(y)?"Collapse":"Expand")}),s(B,N)},P=B=>{var N=Gr();s(B,N)};$(lt,B=>{e(D)?B(ft):B(P,!1)})}var C=f(lt,2);C.__click=()=>w(n().item);var q=m(C);{let B=ae(()=>(n(),dt(()=>I(n().item.type))));It(q,{get class(){return e(B)},children:(N,et)=>{it();var rt=_t();O(()=>Q(rt,(n(),dt(()=>n().item.type)))),s(N,rt)},$$slots:{default:!0}})}var z=f(q,2),j=m(z,!0);l(z);var W=f(z,2);{var tt=B=>{var N=Lr();wt(N,5,()=>(n(),dt(()=>n().item.tags.slice(0,2))),Dt,(et,rt)=>{It(et,{variant:"outline",class:"text-xs",children:(Xt,Yt)=>{it();var Wt=_t();O(()=>Q(Wt,e(rt))),s(Xt,Wt)},$$slots:{default:!0}})}),l(N),s(B,N)};$(W,B=>{n(),dt(()=>n().item.tags&&n().item.tags.length>0)&&B(tt)})}l(C),l(J);var mt=f(J,2);{var pt=B=>{var N=jr();wt(N,5,()=>(n(),dt(()=>n().children)),et=>et.item._ulid,(et,rt)=>{r(et,()=>e(rt),()=>T()+1)}),l(N),s(B,N)};$(mt,B=>{e(D)&&e(y)&&B(pt)})}l(E),O(()=>{Et(E,"data-testid",`tree-node tree-node-${n(),dt(()=>n().item.type)??""}`),Q(j,(n(),dt(()=>n().item.title)))}),s(a,E)};let o=k(t,"items",8);const c=Ye();let h=_e(new Set);function x(a){const n=new Map,T=[];return a.forEach(y=>{n.set(y._ulid,{item:y,children:[]})}),a.forEach(y=>{const D=n.get(y._ulid);if(D)if(y.parent){const E=n.get(y.parent);E?E.children.push(D):T.push(D)}else T.push(D)}),T}function _(a){e(h).has(a)?e(h).delete(a):e(h).add(a),b(h,e(h))}function w(a){c("select",a._ulid)}function I(a){return{module:"bg-purple-500",feature:"bg-blue-500",requirement:"bg-green-500",trait:"bg-yellow-500"}[a]||"bg-gray-500"}Ue(()=>ge(o()),()=>{b(i,x(o()))}),Be(),Ze();var S=Xr(),p=m(S);{var d=a=>{var n=Qr();s(a,n)},u=a=>{var n=Jr();wt(n,5,()=>e(i),T=>T.item._ulid,(T,y)=>{r(T,()=>e(y),()=>0)}),l(n),s(a,n)};$(p,a=>{ge(o()),dt(()=>o().length===0)?a(d):a(u,!1)})}l(S),s(v,S),Z()}qe(["click"]);function Zr(v,t){Y(t,!0);let i=k(t,"ref",15,null),r=k(t,"value",15),o=ht(t,["$$slots","$$events","$$legacy","ref","value"]);var c=U(),h=A(c);Mt(h,()=>Er,(x,_)=>{_(x,jt({"data-slot":"accordion"},()=>o,{get ref(){return i()},set ref(w){i(w)},get value(){return r()},set value(w){r(w)}}))}),s(v,c),Z()}var ts=g("<div><!></div>");function es(v,t){Y(t,!0);let i=k(t,"ref",15,null),r=ht(t,["$$slots","$$events","$$legacy","ref","class","children"]);var o=U(),c=A(o);Mt(c,()=>Or,(h,x)=>{x(h,jt({"data-slot":"accordion-content",class:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"},()=>r,{get ref(){return i()},set ref(_){i(_)},children:(_,w)=>{var I=ts(),S=m(I);X(S,()=>t.children??vt),l(I),O(p=>le(I,1,p),[()=>Ve(ce("pt-0 pb-4",t.class))]),s(_,I)},$$slots:{default:!0}}))}),s(v,o),Z()}function rs(v,t){Y(t,!0);let i=k(t,"ref",15,null),r=ht(t,["$$slots","$$events","$$legacy","ref","class"]);var o=U(),c=A(o);{let h=R(()=>ce("border-b last:border-b-0",t.class));Mt(c,()=>Ur,(x,_)=>{_(x,jt({"data-slot":"accordion-item",get class(){return e(h)}},()=>r,{get ref(){return i()},set ref(w){i(w)}}))})}s(v,o),Z()}var ss=g("<!> <!>",1);function as(v,t){Y(t,!0);let i=k(t,"ref",15,null),r=k(t,"level",3,3),o=ht(t,["$$slots","$$events","$$legacy","ref","class","level","children"]);var c=U(),h=A(c);Mt(h,()=>Kr,(x,_)=>{_(x,{get level(){return r()},class:"flex",children:(w,I)=>{var S=U(),p=A(S);{let d=R(()=>ce("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-start text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",t.class));Mt(p,()=>Vr,(u,a)=>{a(u,jt({"data-slot":"accordion-trigger",get class(){return e(d)}},()=>o,{get ref(){return i()},set ref(n){i(n)},children:(n,T)=>{var y=ss(),D=A(y);X(D,()=>t.children??vt);var E=f(D,2);wr(E,{class:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"}),s(n,y)},$$slots:{default:!0}}))})}s(w,S)},$$slots:{default:!0}})}),s(v,c),Z()}var is=g('<div class="space-y-4"><!> <!> <!> <!></div>'),ns=g('<div class="flex flex-col gap-4"><!> <p class="text-destructive"> </p></div>'),os=g('<div class="text-muted-foreground text-sm prose prose-sm dark:prose-invert max-w-none" data-testid="spec-description"><!></div>'),ds=g('<div class="flex items-center gap-2"><!> <!></div> <!>',1),ls=g('<div><h3 class="text-sm font-semibold mb-2">Tags</h3> <div class="flex flex-wrap gap-1"></div></div>'),cs=g('<span class="text-sm" data-testid="ac-given"><!></span>'),us=g("<!> <span>Covered</span>",1),vs=g("<!> <span>Not covered</span>",1),hs=g("<!> <span>Coverage: Unknown</span>",1),fs=g('<div class="space-y-2 text-sm pl-4"><div data-testid="ac-given-full" class="prose prose-sm dark:prose-invert max-w-none"><span class="font-medium text-muted-foreground">Given:</span> <!></div> <div data-testid="ac-when-full" class="prose prose-sm dark:prose-invert max-w-none"><span class="font-medium text-muted-foreground">When:</span> <!></div> <div data-testid="ac-then-full" class="prose prose-sm dark:prose-invert max-w-none"><span class="font-medium text-muted-foreground">Then:</span> <!></div> <div data-testid="test-coverage-indicator"><!></div></div>'),ms=g("<!> <!>",1),ps=g('<div data-testid="acceptance-criteria"><h3 class="text-sm font-semibold mb-2">Acceptance Criteria</h3> <!></div>'),gs=g('<span data-testid="trait-chip"><!></span>'),_s=g('<div data-testid="traits-section"><h3 class="text-sm font-semibold mb-2">Traits</h3> <div class="flex flex-wrap gap-2"></div></div>'),bs=g('<a class="flex items-center gap-2 p-2 rounded border hover:bg-muted/50 transition-colors" data-testid="linked-task"><!> <span class="text-sm flex-1" data-testid="task-title"> </span> <!></a>'),xs=g('<div data-testid="implementation-section"><h3 class="text-sm font-semibold mb-2">Implementation</h3> <div class="space-y-2"></div></div>'),ys=g('<div data-testid="implementation-section"><h3 class="text-sm font-semibold mb-2">Implementation</h3> <p class="text-sm text-muted-foreground">No tasks linked to this spec item yet.</p></div>'),ws=g('<div class="flex flex-col gap-6"><!> <!> <!> <!> <!> <!></div>');function Ss(v,t){Y(t,!0);let i=k(t,"open",15,!1),r=nt(null),o=nt(Gt([])),c=nt(Gt([])),h=nt(""),x=nt(!1),_=nt(null);async function w(p){b(x,!0),b(_,null),b(h,"");try{const[d,u]=await Promise.all([We(p),Oe(p)]);b(r,d,!0),b(o,u.items,!0);try{const a=await ze(p);b(c,a.items,!0)}catch(a){b(h,a instanceof Error?a.message:"Failed to load related sessions",!0),b(c,[],!0)}}catch(d){b(_,d instanceof Error?d.message:"Failed to load item",!0),b(r,null),b(o,[],!0),b(c,[],!0),b(h,"")}finally{b(x,!1)}}Lt(()=>{t.ref&&i()&&w(t.ref)});function I(p){return{pending:"bg-status-pending text-status-pending-fg",in_progress:"bg-status-in-progress text-status-in-progress-fg",pending_review:"bg-status-pending-review text-status-pending-review-fg",needs_work:"bg-status-needs-work text-status-needs-work-fg",blocked:"bg-status-blocked text-status-blocked-fg",completed:"bg-status-completed text-status-completed-fg",cancelled:"bg-status-cancelled text-status-cancelled-fg"}[p]||"bg-status-cancelled text-status-cancelled-fg"}function S(p){return{pending:"Pending",in_progress:"In Progress",pending_review:"Pending Review",needs_work:"Needs Work",blocked:"Blocked",completed:"Completed",cancelled:"Cancelled"}[p]||p}rr(v,{get open(){return i()},set open(p){i(p)},children:(p,d)=>{sr(p,{class:"sm:max-w-2xl overflow-y-auto","data-testid":"spec-detail-panel",children:(u,a)=>{var n=U(),T=A(n);{var y=E=>{var J=is(),lt=m(J);bt(lt,{class:"h-8 w-3/4"});var ft=f(lt,2);bt(ft,{class:"h-4 w-full"});var P=f(ft,2);bt(P,{class:"h-4 w-full"});var C=f(P,2);bt(C,{class:"h-4 w-2/3"}),l(J),s(E,J)},D=E=>{var J=U(),lt=A(J);{var ft=C=>{var q=ns(),z=m(q);xe(z,{children:(tt,mt)=>{ye(tt,{children:(pt,B)=>{it();var N=_t("Error");s(pt,N)},$$slots:{default:!0}})},$$slots:{default:!0}});var j=f(z,2),W=m(j,!0);l(j),l(q),O(()=>Q(W,e(_))),s(C,q)},P=C=>{var q=U(),z=A(q);{var j=W=>{var tt=ws(),mt=m(tt);xe(mt,{children:(M,V)=>{var H=ds(),st=A(H),L=m(st);It(L,{"data-testid":"implementation-status",children:(K,ut)=>{it();var at=_t();O(()=>Q(at,e(r).type)),s(K,at)},$$slots:{default:!0}});var G=f(L,2);ye(G,{"data-testid":"spec-title",children:(K,ut)=>{it();var at=_t();O(()=>Q(at,e(r).title)),s(K,at)},$$slots:{default:!0}}),l(st);var ct=f(st,2);{var ot=K=>{var ut=os(),at=m(ut);Tt(at,()=>er(e(r).description)),l(ut),s(K,ut)};$(ct,K=>{e(r).description&&K(ot)})}s(M,H)},$$slots:{default:!0}});var pt=f(mt,2);{var B=M=>{var V=ls(),H=f(m(V),2);wt(H,21,()=>e(r).tags,Dt,(st,L)=>{It(st,{variant:"outline",children:(G,ct)=>{it();var ot=_t();O(()=>Q(ot,e(L))),s(G,ot)},$$slots:{default:!0}})}),l(H),l(V),s(M,V)};$(pt,M=>{e(r).tags.length>0&&M(B)})}var N=f(pt,2);{var et=M=>{var V=ps(),H=f(m(V),2);Zr(H,{type:"multiple",class:"w-full",children:(st,L)=>{var G=U(),ct=A(G);wt(ct,17,()=>e(r).acceptance_criteria,Dt,(ot,K,ut)=>{rs(ot,{get value(){return e(K)._ulid},"data-testid":"ac-item",children:(at,gt)=>{var Pt=ms(),Ot=A(Pt);as(Ot,{"data-testid":"ac-expand-toggle",children:(Nt,Ce)=>{var yt=cs(),Rt=m(yt);Tt(Rt,()=>zt(`AC-${ut+1}: ${e(K).given}`)),l(yt),s(Nt,yt)},$$slots:{default:!0}});var xt=f(Ot,2);es(xt,{children:(Nt,Ce)=>{var yt=fs(),Rt=m(yt),Ne=f(m(Rt),2);Tt(Ne,()=>zt(` ${e(K).given}`)),l(Rt);var Zt=f(Rt,2),Re=f(m(Zt),2);Tt(Re,()=>zt(` ${e(K).when}`)),l(Zt);var te=f(Zt,2),$e=f(m(te),2);Tt($e,()=>zt(` ${e(K).then}`)),l(te);var ee=f(te,2),Fe=m(ee);{var Te=kt=>{var $t=us(),re=A($t);ar(re,{class:"w-3 h-3"}),it(2),s(kt,$t)},De=kt=>{var $t=U(),re=A($t);{var Ee=At=>{var Ft=vs(),se=A(Ft);ir(se,{class:"w-3 h-3"}),it(2),s(At,Ft)},Me=At=>{var Ft=hs(),se=A(Ft);kr(se,{class:"w-3 h-3"}),it(2),s(At,Ft)};$(re,At=>{e(K).covered===!1?At(Ee):At(Me,!1)},!0)}s(kt,$t)};$(Fe,kt=>{e(K).covered===!0?kt(Te):kt(De,!1)})}l(ee),l(yt),O(()=>le(ee,1,`text-xs mt-2 inline-flex items-center gap-1 ${e(K).covered===!0?"text-green-600 covered":e(K).covered===!1?"text-amber-600 uncovered":"text-muted-foreground unknown"}`)),s(Nt,yt)},$$slots:{default:!0}}),s(at,Pt)},$$slots:{default:!0}})}),s(st,G)},$$slots:{default:!0}}),l(V),s(M,V)};$(N,M=>{e(r).acceptance_criteria&&e(r).acceptance_criteria.length>0&&M(et)})}var rt=f(N,2);{var Xt=M=>{var V=_s(),H=f(m(V),2);wt(H,21,()=>e(r).traits,Dt,(st,L)=>{var G=gs(),ct=m(G);Sr(ct,{get ref(){return e(L)},type:"spec",class:"text-sm"}),l(G),s(st,G)}),l(H),l(V),s(M,V)};$(rt,M=>{e(r).traits&&e(r).traits.length>0&&M(Xt)})}var Yt=f(rt,2);{var Wt=M=>{var V=xs(),H=f(m(V),2);wt(H,21,()=>e(o),Dt,(st,L)=>{var G=bs(),ct=m(G);{let gt=R(()=>I(e(L).status));It(ct,{get class(){return e(gt)},"data-testid":"task-status-badge",children:(Pt,Ot)=>{it();var xt=_t();O(Nt=>Q(xt,Nt),[()=>S(e(L).status)]),s(Pt,xt)},$$slots:{default:!0}})}var ot=f(ct,2),K=m(ot,!0);l(ot);var ut=f(ot,2);{var at=gt=>{It(gt,{variant:"secondary",class:"text-xs",children:(Pt,Ot)=>{it();var xt=_t();O(()=>Q(xt,`${e(L).notes_count??""} notes`)),s(Pt,xt)},$$slots:{default:!0}})};$(ut,gt=>{e(L).notes_count>0&>(at)})}l(G),O(gt=>{Et(G,"href",`${ie??""}/tasks?ref=${gt??""}`),Q(K,e(L).title)},[()=>encodeURIComponent(e(L)._ulid)]),s(st,G)}),l(H),l(V),s(M,V)},Ae=M=>{var V=ys();s(M,V)};$(Yt,M=>{e(o).length>0?M(Wt):M(Ae,!1)})}var Ie=f(Yt,2);{let M=R(()=>`${ie}/sessions?spec_ref=${encodeURIComponent(`@${e(r).slugs[0]||e(r)._ulid}`)}`);Pr(Ie,{title:"Sessions",get sessions(){return e(c)},loading:!1,get error(){return e(h)},get filterHref(){return e(M)},emptyMessage:"No sessions are linked to tasks for this spec item yet.",dataTestId:"item-related-sessions"})}l(tt),s(W,tt)};$(z,W=>{e(r)&&W(j)},!0)}s(C,q)};$(lt,C=>{e(_)?C(ft):C(P,!1)},!0)}s(E,J)};$(T,E=>{e(x)?E(y):E(D,!1)})}s(u,n)},$$slots:{default:!0}})},$$slots:{default:!0}}),Z()}var Ps=g('<div class="flex items-center gap-2 text-sm text-muted-foreground bg-muted/50 rounded-md px-3 py-2" data-testid="plan-filter-banner">Filtered by plan: <code class="bg-muted px-1 py-0.5 rounded text-xs"> </code> <a class="ml-auto text-primary hover:underline text-xs">Clear filter</a></div>'),ks=g('<div class="space-y-4"><!> <!> <!> <!></div>'),As=g('<div class="rounded-md border border-destructive bg-destructive/10 p-4" data-testid="error-message" role="alert"><p class="text-destructive font-medium">Error loading spec items</p> <p class="text-sm text-destructive/80"> </p></div>'),Is=g('<div class="flex flex-col gap-4"><div class="flex items-center justify-between"><h1 class="text-3xl font-bold">Spec Items</h1> <p class="text-sm text-muted-foreground"> </p></div> <!> <!></div> <!>',1);function Xs(v,t){Y(t,!0);const i=()=>Qe(Xe,"$page",r),[r,o]=Je();let c=nt(null),h=nt(!1),x=R(()=>i().url.searchParams.get("plan")??void 0);const _=Ge(()=>({queryKey:He.items.list(e(x)?{plan:e(x)}:{}),queryFn:()=>je(e(x)?{plan:e(x)}:void 0),enabled:Le()}));let w=R(()=>_.data?.items??[]),I=R(()=>_.isLoading),S=R(()=>_.error?.message??null);function p(P){b(c,P.detail,!0),b(h,!0);const C=new URL(i().url);C.searchParams.set("ref",P.detail),be(C,{replaceState:!0,keepFocus:!0,noScroll:!0})}Lt(()=>{if(!e(h)&&e(c)){b(c,null);const P=new URL(i().url);P.searchParams.delete("ref"),be(P,{replaceState:!0,keepFocus:!0,noScroll:!0})}}),Lt(()=>{const P=i().url.searchParams.get("ref");P&&P!==e(c)&&(b(c,P,!0),b(h,!0))});var d=Is(),u=A(d),a=m(u),n=f(m(a),2),T=m(n);l(n),l(a);var y=f(a,2);{var D=P=>{var C=Ps(),q=f(m(C)),z=m(q);l(q);var j=f(q,2);l(C),O(()=>{Q(z,`@${e(x)??""}`),Et(j,"href",`${ie??""}/specs`)}),s(P,C)};$(y,P=>{e(x)&&P(D)})}var E=f(y,2);{var J=P=>{var C=ks(),q=m(C);bt(q,{class:"h-12 w-full"});var z=f(q,2);bt(z,{class:"h-12 w-full"});var j=f(z,2);bt(j,{class:"h-12 w-full"});var W=f(j,2);bt(W,{class:"h-12 w-full"}),l(C),s(P,C)},lt=P=>{var C=U(),q=A(C);{var z=W=>{var tt=As(),mt=f(m(tt),2),pt=m(mt,!0);l(mt),l(tt),O(()=>Q(pt,e(S))),s(W,tt)},j=W=>{Yr(W,{get items(){return e(w)},$$events:{select:p}})};$(q,W=>{e(S)?W(z):W(j,!1)},!0)}s(P,C)};$(E,P=>{e(I)?P(J):P(lt,!1)})}l(u);var ft=f(u,2);Ss(ft,{get ref(){return e(c)},get open(){return e(h)},set open(P){b(h,P,!0)}}),O(()=>Q(T,`${e(w).length??""} items total`)),s(v,d),Z(),o()}export{Xs as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as p,a as t,t as f,c as we}from"../chunks/y4GeEH6k.js";import{c as ft,o as $t,a as gt}from"../chunks/oTsvd9y4.js";import{p as se,a as re,s as l,c as g,f as N,n as $,t as R,g as e,u as O,r as _,e as ge,G as je,k as q,a9 as Fe,b as fe,Q as _t,y as Oe,d as I}from"../chunks/CaAJD3dl.js";import{s as Q,d as pt}from"../chunks/DqT6OH_u.js";import{i as te,p as ae,r as _e,b as pe}from"../chunks/Dg_zDpDS.js";import{c as Pe}from"../chunks/Ds9I9wQb.js";import{m as me,o as he,l as be,h as Qe,B as ye,j as Me,y as mt,p as De,u as ht,a as bt,a3 as Ee,b as xt,H as Pt,q as Ve}from"../chunks/Dd5umPsk.js";import{s as Xe,a as Ye}from"../chunks/ChQD-6N8.js";import{p as Ze}from"../chunks/gPrj-hqC.js";import{b as Te}from"../chunks/CDRO15Iv.js";import{g as Ie}from"../chunks/BsJFsuAT.js";import{I as Ke}from"../chunks/CqbsoCwA.js";import{B as Re}from"../chunks/P0A_fJvS.js";import{S as We,a as Ge,b as He,c as j}from"../chunks/B8tYZKAE.js";import"../chunks/DxJw79Wi.js";import{i as wt}from"../chunks/C0w6WDm5.js";import{R as kt}from"../chunks/DJtZNgcs.js";import{L as yt,b as Tt,T as St}from"../chunks/DmxsPZTB.js";import{s as Ct,o as At,a as Lt,u as Ft}from"../chunks/ChB5iyEL.js";import{a as Et,b as Dt,c as It,d as Rt,D as Bt}from"../chunks/AiWQj974.js";const Ut=!1,za=Object.freeze(Object.defineProperty({__proto__:null,ssr:Ut},Symbol.toStringTag,{value:"Module"})),qt=["pending","in_progress","pending_review","needs_work","blocked"];var Nt=p("<!> <!> <!> <!> <!> <!> <!> <!> <!>",1),zt=p("<!> <!>",1),jt=p("<!> <!> <!> <!>",1),Ot=p("<!> <!>",1),Qt=p('<div class="flex items-end"><!></div>'),Mt=p('<div class="flex flex-wrap gap-4 p-4 bg-muted/50 rounded-lg" data-testid="filter-controls"><div class="flex-1 min-w-[140px]"><label for="status-filter" class="text-sm font-medium mb-2 block">Status</label> <!></div> <div class="flex-1 min-w-[140px]"><label for="automation-filter" class="text-sm font-medium mb-2 block">Automation</label> <!></div> <div class="flex-1 min-w-[140px]"><label for="tag-filter" class="text-sm font-medium mb-2 block">Tag</label> <!></div> <div class="flex-1 min-w-[140px]"><label for="assignee-filter" class="text-sm font-medium mb-2 block">Assignee</label> <!></div> <!></div>');function Vt(L,o){se(o,!0);const d=()=>Ye(Ze,"$page",C),[C,n]=Xe(),k={"":"Active",active:"Active",all:"All Statuses",pending:"Pending",in_progress:"In Progress",pending_review:"Pending Review",needs_work:"Needs Work",blocked:"Blocked",completed:"Completed",cancelled:"Cancelled"},i={"":"All",all:"All",eligible:"Eligible",needs_review:"Needs Review",manual_only:"Manual Only"};let z=O(()=>d().url.searchParams.get("status")||""),y=O(()=>d().url.searchParams.get("tag")||""),Z=O(()=>d().url.searchParams.get("assignee")||""),M=O(()=>d().url.searchParams.get("automation")||""),xe=O(()=>e(z)||e(y)||e(Z)||e(M));function h(a,v){let u;Array.isArray(v)?u=v.length>0?v[v.length-1]:void 0:u=v;const c=new URLSearchParams(d().url.searchParams);a==="status"?!u||u==="active"?c.delete(a):c.set(a,u):!u||u==="all"?c.delete(a):c.set(a,u),c.delete("offset");const B=`${Te}/tasks?${c.toString()}`;Ie(B,{replaceState:!1,keepFocus:!0})}function le(){Ie(`${Te}/tasks`,{replaceState:!1})}let H=O(()=>e(z)||"active"),oe=O(()=>e(M)||"all");var de=Mt(),J=g(de),ue=l(g(J),2);We(ue,{get value(){return e(H)},onValueChange:a=>h("status",a),children:(a,v)=>{var u=zt(),c=N(u);Ge(c,{id:"status-filter","data-testid":"filter-status",children:(U,ne)=>{$();var F=f();R(()=>Q(F,k[e(H)]||"Active")),t(U,F)},$$slots:{default:!0}});var B=l(c,2);He(B,{children:(U,ne)=>{var F=Nt(),Y=N(F);j(Y,{value:"active",children:(r,b)=>{$();var x=f("Active");t(r,x)},$$slots:{default:!0}});var w=l(Y,2);j(w,{value:"all",children:(r,b)=>{$();var x=f("All Statuses");t(r,x)},$$slots:{default:!0}});var D=l(w,2);j(D,{value:"pending",children:(r,b)=>{$();var x=f("Pending");t(r,x)},$$slots:{default:!0}});var P=l(D,2);j(P,{value:"in_progress",children:(r,b)=>{$();var x=f("In Progress");t(r,x)},$$slots:{default:!0}});var m=l(P,2);j(m,{value:"pending_review",children:(r,b)=>{$();var x=f("Pending Review");t(r,x)},$$slots:{default:!0}});var A=l(m,2);j(A,{value:"needs_work",children:(r,b)=>{$();var x=f("Needs Work");t(r,x)},$$slots:{default:!0}});var T=l(A,2);j(T,{value:"blocked",children:(r,b)=>{$();var x=f("Blocked");t(r,x)},$$slots:{default:!0}});var S=l(T,2);j(S,{value:"completed",children:(r,b)=>{$();var x=f("Completed");t(r,x)},$$slots:{default:!0}});var s=l(S,2);j(s,{value:"cancelled",children:(r,b)=>{$();var x=f("Cancelled");t(r,x)},$$slots:{default:!0}}),t(U,F)},$$slots:{default:!0}}),t(a,u)},$$slots:{default:!0}}),_(J);var V=l(J,2),ce=l(g(V),2);We(ce,{get value(){return e(oe)},onValueChange:a=>h("automation",a),children:(a,v)=>{var u=Ot(),c=N(u);Ge(c,{id:"automation-filter","data-testid":"filter-automation",children:(U,ne)=>{$();var F=f();R(()=>Q(F,i[e(oe)]||"All")),t(U,F)},$$slots:{default:!0}});var B=l(c,2);He(B,{children:(U,ne)=>{var F=jt(),Y=N(F);j(Y,{value:"all",children:(m,A)=>{$();var T=f("All");t(m,T)},$$slots:{default:!0}});var w=l(Y,2);j(w,{value:"eligible",children:(m,A)=>{$();var T=f("Eligible");t(m,T)},$$slots:{default:!0}});var D=l(w,2);j(D,{value:"needs_review",children:(m,A)=>{$();var T=f("Needs Review");t(m,T)},$$slots:{default:!0}});var P=l(D,2);j(P,{value:"manual_only",children:(m,A)=>{$();var T=f("Manual Only");t(m,T)},$$slots:{default:!0}}),t(U,F)},$$slots:{default:!0}}),t(a,u)},$$slots:{default:!0}}),_(V);var X=l(V,2),ee=l(g(X),2);Ke(ee,{id:"tag-filter","data-testid":"filter-tag",type:"text",placeholder:"Filter by tag...",get value(){return e(y)},oninput:a=>h("tag",a.target.value)}),_(X);var E=l(X,2),K=l(g(E),2);Ke(K,{id:"assignee-filter","data-testid":"filter-assignee",type:"text",placeholder:"Filter by assignee...",get value(){return e(Z)},oninput:a=>h("assignee",a.target.value)}),_(E);var G=l(E,2);{var W=a=>{var v=Qt(),u=g(v);Re(u,{variant:"outline",onclick:le,children:(c,B)=>{$();var U=f("Clear Filters");t(c,U)},$$slots:{default:!0}}),_(v),t(a,v)};te(G,a=>{e(xe)&&a(W)})}_(de),t(L,de),re(),n()}var Kt=p('<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>');function Wt(L,o){se(o,!0);let d=ae(o,"ref",15,null),C=_e(o,["$$slots","$$events","$$legacy","ref","class","children"]);var n=Kt(),k=g(n);me(k,z=>({"data-slot":"table",class:z,...C}),[()=>he("w-full caption-bottom text-sm",o.class)]);var i=g(k);be(i,()=>o.children??ge),_(k),pe(k,z=>d(z),()=>d()),_(n),t(L,n),re()}var Gt=p("<tbody><!></tbody>");function Ht(L,o){se(o,!0);let d=ae(o,"ref",15,null),C=_e(o,["$$slots","$$events","$$legacy","ref","class","children"]);var n=Gt();me(n,i=>({"data-slot":"table-body",class:i,...C}),[()=>he("[&_tr:last-child]:border-0",o.class)]);var k=g(n);be(k,()=>o.children??ge),_(n),pe(n,i=>d(i),()=>d()),t(L,n),re()}var Jt=p("<td><!></td>");function ie(L,o){se(o,!0);let d=ae(o,"ref",15,null),C=_e(o,["$$slots","$$events","$$legacy","ref","class","children"]);var n=Jt();me(n,i=>({"data-slot":"table-cell",class:i,...C}),[()=>he("bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0",o.class)]);var k=g(n);be(k,()=>o.children??ge),_(n),pe(n,i=>d(i),()=>d()),t(L,n),re()}var Xt=p("<th><!></th>");function $e(L,o){se(o,!0);let d=ae(o,"ref",15,null),C=_e(o,["$$slots","$$events","$$legacy","ref","class","children"]);var n=Xt();me(n,i=>({"data-slot":"table-head",class:i,...C}),[()=>he("text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0",o.class)]);var k=g(n);be(k,()=>o.children??ge),_(n),pe(n,i=>d(i),()=>d()),t(L,n),re()}var Yt=p("<thead><!></thead>");function Zt(L,o){se(o,!0);let d=ae(o,"ref",15,null),C=_e(o,["$$slots","$$events","$$legacy","ref","class","children"]);var n=Yt();me(n,i=>({"data-slot":"table-header",class:i,...C}),[()=>he("[&_tr]:border-b",o.class)]);var k=g(n);be(k,()=>o.children??ge),_(n),pe(n,i=>d(i),()=>d()),t(L,n),re()}var ea=p("<tr><!></tr>");function Je(L,o){se(o,!0);let d=ae(o,"ref",15,null),C=_e(o,["$$slots","$$events","$$legacy","ref","class","children"]);var n=ea();me(n,i=>({"data-slot":"table-row",class:i,...C}),[()=>he("hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",o.class)]);var k=g(n);be(k,()=>o.children??ge),_(n),pe(n,i=>d(i),()=>d()),t(L,n),re()}var ta=p("<!> <!> <!> <!> <!> <!>",1),aa=p('<span data-testid="task-title" class="truncate"> </span>'),sa=p('<span data-testid="task-priority"> </span>'),ra=p('<span class="text-muted-foreground text-sm">—</span>'),la=p('<div class="flex flex-wrap gap-1"><!> <!></div>'),oa=p('<tr data-testid="task-list-item" role="button" tabindex="0"><!><!><!><!><!><!></tr>'),na=p("<!> <!>",1),da=p('<div class="rounded-md border overflow-hidden" data-testid="task-list"><!></div>');function ia(L,o){se(o,!1);let d=ae(o,"tasks",8),C=ae(o,"updatedTaskIds",24,()=>new Set),n=ae(o,"onSelectTask",8,void 0);const k=ft();function i(h){console.log("[TaskList] selectTask called for:",h._ulid,h.title),n()&&(console.log("[TaskList] Calling onSelectTask callback"),n()(h._ulid)),k("select",h._ulid)}function z(h){return{pending:"bg-status-pending text-status-pending-fg",in_progress:"bg-status-in-progress text-status-in-progress-fg",pending_review:"bg-status-pending-review text-status-pending-review-fg",needs_work:"bg-status-needs-work text-status-needs-work-fg",blocked:"bg-status-blocked text-status-blocked-fg",completed:"bg-status-completed text-status-completed-fg",cancelled:"bg-status-cancelled text-status-cancelled-fg"}[h]||"bg-status-cancelled text-status-cancelled-fg"}function y(h){return{pending:"Pending",in_progress:"In Progress",pending_review:"Pending Review",needs_work:"Needs Work",blocked:"Blocked",completed:"Completed",cancelled:"Cancelled"}[h]||h}function Z(h){return h===1?"text-red-600 font-bold":h===2?"text-orange-600 font-semibold":h===3?"text-yellow-600":"text-gray-600"}wt();var M=da(),xe=g(M);Wt(xe,{class:"table-fixed",children:(h,le)=>{var H=na(),oe=N(H);Zt(oe,{children:(J,ue)=>{Je(J,{children:(V,ce)=>{var X=ta(),ee=N(X);$e(ee,{class:"w-[40%]",children:(v,u)=>{$();var c=f("Title");t(v,c)},$$slots:{default:!0}});var E=l(ee,2);$e(E,{class:"w-[12%]",children:(v,u)=>{$();var c=f("Status");t(v,c)},$$slots:{default:!0}});var K=l(E,2);$e(K,{class:"w-[8%]",children:(v,u)=>{$();var c=f("Priority");t(v,c)},$$slots:{default:!0}});var G=l(K,2);$e(G,{class:"w-[15%]",children:(v,u)=>{$();var c=f("Spec");t(v,c)},$$slots:{default:!0}});var W=l(G,2);$e(W,{class:"w-[7%]",children:(v,u)=>{$();var c=f("Notes");t(v,c)},$$slots:{default:!0}});var a=l(W,2);$e(a,{class:"w-[18%]",children:(v,u)=>{$();var c=f("Tags");t(v,c)},$$slots:{default:!0}}),t(V,X)},$$slots:{default:!0}})},$$slots:{default:!0}});var de=l(oe,2);Ht(de,{children:(J,ue)=>{var V=we(),ce=N(V);{var X=E=>{Je(E,{children:(K,G)=>{ie(K,{colspan:6,class:"text-center text-muted-foreground",children:(W,a)=>{$();var v=f("No tasks found");t(W,v)},$$slots:{default:!0}})},$$slots:{default:!0}})},ee=E=>{var K=we(),G=N(K);Qe(G,1,d,Me,(W,a)=>{const v=Fe(()=>(je(C()),e(a),q(()=>C().has(e(a)._ulid))));var u=oa();u.__click=()=>i(e(a)),u.__keydown=w=>w.key==="Enter"&&i(e(a));var c=g(u);ie(c,{class:"font-medium truncate",children:(w,D)=>{var P=aa(),m=g(P,!0);_(P),R(()=>Q(m,(e(a),q(()=>e(a).title)))),t(w,P)},$$slots:{default:!0}});var B=l(c);ie(B,{children:(w,D)=>{{let P=Fe(()=>(e(a),q(()=>z(e(a).status))));ye(w,{"data-testid":"task-status-badge",get class(){return e(P)},children:(m,A)=>{$();var T=f();R(S=>Q(T,S),[()=>(e(a),q(()=>y(e(a).status)))]),t(m,T)},$$slots:{default:!0}})}},$$slots:{default:!0}});var U=l(B);{let w=Fe(()=>(e(a),q(()=>Z(e(a).priority))));ie(U,{get class(){return e(w)},children:(D,P)=>{var m=sa(),A=g(m);_(m),R(()=>Q(A,`P${e(a),q(()=>e(a).priority)??""}`)),t(D,m)},$$slots:{default:!0}})}var ne=l(U);ie(ne,{"data-testid":"task-spec-ref",class:"truncate",children:(w,D)=>{var P=we(),m=N(P);{var A=S=>{kt(S,{get ref(){return e(a),q(()=>e(a).spec_ref)},type:"spec",stopPropagation:!0,class:"text-sm truncate"})},T=S=>{var s=ra();t(S,s)};te(m,S=>{e(a),q(()=>e(a).spec_ref)?S(A):S(T,!1)})}t(w,P)},$$slots:{default:!0}});var F=l(ne);ie(F,{children:(w,D)=>{ye(w,{"data-testid":"task-notes-count",variant:"secondary",children:(P,m)=>{$();var A=f();R(()=>Q(A,(e(a),q(()=>e(a).notes_count)))),t(P,A)},$$slots:{default:!0}})},$$slots:{default:!0}});var Y=l(F);ie(Y,{"data-testid":"task-tags",children:(w,D)=>{var P=la(),m=g(P);Qe(m,1,()=>(e(a),q(()=>e(a).tags.slice(0,3))),Me,(S,s)=>{ye(S,{variant:"outline",class:"text-xs",children:(r,b)=>{$();var x=f();R(()=>Q(x,e(s))),t(r,x)},$$slots:{default:!0}})});var A=l(m,2);{var T=S=>{ye(S,{variant:"outline",class:"text-xs",children:(s,r)=>{$();var b=f();R(()=>Q(b,`+${e(a),q(()=>e(a).tags.length-3)??""}`)),t(s,b)},$$slots:{default:!0}})};te(A,S=>{e(a),q(()=>e(a).tags.length>3)&&S(T)})}_(P),t(w,P)},$$slots:{default:!0}}),_(u),R(()=>{mt(u,1,`cursor-pointer hover:bg-muted/50 transition-colors duration-300 border-b ${e(v)?"bg-primary/10 animate-pulse":""}`),De(u,"data-task-ref",(e(a),q(()=>e(a).slugs?.[0]||e(a)._ulid)))}),t(W,u)}),t(E,K)};te(ce,E=>{je(d()),q(()=>d().length===0)?E(X):E(ee,!1)})}t(J,V)},$$slots:{default:!0}}),t(h,H)},$$slots:{default:!0}}),_(M),t(L,M),re()}pt(["click","keydown"]);var ua=p('<p class="text-muted-foreground"> </p>'),ca=p('<div class="flex items-center gap-2 text-sm text-muted-foreground bg-muted/50 rounded-md px-3 py-2" data-testid="plan-filter-banner">Filtered by plan: <code class="bg-muted px-1 py-0.5 rounded text-xs"> </code> <a class="ml-auto text-primary hover:underline text-xs">Clear filter</a></div>'),va=p('<div class="bg-destructive/10 text-destructive p-4 rounded-lg" data-testid="error-message" role="alert"> </div>'),fa=p('<div class="flex justify-center items-center py-12"><p class="text-muted-foreground">Loading tasks...</p></div>'),$a=p('<span class="font-mono text-xs"> </span>'),ga=p("<!> <!>",1),_a=p("<!> <!>",1),pa=p('<div class="flex flex-col gap-6 p-6 min-w-0"><div class="flex items-center justify-between"><div><h1 class="text-3xl font-bold mb-2">Tasks</h1> <!></div> <div class="flex items-center gap-1 border rounded-lg p-0.5"><a title="Board view"><!></a> <!></div></div> <!> <!> <!> <!></div> <!>',1);function ja(L,o){se(o,!0);const d=()=>Ye(Ze,"$page",C),[C,n]=Xe(),k=ht();let i=fe(_t(new Set)),z=fe(!1),y=fe(null),Z=fe(!1),M=fe("");function xe(s){if(s!=="all")return s||[...qt]}let h=O(()=>({status:xe(d().url.searchParams.get("status")),tag:d().url.searchParams.get("tag")||void 0,assignee:d().url.searchParams.get("assignee")||void 0,automation:d().url.searchParams.get("automation")||void 0,plan:d().url.searchParams.get("plan")||void 0,limit:50,offset:0})),le=fe("");const H=bt(()=>({queryKey:Ve.tasks.list(e(h)),queryFn:()=>Pt(e(h)),enabled:xt()}));let oe=O(()=>H.data?.items??[]),de=O(()=>H.data?.total??0),J=O(()=>H.isLoading),ue=O(()=>H.error?.message??"");Oe(()=>{const s=d().url.searchParams.get("ref");s&&s!==e(le)&&(I(le,s,!0),V(s))});async function V(s){I(Z,!0),I(M,""),I(z,!0);try{I(y,await Ee(s),!0)}catch(r){I(M,r instanceof Error?r.message:"Failed to load task details",!0),console.error("Error loading task:",r)}finally{I(Z,!1)}}function ce(s){V(s.detail)}async function X(){if(k.invalidateQueries({queryKey:Ve.tasks.all}),e(y))try{I(y,await Ee(e(y)._ulid),!0)}catch(s){console.error("Error reloading task:",s)}}Oe(()=>{if(!e(z)){I(y,null),I(M,""),I(le,"");const s=new URL(d().url);s.searchParams.has("ref")&&(s.searchParams.delete("ref"),Ie(s,{replaceState:!0,keepFocus:!0,noScroll:!0}))}});function ee(s){s.data?.ulid&&(e(i).add(s.data.ulid),I(i,new Set(e(i)),!0),setTimeout(()=>{e(i).delete(s.data.ulid),I(i,new Set(e(i)),!0)},3e3)),e(y)&&s.data?.ulid===e(y)._ulid&&Ee(e(y)._ulid).then(r=>{I(y,r,!0)}).catch(r=>{console.error("Error reloading task:",r)})}$t(()=>{Ct(["tasks"]),At("tasks",ee)}),gt(()=>{Lt("tasks",ee),Ft(["tasks"])});let E=O(()=>e(y)?.slugs?.[0]??e(y)?._ulid?.slice(0,8)??"");var K=pa(),G=N(K),W=g(G),a=g(W),v=l(g(a),2);{var u=s=>{var r=ua(),b=g(r);_(r),R(()=>Q(b,`Showing ${e(oe).length??""} of ${e(de)??""} tasks`)),t(s,r)};te(v,s=>{e(J)||s(u)})}_(a);var c=l(a,2),B=g(c),U=g(B);Re(U,{variant:"ghost",size:"icon-sm","aria-pressed":"false",children:(s,r)=>{yt(s,{class:"size-4"})},$$slots:{default:!0}}),_(B);var ne=l(B,2);Re(ne,{variant:"ghost",size:"icon-sm",class:"bg-accent",title:"List view","aria-pressed":"true",children:(s,r)=>{Tt(s,{class:"size-4"})},$$slots:{default:!0}}),_(c),_(W);var F=l(W,2);Vt(F,{});var Y=l(F,2);{var w=s=>{var r=ca(),b=l(g(r)),x=g(b);_(b);var ke=l(b,2);_(r),R(()=>{Q(x,`@${e(h).plan??""}`),De(ke,"href",`${Te??""}/tasks`)}),t(s,r)};te(Y,s=>{e(h).plan&&s(w)})}var D=l(Y,2);{var P=s=>{var r=va(),b=g(r,!0);_(r),R(()=>Q(b,e(ue))),t(s,r)};te(D,s=>{e(ue)&&s(P)})}var m=l(D,2);{var A=s=>{var r=fa();t(s,r)},T=s=>{ia(s,{get tasks(){return e(oe)},get updatedTaskIds(){return e(i)},onSelectTask:V,$$events:{select:ce}})};te(m,s=>{e(J)?s(A):s(T,!1)})}_(G);var S=l(G,2);Pe(S,()=>Bt,(s,r)=>{r(s,{get open(){return e(z)},set open(b){I(z,b,!0)},children:(b,x)=>{var ke=we(),et=N(ke);Pe(et,()=>Et,(tt,at)=>{at(tt,{class:"max-w-2xl max-h-[85vh] overflow-y-auto","data-testid":"task-detail-panel",children:(st,ma)=>{var Be=_a(),Ue=N(Be);{var rt=Se=>{var qe=we(),ot=N(qe);Pe(ot,()=>Dt,(nt,dt)=>{dt(nt,{children:(it,ha)=>{var Ne=ga(),ze=N(Ne);Pe(ze,()=>It,(Ce,Ae)=>{Ae(Ce,{"data-testid":"task-detail-title",children:(Le,ct)=>{$();var ve=f();R(()=>Q(ve,e(y).title)),t(Le,ve)},$$slots:{default:!0}})});var ut=l(ze,2);Pe(ut,()=>Rt,(Ce,Ae)=>{Ae(Ce,{children:(Le,ct)=>{var ve=$a(),vt=g(ve);_(ve),R(()=>Q(vt,`@${e(E)??""}`)),t(Le,ve)},$$slots:{default:!0}})}),t(it,Ne)},$$slots:{default:!0}})}),t(Se,qe)};te(Ue,Se=>{e(y)&&!e(Z)&&!e(M)&&Se(rt)})}var lt=l(Ue,2);St(lt,{get task(){return e(y)},get loading(){return e(Z)},get error(){return e(M)},onTaskUpdated:X}),t(st,Be)},$$slots:{default:!0}})}),t(b,ke)},$$slots:{default:!0}})}),R(()=>De(B,"href",`${Te??""}/tasks/board`)),t(L,K),re(),n()}export{ja as component,za as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as ee,a as i,f as d,t as ke}from"../chunks/y4GeEH6k.js";import{o as Ae,a as je}from"../chunks/oTsvd9y4.js";import{p as le,f as I,e as Le,a as de,c as r,r as s,s as o,g as a,u as q,t as W,n as Y,y as fe,d as M,b as ne,Q as qe}from"../chunks/CaAJD3dl.js";import{d as Ne,s as T}from"../chunks/DqT6OH_u.js";import{s as Re,r as De,i as z,p as xe}from"../chunks/Dg_zDpDS.js";import{l as Me,y as pe,p as ie,h as oe,B as Se,j as me,a3 as he,u as Oe,a as ye,b as we,H as Qe,q as ue,L as Ue,d as _e}from"../chunks/Dd5umPsk.js";import{a as Ee,s as Fe}from"../chunks/ChQD-6N8.js";import{p as Ie}from"../chunks/gPrj-hqC.js";import{s as Ke,o as Ge,a as He,u as Ve}from"../chunks/ChB5iyEL.js";import{f as Je,g as We,a as Xe,T as Ye,L as Te,b as Ze,d as $e}from"../chunks/DmxsPZTB.js";import{R as Ce}from"../chunks/DJtZNgcs.js";import{I as et}from"../chunks/C5_PAZ0y.js";import{G as tt}from"../chunks/BG0850zf.js";import{T as at,B as st,c as rt,p as it}from"../chunks/DW_subyT.js";import{A as ot}from"../chunks/B2bcA_Q_.js";import{B as nt}from"../chunks/C_7MTDoj.js";import{T as lt}from"../chunks/DqK4iHp0.js";import{c as ce}from"../chunks/Ds9I9wQb.js";import{a as dt,b as vt,c as ct,d as ut,D as ft}from"../chunks/AiWQj974.js";import"../chunks/DxJw79Wi.js";import{S as $}from"../chunks/BG8eSzAd.js";import{B as ze}from"../chunks/P0A_fJvS.js";import{b as mt}from"../chunks/CDRO15Iv.js";import{g as gt}from"../chunks/BsJFsuAT.js";const pt=!1,Ta=Object.freeze(Object.defineProperty({__proto__:null,ssr:pt},Symbol.toStringTag,{value:"Module"}));function _t(X,t){le(t,!0);let x=De(t,["$$slots","$$events","$$legacy"]);const S=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"}]];et(X,Re({name:"message-square"},()=>x,{get iconNode(){return S},children:(u,C)=>{var l=ee(),P=I(l);Me(P,()=>t.children??Le),i(u,l)},$$slots:{default:!0}})),de()}var xt=d('<span class="ml-auto flex items-center gap-0.5 text-[10px] text-status-blocked"><!> Blocked</span>'),kt=d('<span class="ml-auto flex items-center gap-0.5 text-[10px] text-status-cancelled"><!> Cancelled</span>'),bt=d('<span class="text-[10px] text-muted-foreground"> </span>'),ht=d('<div class="flex flex-wrap gap-1 mb-2" data-testid="task-tags"><!> <!></div>'),yt=d('<div class="mb-2" data-testid="spec-ref-link"><!></div>'),wt=d('<button data-testid="task-card"><div class="flex items-center gap-1.5 mb-1.5"><span data-testid="priority-badge"> </span> <span class="flex items-center gap-1 text-[10px] text-muted-foreground"><span aria-hidden="true"></span> </span> <!> <!></div> <p class="text-sm font-medium leading-snug line-clamp-2 mb-1" data-testid="task-title"> </p> <p class="text-[11px] font-mono text-muted-foreground mb-1.5" data-testid="task-slug"> </p> <!> <!> <div class="flex items-center gap-3 text-[10px] text-muted-foreground pt-1.5 border-t border-border/50" data-testid="task-metadata"><span class="flex items-center gap-0.5"><!> </span> <span class="flex items-center gap-0.5"><!> </span> <span class="ml-auto"> </span></div></button>');function Tt(X,t){le(t,!0);let x=q(()=>We(t.task.status)),S=q(()=>t.task.status==="blocked"),u=q(()=>t.task.status==="cancelled"),C=q(()=>t.task.slugs?.[0]??t.task._ulid.slice(0,8));var l=wt();l.__click=()=>t.onclick(t.task);var P=r(l),N=r(P),R=r(N);s(N);var B=o(N,2),K=r(B),h=o(K);s(B);var y=o(B,2);{var A=n=>{var v=xt(),j=r(v);at(j,{class:"size-3"}),Y(),s(v),i(n,v)};z(y,n=>{a(S)&&n(A)})}var m=o(y,2);{var f=n=>{var v=kt(),j=r(v);st(j,{class:"size-3"}),Y(),s(v),i(n,v)};z(m,n=>{a(u)&&n(f)})}s(P);var g=o(P,2),D=r(g,!0);s(g);var O=o(g,2),Q=r(O);s(O);var E=o(O,2);{var k=n=>{var v=ht(),j=r(v);oe(j,17,()=>t.task.tags.slice(0,3),me,(_,L)=>{Se(_,{variant:"secondary",class:"text-[10px] px-1.5 py-0",children:(Z,se)=>{Y();var re=ke();W(()=>T(re,a(L))),i(Z,re)},$$slots:{default:!0}})});var e=o(j,2);{var c=_=>{var L=bt(),Z=r(L);s(L),W(()=>T(Z,`+${t.task.tags.length-3}`)),i(_,L)};z(e,_=>{t.task.tags.length>3&&_(c)})}s(v),i(n,v)};z(E,n=>{t.task.tags?.length>0&&n(k)})}var b=o(E,2);{var G=n=>{var v=yt(),j=r(v);Ce(j,{get ref(){return t.task.spec_ref},type:"spec",inline:!0,class:"text-[11px]"}),s(v),i(n,v)};z(b,n=>{t.task.spec_ref&&n(G)})}var H=o(b,2),U=r(H),w=r(U);_t(w,{class:"size-3"});var V=o(w);s(U);var J=o(U,2),te=r(J);tt(te,{class:"size-3"});var ae=o(te);s(J);var F=o(J,2),p=r(F,!0);s(F),s(H),s(l),W(n=>{pe(l,1,`group w-full text-left rounded-lg border bg-card p-3 shadow-sm transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${a(S)?"border-status-blocked/50":a(u)?"border-status-cancelled/50 opacity-60":"border-border"}`),ie(l,"data-task-id",t.task._ulid),pe(N,1,`inline-flex items-center justify-center size-5 rounded-full text-[10px] font-bold leading-none ${t.task.priority===1?"bg-destructive text-primary-foreground":t.task.priority===2?"bg-status-in-progress text-status-in-progress-fg":"bg-muted text-muted-foreground"}`),ie(N,"title",`Priority ${t.task.priority??""}`),T(R,`P${t.task.priority??""}`),pe(K,1,`size-2 rounded-full ${a(x).bg??""}`),T(h,` ${a(x).label??""}`),T(D,t.task.title),T(Q,`@${a(C)??""}`),ie(U,"title",`${t.task.notes_count??""} notes`),T(V,` ${t.task.notes_count??""}`),ie(J,"title",`${t.task.depends_on?.length??0??""} dependencies`),T(ae,` ${t.task.depends_on?.length??0??""}`),ie(F,"title",t.task.created_at),T(p,n)},[()=>Je(t.task.created_at)]),i(X,l),de()}Ne(["click"]);var zt=d('<p>No backlog tasks.</p> <p class="mt-1">Create tasks with <code class="bg-muted px-1 rounded">kspec task add</code></p>',1),St=d('<p>No tasks ready for work.</p> <p class="mt-1">Mark tasks eligible with <code class="bg-muted px-1 rounded">kspec task set --automation eligible</code></p>',1),Ct=d('<p>No active work.</p> <p class="mt-1">Start a task with <code class="bg-muted px-1 rounded">kspec task start</code></p>',1),Pt=d('<p>Nothing awaiting review.</p> <p class="mt-1">Submit work with <code class="bg-muted px-1 rounded">kspec task submit</code></p>',1),Bt=d('<p>No completed tasks yet.</p> <p class="mt-1">Tasks appear here after completion.</p>',1),At=d("<p>No tasks in this column.</p>"),jt=d('<div class="flex flex-col items-center justify-center py-8 text-muted-foreground text-xs text-center px-2" data-testid="column-empty"><!></div>'),Lt=d('<div class="flex flex-col min-w-0" data-testid="board-column"><div class="flex items-center gap-2 mb-3 px-1"><h2 class="text-sm font-semibold"> </h2> <span class="inline-flex items-center justify-center min-w-[20px] h-5 rounded-full bg-muted px-1.5 text-[10px] font-medium text-muted-foreground"> </span></div> <div class="flex flex-col gap-2 overflow-y-auto flex-1 pb-4 pr-1"><!></div></div>');function qt(X,t){le(t,!0);var x=Lt(),S=r(x),u=r(S),C=r(u,!0);s(u);var l=o(u,2),P=r(l,!0);s(l),s(S);var N=o(S,2),R=r(N);{var B=h=>{var y=jt(),A=r(y);{var m=g=>{var D=zt();Y(2),i(g,D)},f=g=>{var D=ee(),O=I(D);{var Q=k=>{var b=St();Y(2),i(k,b)},E=k=>{var b=ee(),G=I(b);{var H=w=>{var V=Ct();Y(2),i(w,V)},U=w=>{var V=ee(),J=I(V);{var te=F=>{var p=Pt();Y(2),i(F,p)},ae=F=>{var p=ee(),n=I(p);{var v=e=>{var c=Bt();Y(2),i(e,c)},j=e=>{var c=At();i(e,c)};z(n,e=>{t.column.id==="done"?e(v):e(j,!1)},!0)}i(F,p)};z(J,F=>{t.column.id==="review"?F(te):F(ae,!1)},!0)}i(w,V)};z(G,w=>{t.column.id==="in_progress"?w(H):w(U,!1)},!0)}i(k,b)};z(O,k=>{t.column.id==="ready"?k(Q):k(E,!1)},!0)}i(g,D)};z(A,g=>{t.column.id==="backlog"?g(m):g(f,!1)})}s(y),i(h,y)},K=h=>{var y=ee(),A=I(y);oe(A,17,()=>t.column.tasks,m=>m._ulid,(m,f)=>{Tt(m,{get task(){return a(f)},get onclick(){return t.onCardClick}})}),i(h,y)};z(R,h=>{t.column.tasks.length===0?h(B):h(K,!1)})}s(N),s(x),W(()=>{ie(x,"data-column-id",t.column.id),T(C,t.column.label),T(P,t.column.tasks.length)}),i(X,x),de()}var Nt=d('<div class="truncate mb-1" data-testid="fleet-task-title"><!></div>'),Rt=d('<div class="truncate"> </div>'),Dt=d('<div class="mt-1.5 rounded bg-muted/50 p-1.5 font-mono text-[10px] leading-tight text-muted-foreground overflow-hidden max-h-14" aria-live="polite" data-testid="fleet-output"></div>'),Mt=d('<div class="mt-1.5 flex items-center gap-1 text-[10px] text-muted-foreground/50" aria-live="polite" data-testid="fleet-output-empty"><!> <span>Awaiting output...</span></div>'),Ot=d('<div class="flex-shrink-0 w-72 rounded-lg border bg-card p-3 ds-breathe" data-testid="fleet-card"><div class="flex items-center gap-2 mb-1.5"><!> <span class="text-xs font-medium truncate" data-testid="fleet-agent-name"> </span></div> <!> <div class="flex items-center gap-1.5 text-[10px] text-muted-foreground mb-1.5"><span class="relative flex size-2"><span class="absolute inline-flex h-full w-full rounded-full bg-status-in-progress opacity-75 ds-breathe"></span> <span class="relative inline-flex size-2 rounded-full bg-status-in-progress"></span></span> <span> </span></div> <!></div>'),Qt=d('<div class="mb-4" data-testid="active-fleet-row"><div class="flex items-center gap-2 mb-2"><!> <h3 class="text-sm font-medium">Active Fleet</h3> <!></div> <div class="flex gap-3 overflow-x-auto pb-2"></div></div>');function Ut(X,t){le(t,!0);let x=xe(t,"outputLines",19,()=>({})),S=q(()=>t.status?.active_invocations??[]),u=q(()=>t.status?.dispatch_enabled&&a(S).length>0),C=q(()=>Object.fromEntries((t.status?.agent_definitions??[]).map(R=>[R.id,R.name])));var l=ee(),P=I(l);{var N=R=>{var B=Qt(),K=r(B),h=r(K);ot(h,{class:"size-4 text-status-in-progress"});var y=o(h,4);Se(y,{variant:"secondary",class:"text-[10px]",children:(m,f)=>{Y();var g=ke();W(()=>T(g,`${a(S).length??""} running`)),i(m,g)},$$slots:{default:!0}}),s(K);var A=o(K,2);oe(A,21,()=>a(S),m=>m.session_id,(m,f)=>{const g=q(()=>x()[a(f).session_id]??[]),D=q(()=>a(f).task_title??void 0),O=q(()=>a(C)[a(f).agent_id]??a(f).agent_id);var Q=Ot(),E=r(Q),k=r(E);nt(k,{class:"size-4 text-muted-foreground"});var b=o(k,2),G=r(b,!0);s(b),s(E);var H=o(E,2);{var U=p=>{var n=Nt(),v=r(n);Ce(v,{get ref(){return a(f).task_ref},type:"task",get title(){return a(D)},class:"text-xs"}),s(n),i(p,n)};z(H,p=>{a(f).task_ref&&p(U)})}var w=o(H,2),V=o(r(w),2),J=r(V,!0);s(V),s(w);var te=o(w,2);{var ae=p=>{var n=Dt();oe(n,21,()=>a(g),me,(v,j)=>{var e=Rt(),c=r(e,!0);s(e),W(()=>T(c,a(j))),i(v,e)}),s(n),W(()=>ie(n,"aria-label",`Agent output for ${a(D)??a(O)??""}`)),i(p,n)},F=p=>{var n=Mt(),v=r(n);lt(v,{class:"size-3"}),Y(2),s(n),W(()=>ie(n,"aria-label",`Agent output for ${a(D)??a(O)??""}`)),i(p,n)};z(te,p=>{a(g).length>0?p(ae):p(F,!1)})}s(Q),W(p=>{T(G,a(O)),T(J,p)},[()=>Xe(a(f).elapsed_ms)]),i(m,Q)}),s(A),s(B),i(R,B)};z(P,R=>{a(u)&&R(N)})}i(X,l),de()}var Et=d('<span class="font-mono text-xs"> </span>'),Ft=d("<!> <!>",1),It=d("<!> <!>",1);function Kt(X,t){le(t,!0);let x=xe(t,"open",15,!1),S=xe(t,"taskRef",11,null),u=ne(null),C=ne(!1),l=ne("");fe(()=>{x()&&S()?P(S()):x()||(M(u,null),M(l,""))});async function P(h){M(C,!0),M(l,"");try{M(u,await he(h),!0)}catch(y){M(l,y instanceof Error?y.message:"Failed to load task",!0)}finally{M(C,!1)}}async function N(){a(u)&&M(u,await he(a(u)._ulid),!0),t.onTaskUpdated?.()}let R=q(()=>a(u)?.slugs?.[0]??a(u)?._ulid?.slice(0,8)??"");var B=ee(),K=I(B);ce(K,()=>ft,(h,y)=>{y(h,{get open(){return x()},set open(A){x(A)},children:(A,m)=>{var f=ee(),g=I(f);ce(g,()=>dt,(D,O)=>{O(D,{class:"max-w-2xl max-h-[85vh] overflow-y-auto","data-testid":"task-detail-modal",children:(Q,E)=>{var k=It(),b=I(k);{var G=U=>{var w=ee(),V=I(w);ce(V,()=>vt,(J,te)=>{te(J,{children:(ae,F)=>{var p=Ft(),n=I(p);ce(n,()=>ct,(j,e)=>{e(j,{"data-testid":"task-detail-title",children:(c,_)=>{Y();var L=ke();W(()=>T(L,a(u).title)),i(c,L)},$$slots:{default:!0}})});var v=o(n,2);ce(v,()=>ut,(j,e)=>{e(j,{children:(c,_)=>{var L=Et(),Z=r(L);s(L),W(()=>T(Z,`@${a(R)??""}`)),i(c,L)},$$slots:{default:!0}})}),i(ae,p)},$$slots:{default:!0}})}),i(U,w)};z(b,U=>{a(u)&&!a(C)&&!a(l)&&U(G)})}var H=o(b,2);Ye(H,{get task(){return a(u)},get loading(){return a(C)},get error(){return a(l)},onTaskUpdated:N}),i(Q,k)},$$slots:{default:!0}})}),i(A,f)},$$slots:{default:!0}})}),i(X,B),de()}var Gt=d('<div class="rounded-lg border bg-card p-3 mb-2"><div class="flex items-center gap-1.5 mb-1.5"><!> <!></div> <!> <!> <div class="flex gap-1 mb-2"><!> <!></div> <div class="flex items-center gap-3 pt-1.5 border-t border-border/50"><!> <!> <!></div></div>'),Ht=d('<div class="flex flex-col min-w-0"><div class="flex items-center gap-2 mb-3 px-1"><!> <!></div> <!></div>'),Vt=d('<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-4 p-6" data-testid="board-skeleton"></div>');function Jt(X){var t=Vt();oe(t,4,()=>Array(5),me,(x,S,u)=>{var C=Ht(),l=r(C),P=r(l);$(P,{class:"h-4 w-20 ds-shimmer"});var N=o(P,2);$(N,{class:"size-5 rounded-full ds-shimmer"}),s(l);var R=o(l,2);oe(R,1,()=>Array(u===0?3:u===4?2:1),me,(B,K,h,y)=>{var A=Gt(),m=r(A),f=r(m);$(f,{class:"size-5 rounded-full ds-shimmer"});var g=o(f,2);$(g,{class:"h-3 w-16 ds-shimmer"}),s(m);var D=o(m,2);$(D,{class:"h-4 w-full mb-1 ds-shimmer"});var O=o(D,2);$(O,{class:"h-3 w-24 mb-1.5 ds-shimmer"});var Q=o(O,2),E=r(Q);$(E,{class:"h-4 w-10 rounded-full ds-shimmer"});var k=o(E,2);$(k,{class:"h-4 w-12 rounded-full ds-shimmer"}),s(Q);var b=o(Q,2),G=r(b);$(G,{class:"h-3 w-8 ds-shimmer"});var H=o(G,2);$(H,{class:"h-3 w-8 ds-shimmer"});var U=o(H,2);$(U,{class:"h-3 w-6 ml-auto ds-shimmer"}),s(b),s(A),i(B,A)}),s(C),i(x,C)}),s(t),i(X,t)}var Wt=d('<p class="text-sm text-muted-foreground"> </p>'),Xt=d('<div class="mx-6 mt-4 bg-destructive/10 text-destructive p-4 rounded-lg" role="alert" data-testid="board-error"> </div>'),Yt=d('<div class="flex flex-col items-center justify-center flex-1 py-16" data-testid="board-empty"><!> <h2 class="text-lg font-medium text-muted-foreground mb-1">No tasks yet</h2> <p class="text-sm text-muted-foreground">Create tasks using <code class="bg-muted px-1 rounded text-xs">kspec task add</code></p></div>'),Zt=d('<div class="px-6 pt-4"><!></div> <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 gap-4 p-6 pt-2 flex-1 min-h-0" data-testid="board-columns"></div>',1),$t=d('<div class="flex flex-col h-full min-w-0"><div class="flex items-center justify-between p-6 pb-0"><div><h1 class="text-2xl font-bold">Task Board</h1> <!></div> <div class="flex items-center gap-1 border rounded-lg p-0.5"><!> <a title="List view"><!></a></div></div> <!> <!></div> <!>',1);function za(X,t){le(t,!0);const x=()=>Ee(Ie,"$page",S),[S,u]=Fe(),C=Oe();let l=qe({});const P=ye(()=>({queryKey:ue.tasks.list({}),queryFn:()=>Qe(),enabled:we()})),N=ye(()=>({queryKey:ue.agents.status(),queryFn:()=>Ue(),enabled:we()&&!_e(),staleTime:10*1e3}));let R=q(()=>P.data?.items??[]),B=q(()=>$e(a(R))),K=q(()=>P.isLoading),h=q(()=>P.error?.message??""),y=q(()=>N.data??null),A=q(()=>Object.fromEntries(Object.entries(l).map(([e,c])=>[e,c.lines]))),m=ne(!1),f=ne(null),g=ne("");fe(()=>{const e=x().url.searchParams.get("ref");e&&e!==a(g)&&(M(g,e,!0),M(f,e,!0),M(m,!0))}),fe(()=>{if(!a(m)){M(f,null),M(g,"");const e=new URL(x().url);e.searchParams.has("ref")&&(e.searchParams.delete("ref"),gt(e,{replaceState:!0,keepFocus:!0,noScroll:!0}))}});function D(e){M(f,e._ulid,!0),M(m,!0)}function O(){C.invalidateQueries({queryKey:ue.tasks.all})}function Q(e){if(new Set(["message_progress","message_complete","thinking_progress","thinking_complete"]).has(e.event)&&e.data?.session_id&&e.data?.text){const _=e.data.session_id,L=e.data.text,Z=l[_]??rt();l[_]=it(Z,L);return}C.invalidateQueries({queryKey:ue.agents.status()})}fe(()=>{const e=N.data;if(!e)return;const c=new Set(e.active_invocations.map(_=>_.session_id));for(const _ of Object.keys(l))c.has(_)||delete l[_]}),Ae(()=>{_e()||(Ke(["agents"]),Ge("agents",Q))}),je(()=>{_e()||(He("agents",Q),Ve(["agents"]))});var E=$t(),k=I(E),b=r(k),G=r(b),H=o(r(G),2);{var U=e=>{const c=q(()=>a(B).reduce((Z,se)=>Z+se.tasks.length,0));var _=Wt(),L=r(_);s(_),W(()=>T(L,`${a(c)??""} tasks`)),i(e,_)};z(H,e=>{!a(K)&&a(B).length>0&&e(U)})}s(G);var w=o(G,2),V=r(w);ze(V,{variant:"ghost",size:"icon-sm",class:"bg-accent",title:"Board view","aria-pressed":"true",children:(e,c)=>{Te(e,{class:"size-4"})},$$slots:{default:!0}});var J=o(V,2),te=r(J);ze(te,{variant:"ghost",size:"icon-sm","aria-pressed":"false",children:(e,c)=>{Ze(e,{class:"size-4"})},$$slots:{default:!0}}),s(J),s(w),s(b);var ae=o(b,2);{var F=e=>{var c=Xt(),_=r(c,!0);s(c),W(()=>T(_,a(h))),i(e,c)};z(ae,e=>{a(h)&&e(F)})}var p=o(ae,2);{var n=e=>{Jt(e)},v=e=>{var c=ee(),_=I(c);{var L=se=>{var re=Yt(),ve=r(re);Te(ve,{class:"size-12 text-muted-foreground/30 mb-4"}),Y(4),s(re),i(se,re)},Z=se=>{var re=Zt(),ve=I(re),Pe=r(ve);Ut(Pe,{get status(){return a(y)},get outputLines(){return a(A)}}),s(ve);var be=o(ve,2);oe(be,21,()=>a(B),ge=>ge.id,(ge,Be)=>{qt(ge,{get column(){return a(Be)},onCardClick:D})}),s(be),i(se,re)};z(_,se=>{a(R).length===0?se(L):se(Z,!1)},!0)}i(e,c)};z(p,e=>{a(K)?e(n):e(v,!1)})}s(k);var j=o(k,2);Kt(j,{onTaskUpdated:O,get open(){return a(m)},set open(e){M(m,e,!0)},get taskRef(){return a(f)},set taskRef(e){M(f,e,!0)}}),W(()=>ie(J,"href",`${mt??""}/tasks`)),i(X,E),de(),u()}export{za as component,Ta as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as ie,a,f as c,t as M}from"../chunks/y4GeEH6k.js";import{p as mt,f as $,e as Kt,a as pt,y as Qt,g as e,u,d as f,c as n,s as i,t as m,b as pe,$ as Gt,r as s,O as He,P as ct,n as Y}from"../chunks/CaAJD3dl.js";import{d as Vt,e as Ht,s as p}from"../chunks/DqT6OH_u.js";import{s as Wt,r as Xt,i as v}from"../chunks/Dg_zDpDS.js";import{l as Jt,u as Yt,a as vt,i as We,h as Ae,b as ut,f as Zt,q as Te,z as er,j as Se,d as Ce,s as Xe,A as tr,B as gt,C as rr,E as ar,g as ft,F as ir}from"../chunks/Dd5umPsk.js";import{h as or,r as sr}from"../chunks/fZMteyca.js";import{g as nr}from"../chunks/BsJFsuAT.js";import{b as _t}from"../chunks/CDRO15Iv.js";import{p as Pe}from"../chunks/dh5HeqUr.js";import{B as xe}from"../chunks/P0A_fJvS.js";import{C as dr}from"../chunks/CF1CoqD5.js";import{C as lr}from"../chunks/Du5ng3u4.js";import{C as cr}from"../chunks/DKIeaprD.js";import{T as vr}from"../chunks/Xvwhx_F1.js";import{S as ur}from"../chunks/htcWMiYN.js";import{I as gr}from"../chunks/C5_PAZ0y.js";import{C as fr}from"../chunks/Yyz1XMQA.js";function _r(ke,oe){mt(oe,!0);let be=Xt(oe,["$$slots","$$events","$$legacy"]);const w=[["path",{d:"m15 18-6-6 6-6"}]];gr(ke,Wt({name:"chevron-left"},()=>be,{get iconNode(){return w},children:(k,U)=>{var R=ie(),S=$(R);Jt(S,()=>oe.children??Kt),a(k,R)},$$slots:{default:!0}})),pt()}var mr=c('<p class="text-muted-foreground" data-testid="triage-progress"> <!></p>'),pr=c("<option> </option>"),xr=c("<option> </option>"),br=c('<select class="rounded-md border bg-background px-3 py-1.5 text-sm" data-testid="triage-tag-filter"><option>All Tags</option><!></select>'),hr=c('<div class="w-full bg-muted rounded-full h-2" data-testid="triage-progress-bar"><div class="bg-primary rounded-full h-2 transition-all duration-300"></div></div>'),yr=c('<div class="rounded-md bg-red-50 p-4 text-sm text-red-800 dark:bg-red-900/20 dark:text-red-200" data-testid="triage-error" role="alert"> </div>'),$r=c('<div class="rounded-md bg-amber-50 p-3 text-sm text-amber-800 dark:bg-amber-900/20 dark:text-amber-200" data-testid="triage-static-notice">Triage decisions are not included in static snapshots. Browse inbox items below; use the daemon for full triage functionality.</div>'),wr=c('<div class="text-center text-muted-foreground py-12">Loading triage data...</div>'),Ar=c('<p>No inbox items to triage.</p> <p class="text-sm mt-1">Add items to your inbox first.</p>',1),Tr=c("<p>No items match the current filters.</p>"),Sr=c('<div class="text-center text-muted-foreground py-12"><!></div>'),Cr=c("<!> Previous",1),Pr=c("Next <!>",1),kr=c('<span>·</span> <div class="flex gap-1" data-testid="triage-card-tags"></div>',1),Er=c('<div class="flex items-start justify-between gap-4"><div class="text-lg leading-relaxed prose prose-sm dark:prose-invert max-w-none" data-testid="triage-card-text"><!></div> <!></div> <div class="flex items-center gap-2 text-xs text-muted-foreground mt-2" data-testid="triage-card-meta"><span data-testid="triage-card-age"> </span> <span>·</span> <span data-testid="triage-card-added-by"> </span> <!></div>',1),Ir=c('<p data-testid="triage-rec-evidence"><span class="font-medium">Evidence:</span> </p>'),Rr=c('<div class="rounded-md bg-muted p-4 mb-4" data-testid="triage-agent-recommendation"><p class="text-sm font-medium mb-2"><!></p> <div class="space-y-1 text-sm"><p data-testid="triage-rec-action"><span class="font-medium">Action:</span> </p> <p data-testid="triage-rec-reasoning"><span class="font-medium">Reasoning:</span> </p> <!> <p class="text-xs text-muted-foreground"> </p></div></div>'),Or=c('<!> <div class="space-y-4" data-testid="triage-action-form"><div><p class="text-sm font-medium mb-2"> </p> <div class="flex flex-wrap gap-2" data-testid="triage-action-buttons"></div></div> <div><p class="text-sm font-medium mb-2">Reasoning</p> <!></div> <div class="flex gap-2"><!> <!></div></div>',1),Nr=c('<p class="text-sm text-muted-foreground mt-4">No triage decision recorded. Use the CLI or daemon to triage items.</p>'),Dr=c("<!> <!>",1),Lr=c("<!> <!>",1),qr=c('<div class="flex items-center justify-between mb-2"><!> <span class="text-sm text-muted-foreground" data-testid="triage-position"> </span> <!></div> <!>',1),Mr=c('<div class="flex flex-col gap-4 p-6"><div class="flex items-center justify-between"><div><h1 class="text-3xl font-bold">Triage</h1> <!></div> <div class="flex gap-2 items-center" data-testid="triage-filters"><select class="rounded-md border bg-background px-3 py-1.5 text-sm" data-testid="triage-status-filter"><option>All</option><option>Untriaged</option><option>Triaged</option><option>Acted On</option></select> <select class="rounded-md border bg-background px-3 py-1.5 text-sm" data-testid="triage-action-filter"><option>All Actions</option><!></select> <!></div></div> <!> <!> <!> <!></div>');function ra(ke,oe){mt(oe,!0);const be=Yt();let w=pe(0),k=pe(!1),U=pe(""),R=pe(""),S=pe("");const se={promote:"Promote to Task",delete:"Delete",defer:"Defer","spec-gap":"Spec Gap",duplicate:"Duplicate"},xt={promote:"bg-green-500",delete:"bg-red-500",defer:"bg-yellow-500","spec-gap":"bg-purple-500",duplicate:"bg-gray-500"},bt=["all","untriaged","triaged","acted_on"],ht=Object.keys(se),ne=vt(()=>({queryKey:Te.inbox.merged(),queryFn:()=>Zt(),enabled:ut()})),he=vt(()=>({queryKey:Te.inbox.list({type:"triage-records"}),queryFn:()=>er(),enabled:ut()}));let Z=u(()=>Pe.url.searchParams.get("tag")||""),V=u(()=>{const t=Pe.url.searchParams.get("status");return t&&bt.includes(t)?t:"all"}),ee=u(()=>{const t=Pe.url.searchParams.get("action");return t&&ht.includes(t)?t:""}),yt=u(()=>{const t=he.data?.items??[],r=new Map;for(const d of t)r.set(d.inbox_ref,d);return r}),de=u(()=>(ne.data?.items??[]).map(r=>{const d=e(yt).get(r._ulid)??null;return{inbox:r,record:d}})),z=u(()=>{let t=e(de);return e(Z)&&(t=t.filter(r=>r.inbox.tags.includes(e(Z)))),e(V)==="untriaged"?t=t.filter(r=>!r.inbox.triage||r.inbox.triage.status==="pending"):e(V)==="triaged"?t=t.filter(r=>r.inbox.triage?.status==="triaged"):e(V)==="acted_on"&&(t=t.filter(r=>r.inbox.triage?.status==="acted_on")),e(ee)&&(t=t.filter(r=>r.inbox.triage?.action===e(ee))),t}),o=u(()=>e(z)[e(w)]??null),Je=u(()=>e(de).filter(t=>t.inbox.triage&&t.inbox.triage.status!=="pending").length),Ee=u(()=>e(de).length),Ye=u(()=>{const t=ne.data?.items??[],r=new Set;return t.forEach(d=>d.tags.forEach(_=>r.add(_))),Array.from(r).sort()}),Ie=u(()=>ne.isLoading||he.isLoading),Ze=u(()=>e(S)||(ne.error?ne.error.message:"")||(he.error?he.error.message:""));function Re(t,r){const d=new URLSearchParams(Pe.url.searchParams);!r||r==="all"?d.delete(t):d.set(t,r);const _=d.toString(),h=_?`${_t}/triage?${_}`:`${_t}/triage`;nr(h,{replaceState:!1,keepFocus:!0,noScroll:!0})}function et(){e(w)<e(z).length-1&&(He(w),ye())}function tt(){e(w)>0&&(He(w,-1),ye())}function ye(){f(U,""),f(R,""),f(S,"")}function $t(t){const r=t.target;r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.isContentEditable||(t.key==="ArrowLeft"?tt():t.key==="ArrowRight"&&et())}async function wt(){if(!(!e(o)||!e(U)||!e(R).trim())){if(Ce()){f(S,"Cannot submit triage decisions in read-only mode.");return}try{f(k,!0),f(S,"");const t=e(o).record;t&&t.status!=="pending"?await rr(t._ulid,{action:e(U),reasoning:e(R).trim()}):await ar({inbox_ref:e(o).inbox._ulid,action:e(U),reasoning:e(R).trim()}),be.invalidateQueries({queryKey:Te.inbox.all}),e(w)<e(z).length-1&&He(w),ye()}catch(t){t instanceof ft?f(S,t.message,!0):f(S,t instanceof Error?t.message:"Failed to submit triage decision",!0)}finally{f(k,!1)}}}async function At(){if(e(o)?.record){if(Ce()){f(S,"Cannot execute triage actions in read-only mode.");return}try{f(k,!0),f(S,""),await ir(e(o).record._ulid),be.invalidateQueries({queryKey:Te.inbox.all})}catch(t){t instanceof ft?f(S,t.message,!0):f(S,t instanceof Error?t.message:"Failed to execute triage action",!0)}finally{f(k,!1)}}}function Tt(t){const r=new Date(t),_=new Date().getTime()-r.getTime(),h=Math.floor(_/6e4),l=Math.floor(_/36e5),g=Math.floor(_/864e5);return h<1?"just now":h<60?`${h}m ago`:l<24?`${l}h ago`:g<7?`${g}d ago`:r.toLocaleDateString()}Qt(()=>{e(Z),e(V),e(ee),f(w,0),ye()});var Oe=Mr();Ht("keydown",Gt,$t);var Ne=n(Oe),De=n(Ne),St=i(n(De),2);{var Ct=t=>{var r=mr(),d=n(r),_=i(d);{var h=l=>{var g=M();m(()=>p(g,`· Showing ${e(z).length??""} filtered`)),a(l,g)};v(_,l=>{e(z).length!==e(de).length&&l(h)})}s(r),m(()=>p(d,`${e(Je)??""} of ${e(Ee)??""} triaged `)),a(t,r)};v(St,t=>{e(Ie)||t(Ct)})}s(De);var rt=i(De,2),B=n(rt);B.__change=t=>Re("status",t.currentTarget.value);var Le=n(B);Le.value=Le.__value="all";var qe=i(Le);qe.value=qe.__value="untriaged";var Me=i(qe);Me.value=Me.__value="triaged";var at=i(Me);at.value=at.__value="acted_on",s(B);var it;We(B);var K=i(B,2);K.__change=t=>Re("action",t.currentTarget.value);var je=n(K);je.value=je.__value="";var Pt=i(je);Ae(Pt,17,()=>Object.entries(se),Se,(t,r)=>{var d=u(()=>ct(e(r),2));let _=()=>e(d)[0],h=()=>e(d)[1];var l=pr(),g=n(l,!0);s(l);var C={};m(()=>{p(g,h()),C!==(C=_())&&(l.value=(l.__value=_())??"")}),a(t,l)}),s(K);var ot;We(K);var kt=i(K,2);{var Et=t=>{var r=br();r.__change=l=>Re("tag",l.currentTarget.value);var d=n(r);d.value=d.__value="";var _=i(d);Ae(_,17,()=>e(Ye),Se,(l,g)=>{var C=xr(),le=n(C,!0);s(C);var Q={};m(()=>{p(le,e(g)),Q!==(Q=e(g))&&(C.value=(C.__value=e(g))??"")}),a(l,C)}),s(r);var h;We(r),m(()=>{h!==(h=e(Z))&&(r.value=(r.__value=e(Z))??"",Xe(r,e(Z)))}),a(t,r)};v(kt,t=>{e(Ye).length>0&&t(Et)})}s(rt),s(Ne);var st=i(Ne,2);{var It=t=>{var r=hr(),d=n(r);s(r),m(()=>tr(d,`width: ${e(Je)/e(Ee)*100}%`)),a(t,r)};v(st,t=>{e(Ee)>0&&t(It)})}var nt=i(st,2);{var Rt=t=>{var r=yr(),d=n(r,!0);s(r),m(()=>p(d,e(Ze))),a(t,r)};v(nt,t=>{e(Ze)&&t(Rt)})}var dt=i(nt,2);{var Ot=t=>{var r=$r();a(t,r)};v(dt,t=>{Ce()&&!e(Ie)&&t(Ot)})}var Nt=i(dt,2);{var Dt=t=>{var r=wr();a(t,r)},Lt=t=>{var r=ie(),d=$(r);{var _=l=>{var g=Sr(),C=n(g);{var le=j=>{var H=Ar();Y(2),a(j,H)},Q=j=>{var H=Tr();a(j,H)};v(C,j=>{e(de).length===0?j(le):j(Q,!1)})}s(g),a(l,g)},h=l=>{var g=ie(),C=$(g);{var le=Q=>{var j=qr(),H=$(j),lt=n(H);{let ce=u(()=>e(w)===0);xe(lt,{variant:"outline",size:"sm",onclick:tt,get disabled(){return e(ce)},"data-testid":"triage-prev",children:($e,we)=>{var G=Cr(),ve=$(G);_r(ve,{class:"size-4 mr-1"}),Y(),a($e,G)},$$slots:{default:!0}})}var Fe=i(lt,2),qt=n(Fe);s(Fe);var Mt=i(Fe,2);{let ce=u(()=>e(w)===e(z).length-1);xe(Mt,{variant:"outline",size:"sm",onclick:et,get disabled(){return e(ce)},"data-testid":"triage-next",children:($e,we)=>{Y();var G=Pr(),ve=i($(G));fr(ve,{class:"size-4 ml-1"}),a($e,G)},$$slots:{default:!0}})}s(H);var jt=i(H,2);dr(jt,{class:"transition-all duration-200","data-testid":"triage-card",children:(ce,$e)=>{var we=Lr(),G=$(we);cr(G,{children:(Ue,Ft)=>{var ue=Er(),te=$(ue),ge=n(te),ze=n(ge);or(ze,()=>sr(e(o).inbox.text)),s(ge);var Be=i(ge,2);{var Ke=x=>{{let D=u(()=>e(o).record.action?xt[e(o).record.action]:"bg-gray-500");gt(x,{get class(){return e(D)},"data-testid":"triage-card-status",children:(L,W)=>{Y();var q=M();m(()=>p(q,e(o).record.status==="acted_on"?"Acted":"Triaged")),a(L,q)},$$slots:{default:!0}})}};v(Be,x=>{e(o).record&&e(o).record.status!=="pending"&&x(Ke)})}s(te);var A=i(te,2),T=n(A),O=n(T,!0);s(T);var N=i(T,4),E=n(N,!0);s(N);var F=i(N,2);{var re=x=>{var D=kr(),L=i($(D),2);Ae(L,21,()=>e(o).inbox.tags,Se,(W,q)=>{gt(W,{variant:"secondary",class:"text-xs",children:(fe,_e)=>{Y();var y=M();m(()=>p(y,e(q))),a(fe,y)},$$slots:{default:!0}})}),s(L),a(x,D)};v(F,x=>{e(o).inbox.tags.length>0&&x(re)})}s(A),m(x=>{p(O,x),p(E,e(o).inbox.added_by)},[()=>Tt(e(o).inbox.created_at)]),a(Ue,ue)},$$slots:{default:!0}});var ve=i(G,2);lr(ve,{children:(Ue,Ft)=>{var ue=Dr(),te=$(ue);{var ge=A=>{var T=Rr(),O=n(T),N=n(O);{var E=b=>{var P=M("Override Decision");a(b,P)},F=b=>{var P=M("Agent Recommendation");a(b,P)};v(N,b=>{e(o).record.override_by?b(E):b(F,!1)})}s(O);var re=i(O,2),x=n(re),D=i(n(x));s(x);var L=i(x,2),W=i(n(L));s(L);var q=i(L,2);{var fe=b=>{var P=Ir(),I=i(n(P));s(P),m(me=>p(I,` ${me??""}`),[()=>e(o).record.evidence_refs.join(", ")]),a(b,P)};v(q,b=>{e(o).record.evidence_refs.length>0&&b(fe)})}var _e=i(q,2),y=n(_e);s(_e),s(re),s(T),m(()=>{p(D,` ${(e(o).record.action?se[e(o).record.action]:"None")??""}`),p(W,` ${(e(o).record.override_reasoning||e(o).record.reasoning)??""}`),p(y,`Decided by: ${(e(o).record.override_by||e(o).record.decided_by)??""}`)}),a(A,T)};v(te,A=>{e(o).record&&e(o).record.status!=="pending"&&A(ge)})}var ze=i(te,2);{var Be=A=>{var T=Or(),O=$(T);ur(O,{class:"my-4"});var N=i(O,2),E=n(N),F=n(E),re=n(F,!0);s(F);var x=i(F,2);Ae(x,21,()=>Object.entries(se),Se,(y,b)=>{var P=u(()=>ct(e(b),2));let I=()=>e(P)[0],me=()=>e(P)[1];{let Qe=u(()=>e(U)===I()?"default":"outline");xe(y,{get variant(){return e(Qe)},size:"sm",onclick:()=>f(U,I(),!0),get"data-testid"(){return`triage-action-${I()??""}`},children:(Ge,X)=>{Y();var J=M();m(()=>p(J,me())),a(Ge,J)},$$slots:{default:!0}})}}),s(x),s(E);var D=i(E,2),L=i(n(D),2);vr(L,{placeholder:"Why are you choosing this action?",rows:3,get disabled(){return e(k)},"data-testid":"triage-reasoning",get value(){return e(R)},set value(y){f(R,y,!0)}}),s(D);var W=i(D,2),q=n(W);{let y=u(()=>e(k)||!e(U)||!e(R).trim());xe(q,{onclick:wt,get disabled(){return e(y)},"data-testid":"triage-submit",children:(b,P)=>{var I=ie(),me=$(I);{var Qe=X=>{var J=M("Submitting...");a(X,J)},Ge=X=>{var J=ie(),Ut=$(J);{var zt=ae=>{var Ve=M("Override Decision");a(ae,Ve)},Bt=ae=>{var Ve=M("Submit Decision");a(ae,Ve)};v(Ut,ae=>{e(o).record&&e(o).record.status!=="pending"?ae(zt):ae(Bt,!1)},!0)}a(X,J)};v(me,X=>{e(k)?X(Qe):X(Ge,!1)})}a(b,I)},$$slots:{default:!0}})}var fe=i(q,2);{var _e=y=>{xe(y,{variant:"secondary",onclick:At,get disabled(){return e(k)},"data-testid":"triage-act",children:(b,P)=>{Y();var I=M();m(()=>p(I,e(k)?"Executing...":`Execute: ${e(o).record.action?se[e(o).record.action]:""}`)),a(b,I)},$$slots:{default:!0}})};v(fe,y=>{e(o).record?.status==="triaged"&&y(_e)})}s(W),s(N),m(()=>p(re,e(o).record&&e(o).record.status!=="pending"?"Override Action":"Select Action")),a(A,T)},Ke=A=>{var T=ie(),O=$(T);{var N=E=>{var F=Nr();a(E,F)};v(O,E=>{e(o).record||E(N)})}a(A,T)};v(ze,A=>{Ce()?A(Ke,!1):A(Be)})}a(Ue,ue)},$$slots:{default:!0}}),a(ce,we)},$$slots:{default:!0}}),m(()=>p(qt,`${e(w)+1} / ${e(z).length??""}`)),a(Q,j)};v(C,Q=>{e(o)&&Q(le)},!0)}a(l,g)};v(d,l=>{e(z).length===0?l(_):l(h,!1)},!0)}a(t,r)};v(Nt,t=>{e(Ie)?t(Dt):t(Lt,!1)})}s(Oe),m(()=>{it!==(it=e(V))&&(B.value=(B.__value=e(V))??"",Xe(B,e(V))),ot!==(ot=e(ee))&&(K.value=(K.__value=e(ee))??"",Xe(K,e(ee)))}),a(ke,Oe),pt()}Vt(["change"]);export{ra as component};
|