@specforge/cli 0.1.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 +781 -0
- package/bin/specforge +21 -0
- package/dist/channel.d.ts +27 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +22 -0
- package/dist/channel.js.map +1 -0
- package/dist/cli/commands/configure.d.ts +16 -0
- package/dist/cli/commands/configure.d.ts.map +1 -0
- package/dist/cli/commands/configure.js +186 -0
- package/dist/cli/commands/configure.js.map +1 -0
- package/dist/cli/commands/configure.types.d.ts +110 -0
- package/dist/cli/commands/configure.types.d.ts.map +1 -0
- package/dist/cli/commands/configure.types.js +82 -0
- package/dist/cli/commands/configure.types.js.map +1 -0
- package/dist/cli/commands/debug/call.d.ts +14 -0
- package/dist/cli/commands/debug/call.d.ts.map +1 -0
- package/dist/cli/commands/debug/call.js +96 -0
- package/dist/cli/commands/debug/call.js.map +1 -0
- package/dist/cli/commands/debug/index.d.ts +12 -0
- package/dist/cli/commands/debug/index.d.ts.map +1 -0
- package/dist/cli/commands/debug/index.js +14 -0
- package/dist/cli/commands/debug/index.js.map +1 -0
- package/dist/cli/commands/debug/register.d.ts +11 -0
- package/dist/cli/commands/debug/register.d.ts.map +1 -0
- package/dist/cli/commands/debug/register.js +78 -0
- package/dist/cli/commands/debug/register.js.map +1 -0
- package/dist/cli/commands/debug/test.d.ts +13 -0
- package/dist/cli/commands/debug/test.d.ts.map +1 -0
- package/dist/cli/commands/debug/test.js +91 -0
- package/dist/cli/commands/debug/test.js.map +1 -0
- package/dist/cli/commands/debug/tools.d.ts +13 -0
- package/dist/cli/commands/debug/tools.d.ts.map +1 -0
- package/dist/cli/commands/debug/tools.js +86 -0
- package/dist/cli/commands/debug/tools.js.map +1 -0
- package/dist/cli/commands/debug/types.d.ts +119 -0
- package/dist/cli/commands/debug/types.d.ts.map +1 -0
- package/dist/cli/commands/debug/types.js +36 -0
- package/dist/cli/commands/debug/types.js.map +1 -0
- package/dist/cli/commands/debug/whoami.d.ts +13 -0
- package/dist/cli/commands/debug/whoami.d.ts.map +1 -0
- package/dist/cli/commands/debug/whoami.js +131 -0
- package/dist/cli/commands/debug/whoami.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +16 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +413 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/doctor.types.d.ts +180 -0
- package/dist/cli/commands/doctor.types.d.ts.map +1 -0
- package/dist/cli/commands/doctor.types.js +140 -0
- package/dist/cli/commands/doctor.types.js.map +1 -0
- package/dist/cli/commands/feedback.d.ts +27 -0
- package/dist/cli/commands/feedback.d.ts.map +1 -0
- package/dist/cli/commands/feedback.js +262 -0
- package/dist/cli/commands/feedback.js.map +1 -0
- package/dist/cli/commands/feedback.types.d.ts +116 -0
- package/dist/cli/commands/feedback.types.d.ts.map +1 -0
- package/dist/cli/commands/feedback.types.js +65 -0
- package/dist/cli/commands/feedback.types.js.map +1 -0
- package/dist/cli/commands/index.d.ts +15 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +21 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +17 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +773 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/init.types.d.ts +193 -0
- package/dist/cli/commands/init.types.d.ts.map +1 -0
- package/dist/cli/commands/init.types.js +29 -0
- package/dist/cli/commands/init.types.js.map +1 -0
- package/dist/cli/commands/invitations.d.ts +31 -0
- package/dist/cli/commands/invitations.d.ts.map +1 -0
- package/dist/cli/commands/invitations.js +250 -0
- package/dist/cli/commands/invitations.js.map +1 -0
- package/dist/cli/commands/login.d.ts +40 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +139 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/members.d.ts +55 -0
- package/dist/cli/commands/members.d.ts.map +1 -0
- package/dist/cli/commands/members.js +296 -0
- package/dist/cli/commands/members.js.map +1 -0
- package/dist/cli/commands/scaffold/agent-types.d.ts +54 -0
- package/dist/cli/commands/scaffold/agent-types.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/agent-types.js +22 -0
- package/dist/cli/commands/scaffold/agent-types.js.map +1 -0
- package/dist/cli/commands/scaffold/display.d.ts +56 -0
- package/dist/cli/commands/scaffold/display.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/display.js +217 -0
- package/dist/cli/commands/scaffold/display.js.map +1 -0
- package/dist/cli/commands/scaffold/files.d.ts +99 -0
- package/dist/cli/commands/scaffold/files.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/files.js +122 -0
- package/dist/cli/commands/scaffold/files.js.map +1 -0
- package/dist/cli/commands/scaffold/index.d.ts +13 -0
- package/dist/cli/commands/scaffold/index.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/index.js +12 -0
- package/dist/cli/commands/scaffold/index.js.map +1 -0
- package/dist/cli/commands/scaffold/register.d.ts +11 -0
- package/dist/cli/commands/scaffold/register.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/register.js +11 -0
- package/dist/cli/commands/scaffold/register.js.map +1 -0
- package/dist/cli/commands/scaffold/scaffold.d.ts +11 -0
- package/dist/cli/commands/scaffold/scaffold.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/scaffold.js +728 -0
- package/dist/cli/commands/scaffold/scaffold.js.map +1 -0
- package/dist/cli/commands/scaffold/targets.d.ts +60 -0
- package/dist/cli/commands/scaffold/targets.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/targets.js +251 -0
- package/dist/cli/commands/scaffold/targets.js.map +1 -0
- package/dist/cli/commands/scaffold/types.d.ts +170 -0
- package/dist/cli/commands/scaffold/types.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/types.js +12 -0
- package/dist/cli/commands/scaffold/types.js.map +1 -0
- package/dist/cli/commands/scaffold/utils.d.ts +89 -0
- package/dist/cli/commands/scaffold/utils.d.ts.map +1 -0
- package/dist/cli/commands/scaffold/utils.js +401 -0
- package/dist/cli/commands/scaffold/utils.js.map +1 -0
- package/dist/cli/commands/status.d.ts +19 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +124 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/status.types.d.ts +37 -0
- package/dist/cli/commands/status.types.d.ts.map +1 -0
- package/dist/cli/commands/status.types.js +7 -0
- package/dist/cli/commands/status.types.js.map +1 -0
- package/dist/cli/commands/switch.d.ts +18 -0
- package/dist/cli/commands/switch.d.ts.map +1 -0
- package/dist/cli/commands/switch.js +134 -0
- package/dist/cli/commands/switch.js.map +1 -0
- package/dist/cli/commands/switch.types.d.ts +123 -0
- package/dist/cli/commands/switch.types.d.ts.map +1 -0
- package/dist/cli/commands/switch.types.js +46 -0
- package/dist/cli/commands/switch.types.js.map +1 -0
- package/dist/cli/config/agent-teams.types.d.ts +120 -0
- package/dist/cli/config/agent-teams.types.d.ts.map +1 -0
- package/dist/cli/config/agent-teams.types.js +23 -0
- package/dist/cli/config/agent-teams.types.js.map +1 -0
- package/dist/cli/config/index.d.ts +13 -0
- package/dist/cli/config/index.d.ts.map +1 -0
- package/dist/cli/config/index.js +7 -0
- package/dist/cli/config/index.js.map +1 -0
- package/dist/cli/config/loader.d.ts +114 -0
- package/dist/cli/config/loader.d.ts.map +1 -0
- package/dist/cli/config/loader.js +198 -0
- package/dist/cli/config/loader.js.map +1 -0
- package/dist/cli/config/paths.d.ts +107 -0
- package/dist/cli/config/paths.d.ts.map +1 -0
- package/dist/cli/config/paths.js +79 -0
- package/dist/cli/config/paths.js.map +1 -0
- package/dist/cli/config/planning-sessions-registry.d.ts +52 -0
- package/dist/cli/config/planning-sessions-registry.d.ts.map +1 -0
- package/dist/cli/config/planning-sessions-registry.js +46 -0
- package/dist/cli/config/planning-sessions-registry.js.map +1 -0
- package/dist/cli/config/types.d.ts +186 -0
- package/dist/cli/config/types.d.ts.map +1 -0
- package/dist/cli/config/types.js +27 -0
- package/dist/cli/config/types.js.map +1 -0
- package/dist/cli/config/validation.d.ts +62 -0
- package/dist/cli/config/validation.d.ts.map +1 -0
- package/dist/cli/config/validation.js +133 -0
- package/dist/cli/config/validation.js.map +1 -0
- package/dist/cli/config/writer.d.ts +153 -0
- package/dist/cli/config/writer.d.ts.map +1 -0
- package/dist/cli/config/writer.js +168 -0
- package/dist/cli/config/writer.js.map +1 -0
- package/dist/cli/index.d.ts +30 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +142 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/middleware/auth-guard.d.ts +107 -0
- package/dist/cli/middleware/auth-guard.d.ts.map +1 -0
- package/dist/cli/middleware/auth-guard.js +97 -0
- package/dist/cli/middleware/auth-guard.js.map +1 -0
- package/dist/cli/middleware/error-handler.d.ts +133 -0
- package/dist/cli/middleware/error-handler.d.ts.map +1 -0
- package/dist/cli/middleware/error-handler.js +139 -0
- package/dist/cli/middleware/error-handler.js.map +1 -0
- package/dist/cli/middleware/index.d.ts +6 -0
- package/dist/cli/middleware/index.d.ts.map +1 -0
- package/dist/cli/middleware/index.js +3 -0
- package/dist/cli/middleware/index.js.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +9 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +160 -0
- package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts +9 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +343 -0
- package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +9 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +254 -0
- package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts +8 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts.map +1 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.js +128 -0
- package/dist/cli/templates/agents/content/research/sfag-package-researcher.js.map +1 -0
- package/dist/cli/templates/agents/index.d.ts +23 -0
- package/dist/cli/templates/agents/index.d.ts.map +1 -0
- package/dist/cli/templates/agents/index.js +29 -0
- package/dist/cli/templates/agents/index.js.map +1 -0
- package/dist/cli/templates/commands.d.ts +17 -0
- package/dist/cli/templates/commands.d.ts.map +1 -0
- package/dist/cli/templates/commands.js +78 -0
- package/dist/cli/templates/commands.js.map +1 -0
- package/dist/cli/templates/content/sf-blockers.d.ts +7 -0
- package/dist/cli/templates/content/sf-blockers.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-blockers.js +69 -0
- package/dist/cli/templates/content/sf-blockers.js.map +1 -0
- package/dist/cli/templates/content/sf-commit.d.ts +7 -0
- package/dist/cli/templates/content/sf-commit.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-commit.js +79 -0
- package/dist/cli/templates/content/sf-commit.js.map +1 -0
- package/dist/cli/templates/content/sf-context.d.ts +7 -0
- package/dist/cli/templates/content/sf-context.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-context.js +63 -0
- package/dist/cli/templates/content/sf-context.js.map +1 -0
- package/dist/cli/templates/content/sf-help.d.ts +7 -0
- package/dist/cli/templates/content/sf-help.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-help.js +42 -0
- package/dist/cli/templates/content/sf-help.js.map +1 -0
- package/dist/cli/templates/content/sf-init.d.ts +7 -0
- package/dist/cli/templates/content/sf-init.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-init.js +62 -0
- package/dist/cli/templates/content/sf-init.js.map +1 -0
- package/dist/cli/templates/content/sf-reset.d.ts +7 -0
- package/dist/cli/templates/content/sf-reset.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-reset.js +67 -0
- package/dist/cli/templates/content/sf-reset.js.map +1 -0
- package/dist/cli/templates/content/sf-search.d.ts +7 -0
- package/dist/cli/templates/content/sf-search.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-search.js +63 -0
- package/dist/cli/templates/content/sf-search.js.map +1 -0
- package/dist/cli/templates/content/sf-status.d.ts +7 -0
- package/dist/cli/templates/content/sf-status.d.ts.map +1 -0
- package/dist/cli/templates/content/sf-status.js +62 -0
- package/dist/cli/templates/content/sf-status.js.map +1 -0
- package/dist/cli/templates/index.d.ts +8 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/index.js +17 -0
- package/dist/cli/templates/index.js.map +1 -0
- package/dist/cli/ui/banner.d.ts +38 -0
- package/dist/cli/ui/banner.d.ts.map +1 -0
- package/dist/cli/ui/banner.js +89 -0
- package/dist/cli/ui/banner.js.map +1 -0
- package/dist/cli/ui/colors.d.ts +76 -0
- package/dist/cli/ui/colors.d.ts.map +1 -0
- package/dist/cli/ui/colors.js +67 -0
- package/dist/cli/ui/colors.js.map +1 -0
- package/dist/cli/ui/index.d.ts +7 -0
- package/dist/cli/ui/index.d.ts.map +1 -0
- package/dist/cli/ui/index.js +4 -0
- package/dist/cli/ui/index.js.map +1 -0
- package/dist/cli/ui/output.d.ts +117 -0
- package/dist/cli/ui/output.d.ts.map +1 -0
- package/dist/cli/ui/output.js +83 -0
- package/dist/cli/ui/output.js.map +1 -0
- package/dist/cli/ui/spinner.d.ts +120 -0
- package/dist/cli/ui/spinner.d.ts.map +1 -0
- package/dist/cli/ui/spinner.js +158 -0
- package/dist/cli/ui/spinner.js.map +1 -0
- package/dist/cli/ui/time.d.ts +54 -0
- package/dist/cli/ui/time.d.ts.map +1 -0
- package/dist/cli/ui/time.js +119 -0
- package/dist/cli/ui/time.js.map +1 -0
- package/dist/client/api-client.d.ts +123 -0
- package/dist/client/api-client.d.ts.map +1 -0
- package/dist/client/api-client.js +105 -0
- package/dist/client/api-client.js.map +1 -0
- package/dist/client/cli-client.d.ts +26 -0
- package/dist/client/cli-client.d.ts.map +1 -0
- package/dist/client/cli-client.js +20 -0
- package/dist/client/cli-client.js.map +1 -0
- package/dist/config/index.d.ts +78 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +79 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/format.d.ts +126 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +71 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/index.d.ts +11 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +45 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/monorepo-detector.d.ts +31 -0
- package/dist/lib/monorepo-detector.d.ts.map +1 -0
- package/dist/lib/monorepo-detector.js +188 -0
- package/dist/lib/monorepo-detector.js.map +1 -0
- package/dist/lib/prompt-generator.d.ts +65 -0
- package/dist/lib/prompt-generator.d.ts.map +1 -0
- package/dist/lib/prompt-generator.js +162 -0
- package/dist/lib/prompt-generator.js.map +1 -0
- package/dist/lib/strategy-analyzer.d.ts +59 -0
- package/dist/lib/strategy-analyzer.d.ts.map +1 -0
- package/dist/lib/strategy-analyzer.js +91 -0
- package/dist/lib/strategy-analyzer.js.map +1 -0
- package/dist/lib/workflow-definitions.d.ts +41 -0
- package/dist/lib/workflow-definitions.d.ts.map +1 -0
- package/dist/lib/workflow-definitions.js +497 -0
- package/dist/lib/workflow-definitions.js.map +1 -0
- package/dist/patterns/index.d.ts +9 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/index.js +21 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/inheritance.d.ts +193 -0
- package/dist/patterns/inheritance.d.ts.map +1 -0
- package/dist/patterns/inheritance.js +125 -0
- package/dist/patterns/inheritance.js.map +1 -0
- package/dist/server.d.ts +44 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +91 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/core/context-helper.d.ts +50 -0
- package/dist/tools/core/context-helper.d.ts.map +1 -0
- package/dist/tools/core/context-helper.js +49 -0
- package/dist/tools/core/context-helper.js.map +1 -0
- package/dist/tools/core/index.d.ts +2 -0
- package/dist/tools/core/index.d.ts.map +1 -0
- package/dist/tools/core/index.js +2 -0
- package/dist/tools/core/index.js.map +1 -0
- package/dist/tools/index.d.ts +58 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +1499 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/transport/__tests__/resolve-endpoint.test.d.ts +6 -0
- package/dist/transport/__tests__/resolve-endpoint.test.d.ts.map +1 -0
- package/dist/transport/index.d.ts +6 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +5 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/interface.d.ts +25 -0
- package/dist/transport/interface.d.ts.map +1 -0
- package/dist/transport/interface.js +1 -0
- package/dist/transport/interface.js.map +1 -0
- package/dist/transport/remote.d.ts +38 -0
- package/dist/transport/remote.d.ts.map +1 -0
- package/dist/transport/remote.js +107 -0
- package/dist/transport/remote.js.map +1 -0
- package/dist/transport/resolve-endpoint.d.ts +58 -0
- package/dist/transport/resolve-endpoint.d.ts.map +1 -0
- package/dist/transport/resolve-endpoint.js +146 -0
- package/dist/transport/resolve-endpoint.js.map +1 -0
- package/dist/types/index.d.ts +212 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/validation/index.d.ts +86 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +392 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/ticket-validation.d.ts +162 -0
- package/dist/validation/ticket-validation.d.ts.map +1 -0
- package/dist/validation/ticket-validation.js +188 -0
- package/dist/validation/ticket-validation.js.map +1 -0
- package/package.json +69 -0
- package/src/cli/templates/agents/content/core/sfag-orchestrator.ts +165 -0
- package/src/cli/templates/agents/content/core/sfag-spec-creator.ts +348 -0
- package/src/cli/templates/agents/content/core/sfag-ticket-implementer.ts +259 -0
- package/src/cli/templates/agents/content/research/sfag-package-researcher.ts +132 -0
- package/src/cli/templates/agents/index.ts +47 -0
- package/src/cli/templates/commands.ts +90 -0
- package/src/cli/templates/content/sf-blockers.ts +71 -0
- package/src/cli/templates/content/sf-commit.ts +81 -0
- package/src/cli/templates/content/sf-context.ts +65 -0
- package/src/cli/templates/content/sf-help.ts +44 -0
- package/src/cli/templates/content/sf-init.ts +64 -0
- package/src/cli/templates/content/sf-reset.ts +69 -0
- package/src/cli/templates/content/sf-search.ts +65 -0
- package/src/cli/templates/content/sf-status.ts +64 -0
- package/src/cli/templates/index.ts +16 -0
- package/src/cli/templates/skills/specforge-conventions.md +114 -0
- package/src/cli/templates/skills/specforge-orchestrator.md +409 -0
- package/src/cli/templates/skills/specforge-validator.md +128 -0
- package/src/cli/templates/skills/specforge-worker.md +412 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feedback Command Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the feedback CLI command.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Feedback command options from Commander
|
|
8
|
+
*/
|
|
9
|
+
export interface FeedbackOptions {
|
|
10
|
+
/** Output as JSON */
|
|
11
|
+
json?: boolean;
|
|
12
|
+
/** Output as TOON format */
|
|
13
|
+
toon?: boolean;
|
|
14
|
+
/** Filter by category */
|
|
15
|
+
category?: FeedbackCategory;
|
|
16
|
+
/** Limit number of results */
|
|
17
|
+
limit?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Valid feedback categories
|
|
21
|
+
*/
|
|
22
|
+
export type FeedbackCategory = 'bug' | 'feature_request' | 'usability' | 'documentation' | 'performance';
|
|
23
|
+
/**
|
|
24
|
+
* All valid feedback categories
|
|
25
|
+
*/
|
|
26
|
+
export declare const VALID_CATEGORIES: FeedbackCategory[];
|
|
27
|
+
/**
|
|
28
|
+
* Valid feedback severity levels
|
|
29
|
+
*/
|
|
30
|
+
export type FeedbackSeverity = 'critical' | 'high' | 'medium' | 'low';
|
|
31
|
+
/**
|
|
32
|
+
* All valid severity levels
|
|
33
|
+
*/
|
|
34
|
+
export declare const VALID_SEVERITIES: FeedbackSeverity[];
|
|
35
|
+
/**
|
|
36
|
+
* Feedback index entry for display
|
|
37
|
+
*/
|
|
38
|
+
export interface FeedbackListEntry {
|
|
39
|
+
/** Unique feedback ID */
|
|
40
|
+
id: string;
|
|
41
|
+
/** Feedback category */
|
|
42
|
+
category: FeedbackCategory;
|
|
43
|
+
/** Severity level */
|
|
44
|
+
severity: FeedbackSeverity;
|
|
45
|
+
/** Brief summary */
|
|
46
|
+
summary: string;
|
|
47
|
+
/** Related tool (optional) */
|
|
48
|
+
tool?: string;
|
|
49
|
+
/** Creation timestamp */
|
|
50
|
+
createdAt: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Feedback list response
|
|
54
|
+
*/
|
|
55
|
+
export interface FeedbackListResponse {
|
|
56
|
+
/** Array of feedback entries */
|
|
57
|
+
entries: FeedbackListEntry[];
|
|
58
|
+
/** Total count */
|
|
59
|
+
total: number;
|
|
60
|
+
/** Filtered count */
|
|
61
|
+
filtered: number;
|
|
62
|
+
/** Applied filters */
|
|
63
|
+
filters?: {
|
|
64
|
+
category?: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Table column configuration
|
|
69
|
+
*/
|
|
70
|
+
export interface FeedbackTableColumn {
|
|
71
|
+
/** Column header */
|
|
72
|
+
header: string;
|
|
73
|
+
/** Column width */
|
|
74
|
+
width?: number;
|
|
75
|
+
/** Alignment */
|
|
76
|
+
align?: 'left' | 'right' | 'center';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Default table columns for feedback
|
|
80
|
+
*/
|
|
81
|
+
export declare const FEEDBACK_TABLE_COLUMNS: FeedbackTableColumn[];
|
|
82
|
+
/**
|
|
83
|
+
* Category display colors (chalk color names)
|
|
84
|
+
*/
|
|
85
|
+
export declare const CATEGORY_COLORS: Record<FeedbackCategory, string>;
|
|
86
|
+
/**
|
|
87
|
+
* Severity display colors (chalk color names)
|
|
88
|
+
*/
|
|
89
|
+
export declare const SEVERITY_COLORS: Record<FeedbackSeverity, string>;
|
|
90
|
+
/**
|
|
91
|
+
* Maximum summary length for table display
|
|
92
|
+
*/
|
|
93
|
+
export declare const MAX_SUMMARY_LENGTH = 38;
|
|
94
|
+
/**
|
|
95
|
+
* Validate category filter
|
|
96
|
+
*
|
|
97
|
+
* @param category Category to validate
|
|
98
|
+
* @returns True if valid category
|
|
99
|
+
*/
|
|
100
|
+
export declare function isValidCategory(category: string): category is FeedbackCategory;
|
|
101
|
+
/**
|
|
102
|
+
* Truncate summary if too long for display
|
|
103
|
+
*
|
|
104
|
+
* @param summary Feedback summary
|
|
105
|
+
* @param maxLength Maximum length (default: MAX_SUMMARY_LENGTH)
|
|
106
|
+
* @returns Truncated summary with ellipsis if needed
|
|
107
|
+
*/
|
|
108
|
+
export declare function truncateSummary(summary: string, maxLength?: number): string;
|
|
109
|
+
/**
|
|
110
|
+
* Format feedback ID for display (shorter version)
|
|
111
|
+
*
|
|
112
|
+
* @param id Full feedback ID
|
|
113
|
+
* @returns Shortened ID for display
|
|
114
|
+
*/
|
|
115
|
+
export declare function formatFeedbackId(id: string): string;
|
|
116
|
+
//# sourceMappingURL=feedback.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/feedback.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,iBAAiB,GACjB,WAAW,GACX,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAM9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAK9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAMvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAM5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,gBAAgB,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA2B,GACrC,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUnD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const VALID_CATEGORIES = [
|
|
2
|
+
"bug",
|
|
3
|
+
"feature_request",
|
|
4
|
+
"usability",
|
|
5
|
+
"documentation",
|
|
6
|
+
"performance"
|
|
7
|
+
];
|
|
8
|
+
const VALID_SEVERITIES = [
|
|
9
|
+
"critical",
|
|
10
|
+
"high",
|
|
11
|
+
"medium",
|
|
12
|
+
"low"
|
|
13
|
+
];
|
|
14
|
+
const FEEDBACK_TABLE_COLUMNS = [
|
|
15
|
+
{ header: "ID", width: 24 },
|
|
16
|
+
{ header: "CATEGORY", width: 16 },
|
|
17
|
+
{ header: "SEVERITY", width: 10 },
|
|
18
|
+
{ header: "TOOL", width: 12 },
|
|
19
|
+
{ header: "SUMMARY", width: 40 }
|
|
20
|
+
];
|
|
21
|
+
const CATEGORY_COLORS = {
|
|
22
|
+
bug: "red",
|
|
23
|
+
feature_request: "blue",
|
|
24
|
+
usability: "yellow",
|
|
25
|
+
documentation: "cyan",
|
|
26
|
+
performance: "magenta"
|
|
27
|
+
};
|
|
28
|
+
const SEVERITY_COLORS = {
|
|
29
|
+
critical: "red",
|
|
30
|
+
high: "yellow",
|
|
31
|
+
medium: "blue",
|
|
32
|
+
low: "dim"
|
|
33
|
+
};
|
|
34
|
+
const MAX_SUMMARY_LENGTH = 38;
|
|
35
|
+
function isValidCategory(category) {
|
|
36
|
+
return VALID_CATEGORIES.includes(category);
|
|
37
|
+
}
|
|
38
|
+
function truncateSummary(summary, maxLength = MAX_SUMMARY_LENGTH) {
|
|
39
|
+
if (summary.length <= maxLength) {
|
|
40
|
+
return summary;
|
|
41
|
+
}
|
|
42
|
+
return summary.slice(0, maxLength - 3) + "...";
|
|
43
|
+
}
|
|
44
|
+
function formatFeedbackId(id) {
|
|
45
|
+
if (id.length <= 20) {
|
|
46
|
+
return id;
|
|
47
|
+
}
|
|
48
|
+
const parts = id.split("_");
|
|
49
|
+
if (parts.length >= 3) {
|
|
50
|
+
return `${parts[0]}_...${parts[parts.length - 1]}`;
|
|
51
|
+
}
|
|
52
|
+
return id;
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
CATEGORY_COLORS,
|
|
56
|
+
FEEDBACK_TABLE_COLUMNS,
|
|
57
|
+
MAX_SUMMARY_LENGTH,
|
|
58
|
+
SEVERITY_COLORS,
|
|
59
|
+
VALID_CATEGORIES,
|
|
60
|
+
VALID_SEVERITIES,
|
|
61
|
+
formatFeedbackId,
|
|
62
|
+
isValidCategory,
|
|
63
|
+
truncateSummary
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=feedback.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/feedback.types.ts"],"sourcesContent":["/**\n * Feedback Command Types\n *\n * Type definitions for the feedback CLI command.\n */\n\n/**\n * Feedback command options from Commander\n */\nexport interface FeedbackOptions {\n /** Output as JSON */\n json?: boolean;\n /** Output as TOON format */\n toon?: boolean;\n /** Filter by category */\n category?: FeedbackCategory;\n /** Limit number of results */\n limit?: string;\n}\n\n/**\n * Valid feedback categories\n */\nexport type FeedbackCategory =\n | 'bug'\n | 'feature_request'\n | 'usability'\n | 'documentation'\n | 'performance';\n\n/**\n * All valid feedback categories\n */\nexport const VALID_CATEGORIES: FeedbackCategory[] = [\n 'bug',\n 'feature_request',\n 'usability',\n 'documentation',\n 'performance',\n];\n\n/**\n * Valid feedback severity levels\n */\nexport type FeedbackSeverity = 'critical' | 'high' | 'medium' | 'low';\n\n/**\n * All valid severity levels\n */\nexport const VALID_SEVERITIES: FeedbackSeverity[] = [\n 'critical',\n 'high',\n 'medium',\n 'low',\n];\n\n/**\n * Feedback index entry for display\n */\nexport interface FeedbackListEntry {\n /** Unique feedback ID */\n id: string;\n /** Feedback category */\n category: FeedbackCategory;\n /** Severity level */\n severity: FeedbackSeverity;\n /** Brief summary */\n summary: string;\n /** Related tool (optional) */\n tool?: string;\n /** Creation timestamp */\n createdAt: string;\n}\n\n/**\n * Feedback list response\n */\nexport interface FeedbackListResponse {\n /** Array of feedback entries */\n entries: FeedbackListEntry[];\n /** Total count */\n total: number;\n /** Filtered count */\n filtered: number;\n /** Applied filters */\n filters?: {\n category?: string;\n };\n}\n\n/**\n * Table column configuration\n */\nexport interface FeedbackTableColumn {\n /** Column header */\n header: string;\n /** Column width */\n width?: number;\n /** Alignment */\n align?: 'left' | 'right' | 'center';\n}\n\n/**\n * Default table columns for feedback\n */\nexport const FEEDBACK_TABLE_COLUMNS: FeedbackTableColumn[] = [\n { header: 'ID', width: 24 },\n { header: 'CATEGORY', width: 16 },\n { header: 'SEVERITY', width: 10 },\n { header: 'TOOL', width: 12 },\n { header: 'SUMMARY', width: 40 },\n];\n\n/**\n * Category display colors (chalk color names)\n */\nexport const CATEGORY_COLORS: Record<FeedbackCategory, string> = {\n bug: 'red',\n feature_request: 'blue',\n usability: 'yellow',\n documentation: 'cyan',\n performance: 'magenta',\n};\n\n/**\n * Severity display colors (chalk color names)\n */\nexport const SEVERITY_COLORS: Record<FeedbackSeverity, string> = {\n critical: 'red',\n high: 'yellow',\n medium: 'blue',\n low: 'dim',\n};\n\n/**\n * Maximum summary length for table display\n */\nexport const MAX_SUMMARY_LENGTH = 38;\n\n/**\n * Validate category filter\n *\n * @param category Category to validate\n * @returns True if valid category\n */\nexport function isValidCategory(category: string): category is FeedbackCategory {\n return VALID_CATEGORIES.includes(category as FeedbackCategory);\n}\n\n/**\n * Truncate summary if too long for display\n *\n * @param summary Feedback summary\n * @param maxLength Maximum length (default: MAX_SUMMARY_LENGTH)\n * @returns Truncated summary with ellipsis if needed\n */\nexport function truncateSummary(\n summary: string,\n maxLength: number = MAX_SUMMARY_LENGTH\n): string {\n if (summary.length <= maxLength) {\n return summary;\n }\n return summary.slice(0, maxLength - 3) + '...';\n}\n\n/**\n * Format feedback ID for display (shorter version)\n *\n * @param id Full feedback ID\n * @returns Shortened ID for display\n */\nexport function formatFeedbackId(id: string): string {\n // fb_2024-01-15_abc123 -> fb_..._abc123\n if (id.length <= 20) {\n return id;\n }\n const parts = id.split('_');\n if (parts.length >= 3) {\n return `${parts[0]}_...${parts[parts.length - 1]}`;\n }\n return id;\n}\n"],"mappings":"AAiCO,MAAM,mBAAuC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAUO,MAAM,mBAAuC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAmDO,MAAM,yBAAgD;AAAA,EAC3D,EAAE,QAAQ,MAAM,OAAO,GAAG;AAAA,EAC1B,EAAE,QAAQ,YAAY,OAAO,GAAG;AAAA,EAChC,EAAE,QAAQ,YAAY,OAAO,GAAG;AAAA,EAChC,EAAE,QAAQ,QAAQ,OAAO,GAAG;AAAA,EAC5B,EAAE,QAAQ,WAAW,OAAO,GAAG;AACjC;AAKO,MAAM,kBAAoD;AAAA,EAC/D,KAAK;AAAA,EACL,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AACf;AAKO,MAAM,kBAAoD;AAAA,EAC/D,UAAU;AAAA,EACV,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AACP;AAKO,MAAM,qBAAqB;AAQ3B,SAAS,gBAAgB,UAAgD;AAC9E,SAAO,iBAAiB,SAAS,QAA4B;AAC/D;AASO,SAAS,gBACd,SACA,YAAoB,oBACZ;AACR,MAAI,QAAQ,UAAU,WAAW;AAC/B,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,MAAM,GAAG,YAAY,CAAC,IAAI;AAC3C;AAQO,SAAS,iBAAiB,IAAoB;AAEnD,MAAI,GAAG,UAAU,IAAI;AACnB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,GAAG,MAAM,GAAG;AAC1B,MAAI,MAAM,UAAU,GAAG;AACrB,WAAO,GAAG,MAAM,CAAC,CAAC,OAAO,MAAM,MAAM,SAAS,CAAC,CAAC;AAAA,EAClD;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Commands Module
|
|
3
|
+
*
|
|
4
|
+
* Exports all CLI command registration functions.
|
|
5
|
+
*/
|
|
6
|
+
export { registerLoginCommand } from './login.js';
|
|
7
|
+
export { registerInitCommand } from './init.js';
|
|
8
|
+
export { registerConfigureCommand } from './configure.js';
|
|
9
|
+
export { registerDoctorCommand } from './doctor.js';
|
|
10
|
+
export { registerStatusCommand } from './status.js';
|
|
11
|
+
export { registerSwitchCommand } from './switch.js';
|
|
12
|
+
export { registerFeedbackCommand } from './feedback.js';
|
|
13
|
+
export { registerMembersCommand } from './members.js';
|
|
14
|
+
export { registerInvitationsCommand } from './invitations.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { registerLoginCommand } from "./login.js";
|
|
2
|
+
import { registerInitCommand } from "./init.js";
|
|
3
|
+
import { registerConfigureCommand } from "./configure.js";
|
|
4
|
+
import { registerDoctorCommand } from "./doctor.js";
|
|
5
|
+
import { registerStatusCommand } from "./status.js";
|
|
6
|
+
import { registerSwitchCommand } from "./switch.js";
|
|
7
|
+
import { registerFeedbackCommand } from "./feedback.js";
|
|
8
|
+
import { registerMembersCommand } from "./members.js";
|
|
9
|
+
import { registerInvitationsCommand } from "./invitations.js";
|
|
10
|
+
export {
|
|
11
|
+
registerConfigureCommand,
|
|
12
|
+
registerDoctorCommand,
|
|
13
|
+
registerFeedbackCommand,
|
|
14
|
+
registerInitCommand,
|
|
15
|
+
registerInvitationsCommand,
|
|
16
|
+
registerLoginCommand,
|
|
17
|
+
registerMembersCommand,
|
|
18
|
+
registerStatusCommand,
|
|
19
|
+
registerSwitchCommand
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/index.ts"],"sourcesContent":["/**\n * CLI Commands Module\n *\n * Exports all CLI command registration functions.\n */\n\nexport { registerLoginCommand } from './login.js';\nexport { registerInitCommand } from './init.js';\nexport { registerConfigureCommand } from './configure.js';\nexport { registerDoctorCommand } from './doctor.js';\nexport { registerStatusCommand } from './status.js';\nexport { registerSwitchCommand } from './switch.js';\nexport { registerFeedbackCommand } from './feedback.js';\nexport { registerMembersCommand } from './members.js';\nexport { registerInvitationsCommand } from './invitations.js';\n"],"mappings":"AAMA,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AACtC,SAAS,+BAA+B;AACxC,SAAS,8BAA8B;AACvC,SAAS,kCAAkC;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init Command
|
|
3
|
+
*
|
|
4
|
+
* Initializes SpecForge for a project by creating config files
|
|
5
|
+
* and linking to a SpecForge project and specification.
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
import { InitOptions } from './init.types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Init command implementation
|
|
11
|
+
*/
|
|
12
|
+
export declare function initAction(options: InitOptions): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Register init command with Commander
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerInitCommand(program: Command): void;
|
|
17
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,OAAO,EACL,WAAW,EAaZ,MAAM,iBAAiB,CAAC;AAqfzB;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0dpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiC1D"}
|