create-relkit 0.4.0 → 0.5.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 (277) hide show
  1. package/dist/add-name.d.ts +9 -0
  2. package/dist/add-name.d.ts.map +1 -0
  3. package/dist/add-name.js +18 -0
  4. package/dist/add-name.js.map +1 -0
  5. package/dist/add-options-parser.d.ts +21 -0
  6. package/dist/add-options-parser.d.ts.map +1 -0
  7. package/dist/add-options-parser.js +103 -0
  8. package/dist/add-options-parser.js.map +1 -0
  9. package/dist/add-options-resource.d.ts +5 -0
  10. package/dist/add-options-resource.d.ts.map +1 -0
  11. package/dist/add-options-resource.js +18 -0
  12. package/dist/add-options-resource.js.map +1 -0
  13. package/dist/add-options.d.ts +6 -0
  14. package/dist/add-options.d.ts.map +1 -0
  15. package/dist/add-options.js +165 -0
  16. package/dist/add-options.js.map +1 -0
  17. package/dist/add-output.d.ts +4 -0
  18. package/dist/add-output.d.ts.map +1 -0
  19. package/dist/add-output.js +33 -0
  20. package/dist/add-output.js.map +1 -0
  21. package/dist/add-plan.d.ts +4 -0
  22. package/dist/add-plan.d.ts.map +1 -0
  23. package/dist/add-plan.js +62 -0
  24. package/dist/add-plan.js.map +1 -0
  25. package/dist/add-resolution-discovery.d.ts +13 -0
  26. package/dist/add-resolution-discovery.d.ts.map +1 -0
  27. package/dist/add-resolution-discovery.js +70 -0
  28. package/dist/add-resolution-discovery.js.map +1 -0
  29. package/dist/add-resolution-state.d.ts +23 -0
  30. package/dist/add-resolution-state.d.ts.map +1 -0
  31. package/dist/add-resolution-state.js +89 -0
  32. package/dist/add-resolution-state.js.map +1 -0
  33. package/dist/add-resolver-domain.d.ts +4 -0
  34. package/dist/add-resolver-domain.d.ts.map +1 -0
  35. package/dist/add-resolver-domain.js +150 -0
  36. package/dist/add-resolver-domain.js.map +1 -0
  37. package/dist/add-resolver-platform.d.ts +4 -0
  38. package/dist/add-resolver-platform.d.ts.map +1 -0
  39. package/dist/add-resolver-platform.js +112 -0
  40. package/dist/add-resolver-platform.js.map +1 -0
  41. package/dist/add-resolver-resources.d.ts +4 -0
  42. package/dist/add-resolver-resources.d.ts.map +1 -0
  43. package/dist/add-resolver-resources.js +150 -0
  44. package/dist/add-resolver-resources.js.map +1 -0
  45. package/dist/add-resolver.d.ts +14 -0
  46. package/dist/add-resolver.d.ts.map +1 -0
  47. package/dist/add-resolver.js +41 -0
  48. package/dist/add-resolver.js.map +1 -0
  49. package/dist/add-transaction-files.d.ts +12 -0
  50. package/dist/add-transaction-files.d.ts.map +1 -0
  51. package/dist/add-transaction-files.js +103 -0
  52. package/dist/add-transaction-files.js.map +1 -0
  53. package/dist/add-transaction.d.ts +17 -0
  54. package/dist/add-transaction.d.ts.map +1 -0
  55. package/dist/add-transaction.js +115 -0
  56. package/dist/add-transaction.js.map +1 -0
  57. package/dist/add-types.d.ts +136 -0
  58. package/dist/add-types.d.ts.map +1 -0
  59. package/dist/add-types.js +41 -0
  60. package/dist/add-types.js.map +1 -0
  61. package/dist/bucket-profiles.d.ts +4 -0
  62. package/dist/bucket-profiles.d.ts.map +1 -0
  63. package/dist/bucket-profiles.js +18 -0
  64. package/dist/bucket-profiles.js.map +1 -0
  65. package/dist/create-additions.d.ts +7 -0
  66. package/dist/create-additions.d.ts.map +1 -0
  67. package/dist/create-additions.js +27 -0
  68. package/dist/create-additions.js.map +1 -0
  69. package/dist/create-preview.d.ts +12 -0
  70. package/dist/create-preview.d.ts.map +1 -0
  71. package/dist/create-preview.js +50 -0
  72. package/dist/create-preview.js.map +1 -0
  73. package/dist/create-resolver.d.ts +14 -0
  74. package/dist/create-resolver.d.ts.map +1 -0
  75. package/dist/create-resolver.js +96 -0
  76. package/dist/create-resolver.js.map +1 -0
  77. package/dist/domain-planning.d.ts +24 -0
  78. package/dist/domain-planning.d.ts.map +1 -0
  79. package/dist/domain-planning.js +94 -0
  80. package/dist/domain-planning.js.map +1 -0
  81. package/dist/generate-files-utilities.d.ts +18 -0
  82. package/dist/generate-files-utilities.d.ts.map +1 -0
  83. package/dist/generate-files-utilities.js +87 -0
  84. package/dist/generate-files-utilities.js.map +1 -0
  85. package/dist/generate-files.d.ts +1 -12
  86. package/dist/generate-files.d.ts.map +1 -1
  87. package/dist/generate-files.js +38 -89
  88. package/dist/generate-files.js.map +1 -1
  89. package/dist/generate-output.d.ts +2 -1
  90. package/dist/generate-output.d.ts.map +1 -1
  91. package/dist/generate-output.js +9 -0
  92. package/dist/generate-output.js.map +1 -1
  93. package/dist/generate-process.d.ts +1 -1
  94. package/dist/generate-process.d.ts.map +1 -1
  95. package/dist/generate-process.js +7 -3
  96. package/dist/generate-process.js.map +1 -1
  97. package/dist/generate-types.d.ts +46 -0
  98. package/dist/generate-types.d.ts.map +1 -0
  99. package/dist/generate-types.js +20 -0
  100. package/dist/generate-types.js.map +1 -0
  101. package/dist/generate.d.ts +1 -38
  102. package/dist/generate.d.ts.map +1 -1
  103. package/dist/generate.js +34 -39
  104. package/dist/generate.js.map +1 -1
  105. package/dist/index.d.ts +18 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +79 -9
  108. package/dist/index.js.map +1 -1
  109. package/dist/options.d.ts +5 -1
  110. package/dist/options.d.ts.map +1 -1
  111. package/dist/options.js +10 -1
  112. package/dist/options.js.map +1 -1
  113. package/dist/plan-builder.d.ts +33 -0
  114. package/dist/plan-builder.d.ts.map +1 -0
  115. package/dist/plan-builder.js +139 -0
  116. package/dist/plan-builder.js.map +1 -0
  117. package/dist/plan-manifest.d.ts +6 -0
  118. package/dist/plan-manifest.d.ts.map +1 -0
  119. package/dist/plan-manifest.js +40 -0
  120. package/dist/plan-manifest.js.map +1 -0
  121. package/dist/project-discovery-app.d.ts +7 -0
  122. package/dist/project-discovery-app.d.ts.map +1 -0
  123. package/dist/project-discovery-app.js +122 -0
  124. package/dist/project-discovery-app.js.map +1 -0
  125. package/dist/project-discovery-database.d.ts +11 -0
  126. package/dist/project-discovery-database.d.ts.map +1 -0
  127. package/dist/project-discovery-database.js +46 -0
  128. package/dist/project-discovery-database.js.map +1 -0
  129. package/dist/project-discovery-types.d.ts +45 -0
  130. package/dist/project-discovery-types.d.ts.map +1 -0
  131. package/dist/project-discovery-types.js +2 -0
  132. package/dist/project-discovery-types.js.map +1 -0
  133. package/dist/project-discovery.d.ts +4 -0
  134. package/dist/project-discovery.d.ts.map +1 -0
  135. package/dist/project-discovery.js +152 -0
  136. package/dist/project-discovery.js.map +1 -0
  137. package/dist/prompt-driver.d.ts +32 -0
  138. package/dist/prompt-driver.d.ts.map +1 -0
  139. package/dist/prompt-driver.js +42 -0
  140. package/dist/prompt-driver.js.map +1 -0
  141. package/dist/provider-planning-definitions.d.ts +35 -0
  142. package/dist/provider-planning-definitions.d.ts.map +1 -0
  143. package/dist/provider-planning-definitions.js +109 -0
  144. package/dist/provider-planning-definitions.js.map +1 -0
  145. package/dist/provider-planning.d.ts +11 -0
  146. package/dist/provider-planning.d.ts.map +1 -0
  147. package/dist/provider-planning.js +131 -0
  148. package/dist/provider-planning.js.map +1 -0
  149. package/dist/render-ai-sources.d.ts +18 -0
  150. package/dist/render-ai-sources.d.ts.map +1 -0
  151. package/dist/render-ai-sources.js +49 -0
  152. package/dist/render-ai-sources.js.map +1 -0
  153. package/dist/render-ai.d.ts +11 -0
  154. package/dist/render-ai.d.ts.map +1 -0
  155. package/dist/render-ai.js +61 -0
  156. package/dist/render-ai.js.map +1 -0
  157. package/dist/render-auth-schema.d.ts +3 -0
  158. package/dist/render-auth-schema.d.ts.map +1 -0
  159. package/dist/render-auth-schema.js +85 -0
  160. package/dist/render-auth-schema.js.map +1 -0
  161. package/dist/render-auth-sources.d.ts +3 -0
  162. package/dist/render-auth-sources.d.ts.map +1 -0
  163. package/dist/render-auth-sources.js +17 -0
  164. package/dist/render-auth-sources.js.map +1 -0
  165. package/dist/render-auth.d.ts +6 -0
  166. package/dist/render-auth.d.ts.map +1 -0
  167. package/dist/render-auth.js +84 -0
  168. package/dist/render-auth.js.map +1 -0
  169. package/dist/render-database-sources.d.ts +5 -0
  170. package/dist/render-database-sources.d.ts.map +1 -0
  171. package/dist/render-database-sources.js +65 -0
  172. package/dist/render-database-sources.js.map +1 -0
  173. package/dist/render-database.d.ts +13 -0
  174. package/dist/render-database.d.ts.map +1 -0
  175. package/dist/render-database.js +40 -0
  176. package/dist/render-database.js.map +1 -0
  177. package/dist/render-domain-register.d.ts +4 -0
  178. package/dist/render-domain-register.d.ts.map +1 -0
  179. package/dist/render-domain-register.js +11 -0
  180. package/dist/render-domain-register.js.map +1 -0
  181. package/dist/render-domain-sources.d.ts +19 -0
  182. package/dist/render-domain-sources.d.ts.map +1 -0
  183. package/dist/render-domain-sources.js +132 -0
  184. package/dist/render-domain-sources.js.map +1 -0
  185. package/dist/render-domain.d.ts +26 -0
  186. package/dist/render-domain.d.ts.map +1 -0
  187. package/dist/render-domain.js +98 -0
  188. package/dist/render-domain.js.map +1 -0
  189. package/dist/render-resource-sources.d.ts +4 -0
  190. package/dist/render-resource-sources.d.ts.map +1 -0
  191. package/dist/render-resource-sources.js +31 -0
  192. package/dist/render-resource-sources.js.map +1 -0
  193. package/dist/render-resources.d.ts +11 -0
  194. package/dist/render-resources.d.ts.map +1 -0
  195. package/dist/render-resources.js +53 -0
  196. package/dist/render-resources.js.map +1 -0
  197. package/dist/render-route-sources.d.ts +6 -0
  198. package/dist/render-route-sources.d.ts.map +1 -0
  199. package/dist/render-route-sources.js +35 -0
  200. package/dist/render-route-sources.js.map +1 -0
  201. package/dist/render-routes.d.ts +13 -0
  202. package/dist/render-routes.d.ts.map +1 -0
  203. package/dist/render-routes.js +48 -0
  204. package/dist/render-routes.js.map +1 -0
  205. package/dist/render-service.d.ts +6 -0
  206. package/dist/render-service.d.ts.map +1 -0
  207. package/dist/render-service.js +124 -0
  208. package/dist/render-service.js.map +1 -0
  209. package/dist/scaffold-catalog.d.ts +75 -0
  210. package/dist/scaffold-catalog.d.ts.map +1 -0
  211. package/dist/scaffold-catalog.js +24 -0
  212. package/dist/scaffold-catalog.js.map +1 -0
  213. package/dist/source-edit.d.ts +10 -0
  214. package/dist/source-edit.d.ts.map +1 -0
  215. package/dist/source-edit.js +136 -0
  216. package/dist/source-edit.js.map +1 -0
  217. package/dist/source-import-edit.d.ts +3 -0
  218. package/dist/source-import-edit.d.ts.map +1 -0
  219. package/dist/source-import-edit.js +52 -0
  220. package/dist/source-import-edit.js.map +1 -0
  221. package/dist/template-root.d.ts +5 -0
  222. package/dist/template-root.d.ts.map +1 -0
  223. package/dist/template-root.js +15 -0
  224. package/dist/template-root.js.map +1 -0
  225. package/dist/templates/default/README.md +1 -1
  226. package/dist/templates/default/v1/agent/.env.example +0 -2
  227. package/dist/templates/default/v1/agent/README.md +7 -8
  228. package/dist/templates/default/v1/agent/package.json +6 -4
  229. package/dist/templates/default/v1/agent/relkit.config.ts +5 -15
  230. package/dist/templates/default/v1/agent/src/hello/agents/assistant.agent.ts +37 -4
  231. package/dist/templates/default/v1/agent/src/hello/agents/review.agent.ts +43 -0
  232. package/dist/templates/default/v1/agent/src/platform/env.ts +0 -2
  233. package/dist/templates/default/v1/agent/tests/integration/hello.route.test.ts +17 -6
  234. package/dist/templates/default/v1/agent/tests/unit/assistant.agent.test.ts +14 -36
  235. package/dist/templates/default/v1/agent/tests/unit/review.agent.test.ts +19 -0
  236. package/dist/templates/default/v1/api/package.json +3 -3
  237. package/dist/templates/default/v1/fullstack/.env.example +1 -0
  238. package/dist/templates/default/v1/fullstack/README.md +15 -0
  239. package/dist/templates/default/v1/fullstack/gitignore +4 -0
  240. package/dist/templates/default/v1/fullstack/package.json +35 -0
  241. package/dist/templates/default/v1/fullstack/relkit.config.ts +15 -0
  242. package/dist/templates/default/v1/fullstack/src/hello/agents/assistant.agent.ts +46 -0
  243. package/dist/templates/default/v1/fullstack/src/hello/agents/review.agent.ts +43 -0
  244. package/dist/templates/default/v1/fullstack/src/hello/functions/hello.function.ts +10 -0
  245. package/dist/templates/default/v1/fullstack/src/hello/service.ts +4 -0
  246. package/dist/templates/default/v1/fullstack/src/hello/tools/lookup.tool.ts +9 -0
  247. package/dist/templates/default/v1/fullstack/src/platform/env.ts +5 -0
  248. package/dist/templates/default/v1/fullstack/src/routes/hello/route.ts +4 -0
  249. package/dist/templates/default/v1/fullstack/tests/integration/hello.route.test.ts +29 -0
  250. package/dist/templates/default/v1/fullstack/tests/unit/assistant.agent.test.ts +18 -0
  251. package/dist/templates/default/v1/fullstack/tests/unit/hello.function.test.ts +7 -0
  252. package/dist/templates/default/v1/fullstack/tests/unit/review.agent.test.ts +19 -0
  253. package/dist/templates/default/v1/fullstack/tsconfig.json +21 -0
  254. package/dist/templates/default/v1/fullstack/web/app/agent-config.ts +7 -0
  255. package/dist/templates/default/v1/fullstack/web/app/layout.tsx +12 -0
  256. package/dist/templates/default/v1/fullstack/web/app/page.tsx +85 -0
  257. package/dist/templates/default/v1/fullstack/web/app/providers.tsx +29 -0
  258. package/dist/templates/default/v1/fullstack/web/next-env.d.ts +2 -0
  259. package/dist/templates/default/v1/fullstack/web/next.config.ts +5 -0
  260. package/dist/templates/default/v1/fullstack/web/tsconfig.json +10 -0
  261. package/dist/templates/default/v1/minimal/package.json +3 -3
  262. package/dist/templates/default/v1/tasks/.env.example +2 -0
  263. package/dist/templates/default/v1/tasks/README.md +15 -0
  264. package/dist/templates/default/v1/tasks/examples/export-orders.json +1 -0
  265. package/dist/templates/default/v1/tasks/gitignore +10 -0
  266. package/dist/templates/default/v1/tasks/package.json +24 -0
  267. package/dist/templates/default/v1/tasks/relkit.config.ts +11 -0
  268. package/dist/templates/default/v1/tasks/src/orders/functions/health.function.ts +9 -0
  269. package/dist/templates/default/v1/tasks/src/orders/jobs/export-orders.job.ts +15 -0
  270. package/dist/templates/default/v1/tasks/src/orders/service.ts +10 -0
  271. package/dist/templates/default/v1/tasks/src/orders/tasks/export-orders.task.ts +19 -0
  272. package/dist/templates/default/v1/tasks/src/platform/env.ts +3 -0
  273. package/dist/templates/default/v1/tasks/src/routes/health/route.ts +4 -0
  274. package/dist/templates/default/v1/tasks/tests/unit/export-orders.task.test.ts +7 -0
  275. package/dist/templates/default/v1/tasks/tsconfig.json +14 -0
  276. package/package.json +6 -1
  277. package/dist/templates/default/v1/agent/src/hello/functions/ask-assistant.function.ts +0 -16
