@interf/compiler 0.9.3 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +2 -1
  3. package/agent-skills/interf-actions/SKILL.md +17 -11
  4. package/agent-skills/interf-actions/references/cli.md +8 -22
  5. package/dist/cli/commands/action-input-cli.d.ts +25 -0
  6. package/dist/cli/commands/action-input-cli.js +73 -0
  7. package/dist/cli/commands/compile.d.ts +3 -8
  8. package/dist/cli/commands/compile.js +13 -41
  9. package/dist/cli/commands/create-method-wizard.d.ts +0 -12
  10. package/dist/cli/commands/create-method-wizard.js +95 -126
  11. package/dist/cli/commands/create.d.ts +0 -2
  12. package/dist/cli/commands/create.js +16 -22
  13. package/dist/cli/commands/doctor.js +1 -1
  14. package/dist/cli/commands/executor-flow.js +1 -1
  15. package/dist/cli/commands/init.d.ts +16 -1
  16. package/dist/cli/commands/init.js +40 -53
  17. package/dist/cli/commands/list.js +1 -1
  18. package/dist/cli/commands/preparation-action.d.ts +8 -0
  19. package/dist/cli/commands/preparation-action.js +29 -0
  20. package/dist/cli/commands/preparation-picker.d.ts +5 -0
  21. package/dist/cli/commands/preparation-picker.js +36 -0
  22. package/dist/cli/commands/preparation-selection.js +2 -2
  23. package/dist/cli/commands/reset.js +15 -4
  24. package/dist/cli/commands/service-action-flow.d.ts +9 -0
  25. package/dist/cli/commands/service-action-flow.js +19 -0
  26. package/dist/cli/commands/source-config-wizard.d.ts +0 -1
  27. package/dist/cli/commands/source-config-wizard.js +43 -53
  28. package/dist/cli/commands/status.js +7 -123
  29. package/dist/cli/commands/test.d.ts +1 -2
  30. package/dist/cli/commands/test.js +40 -203
  31. package/dist/cli/commands/web.js +8 -262
  32. package/dist/compiler-ui/404.html +1 -1
  33. package/dist/compiler-ui/__next.__PAGE__.txt +2 -2
  34. package/dist/compiler-ui/__next._full.txt +3 -3
  35. package/dist/compiler-ui/__next._head.txt +1 -1
  36. package/dist/compiler-ui/__next._index.txt +2 -2
  37. package/dist/compiler-ui/__next._tree.txt +2 -2
  38. package/dist/compiler-ui/_next/static/chunks/177mvn4rse235.js +89 -0
  39. package/dist/compiler-ui/_next/static/chunks/18a8f2jkv3z.c.css +3 -0
  40. package/dist/compiler-ui/_not-found/__next._full.txt +2 -2
  41. package/dist/compiler-ui/_not-found/__next._head.txt +1 -1
  42. package/dist/compiler-ui/_not-found/__next._index.txt +2 -2
  43. package/dist/compiler-ui/_not-found/__next._not-found.__PAGE__.txt +1 -1
  44. package/dist/compiler-ui/_not-found/__next._not-found.txt +1 -1
  45. package/dist/compiler-ui/_not-found/__next._tree.txt +2 -2
  46. package/dist/compiler-ui/_not-found.html +1 -1
  47. package/dist/compiler-ui/_not-found.txt +2 -2
  48. package/dist/compiler-ui/index.html +1 -1
  49. package/dist/compiler-ui/index.txt +3 -3
  50. package/dist/index.d.ts +0 -23
  51. package/dist/index.js +0 -16
  52. package/dist/packages/agents/lib/shells.js +2 -2
  53. package/dist/packages/compiler/lib/schema.d.ts +1 -1
  54. package/dist/packages/compiler/lib/schema.js +1 -1
  55. package/dist/packages/contracts/lib/schema.d.ts +0 -1
  56. package/dist/packages/contracts/lib/schema.js +0 -1
  57. package/dist/packages/execution/lib/schema.d.ts +0 -7
  58. package/dist/packages/execution/lib/schema.js +0 -1
  59. package/dist/packages/local-service/action-definitions.d.ts +246 -0
  60. package/dist/packages/local-service/action-definitions.js +1148 -0
  61. package/dist/packages/local-service/action-planner.d.ts +9 -0
  62. package/dist/packages/local-service/action-planner.js +134 -0
  63. package/dist/packages/local-service/action-values.d.ts +1 -22
  64. package/dist/packages/local-service/action-values.js +1 -30
  65. package/dist/packages/local-service/client.d.ts +48 -17
  66. package/dist/packages/local-service/client.js +95 -52
  67. package/dist/packages/local-service/index.d.ts +8 -5
  68. package/dist/packages/local-service/index.js +5 -3
  69. package/dist/packages/local-service/lib/schema.d.ts +302 -292
  70. package/dist/packages/local-service/lib/schema.js +115 -39
  71. package/dist/packages/local-service/native-run-handlers.d.ts +23 -0
  72. package/dist/{cli/commands/compile-controller.js → packages/local-service/native-run-handlers.js} +203 -19
  73. package/dist/{cli/commands/check-draft.d.ts → packages/local-service/readiness-check-draft.d.ts} +2 -2
  74. package/dist/packages/local-service/routes.d.ts +6 -1
  75. package/dist/packages/local-service/routes.js +7 -2
  76. package/dist/packages/local-service/run-observability.js +15 -17
  77. package/dist/packages/local-service/runtime.d.ts +10 -7
  78. package/dist/packages/local-service/runtime.js +430 -286
  79. package/dist/packages/local-service/server.js +94 -44
  80. package/dist/packages/method-package/method-review-paths.d.ts +1 -1
  81. package/dist/packages/method-package/method-review-paths.js +5 -5
  82. package/dist/packages/project-model/index.d.ts +1 -0
  83. package/dist/packages/project-model/index.js +1 -0
  84. package/dist/packages/project-model/preparation-entries.d.ts +11 -0
  85. package/dist/packages/project-model/preparation-entries.js +49 -0
  86. package/dist/packages/project-model/source-config.d.ts +1 -0
  87. package/dist/packages/project-model/source-config.js +12 -1
  88. package/dist/packages/testing/lib/schema.d.ts +2 -3
  89. package/dist/packages/testing/lib/schema.js +2 -3
  90. package/dist/packages/testing/readiness-check-run.d.ts +3 -3
  91. package/dist/packages/testing/readiness-check-run.js +12 -17
  92. package/package.json +5 -24
  93. package/dist/cli/commands/compile-controller.d.ts +0 -17
  94. package/dist/cli/commands/compiled-flow.d.ts +0 -25
  95. package/dist/cli/commands/compiled-flow.js +0 -112
  96. package/dist/cli/commands/test-flow.d.ts +0 -58
  97. package/dist/cli/commands/test-flow.js +0 -231
  98. package/dist/compiler-ui/_next/static/chunks/0c9mu7yldxyyg.css +0 -3
  99. package/dist/compiler-ui/_next/static/chunks/15mks7ry_cupt.js +0 -118
  100. /package/dist/compiler-ui/_next/static/{pIZnDsV3Je6hdC3cOsGdK → 84FaeF3EzBF9kKTMjSEVN}/_buildManifest.js +0 -0
  101. /package/dist/compiler-ui/_next/static/{pIZnDsV3Je6hdC3cOsGdK → 84FaeF3EzBF9kKTMjSEVN}/_clientMiddlewareManifest.js +0 -0
  102. /package/dist/compiler-ui/_next/static/{pIZnDsV3Je6hdC3cOsGdK → 84FaeF3EzBF9kKTMjSEVN}/_ssgManifest.js +0 -0
  103. /package/dist/{cli/commands/check-draft.js → packages/local-service/readiness-check-draft.js} +0 -0
