chore: upgrade frontend dependencies to SvelteKit 3
This commit is contained in:
@@ -97,6 +97,16 @@ Deno.serve({ hostname: "127.0.0.1", port }, async (request) => {
|
||||
diagnostics: [],
|
||||
});
|
||||
}
|
||||
// Keyboard focus can preload the Tickets route before navigation.
|
||||
if (path === "/orchestrator") {
|
||||
return json({
|
||||
workspace_id: workspaceId,
|
||||
online: false,
|
||||
disposition: "offline",
|
||||
worker: null,
|
||||
diagnostics: [],
|
||||
});
|
||||
}
|
||||
if (path === "/working-directories") {
|
||||
return json({ workspace_id: workspaceId, items: [], diagnostics: [] });
|
||||
}
|
||||
|
||||
@@ -66,6 +66,9 @@ Deno.test("production Home dashboard isolates failures, shows authoritative reco
|
||||
});
|
||||
page.on("requestfailed", (request) => errors.push(request.url()));
|
||||
page.on("request", (request) => requests.push(request.url()));
|
||||
page.on("response", (response) => {
|
||||
if (response.status() >= 400) errors.push(`${response.status()} ${response.url()}`);
|
||||
});
|
||||
for (const workspace of ["home-owner", "home-member", "home-long"]) {
|
||||
await page.goto(`${url}/w/${workspace}`);
|
||||
await ready(page);
|
||||
|
||||
+12
-11
@@ -2,8 +2,13 @@
|
||||
|
||||
SvelteKit static SPA for the Yoi workspace control plane.
|
||||
|
||||
The frontend is intentionally static. Workspace authority, validation, and API
|
||||
behavior live in the Rust `yoi-server` backend.
|
||||
The frontend is intentionally static. Workspace authority, validation, and API behavior live in the Rust `yoi-server` backend.
|
||||
|
||||
## Toolchain
|
||||
|
||||
Dependencies are pinned in `deno.json` and `package.json`, with resolutions in `deno.lock`. Run `deno install --frozen` to reproduce the installed versions. The current toolchain is SvelteKit 3, Svelte 5, Vite 8, and Vitest 5. TypeScript is kept on 6.0.3 because SvelteKit 3.0.0 and svelte-check 4.7.6 do not yet declare support for TypeScript 7.
|
||||
|
||||
SvelteKit and adapter settings live in `vite.config.ts`. Internal library imports use the `#lib/*` package subpath mapping with explicit file extensions, shared by Vite, TypeScript, and Deno. `tsconfig.json` extends `$app/tsconfig`; generated WASM JavaScript is consumed through its generated `.d.ts`, not checked as handwritten JavaScript. Deno-only tests under `test/` are type-checked by `deno task test`.
|
||||
|
||||
## Development
|
||||
|
||||
@@ -23,9 +28,7 @@ cd web/workspace
|
||||
deno task dev
|
||||
```
|
||||
|
||||
The Vite dev server proxies `/api/*` to `http://127.0.0.1:8787`, so frontend hot
|
||||
reload works while the Rust backend serves the workspace API. Open the Vite URL
|
||||
printed by `deno task dev`.
|
||||
The Vite dev server proxies `/api/*` to `http://127.0.0.1:8787`, so frontend hot reload works while the Rust backend serves the workspace API. Open the Vite URL printed by `deno task dev`.
|
||||
|
||||
If you want to run the backend from the repository root instead:
|
||||
|
||||
@@ -33,10 +36,7 @@ If you want to run the backend from the repository root instead:
|
||||
cargo run -p yoi-workspace-server --bin yoi-server -- serve --listen 127.0.0.1:8787
|
||||
```
|
||||
|
||||
The backend reads Workspace records from the Yoi server DB at
|
||||
`<data_dir>/server/server.db`. Run
|
||||
`cargo run -p yoi-workspace-server --bin yoi-server -- init --workspace .` first when the server
|
||||
DB has not been initialized.
|
||||
The backend reads Workspace records from the Yoi server DB at `<data_dir>/server/server.db`. Run `cargo run -p yoi-workspace-server --bin yoi-server -- init --workspace .` first when the server DB has not been initialized.
|
||||
|
||||
## Static build
|
||||
|
||||
@@ -46,13 +46,14 @@ Build the SPA:
|
||||
deno task build
|
||||
```
|
||||
|
||||
Static asset packaging is a deployment concern. Local development normally uses
|
||||
the Vite dev server proxy plus the Rust backend command above.
|
||||
Static asset packaging is a deployment concern. Local development normally uses the Vite dev server proxy plus the Rust backend command above.
|
||||
|
||||
## Checks
|
||||
|
||||
```bash
|
||||
deno task check
|
||||
deno task test
|
||||
deno task test:component
|
||||
deno task build
|
||||
```
|
||||
|
||||
|
||||
+23
-24
@@ -3,40 +3,39 @@
|
||||
"nodeModulesDir": "auto",
|
||||
"tasks": {
|
||||
"install": "deno install",
|
||||
"dev": "deno run -A npm:vite@7.2.7 dev",
|
||||
"dev": "deno run -A npm:vite@8.3.2 dev",
|
||||
"dev:backend": "cd ../.. && cargo run -p yoi-workspace-server --bin yoi-server -- serve --listen 127.0.0.1:8787",
|
||||
"check": "deno run -A npm:@sveltejs/kit@2.49.4 sync && deno run -A npm:svelte-check@4.3.4 --tsconfig ./tsconfig.json",
|
||||
"check": "deno run -A npm:@sveltejs/kit@3.0.0 sync && deno run -A npm:svelte-check@4.7.6 --tsconfig ./tsconfig.json",
|
||||
"test": "deno test --allow-read=src,test,tests,../../docs --allow-env=LOG,VSCODE_TEXTMATE_DEBUG,NODE_ENV tests/workspace-model.test.ts tests/repository-api.test.ts tests/workspace-catalog.test.ts tests/profile-api.test.ts tests/skill-api.test.ts tests/tooltip-contract.test.ts tests/bevel-contract.test.ts tests/bevel-line-contract.test.ts tests/typography-contract.test.ts src/lib/workspace/auth/model.test.ts src/lib/workspace/protocol-validator.test.ts tests/auth-api.test.ts src/lib/workspace/api/http.test.ts src/lib/workspace/api/workers.test.ts src/lib/workspace/api/ticket-browser.test.ts src/lib/workspace/header/breadcrumb-model.test.ts src/lib/workspace/console/chat-submit.test.ts src/lib/workspace/console/composer-delivery.test.ts test/composer-history.test.ts tests/composer-paste.test.ts src/lib/workspace/console/composer-command.test.ts src/lib/workspace/console/composer-draft.test.ts src/lib/workspace/console/composer-completion.test.ts src/lib/workspace/console/file-completions.test.ts test/console/ansi.test.ts src/lib/workspace/console/history.test.ts src/lib/workspace/console/model.test.ts src/lib/workspace/console/turn-navigation.test.ts src/lib/workspace/console/run-status.test.ts src/lib/workspace/companion/api.test.ts tests/workdir-api.test.ts tests/workdir-permissions.test.ts src/lib/workspace/console/tasks.test.ts test/ticket-detail-route-reuse.test.ts test/spa-shell.test.ts test/objective-pages.test.ts test/repositories/ui.test.ts src/lib/workspace/console/worker-console.ui.test.ts src/lib/workspace/settings/model.test.ts tests/runtime-connection.test.ts tests/runtime-management.test.ts tests/runtime-management-source.test.ts src/lib/workspace/sidebar/override-stack.test.ts src/lib/workspace/sidebar/route-ownership.test.ts src/lib/workspace/sidebar/workers.test.ts src/lib/workspace/sidebar/workspace-switcher.test.ts src/lib/workspace/sidebar/worker-subscription.test.ts src/lib/workspace/sidebar/worker-workdir-meta.test.ts src/lib/workspace/sidebar/worker-launch.test.ts test/sidebar/worker-actions.test.ts src/lib/workspace/tickets/merge-request-resources.test.ts src/lib/workspace/tickets/ticket-panel.test.ts test/merge-request-status.test.ts test/config-source/decodal-grammar.test.ts test/config-source/editor-state.test.ts test/config-source/fixed-schema-wrapper.test.ts test/config-source/toolchain.test.ts test/config-source/wasm-parity.test.ts test/config-source/api.test.ts tests/memory-api.test.ts test/repository-access/api.test.ts test/repository-access/loader.test.ts test/repository-access/model.test.ts test/repository-access/structure.test.ts test/repository-ssh-connection-ui.test.ts",
|
||||
"test:component": "deno run -A npm:vitest@3.2.4 run --config vitest.config.ts",
|
||||
"build": "deno run -A npm:vite@7.2.7 build",
|
||||
"preview": "deno run -A npm:vite@7.2.7 preview",
|
||||
"test:component": "deno run -A npm:vitest@5.0.3 run --config vitest.config.ts",
|
||||
"build": "deno run -A npm:vite@8.3.2 build",
|
||||
"preview": "deno run -A npm:vite@8.3.2 preview",
|
||||
"generate:repository-api": "cd ../.. && cargo run -q -p server-api --example generate_repository_openapi_types",
|
||||
"check:repository-api": "cd ../.. && cargo run -q -p server-api --example generate_repository_openapi_types -- --check",
|
||||
"generate:ticket-api": "cd ../.. && cargo run -q -p server-api --example generate_ticket_api_types",
|
||||
"check:ticket-api": "cd ../.. && cargo run -q -p server-api --example generate_ticket_api_types -- --check"
|
||||
},
|
||||
"imports": {
|
||||
"$lib/": "./src/lib/",
|
||||
"@sveltejs/adapter-static": "npm:@sveltejs/adapter-static@3.0.9",
|
||||
"@sveltejs/kit": "npm:@sveltejs/kit@2.49.4",
|
||||
"@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@6.2.1",
|
||||
"@codemirror/autocomplete": "npm:@codemirror/autocomplete@6.20.0",
|
||||
"@codemirror/commands": "npm:@codemirror/commands@6.9.0",
|
||||
"@sveltejs/adapter-static": "npm:@sveltejs/adapter-static@4.0.0",
|
||||
"@sveltejs/kit": "npm:@sveltejs/kit@3.0.0",
|
||||
"@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@7.3.1",
|
||||
"@codemirror/autocomplete": "npm:@codemirror/autocomplete@6.20.3",
|
||||
"@codemirror/commands": "npm:@codemirror/commands@6.11.1",
|
||||
"@codemirror/language": "npm:@codemirror/language@6.12.4",
|
||||
"@codemirror/state": "npm:@codemirror/state@6.7.1",
|
||||
"@codemirror/view": "npm:@codemirror/view@6.43.8",
|
||||
"@lezer/common": "npm:@lezer/common@1.5.2",
|
||||
"@lezer/highlight": "npm:@lezer/highlight@1.2.3",
|
||||
"decodal-codemirror": "npm:decodal-codemirror@0.3.0",
|
||||
"@codemirror/state": "npm:@codemirror/state@6.7.6",
|
||||
"@codemirror/view": "npm:@codemirror/view@6.43.13",
|
||||
"@lezer/common": "npm:@lezer/common@1.5.3",
|
||||
"@lezer/highlight": "npm:@lezer/highlight@1.2.5",
|
||||
"decodal-codemirror": "npm:decodal-codemirror@0.3.1",
|
||||
"clsx": "npm:clsx@2.1.1",
|
||||
"cookie": "npm:cookie@0.6.0",
|
||||
"devalue": "npm:devalue@5.6.4",
|
||||
"set-cookie-parser": "npm:set-cookie-parser@2.7.2",
|
||||
"shiki": "npm:shiki@4.4.2",
|
||||
"svelte": "npm:svelte@5.45.6",
|
||||
"svelte-check": "npm:svelte-check@4.3.4",
|
||||
"typescript": "npm:typescript@5.9.3",
|
||||
"vite": "npm:vite@7.2.7"
|
||||
"cookie": "npm:cookie@2.0.1",
|
||||
"devalue": "npm:devalue@6.0.2",
|
||||
"set-cookie-parser": "npm:set-cookie-parser@3.1.2",
|
||||
"shiki": "npm:shiki@4.5.0",
|
||||
"svelte": "npm:svelte@5.57.1",
|
||||
"svelte-check": "npm:svelte-check@4.7.6",
|
||||
"typescript": "npm:typescript@6.0.3",
|
||||
"vite": "npm:vite@8.3.2"
|
||||
},
|
||||
"fmt": {
|
||||
"proseWrap": "never"
|
||||
|
||||
Generated
+336
-603
File diff suppressed because it is too large
Load Diff
@@ -5,14 +5,17 @@
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@fontsource/ibm-plex-mono": "5.3.0",
|
||||
"@humanspeak/svelte-markdown": "1.9.1",
|
||||
"@humanspeak/svelte-markdown": "2.0.0",
|
||||
"gen-interface-jp": "0.8.0",
|
||||
"shiki": "4.4.2",
|
||||
"yaml": "2.9.0"
|
||||
"shiki": "4.5.0",
|
||||
"yaml": "2.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@testing-library/svelte": "5.2.8",
|
||||
"happy-dom": "20.12.0",
|
||||
"vitest": "3.2.4"
|
||||
"@testing-library/svelte": "5.4.2",
|
||||
"happy-dom": "20.14.5",
|
||||
"vitest": "5.0.3"
|
||||
},
|
||||
"imports": {
|
||||
"#lib/*": "./src/lib/*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
workspaceSkillCatalogPath,
|
||||
workspaceSkillDetailPath,
|
||||
} from "./http.ts";
|
||||
import { SKILL_API_LIMITS } from "$lib/generated/skill-api.ts";
|
||||
import { SKILL_API_LIMITS } from "#lib/generated/skill-api.ts";
|
||||
|
||||
declare const Deno: {
|
||||
test(name: string, fn: () => Promise<void> | void): void;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { SKILL_API_LIMITS } from "$lib/generated/skill-api.ts";
|
||||
import { SKILL_API_LIMITS } from "#lib/generated/skill-api.ts";
|
||||
import type {
|
||||
SkillCatalogResponse,
|
||||
SkillDetailResponse,
|
||||
} from "$lib/generated/skill-api.ts";
|
||||
} from "#lib/generated/skill-api.ts";
|
||||
import {
|
||||
parseSkillCatalogResponse,
|
||||
parseSkillDetailResponse,
|
||||
SkillApiContractError,
|
||||
} from "$lib/workspace/skills/api.ts";
|
||||
} from "#lib/workspace/skills/api.ts";
|
||||
|
||||
export type ApiResult<T> = {
|
||||
data: T | null;
|
||||
|
||||
@@ -2,7 +2,7 @@ import type {
|
||||
MergeRequestDetailResponse,
|
||||
MergeRequestListResponse,
|
||||
MergeRequestThreadEvent,
|
||||
} from "$lib/generated/ticket-api";
|
||||
} from "#lib/generated/ticket-api.ts";
|
||||
import { workspaceApiPath } from "./http";
|
||||
|
||||
export type MergeRequestDetail = MergeRequestDetailResponse;
|
||||
|
||||
@@ -3,19 +3,19 @@ import type {
|
||||
CreateWorkspaceRepositoryResponse,
|
||||
RepositoryDetailResponse,
|
||||
RepositoryListResponse,
|
||||
} from "$lib/generated/repository-api.ts";
|
||||
} from "#lib/generated/repository-api.ts";
|
||||
import {
|
||||
type ApiResult,
|
||||
loadJson,
|
||||
readBoundedJson,
|
||||
workspaceApiPath,
|
||||
} from "$lib/workspace/api/http.ts";
|
||||
} from "#lib/workspace/api/http.ts";
|
||||
import {
|
||||
parseCreateWorkspaceRepositoryResponse,
|
||||
parseRepositoryApiError,
|
||||
parseRepositoryDetailResponse,
|
||||
parseRepositoryListResponse,
|
||||
} from "$lib/workspace/api/workspace-model.ts";
|
||||
} from "#lib/workspace/api/workspace-model.ts";
|
||||
|
||||
export const REPOSITORY_API_MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import type {
|
||||
RuntimeConnectionTestFailureKind,
|
||||
RuntimeConnectionTestResponse,
|
||||
RuntimeVerificationEvidenceSummary,
|
||||
} from "$lib/generated/runtime-api";
|
||||
} from "#lib/generated/runtime-api.ts";
|
||||
|
||||
const RESPONSE_KEYS = [
|
||||
"workspace_id",
|
||||
|
||||
@@ -24,7 +24,7 @@ import type {
|
||||
WorkspaceRuntimeDetail,
|
||||
WorkspaceRuntimeListResponse,
|
||||
WorkspaceRuntimeResource,
|
||||
} from "$lib/generated/runtime-api.ts";
|
||||
} from "#lib/generated/runtime-api.ts";
|
||||
import { workspaceApiPath } from "./http.ts";
|
||||
|
||||
export type WorkspaceRuntimeList = Omit<WorkspaceRuntimeListResponse, "diagnostics"> & {
|
||||
|
||||
@@ -11,7 +11,7 @@ import type {
|
||||
RuntimeWorkerLifecycleResult,
|
||||
WorkerOperationState,
|
||||
WorkerRetentionResponse,
|
||||
} from "$lib/generated/runtime-api";
|
||||
} from "#lib/generated/runtime-api.ts";
|
||||
|
||||
const MAX_STRING_BYTES = 4_096;
|
||||
const MAX_CANDIDATES = 1_000;
|
||||
|
||||
@@ -38,7 +38,7 @@ import type {
|
||||
TicketRoleAssignmentRecord,
|
||||
TicketRoleAssignmentSummary,
|
||||
TicketTarget,
|
||||
} from "$lib/generated/ticket-api.ts";
|
||||
} from "#lib/generated/ticket-api.ts";
|
||||
|
||||
export const TICKET_BROWSER_API_MAX_RESPONSE_BYTES = 4 * 1024 * 1024;
|
||||
export const TICKET_BROWSER_API_LOAD_POLICY = {
|
||||
|
||||
@@ -21,12 +21,12 @@ import type {
|
||||
WorkerWorkdirAttachmentSummary,
|
||||
WorkerWorkspaceSummary,
|
||||
WorkingDirectoryRepositoryOption,
|
||||
} from "$lib/generated/worker-launch-api";
|
||||
import type { Segment } from "$lib/generated/protocol";
|
||||
} from "#lib/generated/worker-launch-api.ts";
|
||||
import type { Segment } from "#lib/generated/protocol.ts";
|
||||
import {
|
||||
parseExternalWorkdirPermissions,
|
||||
parseWorkingDirectorySummary,
|
||||
} from "$lib/workspace/api/workdirs";
|
||||
} from "#lib/workspace/api/workdirs.ts";
|
||||
|
||||
const DIAGNOSTIC_SEVERITIES = new Set<DiagnosticSeverity>([
|
||||
"info",
|
||||
|
||||
@@ -4,8 +4,8 @@ import {
|
||||
type RepositorySummary,
|
||||
type WorkspaceCreateResponse,
|
||||
type WorkspaceSummary,
|
||||
} from "$lib/workspace/api/workspace-model";
|
||||
import { loadWorkspaceRepositoryList } from "$lib/workspace/api/repositories.ts";
|
||||
} from "#lib/workspace/api/workspace-model.ts";
|
||||
import { loadWorkspaceRepositoryList } from "#lib/workspace/api/repositories.ts";
|
||||
|
||||
export type WorkspaceCatalogRecord = WorkspaceSummary;
|
||||
export type WorkspaceCatalogItem = WorkspaceCatalogRecord & {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ApiResult } from "$lib/workspace/api/http";
|
||||
import type { ApiResult } from "#lib/workspace/api/http.ts";
|
||||
import type {
|
||||
WorkspaceAuthConfig,
|
||||
WorkspaceCatalogListResponse,
|
||||
@@ -15,7 +15,7 @@ import type {
|
||||
WorkspaceRepositoryRecord,
|
||||
WorkspaceResponse,
|
||||
WorkspaceSummary,
|
||||
} from "$lib/generated/legacy-server-api.ts";
|
||||
} from "#lib/generated/legacy-server-api.ts";
|
||||
import type {
|
||||
CreateWorkspaceRepositoryResponse,
|
||||
Diagnostic,
|
||||
@@ -35,7 +35,7 @@ import type {
|
||||
RepositorySshConnectionTrustState,
|
||||
RepositorySshHostKeyCandidate,
|
||||
RepositorySummary,
|
||||
} from "$lib/generated/repository-api.ts";
|
||||
} from "#lib/generated/repository-api.ts";
|
||||
|
||||
export type {
|
||||
WorkspaceCatalogListResponse,
|
||||
@@ -45,7 +45,7 @@ export type {
|
||||
WorkspacePermissionSummary,
|
||||
WorkspaceResponse,
|
||||
WorkspaceSummary,
|
||||
} from "$lib/generated/legacy-server-api.ts";
|
||||
} from "#lib/generated/legacy-server-api.ts";
|
||||
export type {
|
||||
CreateWorkspaceRepositoryRequest,
|
||||
CreateWorkspaceRepositoryResponse,
|
||||
@@ -63,7 +63,7 @@ export type {
|
||||
RepositorySshConnectionProbeResponse,
|
||||
RepositorySshHostKeyCandidate,
|
||||
RepositorySummary,
|
||||
} from "$lib/generated/repository-api.ts";
|
||||
} from "#lib/generated/repository-api.ts";
|
||||
|
||||
type JsonObject = Record<string, unknown>;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import type {
|
||||
PasskeyLoginOptionsRequest,
|
||||
PasskeyRegistrationCompleteRequest,
|
||||
PasskeyRegistrationOptionsRequest,
|
||||
} from "$lib/generated/auth-api.ts";
|
||||
} from "#lib/generated/auth-api.ts";
|
||||
import {
|
||||
authenticationCredentialToJson,
|
||||
type AuthUser,
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
prepareRegistrationOptions,
|
||||
registrationCredentialToJson,
|
||||
type WhoamiResponse,
|
||||
} from "$lib/workspace/auth/model";
|
||||
} from "#lib/workspace/auth/model.ts";
|
||||
|
||||
const MAX_AUTH_RESPONSE_BYTES = 256 * 1024;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import type {
|
||||
PasskeyRegistrationOptionsResponse,
|
||||
RequestActor,
|
||||
WhoamiResponse,
|
||||
} from "$lib/generated/auth-api.ts";
|
||||
} from "#lib/generated/auth-api.ts";
|
||||
|
||||
export type AuthUser = AuthenticatedUser;
|
||||
export type PasskeyUserResponse = AuthUserResponse;
|
||||
|
||||
@@ -9,7 +9,7 @@ import type {
|
||||
DiagnosticSeverity,
|
||||
WorkspaceWorkerDiscoveryItem,
|
||||
WorkspaceWorkerSubject,
|
||||
} from "$lib/generated/companion-api";
|
||||
} from "#lib/generated/companion-api.ts";
|
||||
|
||||
const MAX_TRANSCRIPT_ITEMS = 200;
|
||||
const MAX_DIAGNOSTICS = 100;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { onMount } from "svelte";
|
||||
import DecodalSourceEditor from "$lib/workspace/settings/DecodalSourceEditor.svelte";
|
||||
import DecodalSourceEditor from "#lib/workspace/settings/DecodalSourceEditor.svelte";
|
||||
import {
|
||||
commitConfigTree,
|
||||
fetchConfigTree,
|
||||
|
||||
@@ -10,7 +10,7 @@ export type {
|
||||
ToolchainContract,
|
||||
WorkspaceConfigSchemaBundle,
|
||||
WorkspaceConfigTreeResponse,
|
||||
} from "$lib/generated/legacy-server-api.ts";
|
||||
} from "#lib/generated/legacy-server-api.ts";
|
||||
|
||||
// Browser-local Decodal/WASM projections remain owned by config-source.
|
||||
export type { ConfigDiagnostic } from "./generated/types/ConfigDiagnostic.ts";
|
||||
|
||||
@@ -22,12 +22,12 @@
|
||||
isolateHistory,
|
||||
} from "@codemirror/commands";
|
||||
import { onMount } from "svelte";
|
||||
import type { Segment } from "$lib/generated/protocol.ts";
|
||||
import type { Segment } from "#lib/generated/protocol.ts";
|
||||
import {
|
||||
handleComposerImagePaste,
|
||||
measureComposerPaste,
|
||||
type ComposerPasteMeasurement,
|
||||
} from "$lib/workspace/console/composer-paste.ts";
|
||||
} from "#lib/workspace/console/composer-paste.ts";
|
||||
import {
|
||||
composerDeletionRange,
|
||||
composerPasteAtoms,
|
||||
@@ -37,7 +37,7 @@
|
||||
type ComposerDraftSnapshot,
|
||||
type ComposerPaste,
|
||||
type ComposerTextPaste,
|
||||
} from "$lib/workspace/console/composer-draft.ts";
|
||||
} from "#lib/workspace/console/composer-draft.ts";
|
||||
import {
|
||||
ComposerHistory,
|
||||
loadComposerHistory,
|
||||
@@ -45,9 +45,9 @@
|
||||
shouldBrowseComposerHistory,
|
||||
type ComposerHistoryDirection,
|
||||
type ComposerHistoryEntry,
|
||||
} from "$lib/workspace/console/composer-history.ts";
|
||||
} from "#lib/workspace/console/composer-history.ts";
|
||||
import { applyCompletion, completionSelection, completionTokenAt, localCommandCompletions, type ComposerCompletionEntry, type ComposerCompletionToken } from "./composer-completion";
|
||||
import { shouldSubmitChatKey } from "$lib/workspace/console/chat-submit.ts";
|
||||
import { shouldSubmitChatKey } from "#lib/workspace/console/chat-submit.ts";
|
||||
|
||||
interface Props {
|
||||
disabled?: boolean;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import AnsiText from '$lib/workspace/console/AnsiText.svelte';
|
||||
import RichMarkdown from '$lib/workspace/console/RichMarkdown.svelte';
|
||||
import type { ConsoleLine } from '$lib/workspace/console/model';
|
||||
import AnsiText from '#lib/workspace/console/AnsiText.svelte';
|
||||
import RichMarkdown from '#lib/workspace/console/RichMarkdown.svelte';
|
||||
import type { ConsoleLine } from '#lib/workspace/console/model.ts';
|
||||
|
||||
type Props = {
|
||||
item: ConsoleLine;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<script lang="ts">
|
||||
import type { Renderers } from "@humanspeak/svelte-markdown";
|
||||
import { ShikiCode } from "@humanspeak/svelte-markdown/extensions/shiki";
|
||||
import SafeMarkdown from "$lib/workspace/markdown/SafeMarkdown.svelte";
|
||||
import SafeMarkdown from "#lib/workspace/markdown/SafeMarkdown.svelte";
|
||||
|
||||
type Props = {
|
||||
text: string;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import type {
|
||||
InFlightCompaction,
|
||||
WorkerStateSnapshot,
|
||||
} from "$lib/generated/protocol.ts";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
import Spinner from "./Spinner.svelte";
|
||||
import {
|
||||
formatRunElapsed,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type {
|
||||
AttachmentUploadGrantResponse,
|
||||
WorkerFileUploadResponse,
|
||||
} from "$lib/generated/runtime-api.ts";
|
||||
import type { UploadedFileRef } from "$lib/generated/protocol.ts";
|
||||
} from "#lib/generated/runtime-api.ts";
|
||||
import type { UploadedFileRef } from "#lib/generated/protocol.ts";
|
||||
|
||||
export const MAX_UPLOADED_FILE_BYTES = 10 * 1024 * 1024;
|
||||
export const MAX_FILES_PER_SUBMISSION = 8;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Segment } from "$lib/generated/protocol";
|
||||
import type { Segment } from "#lib/generated/protocol.ts";
|
||||
|
||||
export type WorkerConsoleInputKind =
|
||||
| "user"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import type { Segment } from "$lib/generated/protocol.ts";
|
||||
import type { Segment } from "#lib/generated/protocol.ts";
|
||||
import {
|
||||
composerDeletionRange,
|
||||
type ComposerPaste,
|
||||
composerPasteToken,
|
||||
pasteChipLabel,
|
||||
snapshotComposerDraft,
|
||||
} from "$lib/workspace/console/composer-draft.ts";
|
||||
import { buildComposerSegmentsRequest } from "$lib/workspace/console/composer-command.ts";
|
||||
import { measureComposerPaste } from "$lib/workspace/console/composer-paste.ts";
|
||||
} from "#lib/workspace/console/composer-draft.ts";
|
||||
import { buildComposerSegmentsRequest } from "#lib/workspace/console/composer-command.ts";
|
||||
import { measureComposerPaste } from "#lib/workspace/console/composer-paste.ts";
|
||||
|
||||
declare const Deno: {
|
||||
test(name: string, fn: () => void): void;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Segment } from "$lib/generated/protocol.ts";
|
||||
import type { Segment } from "#lib/generated/protocol.ts";
|
||||
|
||||
const PASTE_TOKEN_PREFIX = "\uFFF9";
|
||||
const PASTE_TOKEN_SUFFIX = "\uFFFB";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Segment } from "$lib/generated/protocol";
|
||||
import type { Segment } from "#lib/generated/protocol.ts";
|
||||
|
||||
export const COMPOSER_HISTORY_LIMIT = 30;
|
||||
const COMPOSER_HISTORY_VERSION = 1;
|
||||
|
||||
@@ -2,7 +2,7 @@ import type {
|
||||
SessionConversationTurn,
|
||||
SessionHistoryPage,
|
||||
SessionSnapshotEntry,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
import {
|
||||
applyConsoleHistoryPage,
|
||||
beginConsoleHistoryRequest,
|
||||
|
||||
@@ -3,7 +3,7 @@ import type {
|
||||
SessionConversationTurn,
|
||||
SessionHistoryPage,
|
||||
SessionSnapshotEntry,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
|
||||
export const CONSOLE_HISTORY_PAGE_TURNS = 5;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import type {
|
||||
SessionSnapshotEntry,
|
||||
WorkerStateSnapshot,
|
||||
WorkerStatus,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
import {
|
||||
type ConsoleEventInput,
|
||||
type ConsoleLine,
|
||||
|
||||
@@ -14,7 +14,7 @@ import type {
|
||||
WorkerState,
|
||||
WorkerStateSnapshot,
|
||||
WorkerStatus,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
import { stringify as stringifyYaml } from "yaml";
|
||||
import {
|
||||
applyRunActivityEvent,
|
||||
|
||||
@@ -2,7 +2,7 @@ import type {
|
||||
Event as ProtocolEvent,
|
||||
InFlightCompaction,
|
||||
WorkerStateSnapshot,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
|
||||
export type RunActivityStats = {
|
||||
startedAtMs: number | null;
|
||||
|
||||
@@ -35,7 +35,7 @@ export function consoleTurns(lines: readonly ConsoleLine[]): ConsoleTurn[] {
|
||||
return turns;
|
||||
}
|
||||
|
||||
import type { SessionConversationTurn } from "$lib/generated/protocol";
|
||||
import type { SessionConversationTurn } from "#lib/generated/protocol.ts";
|
||||
import { type ConsoleTurnPreview, conversationTurnPreviews } from "./history";
|
||||
|
||||
export type TurnNavigationItem = ConsoleTurnPreview;
|
||||
|
||||
@@ -69,11 +69,11 @@ Deno.test("workspace feature css is owned outside app css", async () => {
|
||||
"app.css should not own workspace, worker, or settings page implementation classes",
|
||||
);
|
||||
assert(
|
||||
workspaceLayout.includes("$lib/workspace/styles/workspace-pages.css") &&
|
||||
workspaceLayout.includes("$lib/workspace/styles/workers.css") &&
|
||||
settingsLayout.includes("$lib/workspace/styles/settings.css") &&
|
||||
accountPage.includes("$lib/workspace/styles/settings.css") &&
|
||||
deviceLoginPage.includes("$lib/workspace/styles/settings.css"),
|
||||
workspaceLayout.includes("#lib/workspace/styles/workspace-pages.css") &&
|
||||
workspaceLayout.includes("#lib/workspace/styles/workers.css") &&
|
||||
settingsLayout.includes("#lib/workspace/styles/settings.css") &&
|
||||
accountPage.includes("#lib/workspace/styles/settings.css") &&
|
||||
deviceLoginPage.includes("#lib/workspace/styles/settings.css"),
|
||||
"feature-owned CSS should be imported by the layouts/pages that need it",
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { page } from "$app/state";
|
||||
import WorkspaceSwitcher from "$lib/workspace/sidebar/WorkspaceSwitcher.svelte";
|
||||
import type { WorkspaceResponse } from "$lib/workspace/sidebar/types";
|
||||
import WorkspaceSwitcher from "#lib/workspace/sidebar/WorkspaceSwitcher.svelte";
|
||||
import type { WorkspaceResponse } from "#lib/workspace/sidebar/types.ts";
|
||||
import { buildWorkspaceBreadcrumbs } from "./breadcrumb-model";
|
||||
|
||||
type Props = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import BevelLine from '$lib/workspace/ui/BevelLine.svelte';
|
||||
import BevelLine from '#lib/workspace/ui/BevelLine.svelte';
|
||||
import type { DashboardFeed } from './dashboard';
|
||||
|
||||
let { id, title, empty, result }: { id: string; title: string; empty: string; result: Promise<DashboardFeed> } = $props();
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import type { TicketListItemSummary } from "$lib/generated/ticket-api";
|
||||
import { loadJson, workspaceApiPath } from "$lib/workspace/api/http";
|
||||
import type { TicketListItemSummary } from "#lib/generated/ticket-api.ts";
|
||||
import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts";
|
||||
import {
|
||||
parseMergeRequestListResponse,
|
||||
parseObjectiveListResponse,
|
||||
parseTicketDetail,
|
||||
parseTicketListResponse,
|
||||
TICKET_BROWSER_API_LOAD_POLICY,
|
||||
} from "$lib/workspace/api/ticket-browser";
|
||||
import { mergeRequestPagePath } from "$lib/workspace/api/merge-requests";
|
||||
import { objectiveHref, ticketHref } from "$lib/workspace/resource-links";
|
||||
} from "#lib/workspace/api/ticket-browser.ts";
|
||||
import { mergeRequestPagePath } from "#lib/workspace/api/merge-requests.ts";
|
||||
import { objectiveHref, ticketHref } from "#lib/workspace/resource-links.ts";
|
||||
|
||||
export const HOME_LIMIT = 5;
|
||||
export type DashboardRow = {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
type Renderers,
|
||||
type SvelteMarkdownProps,
|
||||
} from "@humanspeak/svelte-markdown";
|
||||
import MarkdownLink from "$lib/workspace/markdown/MarkdownLink.svelte";
|
||||
import MarkdownLink from "#lib/workspace/markdown/MarkdownLink.svelte";
|
||||
|
||||
type Props = {
|
||||
text: string;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { MEMORY_API_LIMITS } from "$lib/generated/memory-api";
|
||||
import { MEMORY_API_LIMITS } from "#lib/generated/memory-api.ts";
|
||||
import type {
|
||||
Diagnostic,
|
||||
DiagnosticSeverity,
|
||||
@@ -12,7 +12,7 @@ import type {
|
||||
MemoryStagingEvidence,
|
||||
MemoryStagingListResponse,
|
||||
MemoryStagingRecord,
|
||||
} from "$lib/generated/memory-api";
|
||||
} from "#lib/generated/memory-api.ts";
|
||||
|
||||
const MAX_STAGING_ITEMS = MEMORY_API_LIMITS.maxCollectionItems;
|
||||
const MAX_EVIDENCE_PER_RECORD = MEMORY_API_LIMITS.maxCollectionItems;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import { browser } from '$app/environment';
|
||||
import { browser } from '$app/env';
|
||||
import type {
|
||||
EventSubscriptionSelector,
|
||||
Method,
|
||||
SubscriptionFrame,
|
||||
SubscriptionId,
|
||||
} from '$lib/generated/protocol';
|
||||
} from '#lib/generated/protocol.ts';
|
||||
import {
|
||||
decodeSubscriptionFrame,
|
||||
subscriptionFrameMatchesSelector,
|
||||
} from '$lib/generated/protocol-validator';
|
||||
import { workspaceApiPath } from '$lib/workspace/api/http';
|
||||
} from '#lib/generated/protocol-validator.ts';
|
||||
import { workspaceApiPath } from '#lib/workspace/api/http.ts';
|
||||
|
||||
type Listener = {
|
||||
onFrame(frame: SubscriptionFrame): void;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { EventSubscriptionSelector, SubscriptionFrame } from '$lib/generated/protocol';
|
||||
import type { EventSubscriptionSelector, SubscriptionFrame } from '#lib/generated/protocol.ts';
|
||||
import {
|
||||
decodeSubscriptionFrame,
|
||||
MAX_SUBSCRIPTION_STRING_BYTES,
|
||||
RUST_SERIALIZED_SUBSCRIPTION_FRAME_FIXTURES,
|
||||
subscriptionFrameMatchesSelector,
|
||||
} from '$lib/generated/protocol-validator';
|
||||
} from '#lib/generated/protocol-validator.ts';
|
||||
|
||||
declare const Deno: {
|
||||
test(name: string, fn: () => void | Promise<void>): void;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { WorkspaceRuntimeResource } from "$lib/generated/runtime-api";
|
||||
import type { WorkspaceRuntimeResource } from "#lib/generated/runtime-api.ts";
|
||||
|
||||
export type RepositorySshProbeSelection<T> = Readonly<{
|
||||
changed: boolean;
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
type WorkerSessionRequestIdentity,
|
||||
workerSessionRequestInit,
|
||||
} from "./session-observation";
|
||||
import type { SessionSnapshot } from "$lib/generated/protocol";
|
||||
import type { SessionSnapshot } from "#lib/generated/protocol.ts";
|
||||
|
||||
declare const Deno: {
|
||||
test(name: string, fn: () => Promise<void> | void): void;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { SessionSnapshot } from "$lib/generated/protocol";
|
||||
import type { SessionSnapshot } from "#lib/generated/protocol.ts";
|
||||
|
||||
export type WorkerSessionObservation =
|
||||
| { availability: "live_protocol" }
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
import { EditorView, keymap, lineNumbers, highlightActiveLine, drawSelection, type ViewUpdate } from '@codemirror/view';
|
||||
import { tags } from '@lezer/highlight';
|
||||
import { decodal } from 'decodal-codemirror';
|
||||
import { shouldStartCompletionAfterTyping } from '$lib/workspace/config-source/completion.ts';
|
||||
import { shouldStartCompletionAfterTyping } from '#lib/workspace/config-source/completion.ts';
|
||||
import {
|
||||
fixedSchemaWrapperExtension,
|
||||
moveSelectionIntoFixedWrapper,
|
||||
} from '$lib/workspace/config-source/fixed-schema-wrapper.ts';
|
||||
} from '#lib/workspace/config-source/fixed-schema-wrapper.ts';
|
||||
|
||||
let {
|
||||
value = '',
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
import type {
|
||||
Diagnostic, WorkspaceMetadataSettingsResponse, WorkspaceSigningIdentityResponse,
|
||||
WorkspaceDeletionPreflightResponse, WorkspaceDeletionOperationResponse, WorkspaceDeletionRequest,
|
||||
} from '$lib/generated/legacy-server-api';
|
||||
import { workspaceApiPath } from '$lib/workspace/api/http';
|
||||
import { disposeWorkspaceMultiplexer } from '$lib/workspace/multiplexer';
|
||||
import { disposeWorkspaceWorkersStore } from '$lib/workspace/sidebar/worker-subscription';
|
||||
} from '#lib/generated/legacy-server-api.ts';
|
||||
import { workspaceApiPath } from '#lib/workspace/api/http.ts';
|
||||
import { disposeWorkspaceMultiplexer } from '#lib/workspace/multiplexer.ts';
|
||||
import { disposeWorkspaceWorkersStore } from '#lib/workspace/sidebar/worker-subscription.ts';
|
||||
import { fetchWorkspaceMetadata, updateWorkspaceMetadata, fetchWorkspaceSigningIdentity, provisionWorkspaceSigningIdentity } from './profile-api';
|
||||
import { preflightWorkspaceDeletion, startWorkspaceDeletion, getWorkspaceDeletion } from './workspace-deletion-api';
|
||||
import BevelLine from '$lib/workspace/ui/BevelLine.svelte';
|
||||
import BevelLine from '#lib/workspace/ui/BevelLine.svelte';
|
||||
|
||||
// The route keys this component by Workspace and owner permission. Requests from
|
||||
// a disposed scope must not publish state, focus, or navigation into a new one.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Diagnostic as ServerApiDiagnostic } from "$lib/generated/legacy-server-api";
|
||||
import type { Diagnostic as ServerApiDiagnostic } from "#lib/generated/legacy-server-api.ts";
|
||||
|
||||
export type Diagnostic = ServerApiDiagnostic;
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ import type {
|
||||
WorkspaceSigningIdentityPublic,
|
||||
WorkspaceSigningIdentityResponse,
|
||||
WorkspaceSigningIdentityState,
|
||||
} from "$lib/generated/legacy-server-api";
|
||||
import { readBoundedJson } from "$lib/workspace/api/http.ts";
|
||||
} from "#lib/generated/legacy-server-api.ts";
|
||||
import { readBoundedJson } from "#lib/workspace/api/http.ts";
|
||||
|
||||
const MAX_PROFILE_RESPONSE_BYTES = 4 * 1024 * 1024;
|
||||
const MAX_PROFILE_ERROR_BYTES = 4 * 1024;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ExternalWorkdirPermissions } from "$lib/generated/workdir-api";
|
||||
import type { ExternalWorkdirPermissions } from "#lib/generated/workdir-api.ts";
|
||||
|
||||
/** Render an effective attachment/session capability intersection without widening it. */
|
||||
export function formatWorkdirPermissions(
|
||||
|
||||
@@ -2,12 +2,12 @@ import type {
|
||||
WorkspaceDeletionOperationResponse,
|
||||
WorkspaceDeletionPreflightResponse,
|
||||
WorkspaceDeletionRequest,
|
||||
} from "$lib/generated/legacy-server-api";
|
||||
import { loadJson } from "$lib/workspace/api/http";
|
||||
} from "#lib/generated/legacy-server-api.ts";
|
||||
import { loadJson } from "#lib/workspace/api/http.ts";
|
||||
import {
|
||||
parseWorkspaceDeletionOperationResponse,
|
||||
parseWorkspaceDeletionPreflightResponse,
|
||||
} from "$lib/workspace/api/workspace-model";
|
||||
} from "#lib/workspace/api/workspace-model.ts";
|
||||
|
||||
const deletionResponsePolicy = {
|
||||
maxResponseBytes: 2 * 1024 * 1024,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import type { WorkspaceCatalogRecord } from "$lib/workspace/api/workspace-catalog";
|
||||
import type { WorkspaceCatalogRecord } from "#lib/workspace/api/workspace-catalog.ts";
|
||||
|
||||
type Props = {
|
||||
currentPath: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { workspaceRoute } from "$lib/workspace/api/http";
|
||||
import { workspaceRoute } from "#lib/workspace/api/http.ts";
|
||||
|
||||
type Props = {
|
||||
currentPath?: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { mergeRequestPagePath } from "$lib/workspace/api/merge-requests";
|
||||
import { mergeRequestPagePath } from "#lib/workspace/api/merge-requests.ts";
|
||||
|
||||
type Props = {
|
||||
currentPath?: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { workspaceRoute } from '$lib/workspace/api/http';
|
||||
import { workspaceRoute } from '#lib/workspace/api/http.ts';
|
||||
|
||||
type Props = {
|
||||
currentPath?: string;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { workspaceRoute } from '$lib/workspace/api/http';
|
||||
import { SETTINGS_SECTIONS, settingsSectionHref } from '$lib/workspace/settings/model';
|
||||
import type { SettingsSectionId } from '$lib/workspace/settings/model';
|
||||
import { workspaceRoute } from '#lib/workspace/api/http.ts';
|
||||
import { SETTINGS_SECTIONS, settingsSectionHref } from '#lib/workspace/settings/model.ts';
|
||||
import type { SettingsSectionId } from '#lib/workspace/settings/model.ts';
|
||||
import type { SidebarSnippet } from './context';
|
||||
|
||||
let {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { onDestroy, type Snippet } from 'svelte';
|
||||
import Bevel from '$lib/workspace/ui/Bevel.svelte';
|
||||
import Bevel from '#lib/workspace/ui/Bevel.svelte';
|
||||
import SidebarToggleIcon from './SidebarToggleIcon.svelte';
|
||||
import './sidebar.css';
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
<div class="sidebar-frame__surface">
|
||||
<div
|
||||
class="sidebar-hover-region"
|
||||
role="presentation"
|
||||
onpointerenter={enter}
|
||||
onpointerleave={leave}
|
||||
onpointercancel={leave}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { workspaceRoute } from '$lib/workspace/api/http';
|
||||
import { workspaceRoute } from '#lib/workspace/api/http.ts';
|
||||
|
||||
type Props = {
|
||||
currentPath?: string;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import Spinner from '$lib/workspace/console/Spinner.svelte';
|
||||
import { workerConsoleHref } from '$lib/workspace/resource-links';
|
||||
import { pushWorkspaceAlert } from '$lib/workspace/alerts/store';
|
||||
import Spinner from '#lib/workspace/console/Spinner.svelte';
|
||||
import { workerConsoleHref } from '#lib/workspace/resource-links.ts';
|
||||
import { pushWorkspaceAlert } from '#lib/workspace/alerts/store.ts';
|
||||
import {
|
||||
canStopSidebarWorker,
|
||||
canDeleteSidebarWorker,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import type { Snippet } from 'svelte';
|
||||
import './sidebar.css';
|
||||
import { workspaceRoute } from '$lib/workspace/api/http';
|
||||
import { workspaceRoute } from '#lib/workspace/api/http.ts';
|
||||
import { ownsRoutePath } from './route-ownership';
|
||||
import ObjectivesNavSection from './ObjectivesNavSection.svelte';
|
||||
import MemoryNavSection from './MemoryNavSection.svelte';
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import {
|
||||
listWorkspaces,
|
||||
type WorkspaceCatalogRecord,
|
||||
} from "$lib/workspace/api/workspace-catalog";
|
||||
} from "#lib/workspace/api/workspace-catalog.ts";
|
||||
|
||||
let {
|
||||
currentWorkspaceId,
|
||||
|
||||
@@ -4,7 +4,7 @@ import type {
|
||||
CleanupWorkerCandidate,
|
||||
RuntimeCleanupExecutionResponse,
|
||||
RuntimeCleanupPlanResponse,
|
||||
} from "$lib/generated/runtime-api";
|
||||
} from "#lib/generated/runtime-api.ts";
|
||||
import type {
|
||||
BrowserCreateWorkerResponse as SharedBrowserCreateWorkerResponse,
|
||||
BrowserWorkerWorkingDirectorySelection
|
||||
@@ -17,7 +17,7 @@ import type {
|
||||
WorkerSummary as SharedWorkerSummary,
|
||||
WorkerWorkdirAttachmentSummary as SharedWorkerWorkdirAttachmentSummary,
|
||||
WorkingDirectoryRepositoryOption as SharedWorkingDirectoryRepositoryOption,
|
||||
} from "$lib/generated/worker-launch-api";
|
||||
} from "#lib/generated/worker-launch-api.ts";
|
||||
import type {
|
||||
WorkingDirectoryCreateRequest,
|
||||
WorkingDirectoryCreateResponse,
|
||||
@@ -25,14 +25,14 @@ import type {
|
||||
WorkingDirectoryListResponse,
|
||||
WorkingDirectoryOccupancy,
|
||||
WorkingDirectorySummary,
|
||||
} from "$lib/generated/workdir-api";
|
||||
} from "#lib/generated/workdir-api.ts";
|
||||
import type {
|
||||
Event as PodProtocolEvent,
|
||||
Method as PodProtocolMethod,
|
||||
Segment as PodProtocolSegment,
|
||||
SubscriptionWorkerJob,
|
||||
WorkerStateSnapshot,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
import type {
|
||||
GitCommitSummary as SharedGitCommitSummary,
|
||||
GitRemoteSummary as SharedGitRemoteSummary,
|
||||
@@ -42,7 +42,7 @@ import type {
|
||||
RepositoryLogResponse as SharedRepositoryLogResponse,
|
||||
RepositorySummary as SharedRepositorySummary,
|
||||
WorkspaceResponse as SharedWorkspaceResponse,
|
||||
} from "$lib/workspace/api/workspace-model";
|
||||
} from "#lib/workspace/api/workspace-model.ts";
|
||||
|
||||
export type {
|
||||
PodProtocolEvent,
|
||||
@@ -157,7 +157,7 @@ export type {
|
||||
TicketDetail,
|
||||
TicketEventDetail,
|
||||
TicketListResponse,
|
||||
} from "$lib/generated/ticket-api";
|
||||
} from "#lib/generated/ticket-api.ts";
|
||||
export type {
|
||||
TicketDetailDerivedRelation as DerivedTicketRelation,
|
||||
TicketDetailRelation as TicketRelation,
|
||||
@@ -165,7 +165,7 @@ export type {
|
||||
TicketDetailRelationNotice as TicketRelationNotice,
|
||||
TicketDetailRelationView as TicketRelationView,
|
||||
TicketListItemSummary as TicketSummary,
|
||||
} from "$lib/generated/ticket-api";
|
||||
} from "#lib/generated/ticket-api.ts";
|
||||
|
||||
export type {
|
||||
CompanionCancelRequest,
|
||||
@@ -178,4 +178,4 @@ export type {
|
||||
CompanionTranscriptProjection,
|
||||
CompanionTranscriptRole,
|
||||
CompanionTransportSummary,
|
||||
} from "$lib/generated/companion-api";
|
||||
} from "#lib/generated/companion-api.ts";
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { workspaceApiPath } from "$lib/workspace/api/http";
|
||||
import { workspaceApiPath } from "#lib/workspace/api/http.ts";
|
||||
import {
|
||||
parseRuntimeCleanupExecution,
|
||||
parseRuntimeCleanupPlan,
|
||||
parseRuntimeWorkerLifecycleResult,
|
||||
} from "$lib/workspace/api/runtime-workers";
|
||||
} from "#lib/workspace/api/runtime-workers.ts";
|
||||
import type { Diagnostic, Worker } from "./types";
|
||||
|
||||
type FetchFn = typeof fetch;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type {
|
||||
BrowserWorkerWorkingDirectorySelection,
|
||||
CreateWorkspaceWorkerRequest,
|
||||
} from "$lib/generated/worker-launch-api";
|
||||
import { parseCreateWorkspaceWorkerRequest } from "$lib/workspace/api/workers";
|
||||
} from "#lib/generated/worker-launch-api.ts";
|
||||
import { parseCreateWorkspaceWorkerRequest } from "#lib/workspace/api/workers.ts";
|
||||
|
||||
import type { WorkerLaunchOptionsResponse } from "./types";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { WorkerStateSnapshot } from "$lib/generated/protocol";
|
||||
import type { WorkerStateSnapshot } from "#lib/generated/protocol.ts";
|
||||
|
||||
export function liveWorkerState(worker: {
|
||||
state: string;
|
||||
|
||||
@@ -11,7 +11,7 @@ import { afterEach, expect, test, vi } from "vitest";
|
||||
import type {
|
||||
SubscriptionFrame,
|
||||
SubscriptionWorker,
|
||||
} from "$lib/generated/protocol";
|
||||
} from "#lib/generated/protocol.ts";
|
||||
import WorkersNavSection from "./WorkersNavSection.svelte";
|
||||
import { disposeWorkspaceWorkersStore } from "./worker-subscription";
|
||||
|
||||
@@ -19,7 +19,7 @@ const transport = vi.hoisted(() => ({
|
||||
listener: null as { onFrame(frame: SubscriptionFrame): void } | null,
|
||||
close: vi.fn(),
|
||||
}));
|
||||
vi.mock("$lib/workspace/multiplexer", () => ({
|
||||
vi.mock("#lib/workspace/multiplexer.ts", () => ({
|
||||
workspaceMultiplexer: () => ({
|
||||
subscribe: (
|
||||
_selector: unknown,
|
||||
|
||||
@@ -2,7 +2,7 @@ import type {
|
||||
SubscriptionEventPayload,
|
||||
SubscriptionFrame,
|
||||
SubscriptionWorker,
|
||||
} from '$lib/generated/protocol';
|
||||
} from '#lib/generated/protocol.ts';
|
||||
|
||||
export type WorkspaceWorkersProjection = {
|
||||
workers: Map<string, SubscriptionWorker>;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { SubscriptionFrame, SubscriptionWorker } from '$lib/generated/protocol';
|
||||
import type { SubscriptionFrame, SubscriptionWorker } from '#lib/generated/protocol.ts';
|
||||
|
||||
function assertEquals(actual: unknown, expected: unknown): void {
|
||||
if (JSON.stringify(actual) !== JSON.stringify(expected)) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { type Readable, readable } from "svelte/store";
|
||||
import type { WorkingDirectorySummary } from "$lib/generated/workdir-api";
|
||||
import type { SubscriptionWorker } from "$lib/generated/protocol";
|
||||
import { loadJson, workspaceApiPath } from "$lib/workspace/api/http";
|
||||
import { parseWorkingDirectoryListResponse } from "$lib/workspace/api/workdirs";
|
||||
import { workspaceMultiplexer } from "$lib/workspace/multiplexer";
|
||||
import type { WorkingDirectorySummary } from "#lib/generated/workdir-api.ts";
|
||||
import type { SubscriptionWorker } from "#lib/generated/protocol.ts";
|
||||
import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts";
|
||||
import { parseWorkingDirectoryListResponse } from "#lib/workspace/api/workdirs.ts";
|
||||
import { workspaceMultiplexer } from "#lib/workspace/multiplexer.ts";
|
||||
import {
|
||||
applyWorkspaceWorkersFrame,
|
||||
createWorkspaceWorkersProjection,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { WorkingDirectorySummary } from "$lib/generated/workdir-api";
|
||||
import type { WorkingDirectorySummary } from "#lib/generated/workdir-api.ts";
|
||||
import {
|
||||
type SidebarWorkdirAttachment,
|
||||
sidebarWorkdirMeta,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { WorkingDirectorySummary } from "$lib/generated/workdir-api";
|
||||
import type { SubscriptionWorkerWorkdirAttachment } from "$lib/generated/protocol";
|
||||
import type { WorkingDirectorySummary } from "#lib/generated/workdir-api.ts";
|
||||
import type { SubscriptionWorkerWorkdirAttachment } from "#lib/generated/protocol.ts";
|
||||
|
||||
const SHORT_REFERENCE_LENGTH = 12;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
type SkillProvenance,
|
||||
type SkillResourceRef,
|
||||
type SkillSourceKind,
|
||||
} from "$lib/generated/skill-api.ts";
|
||||
} from "#lib/generated/skill-api.ts";
|
||||
|
||||
export class SkillApiContractError extends Error {
|
||||
constructor(message: string) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { BrowserWorkspaceOrchestratorResponse } from "$lib/generated/worker-launch-api";
|
||||
import type { BrowserWorkspaceOrchestratorResponse } from "#lib/generated/worker-launch-api.ts";
|
||||
import type {
|
||||
TicketDetail,
|
||||
TicketListItemSummary,
|
||||
} from "$lib/generated/ticket-api";
|
||||
} from "#lib/generated/ticket-api.ts";
|
||||
|
||||
export const TICKET_STATES = [
|
||||
"planning",
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
|
||||
<span
|
||||
class="tooltip-root"
|
||||
role="presentation"
|
||||
bind:this={rootElement}
|
||||
onpointerenter={showAfterDelay}
|
||||
onpointerleave={handlePointerLeave}
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
import { page } from '$app/state';
|
||||
import { setContext } from 'svelte';
|
||||
import { MediaQuery } from 'svelte/reactivity';
|
||||
import WorkspaceAlerts from '$lib/workspace/alerts/WorkspaceAlerts.svelte';
|
||||
import Bevel from '$lib/workspace/ui/Bevel.svelte';
|
||||
import WorkspaceAlerts from '#lib/workspace/alerts/WorkspaceAlerts.svelte';
|
||||
import Bevel from '#lib/workspace/ui/Bevel.svelte';
|
||||
import {
|
||||
provideHeaderController,
|
||||
type HeaderController,
|
||||
type HeaderSnippet,
|
||||
} from '$lib/workspace/header/context';
|
||||
import GlobalSidebar from '$lib/workspace/sidebar/GlobalSidebar.svelte';
|
||||
import SidebarFrame from '$lib/workspace/sidebar/SidebarFrame.svelte';
|
||||
import SidebarToggleIcon from '$lib/workspace/sidebar/SidebarToggleIcon.svelte';
|
||||
import { SIDEBAR_CONTEXT, type SidebarController, type SidebarSnippet } from '$lib/workspace/sidebar/context';
|
||||
import { createOverrideStack } from '$lib/workspace/sidebar/override-stack';
|
||||
} from '#lib/workspace/header/context.ts';
|
||||
import GlobalSidebar from '#lib/workspace/sidebar/GlobalSidebar.svelte';
|
||||
import SidebarFrame from '#lib/workspace/sidebar/SidebarFrame.svelte';
|
||||
import SidebarToggleIcon from '#lib/workspace/sidebar/SidebarToggleIcon.svelte';
|
||||
import { SIDEBAR_CONTEXT, type SidebarController, type SidebarSnippet } from '#lib/workspace/sidebar/context.ts';
|
||||
import { createOverrideStack } from '#lib/workspace/sidebar/override-stack.ts';
|
||||
import '../app.css';
|
||||
import type { LayoutProps } from './$types';
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { listWorkspaces } from "$lib/workspace/api/workspace-catalog";
|
||||
import type { LayoutLoad } from "./$types";
|
||||
import { listWorkspaces } from "#lib/workspace/api/workspace-catalog.ts";
|
||||
import type { Load } from "@sveltejs/kit";
|
||||
|
||||
export const ssr = false;
|
||||
|
||||
export const load: LayoutLoad = async ({ fetch }) => {
|
||||
export const load = (async ({ fetch }) => {
|
||||
try {
|
||||
return {
|
||||
accessibleWorkspaces: await listWorkspaces(fetch),
|
||||
@@ -17,4 +17,4 @@ export const load: LayoutLoad = async ({ fetch }) => {
|
||||
: "Unable to load Workspaces",
|
||||
};
|
||||
}
|
||||
};
|
||||
}) satisfies Load;
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
loadWorkspaceCatalog,
|
||||
type CreateWorkspaceRequest,
|
||||
type WorkspaceCatalogItem,
|
||||
} from "$lib/workspace/api/workspace-catalog";
|
||||
import "$lib/workspace/styles/workspace-catalog.css";
|
||||
} from "#lib/workspace/api/workspace-catalog.ts";
|
||||
import "#lib/workspace/styles/workspace-catalog.css";
|
||||
|
||||
let { data } = $props();
|
||||
let workspaces = $state<WorkspaceCatalogItem[]>([]);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { PageLoad } from "./$types";
|
||||
import { loadWorkspaceCatalog } from "$lib/workspace/api/workspace-catalog";
|
||||
import { loadWorkspaceCatalog } from "#lib/workspace/api/workspace-catalog.ts";
|
||||
|
||||
export const load: PageLoad = async ({ fetch }) => {
|
||||
try {
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
loginWithPasskey,
|
||||
logout,
|
||||
registerPasskey,
|
||||
} from '$lib/workspace/auth/api';
|
||||
import '$lib/workspace/styles/settings.css';
|
||||
import type { RequestActor } from '$lib/workspace/auth/model';
|
||||
} from '#lib/workspace/auth/api.ts';
|
||||
import '#lib/workspace/styles/settings.css';
|
||||
import type { RequestActor } from '#lib/workspace/auth/model.ts';
|
||||
|
||||
let actor = $state<RequestActor | null>(null);
|
||||
let handle = $state('local');
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/state';
|
||||
import { setContext } from 'svelte';
|
||||
import HeaderOverride from '$lib/workspace/header/HeaderOverride.svelte';
|
||||
import SidebarOverride from '$lib/workspace/sidebar/SidebarOverride.svelte';
|
||||
import HeaderOverride from '#lib/workspace/header/HeaderOverride.svelte';
|
||||
import SidebarOverride from '#lib/workspace/sidebar/SidebarOverride.svelte';
|
||||
import {
|
||||
getSidebarController,
|
||||
SIDEBAR_CONTEXT,
|
||||
type SidebarController,
|
||||
type SidebarSnippet,
|
||||
} from '$lib/workspace/sidebar/context';
|
||||
import { createOverrideStack } from '$lib/workspace/sidebar/override-stack';
|
||||
import { ownsRoutePath } from '$lib/workspace/sidebar/route-ownership';
|
||||
} from '#lib/workspace/sidebar/context.ts';
|
||||
import { createOverrideStack } from '#lib/workspace/sidebar/override-stack.ts';
|
||||
import { ownsRoutePath } from '#lib/workspace/sidebar/route-ownership.ts';
|
||||
import WorkspaceSidebarFixture from './WorkspaceSidebarFixture.svelte';
|
||||
import { designLabBasePath } from './workspace-navigation';
|
||||
import './showroom.css';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import Bevel from '$lib/workspace/ui/Bevel.svelte';
|
||||
import BevelLine from '$lib/workspace/ui/BevelLine.svelte';
|
||||
import Tooltip from '$lib/workspace/ui/Tooltip.svelte';
|
||||
import Bevel from '#lib/workspace/ui/Bevel.svelte';
|
||||
import BevelLine from '#lib/workspace/ui/BevelLine.svelte';
|
||||
import Tooltip from '#lib/workspace/ui/Tooltip.svelte';
|
||||
</script>
|
||||
|
||||
<div class="showroom">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import type { Snippet } from 'svelte';
|
||||
import { ownsRoutePath } from '$lib/workspace/sidebar/route-ownership';
|
||||
import { ownsRoutePath } from '#lib/workspace/sidebar/route-ownership.ts';
|
||||
import { designLabBasePath, workspaceNavigation, workspaceWorkers } from './workspace-navigation';
|
||||
|
||||
let {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/state';
|
||||
import { setContext } from 'svelte';
|
||||
import SidebarOverride from '$lib/workspace/sidebar/SidebarOverride.svelte';
|
||||
import SidebarOverride from '#lib/workspace/sidebar/SidebarOverride.svelte';
|
||||
import {
|
||||
getSidebarController,
|
||||
SIDEBAR_CONTEXT,
|
||||
type SidebarController,
|
||||
type SidebarSnippet,
|
||||
} from '$lib/workspace/sidebar/context';
|
||||
import { createOverrideStack } from '$lib/workspace/sidebar/override-stack';
|
||||
import { ownsRoutePath } from '$lib/workspace/sidebar/route-ownership';
|
||||
} from '#lib/workspace/sidebar/context.ts';
|
||||
import { createOverrideStack } from '#lib/workspace/sidebar/override-stack.ts';
|
||||
import { ownsRoutePath } from '#lib/workspace/sidebar/route-ownership.ts';
|
||||
import SettingsSidebarFixture from './SettingsSidebarFixture.svelte';
|
||||
import { designLabBasePath } from '../workspace-navigation';
|
||||
import type { LayoutProps } from './$types';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import Bevel from '$lib/workspace/ui/Bevel.svelte';
|
||||
import BevelLine from '$lib/workspace/ui/BevelLine.svelte';
|
||||
import Tooltip from '$lib/workspace/ui/Tooltip.svelte';
|
||||
import Bevel from '#lib/workspace/ui/Bevel.svelte';
|
||||
import BevelLine from '#lib/workspace/ui/BevelLine.svelte';
|
||||
import Tooltip from '#lib/workspace/ui/Tooltip.svelte';
|
||||
|
||||
function keepSampleFormLocal(event: SubmitEvent) {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
approveDeviceLogin,
|
||||
loadWhoami,
|
||||
loginWithPasskey,
|
||||
} from '$lib/workspace/auth/api';
|
||||
import '$lib/workspace/styles/settings.css';
|
||||
import type { RequestActor } from '$lib/workspace/auth/model';
|
||||
} from '#lib/workspace/auth/api.ts';
|
||||
import '#lib/workspace/styles/settings.css';
|
||||
import type { RequestActor } from '#lib/workspace/auth/model.ts';
|
||||
|
||||
let actor = $state<RequestActor | null>(null);
|
||||
let handle = $state('local');
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { cleanup, fireEvent, render, screen } from "@testing-library/svelte";
|
||||
import { afterEach, beforeEach, expect, test, vi } from "vitest";
|
||||
import { createRawSnippet, tick } from "svelte";
|
||||
import { logout } from "$lib/workspace/auth/api";
|
||||
import { logout } from "#lib/workspace/auth/api.ts";
|
||||
import Layout from "./+layout.svelte";
|
||||
|
||||
vi.mock("$app/state", () => ({ page: { url: new URL("https://example.test/") } }));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { page } from "$app/state";
|
||||
import "$lib/workspace/styles/workspace-catalog.css";
|
||||
import "#lib/workspace/styles/workspace-catalog.css";
|
||||
|
||||
const workspaceId = $derived(page.params.workspaceId ?? "unknown");
|
||||
</script>
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<script lang="ts">
|
||||
import { setContext } from 'svelte';
|
||||
import { page } from '$app/state';
|
||||
import HeaderOverride from '$lib/workspace/header/HeaderOverride.svelte';
|
||||
import WorkspaceBreadcrumbs from '$lib/workspace/header/WorkspaceBreadcrumbs.svelte';
|
||||
import SidebarOverride from '$lib/workspace/sidebar/SidebarOverride.svelte';
|
||||
import HeaderOverride from '#lib/workspace/header/HeaderOverride.svelte';
|
||||
import WorkspaceBreadcrumbs from '#lib/workspace/header/WorkspaceBreadcrumbs.svelte';
|
||||
import SidebarOverride from '#lib/workspace/sidebar/SidebarOverride.svelte';
|
||||
import {
|
||||
getSidebarController,
|
||||
SIDEBAR_CONTEXT,
|
||||
type SidebarController,
|
||||
type SidebarSnippet,
|
||||
} from '$lib/workspace/sidebar/context';
|
||||
import { createOverrideStack } from '$lib/workspace/sidebar/override-stack';
|
||||
import { ownsRoutePath } from '$lib/workspace/sidebar/route-ownership';
|
||||
import { workspaceRoute } from '$lib/workspace/api/http';
|
||||
import { disposeWorkspaceMultiplexer } from '$lib/workspace/multiplexer';
|
||||
import { disposeWorkspaceWorkersStore } from '$lib/workspace/sidebar/worker-subscription';
|
||||
import WorkspaceSidebar from '$lib/workspace/sidebar/WorkspaceSidebar.svelte';
|
||||
import '$lib/workspace/styles/workspace-pages.css';
|
||||
import '$lib/workspace/styles/tickets.css';
|
||||
import '$lib/workspace/styles/workers.css';
|
||||
} from '#lib/workspace/sidebar/context.ts';
|
||||
import { createOverrideStack } from '#lib/workspace/sidebar/override-stack.ts';
|
||||
import { ownsRoutePath } from '#lib/workspace/sidebar/route-ownership.ts';
|
||||
import { workspaceRoute } from '#lib/workspace/api/http.ts';
|
||||
import { disposeWorkspaceMultiplexer } from '#lib/workspace/multiplexer.ts';
|
||||
import { disposeWorkspaceWorkersStore } from '#lib/workspace/sidebar/worker-subscription.ts';
|
||||
import WorkspaceSidebar from '#lib/workspace/sidebar/WorkspaceSidebar.svelte';
|
||||
import '#lib/workspace/styles/workspace-pages.css';
|
||||
import '#lib/workspace/styles/tickets.css';
|
||||
import '#lib/workspace/styles/workers.css';
|
||||
import type { LayoutProps } from './$types';
|
||||
|
||||
let { data, children }: LayoutProps = $props();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { error } from "@sveltejs/kit";
|
||||
import { loadJson, workspaceApiPath } from "$lib/workspace/api/http";
|
||||
import { loadWorkspaceRepositoryList } from "$lib/workspace/api/repositories";
|
||||
import { parseWorkspaceResponse } from "$lib/workspace/api/workspace-model";
|
||||
import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts";
|
||||
import { loadWorkspaceRepositoryList } from "#lib/workspace/api/repositories.ts";
|
||||
import { parseWorkspaceResponse } from "#lib/workspace/api/workspace-model.ts";
|
||||
import type { LayoutLoad } from "./$types";
|
||||
|
||||
export const load: LayoutLoad = async ({ fetch, params }) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { invalidate } from '$app/navigation';
|
||||
import DashboardSection from '$lib/workspace/home/DashboardSection.svelte';
|
||||
import DashboardSection from '#lib/workspace/home/DashboardSection.svelte';
|
||||
import type { PageProps } from './$types';
|
||||
|
||||
let { data }: PageProps = $props();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { loadDashboard } from "$lib/workspace/home/dashboard";
|
||||
import { loadDashboard } from "#lib/workspace/home/dashboard.ts";
|
||||
import type { PageLoad } from "./$types";
|
||||
|
||||
export const load: PageLoad = ({ fetch, params, depends }) => {
|
||||
|
||||
@@ -16,11 +16,11 @@ import {
|
||||
type DashboardFeed,
|
||||
loadDashboard,
|
||||
recentRows,
|
||||
} from "$lib/workspace/home/dashboard";
|
||||
} from "#lib/workspace/home/dashboard.ts";
|
||||
import {
|
||||
dashboardFixture,
|
||||
fixtureDetail,
|
||||
} from "$lib/workspace/home/dashboard.test-fixtures";
|
||||
} from "#lib/workspace/home/dashboard.test-fixtures.ts";
|
||||
|
||||
vi.mock("$app/navigation", () => ({ invalidate: vi.fn(async () => {}) }));
|
||||
type Data = ComponentProps<typeof Home>["data"];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import DocumentMarkdown from '$lib/workspace/markdown/DocumentMarkdown.svelte';
|
||||
import { formatDate } from '$lib/workspace/api/http';
|
||||
import DocumentMarkdown from '#lib/workspace/markdown/DocumentMarkdown.svelte';
|
||||
import { formatDate } from '#lib/workspace/api/http.ts';
|
||||
import type { PageProps } from './$types';
|
||||
|
||||
let { data }: PageProps = $props();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { MEMORY_API_LIMITS } from "$lib/generated/memory-api";
|
||||
import { loadJson, workspaceApiPath } from "$lib/workspace/api/http";
|
||||
import { parseMemoryDocumentResponse } from "$lib/workspace/memory/api";
|
||||
import { MEMORY_API_LIMITS } from "#lib/generated/memory-api.ts";
|
||||
import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts";
|
||||
import { parseMemoryDocumentResponse } from "#lib/workspace/memory/api.ts";
|
||||
import type { PageLoad } from "./$types";
|
||||
|
||||
export const load: PageLoad = async ({ fetch, params }) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import type { MemoryStagingEntry, MemoryStagingRecord } from '$lib/generated/memory-api';
|
||||
import type { MemoryStagingEntry, MemoryStagingRecord } from '#lib/generated/memory-api.ts';
|
||||
import type { PageProps } from './$types';
|
||||
|
||||
let { data }: PageProps = $props();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { MEMORY_API_LIMITS } from "$lib/generated/memory-api";
|
||||
import { loadJson, workspaceApiPath } from "$lib/workspace/api/http";
|
||||
import { parseMemoryStagingListResponse } from "$lib/workspace/memory/api";
|
||||
import { MEMORY_API_LIMITS } from "#lib/generated/memory-api.ts";
|
||||
import { loadJson, workspaceApiPath } from "#lib/workspace/api/http.ts";
|
||||
import { parseMemoryStagingListResponse } from "#lib/workspace/memory/api.ts";
|
||||
import type { PageLoad } from "./$types";
|
||||
|
||||
export const load: PageLoad = async ({ fetch, params }) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { mergeRequestPagePath } from "$lib/workspace/api/merge-requests";
|
||||
import { mergeRequestPagePath } from "#lib/workspace/api/merge-requests.ts";
|
||||
import type { PageData } from "./$types";
|
||||
|
||||
let { data }: { data: PageData } = $props();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user