@shepai/cli 1.29.0 → 1.30.0

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 (134) hide show
  1. package/dist/packages/core/src/infrastructure/di/container.d.ts +6 -0
  2. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  3. package/dist/packages/core/src/infrastructure/di/container.js +24 -0
  4. package/dist/packages/core/src/infrastructure/index.d.ts +1 -1
  5. package/dist/packages/core/src/infrastructure/index.d.ts.map +1 -1
  6. package/dist/packages/core/src/infrastructure/index.js +1 -1
  7. package/dist/packages/core/src/infrastructure/services/filesystem/shep-directory.service.d.ts +12 -21
  8. package/dist/packages/core/src/infrastructure/services/filesystem/shep-directory.service.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/services/filesystem/shep-directory.service.js +27 -31
  10. package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +2 -2
  11. package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.js +2 -3
  13. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts +1 -2
  14. package/dist/packages/core/src/infrastructure/services/settings.service.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/services/settings.service.js +1 -2
  16. package/dist/src/presentation/cli/commands/feat/new.command.js +2 -2
  17. package/dist/src/presentation/cli/commands/settings/init.command.d.ts.map +1 -1
  18. package/dist/src/presentation/cli/commands/settings/init.command.js +13 -0
  19. package/dist/src/presentation/cli/index.js +2 -6
  20. package/dist/src/presentation/web/app/api/features/[id]/route.d.ts.map +1 -1
  21. package/dist/src/presentation/web/app/api/features/[id]/route.js +3 -2
  22. package/dist/src/presentation/web/app/api/features/create/route.d.ts +1 -1
  23. package/dist/src/presentation/web/app/api/features/create/route.d.ts.map +1 -1
  24. package/dist/src/presentation/web/app/api/features/create/route.js +3 -2
  25. package/dist/src/presentation/web/app/page.d.ts +1 -1
  26. package/dist/src/presentation/web/app/page.d.ts.map +1 -1
  27. package/dist/src/presentation/web/app/page.js +6 -4
  28. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +1 -1
  29. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  30. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -0
  31. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  32. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +70 -7
  33. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -1
  34. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  35. package/dist/src/presentation/web/dev-server.d.ts +1 -2
  36. package/dist/src/presentation/web/dev-server.d.ts.map +1 -1
  37. package/dist/src/presentation/web/dev-server.js +3 -5
  38. package/dist/src/presentation/web/instrumentation.d.ts +13 -0
  39. package/dist/src/presentation/web/instrumentation.d.ts.map +1 -0
  40. package/dist/src/presentation/web/instrumentation.js +14 -0
  41. package/dist/src/presentation/web/lib/server-container.d.ts +21 -0
  42. package/dist/src/presentation/web/lib/server-container.d.ts.map +1 -0
  43. package/dist/src/presentation/web/lib/server-container.js +26 -0
  44. package/dist/src/presentation/web/next.config.d.ts.map +1 -1
  45. package/dist/src/presentation/web/next.config.js +2 -0
  46. package/dist/tsconfig.build.tsbuildinfo +1 -1
  47. package/package.json +1 -1
  48. package/web/.next/BUILD_ID +1 -1
  49. package/web/.next/build-manifest.json +2 -2
  50. package/web/.next/cache/.previewinfo +1 -1
  51. package/web/.next/cache/.rscinfo +1 -1
  52. package/web/.next/cache/.tsbuildinfo +1 -1
  53. package/web/.next/cache/config.json +3 -3
  54. package/web/.next/fallback-build-manifest.json +2 -2
  55. package/web/.next/prerender-manifest.json +3 -3
  56. package/web/.next/required-server-files.js +8 -2
  57. package/web/.next/required-server-files.json +8 -2
  58. package/web/.next/server/app/_global-error.html +2 -2
  59. package/web/.next/server/app/_global-error.rsc +1 -1
  60. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  61. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  62. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  63. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  64. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  65. package/web/.next/server/app/_not-found.html +2 -2
  66. package/web/.next/server/app/_not-found.rsc +1 -1
  67. package/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  68. package/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  69. package/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  70. package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  71. package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  72. package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  73. package/web/.next/server/app/api/features/[id]/route.js +1 -1
  74. package/web/.next/server/app/api/features/[id]/route.js.nft.json +1 -1
  75. package/web/.next/server/app/api/features/create/route.js +1 -1
  76. package/web/.next/server/app/api/features/create/route.js.nft.json +1 -1
  77. package/web/.next/server/app/api/ide/open/route.js +1 -1
  78. package/web/.next/server/app/api/ide/open/route.js.nft.json +1 -1
  79. package/web/.next/server/app/api/shell/open/route.js +1 -1
  80. package/web/.next/server/app/api/shell/open/route.js.nft.json +1 -1
  81. package/web/.next/server/app/version.html +2 -2
  82. package/web/.next/server/app/version.rsc +1 -1
  83. package/web/.next/server/app/version.segments/_full.segment.rsc +1 -1
  84. package/web/.next/server/app/version.segments/_head.segment.rsc +1 -1
  85. package/web/.next/server/app/version.segments/_index.segment.rsc +1 -1
  86. package/web/.next/server/app/version.segments/_tree.segment.rsc +1 -1
  87. package/web/.next/server/app/version.segments/version/__PAGE__.segment.rsc +1 -1
  88. package/web/.next/server/app/version.segments/version.segment.rsc +1 -1
  89. package/web/.next/server/chunks/[root-of-the-server]__0af905fe._.js +3 -0
  90. package/web/.next/server/chunks/[root-of-the-server]__0af905fe._.js.map +1 -0
  91. package/web/.next/server/chunks/[root-of-the-server]__3d63a020._.js +8 -0
  92. package/web/.next/server/chunks/[root-of-the-server]__3d63a020._.js.map +1 -0
  93. package/web/.next/server/chunks/[root-of-the-server]__72567d8d._.js +3 -0
  94. package/web/.next/server/chunks/[root-of-the-server]__72567d8d._.js.map +1 -0
  95. package/web/.next/server/chunks/[root-of-the-server]__acfd2769._.js +3 -0
  96. package/web/.next/server/chunks/[root-of-the-server]__acfd2769._.js.map +1 -0
  97. package/web/.next/server/chunks/src_presentation_web_instrumentation_ts_2b921ecb._.js +3 -0
  98. package/web/.next/server/chunks/src_presentation_web_instrumentation_ts_2b921ecb._.js.map +1 -0
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
  100. package/web/.next/server/chunks/ssr/_09afa42a._.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  102. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  103. package/web/.next/server/edge/chunks/403f9_next_dist_esm_build_templates_edge-wrapper_f6192dd5.js.map +1 -0
  104. package/web/.next/server/edge/chunks/_5e9af917._.js +3 -0
  105. package/web/.next/server/edge/chunks/_5e9af917._.js.map +1 -0
  106. package/web/.next/server/edge/chunks/b35d5_next_dist_esm_build_templates_edge-wrapper_f6192dd5.js +6 -0
  107. package/web/.next/server/instrumentation/middleware-manifest.json +12 -0
  108. package/web/.next/server/instrumentation.js +4 -0
  109. package/web/.next/server/instrumentation.js.map +5 -0
  110. package/web/.next/server/instrumentation.js.nft.json +1 -0
  111. package/web/.next/server/pages/404.html +2 -2
  112. package/web/.next/server/pages/500.html +2 -2
  113. package/web/.next/server/server-reference-manifest.js +1 -1
  114. package/web/.next/server/server-reference-manifest.json +1 -1
  115. package/web/.next/trace +1 -1
  116. package/web/.next/trace-build +1 -1
  117. package/web/package.json +1 -0
  118. package/dist/packages/core/src/infrastructure/di/populate-use-cases-bridge.d.ts +0 -20
  119. package/dist/packages/core/src/infrastructure/di/populate-use-cases-bridge.d.ts.map +0 -1
  120. package/dist/packages/core/src/infrastructure/di/populate-use-cases-bridge.js +0 -31
  121. package/dist/packages/core/src/infrastructure/di/use-cases-bridge.d.ts +0 -49
  122. package/dist/packages/core/src/infrastructure/di/use-cases-bridge.d.ts.map +0 -1
  123. package/dist/packages/core/src/infrastructure/di/use-cases-bridge.js +0 -104
  124. package/web/.next/server/chunks/[root-of-the-server]__0c45619b._.js +0 -8
  125. package/web/.next/server/chunks/[root-of-the-server]__0c45619b._.js.map +0 -1
  126. package/web/.next/server/chunks/[root-of-the-server]__25329f72._.js +0 -3
  127. package/web/.next/server/chunks/[root-of-the-server]__25329f72._.js.map +0 -1
  128. package/web/.next/server/chunks/[root-of-the-server]__61349adc._.js +0 -3
  129. package/web/.next/server/chunks/[root-of-the-server]__61349adc._.js.map +0 -1
  130. package/web/.next/server/chunks/[root-of-the-server]__aa2074ca._.js +0 -3
  131. package/web/.next/server/chunks/[root-of-the-server]__aa2074ca._.js.map +0 -1
  132. /package/web/.next/static/{LkrVnyOa_e5oKSoKOC3uq → C_QsuOPQWDrYc18EOtMAm}/_buildManifest.js +0 -0
  133. /package/web/.next/static/{LkrVnyOa_e5oKSoKOC3uq → C_QsuOPQWDrYc18EOtMAm}/_clientMiddlewareManifest.json +0 -0
  134. /package/web/.next/static/{LkrVnyOa_e5oKSoKOC3uq → C_QsuOPQWDrYc18EOtMAm}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime-utils.ts","turbopack:///[turbopack]/browser/runtime/base/runtime-base.ts","turbopack:///[turbopack]/browser/runtime/base/build-base.ts","turbopack:///[turbopack]/shared-node/base-externals-utils.ts","turbopack:///[turbopack]/browser/runtime/edge/runtime-backend-edge.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-types.d.ts\" />\n\ntype EsmNamespaceObject = Record<string, any>\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent<M>(\n id: ModuleId,\n sourceModule: M\n): M\n\nconst REEXPORTED_OBJECTS = new WeakMap<Module, ReexportedObjects>()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext<Module>,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext<Module>\n\ntype ModuleContextMap = Record<ModuleId, ModuleContextEntry>\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise<Exports | EsmNamespaceObject>\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent<M extends Module> = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType<any>\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache<Module>,\n id: ModuleId\n): Module {\n let module = moduleCache[id]\n if (!module) {\n // This is invoked when a module is merged into another module, thus it wasn't invoked via\n // instantiateModule and the cache entry wasn't created yet.\n module = createModuleObject(id)\n moduleCache[id] = module\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext<Module>,\n bindings: EsmBindings,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings)\n}\ncontextPrototype.s = esmExport\n\ntype ReexportedObjects = Record<PropertyKey, unknown>[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n for (const obj of reexportedObjects!) {\n const value = Reflect.get(obj, prop)\n if (value !== undefined) return value\n }\n return undefined\n },\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext<Module>,\n object: Record<string, any>,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext<Module>,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext<Module>,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record<string | symbol, any>, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exclude<Module['namespaceObject'], undefined> {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext<Module>,\n moduleId: ModuleId\n): Promise<Exports> {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise<Exports>\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise<Exports>)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\nfunction isPromise<T = any>(maybePromise: any): maybePromise is Promise<T> {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt<T extends {}>(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise<T>((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\n// Load the CompressedmoduleFactories of a chunk into the `moduleFactories` Map.\n// The CompressedModuleFactories format is\n// - 1 or more module ids\n// - a module factory function\n// So walking this is a little complex but the flat structure is also fast to\n// traverse, we can use `typeof` operators to distinguish the two cases.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n while (i < chunkModules.length) {\n let moduleId = chunkModules[i] as ModuleId\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n // Each chunk item has a 'primary id' and optional additional ids. If the primary id is already\n // present we know all the additional ids are also present, so we don't need to check.\n if (!moduleFactories.has(moduleId)) {\n const moduleFactoryFn = chunkModules[end] as Function\n applyModuleFactoryName(moduleFactoryFn)\n newModuleId?.(moduleId)\n for (; i < end; i++) {\n moduleId = chunkModules[i] as ModuleId\n moduleFactories.set(moduleId, moduleFactoryFn)\n }\n }\n i = end + 1 // end is pointing at the last factory advance to the next id or the end of the array.\n }\n}\n\n// everything below is adapted from webpack\n// https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise<Exports>\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise<T = Exports> = Promise<T> & AsyncModuleExt\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext<Module>,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set<AsyncQueue> = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise<Exports>()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record<string, any> = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array<any>) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor<M> = {\n new (module: Module, exports: Exports): TurbopackBaseContext<M>\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n","/**\n * This file contains runtime types and functions that are shared between all\n * Turbopack *development* ECMAScript runtimes.\n *\n * It will be appended to the runtime code of each runtime right after the\n * shared runtime utils.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../base/globals.d.ts\" />\n/// <reference path=\"../../../shared/runtime-utils.ts\" />\n\n// Used in WebWorkers to tell the runtime about the chunk base path\ndeclare var TURBOPACK_WORKER_LOCATION: string\n// Used in WebWorkers to tell the runtime about the chunk suffix\ndeclare var TURBOPACK_CHUNK_SUFFIX: string\n// Used in WebWorkers to tell the runtime about the current chunk url since it can't be detected via document.currentScript\n// Note it's stored in reversed order to use push and pop\ndeclare var TURBOPACK_NEXT_CHUNK_URLS: ChunkUrl[] | undefined\n\n// Injected by rust code\ndeclare var CHUNK_BASE_PATH: string\ndeclare var CHUNK_SUFFIX: string\n\ninterface TurbopackBrowserBaseContext<M> extends TurbopackBaseContext<M> {\n R: ResolvePathFromModule\n}\n\nconst browserContextPrototype =\n Context.prototype as TurbopackBrowserBaseContext<unknown>\n\n// Provided by build or dev base\ndeclare function instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): Module\n\ntype RuntimeParams = {\n otherChunks: ChunkData[]\n runtimeModuleIds: ModuleId[]\n}\n\ntype ChunkRegistration = [\n chunkPath: ChunkScript,\n ...([RuntimeParams] | CompressedModuleFactories),\n]\n\ntype ChunkList = {\n script: ChunkListScript\n chunks: ChunkData[]\n source: 'entry' | 'dynamic'\n}\n\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\ninterface RuntimeBackend {\n registerChunk: (chunkPath: ChunkPath, params?: RuntimeParams) => void\n /**\n * Returns the same Promise for the same chunk URL.\n */\n loadChunkCached: (sourceType: SourceType, chunkUrl: ChunkUrl) => Promise<void>\n loadWebAssembly: (\n sourceType: SourceType,\n sourceData: SourceData,\n wasmChunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module,\n importsObj: WebAssembly.Imports\n ) => Promise<Exports>\n loadWebAssemblyModule: (\n sourceType: SourceType,\n sourceData: SourceData,\n wasmChunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module\n ) => Promise<WebAssembly.Module>\n}\n\ninterface DevRuntimeBackend {\n reloadChunk?: (chunkUrl: ChunkUrl) => Promise<void>\n unloadChunk?: (chunkUrl: ChunkUrl) => void\n restart: () => void\n}\n\nconst moduleFactories: ModuleFactories = new Map()\ncontextPrototype.M = moduleFactories\n\nconst availableModules: Map<ModuleId, Promise<any> | true> = new Map()\n\nconst availableModuleChunks: Map<ChunkPath, Promise<any> | true> = new Map()\n\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\nfunction loadChunk(\n this: TurbopackBrowserBaseContext<Module>,\n chunkData: ChunkData\n): Promise<void> {\n return loadChunkInternal(SourceType.Parent, this.m.id, chunkData)\n}\nbrowserContextPrototype.l = loadChunk\n\nfunction loadInitialChunk(chunkPath: ChunkPath, chunkData: ChunkData) {\n return loadChunkInternal(SourceType.Runtime, chunkPath, chunkData)\n}\n\nasync function loadChunkInternal(\n sourceType: SourceType,\n sourceData: SourceData,\n chunkData: ChunkData\n): Promise<void> {\n if (typeof chunkData === 'string') {\n return loadChunkPath(sourceType, sourceData, chunkData)\n }\n\n const includedList = chunkData.included || []\n const modulesPromises = includedList.map((included) => {\n if (moduleFactories.has(included)) return true\n return availableModules.get(included)\n })\n if (modulesPromises.length > 0 && modulesPromises.every((p) => p)) {\n // When all included items are already loaded or loading, we can skip loading ourselves\n await Promise.all(modulesPromises)\n return\n }\n\n const includedModuleChunksList = chunkData.moduleChunks || []\n const moduleChunksPromises = includedModuleChunksList\n .map((included) => {\n // TODO(alexkirsz) Do we need this check?\n // if (moduleFactories[included]) return true;\n return availableModuleChunks.get(included)\n })\n .filter((p) => p)\n\n let promise: Promise<unknown>\n if (moduleChunksPromises.length > 0) {\n // Some module chunks are already loaded or loading.\n\n if (moduleChunksPromises.length === includedModuleChunksList.length) {\n // When all included module chunks are already loaded or loading, we can skip loading ourselves\n await Promise.all(moduleChunksPromises)\n return\n }\n\n const moduleChunksToLoad: Set<ChunkPath> = new Set()\n for (const moduleChunk of includedModuleChunksList) {\n if (!availableModuleChunks.has(moduleChunk)) {\n moduleChunksToLoad.add(moduleChunk)\n }\n }\n\n for (const moduleChunkToLoad of moduleChunksToLoad) {\n const promise = loadChunkPath(sourceType, sourceData, moduleChunkToLoad)\n\n availableModuleChunks.set(moduleChunkToLoad, promise)\n\n moduleChunksPromises.push(promise)\n }\n\n promise = Promise.all(moduleChunksPromises)\n } else {\n promise = loadChunkPath(sourceType, sourceData, chunkData.path)\n\n // Mark all included module chunks as loading if they are not already loaded or loading.\n for (const includedModuleChunk of includedModuleChunksList) {\n if (!availableModuleChunks.has(includedModuleChunk)) {\n availableModuleChunks.set(includedModuleChunk, promise)\n }\n }\n }\n\n for (const included of includedList) {\n if (!availableModules.has(included)) {\n // It might be better to race old and new promises, but it's rare that the new promise will be faster than a request started earlier.\n // In production it's even more rare, because the chunk optimization tries to deduplicate modules anyway.\n availableModules.set(included, promise)\n }\n }\n\n await promise\n}\n\nconst loadedChunk = Promise.resolve(undefined)\nconst instrumentedBackendLoadChunks = new WeakMap<\n Promise<any>,\n Promise<any> | typeof loadedChunk\n>()\n// Do not make this async. React relies on referential equality of the returned Promise.\nfunction loadChunkByUrl(\n this: TurbopackBrowserBaseContext<Module>,\n chunkUrl: ChunkUrl\n) {\n return loadChunkByUrlInternal(SourceType.Parent, this.m.id, chunkUrl)\n}\nbrowserContextPrototype.L = loadChunkByUrl\n\n// Do not make this async. React relies on referential equality of the returned Promise.\nfunction loadChunkByUrlInternal(\n sourceType: SourceType,\n sourceData: SourceData,\n chunkUrl: ChunkUrl\n): Promise<any> {\n const thenable = BACKEND.loadChunkCached(sourceType, chunkUrl)\n let entry = instrumentedBackendLoadChunks.get(thenable)\n if (entry === undefined) {\n const resolve = instrumentedBackendLoadChunks.set.bind(\n instrumentedBackendLoadChunks,\n thenable,\n loadedChunk\n )\n entry = thenable.then(resolve).catch((cause) => {\n let loadReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n loadReason = `as a runtime dependency of chunk ${sourceData}`\n break\n case SourceType.Parent:\n loadReason = `from module ${sourceData}`\n break\n case SourceType.Update:\n loadReason = 'from an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n let error = new Error(\n `Failed to load chunk ${chunkUrl} ${loadReason}${\n cause ? `: ${cause}` : ''\n }`,\n cause ? { cause } : undefined\n )\n error.name = 'ChunkLoadError'\n throw error\n })\n instrumentedBackendLoadChunks.set(thenable, entry)\n }\n\n return entry\n}\n\n// Do not make this async. React relies on referential equality of the returned Promise.\nfunction loadChunkPath(\n sourceType: SourceType,\n sourceData: SourceData,\n chunkPath: ChunkPath\n): Promise<void> {\n const url = getChunkRelativeUrl(chunkPath)\n return loadChunkByUrlInternal(sourceType, sourceData, url)\n}\n\n/**\n * Returns an absolute url to an asset.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext<Module>,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n return exported?.default ?? exported\n}\nbrowserContextPrototype.R = resolvePathFromModule\n\n/**\n * no-op for browser\n * @param modulePath\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n return `/ROOT/${modulePath ?? ''}`\n}\nbrowserContextPrototype.P = resolveAbsolutePath\n\n/**\n * Returns a blob URL for the worker.\n * @param chunks list of chunks to load\n */\nfunction getWorkerBlobURL(chunks: ChunkPath[]): string {\n // It is important to reverse the array so when bootstrapping we can infer what chunk is being\n // evaluated by poping urls off of this array. See `getPathFromScript`\n let bootstrap = `self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};\nself.TURBOPACK_CHUNK_SUFFIX = ${JSON.stringify(CHUNK_SUFFIX)};\nself.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(chunks.reverse().map(getChunkRelativeUrl), null, 2)};\nimportScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`\n let blob = new Blob([bootstrap], { type: 'text/javascript' })\n return URL.createObjectURL(blob)\n}\nbrowserContextPrototype.b = getWorkerBlobURL\n\n/**\n * Instantiates a runtime module.\n */\nfunction instantiateRuntimeModule(\n moduleId: ModuleId,\n chunkPath: ChunkPath\n): Module {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n/**\n * Returns the URL relative to the origin where a chunk can be fetched from.\n */\nfunction getChunkRelativeUrl(chunkPath: ChunkPath | ChunkListPath): ChunkUrl {\n return `${CHUNK_BASE_PATH}${chunkPath\n .split('/')\n .map((p) => encodeURIComponent(p))\n .join('/')}${CHUNK_SUFFIX}` as ChunkUrl\n}\n\n/**\n * Return the ChunkPath from a ChunkScript.\n */\nfunction getPathFromScript(chunkScript: ChunkPath | ChunkScript): ChunkPath\nfunction getPathFromScript(\n chunkScript: ChunkListPath | ChunkListScript\n): ChunkListPath\nfunction getPathFromScript(\n chunkScript: ChunkPath | ChunkListPath | ChunkScript | ChunkListScript\n): ChunkPath | ChunkListPath {\n if (typeof chunkScript === 'string') {\n return chunkScript as ChunkPath | ChunkListPath\n }\n const chunkUrl =\n typeof TURBOPACK_NEXT_CHUNK_URLS !== 'undefined'\n ? TURBOPACK_NEXT_CHUNK_URLS.pop()!\n : chunkScript.getAttribute('src')!\n const src = decodeURIComponent(chunkUrl.replace(/[?#].*$/, ''))\n const path = src.startsWith(CHUNK_BASE_PATH)\n ? src.slice(CHUNK_BASE_PATH.length)\n : src\n return path as ChunkPath | ChunkListPath\n}\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n\nconst regexCssUrl = /\\.css(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .css, optionally followed by ?query or #fragment.\n */\nfunction isCss(chunkUrl: ChunkUrl): boolean {\n return regexCssUrl.test(chunkUrl)\n}\n\nfunction loadWebAssembly(\n this: TurbopackBaseContext<Module>,\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module,\n importsObj: WebAssembly.Imports\n): Promise<Exports> {\n return BACKEND.loadWebAssembly(\n SourceType.Parent,\n this.m.id,\n chunkPath,\n edgeModule,\n importsObj\n )\n}\ncontextPrototype.w = loadWebAssembly\n\nfunction loadWebAssemblyModule(\n this: TurbopackBaseContext<Module>,\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module\n): Promise<WebAssembly.Module> {\n return BACKEND.loadWebAssemblyModule(\n SourceType.Parent,\n this.m.id,\n chunkPath,\n edgeModule\n )\n}\ncontextPrototype.u = loadWebAssemblyModule\n","/// <reference path=\"./runtime-base.ts\" />\n/// <reference path=\"./dummy.ts\" />\n\nconst moduleCache: ModuleCache<Module> = {}\ncontextPrototype.c = moduleCache\n\n/**\n * Gets or instantiates a runtime module.\n */\n// @ts-ignore\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module {\n const module = moduleCache[moduleId]\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n */\n// Used by the backend\n// @ts-ignore\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getOrInstantiateModuleFromParent: GetOrInstantiateModuleFromParent<\n Module\n> = (id, sourceModule) => {\n const module = moduleCache[id]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateModule(id, SourceType.Parent, sourceModule.id)\n}\n\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): Module {\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n // This can happen if modules incorrectly handle HMR disposes/updates,\n // e.g. when they keep a `setTimeout` around which still executes old code\n // and contains e.g. a `require(\"something\")` call.\n throw new Error(factoryNotAvailableMessage(id, sourceType, sourceData))\n }\n\n const module: Module = createModuleObject(id)\n const exports = module.exports\n\n moduleCache[id] = module\n\n // NOTE(alexkirsz) This can fail when the module encounters a runtime error.\n const context = new (Context as any as ContextConstructor<Module>)(\n module,\n exports\n )\n try {\n moduleFactory(context, module, exports)\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction registerChunk(registration: ChunkRegistration) {\n const chunkPath = getPathFromScript(registration[0])\n let runtimeParams: RuntimeParams | undefined\n // When bootstrapping we are passed a single runtimeParams object so we can distinguish purely based on length\n if (registration.length === 2) {\n runtimeParams = registration[1] as RuntimeParams\n } else {\n runtimeParams = undefined\n installCompressedModuleFactories(\n registration as CompressedModuleFactories,\n /* offset= */ 1,\n moduleFactories\n )\n }\n\n return BACKEND.registerChunk(chunkPath, runtimeParams)\n}\n","/// <reference path=\"../shared/runtime-utils.ts\" />\n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n","/**\n * This file contains the runtime code specific to the Turbopack development\n * ECMAScript \"None\" runtime (e.g. for Edge).\n *\n * It will be appended to the base development runtime code.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../base/runtime-base.ts\" />\n/// <reference path=\"../../../shared/require-type.d.ts\" />\n/// <reference path=\"../../../shared-node/base-externals-utils.ts\" />\n\ntype ChunkRunner = {\n requiredChunks: Set<ChunkPath>\n chunkPath: ChunkPath\n runtimeModuleIds: ModuleId[]\n}\n\nlet BACKEND: RuntimeBackend\n;(() => {\n BACKEND = {\n // The \"none\" runtime expects all chunks within the same chunk group to be\n // registered before any of them are instantiated.\n // Furthermore, modules must be instantiated synchronously, hence we don't\n // use promises here.\n registerChunk(chunkPath, params) {\n registeredChunks.add(chunkPath)\n instantiateDependentChunks(chunkPath)\n\n if (params == null) {\n return\n }\n\n if (params.otherChunks.length === 0) {\n // The current chunk does not depend on any other chunks, it can be\n // instantiated immediately.\n instantiateRuntimeModules(params.runtimeModuleIds, chunkPath)\n } else {\n // The current chunk depends on other chunks, so we need to wait for\n // those chunks to be registered before instantiating the runtime\n // modules.\n registerChunkRunner(\n chunkPath,\n params.otherChunks.filter((chunk) =>\n // The none runtime can only handle JS chunks, so we only wait for these\n isJs(getChunkPath(chunk))\n ),\n params.runtimeModuleIds\n )\n }\n },\n\n loadChunkCached(_sourceType: SourceType, _chunkUrl: ChunkUrl) {\n throw new Error('chunk loading is not supported')\n },\n\n async loadWebAssembly(\n _sourceType: SourceType,\n _sourceData: SourceData,\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module,\n imports: WebAssembly.Imports\n ): Promise<Exports> {\n const module = await loadEdgeWasm(chunkPath, edgeModule)\n\n return await WebAssembly.instantiate(module, imports)\n },\n\n async loadWebAssemblyModule(\n _sourceType: SourceType,\n _sourceData: SourceData,\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module\n ): Promise<WebAssembly.Module> {\n return loadEdgeWasm(chunkPath, edgeModule)\n },\n }\n\n const registeredChunks: Set<ChunkPath> = new Set()\n const runners: Map<ChunkPath, Set<ChunkRunner>> = new Map()\n\n /**\n * Registers a chunk runner that will be instantiated once all of the\n * dependencies of the chunk have been registered.\n */\n function registerChunkRunner(\n chunkPath: ChunkPath,\n otherChunks: ChunkData[],\n runtimeModuleIds: ModuleId[]\n ) {\n const requiredChunks: Set<ChunkPath> = new Set()\n const runner = {\n runtimeModuleIds,\n chunkPath,\n requiredChunks,\n }\n\n for (const otherChunkData of otherChunks) {\n const otherChunkPath = getChunkPath(otherChunkData)\n if (registeredChunks.has(otherChunkPath)) {\n continue\n }\n\n requiredChunks.add(otherChunkPath)\n let runnersForChunk = runners.get(otherChunkPath)\n if (runnersForChunk == null) {\n runnersForChunk = new Set()\n runners.set(otherChunkPath, runnersForChunk)\n }\n runnersForChunk.add(runner)\n }\n // When all chunks are already registered, we can instantiate the runtime module\n if (runner.requiredChunks.size === 0) {\n instantiateRuntimeModules(runner.runtimeModuleIds, runner.chunkPath)\n }\n }\n\n /**\n * Instantiates any chunk runners that were waiting for the given chunk to be\n * registered.\n */\n function instantiateDependentChunks(chunkPath: ChunkPath) {\n // Run any chunk runners that were waiting for this chunk to be\n // registered.\n const runnersForChunk = runners.get(chunkPath)\n if (runnersForChunk != null) {\n for (const runner of runnersForChunk) {\n runner.requiredChunks.delete(chunkPath)\n\n if (runner.requiredChunks.size === 0) {\n instantiateRuntimeModules(runner.runtimeModuleIds, runner.chunkPath)\n }\n }\n runners.delete(chunkPath)\n }\n }\n\n /**\n * Instantiates the runtime modules for the given chunk.\n */\n function instantiateRuntimeModules(\n runtimeModuleIds: ModuleId[],\n chunkPath: ChunkPath\n ) {\n for (const moduleId of runtimeModuleIds) {\n getOrInstantiateRuntimeModule(chunkPath, moduleId)\n }\n }\n\n async function loadEdgeWasm(\n chunkPath: ChunkPath,\n edgeModule: () => WebAssembly.Module\n ): Promise<WebAssembly.Module> {\n let module\n try {\n module = edgeModule()\n } catch (_e) {}\n\n if (!module) {\n throw new Error(\n `dynamically loading WebAssembly is not supported in this runtime as global was not injected for chunk '${chunkPath}'`\n )\n }\n\n return module\n }\n})()\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4]}
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["chunks/_5e9af917._.js",23425,e=>{"use strict";function t(){}e.s(["register",()=>t])},4572,(e,t,n)=>{self._ENTRIES||={};let s=Promise.resolve().then(()=>e.i(23425));s.catch(()=>{}),self._ENTRIES.middleware_instrumentation=new Proxy(s,{get(e,t){if("then"===t)return(t,n)=>e.then(t,n);let n=(...n)=>e.then(e=>(0,e[t])(...n));return n.then=(n,s)=>e.then(e=>e[t]).then(n,s),n}})}]);
2
+
3
+ //# sourceMappingURL=_5e9af917._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["turbopack:///[project]/src/presentation/web/instrumentation.ts","turbopack:///[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/src/build/templates/edge-wrapper.js"],"sourcesContent":["/**\n * Next.js Instrumentation — intentionally empty.\n *\n * The DI container is initialized BEFORE Next.js starts:\n * - Production: CLI bootstrap (src/presentation/cli/index.ts) → `shep ui`\n * - Dev mode: dev-server.ts → `pnpm dev:web`\n * - E2E tests: Playwright webServer command uses dev-server.ts\n *\n * Turbopack cannot bundle tsyringe, reflect-metadata, or better-sqlite3,\n * so container initialization must happen outside the Next.js bundle.\n */\nexport function register() {\n // no-op: container already on globalThis.__shepContainer\n}\n","// The wrapped module could be an async module, we handle that with the proxy\n// here. The comma expression makes sure we don't call the function with the\n// module as the \"this\" arg.\n// Turn exports into functions that are also a thenable. This way you can await the whole object\n// or exports (e.g. for Components) or call them directly as though they are async functions\n// (e.g. edge functions/middleware, this is what the Edge Runtime does).\n// Catch promise to prevent UnhandledPromiseRejectionWarning, this will be propagated through\n// the awaited export(s) anyway.\nself._ENTRIES ||= {}\nconst modProm = import('MODULE')\nmodProm.catch(() => {})\nself._ENTRIES['VAR_ENTRY_NAME'] = new Proxy(modProm, {\n get(innerModProm, name) {\n if (name === 'then') {\n return (res, rej) => innerModProm.then(res, rej)\n }\n let result = (...args) =>\n innerModProm.then((mod) => (0, mod[name])(...args))\n result.then = (res, rej) =>\n innerModProm.then((mod) => mod[name]).then(res, rej)\n return result\n },\n})\n"],"names":["self","_ENTRIES","modProm","catch","Proxy","get","innerModProm","name","res","rej","then","result","args","mod"],"mappings":"uGAWO,SAAS,IAEhB,yCCLAA,KAAKC,QAAQ,GAAK,CAAC,EACnB,IAAMC,EAAU,MAAM,CAAC,CAAA,OAAA,GAAA,IAAA,CAAA,IAAA,EAAA,CAAA,CAAA,QACvBA,EAAQC,KAAK,CAAC,KAAO,GACrBH,KAAKC,QAAQ,CAAC,iBAAiB,GAAG,IAAIG,EAAAA,CAAMF,IAAAA,GAAS,GAAA,EAAA,CACnDG,IAAIC,CAAY,CAAEC,CAAI,EACpB,GAAa,QAAQ,CAAjBA,EACF,MAAO,CAACC,EAAKC,IAAQH,EAAaI,IAAI,CAACF,EAAKC,GAE9C,IAAIE,EAAS,CAAC,GAAGC,IACfN,EAAaI,IAAI,CAAC,AAACG,GAAS,CAAA,EAAGA,CAAG,CAACN,EAAAA,AAAI,KAAMK,IAG/C,OAFAD,EAAOD,IAAI,CAAG,CAACF,EAAKC,IAClBH,EAAaI,IAAI,CAAC,AAACG,GAAQA,CAAG,CAACN,EAAK,EAAEG,IAAI,CAACF,EAAKC,GAC3CE,CACT,CACF","ignoreList":[1]}
@@ -0,0 +1,6 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["chunks/b35d5_next_dist_esm_build_templates_edge-wrapper_f6192dd5.js",{otherChunks:["chunks/_5e9af917._.js"],runtimeModuleIds:[4572]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t=new WeakMap;function r(e,t){this.m=e,this.e=t}let n=r.prototype,o=Object.prototype.hasOwnProperty,u="u">typeof Symbol&&Symbol.toStringTag;function l(e,t,r){o.call(e,t)||Object.defineProperty(e,t,r)}function i(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function s(e,t){l(e,"__esModule",{value:!0}),u&&l(e,u,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)l(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?l(e,n,{get:o,set:t[r++],enumerable:!0}):l(e,n,{get:o,enumerable:!0})}Object.seal(e)}n.s=function(e,t){let r,n;null!=t?n=(r=i(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,s(n,e)},n.j=function(e,r){var n,u;let l,a,s;null!=r?a=(l=i(this.c,r)).exports:(l=this.m,a=this.e);let c=(n=l,u=a,(s=t.get(n))||(t.set(n,s=[]),n.exports=n.namespaceObject=new Proxy(u,{get(e,t){if(o.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&c.push(e)},n.v=function(e,t){(null!=t?i(this.c,t):this.m).exports=e},n.n=function(e,t){let r;(r=null!=t?i(this.c,t):this.m).exports=r.namespaceObject=e};let c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f=[null,c({}),c([]),c(c)];function d(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!f.includes(t);t=c(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),s(t,n),t}function p(e){return"function"==typeof e?function(...t){return e.apply(this,t)}:Object.create(null)}function h(e){let t=N(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=d(r,p(r),r&&r.__esModule)}function m(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function b(e){return"string"==typeof e?e:e.path}function y(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}n.i=h,n.A=function(e){return this.r(e)(h.bind(this))},n.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},n.r=function(e){return N(e,this.m).exports},n.f=function(e){function t(t){if(t=m(t),o.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=m(t),o.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=Symbol("turbopack queues"),g=Symbol("turbopack exports"),w=Symbol("turbopack error");function _(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}n.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:u,reject:l,promise:i}=y(),a=Object.assign(i,{[g]:r.exports,[O]:e=>{n&&e(n),o.forEach(e),a.catch(()=>{})}}),s={get:()=>a,set(e){e!==a&&(a[g]=e)}};Object.defineProperty(r,"exports",s),Object.defineProperty(r,"namespaceObject",s),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(O in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[g]:{},[O]:e=>e(t)};return e.then(e=>{r[g]=e,_(t)},e=>{r[w]=e,_(t)}),r}}return{[g]:e,[O]:()=>{}}}),r=()=>t.map(e=>{if(e[w])throw e[w];return e[g]}),{promise:u,resolve:l}=y(),i=Object.assign(()=>l(r),{queueCount:0});function a(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(i.queueCount++,e.push(i)))}return t.map(e=>e[O](a)),i.queueCount?u:r()},function(e){e?l(a[w]=e):u(a[g]),_(n)}),n&&-1===n.status&&(n.status=0)};let C=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function j(e,t){throw Error(`Invariant: ${t(e)}`)}C.prototype=URL.prototype,n.U=C,n.z=function(e){throw Error("dynamic usage of require is not supported")},n.g=globalThis;let U=r.prototype;var k,R=((k=R||{})[k.Runtime=0]="Runtime",k[k.Parent=1]="Parent",k[k.Update=2]="Update",k);let P=new Map;n.M=P;let v=new Map,T=new Map;async function $(e,t,r){let n;if("string"==typeof r)return M(e,t,A(r));let o=r.included||[],u=o.map(e=>!!P.has(e)||v.get(e));if(u.length>0&&u.every(e=>e))return void await Promise.all(u);let l=r.moduleChunks||[],i=l.map(e=>T.get(e)).filter(e=>e);if(i.length>0){if(i.length===l.length)return void await Promise.all(i);let r=new Set;for(let e of l)T.has(e)||r.add(e);for(let n of r){let r=M(e,t,A(n));T.set(n,r),i.push(r)}n=Promise.all(i)}else{for(let o of(n=M(e,t,A(r.path)),l))T.has(o)||T.set(o,n)}for(let e of o)v.has(e)||v.set(e,n);await n}U.l=function(e){return $(1,this.m.id,e)};let x=Promise.resolve(void 0),E=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),u=E.get(o);if(void 0===u){let e=E.set.bind(E,o,x);u=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}let u=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw u.name="ChunkLoadError",u}),E.set(o,u)}return u}function A(e){return`${e.split("/").map(e=>encodeURIComponent(e)).join("/")}`}U.L=function(e){return M(1,this.m.id,e)},U.R=function(e){let t=this.r(e);return t?.default??t},U.P=function(e){return`/ROOT/${e??""}`},U.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
2
+ self.TURBOPACK_CHUNK_SUFFIX = ${JSON.stringify("")};
3
+ self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(A),null,2)};
4
+ importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)};let K=/\.js(?:\?[^#]*)?(?:#.*)?$/;n.w=function(t,r,n){return e.loadWebAssembly(1,this.m.id,t,r,n)},n.u=function(t,r){return e.loadWebAssemblyModule(1,this.m.id,t,r)};let S={};n.c=S;let N=(e,t)=>{let r=S[e];if(r){if(r.error)throw r.error;return r}return q(e,R.Parent,t.id)};function q(e,t,n){let o=P.get(e);if("function"!=typeof o)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,n));let u=a(e),l=u.exports;S[e]=u;let i=new r(u,l);try{o(i,u,l)}catch(e){throw u.error=e,e}return u.namespaceObject&&u.exports!==u.namespaceObject&&d(u.exports,u.namespaceObject),u}function L(t){let r,n=function(e){if("string"==typeof e)return e;let t=decodeURIComponent(("u">typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return t.startsWith("")?t.slice(0):t}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t,r,n){let o=1;for(;o<e.length;){let t=e[o],n=o+1;for(;n<e.length&&"function"!=typeof e[n];)n++;if(n===e.length)throw Error("malformed chunk format, expected a factory function");if(!r.has(t)){let u=e[n];for(Object.defineProperty(u,"name",{value:"module evaluation"});o<n;o++)t=e[o],r.set(t,u)}o=n+1}}(t,0,P)),e.registerChunk(n,r)}function B(e,t,r=!1){let n;try{n=t()}catch(t){throw Error(`Failed to load external module ${e}: ${t}`)}return!r||n.__esModule?n:d(n,p(n),!0)}n.y=async function(e){let t;try{t=await import(e)}catch(t){throw Error(`Failed to load external module ${e}: ${t}`)}return t&&t.__esModule&&t.default&&"default"in t.default?d(t.default,p(t),!0):t},B.resolve=(e,t)=>require.resolve(e,t),n.x=B,e={registerChunk(e,t){I.add(e),function(e){let t=W.get(e);if(null!=t){for(let r of t)r.requiredChunks.delete(e),0===r.requiredChunks.size&&F(r.runtimeModuleIds,r.chunkPath);W.delete(e)}}(e),null!=t&&(0===t.otherChunks.length?F(t.runtimeModuleIds,e):function(e,t,r){let n=new Set,o={runtimeModuleIds:r,chunkPath:e,requiredChunks:n};for(let e of t){let t=b(e);if(I.has(t))continue;n.add(t);let r=W.get(t);null==r&&(r=new Set,W.set(t,r)),r.add(o)}0===o.requiredChunks.size&&F(o.runtimeModuleIds,o.chunkPath)}(e,t.otherChunks.filter(e=>{var t;return t=b(e),K.test(t)}),t.runtimeModuleIds))},loadChunkCached(e,t){throw Error("chunk loading is not supported")},async loadWebAssembly(e,t,r,n,o){let u=await H(r,n);return await WebAssembly.instantiate(u,o)},loadWebAssemblyModule:async(e,t,r,n)=>H(r,n)};let I=new Set,W=new Map;function F(e,t){for(let r of e)!function(e,t){let r=S[t];if(r){if(r.error)throw r.error;return}q(t,R.Runtime,e)}(t,r)}async function H(e,t){let r;try{r=t()}catch(e){}if(!r)throw Error(`dynamically loading WebAssembly is not supported in this runtime as global was not injected for chunk '${e}'`);return r}let X=globalThis.TURBOPACK;globalThis.TURBOPACK={push:L},X.forEach(L)})();
5
+
6
+ //# sourceMappingURL=403f9_next_dist_esm_build_templates_edge-wrapper_f6192dd5.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "sorted_middleware": [],
3
+ "middleware": {},
4
+ "instrumentation": {
5
+ "files": [
6
+ "server/edge/chunks/_5e9af917._.js",
7
+ "server/edge/chunks/b35d5_next_dist_esm_build_templates_edge-wrapper_f6192dd5.js"
8
+ ],
9
+ "name": "instrumentation"
10
+ },
11
+ "functions": {}
12
+ }
@@ -0,0 +1,4 @@
1
+ var R=require("./chunks/[turbopack]_runtime.js")("server/instrumentation.js")
2
+ R.c("server/chunks/src_presentation_web_instrumentation_ts_2b921ecb._.js")
3
+ R.m(27369)
4
+ module.exports=R.m(27369).exports
@@ -0,0 +1,5 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sections": []
5
+ }
@@ -0,0 +1 @@
1
+ {"version":1,"files":["./chunks/[turbopack]_runtime.js","./chunks/src_presentation_web_instrumentation_ts_2b921ecb._.js"]}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><!--LkrVnyOa_e5oKSoKOC3uq--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/fd816afd85fd9a19.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/df7d29673e0ac11d.js"/><script src="/_next/static/chunks/07f00e2e73d322d2.js" async=""></script><script src="/_next/static/chunks/f3b4460b1496ef52.js" async=""></script><script src="/_next/static/chunks/70993ebedee7eab0.js" async=""></script><script src="/_next/static/chunks/turbopack-a5a88a85e7ac8e8d.js" async=""></script><script src="/_next/static/chunks/b32b17f102226f32.js" async=""></script><script src="/_next/static/chunks/37bc3e283f734dca.js" async=""></script><script src="/_next/static/chunks/1d665ddc2230f73f.js" async=""></script><script src="/_next/static/chunks/4431cc2d3628b6f6.js" async=""></script><meta name="robots" content="noindex"/><title>Shep AI</title><meta name="description" content="Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"/><script>
1
+ <!DOCTYPE html><!--C_QsuOPQWDrYc18EOtMAm--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/fd816afd85fd9a19.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/df7d29673e0ac11d.js"/><script src="/_next/static/chunks/07f00e2e73d322d2.js" async=""></script><script src="/_next/static/chunks/f3b4460b1496ef52.js" async=""></script><script src="/_next/static/chunks/70993ebedee7eab0.js" async=""></script><script src="/_next/static/chunks/turbopack-a5a88a85e7ac8e8d.js" async=""></script><script src="/_next/static/chunks/b32b17f102226f32.js" async=""></script><script src="/_next/static/chunks/37bc3e283f734dca.js" async=""></script><script src="/_next/static/chunks/1d665ddc2230f73f.js" async=""></script><script src="/_next/static/chunks/4431cc2d3628b6f6.js" async=""></script><meta name="robots" content="noindex"/><title>Shep AI</title><meta name="description" content="Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"/><script>
2
2
  (function() {
3
3
  try {
4
4
  const theme = localStorage.getItem('shep-theme');
@@ -8,4 +8,4 @@
8
8
  }
9
9
  } catch (e) {}
10
10
  })();