@@ -0,0 +1,29 @@
1
+ "use client";
2
+
3
+ import { RelkitClientProvider } from "@relkit/client/react";
4
+ import { useState, type ReactNode } from "react";
5
+ import { agentTransports, type AgentTransport } from "./agent-config";
6
+
7
+ export function Providers({ children }: { readonly children: ReactNode }) {
8
+ const [transport, setTransport] = useState<AgentTransport>("sse");
9
+ return (
10
+ <>
11
+ <label>
12
+ Agent transport
13
+ <select
14
+ value={transport}
15
+ onChange={(event) => setTransport(event.target.value as AgentTransport)}
16
+ >
17
+ {agentTransports.map((value) => (
18
+ <option key={value} value={value}>
19
+ {value.toUpperCase()}
20
+ </option>
21
+ ))}
22
+ </select>
23
+ </label>
24
+ <RelkitClientProvider key={transport} baseUrl="http://127.0.0.1:3000" transport={transport}>
25
+ {children}
26
+ </RelkitClientProvider>
27
+ </>
28
+ );
29
+ }
@@ -0,0 +1,2 @@
1
+ /// <reference types="next" />
2
+ /// <reference types="next/image-types/global" />
@@ -0,0 +1,5 @@
1
+ import type { NextConfig } from "next";
2
+ import { withRelkit } from "@relkit/client/build/next";
3
+ import { resolve } from "node:path";
4
+
5
+ export default withRelkit({} satisfies NextConfig, { root: resolve(process.cwd()) });
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "jsx": "preserve",
5
+ "lib": ["DOM", "DOM.Iterable", "ES2022"],
6
+ "types": ["react", "react-dom"]
7
+ },
8
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "../.relkit/generated/client-registry.d.ts"],
9
+ "exclude": ["node_modules"]
10
+ }
@@ -15,12 +15,12 @@
15
15
  "graph": "relkit graph print"