@@ -1,21 +1,15 @@
1
- import { existsSync, mkdirSync, readFileSync, } from "node:fs";
2
- import { join, resolve } from "node:path";
1
+ import { existsSync, } from "node:fs";
2
+ import { resolve } from "node:path";
3
3
  import chalk from "chalk";
4
- import { resolveLocalExecutor, } from "../../packages/agents/lib/executors.js";
5
- import { ActionProposalPlanSchema, startLocalService, } from "../../packages/local-service/index.js";
4
+ import { startLocalService, } from "../../packages/local-service/index.js";
5
+ import { createNativeLocalServiceRunHandlers, } from "../../packages/local-service/native-run-handlers.js";
6
6
  import { loadSourceFolderConfig, saveSourceFolderConfig, sourceFolderConfigPath, } from "../../packages/project-model/source-config.js";
7
- import { runConfiguredCompiledCompile, } from "./compile-controller.js";
8
- import { draftReadinessChecks, } from "./check-draft.js";
9
- import { runReadinessChecksForExecutor, } from "../../packages/testing/readiness-check-run.js";
10
- import { runMethodAuthoringDraft, } from "../../packages/method-authoring/method-authoring.js";
11
- import { PACKAGE_ROOT } from "../../packages/method-package/lib/package-root.js";
12
7
  import { seedLocalDefaultMethod } from "../../packages/method-package/local-methods.js";