11
- </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen antialiased"><div hidden=""><!--$--><!--/$--></div><div data-slot="sidebar-wrapper" style="--sidebar-width:16rem;--sidebar-width-icon:3rem" class="group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full"><div class="group peer text-sidebar-foreground hidden md:block" data-state="expanded" data-collapsible="" data-variant="sidebar" data-side="left" data-slot="sidebar"><div data-slot="sidebar-gap" class="relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 group-data-[collapsible=icon]:w-(--sidebar-width-icon)"></div><div data-slot="sidebar-container" class="fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l" data-testid="app-sidebar"><div data-sidebar="sidebar" data-slot="sidebar-inner" class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"><div data-slot="sidebar-header" data-sidebar="header" class="flex flex-col gap-2 p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><div class="flex h-8 items-center group-data-[collapsible=icon]:justify-center"><div class="flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out opacity-100" aria-hidden="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 194 200" width="20" height="20" class="shrink-0" aria-hidden="true"><g transform="matrix(1, 0, 0, 1, -111, -208)"><path d="M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z" fill="currentColor"></path></g></svg><span class="truncate text-sm font-semibold tracking-tight">Shep</span></div><div class="flex shrink-0 transition-all duration-200"><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-7 cursor-pointer group-data-[collapsible=icon]:size-8!" data-testid="sidebar-collapse-toggle" aria-label="Collapse sidebar"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left size-4" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div></div></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative" data-testid="sidebar-nav-item"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span>Control Center</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative" data-testid="sidebar-nav-item"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed" href="/memory"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><span>Memory</span></a></li></ul></div><div data-slot="sidebar-content" data-sidebar="content" class="flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden"><div class="min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&amp;_[data-sidebar=group-label]]:!mt-0 [&amp;_[data-sidebar=group-label]]:!opacity-100 [&amp;_[data-sidebar=group-label]]:!transition-none opacity-100"><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2 px-2 py-1" data-testid="sidebar-section-header"><div class="text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium"><span class="min-w-0 flex-1 truncate">Features</span><span class="text-sidebar-foreground/70 flex shrink-0 items-center gap-0.5"><button type="button" class="ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&amp;&gt;svg]:size-4" aria-label="Open features folder" data-state="closed" data-slot="tooltip-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder size-4" aria-hidden="true"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path></svg></button><button type="button" class="ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&amp;&gt;svg]:size-4" aria-label="Features options" data-state="closed" data-slot="tooltip-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-horizontal size-4" aria-hidden="true"><circle cx="12" cy="9" r="1"></circle><circle cx="19" cy="9" r="1"></circle><circle cx="5" cy="9" r="1"></circle><circle cx="12" cy="15" r="1"></circle><circle cx="19" cy="15" r="1"></circle><circle cx="5" cy="15" r="1"></circle></svg></button></span></div></div><div dir="ltr" data-slot="scroll-area" class="relative" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" data-slot="scroll-area-viewport" class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"></div></div></div></div></div><div data-slot="sidebar-footer" data-sidebar="footer" class="flex flex-col gap-2 p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg><span>New feature</span></button></li></ul></div><button data-sidebar="rail" data-slot="sidebar-rail" aria-label="Toggle Sidebar" tabindex="-1" title="Toggle Sidebar" class="hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize [[data-side=left][data-state=collapsed]_&amp;]:cursor-e-resize [[data-side=right][data-state=collapsed]_&amp;]:cursor-w-resize hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full [[data-side=left][data-collapsible=offcanvas]_&amp;]:-right-2 [[data-side=right][data-collapsible=offcanvas]_&amp;]:-left-2"></button></div></div></div><main data-slot="sidebar-inset" class="bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2"><div class="relative h-full"><div class="absolute top-3 right-3 z-50"><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" aria-label="Switch to dark mode"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span class="sr-only">Toggle theme</span></button></div><main class="h-full"><div class="flex min-h-screen items-center justify-center"><div class="text-center"><h2 class="text-2xl font-bold">Not Found</h2><p class="text-muted-foreground">Could not find requested resource</p></div></div><!--$--><!--/$--></main></div></main></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/df7d29673e0ac11d.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[87292,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"AppShell\"]\n3:I[40799,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"default\"]\n4:I[73006,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"default\"]\n5:I[25251,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"Toaster\"]\n6:I[66658,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[66658,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"ViewportBoundary\"]\nb:I[66658,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"MetadataBoundary\"]\nd:I[42726,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"default\"]\n:HL[\"/_next/static/chunks/fd816afd85fd9a19.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"LkrVnyOa_e5oKSoKOC3uq\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/fd816afd85fd9a19.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/b32b17f102226f32.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/37bc3e283f734dca.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1d665ddc2230f73f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/4431cc2d3628b6f6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n try {\\n const theme = localStorage.getItem('shep-theme');\\n const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\\n if (theme === 'dark' || (theme === 'system' \u0026\u0026 systemDark) || (!theme \u0026\u0026 systemDark)) {\\n document.documentElement.classList.add('dark');\\n }\\n } catch (e) {}\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-screen items-center justify-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-bold\",\"children\":\"Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"Could not find requested resource\"}]]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-screen items-center justify-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-bold\",\"children\":\"Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"Could not find requested resource\"}]]}]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"Shep AI\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy\"}]]\n"])</script></body></html>
11
+ </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen antialiased"><div hidden=""><!--$--><!--/$--></div><div data-slot="sidebar-wrapper" style="--sidebar-width:16rem;--sidebar-width-icon:3rem" class="group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full"><div class="group peer text-sidebar-foreground hidden md:block" data-state="expanded" data-collapsible="" data-variant="sidebar" data-side="left" data-slot="sidebar"><div data-slot="sidebar-gap" class="relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 group-data-[collapsible=icon]:w-(--sidebar-width-icon)"></div><div data-slot="sidebar-container" class="fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l" data-testid="app-sidebar"><div data-sidebar="sidebar" data-slot="sidebar-inner" class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"><div data-slot="sidebar-header" data-sidebar="header" class="flex flex-col gap-2 p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><div class="flex h-8 items-center group-data-[collapsible=icon]:justify-center"><div class="flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out opacity-100" aria-hidden="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 194 200" width="20" height="20" class="shrink-0" aria-hidden="true"><g transform="matrix(1, 0, 0, 1, -111, -208)"><path d="M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z" fill="currentColor"></path></g></svg><span class="truncate text-sm font-semibold tracking-tight">Shep</span></div><div class="flex shrink-0 transition-all duration-200"><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-7 cursor-pointer group-data-[collapsible=icon]:size-8!" data-testid="sidebar-collapse-toggle" aria-label="Collapse sidebar"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left size-4" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div></div></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative" data-testid="sidebar-nav-item"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span>Control Center</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative" data-testid="sidebar-nav-item"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed" href="/memory"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><span>Memory</span></a></li></ul></div><div data-slot="sidebar-content" data-sidebar="content" class="flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden"><div class="min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&amp;_[data-sidebar=group-label]]:!mt-0 [&amp;_[data-sidebar=group-label]]:!opacity-100 [&amp;_[data-sidebar=group-label]]:!transition-none opacity-100"><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2 px-2 py-1" data-testid="sidebar-section-header"><div class="text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium"><span class="min-w-0 flex-1 truncate">Features</span><span class="text-sidebar-foreground/70 flex shrink-0 items-center gap-0.5"><button type="button" class="ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&amp;&gt;svg]:size-4" aria-label="Open features folder" data-state="closed" data-slot="tooltip-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder size-4" aria-hidden="true"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path></svg></button><button type="button" class="ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&amp;&gt;svg]:size-4" aria-label="Features options" data-state="closed" data-slot="tooltip-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grip-horizontal size-4" aria-hidden="true"><circle cx="12" cy="9" r="1"></circle><circle cx="19" cy="9" r="1"></circle><circle cx="5" cy="9" r="1"></circle><circle cx="12" cy="15" r="1"></circle><circle cx="19" cy="15" r="1"></circle><circle cx="5" cy="15" r="1"></circle></svg></button></span></div></div><div dir="ltr" data-slot="scroll-area" class="relative" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" data-slot="scroll-area-viewport" class="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"></div></div></div></div></div><div data-slot="sidebar-footer" data-sidebar="footer" class="flex flex-col gap-2 p-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg><span>New feature</span></button></li></ul></div><button data-sidebar="rail" data-slot="sidebar-rail" aria-label="Toggle Sidebar" tabindex="-1" title="Toggle Sidebar" class="hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize [[data-side=left][data-state=collapsed]_&amp;]:cursor-e-resize [[data-side=right][data-state=collapsed]_&amp;]:cursor-w-resize hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full [[data-side=left][data-collapsible=offcanvas]_&amp;]:-right-2 [[data-side=right][data-collapsible=offcanvas]_&amp;]:-left-2"></button></div></div></div><main data-slot="sidebar-inset" class="bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2"><div class="relative h-full"><div class="absolute top-3 right-3 z-50"><button data-slot="button" data-variant="ghost" data-size="icon" class="inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" aria-label="Switch to dark mode"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg><span class="sr-only">Toggle theme</span></button></div><main class="h-full"><div class="flex min-h-screen items-center justify-center"><div class="text-center"><h2 class="text-2xl font-bold">Not Found</h2><p class="text-muted-foreground">Could not find requested resource</p></div></div><!--$--><!--/$--></main></div></main></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/df7d29673e0ac11d.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[87292,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"AppShell\"]\n3:I[40799,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"default\"]\n4:I[73006,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"default\"]\n5:I[25251,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"Toaster\"]\n6:I[66658,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[66658,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"ViewportBoundary\"]\nb:I[66658,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"MetadataBoundary\"]\nd:I[42726,[\"/_next/static/chunks/b32b17f102226f32.js\",\"/_next/static/chunks/37bc3e283f734dca.js\",\"/_next/static/chunks/1d665ddc2230f73f.js\",\"/_next/static/chunks/4431cc2d3628b6f6.js\"],\"default\"]\n:HL[\"/_next/static/chunks/fd816afd85fd9a19.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"C_QsuOPQWDrYc18EOtMAm\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/fd816afd85fd9a19.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/b32b17f102226f32.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/37bc3e283f734dca.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1d665ddc2230f73f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/4431cc2d3628b6f6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function() {\\n try {\\n const theme = localStorage.getItem('shep-theme');\\n const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\\n if (theme === 'dark' || (theme === 'system' \u0026\u0026 systemDark) || (!theme \u0026\u0026 systemDark)) {\\n document.documentElement.classList.add('dark');\\n }\\n } catch (e) {}\\n })();\\n \"}}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-screen items-center justify-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-bold\",\"children\":\"Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"Could not find requested resource\"}]]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-screen items-center justify-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-bold\",\"children\":\"Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground\",\"children\":\"Could not find requested resource\"}]]}]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"Shep AI\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy\"}]]\n"])</script></body></html>
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--LkrVnyOa_e5oKSoKOC3uq--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/df7d29673e0ac11d.js"/><script src="/_next/static/chunks/07f00e2e73d322d2.js" async=""></script><script src="/_next/static/chunks/f3b4460b1496ef52.js" async=""></script><script src="/_next/static/chunks/70993ebedee7eab0.js" async=""></script><script src="/_next/static/chunks/turbopack-a5a88a85e7ac8e8d.js" async=""></script><script src="/_next/static/chunks/ab02eec995295bef.js" async=""></script><script src="/_next/static/chunks/37bc3e283f734dca.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.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="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @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-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/df7d29673e0ac11d.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[40799,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"default\"]\n3:I[73006,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"default\"]\n4:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"ViewportBoundary\"]\n9:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"MetadataBoundary\"]\nb:I[42726,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"LkrVnyOa_e5oKSoKOC3uq\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$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\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"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,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@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\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ab02eec995295bef.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/37bc3e283f734dca.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"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\na:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--C_QsuOPQWDrYc18EOtMAm--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/df7d29673e0ac11d.js"/><script src="/_next/static/chunks/07f00e2e73d322d2.js" async=""></script><script src="/_next/static/chunks/f3b4460b1496ef52.js" async=""></script><script src="/_next/static/chunks/70993ebedee7eab0.js" async=""></script><script src="/_next/static/chunks/turbopack-a5a88a85e7ac8e8d.js" async=""></script><script src="/_next/static/chunks/ab02eec995295bef.js" async=""></script><script src="/_next/static/chunks/37bc3e283f734dca.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.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="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @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-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/df7d29673e0ac11d.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[40799,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"default\"]\n3:I[73006,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"default\"]\n4:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"ViewportBoundary\"]\n9:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"MetadataBoundary\"]\nb:I[42726,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/37bc3e283f734dca.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"C_QsuOPQWDrYc18EOtMAm\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$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\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"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,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@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\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ab02eec995295bef.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/37bc3e283f734dca.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"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\na:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"K+vnlXfukGwfAey3TR69sIAfWmRZWuPkdv5sh4eZ4io=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"vyUOFWNeCwi262EEwQxX3jJQ0bESJV6B5OUtJca+Ajw=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "K+vnlXfukGwfAey3TR69sIAfWmRZWuPkdv5sh4eZ4io="
4
+ "encryptionKey": "vyUOFWNeCwi262EEwQxX3jJQ0bESJV6B5OUtJca+Ajw="
5
5
  }
