theokit 0.19.2 → 0.19.4

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 (89) hide show
  1. package/dist/{actions-virtual-module-J3XSNY6L.js → actions-virtual-module-JB5ZTS5U.js} +2 -2
  2. package/dist/{actions-virtual-module-HD3D75C2.js → actions-virtual-module-Z2IXNF72.js} +3 -3
  3. package/dist/{agent-UGVJJXRY.js → agent-76WK2CZJ.js} +3 -3
  4. package/dist/{agents-typed-client-D3LXWGCF.js → agents-typed-client-DCPSXUU5.js} +5 -2
  5. package/dist/agents-typed-client-DCPSXUU5.js.map +1 -0
  6. package/dist/{agents-typed-client-LQ36PCHL.js → agents-typed-client-RIJVHSX4.js} +5 -2
  7. package/dist/agents-typed-client-RIJVHSX4.js.map +1 -0
  8. package/dist/{app-typed-client-OTXG3VZB.js → app-typed-client-VMSRQGKL.js} +2 -2
  9. package/dist/{app-typed-client-X6WKTFX2.js → app-typed-client-YCQC3MZ7.js} +3 -3
  10. package/dist/{build-KZBSHSKG.js → build-6UDZJIHD.js} +21 -11
  11. package/dist/build-6UDZJIHD.js.map +1 -0
  12. package/dist/{chunk-7BYQD7IE.js → chunk-23T4CO4M.js} +10 -7
  13. package/dist/{chunk-7BYQD7IE.js.map → chunk-23T4CO4M.js.map} +1 -1
  14. package/dist/{chunk-RRJ66UTS.js → chunk-3WOODHXK.js} +25 -19
  15. package/dist/chunk-3WOODHXK.js.map +1 -0
  16. package/dist/{chunk-2YS3CNO4.js → chunk-7PFHQ56Q.js} +30 -18
  17. package/dist/chunk-7PFHQ56Q.js.map +1 -0
  18. package/dist/{chunk-567NA7Y6.js → chunk-AFVTEAES.js} +2 -2
  19. package/dist/{chunk-JQSFBJR5.js → chunk-GEQJAFSV.js} +6 -9
  20. package/dist/chunk-GEQJAFSV.js.map +1 -0
  21. package/dist/{chunk-YJAUJXZS.js → chunk-GSO77FSM.js} +7 -1
  22. package/dist/chunk-GSO77FSM.js.map +1 -0
  23. package/dist/{chunk-AKTGTUU5.js → chunk-RKDH4DWL.js} +5 -5
  24. package/dist/chunk-RKDH4DWL.js.map +1 -0
  25. package/dist/{chunk-34YQOXGM.js → chunk-TERFLG67.js} +3 -3
  26. package/dist/chunk-TERFLG67.js.map +1 -0
  27. package/dist/{chunk-TIZBKEDV.js → chunk-YJWEADAW.js} +4 -4
  28. package/dist/chunk-YJWEADAW.js.map +1 -0
  29. package/dist/cli/index.js +8 -8
  30. package/dist/{dev-RQLE5W72.js → dev-NHHTXOA4.js} +12 -8
  31. package/dist/dev-NHHTXOA4.js.map +1 -0
  32. package/dist/{dev-emit-YSQ7SMXA.js → dev-emit-5FVWJIKR.js} +2 -2
  33. package/dist/{dev-emit-M4KBDBB6.js → dev-emit-EFQRBVYS.js} +3 -3
  34. package/dist/index.d.ts +2 -1
  35. package/dist/index.js +7 -10
  36. package/dist/index.js.map +1 -1
  37. package/dist/{info-7PE2PZJI.js → info-2OOXFTJX.js} +3 -3
  38. package/dist/{internal-api-IBZ4QZAC.js → internal-api-KPULK7ZK.js} +2 -2
  39. package/dist/{internal-api-U3ARINWN.js → internal-api-Y5REPVUS.js} +3 -3
  40. package/dist/{load-config-JKYO5RFK.js → load-config-3EAQTXPH.js} +3 -3
  41. package/dist/{mcp-H5GWOGD7.js → mcp-HP5RVOOZ.js} +6 -5
  42. package/dist/mcp-HP5RVOOZ.js.map +1 -0
  43. package/dist/{openapi-PAXSR4UA.js → openapi-ERYWAT3A.js} +5 -5
  44. package/dist/{registry-XJUYD2OU.js → registry-XSRSTH33.js} +2 -2
  45. package/dist/{routes-WKG3UKDX.js → routes-XNS3UM3B.js} +5 -5
  46. package/dist/routes-XNS3UM3B.js.map +1 -0
  47. package/dist/{schema-7CAY6IZR.js → schema-LYOLNHZ7.js} +2 -2
  48. package/dist/server/index.js +1 -1
  49. package/dist/server/scan/index.d.ts +1 -1
  50. package/dist/server/scan/index.js +1 -1
  51. package/dist/{start-TGNHQ7NZ.js → start-ILT6E25Q.js} +10 -10
  52. package/dist/start-ILT6E25Q.js.map +1 -0
  53. package/dist/{static-7ARBVDJF.js → static-CYG2WGYP.js} +2 -2
  54. package/dist/static-CYG2WGYP.js.map +1 -0
  55. package/dist/vite-plugin/index.d.ts +12 -0
  56. package/dist/vite-plugin/index.js +2 -2
  57. package/dist/{vite-plugin-H2SMD2Q4.js → vite-plugin-3UDOJGO5.js} +6 -6
  58. package/package.json +1 -1
  59. package/dist/agents-typed-client-D3LXWGCF.js.map +0 -1
  60. package/dist/agents-typed-client-LQ36PCHL.js.map +0 -1
  61. package/dist/build-KZBSHSKG.js.map +0 -1
  62. package/dist/chunk-2YS3CNO4.js.map +0 -1
  63. package/dist/chunk-34YQOXGM.js.map +0 -1
  64. package/dist/chunk-AKTGTUU5.js.map +0 -1
  65. package/dist/chunk-JQSFBJR5.js.map +0 -1
  66. package/dist/chunk-RRJ66UTS.js.map +0 -1
  67. package/dist/chunk-TIZBKEDV.js.map +0 -1
  68. package/dist/chunk-YJAUJXZS.js.map +0 -1
  69. package/dist/dev-RQLE5W72.js.map +0 -1
  70. package/dist/mcp-H5GWOGD7.js.map +0 -1
  71. package/dist/routes-WKG3UKDX.js.map +0 -1
  72. package/dist/start-TGNHQ7NZ.js.map +0 -1
  73. package/dist/static-7ARBVDJF.js.map +0 -1
  74. /package/dist/{actions-virtual-module-J3XSNY6L.js.map → actions-virtual-module-JB5ZTS5U.js.map} +0 -0
  75. /package/dist/{actions-virtual-module-HD3D75C2.js.map → actions-virtual-module-Z2IXNF72.js.map} +0 -0
  76. /package/dist/{agent-UGVJJXRY.js.map → agent-76WK2CZJ.js.map} +0 -0
  77. /package/dist/{app-typed-client-OTXG3VZB.js.map → app-typed-client-VMSRQGKL.js.map} +0 -0
  78. /package/dist/{app-typed-client-X6WKTFX2.js.map → app-typed-client-YCQC3MZ7.js.map} +0 -0
  79. /package/dist/{chunk-567NA7Y6.js.map → chunk-AFVTEAES.js.map} +0 -0
  80. /package/dist/{dev-emit-YSQ7SMXA.js.map → dev-emit-5FVWJIKR.js.map} +0 -0
  81. /package/dist/{dev-emit-M4KBDBB6.js.map → dev-emit-EFQRBVYS.js.map} +0 -0
  82. /package/dist/{info-7PE2PZJI.js.map → info-2OOXFTJX.js.map} +0 -0
  83. /package/dist/{internal-api-IBZ4QZAC.js.map → internal-api-KPULK7ZK.js.map} +0 -0
  84. /package/dist/{internal-api-U3ARINWN.js.map → internal-api-Y5REPVUS.js.map} +0 -0
  85. /package/dist/{load-config-JKYO5RFK.js.map → load-config-3EAQTXPH.js.map} +0 -0
  86. /package/dist/{openapi-PAXSR4UA.js.map → openapi-ERYWAT3A.js.map} +0 -0
  87. /package/dist/{registry-XJUYD2OU.js.map → registry-XSRSTH33.js.map} +0 -0
  88. /package/dist/{schema-7CAY6IZR.js.map → schema-LYOLNHZ7.js.map} +0 -0
  89. /package/dist/{vite-plugin-H2SMD2Q4.js.map → vite-plugin-3UDOJGO5.js.map} +0 -0