13
8
  import { findNearestInterfInstanceConfig, hasInterfInstanceConfig, relativeSourceFolderPath, resolveInterfInstanceContext, } from "./control-path.js";
14
9
  import { listSourceFolderChoices, } from "../../packages/project-model/source-folders.js";
15
- import { methodIdForSourcePreparationConfig } from "../../packages/methods/method-resolution.js";
16
10
  export const webCommand = {
17
11
  command: "web",
18
- describe: "Start Interf UI and the local Interf API",
12
+ describe: "Start Interf Compiler UI and the local Interf service",
19
13
  builder: (yargs) => yargs
20
14
  .option("host", {
21
15
  type: "string",
@@ -47,38 +41,6 @@ function numberOption(value) {
47
41
  return undefined;
48
42
  return value;
49
43
  }
50
- function extractJsonObject(text) {
51
- try {
52
- return JSON.parse(text);
53
- }
54
- catch {
55
- const match = text.match(/\{[\s\S]*\}/);
56
- if (!match)
57
- throw new Error("Planner did not write a JSON object.");
58
- return JSON.parse(match[0]);
59
- }
60
- }
61
- function readActionSkill() {
62
- const skillDir = join(PACKAGE_ROOT, "agent-skills", "interf-actions");
63
- const skillPath = join(skillDir, "SKILL.md");
64
- const cliReferencePath = join(skillDir, "references", "cli.md");
65
- try {
66
- const skill = readFileSync(skillPath, "utf8");
67
- const cliReference = readFileSync(cliReferencePath, "utf8");
68
- return [
69
- skill,
70
- "## Bundled reference: references/cli.md",
71
- cliReference,
72
- ].join("\n\n");
73
- }
74
- catch {
75
- return [
76
- "# Interf Actions",
77
- "Use `interf --help`, `interf list`, `interf status`, and command-specific help as the source of truth.",
78
- "In Interf proposal mode, do not run CLI commands. Write the requested JSON proposal only.",
79
- ].join("\n\n");
80
- }
81
- }
82
44
  export function resolveWebProjectPaths(argv = {}, cwd = process.cwd()) {
83
45
  const currentPath = resolve(cwd);
84
46
  const configuredControlPath = stringOption(argv["control-path"]);
@@ -146,234 +108,18 @@ export function ensureWebProjectInitialized(controlPath, options = {}) {
146
108
  preparations: [],
147
109
  });
148
110
  }
149
- function buildActionPlannerPrompt(request, context, outputPath) {
150
- const actionSkill = readActionSkill();
151
- const preparations = context.preparations.map((preparation) => ({
152
- name: preparation.name,
153
- path: preparation.path,
154
- about: preparation.about ?? null,
155
- method: methodIdForSourcePreparationConfig(preparation),
156
- checks: preparation.checks?.length ?? 0,
157
- }));
158
- const recentProposals = context.recentProposals.map((proposal) => ({
159
- status: proposal.status,
160
- action_type: proposal.action_type,
161
- title: proposal.title,
162
- preparation: proposal.preparation ?? null,
163
- request: proposal.request,
164
- command_preview: proposal.command_preview ?? null,
165
- }));
166
- const sourceFolders = context.sourceFolders.map((folder) => ({
167
- path: folder.value,
168
- label: folder.label,
169
- hint: folder.hint,
170
- }));
171
- return `You are the local Interf action planner.
172
-
173
- User request:
174
- ${request.message}
175
-
176
- Selected Preparation hint: ${request.preparation ?? "(none)"}
177
-
178
- Structured request values:
179
- ${JSON.stringify(request.values ?? {}, null, 2)}
180
-
181
- Available Preparations:
182
- ${JSON.stringify(preparations, null, 2)}
183
-
184
- Visible Source Folders:
185
- ${JSON.stringify(sourceFolders, null, 2)}
186
-
187
- Action health:
188
- ${JSON.stringify(context.preparationHealth, null, 2)}
189
-
190
- Recent proposals, newest first. A short follow-up like "target source only" may be correcting the latest pending proposal:
191
- ${JSON.stringify(recentProposals, null, 2)}
192
-
193
- Interf action skill source:
194
- ${actionSkill}
195
-
196
- Use the Interf action skill source as the authority for CLI semantics and Interf proposal mode. Preserve user intent over defaults.
197
- Use Action health to avoid proposing work that cannot run yet. If can_check_readiness is false, prefer the recommended next actions; do not propose a generic readiness check unless the user explicitly asks for a source-files-only baseline.
198
- If the user is asking a question or making casual conversation, return "clarification" with a helpful assistant_message. Do not invent a CLI command for non-action chat.
199
- If a field does not apply, omit it instead of writing null or an empty string.
200
- Do not run any CLI command. Do not edit files except the output JSON file.
201
-
202
- Write only this JSON object to:
203
- ${outputPath}
204
-
205
- JSON schema:
206
- {
207
- "action_type": "preparation-setup" | "compile" | "test" | "readiness-check-draft" | "method-authoring" | "clarification",
208
- "preparation": "Preparation id if applicable",
209
- "method": "Method id if applicable",
210
- "values": {},
211
- "title": "short approval card title",
212
- "summary": "one sentence describing what will run",
213
- "assistant_message": "concise explanation for the user",
214
- "command_preview": "interf command the user is approving"
215
- }
216
- `;
217
- }
218
111
  export async function runWebCommand(argv = {}) {
219
112
  const { controlPath, sourceFolderPath } = resolveWebProjectPaths(argv);
220
113
  ensureWebProjectInitialized(controlPath, { sourceFolderPath });
221
- const handlers = {
222
- async planActionProposal(request, context) {
223
- const resolved = resolveLocalExecutor({ preflight: true });
224
- if (!resolved.executor) {
225
- return ActionProposalPlanSchema.parse({
226
- action_type: "clarification",
227
- preparation: request.preparation,
228
- assistant_message: resolved.error ?? "No local agent detected for action planning.",
229
- });
230
- }
231
- const planRoot = join(context.sourcePath, "interf", ".service", "action-plans", Date.now().toString(36));
232
- mkdirSync(planRoot, { recursive: true });
233
- const outputPath = join(planRoot, "proposal.json");
234
- const prompt = buildActionPlannerPrompt(request, context, outputPath);
235
- const exitCode = await resolved.executor.execute(context.sourcePath, prompt, {
236
- eventLogPath: join(planRoot, "planner.events.ndjson"),
237
- statusLogPath: join(planRoot, "planner.status.log"),
238
- completionCheck: () => existsSync(outputPath),
239
- });
240
- if (exitCode !== 0 && !existsSync(outputPath)) {
241
- return ActionProposalPlanSchema.parse({
242
- action_type: "clarification",
243
- preparation: request.preparation,
244
- assistant_message: `${resolved.executor.displayName} could not create a safe Interf proposal.`,
245
- });
246
- }
247
- try {
248
- return ActionProposalPlanSchema.parse(extractJsonObject(readFileSync(outputPath, "utf8")));
249
- }
250
- catch {
251
- return ActionProposalPlanSchema.parse({
252
- action_type: "clarification",
253
- preparation: request.preparation,
254
- assistant_message: "I can help with this Interf Workspace. Ask a question about Interf, or ask me to create a Preparation, prepare, check readiness, improve, or draft a Method and I will prepare an approval proposal.",
255
- });
256
- }
257
- },
258
- async createCompileRun(request, context) {
259
- const resolved = resolveLocalExecutor({ preflight: true });
260
- if (!resolved.executor) {
261
- throw new Error(resolved.error ?? "No local agent detected.");
262
- }
263
- const ok = await runConfiguredCompiledCompile({
264
- executor: resolved.executor,
265
- testExecutor: resolved.executor,
266
- compiledPath: context.compiledPath,
267
- sourcePath: context.sourcePath,
268
- compiledConfig: context.preparationConfig,
269
- maxAttemptsOverride: request.max_attempts ?? null,
270
- maxLoopsOverride: request.max_loops ?? null,
271
- preserveStageShells: request.preserve_stage_shells,
272
- runId: context.runId,
273
- events: context.events,
274
- });
275
- return { ok };
276
- },
277
- async createTestRun(request, context) {
278
- const resolved = resolveLocalExecutor({ preflight: true });
279
- if (!resolved.executor) {
280
- throw new Error(resolved.error ?? "No local agent detected.");
281
- }
282
- const result = await runReadinessChecksForExecutor({
283
- sourcePath: context.sourcePath,
284
- preparationConfig: context.preparationConfig,
285
- portableContextPath: context.compiledPath,
286
- mode: request.mode,
287
- executor: resolved.executor,
288
- });
289
- const missingSourceFiles = (request.mode === "raw" || request.mode === "both") && !result.rawOutcome;
290
- const missingPortableContext = (request.mode === "compiled" || request.mode === "both") && !result.compiledOutcome;
291
- if (missingSourceFiles || missingPortableContext) {
292
- return {
293
- ok: false,
294
- comparison: result.comparison,
295
- error: missingPortableContext
296
- ? "Portable Context is not ready for readiness checks."
297
- : "Source files are not ready for readiness checks.",
298
- };
299
- }
300
- return {
301
- ok: true,
302
- comparison: result.comparison,
303
- };
304
- },
305
- async createReadinessCheckDraft(request, context) {
306
- const resolved = resolveLocalExecutor({ preflight: true });
307
- if (!resolved.executor) {
308
- throw new Error(resolved.error ?? "No local agent detected.");
309
- }
310
- context.emit({
311
- type: "log.appended",
312
- step_id: "agent-draft",
313
- message: `Using ${resolved.executor.displayName} for readiness-check drafting.`,
314
- });
315
- const drafted = await draftReadinessChecks({
316
- preparationName: request.preparation,
317
- sourceFolderPath: request.source_folder_path,
318
- about: request.about,
319
- executor: resolved.executor,
320
- targetCount: request.target_count,
321
- onStatus: (line) => context.emit({
322
- type: "log.appended",
323
- step_id: "agent-draft",
324
- message: line,
325
- }),
326
- });
327
- if (!drafted.checks) {
328
- throw new Error(drafted.error ?? "Could not draft readiness checks from this Source Folder.");
329
- }
330
- return {
331
- checks: drafted.checks,
332
- };
333
- },
334
- async createMethodAuthoringRun(request, context) {
335
- const resolved = resolveLocalExecutor({ preflight: true });
336
- if (!resolved.executor) {
337
- throw new Error(resolved.error ?? "No local agent detected.");
338
- }
339
- context.emit({
340
- type: "log.appended",
341
- step_id: "draft-package",
342
- message: `Using ${resolved.executor.displayName} for Method authoring.`,
343
- });
344
- const result = await runMethodAuthoringDraft({
345
- sourcePath: context.sourcePath,
346
- sourceFolderPath: request.source_folder_path,
347
- baseMethodId: request.reference_method_id ?? request.base_method_id,
348
- methodId: request.method_id,
349
- label: request.label,
350
- hint: request.hint,
351
- taskPrompt: request.task_prompt,
352
- checks: request.checks,
353
- executor: resolved.executor,
354
- onStatus: (line) => context.emit({
355
- type: "log.appended",
356
- step_id: "draft-package",
357
- message: line,
358
- }),
359
- });
360
- return {
361
- status: result.status,
362
- changed: result.changed,
363
- summary: result.summary,
364
- validation: result.validation,
365
- method_path: result.methodPath,
366
- shell_path: result.shellPath,
367
- };
368
- },
369
- };
114
+ const handlers = createNativeLocalServiceRunHandlers();
370
115
  const service = await startLocalService({
371
116
  rootPath: controlPath,
372
117
  host: stringOption(argv.host),
373
118
  port: numberOption(argv.port),
374
119
  handlers,
375
120
  });
376
- console.log(chalk.green(` Interf: ${service.url}/`));
121
+ console.log(chalk.green(` Interf Compiler service: ${service.url}`));
122
+ console.log(chalk.dim(` Compiler UI: ${service.url}/`));
377
123
  console.log(chalk.dim(` Health: ${service.url}/health`));
378
124
  console.log(chalk.dim(" Press Ctrl-C to stop the local Interf service."));
379
125
  await new Promise((resolve) => {
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0c9mu7yldxyyg.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0gpzgsv0w.q~m.js"/><script src="/_next/static/chunks/06yhdspx~ca5-.js" async=""></script><script src="/_next/static/chunks/0ilwfezfvu6~-.js" async=""></script><script src="/_next/static/chunks/turbopack-0.uq1k8c0j4s..js" async=""></script><script src="/_next/static/chunks/06z~l3kwb891e.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Interf Compiler</title><meta name="description" content="Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0gpzgsv0w.q~m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26439,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\"]\n3:I[99569,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\"]\n4:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"ViewportBoundary\"]\na:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"MetadataBoundary\"]\nc:I[28946,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0c9mu7yldxyyg.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0c9mu7yldxyyg.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/06z~l3kwb891e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"className\":\"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable\",\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0c9mu7yldxyyg.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"pIZnDsV3Je6hdC3cOsGdK\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Interf Compiler\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context.\"}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html class="dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/18a8f2jkv3z.c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0gpzgsv0w.q~m.js"/><script src="/_next/static/chunks/06yhdspx~ca5-.js" async=""></script><script src="/_next/static/chunks/0ilwfezfvu6~-.js" async=""></script><script src="/_next/static/chunks/turbopack-0.uq1k8c0j4s..js" async=""></script><script src="/_next/static/chunks/06z~l3kwb891e.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Interf Compiler</title><meta name="description" content="Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0gpzgsv0w.q~m.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26439,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\"]\n3:I[99569,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\"]\n4:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"ViewportBoundary\"]\na:I[26890,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"MetadataBoundary\"]\nc:I[28946,[\"/_next/static/chunks/06z~l3kwb891e.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/18a8f2jkv3z.c.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/18a8f2jkv3z.c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/06z~l3kwb891e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"className\":\"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable\",\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/18a8f2jkv3z.c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"84FaeF3EzBF9kKTMjSEVN\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Interf Compiler\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context.\"}]]\n"])</script></body></html>
@@ -1,10 +1,10 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[419,["/_next/static/chunks/06z~l3kwb891e.js"],"ClientPageRoot"]
3
- 3:I[12562,["/_next/static/chunks/06z~l3kwb891e.js","/_next/static/chunks/0b-ywny_j0g~0.js","/_next/static/chunks/0_i-3_5l9t2qe.js","/_next/static/chunks/15mks7ry_cupt.js","/_next/static/chunks/08m7vf5asqlsm.js"],"default"]
3
+ 3:I[12562,["/_next/static/chunks/06z~l3kwb891e.js","/_next/static/chunks/0b-ywny_j0g~0.js","/_next/static/chunks/0_i-3_5l9t2qe.js","/_next/static/chunks/177mvn4rse235.js","/_next/static/chunks/08m7vf5asqlsm.js"],"default"]
4
4
  6:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
6
  :HL["/_next/static/chunks/0xxmf45eskdt~.css","style"]
7
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0xxmf45eskdt~.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0b-ywny_j0g~0.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0_i-3_5l9t2qe.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/15mks7ry_cupt.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/08m7vf5asqlsm.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
7
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0xxmf45eskdt~.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0b-ywny_j0g~0.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0_i-3_5l9t2qe.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/177mvn4rse235.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/08m7vf5asqlsm.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"84FaeF3EzBF9kKTMjSEVN"}
8
8
  4:{}
9
9
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
10
10
  8:null
@@ -2,17 +2,17 @@
2
2
  2:I[26439,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
3
3
  3:I[99569,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
4
4
  4:I[419,["/_next/static/chunks/06z~l3kwb891e.js"],"ClientPageRoot"]
5
- 5:I[12562,["/_next/static/chunks/06z~l3kwb891e.js","/_next/static/chunks/0b-ywny_j0g~0.js","/_next/static/chunks/0_i-3_5l9t2qe.js","/_next/static/chunks/15mks7ry_cupt.js","/_next/static/chunks/08m7vf5asqlsm.js"],"default"]
5
+ 5:I[12562,["/_next/static/chunks/06z~l3kwb891e.js","/_next/static/chunks/0b-ywny_j0g~0.js","/_next/static/chunks/0_i-3_5l9t2qe.js","/_next/static/chunks/177mvn4rse235.js","/_next/static/chunks/08m7vf5asqlsm.js"],"default"]
6
6
  8:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"OutletBoundary"]
7
7
  9:"$Sreact.suspense"
8
8
  b:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"ViewportBoundary"]
9
9
  d:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"MetadataBoundary"]
10
10
  f:I[28946,["/_next/static/chunks/06z~l3kwb891e.js"],"default",1]
11
- :HL["/_next/static/chunks/0c9mu7yldxyyg.css","style"]
11
+ :HL["/_next/static/chunks/18a8f2jkv3z.c.css","style"]
12
12
  :HL["/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
13
  :HL["/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
14
14
  :HL["/_next/static/chunks/0xxmf45eskdt~.css","style"]
15
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0c9mu7yldxyyg.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/06z~l3kwb891e.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"className":"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable","lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0xxmf45eskdt~.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0b-ywny_j0g~0.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0_i-3_5l9t2qe.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/15mks7ry_cupt.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/08m7vf5asqlsm.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0c9mu7yldxyyg.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"pIZnDsV3Je6hdC3cOsGdK"}
15
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/18a8f2jkv3z.c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/06z~l3kwb891e.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"className":"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable","lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0xxmf45eskdt~.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0b-ywny_j0g~0.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0_i-3_5l9t2qe.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/177mvn4rse235.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/08m7vf5asqlsm.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/18a8f2jkv3z.c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"84FaeF3EzBF9kKTMjSEVN"}
16
16
  6:{}
17
17
  7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
18
18
  c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -2,4 +2,4 @@
2
2
  2:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"ViewportBoundary"]
3
3
  3:I[26890,["/_next/static/chunks/06z~l3kwb891e.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Interf Compiler"}],["$","meta","1",{"name":"description","content":"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
5
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Interf Compiler"}],["$","meta","1",{"name":"description","content":"Local Interf workspace for Preparations, Methods, runs, readiness checks, and portable context."}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"84FaeF3EzBF9kKTMjSEVN"}
@@ -1,5 +1,5 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[26439,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
3
3
  3:I[99569,["/_next/static/chunks/06z~l3kwb891e.js"],"default"]
4
- :HL["/_next/static/chunks/0c9mu7yldxyyg.css","style"]
5
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0c9mu7yldxyyg.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/06z~l3kwb891e.js","async":true}]],["$","html",null,{"className":"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable","lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
4
+ :HL["/_next/static/chunks/18a8f2jkv3z.c.css","style"]
5
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/18a8f2jkv3z.c.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/06z~l3kwb891e.js","async":true}]],["$","html",null,{"className":"dark geistsans_d5a4f12f-module__iZqIaq__variable geistmono_157ca88a-module__uNhmwG__variable","lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"84FaeF3EzBF9kKTMjSEVN"}
@@ -1,5 +1,5 @@
1
- :HL["/_next/static/chunks/0c9mu7yldxyyg.css","style"]
1
+ :HL["/_next/static/chunks/18a8f2jkv3z.c.css","style"]
2
2
  :HL["/_next/static/media/GeistMono_Variable.p.17jn9btb_52pq.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
3
  :HL["/_next/static/media/Geist_Variable-s.p.0-te~ja_gpvcf.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
4
4
  :HL["/_next/static/chunks/0xxmf45eskdt~.css","style"]
5
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"pIZnDsV3Je6hdC3cOsGdK"}
5
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"84FaeF3EzBF9kKTMjSEVN"}