(planRelativePath: string)
| 136 | } |
| 137 | |
| 138 | export function workspacePlanBackingPath(planRelativePath: string): string { |
| 139 | const segments = decodeVfsPathSegments(planRelativePath) |
| 140 | if (segments.length === 0) { |
| 141 | throw new Error('Workspace plan alias must include a plan file path') |
| 142 | } |
| 143 | return canonicalWorkspaceFilePath({ |
| 144 | folderPath: [ |
| 145 | WORKFLOW_PLANS_BACKING_FOLDER, |
| 146 | WORKSPACE_PLANS_BACKING_FOLDER, |
| 147 | ...segments.slice(0, -1), |
| 148 | ].join('/'), |
| 149 | name: segments[segments.length - 1], |
| 150 | }) |
| 151 | } |
| 152 | |
| 153 | export function workflowPlanBackingPath(workflowId: string, planRelativePath: string): string { |
| 154 | const segments = decodeVfsPathSegments(planRelativePath) |
no test coverage detected