@@ -30,7 +30,7 @@ import {
30
30
  scanServerActions,
31
31
  scanServerRoutes,
32
32
  scanWebSocketRoutes
33
- } from "./chunk-AKTGTUU5.js";
33
+ } from "./chunk-RKDH4DWL.js";
34
34
  import {
35
35
  CSP_REPORT_PATH,
36
36
  CsrfReadinessStore,
@@ -342,6 +342,12 @@ var theoConfigSchema = z8.object({
342
342
  ).optional(),
343
343
  appDir: z8.string().default("app"),
344
344
  serverDir: z8.string().default("server"),
345
+ /**
346
+ * Directory (relative to the project root) holding `agents/<name>.ts` definitions, scanned by
347
+ * dev/build/terminal/mcp. Defaults to `"agents"` — apps that keep the canonical layout are
348
+ * unaffected. Set to e.g. `"core/agents"` to organize agents under a domain root (#95 follow-up).
349
+ */
350
+ agentsDir: z8.string().default("agents"),
345
351
  /**
346
352
  * T2.2 / EC-4 — Build output directory. Must be a relative path inside
347
353
  * the project root. Refused absolute or parent-relative paths to prevent
@@ -1414,7 +1420,7 @@ async function serveAux(req, res, next, urlPath, deps) {
1414
1420
  try {
1415
1421
  const request = incomingMessageToWebRequest(req);
1416
1422
  const response = await serveAgentAuxRoute(request, urlPath, {
1417
- agents: scanAgents(deps.projectRoot),
1423
+ agents: scanAgents(deps.projectRoot, deps.agentsDir),
1418
1424
  loadModule: deps.loadModule,
1419
1425
  baseUrl: `http://${req.headers.host ?? "localhost"}`
1420
1426
  });
@@ -1443,13 +1449,13 @@ async function serveAux(req, res, next, urlPath, deps) {
1443
1449
  requestId
1444
1450
  });
1445
1451
  }
1446
- function createAgentMiddleware(vite, projectRoot, csrfMode = "strict") {
1452
+ function createAgentMiddleware(vite, projectRoot, csrfMode = "strict", agentsDir = "agents") {
1447
1453
  const loadModule = createViteLoader(vite);
1448
1454
  return (req, res, next) => {
1449
1455
  void (async () => {
1450
1456
  const url = req.url ?? "";
1451
1457
  if (isAgentCardPath(url.split("?")[0]) !== null) {
1452
- await serveAux(req, res, next, url.split("?")[0], { projectRoot, loadModule });
1458
+ await serveAux(req, res, next, url.split("?")[0], { projectRoot, loadModule, agentsDir });
1453
1459
  return;
1454
1460
  }
1455
1461
  if (!url.startsWith(PREFIX2)) {
@@ -1465,10 +1471,10 @@ function createAgentMiddleware(vite, projectRoot, csrfMode = "strict") {
1465
1471
  return;
1466
1472
  }
1467
1473
  if (isListApprovalsPath(urlPath) !== null || isMcpPath(urlPath) !== null) {
1468
- await serveAux(req, res, next, urlPath, { projectRoot, loadModule });
1474
+ await serveAux(req, res, next, urlPath, { projectRoot, loadModule, agentsDir });
1469
1475
  return;
1470
1476
  }
1471
- const agent = scanAgents(projectRoot).find((a) => a.agentPath === urlPath);
1477
+ const agent = scanAgents(projectRoot, agentsDir).find((a) => a.agentPath === urlPath);
1472
1478
  if (!agent) {
1473
1479
  next();
1474
1480
  return;
@@ -1836,7 +1842,9 @@ async function runConfigureServer(server, ctx) {
1836
1842
  disallowed: ctx.disallowed
1837
1843
  })
1838
1844
  );
1839
- server.middlewares.use(createAgentMiddleware(server, ctx.projectRoot, ctx.csrfMode));
1845
+ server.middlewares.use(
1846
+ createAgentMiddleware(server, ctx.projectRoot, ctx.csrfMode, ctx.agentsDir)
1847
+ );
1840
1848
  const servicesProxyPrefixes = ctx.services && Object.keys(ctx.services).length > 0 ? Object.values(ctx.services).map((s) => s.proxy) : [];
1841
1849
  const csrfReadinessStore = ctx.csrfReadinessStoreOverride ?? new CsrfReadinessStore();
1842
1850
  server.middlewares.use(
@@ -1882,8 +1890,8 @@ async function runConfigureServer(server, ctx) {
1882
1890
  server.watcher.on("unlink", handleRouteChange);
1883
1891
  if (ctx.resolvedOpenApi !== void 0) {
1884
1892
  const openApiCfg = ctx.resolvedOpenApi;
1885
- const { reEmitOpenApi } = await import("./dev-emit-YSQ7SMXA.js");
1886
- const openApiServerDir = resolve6(ctx.projectRoot, "server");
1893
+ const { reEmitOpenApi } = await import("./dev-emit-5FVWJIKR.js");
1894
+ const openApiServerDir = ctx.serverDir;
1887
1895
  const openApiDistDir = resolve6(ctx.projectRoot, ctx.resolvedDistDir);
1888
1896
  const isRouteFileForOpenApi = (file) => file.startsWith(openApiServerDir) && /\.(ts|tsx|js|mjs)$/.test(file);
1889
1897
  void reEmitOpenApi(openApiServerDir, openApiDistDir, openApiCfg);
@@ -2853,6 +2861,7 @@ async function theoPluginAsync(rootOrOptions) {
2853
2861
  const options = typeof rootOrOptions === "string" ? { root: rootOrOptions } : rootOrOptions ?? {};
2854
2862
  const projectRoot = options.root ?? process.cwd();
2855
2863
  const serverDirAbs = resolve9(projectRoot, options.serverDir ?? "server");
2864
+ const agentsDirName = options.agentsDir ?? "agents";
2856
2865
  const consumerTailwindConfig = findConsumerConfig(projectRoot, "tailwind.config");
2857
2866
  const consumerPostcssConfig = findConsumerConfig(projectRoot, "postcss.config");
2858
2867
  const uiPlugins = await integrateUseTheoUI(projectRoot, {
@@ -2869,25 +2878,26 @@ async function theoPluginAsync(rootOrOptions) {
2869
2878
  })
2870
2879
  );
2871
2880
  }
2872
- const { appTypedClientPlugin } = await import("./app-typed-client-OTXG3VZB.js");
2881
+ const { appTypedClientPlugin } = await import("./app-typed-client-VMSRQGKL.js");
2873
2882
  const appClientPlugin = appTypedClientPlugin({
2874
2883
  cwd: projectRoot,
2875
2884
  serverDir: serverDirAbs,
2876
2885
  distDir: resolve9(projectRoot, ".theokit")
2877
2886
  });
2878
- const { actionsVirtualModule } = await import("./actions-virtual-module-J3XSNY6L.js");
2887
+ const { actionsVirtualModule } = await import("./actions-virtual-module-JB5ZTS5U.js");
2879
2888
  const actionsPlugin = actionsVirtualModule({
2880
2889
  serverDir: serverDirAbs,
2881
2890
  distDir: resolve9(projectRoot, ".theokit")
2882
2891
  });
2883
- const { agentsTypedClientPlugin } = await import("./agents-typed-client-D3LXWGCF.js");
2884
- const { generateManifest } = await import("./internal-api-IBZ4QZAC.js");
2892
+ const { agentsTypedClientPlugin } = await import("./agents-typed-client-DCPSXUU5.js");
2893
+ const { generateManifest } = await import("./internal-api-KPULK7ZK.js");
2885
2894
  const agentsClientPlugin = agentsTypedClientPlugin({
2886
2895
  projectRoot,
2896
+ agentsDir: agentsDirName,
2887
2897
  distDir: resolve9(projectRoot, ".theokit"),
2888
- // Agents live at <projectRoot>/agents; generateManifest scans them via the server dir's
2889
- // parent, which is projectRoot for the canonical layout.
2890
- scanManifest: () => generateManifest(serverDirAbs, projectRoot)
2898
+ // Agents live at <projectRoot>/<agentsDir>; generateManifest scans them via the server dir's
2899
+ // parent (projectRoot for the canonical layout) + the agents dir name (#95 follow-up).
2900
+ scanManifest: () => generateManifest(serverDirAbs, projectRoot, agentsDirName)
2891
2901
  });
2892
2902
  const { serverRoutesHmrPlugin } = await import("./server-routes-hmr-PBHSKCQJ.js");
2893
2903
  const routesHmrPlugin = serverRoutesHmrPlugin({
@@ -2934,8 +2944,9 @@ var VIRTUAL_MODULE_IDS = {
2934
2944
  function theoPlugin(rootOrOptions) {
2935
2945
  const options = typeof rootOrOptions === "string" ? { root: rootOrOptions } : rootOrOptions ?? {};
2936
2946
  const projectRoot = options.root ?? process.cwd();
2937
- const appDir = resolve9(projectRoot, "app");
2947
+ const appDir = resolve9(projectRoot, options.appDir ?? "app");
2938
2948
  const serverDir = resolve9(projectRoot, options.serverDir ?? "server");
2949
+ const agentsDir = options.agentsDir ?? "agents";
2939
2950
  const ssrEnabled = options.ssr ?? false;
2940
2951
  const currentDir = dirname4(fileURLToPath(import.meta.url));
2941
2952
  const theoSrcDir = resolveTheoRootDir(currentDir);
@@ -3023,6 +3034,7 @@ function theoPlugin(rootOrOptions) {
3023
3034
  projectRoot,
3024
3035
  appDir,
3025
3036
  serverDir,
3037
+ agentsDir,
3026
3038
  resolvedDistDir,
3027
3039
  ssrEnabled,
3028
3040
  isDevMode: isDevModeRef,
@@ -3061,4 +3073,4 @@ export {
3061
3073
  theoPluginAsync,
3062
3074
  theoPlugin
3063
3075
  };
3064
- //# sourceMappingURL=chunk-2YS3CNO4.js.map
3076
+ //# sourceMappingURL=chunk-7PFHQ56Q.js.map