package/web/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":214,"timestamp":64883805,"id":4,"parentId":1,"tags":{},"startTime":1771427969271,"traceId":"91bdfed5922f3855"},{"name":"load-custom-routes","duration":297,"timestamp":64884127,"id":5,"parentId":1,"tags":{},"startTime":1771427969272,"traceId":"91bdfed5922f3855"},{"name":"create-dist-dir","duration":213,"timestamp":64884503,"id":6,"parentId":1,"tags":{},"startTime":1771427969272,"traceId":"91bdfed5922f3855"},{"name":"clean","duration":194,"timestamp":64885168,"id":7,"parentId":1,"tags":{},"startTime":1771427969273,"traceId":"91bdfed5922f3855"},{"name":"create-pages-mapping","duration":206,"timestamp":65046197,"id":8,"parentId":1,"tags":{},"startTime":1771427969434,"traceId":"91bdfed5922f3855"},{"name":"collect-app-files","duration":1830,"timestamp":65046434,"id":9,"parentId":1,"tags":{},"startTime":1771427969434,"traceId":"91bdfed5922f3855"},{"name":"create-app-mapping","duration":1027,"timestamp":65048287,"id":10,"parentId":1,"tags":{},"startTime":1771427969436,"traceId":"91bdfed5922f3855"},{"name":"create-app-layouts","duration":151,"timestamp":65049337,"id":11,"parentId":1,"tags":{},"startTime":1771427969437,"traceId":"91bdfed5922f3855"},{"name":"collect-default-files","duration":722,"timestamp":65051539,"id":13,"parentId":1,"tags":{},"startTime":1771427969439,"traceId":"91bdfed5922f3855"},{"name":"generate-route-types","duration":12333,"timestamp":65051036,"id":12,"parentId":1,"tags":{},"startTime":1771427969439,"traceId":"91bdfed5922f3855"},{"name":"public-dir-conflict-check","duration":72,"timestamp":65063466,"id":14,"parentId":1,"tags":{},"startTime":1771427969451,"traceId":"91bdfed5922f3855"},{"name":"generate-routes-manifest","duration":2248,"timestamp":65063625,"id":15,"parentId":1,"tags":{},"startTime":1771427969451,"traceId":"91bdfed5922f3855"},{"name":"run-turbopack","duration":4845487,"timestamp":65069246,"id":17,"parentId":1,"tags":{},"startTime":1771427969457,"traceId":"91bdfed5922f3855"},{"name":"run-typescript","duration":5481355,"timestamp":69923637,"id":19,"parentId":1,"tags":{},"startTime":1771427974311,"traceId":"91bdfed5922f3855"},{"name":"generate-required-server-files","duration":1547,"timestamp":75405441,"id":21,"parentId":1,"tags":{},"startTime":1771427979793,"traceId":"91bdfed5922f3855"},{"name":"check-static-error-page","duration":2951,"timestamp":75468801,"id":23,"parentId":22,"tags":{},"startTime":1771427979856,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":270946,"timestamp":75475240,"id":36,"parentId":25,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":275590,"timestamp":75470680,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1771427979858,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":347931,"timestamp":75475610,"id":38,"parentId":27,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":352618,"timestamp":75470985,"id":27,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1771427979858,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":371769,"timestamp":75475670,"id":39,"parentId":28,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":376400,"timestamp":75471088,"id":28,"parentId":22,"tags":{"page":"/api/dialog/pick-folder"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":381838,"timestamp":75475737,"id":40,"parentId":29,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":386650,"timestamp":75471152,"id":29,"parentId":22,"tags":{"page":"/api/features/[id]"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":384384,"timestamp":75474942,"id":35,"parentId":24,"tags":{},"startTime":1771427979862,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":389813,"timestamp":75469572,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1771427979857,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":385052,"timestamp":75475868,"id":41,"parentId":30,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":389677,"timestamp":75471266,"id":30,"parentId":22,"tags":{"page":"/api/features/create"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":385996,"timestamp":75478519,"id":43,"parentId":32,"tags":{},"startTime":1771427979866,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":393102,"timestamp":75471431,"id":32,"parentId":22,"tags":{"page":"/api/shell/open"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":390187,"timestamp":75475416,"id":37,"parentId":26,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":394770,"timestamp":75470852,"id":26,"parentId":22,"tags":{"page":"/api/agent-events"},"startTime":1771427979858,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":415879,"timestamp":75494532,"id":44,"parentId":34,"tags":{},"startTime":1771427979882,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":438809,"timestamp":75471644,"id":34,"parentId":22,"tags":{"page":"/version"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":438282,"timestamp":75475933,"id":42,"parentId":31,"tags":{},"startTime":1771427979863,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":442881,"timestamp":75471359,"id":31,"parentId":22,"tags":{"page":"/api/ide/open"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"is-page-static","duration":426110,"timestamp":75494582,"id":45,"parentId":33,"tags":{},"startTime":1771427979882,"traceId":"91bdfed5922f3855"},{"name":"check-page","duration":449171,"timestamp":75471538,"id":33,"parentId":22,"tags":{"page":"/"},"startTime":1771427979859,"traceId":"91bdfed5922f3855"},{"name":"static-check","duration":452564,"timestamp":75468175,"id":22,"parentId":1,"tags":{},"startTime":1771427979856,"traceId":"91bdfed5922f3855"},{"name":"write-routes-manifest","duration":270,"timestamp":75921327,"id":47,"parentId":1,"tags":{},"startTime":1771427980309,"traceId":"91bdfed5922f3855"},{"name":"load-dotenv","duration":31,"timestamp":75930431,"id":50,"parentId":49,"tags":{},"startTime":1771427980318,"traceId":"91bdfed5922f3855"},{"name":"run-export-path-map","duration":504,"timestamp":75932637,"id":51,"parentId":49,"tags":{},"startTime":1771427980320,"traceId":"91bdfed5922f3855"},{"name":"next-export","duration":195527,"timestamp":75929238,"id":49,"parentId":1,"tags":{},"startTime":1771427980317,"traceId":"91bdfed5922f3855"},{"name":"move-exported-app-not-found-","duration":425,"timestamp":76126675,"id":52,"parentId":48,"tags":{},"startTime":1771427980514,"traceId":"91bdfed5922f3855"},{"name":"move-exported-app-global-error-","duration":315,"timestamp":76127169,"id":53,"parentId":48,"tags":{},"startTime":1771427980515,"traceId":"91bdfed5922f3855"},{"name":"static-generation","duration":204258,"timestamp":75924458,"id":48,"parentId":1,"tags":{},"startTime":1771427980312,"traceId":"91bdfed5922f3855"},{"name":"write-routes-manifest","duration":277,"timestamp":76128848,"id":54,"parentId":1,"tags":{},"startTime":1771427980516,"traceId":"91bdfed5922f3855"},{"name":"print-tree-view","duration":2465,"timestamp":76138980,"id":55,"parentId":1,"tags":{},"startTime":1771427980526,"traceId":"91bdfed5922f3855"},{"name":"telemetry-flush","duration":84509,"timestamp":76141454,"id":56,"parentId":1,"tags":{},"startTime":1771427980529,"traceId":"91bdfed5922f3855"},{"name":"next-build","duration":11549328,"timestamp":64676648,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771427969064,"traceId":"91bdfed5922f3855"}]
1
+ [{"name":"generate-buildid","duration":268,"timestamp":72945243,"id":4,"parentId":1,"tags":{},"startTime":1771433700400,"traceId":"10c2b5b8ecb9157f"},{"name":"load-custom-routes","duration":305,"timestamp":72945619,"id":5,"parentId":1,"tags":{},"startTime":1771433700400,"traceId":"10c2b5b8ecb9157f"},{"name":"create-dist-dir","duration":245,"timestamp":72945949,"id":6,"parentId":1,"tags":{},"startTime":1771433700400,"traceId":"10c2b5b8ecb9157f"},{"name":"clean","duration":206,"timestamp":72946611,"id":7,"parentId":1,"tags":{},"startTime":1771433700401,"traceId":"10c2b5b8ecb9157f"},{"name":"create-pages-mapping","duration":336,"timestamp":73004863,"id":8,"parentId":1,"tags":{},"startTime":1771433700459,"traceId":"10c2b5b8ecb9157f"},{"name":"collect-app-files","duration":3454,"timestamp":73005258,"id":9,"parentId":1,"tags":{},"startTime":1771433700460,"traceId":"10c2b5b8ecb9157f"},{"name":"create-app-mapping","duration":1151,"timestamp":73008741,"id":10,"parentId":1,"tags":{},"startTime":1771433700463,"traceId":"10c2b5b8ecb9157f"},{"name":"create-app-layouts","duration":192,"timestamp":73009918,"id":11,"parentId":1,"tags":{},"startTime":1771433700464,"traceId":"10c2b5b8ecb9157f"},{"name":"collect-default-files","duration":833,"timestamp":73012572,"id":13,"parentId":1,"tags":{},"startTime":1771433700467,"traceId":"10c2b5b8ecb9157f"},{"name":"generate-route-types","duration":21341,"timestamp":73011704,"id":12,"parentId":1,"tags":{},"startTime":1771433700466,"traceId":"10c2b5b8ecb9157f"},{"name":"public-dir-conflict-check","duration":84,"timestamp":73033160,"id":14,"parentId":1,"tags":{},"startTime":1771433700488,"traceId":"10c2b5b8ecb9157f"},{"name":"generate-routes-manifest","duration":2352,"timestamp":73033307,"id":15,"parentId":1,"tags":{},"startTime":1771433700488,"traceId":"10c2b5b8ecb9157f"},{"name":"run-turbopack","duration":5272020,"timestamp":73039260,"id":17,"parentId":1,"tags":{},"startTime":1771433700494,"traceId":"10c2b5b8ecb9157f"},{"name":"run-typescript","duration":5704643,"timestamp":78320149,"id":19,"parentId":1,"tags":{},"startTime":1771433705775,"traceId":"10c2b5b8ecb9157f"},{"name":"generate-required-server-files","duration":1878,"timestamp":84025403,"id":21,"parentId":1,"tags":{},"startTime":1771433711480,"traceId":"10c2b5b8ecb9157f"},{"name":"check-static-error-page","duration":4585,"timestamp":84086351,"id":23,"parentId":22,"tags":{},"startTime":1771433711541,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":253375,"timestamp":84095122,"id":36,"parentId":25,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":259895,"timestamp":84088697,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1771433711543,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":311983,"timestamp":84094837,"id":35,"parentId":24,"tags":{},"startTime":1771433711549,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":319533,"timestamp":84087352,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1771433711542,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":330767,"timestamp":84095306,"id":37,"parentId":26,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":337250,"timestamp":84088892,"id":26,"parentId":22,"tags":{"page":"/api/agent-events"},"startTime":1771433711543,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":333952,"timestamp":84095513,"id":38,"parentId":27,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":340776,"timestamp":84088975,"id":27,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1771433711543,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":352366,"timestamp":84095769,"id":41,"parentId":30,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":359013,"timestamp":84089212,"id":30,"parentId":22,"tags":{"page":"/api/features/create"},"startTime":1771433711544,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":358323,"timestamp":84095573,"id":39,"parentId":28,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":364850,"timestamp":84089082,"id":28,"parentId":22,"tags":{"page":"/api/dialog/pick-folder"},"startTime":1771433711543,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":359560,"timestamp":84095641,"id":40,"parentId":29,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":366098,"timestamp":84089147,"id":29,"parentId":22,"tags":{"page":"/api/features/[id]"},"startTime":1771433711544,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":361024,"timestamp":84095841,"id":42,"parentId":31,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":367617,"timestamp":84089278,"id":31,"parentId":22,"tags":{"page":"/api/ide/open"},"startTime":1771433711544,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":366039,"timestamp":84095989,"id":43,"parentId":32,"tags":{},"startTime":1771433711550,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":372728,"timestamp":84089339,"id":32,"parentId":22,"tags":{"page":"/api/shell/open"},"startTime":1771433711544,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":379817,"timestamp":84105020,"id":44,"parentId":34,"tags":{},"startTime":1771433711559,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":394057,"timestamp":84090811,"id":34,"parentId":22,"tags":{"page":"/version"},"startTime":1771433711545,"traceId":"10c2b5b8ecb9157f"},{"name":"is-page-static","duration":385059,"timestamp":84105097,"id":45,"parentId":33,"tags":{},"startTime":1771433711560,"traceId":"10c2b5b8ecb9157f"},{"name":"check-page","duration":400770,"timestamp":84089411,"id":33,"parentId":22,"tags":{"page":"/"},"startTime":1771433711544,"traceId":"10c2b5b8ecb9157f"},{"name":"static-check","duration":404722,"timestamp":84085492,"id":22,"parentId":1,"tags":{},"startTime":1771433711540,"traceId":"10c2b5b8ecb9157f"},{"name":"write-routes-manifest","duration":273,"timestamp":84490788,"id":47,"parentId":1,"tags":{},"startTime":1771433711945,"traceId":"10c2b5b8ecb9157f"},{"name":"load-dotenv","duration":31,"timestamp":84498631,"id":50,"parentId":49,"tags":{},"startTime":1771433711953,"traceId":"10c2b5b8ecb9157f"},{"name":"run-export-path-map","duration":405,"timestamp":84500694,"id":51,"parentId":49,"tags":{},"startTime":1771433711955,"traceId":"10c2b5b8ecb9157f"},{"name":"next-export","duration":183386,"timestamp":84497727,"id":49,"parentId":1,"tags":{},"startTime":1771433711952,"traceId":"10c2b5b8ecb9157f"},{"name":"move-exported-app-not-found-","duration":1182,"timestamp":84682696,"id":52,"parentId":48,"tags":{},"startTime":1771433712137,"traceId":"10c2b5b8ecb9157f"},{"name":"move-exported-app-global-error-","duration":371,"timestamp":84683950,"id":53,"parentId":48,"tags":{},"startTime":1771433712138,"traceId":"10c2b5b8ecb9157f"},{"name":"static-generation","duration":192071,"timestamp":84493705,"id":48,"parentId":1,"tags":{},"startTime":1771433711948,"traceId":"10c2b5b8ecb9157f"},{"name":"write-routes-manifest","duration":280,"timestamp":84685884,"id":54,"parentId":1,"tags":{},"startTime":1771433712140,"traceId":"10c2b5b8ecb9157f"},{"name":"print-tree-view","duration":3224,"timestamp":84690683,"id":55,"parentId":1,"tags":{},"startTime":1771433712145,"traceId":"10c2b5b8ecb9157f"},{"name":"telemetry-flush","duration":88927,"timestamp":84693919,"id":56,"parentId":1,"tags":{},"startTime":1771433712148,"traceId":"10c2b5b8ecb9157f"},{"name":"next-build","duration":12054742,"timestamp":72728125,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771433700183,"traceId":"10c2b5b8ecb9157f"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":4845487,"timestamp":65069246,"id":17,"parentId":1,"tags":{},"startTime":1771427969457,"traceId":"91bdfed5922f3855"},{"name":"run-typescript","duration":5481355,"timestamp":69923637,"id":19,"parentId":1,"tags":{},"startTime":1771427974311,"traceId":"91bdfed5922f3855"},{"name":"static-check","duration":452564,"timestamp":75468175,"id":22,"parentId":1,"tags":{},"startTime":1771427979856,"traceId":"91bdfed5922f3855"},{"name":"static-generation","duration":204258,"timestamp":75924458,"id":48,"parentId":1,"tags":{},"startTime":1771427980312,"traceId":"91bdfed5922f3855"},{"name":"telemetry-flush","duration":84509,"timestamp":76141454,"id":56,"parentId":1,"tags":{},"startTime":1771427980529,"traceId":"91bdfed5922f3855"},{"name":"next-build","duration":11549328,"timestamp":64676648,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771427969064,"traceId":"91bdfed5922f3855"}]
1
+ [{"name":"run-turbopack","duration":5272020,"timestamp":73039260,"id":17,"parentId":1,"tags":{},"startTime":1771433700494,"traceId":"10c2b5b8ecb9157f"},{"name":"run-typescript","duration":5704643,"timestamp":78320149,"id":19,"parentId":1,"tags":{},"startTime":1771433705775,"traceId":"10c2b5b8ecb9157f"},{"name":"static-check","duration":404722,"timestamp":84085492,"id":22,"parentId":1,"tags":{},"startTime":1771433711540,"traceId":"10c2b5b8ecb9157f"},{"name":"static-generation","duration":192071,"timestamp":84493705,"id":48,"parentId":1,"tags":{},"startTime":1771433711948,"traceId":"10c2b5b8ecb9157f"},{"name":"telemetry-flush","duration":88927,"timestamp":84693919,"id":56,"parentId":1,"tags":{},"startTime":1771433712148,"traceId":"10c2b5b8ecb9157f"},{"name":"next-build","duration":12054742,"timestamp":72728125,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1771433700183,"traceId":"10c2b5b8ecb9157f"}]
package/web/package.json CHANGED
@@ -15,6 +15,7 @@
15
15
  "typecheck": "tsc --noEmit"
16
16
  },
17
17
  "dependencies": {
18
+ "@shepai/core": "workspace:*",
18
19
  "@dagrejs/dagre": "^2.0.4",
19
20
  "@xyflow/react": "^12.10.0",
20
21
  "class-variance-authority": "^0.7.1",
@@ -1,20 +0,0 @@
1
- /**
2
- * Use Cases Bridge — Writer
3
- *
4
- * Resolves use cases from the DI container and places them on globalThis
5
- * so the Next.js web layer can access them without importing DI infrastructure.
6
- * Called by CLI bootstrap and dev-server after initializeContainer() completes.
7
- *
8
- * This file imports tsyringe and decorated use case classes — only import it
9
- * from Node.js entry points, never from the Next.js web layer (Turbopack
10
- * cannot bundle native addons or decorator metadata).
11
- *
12
- * @see use-cases-bridge.ts for the reader side (web-safe).
13
- */
14
- import type { DependencyContainer } from 'tsyringe';
15
- /**
16
- * Populate the globalThis bridge with resolved use cases from the DI container.
17
- * Must be called after `initializeContainer()` completes.
18
- */
19
- export declare function populateUseCasesBridge(c: DependencyContainer): void;
20
- //# sourceMappingURL=populate-use-cases-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populate-use-cases-bridge.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/populate-use-cases-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAOpD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,GAAG,IAAI,CASnE"}