diff --git a/packages/desktop/electron.vite.config.ts b/packages/desktop/electron.vite.config.ts index f6b14c0a05ba763fb2d5eeb8be7e1d17b03560eb..ad3f271ccac57448edac60d8f4d8cbe57dedd4ae 100644 --- a/packages/desktop/electron.vite.config.ts +++ b/packages/desktop/electron.vite.config.ts @@ -1,7 +1,7 @@ import path from "node:path" import { fileURLToPath } from "node:url" import { defineConfig, mergeConfig } from "electron-vite" -import extensionVite from "../../extension/vite.config.mjs" +import extensionVite from "../extension/vite.config.mjs" const desktopDir = path.dirname(fileURLToPath(import.meta.url)) const repoRoot = path.join(desktopDir, "..", "..") @@ -9,10 +9,10 @@ const appDir = path.join(repoRoot, "packages/app") const rendererDir = path.join(desktopDir, "src/renderer") const IDE_HOST_PORT = process.env.IDE_HOST_PORT ?? "3080" -const extensionConfig = - typeof extensionVite.default === "function" - ? extensionVite.default({ mode: process.env.NODE_ENV ?? "development", command: "serve" }) - : extensionVite.default +const extensionConfig = extensionVite({ + mode: process.env.NODE_ENV ?? "development", + command: "serve", +}) export default defineConfig({ main: { diff --git a/packages/desktop/tsconfig.json b/packages/desktop/tsconfig.json index c271604c16121d6222c938569e992bc5a832c2df..c55ff41001b1c777cce76b8d338dc435013b70e7 100644 --- a/packages/desktop/tsconfig.json +++ b/packages/desktop/tsconfig.json @@ -9,8 +9,17 @@ "jsx": "preserve", "jsxImportSource": "solid-js", "resolveJsonModule": true, + "paths": { + "@/*": ["../app/src/*"] + }, "types": ["vite/client", "node"] }, - "include": ["electron/**/*.ts", "src/**/*.ts", "src/**/*.tsx", "electron.vite.config.ts", "electron-builder.config.ts"], - "references": [{ "path": "./tsconfig.node.json" }] + "include": [ + "electron/**/*.ts", + "src/**/*.ts", + "src/**/*.tsx", + "../app/src/env.d.ts", + "electron.vite.config.ts", + "electron-builder.config.ts" + ] } diff --git a/packages/extension/src/lib/conversation-context-mount-format.ts b/packages/extension/src/lib/conversation-context-mount-format.ts index b598b9ad8f8ca674cafe922b82720501dfd6efca..a924374cac2b480f54f05dfdce1a1b59439a3b19 100644 --- a/packages/extension/src/lib/conversation-context-mount-format.ts +++ b/packages/extension/src/lib/conversation-context-mount-format.ts @@ -24,8 +24,13 @@ export function formatApiMount(entry: ApiWikiEntry, snippet?: string): string { return wrapMount("api", entry.name, lines.join("\n")) } -export function formatFindingMount(finding: ReviewFinding, pull?: Pick): string { - const header = pull ? `[PR !${pull.number}] ${pull.title}` : "[Review Finding]" +export function formatFindingMount( + finding: ReviewFinding, + pull?: { number: TaskPullSummary["number"]; title?: TaskPullSummary["title"] }, +): string { + const header = pull + ? `[PR !${pull.number}]${pull.title ? ` ${pull.title}` : ""}` + : "[Review Finding]" const lines = [ header, `级别: ${finding.level}`, diff --git a/packages/extension/src/lib/ubml-preview-tab-store.ts b/packages/extension/src/lib/ubml-preview-tab-store.ts index 6ba9eb66083eb78e8258415e764d852e84412240..d19844b91471729bb8a1635a75b3e8823d9d1cb1 100644 --- a/packages/extension/src/lib/ubml-preview-tab-store.ts +++ b/packages/extension/src/lib/ubml-preview-tab-store.ts @@ -1,4 +1,4 @@ -import { createStore } from "solid-js/store" +import { createStore, produce } from "solid-js/store" import type { UbmlTrace } from "./ubml-yaml-trace-locate" export type UbmlValidationIssue = { @@ -53,23 +53,17 @@ export function setPreviewYamlExpanded(tabId: string, expanded: boolean) { } export function clearUbmlPreviewTab(tabId: string) { - setUbmlPreviewTabStore((store) => { - const next = { ...store } - for (const key of [ - "models", - "yamls", - "yamlPaths", - "pendingByTab", - "selectedLineByTab", - "yamlExpandedByTab", - "previewKeysByTab", - ] as const) { - const bucket = { ...next[key] } - delete bucket[tabId] - next[key] = bucket - } - return next - }) + setUbmlPreviewTabStore( + produce((store) => { + delete store.models[tabId] + delete store.yamls[tabId] + delete store.yamlPaths[tabId] + delete store.pendingByTab[tabId] + delete store.selectedLineByTab[tabId] + delete store.yamlExpandedByTab[tabId] + delete store.previewKeysByTab[tabId] + }), + ) } export function getUbmlPreviewTabModel(tabId: string): Record | undefined { diff --git a/packages/extension/src/overrides/entry.tsx b/packages/extension/src/overrides/entry.tsx index cd6bef3c8ea006ed9d054f91f9f8474d14ae5192..0c8e20301716bc83b13e5ef5637d4e9d89927e66 100644 --- a/packages/extension/src/overrides/entry.tsx +++ b/packages/extension/src/overrides/entry.tsx @@ -8,7 +8,7 @@ import { dict as en } from "@/i18n/en" import { dict as zh } from "@/i18n/zh" import { handleNotificationClick } from "@/utils/notification-click" import { authFromToken } from "@/utils/server" -import pkg from "/package.json" +import pkg from "../../../app/package.json" import { ServerConnection } from "@/context/server" import { SystemColorSchemeSync } from "../components/system-color-scheme-sync" import { BRAND } from "../brand" diff --git a/packages/extension/src/overrides/pages/new-session.tsx b/packages/extension/src/overrides/pages/new-session.tsx index c406df70c9fba683abc4d0a937a323764d2519bf..fd9a2bae1b0aa6c219101a6fcd1859ece792419b 100644 --- a/packages/extension/src/overrides/pages/new-session.tsx +++ b/packages/extension/src/overrides/pages/new-session.tsx @@ -45,7 +45,7 @@ export default function NewSessionPage() { createEffect(() => { if (!prompt.ready()) return - const draftId = searchParams.draftId + const draftId = searchParams.draftId ?? "" if (!draftId) return let cancelled = false diff --git a/packages/extension/src/pages/layout/right-panel-preview.tsx b/packages/extension/src/pages/layout/right-panel-preview.tsx index 67ae31c0b6e29a1b0158a7b13cb744e58088a0a0..234ca37a33434706c4d3239c5f978dd65103fdab 100644 --- a/packages/extension/src/pages/layout/right-panel-preview.tsx +++ b/packages/extension/src/pages/layout/right-panel-preview.tsx @@ -73,18 +73,13 @@ export function PreviewTabContent(props: { tabId?: string; active?: boolean }) { }} /> - {() => { - const id = tabId()! - return ( - - ) - }} + diff --git a/packages/extension/src/pages/workbench/mission-review-block.tsx b/packages/extension/src/pages/workbench/mission-review-block.tsx index a57902af7a22fc6d268869239634c738dd33d3db..b563431facf092947a1cd33bd478d4639cd4d3b7 100644 --- a/packages/extension/src/pages/workbench/mission-review-block.tsx +++ b/packages/extension/src/pages/workbench/mission-review-block.tsx @@ -402,7 +402,7 @@ export function MissionReviewBlock(props: { { + onClick={(e: MouseEvent) => { e.stopPropagation() openReplyPreview() }} @@ -414,7 +414,7 @@ export function MissionReviewBlock(props: { { + onClick={(e: MouseEvent) => { e.stopPropagation() void dispatchFix() }} diff --git a/packages/extension/src/pages/workbench/workbench-items-store.ts b/packages/extension/src/pages/workbench/workbench-items-store.ts index 86159665d5c72c52d83917d34ebd36ae41866780..029a78b9935bc526f4c01f951d21f29bff6cd8f3 100644 --- a/packages/extension/src/pages/workbench/workbench-items-store.ts +++ b/packages/extension/src/pages/workbench/workbench-items-store.ts @@ -1,8 +1,10 @@ import { createStore } from "solid-js/store" import type { MissionSummary } from "../../lib/mission-control-client" +import type { WorkItem } from "../../lib/workbench-items" export const [workbenchItemsStore, setWorkbenchItemsStore] = createStore({ missions: [] as MissionSummary[], + items: [] as WorkItem[], attentionCount: 0, loading: false, error: undefined as string | undefined, @@ -15,6 +17,7 @@ export function workbenchAttentionCount() { export function resetWorkbenchItemsStore() { setWorkbenchItemsStore({ missions: [], + items: [], attentionCount: 0, loading: false, error: undefined, diff --git a/packages/extension/src/ubml/browser-context.ts b/packages/extension/src/ubml/browser-context.ts index 35b229eef371c184a34268dcb5a72d082cf2bc73..54d0f370b99c4343b2fa4daf1aa3248766bc21aa 100644 --- a/packages/extension/src/ubml/browser-context.ts +++ b/packages/extension/src/ubml/browser-context.ts @@ -40,7 +40,12 @@ export async function getBrowserCompileContext(): Promise { templates: { version: 1, generatedAt: "", - templates: templateIds.map((id) => ({ id })), + templates: templateIds.map((id) => ({ + id, + label: id, + demoSource: "", + skeleton: { regions: [] }, + })), }, components: { version: 1, diff --git a/packages/extension/tsconfig.json b/packages/extension/tsconfig.json index 8bb1591654e8aab06b71f1b02fa873c3b0842ca5..a101d682407eb7e09c4b6a7af3d74d7cf908c3ec 100644 --- a/packages/extension/tsconfig.json +++ b/packages/extension/tsconfig.json @@ -26,6 +26,6 @@ "@solid-primitives/timer": ["../app/node_modules/@solid-primitives/timer/dist/index.d.ts"] } }, - "include": ["src"], + "include": ["src", "../app/src/env.d.ts"], "exclude": ["src/**/*.test.ts"] } diff --git a/packages/extension/vite.config.d.mts b/packages/extension/vite.config.d.mts new file mode 100644 index 0000000000000000000000000000000000000000..d6c85a8526936822e38bb92c04b816b09008199a --- /dev/null +++ b/packages/extension/vite.config.d.mts @@ -0,0 +1,5 @@ +import type { ConfigEnv, UserConfig } from "vite" + +declare const config: (env: ConfigEnv) => UserConfig + +export default config diff --git a/packages/knowledge/src/control/mission-pull-match.test.ts b/packages/knowledge/src/control/mission-pull-match.test.ts index a7519c71d92ff19ae4dc19ff3314822aaad5bff3..3fa0c2c4c85c2c537816e87075ca92f64012871d 100644 --- a/packages/knowledge/src/control/mission-pull-match.test.ts +++ b/packages/knowledge/src/control/mission-pull-match.test.ts @@ -17,6 +17,7 @@ function mission(partial: Partial & Pick): Miss kind: "feature", origin: "gitee_issue", state: "in_progress", + stateHistory: [], sessions: [], createdAt: "2026-01-01", updatedAt: "2026-01-01", diff --git a/packages/knowledge/src/control/mission-store.ts b/packages/knowledge/src/control/mission-store.ts index da110dff9c27da7012ef81f1c4a2381946ed5356..bae0894fd93d4e5fa6d6f18f81783a9708da7a0a 100644 --- a/packages/knowledge/src/control/mission-store.ts +++ b/packages/knowledge/src/control/mission-store.ts @@ -73,10 +73,11 @@ export function newMissionId(): string { } export async function upsertMission( - input: Omit & { + input: Omit & { createdAt?: string updatedAt?: string stateHistory?: StateTransition[] + sessions?: SessionRef[] }, config: ResolvedConfig = resolveConfig(), ): Promise { diff --git a/packages/knowledge/src/control/ubml-bundle-routes.ts b/packages/knowledge/src/control/ubml-bundle-routes.ts index 6ac3afb5471af7a48d06951056f1df71381b6e95..e139530e79320e6f213e00c387ba80e0c190fd61 100644 --- a/packages/knowledge/src/control/ubml-bundle-routes.ts +++ b/packages/knowledge/src/control/ubml-bundle-routes.ts @@ -1,3 +1,4 @@ +import type { Dirent } from "node:fs" import { readdir, readFile } from "node:fs/promises" import { join, relative, resolve } from "node:path" import { normalizeProjectDir } from "./project-store" @@ -97,7 +98,7 @@ export async function discoverUbmlGeneratedBundles( const generatedRoot = resolve(dir, scopedUbmlGeneratedRoot(subPath)) assertWithinProject(dir, generatedRoot) - let entries: string[] + let entries: Dirent[] try { entries = await readdir(generatedRoot, { withFileTypes: true }) } catch { diff --git a/packages/knowledge/src/farris/tools/kb-farris-component.ts b/packages/knowledge/src/farris/tools/kb-farris-component.ts index bb2b5254c15a260735ee384736f089fa819eb761..a312e7b0bda448147d6d30d048213abcb8d1e375 100644 --- a/packages/knowledge/src/farris/tools/kb-farris-component.ts +++ b/packages/knowledge/src/farris/tools/kb-farris-component.ts @@ -123,9 +123,13 @@ export async function kbComponentHandler( // ── query-solution:_loop_data.query_fields 补全 + fields/presetFields 回写 editor ── if (name === "query-solution") { - if (Array.isArray(p._loop_data?.query_fields)) { - const rawQf = p._loop_data.query_fields as Array> - p._loop_data = { ...p._loop_data, query_fields: rawQf.map(fieldToLoopItem) } + const queryLoopData = + p._loop_data && typeof p._loop_data === "object" && !Array.isArray(p._loop_data) + ? (p._loop_data as Record) + : undefined + if (Array.isArray(queryLoopData?.query_fields)) { + const rawQf = queryLoopData.query_fields as Array> + p._loop_data = { ...queryLoopData, query_fields: rawQf.map(fieldToLoopItem) } } if (Array.isArray(p.fields)) { p.fields = enrichFieldsWithEditor(p.fields as Array>) diff --git a/packages/knowledge/src/knowledge/http-route-extract.test.ts b/packages/knowledge/src/knowledge/http-route-extract.test.ts index 870d0cddc0b4c3ce5e279fbead2892fa8ad3982a..6ca327955f808640e4990f1ef5ae422a4312f820 100644 --- a/packages/knowledge/src/knowledge/http-route-extract.test.ts +++ b/packages/knowledge/src/knowledge/http-route-extract.test.ts @@ -74,9 +74,24 @@ describe("http route extract", () => { }) test("mergeHttpRoutesIntoCatalog replaces prior http-route entries", () => { - const base = buildApiCatalog("x", { repo: "x", symbols: [] } as SymbolsFile, { + const symbols: SymbolsFile = { version: 1, repo: "x", symbols: [] } + const catalog: CatalogFile = { + version: 1, + repo: "x", + indexedAt: "", + languages: [], + entrypoints: [], modules: [], - } as CatalogFile, { edges: {}, reverse: {} } as GraphFile) + } + const graph: GraphFile = { + version: 1, + repo: "x", + edges: {}, + reverse: {}, + nodeCount: 0, + edgeCount: 0, + } + const base = buildApiCatalog("x", symbols, catalog, graph) const merged = mergeHttpRoutesIntoCatalog(base, [ { id: "http-route:GET-/mission/:1", diff --git a/packages/knowledge/src/knowledge/ubml-pack.ts b/packages/knowledge/src/knowledge/ubml-pack.ts index 3ef7d0ae8658a920802b024bd5f5741af5a8b74f..03f44c42168435fa867cff7e358211bb14786821 100644 --- a/packages/knowledge/src/knowledge/ubml-pack.ts +++ b/packages/knowledge/src/knowledge/ubml-pack.ts @@ -268,9 +268,9 @@ export class UbmlPackService { version: 1, ready: true, indexedAt: new Date().toISOString(), - packGeneratedAt: components.generatedAt, - componentCount: components.components.length, - templateCount: templates.templates.length, + packGeneratedAt: componentsIndex?.generatedAt ?? templatesIndex?.generatedAt, + componentCount: farrisComponents.length || componentsIndex?.components.length || 0, + templateCount: farrisTemplates.length || templatesIndex?.templates.length || 0, exemplarCount: exemplars.length, assetsDir, } diff --git a/packages/knowledge/src/ubml-plan-enrich.ts b/packages/knowledge/src/ubml-plan-enrich.ts index f212e8c068192401180aa66dc0aa184051d94d1a..1ca82e3895d3ca93d58f9fd4479f54efb82b93b9 100644 --- a/packages/knowledge/src/ubml-plan-enrich.ts +++ b/packages/knowledge/src/ubml-plan-enrich.ts @@ -149,7 +149,7 @@ export function enrichUbmlSurfacePlan( const defaultFile = layer.key === "page" ? inferPageFile(task, entityName) - : layer.file(entityName, task) + : layer.file(entityName) const resolvedFile = layer.key === "be" && hasFilePattern(allFiles, layer.pattern) ? (allFiles.find((file) => layer.pattern.test(file)) ?? defaultFile) diff --git a/packages/sdk/js/tsconfig.tsbuildinfo b/packages/sdk/js/tsconfig.tsbuildinfo deleted file mode 100644 index 409c5bdfd24864091eb5e5b899fd0ad2b4bcc504..0000000000000000000000000000000000000000 --- a/packages/sdk/js/tsconfig.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"version":"7.0.0-dev.20251207.1","root":[[62,77],[186,208]],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.esnext.disposable.d.ts","lib.esnext.float16.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","./src/gen/types.gen.ts","./src/gen/core/auth.gen.ts","./src/gen/core/pathserializer.gen.ts","./src/gen/core/bodyserializer.gen.ts","./src/gen/core/types.gen.ts","./src/gen/core/serversentevents.gen.ts","./src/gen/core/utils.gen.ts","./src/gen/client/utils.gen.ts","./src/gen/client/types.gen.ts","./src/gen/client/client.gen.ts","./src/gen/core/params.gen.ts","./src/gen/client/index.ts","./src/gen/client.gen.ts","./src/gen/sdk.gen.ts","./src/error-interceptor.ts","./src/client.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/globals.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/header.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/client.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/api.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/util.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.bun/undici-types@7.16.0/node_modules/undici-types/index.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/assert.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/buffer.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/child_process.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/cluster.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/console.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/constants.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/crypto.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/dgram.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/dns.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/domain.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/events.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/fs.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/http.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/http2.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/https.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/inspector.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/module.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/net.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/os.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/path.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/process.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/punycode.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/querystring.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/readline.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/repl.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/sea.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/stream.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/test.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/timers.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/tls.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/tty.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/url.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/util.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/v8.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/vm.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/wasi.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/zlib.d.ts","../../../node_modules/.bun/@types+node@24.12.2/node_modules/@types/node/index.d.ts","../../../node_modules/.bun/@types+cross-spawn@6.0.6/node_modules/@types/cross-spawn/index.d.ts","./src/process.ts","./src/server.ts","./src/index.ts","./src/gen/core/querykeyserializer.gen.ts","./src/v2/gen/types.gen.ts","./src/v2/gen/core/auth.gen.ts","./src/v2/gen/core/pathserializer.gen.ts","./src/v2/gen/core/bodyserializer.gen.ts","./src/v2/gen/core/types.gen.ts","./src/v2/gen/core/serversentevents.gen.ts","./src/v2/gen/core/utils.gen.ts","./src/v2/gen/client/utils.gen.ts","./src/v2/gen/client/types.gen.ts","./src/v2/gen/client/client.gen.ts","./src/v2/gen/core/params.gen.ts","./src/v2/gen/core/querykeyserializer.gen.ts","./src/v2/gen/client/index.ts","./src/v2/gen/client.gen.ts","./src/v2/gen/sdk.gen.ts","./src/v2/client.ts","./src/v2/data.ts","./src/v2/server.ts","./src/v2/index.ts"],"fileInfos":[{"version":"71cf8049ea8d435bcdf47408dac2525c","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"24660545bd04f64286946ca58f9461fc","impliedNodeFormat":99},{"version":"006807822602069b83b496ad7e25e6ca","impliedNodeFormat":99},{"version":"4d9b146f28d6be2c3542b08b595febfe","impliedNodeFormat":99},{"version":"455ea9b314b4d327c535fb65bd954959","impliedNodeFormat":99},{"version":"c079fccc6ede08aa4f8ca702c3ba328e","impliedNodeFormat":99},{"version":"c349310240662575d10e855fb8cff0b9","impliedNodeFormat":99},{"version":"4ccba7d48aa8b5a54b56f9a48b076496","impliedNodeFormat":99},{"version":"92ef9b8df31d3a08512928a3066d8fa9","impliedNodeFormat":99},{"version":"9cf691967d2e0b0210f5864fdf1ad87a","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"8485851ca9672f7054ee1193bc9229b5","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"751a26973b059fed1d0ecc4b02a0aa43","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"be28f9bf546cb528601aaa04d7034fc8","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"3bc4e9a53ee556f3dc15abc1179278dd","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"2c63fa39e2cdd849306f21679fdac8b1","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"e1a9f024b1a69565194afcdb4b57ef1d","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"9fa1fffd5b2b67d8d8c33e295cb91a9f","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"4d8ab857b044eaa0661bd0aebebc038b","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"748df784ad0b12a20c5f5ce011418c3c","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"1f3a8dca322a95bc3ffc20a28e72893a","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"d901677b09e934598f913e2c05f827b0","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"ab7a40e3c7854c54c6f329376cf3f9b6","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"00ece0060faf280c5873f3cfe62d7d19","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"cf5a418e3fbdb27a784c5fc37be6797a","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"a73a6f599fda19ffee929d4386bab691","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"14475f4288b8cf4a098c2806834a1c0b","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"fbae9331a88fa1a8a336fe90253cbbc7","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"d4124f01474cfa693099d8be321979e4","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"e3e80cf65ee855fd4a5813ea19701f93","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"cd8650f4caf8166f19fd93217907da21","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"c39604220a24016cb90fe3094a6b4b56","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"2652c52b1c748791681ca0a4d751b09b","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"9540816cf2a3418a9254e43f1055e767","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"f9616d828e6afe0f8146e9ac3b33fa59","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"4f00a6f131995907fe9b0faf4dbabc18","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"47f85dd672027fda65064cbfee6b2d71","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"8adddec358b9acfa3d65fd4d2013ac84","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"8170fe225cf3b8b74c06f1fe8913924f","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"c9dbd0e301b2bd8fc6d5dcb75dc61ec4","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"3a64170086e7ddb980f07478f95f7c49","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"a804e69080dc542b8de4079fdde7ebef","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"783d6e41b4c30cc983d131b2f413044a","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"11b11ae792c173835b03d064a0853462","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"4cdc220ae24b55dcc69d30252c36ce9d","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"36fd93eca51199e9dfee76d7dbbf2719","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"7fc46463d5c6871146e3aac105f21a2d","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"21ed16210f33f30f1e2df6dd5bc584d9","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"b2d1055a33f1612669aed4b1c06ab438","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"6779bb060769fcc1b3063d7d6dacca83","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"5de91aed11cf11bbf79c2323600f2a28","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"2843d76b135201d1ba75d56f45238760","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"98afe632d712655c371691bc02dd15f8","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"e33a3b1212a9f61f3d7229e068573681","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"2be269e94382bba86f42d7d4109c6ddc","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"045bc80bcb8ba75cf56e2c9af4636a06","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"5c327c3a580ef35777e7f2b97b6b23e4","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"9965653fed0cc40aff9f23e6250e449a","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"6ff13a1f4d84ba0dfb73813250150f0a","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"43bb073f85094030dbdac6036ec860d0","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"45c91c5f844a9ee1df11d1b71c484b0e","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"39e009135c77d60baa790854b51d2195","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"09a956f372fe962c65c6a1b388fd11ce","impliedNodeFormat":99},{"version":"225d5b5d71c4b42dfec5725182a9b906","impliedNodeFormat":99},{"version":"d05496c4c9c68b425baa2856d21104bf","impliedNodeFormat":99},{"version":"e48b53dc5b797ea736d773b0795e636d","impliedNodeFormat":99},{"version":"79a4e3cc0abdacbadb804efe2ec7a221","impliedNodeFormat":99},{"version":"893b593b6152c4e48e9c89c3a24850b1","impliedNodeFormat":99},{"version":"78b94e539d2cf5f24e36dbac2c09db1e","impliedNodeFormat":99},{"version":"3075ee262e9e16f7ae2d51bc8b125629","impliedNodeFormat":99},{"version":"6076d940058018df7c1c4d9934b5f3d2","impliedNodeFormat":99},{"version":"b5b309d5fdf0c83c4b29bb928375989d","impliedNodeFormat":99},{"version":"94fff0075411de10a11f6bb6dfe8afc3","impliedNodeFormat":99},{"version":"7edd6738511ebaee0f6b00ee24d5556f","impliedNodeFormat":99},{"version":"2062d9cc87fa2f9cb65ab68a7707c9e9","impliedNodeFormat":99},{"version":"41cbaf4bdd3dcb074d8ae782634e0fad","impliedNodeFormat":99},{"version":"c4a133a616791e06523c455b5f18e5ec","impliedNodeFormat":99},{"version":"7c80dc2148e37e8644684cf23c6c42fc","impliedNodeFormat":99},{"version":"2514e9a2749c0fc18d2f478e9e1e641e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6ae4c332ecb24e76c1e47c0e21d4663d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"69ee0752d1e70c56ca160360425752a9","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bf33440030f0a0fae7d1efd6c293a8d2","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9af0a7e3ef1c42cd066b9f8d365cc1ba","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7b772cebc7136c34fc77954aef70519d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9eca652586205dc5b07f9ba57b1c8500","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ec5f75939754ce94652189ec7d0d3058","affectsGlobalScope":true,"impliedNodeFormat":1},"49133c0dfbc32ab95668c3443dea49e5","85c2cf74d24d4069fac4686501a2d7e3","83f416ded62bb31c035580c3b5a8d334","d261ae135609468365bc2d32742d3e0d","60c67c092ae78d2e7858ca0a88f54659","9508c917bd7e458745e222a82dd24ef0","fcd1a513c1e5802916fa602e8b8e64bc","9cf55e98366383279869ace31be98079","8e2bc11d0328ba95e490a741c44a215d","f36661bccb8b9a0b5ccb8539ae751cb3","705645fe223430c696f47b708d592ca8","28d57c837c94adb42add03d499793cab","8c01a9bbae8449be21b3e018d59a74ac","705c3696b9d9681bf22181718bb08ffc","679024f8e9f58a112f4badf119c4d612","16f740a706028e841b09fb8b1aa8faaf","e6828eaf960f006eb1adb6e7df8913c0","6fdde11403da5129f4388a489f361535","d7e5f7a0f1f883f28458f684106e7643","c2364011a80b6a9e3cc0e77895bad577","38da5c670190f4a35cbc204ca6c616bf","d95cc0eb29beed58f5ce72db21398f53","ecd53256b1ec7379c73316eaf392a69c","db5a9211b779628398011a5b8f5b8b5d","69c7bb9c3befe9ae37eed0e6a6310fee","1cba93fafccb7b2655f0e75229185e83","094ecadae30f65a82b77343dde77a666","f75df12d75dd783b03a0329b95abdb25","b438b08b2f0ed94a95a75c8990d9021b","771a77c9bec862600c95f7a563871b5e","c665284a9cb3dd886b14663cd04742e0","1c3833453f6ed0acab1b4663ccdbd310","0468c0ccd0ec7770b76481b165564d62","188234d616a4f50ed9b14c8f84a39f33","4c116bcf0a47ea8fbf4072f380925fa7","1948703c2f27e582e0a0cc37bd67a868","add85ec26ba695fc99c698dbec065f8c","73ba12091cff7d4499df83bbe40d777b","b744265d8ad12b7d4d5c5dc35d18d44e","eff32168b8348b822afeed9cbf61afa7","af51e27e980746d79714b72188b3ee40",{"version":"dd1cf1cc3aa21cd78b4869a44d98c6d9","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"292c9398a407b33b1d9c9812b673387a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"45df94b3c51b898624bacc2bcd6d9eb2","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7d352f71d1b1bcc12c79dd0e4597537c","affectsGlobalScope":true,"impliedNodeFormat":1},"db11b80743ed5356b81d763a708788e6","39078ea063fcaf72bd3cca7e0d13d017","f81aa09811fa65ac6f354ab0018d3c38",{"version":"282318b178d190157a4deacb14f3040a","affectsGlobalScope":true,"impliedNodeFormat":1},"aafe512c4216100fd65028f9b2afce83","54c5c3dcfdb5f7cf5fbbccfff6ead3fa",{"version":"dc14f078230582a2f8fb2138bfcf4f85","affectsGlobalScope":true,"impliedNodeFormat":1},"b2b472cd0bf0f8d5f022e00ca1c401f4","370d966b810b687a9e58851208cb3d4c","39b3089f3df8d14e0f2ddac0479872d9","cc7a57e86f908c313649aea8d90377e1","5c271f10d8a9b9a1206bc82a4fe5b84d","fbe31979333ec391d8b59e8f42236e8e","6f97553fd1690f568365155d4c51a3b5",{"version":"a3f111d2a29b6cdd04fc4b41aa560c86","affectsGlobalScope":true,"impliedNodeFormat":1},"5f4ac576bcdc670a8489c881b23a2b17","84c4165c4499465304988f5db8d9940a","02a1ccf1ef65bfbf65865ac4ce346974","86978b8f91524043f71ff8dfaf83288b","dbe700f7f1fa52fd220c7ee2c6617ebc","579675a2c3b0f8c532a82ad9cbd5d384","9b44005377cec9487e5f0d900bc5db46",{"version":"22dcb64768a46f60b07af6ec5e7752bb","affectsGlobalScope":true,"impliedNodeFormat":1},"11eadf9960dd2ac672499fe23507de45","c9053dbbe4fa2853f2d3f73b9a2fee81","4e458316a6083cbd2bba2fd29f674dd5",{"version":"3cccee1f2c106192d18ac4e08119f872","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"077a5affac1af2f5defdb142842fb031","affectsGlobalScope":true,"impliedNodeFormat":1},"6b26581aa2587701d570206a0db8c9ee","88a29e2aac8082c0910733950159e1ca","609d3ac6ba921e6e83c5da182c204fb8","0f80958d77cd6301b43c1d7904e3e4bc","3bdc645524ab0d2f6795d3a008833bd7","deb50b47eb75a5566532a763fa1324fa","0a463424e0a2a59373805ee224327d85","3e4ffe5f2733e0589b2612bd86f6cec3","c8206d568b54e5ea06131963eecd576a","15878f4f50c2e562c0768eb735c2aed5",{"version":"cb8f7733bee3d973c152a75fad9f6da6","affectsGlobalScope":true,"impliedNodeFormat":1},"dd404118e8bd70aff746f7d31e46270b","4b9ff1cc38cc2243605ecef78c80ef8b",{"version":"6b8649a280031d9e86955db721cfad87","affectsGlobalScope":true,"impliedNodeFormat":1},"4bc8f13c472858fb74f77388c0c5d885","eec349e50f6da0bc900cd9b243dadbc6","c72d2516d1e8910caca33c4dff75fcd4","f0231f36cb7117fbe9271ff19ef0f5f4",{"version":"acca246ee319503493a0a5f9d7db7fd8","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1aee62839c1ac0986904f19bdb93e3d8","affectsGlobalScope":true,"impliedNodeFormat":1},"a4a335f8e124cd5346b4579b47beec32","e9bc5b1de50e48fa9857b64091673883","9268959cff1006c82e6abbd73824db97",{"version":"7f738a67dc535e5476c63bf4ff0b9759","affectsGlobalScope":true,"impliedNodeFormat":1},"6b1f3649b0eabeaca20c778fcc5f270c","eb567c7b5824aab578f75bbccf9f4b05","3513387c5e28d80f2c842749c5a3393b",{"version":"132b178dc4128aa361da9b67957af938","impliedNodeFormat":99},{"version":"f631b730f39d043efdc6da9b6ab8f2a7","impliedNodeFormat":99},{"version":"ec7f50f18a31533e8ad306d49e5374b2","impliedNodeFormat":99},{"version":"39dc59405614cd1a7b9b0e4620372308","impliedNodeFormat":99},{"version":"0630d77b98f1a79db649bb15caf1435a","impliedNodeFormat":99},{"version":"225d5b5d71c4b42dfec5725182a9b906","impliedNodeFormat":99},{"version":"d05496c4c9c68b425baa2856d21104bf","impliedNodeFormat":99},{"version":"925ac6b741baa941dc193476618b6d18","impliedNodeFormat":99},{"version":"f2068ff2b4bb96c1178b7999175ec283","impliedNodeFormat":99},{"version":"9902373162e4269ae7ba06e0a2804667","impliedNodeFormat":99},{"version":"5176c68bfaf423244e3cfa466a34df3f","impliedNodeFormat":99},{"version":"08ec44dc25e6af507c5bb6c30094ec78","impliedNodeFormat":99},{"version":"18b45e14c30ee530870313b90c722d1f","impliedNodeFormat":99},{"version":"70f23df420fdb657d562f1eca5a958cd","impliedNodeFormat":99},{"version":"9fc998b34b8cfe96ea984ad2481a1369","impliedNodeFormat":99},{"version":"39dc59405614cd1a7b9b0e4620372308","impliedNodeFormat":99},{"version":"2bee98b633fefe37a08ca3acc3042911","impliedNodeFormat":99},{"version":"eaa46ef69ccff1e6b6c6446545393a61","impliedNodeFormat":99},{"version":"29e566469e75954270996938676a9a60","impliedNodeFormat":99},{"version":"63c6d0c9e62b049c377585d277087ebf","impliedNodeFormat":99},{"version":"a01c1f1f9a0c29d57f4dbe00fe64ffbc","impliedNodeFormat":99},{"version":"e911eeb954cc0b568c48ab7015adfc63","impliedNodeFormat":99},{"version":"d482172bf93d61dfedd39e689d6fbb27","impliedNodeFormat":99}],"fileIdsList":[[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[80,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,126,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[78,79,80,81,82,83,84,85,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,176,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,179,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183],[80,126,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,126,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182],[80,92,95,98,99,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,99,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,89,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,93,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,91,92,95,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,89,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[80,91,95,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,86,87,88,90,94,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,103,111,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,87,93,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,120,121,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,87,90,95,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[80,86,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,89,90,91,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,113,116,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,103,104,105,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,93,95,104,106,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,94,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,87,89,95,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,99,104,106,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,99,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,93,95,98,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,87,91,95,103,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,95,113,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,106,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[80,89,95,120,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[62,70,71,75,76,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[62,73,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[67,69,70,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[63,65,69,70,71,72,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[63,66,67,69,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[63,64,65,68,70,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[64,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[66,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[63,65,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[64,65,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[62,73,74,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[77,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,187],[62,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186],[76,80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,190,198,199,204],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,205],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,190,202],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,194,195,196,197,198],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,191,193,197,198,199,200,201],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,191,194,195,197],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,191,192,193,196,198],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,192],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,194],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,191,193],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,192,193],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,190,202,203],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,205,206,207],[80,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186,190]],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":199,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[185,1],[131,2],[132,3],[133,4],[80,5],[134,6],[135,7],[136,8],[78,9],[137,10],[138,11],[139,12],[140,13],[141,14],[142,15],[143,16],[144,17],[145,18],[146,19],[147,20],[81,9],[79,9],[148,21],[149,22],[150,23],[184,24],[151,25],[152,26],[153,27],[154,28],[155,29],[156,30],[157,31],[158,32],[159,33],[160,34],[161,35],[162,36],[163,37],[164,38],[165,39],[166,40],[168,41],[167,42],[169,43],[170,44],[171,45],[172,46],[173,47],[174,48],[175,49],[176,50],[177,51],[178,52],[179,53],[180,54],[181,55],[82,9],[83,9],[84,9],[85,9],[127,56],[128,9],[129,9],[130,9],[182,57],[183,58],[60,9],[61,9],[10,9],[11,9],[13,9],[12,9],[2,9],[14,9],[15,9],[16,9],[17,9],[18,9],[19,9],[20,9],[21,9],[3,9],[22,9],[23,9],[4,9],[24,9],[28,9],[25,9],[26,9],[27,9],[29,9],[30,9],[31,9],[5,9],[32,9],[33,9],[34,9],[35,9],[6,9],[39,9],[36,9],[37,9],[38,9],[40,9],[7,9],[41,9],[46,9],[47,9],[42,9],[43,9],[44,9],[45,9],[8,9],[51,9],[48,9],[49,9],[50,9],[52,9],[9,9],[53,9],[54,9],[55,9],[57,9],[56,9],[1,9],[58,9],[59,9],[103,59],[115,60],[101,61],[116,9],[125,62],[92,63],[93,64],[91,9],[124,1],[119,65],[123,66],[95,67],[112,68],[94,69],[122,70],[89,71],[90,65],[96,60],[97,9],[102,66],[100,60],[87,72],[126,73],[117,74],[106,75],[105,60],[107,76],[110,77],[104,78],[108,79],[120,1],[98,80],[99,81],[111,82],[88,9],[114,83],[113,60],[109,84],[118,9],[86,9],[121,85],[77,86],[76,9],[74,87],[71,88],[73,89],[70,90],[69,91],[63,9],[65,92],[72,9],[64,9],[189,9],[67,93],[66,94],[68,95],[75,96],[62,9],[188,97],[186,9],[187,98],[205,99],[206,100],[203,101],[199,102],[202,103],[198,104],[197,105],[191,9],[193,106],[200,9],[192,9],[201,9],[195,107],[194,108],[196,109],[204,110],[190,9],[208,111],[207,112]],"affectedFilesPendingEmit":[[77,17],[76,17],[74,17],[71,17],[73,17],[70,17],[69,17],[63,17],[65,17],[72,17],[64,17],[189,17],[67,17],[66,17],[68,17],[75,17],[62,17],[188,17],[186,17],[187,17],[205,17],[206,17],[203,17],[199,17],[202,17],[198,17],[197,17],[191,17],[193,17],[200,17],[192,17],[201,17],[195,17],[194,17],[196,17],[204,17],[190,17],[208,17],[207,17]],"emitSignatures":[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208]} \ No newline at end of file diff --git a/packages/ubml-codegen/src/app/decompile/decompile-app.ts b/packages/ubml-codegen/src/app/decompile/decompile-app.ts index c9ef770c518a34ea93965c935da2ae51fe81b3a5..cf8bc0571ebdf37cd577b2ffbb60bccc465d22b7 100644 --- a/packages/ubml-codegen/src/app/decompile/decompile-app.ts +++ b/packages/ubml-codegen/src/app/decompile/decompile-app.ts @@ -50,7 +50,7 @@ function inferPageType(code: string): string { function inferLogic(entityDsl: EntityDsl, components: ComponentItemDsl[]): string[] { const logic: string[] = [] - const rules = entityDsl.entity.rules + const rules = entityDsl.entity.root.rules for (const d of rules?.determinations ?? []) logic.push(d.code) for (const a of rules?.actions ?? []) logic.push(a.code) if (components.some((c) => c.kind === "writeback")) logic.push("writeback") diff --git a/packages/ubml-codegen/src/app/decompile/decompile-pageflow.ts b/packages/ubml-codegen/src/app/decompile/decompile-pageflow.ts index adc271745420bd743ef23b5debb0b0a8702c74f9..6495e9ebf363271cf2a3062a8724fb6dcbac6cd4 100644 --- a/packages/ubml-codegen/src/app/decompile/decompile-pageflow.ts +++ b/packages/ubml-codegen/src/app/decompile/decompile-pageflow.ts @@ -4,17 +4,16 @@ import type { JsonObject } from "../types" export function decompilePageflowJson(model: JsonObject): PageflowDsl { const header = model.Header as JsonObject const content = model.Content as JsonObject - const pages = ((content.pages as JsonObject[]) ?? []).map((p) => ({ + const sourcePages = (content.pages as JsonObject[] | undefined) ?? [] + const pages = sourcePages.map((p) => ({ frm: String(p.code ?? ""), route: String(p.routeUri ?? p.code ?? ""), name: typeof p.name === "string" ? p.name : undefined, formUri: p.formUri === null ? null : typeof p.formUri === "string" ? p.formUri : undefined, })) - const relativePath = - typeof pages[0]?.frm === "string" - ? String(((content.pages as JsonObject[])[0]?.relativePath as string | undefined) ?? "") - : undefined + const firstRelativePath = sourcePages[0]?.relativePath + const relativePath = typeof firstRelativePath === "string" ? firstRelativePath : "" return { pageflow: { diff --git a/packages/ubml-codegen/src/app/decompile/decompile-query.ts b/packages/ubml-codegen/src/app/decompile/decompile-query.ts index 1fca8e9acc8ec3568174e6ee45cee57c51f94da1..32ad6dab3af36080bb5ee59dde24e585cb09757a 100644 --- a/packages/ubml-codegen/src/app/decompile/decompile-query.ts +++ b/packages/ubml-codegen/src/app/decompile/decompile-query.ts @@ -53,7 +53,8 @@ export function decompileQueryJson(qoModel: JsonObject, beModel: JsonObject): Qu const prop = propsById.get(String(map.TargetQueryPropertyID ?? "")) if (!prop) continue const labelId = typeof prop.LabelID === "string" ? prop.LabelID : undefined - const srcId = String(map.SourceElementID ?? prop.FilterInfo?.SourceElementID ?? "") + const filterInfo = prop.FilterInfo as JsonObject | undefined + const srcId = String(map.SourceElementID ?? filterInfo?.SourceElementID ?? "") const fromPath = labelId && labelId.length > 0 ? `${dsCode}.${labelId}` diff --git a/packages/ubml-codegen/src/compiler/compile.ts b/packages/ubml-codegen/src/compiler/compile.ts index 90bf999db2c7e76d8aec3b441433868330913507..795fbc07f9e6beb5b81d3c85cb2c1b0283373850 100644 --- a/packages/ubml-codegen/src/compiler/compile.ts +++ b/packages/ubml-codegen/src/compiler/compile.ts @@ -264,9 +264,16 @@ function hasClassToken(cls: unknown, token: string): boolean { return cls.split(/\s+/).includes(token) } +function appearanceClass(node: FarrisNode): string { + const appearance = node.appearance + if (!appearance || typeof appearance !== "object" || Array.isArray(appearance)) return "" + const cls = (appearance as Record).class + return typeof cls === "string" ? cls : "" +} + /** True for `f-page-main` only — not `f-page-content-main`. */ function isExactPageMainNode(node: FarrisNode): boolean { - return node.id === "page-main-container" || hasClassToken(node.appearance?.class, "f-page-main") + return node.id === "page-main-container" || hasClassToken(appearanceClass(node), "f-page-main") } function findExactPageMain(root: FarrisNode): FarrisNode | undefined { @@ -316,7 +323,7 @@ function placeFilterContent( if (isQuerySolutionType(kind)) { ensurePageHasScheme(frameRoot) if (target !== frameRoot) { - const targetCls = typeof target.appearance?.class === "string" ? target.appearance.class : "" + const targetCls = appearanceClass(target) if (targetCls.includes("f-page-is-managelist") || targetCls.includes("f-page-has-scheme")) { ensurePageHasScheme(target) } @@ -347,7 +354,7 @@ function placeFilterContent( if (pageMain) { const mainChildren = Array.isArray(pageMain.contents) ? (pageMain.contents as FarrisNode[]) : [] const looksLikeNavigateShell = mainChildren.some((c) => { - const cls = String(c.appearance?.class ?? "") + const cls = appearanceClass(c) return hasClassToken(cls, "f-page-content") || c.type === "splitter" }) if (!looksLikeNavigateShell) { diff --git a/packages/ubml-codegen/src/compiler/section-layout.ts b/packages/ubml-codegen/src/compiler/section-layout.ts index fa93dc5573038a0d466ce8edd3d3d337011165b4..d80aece654ec4f65b8b00cb8ad21a2e1b38befa3 100644 --- a/packages/ubml-codegen/src/compiler/section-layout.ts +++ b/packages/ubml-codegen/src/compiler/section-layout.ts @@ -163,7 +163,7 @@ export function partitionSplitViewSections(page: PageDsl["page"]): SplitSectionP const bodyGrids = body.filter(isDataGridSection) body = body.filter((s) => !isDataGridSection(s)) - let navSections = [...listNav] + let navSections: SectionDsl[] = [...listNav] if (bodyGrids.length > 0) { navSections = [...navSections, ...bodyGrids] if (navSections.filter(isListNavSection).length === 0) { diff --git a/packages/ubml-codegen/src/javagen/classify.ts b/packages/ubml-codegen/src/javagen/classify.ts index 72b8d4060f304c27b9fff28f833f7da9ec4f2e70..1c7c86a526c8c150b9c70145c41959b56cc40a21 100644 --- a/packages/ubml-codegen/src/javagen/classify.ts +++ b/packages/ubml-codegen/src/javagen/classify.ts @@ -24,5 +24,7 @@ export function templateSubpackage(templateId: import("./types").JavaTemplateId) return "entityactions" case "writeback": return "bizactions" + case "tier-b": + throw new Error("tier-b rules define their own subpackage") } } diff --git a/packages/ubml-codegen/src/javagen/templates/render.ts b/packages/ubml-codegen/src/javagen/templates/render.ts index 7e4d27020f1a74f50a6e0b69f39d1ab4d5e2f273..5db223206052ceee594c39270034b4145d509036 100644 --- a/packages/ubml-codegen/src/javagen/templates/render.ts +++ b/packages/ubml-codegen/src/javagen/templates/render.ts @@ -118,5 +118,7 @@ export function renderJavaFile(ctx: JavagenContext, rule: JavaLogicRule): Genera return renderAuditAction(ctx, rule) case "writeback": return renderWriteback(ctx, rule) + case "tier-b": + throw new Error("tier-b rules must be rendered by the tier-b compiler") } } diff --git a/packages/ubml-codegen/src/javagen/types.ts b/packages/ubml-codegen/src/javagen/types.ts index c5415b7cde380a140f5ed02da58c439165c039d4..47dedc8643880e057ec0700207cf1d15da76f141 100644 --- a/packages/ubml-codegen/src/javagen/types.ts +++ b/packages/ubml-codegen/src/javagen/types.ts @@ -29,6 +29,9 @@ export interface GeneratedJavaFile { export interface JavagenResult { files: GeneratedJavaFile[] rules: JavaLogicRule[] + stubFiles?: GeneratedJavaFile[] + testFiles?: GeneratedJavaFile[] + whitelistViolations?: { className: string; violations: { path: string; message: string }[] }[] } export interface JavagenOptions { diff --git a/packages/ubml-codegen/src/render-smoke/mount-page.ts b/packages/ubml-codegen/src/render-smoke/mount-page.ts index 220b952d28f84ea07877b759dcbc678f984a60ad..fb35cfddb06e6563828e4aa1a3d43c1fbaef8830 100644 --- a/packages/ubml-codegen/src/render-smoke/mount-page.ts +++ b/packages/ubml-codegen/src/render-smoke/mount-page.ts @@ -76,7 +76,7 @@ export async function renderSmokePage(model: Record): Promise[0]) await nextTick() await new Promise((r) => setTimeout(r, 10)) mountApp.unmount() diff --git a/packages/ubml-codegen/test/editor-sanitize.test.ts b/packages/ubml-codegen/test/editor-sanitize.test.ts index 11d2ad3f9a3fb45047406291bf17b83112721a36..b314320f3900e99ab7c50d15262c50d874ceec85 100644 --- a/packages/ubml-codegen/test/editor-sanitize.test.ts +++ b/packages/ubml-codegen/test/editor-sanitize.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" import { createCompileContext } from "../src/compiler/context" -import type { ClassMapFile, ComponentsIndexFile, TemplatesIndexFile } from "../src/types" +import type { ComponentsIndexFile, TemplatesIndexFile } from "../src/types" import { validatePageDsl } from "../src/dsl/parse" import { coercePageDslEditor, @@ -9,8 +9,18 @@ import { } from "../src/refs/editor-inference" import type { FieldDsl as EntityFieldDsl } from "../src/entity/dsl/schema" -const templates = { version: 1, templates: [{ id: "list-manage-template", title: "Management" }] } as TemplatesIndexFile -const classMap = { version: 1, entries: [] } as ClassMapFile +const templates: TemplatesIndexFile = { + version: 1, + generatedAt: "", + templates: [ + { + id: "list-manage-template", + label: "Management", + demoSource: "", + skeleton: { regions: [] }, + }, + ], +} const components = { version: 1, generatedAt: "", @@ -26,7 +36,7 @@ const components = { ], } as ComponentsIndexFile -const ctx = createCompileContext("test", { templates, classMap, components }) +const ctx = createCompileContext("test", { templates, components }) const associationField: EntityFieldDsl = { code: "Assignee", diff --git a/packages/ubml-codegen/test/javagen-tier-b.test.ts b/packages/ubml-codegen/test/javagen-tier-b.test.ts index c05a5e1234330c8dd70b658875ad2799a7bd49fd..cb6d1d479ca8cb04c5d43cdb8a51fd61e7c827c5 100644 --- a/packages/ubml-codegen/test/javagen-tier-b.test.ts +++ b/packages/ubml-codegen/test/javagen-tier-b.test.ts @@ -54,7 +54,7 @@ describe("javagen tier B", () => { expect(result.files.length).toBe(5) expect(result.files.some((f) => f.templateId === "tier-b")).toBe(true) - expect("stubFiles" in result && (result as { stubFiles: unknown[] }).stubFiles.length).toBeGreaterThan(0) + expect(result.stubFiles?.length ?? 0).toBeGreaterThan(0) }) test.skipIf(!canMavenCompile)("tier B maven compile and test-compile", async () => { @@ -65,8 +65,8 @@ describe("javagen tier B", () => { try { const files = [ ...result.files, - ...(result as { stubFiles: typeof result.files }).stubFiles, - ...(result as { testFiles: typeof result.files }).testFiles, + ...(result.stubFiles ?? []), + ...(result.testFiles ?? []), ].map((f) => ({ ...f, testSource: f.role === "test" })) writeMavenProject(tmp, files, { artifactId: "tier-b-test", includeJUnit: true }) for (const goal of ["compile", "test-compile"]) { diff --git a/packages/ubml-codegen/test/pageflow-compile.test.ts b/packages/ubml-codegen/test/pageflow-compile.test.ts index 49588f0c75504b28da578eceb53e40b46f5e79e1..dec9311796d28662a1f2d61f18c2c466bedf431e 100644 --- a/packages/ubml-codegen/test/pageflow-compile.test.ts +++ b/packages/ubml-codegen/test/pageflow-compile.test.ts @@ -56,7 +56,7 @@ pageflow: const pages = ((result.pf.Content as JsonObject).pages as JsonObject[]) ?? [] const fybxdj = pages.find((p) => p.code === "FYBXDJ") - expect(fybxdj?.fileName?.endsWith?.("FYBXDJ.frm")).toBe(true) + expect(String(fybxdj?.fileName ?? "").endsWith("FYBXDJ.frm")).toBe(true) expect(fybxdj?.id).toBe("a1b2c3d4-e5f6-4789-a012-3456789abcde") }) diff --git a/packages/ubml-codegen/test/roundtrip-regression.test.ts b/packages/ubml-codegen/test/roundtrip-regression.test.ts index f4a11d88b917e59c46794eea6675b3f58c1e49de..b675f6074b05f4b04468af16fea11c98d9dc462f 100644 --- a/packages/ubml-codegen/test/roundtrip-regression.test.ts +++ b/packages/ubml-codegen/test/roundtrip-regression.test.ts @@ -62,7 +62,7 @@ describe("P3-01 page round-trip regression", () => { const result = await runPageRoundtripFromYaml(fybxdjCard, pageAssets) const broken = structuredClone(result.dsl) as { page: { sections: { fields?: { binding: string }[] }[] } } const section = broken.page.sections[0] - if (section?.fields?.[0]) section.fields[0].bind = "BrokenBind" + if (section?.fields?.[0]) section.fields[0].binding = "BrokenBind" const { semanticEquivalentPageDsl } = await import("../src/roundtrip/compare-page-dsl") const cmp = semanticEquivalentPageDsl(result.dsl as Parameters[0], broken as Parameters[1]) expect(cmp.ok).toBe(false) diff --git a/packages/ubml-codegen/test/section-layout.test.ts b/packages/ubml-codegen/test/section-layout.test.ts index 95051145f659bcbdeba425f886deffa40d230fdb..a3e2acee38c343fa5388767e23dbe9ade7123267 100644 --- a/packages/ubml-codegen/test/section-layout.test.ts +++ b/packages/ubml-codegen/test/section-layout.test.ts @@ -293,7 +293,7 @@ describe("section-layout assert", () => { describe("section-layout compile integration", () => { test("misplaced list-card body grid compiles to left pane only", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) const dsl = pageDslSchema.parse({ page: { type: "list-card-template", @@ -322,7 +322,7 @@ describe("section-layout compile integration", () => { }) test("list-nav plus body grid does not duplicate left grids", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) const dsl = pageDslSchema.parse({ page: { type: "list-card-template", @@ -351,7 +351,7 @@ describe("section-layout compile integration", () => { }) test("card-with-nav sub-grid stays in right card area", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) const dsl = pageDslSchema.parse({ page: { type: "card-with-nav-template", diff --git a/packages/ubml-codegen/test/t3-card-fill-in.test.ts b/packages/ubml-codegen/test/t3-card-fill-in.test.ts index 9960959d8de8a92c6f1c01f1c7e654725f388867..23c619fa29ac43a067e627eb4918d36926ae7873 100644 --- a/packages/ubml-codegen/test/t3-card-fill-in.test.ts +++ b/packages/ubml-codegen/test/t3-card-fill-in.test.ts @@ -67,7 +67,7 @@ describe("T3 card-fill-in-form-template template", () => { }) test("field wrapper uses col-md-6 for card-fill-in-form-template under farris assembly", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) const wrapper = fieldWrapperClassForTemplate(ctx, "card-fill-in-form-template") expect(wrapper).toBe("col-12 col-md-6") }) diff --git a/packages/ubml-codegen/test/t3-card-with-nav.test.ts b/packages/ubml-codegen/test/t3-card-with-nav.test.ts index 0a31695dd11eca36896080806600486cbc167544..8327292680fa5aea237fb3f11814d4500e8b35d8 100644 --- a/packages/ubml-codegen/test/t3-card-with-nav.test.ts +++ b/packages/ubml-codegen/test/t3-card-with-nav.test.ts @@ -50,7 +50,7 @@ describe("T3 card-with-nav template", () => { }) test("field wrapper uses col-12 for card-with-nav-template", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) expect(fieldWrapperClassForTemplate(ctx, "card-with-nav-template")).toBe("col-12") }) }) diff --git a/packages/ubml-codegen/test/t3-list-with-drawer.test.ts b/packages/ubml-codegen/test/t3-list-with-drawer.test.ts index b7db831ad6457e2ce1674c71e88671451515c0d2..6d63457ea51dc8db77b143526c3e7a0aabb09202 100644 --- a/packages/ubml-codegen/test/t3-list-with-drawer.test.ts +++ b/packages/ubml-codegen/test/t3-list-with-drawer.test.ts @@ -50,7 +50,7 @@ describe("T3 list-with-drawer template", () => { }) test("field wrapper uses col-12 for list-with-drawer drawer", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) expect(fieldWrapperClassForTemplate(ctx, "list-with-drawer-template")).toBe("col-12") }) }) diff --git a/packages/ubml-codegen/test/t3-show-sub-card.test.ts b/packages/ubml-codegen/test/t3-show-sub-card.test.ts index 7fb7161fe045292b01f6c3662098cb629796a3ff..d1c7913fabeacabc5a857784524d58469a948f25 100644 --- a/packages/ubml-codegen/test/t3-show-sub-card.test.ts +++ b/packages/ubml-codegen/test/t3-show-sub-card.test.ts @@ -38,7 +38,7 @@ describe("T3 show-sub-card template", () => { }) test("field wrapper uses col-12 for show-sub-card under farris assembly", async () => { - const ctx = await loadFarrisCompileContext(assets) + const ctx = await loadFarrisCompileContext({ assetsDir: assets }) expect(fieldWrapperClassForTemplate(ctx, "show-sub-table-by-card-template")).toBe("col-12") expect(fieldWrapperClassForTemplate(ctx, "card-template")).toBe("col-12 col-md-6 col-xl-3 col-el-2") }) diff --git a/packages/ubml-codegen/test/t4-double-list-in-tab.test.ts b/packages/ubml-codegen/test/t4-double-list-in-tab.test.ts index dc893f29a9bd7077355e9f9d85577451a199d2d0..695b2d0d9e1d2a83d0cfd441c9fa467ba110a835 100644 --- a/packages/ubml-codegen/test/t4-double-list-in-tab.test.ts +++ b/packages/ubml-codegen/test/t4-double-list-in-tab.test.ts @@ -45,8 +45,12 @@ describe("T4 double-list-in-tab template", () => { expect(decompiled.dsl.page.type).toBe("double-list-in-tab-template") const tabSection = decompiled.dsl.page.sections.find((s) => "type" in s && s.type === "tabs") expect(tabSection).toBeDefined() - const allTabSections = "tabs" in tabSection! ? tabSection.tabs.flatMap((t) => t.sections ?? []) : [] - expect(allTabSections.filter((s) => "type" in s && s.type === "data-grid").length).toBe(2) + const allTabSections = "tabs" in tabSection! + ? (tabSection.tabs as Array<{ sections?: Array<{ type?: string }> }>).flatMap( + (tab) => tab.sections ?? [], + ) + : [] + expect(allTabSections.filter((section) => section.type === "data-grid").length).toBe(2) const round = await verifyPageFromYaml(stringify(decompiled.dsl), assets, { UBML_RENDER_SMOKE: "0" }) expect(round.ok, round.issues.map((i) => i.message).join("; ")).toBe(true) diff --git a/script/vendor/import-opencode.sh b/script/vendor/import-opencode.sh index dafa8e3e2db46709f5c7ba4d9bf3e38a1a64421b..b7f76640aa16208c77905d862a857ab759b8a5ae 100755 --- a/script/vendor/import-opencode.sh +++ b/script/vendor/import-opencode.sh @@ -63,6 +63,7 @@ while IFS= read -r pkg; do --exclude dist \ --exclude .turbo \ --exclude .artifacts \ + --exclude '*.tsbuildinfo' \ "$src/" "$dst/" done < <(jq -r '.packages[]' "$MANIFEST") diff --git a/sst-env.d.ts b/sst-env.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..f65a2f25fbcd2c7797afb7eba51e92b0e62cb92f --- /dev/null +++ b/sst-env.d.ts @@ -0,0 +1,4 @@ +declare module "*.vue" { + const component: import("vue").Component + export default component +}