16
16
  },
17
17
  "dependencies": {
18
- "@relkit/app": "0.4.0"
18
+ "@relkit/app": "0.5.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/bun": "1.3.10",
22
- "@relkit/cli": "0.4.0",
23
- "@relkit/testing": "0.4.0",
22
+ "@relkit/cli": "0.5.0",
23
+ "@relkit/testing": "0.5.0",
24
24
  "typescript": "5.9.3"
25
25
  }
26
26
  }
@@ -0,0 +1,2 @@
1
+ # Local jobs use generated Docker secrets; add application values here when needed.
2
+
@@ -0,0 +1,15 @@
1
+ # my-app
2
+
3
+ A small RelKit task and job project. The selected `--jobs` provider runs account-free
4
+ through Docker and keeps task code in a domain-owned worker.
5
+
6
+ ```sh
7
+ bun install
8
+ bun run dev
9
+ bun run jobs:trigger
10
+ bun run test
11
+ bun run check
12
+ bun run build
13
+ ```
14
+
15
+ The example task is `orders.exportOrders`; its fake export writes no external data.
@@ -0,0 +1 @@
1
+ { "orderIds": ["order-1", "order-2"] }
@@ -0,0 +1,10 @@
1
+ node_modules/
2
+ .env
3
+ .env.*
4
+ !.env.example
5
+ .relkit/generated/
6
+ .relkit/build/
7
+ .relkit/state/
8
+ .relkit/observability/
9
+ coverage/
10
+ dist/
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "my-app",
3
+ "private": true,
4
+ "type": "module",
5
+ "packageManager": "bun@1.3.10",
6
+ "scripts": {
7
+ "dev": "relkit dev",
8
+ "check": "relkit check",
9
+ "typecheck": "tsc --noEmit",
10
+ "test": "bun test",
11
+ "build": "relkit build",
12
+ "start": "relkit start",
13
+ "jobs:trigger": "relkit jobs trigger --job exportOrders --input-file examples/export-orders.json --operation-id example-trigger"
14
+ },
15
+ "dependencies": {
16
+ "@relkit/app": "0.5.0"
17
+ },
18
+ "devDependencies": {
19
+ "@types/bun": "1.3.10",
20
+ "@relkit/cli": "0.5.0",
21
+ "@relkit/testing": "0.5.0",
22
+ "typescript": "5.9.3"
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ import { defineApp } from "@relkit/app/config";
2
+ import env from "@app/platform/env.js";
3
+ // relkit:create:deployment-imports
4
+
5
+ export default defineApp({
6
+ env,
7
+ server: { port: 3000, maxBodyBytes: 1_048_576 },
8
+ inspector: { port: 3210 },
9
+ telemetry: { redaction: { mode: "development-redacted", maxBytes: 65_536 } },
10
+ // relkit:create:deployment
11
+ });
@@ -0,0 +1,9 @@
1
+ import { defineFunction } from "@relkit/app/functions";
2
+ import { z } from "@relkit/app/schema";
3
+
4
+ export default defineFunction({
5
+ id: "orders.health",
6
+ input: z.object({}),
7
+ output: z.object({ ok: z.literal(true) }),
8
+ handler: async () => ({ ok: true as const }),
9
+ });
@@ -0,0 +1,15 @@
1
+ import { defineJob } from "@relkit/app/jobs";
2
+ import exportOrders from "@app/orders/tasks/export-orders.task.js";
3
+
4
+ const exportOrdersJob = defineJob({
5
+ id: "orders.export-orders-job",
6
+ name: "exportOrders",
7
+ task: exportOrders,
8
+ client: {
9
+ public: true,
10
+ operations: ["trigger", "get", "list", "watch"],
11
+ fields: ["status", "progress", "output"],
12
+ },
13
+ });
14
+
15
+ export default exportOrdersJob;
@@ -0,0 +1,10 @@
1
+ import { defineService } from "@relkit/app/services";
2
+ import exportOrders from "@app/orders/jobs/export-orders.job.js";
3
+ import exportOrdersTask from "@app/orders/tasks/export-orders.task.js";
4
+ import health from "@app/orders/functions/health.function.js";
5
+
6
+ export default defineService({
7
+ functions: { health },
8
+ tasks: { exportOrdersTask },
9
+ jobs: { exportOrders },
10
+ });
@@ -0,0 +1,19 @@
1
+ import { defineTask } from "@relkit/app/tasks";
2
+ import { z } from "@relkit/app/schema";
3
+
4
+ const exportOrders = defineTask({
5
+ id: "orders.export-orders",
6
+ version: "1",
7
+ execution: "durable",
8
+ input: z.object({ orderIds: z.array(z.string()) }),
9
+ output: z.object({ exported: z.number().int().nonnegative() }),
10
+ progress: z.object({ completed: z.number().int().nonnegative() }),
11
+ handler: async ({ orderIds }, context) => {
12
+ await context.progress.emit({ completed: 0 });
13
+ context.log.info("fake order export", { count: orderIds.length });
14
+ await context.progress.emit({ completed: orderIds.length });
15
+ return { exported: orderIds.length };
16
+ },
17
+ });
18
+
19
+ export default exportOrders;
@@ -0,0 +1,3 @@
1
+ import { defineEnv } from "@relkit/app/config";
2
+
3
+ export default defineEnv({});
@@ -0,0 +1,4 @@
1
+ import { defineRoute } from "@relkit/app/routes";
2
+ import orders from "@app/orders/service.js";
3
+
4
+ export const GET = defineRoute({ target: orders.health });
@@ -0,0 +1,7 @@
1
+ import { expect, test } from "bun:test";
2
+ import task from "@app/orders/tasks/export-orders.task.js";
3
+
4
+ test("declares a typed export task", () => {
5
+ expect(task.ref.id).toBe("orders.export-orders");
6
+ expect(task.version).toBe("1");
7
+ });
@@ -0,0 +1,14 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "strict": true,
7
+ "noEmit": true,
8
+ "skipLibCheck": true,
9
+ "allowImportingTsExtensions": true,
10
+ "baseUrl": ".",
11
+ "paths": { "@app/*": ["src/*"] }
12
+ },
13
+ "include": ["src", "tests", "examples"]
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-relkit",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Create a RELKIT application from a supported project template.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,5 +35,10 @@
35
35
  "build": "tsc -b && bun ../../scripts/package-create-relkit-templates.ts",
36
36
  "check": "tsc -b --pretty false",
37
37
  "typecheck": "tsc -b --pretty false && bun ../../scripts/package-create-relkit-templates.ts"
38
+ },
39
+ "dependencies": {
40
+ "@clack/prompts": "1.7.0",
41
+ "@relkit/compiler": "0.5.0",
42
+ "typescript": "5.9.3"
38
43
  }
39
44
  }
@@ -1,16 +0,0 @@
1
- import { defineFunction } from "@relkit/app/functions";
2
- import { z } from "@relkit/app/schema";
3
- import assistant from "@app/hello/agents/assistant.agent.js";
4
-
5
- export default defineFunction({
6
- id: "hello.ask-assistant",
7
-
8
- input: z.object({ question: z.string().min(1) }),
9
- output: z.object({ answer: z.string() }),
10
-
11
- dependencies: { agents: { assistant } },
12
-
13
- handler: async (input, context) => {
14
- return context.agents.assistant(input);
15
- },
16
- });