|
1 | | -import { Chunk, Duration, Effect, Ref } from "effect" |
| 1 | +import { Chunk, Duration, Effect, Match, Ref } from "effect" |
2 | 2 | import * as Stream from "effect/Stream" |
3 | 3 | import type { PlatformError } from "@effect/platform/Error" |
4 | 4 | import type * as HttpBody from "@effect/platform/HttpBody" |
@@ -426,60 +426,43 @@ const readProjectSkillUpdateRequest = () => HttpServerRequest.schemaBodyJson(Pro |
426 | 426 | const readActiveProjectTerminalSessionRequest = () => |
427 | 427 | HttpServerRequest.schemaBodyJson(ActiveProjectTerminalSessionRequestSchema) |
428 | 428 |
|
429 | | -const skillScopeFromId = (scopeId: string): ProjectSkillScope | null => { |
430 | | - switch (scopeId) { |
431 | | - case "skills": |
432 | | - return "skills" |
433 | | - case "agents-skills": |
434 | | - return "agents/skills" |
435 | | - case "agents-dot-skills": |
436 | | - return "agents/.skills" |
437 | | - case "claude-skills": |
438 | | - return "claude/skills" |
439 | | - case "codex-skills": |
440 | | - return "codex/skills" |
441 | | - case "gemini-skills": |
442 | | - return "gemini/skills" |
443 | | - case "grok-skills": |
444 | | - return "grok/skills" |
445 | | - default: |
446 | | - return null |
447 | | - } |
448 | | -} |
| 429 | +const projectSkillScope = (scope: ProjectSkillScope): ProjectSkillScope => scope |
| 430 | + |
| 431 | +const skillScopeFromId = (scopeId: string): ProjectSkillScope | null => |
| 432 | + Match.value(scopeId).pipe( |
| 433 | + Match.when("skills", () => projectSkillScope("skills")), |
| 434 | + Match.when("agents-skills", () => projectSkillScope("agents/skills")), |
| 435 | + Match.when("agents-dot-skills", () => projectSkillScope("agents/.skills")), |
| 436 | + Match.when("claude-skills", () => projectSkillScope("claude/skills")), |
| 437 | + Match.when("codex-skills", () => projectSkillScope("codex/skills")), |
| 438 | + Match.when("gemini-skills", () => projectSkillScope("gemini/skills")), |
| 439 | + Match.when("grok-skills", () => projectSkillScope("grok/skills")), |
| 440 | + Match.orElse(() => null) |
| 441 | + ) |
449 | 442 |
|
450 | | -export const skillScopeToId = (scope: ProjectSkillScope): string => { |
451 | | - switch (scope) { |
452 | | - case "skills": |
453 | | - return "skills" |
454 | | - case "agents/skills": |
455 | | - return "agents-skills" |
456 | | - case "agents/.skills": |
457 | | - return "agents-dot-skills" |
458 | | - case "claude/skills": |
459 | | - return "claude-skills" |
460 | | - case "codex/skills": |
461 | | - return "codex-skills" |
462 | | - case "gemini/skills": |
463 | | - return "gemini-skills" |
464 | | - case "grok/skills": |
465 | | - return "grok-skills" |
466 | | - } |
467 | | -} |
| 443 | +export const skillScopeToId = (scope: ProjectSkillScope): string => |
| 444 | + Match.value(scope).pipe( |
| 445 | + Match.when("skills", () => "skills"), |
| 446 | + Match.when("agents/skills", () => "agents-skills"), |
| 447 | + Match.when("agents/.skills", () => "agents-dot-skills"), |
| 448 | + Match.when("claude/skills", () => "claude-skills"), |
| 449 | + Match.when("codex/skills", () => "codex-skills"), |
| 450 | + Match.when("gemini/skills", () => "gemini-skills"), |
| 451 | + Match.when("grok/skills", () => "grok-skills"), |
| 452 | + Match.exhaustive |
| 453 | + ) |
468 | 454 |
|
469 | | -const skillScopeFromBody = (scope: string): ProjectSkillScope | null => { |
470 | | - switch (scope) { |
471 | | - case "skills": |
472 | | - case "agents/skills": |
473 | | - case "agents/.skills": |
474 | | - case "claude/skills": |
475 | | - case "codex/skills": |
476 | | - case "gemini/skills": |
477 | | - case "grok/skills": |
478 | | - return scope as ProjectSkillScope |
479 | | - default: |
480 | | - return null |
481 | | - } |
482 | | -} |
| 455 | +const skillScopeFromBody = (scope: string): ProjectSkillScope | null => |
| 456 | + Match.value(scope).pipe( |
| 457 | + Match.when("skills", () => projectSkillScope("skills")), |
| 458 | + Match.when("agents/skills", () => projectSkillScope("agents/skills")), |
| 459 | + Match.when("agents/.skills", () => projectSkillScope("agents/.skills")), |
| 460 | + Match.when("claude/skills", () => projectSkillScope("claude/skills")), |
| 461 | + Match.when("codex/skills", () => projectSkillScope("codex/skills")), |
| 462 | + Match.when("gemini/skills", () => projectSkillScope("gemini/skills")), |
| 463 | + Match.when("grok/skills", () => projectSkillScope("grok/skills")), |
| 464 | + Match.orElse(() => null) |
| 465 | + ) |
483 | 466 | const readProjectPortForwardRequest = () => HttpServerRequest.schemaBodyJson(ProjectPortForwardRequestSchema) |
484 | 467 | const readProjectDatabaseProfileRequest = () => HttpServerRequest.schemaBodyJson(ProjectDatabaseProfileRequestSchema) |
485 | 468 | const readStateInitRequest = () => HttpServerRequest.schemaBodyJson(StateInitRequestSchema) |
|
0 commit comments