create-relkit 0.7.4 → 0.7.6

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 (238) hide show
  1. package/dist/create-capabilities.d.ts +24 -33
  2. package/dist/create-capabilities.d.ts.map +1 -1
  3. package/dist/create-capabilities.js +52 -9
  4. package/dist/create-capabilities.js.map +1 -1
  5. package/dist/create-capabilities.types.d.ts +55 -0
  6. package/dist/create-capabilities.types.d.ts.map +1 -0
  7. package/dist/create-capabilities.types.js +2 -0
  8. package/dist/create-capabilities.types.js.map +1 -0
  9. package/dist/domain-artifact.d.ts.map +1 -1
  10. package/dist/domain-artifact.js +11 -3
  11. package/dist/domain-artifact.js.map +1 -1
  12. package/dist/domain-planning.d.ts +5 -0
  13. package/dist/domain-planning.d.ts.map +1 -1
  14. package/dist/domain-planning.js +25 -16
  15. package/dist/domain-planning.js.map +1 -1
  16. package/dist/generate-deployment-manifest.d.ts +10 -0
  17. package/dist/generate-deployment-manifest.d.ts.map +1 -0
  18. package/dist/generate-deployment-manifest.js +56 -0
  19. package/dist/generate-deployment-manifest.js.map +1 -0
  20. package/dist/generate-deployment.d.ts +2 -3
  21. package/dist/generate-deployment.d.ts.map +1 -1
  22. package/dist/generate-deployment.js +6 -47
  23. package/dist/generate-deployment.js.map +1 -1
  24. package/dist/generate-examples.d.ts +11 -0
  25. package/dist/generate-examples.d.ts.map +1 -0
  26. package/dist/generate-examples.js +28 -0
  27. package/dist/generate-examples.js.map +1 -0
  28. package/dist/generate-files-utilities.d.ts +1 -8
  29. package/dist/generate-files-utilities.d.ts.map +1 -1
  30. package/dist/generate-files-utilities.js +5 -19
  31. package/dist/generate-files-utilities.js.map +1 -1
  32. package/dist/project-discovery-artifacts.d.ts +15 -0
  33. package/dist/project-discovery-artifacts.d.ts.map +1 -0
  34. package/dist/project-discovery-artifacts.js +107 -0
  35. package/dist/project-discovery-artifacts.js.map +1 -0
  36. package/dist/project-discovery-artifacts.types.d.ts +22 -0
  37. package/dist/project-discovery-artifacts.types.d.ts.map +1 -0
  38. package/dist/project-discovery-artifacts.types.js +2 -0
  39. package/dist/project-discovery-artifacts.types.js.map +1 -0
  40. package/dist/project-discovery-facts.d.ts +8 -9
  41. package/dist/project-discovery-facts.d.ts.map +1 -1
  42. package/dist/project-discovery-facts.js +29 -135
  43. package/dist/project-discovery-facts.js.map +1 -1
  44. package/dist/project-discovery-members.d.ts +16 -0
  45. package/dist/project-discovery-members.d.ts.map +1 -0
  46. package/dist/project-discovery-members.js +57 -0
  47. package/dist/project-discovery-members.js.map +1 -0
  48. package/dist/project-discovery-types.d.ts +8 -0
  49. package/dist/project-discovery-types.d.ts.map +1 -1
  50. package/dist/render-auth-database.d.ts +33 -0
  51. package/dist/render-auth-database.d.ts.map +1 -0
  52. package/dist/render-auth-database.js +69 -0
  53. package/dist/render-auth-database.js.map +1 -0
  54. package/dist/render-auth-sources.d.ts +8 -2
  55. package/dist/render-auth-sources.d.ts.map +1 -1
  56. package/dist/render-auth-sources.js +9 -3
  57. package/dist/render-auth-sources.js.map +1 -1
  58. package/dist/render-auth.d.ts +14 -11
  59. package/dist/render-auth.d.ts.map +1 -1
  60. package/dist/render-auth.js +41 -108
  61. package/dist/render-auth.js.map +1 -1
  62. package/dist/render-database-sources.d.ts +7 -1
  63. package/dist/render-database-sources.d.ts.map +1 -1
  64. package/dist/render-database-sources.js +3 -2
  65. package/dist/render-database-sources.js.map +1 -1
  66. package/dist/render-database.d.ts +7 -10
  67. package/dist/render-database.d.ts.map +1 -1
  68. package/dist/render-database.js +12 -4
  69. package/dist/render-database.js.map +1 -1
  70. package/dist/render-database.types.d.ts +15 -0
  71. package/dist/render-database.types.d.ts.map +1 -0
  72. package/dist/render-database.types.js +2 -0
  73. package/dist/render-database.types.js.map +1 -0
  74. package/dist/render-route-sources.d.ts +3 -1
  75. package/dist/render-route-sources.d.ts.map +1 -1
  76. package/dist/render-route-sources.js +4 -2
  77. package/dist/render-route-sources.js.map +1 -1
  78. package/dist/render-routes.d.ts +1 -0
  79. package/dist/render-routes.d.ts.map +1 -1
  80. package/dist/render-routes.js +2 -1
  81. package/dist/render-routes.js.map +1 -1
  82. package/dist/render-service-members.d.ts +32 -0
  83. package/dist/render-service-members.d.ts.map +1 -0
  84. package/dist/render-service-members.js +61 -0
  85. package/dist/render-service-members.js.map +1 -0
  86. package/dist/render-service-requests.d.ts +35 -0
  87. package/dist/render-service-requests.d.ts.map +1 -0
  88. package/dist/render-service-requests.js +62 -0
  89. package/dist/render-service-requests.js.map +1 -0
  90. package/dist/render-service-support.d.ts +37 -0
  91. package/dist/render-service-support.d.ts.map +1 -0
  92. package/dist/render-service-support.js +74 -0
  93. package/dist/render-service-support.js.map +1 -0
  94. package/dist/render-service.d.ts +16 -13
  95. package/dist/render-service.d.ts.map +1 -1
  96. package/dist/render-service.js +33 -149
  97. package/dist/render-service.js.map +1 -1
  98. package/dist/render-service.types.d.ts +13 -0
  99. package/dist/render-service.types.d.ts.map +1 -0
  100. package/dist/render-service.types.js +2 -0
  101. package/dist/render-service.types.js.map +1 -0
  102. package/dist/scaffold-layout.d.ts +10 -0
  103. package/dist/scaffold-layout.d.ts.map +1 -0
  104. package/dist/scaffold-layout.js +29 -0
  105. package/dist/scaffold-layout.js.map +1 -0
  106. package/dist/templates/default/README.md +1 -1
  107. package/dist/templates/default/v1/agent/.agents/skills/relkit/SKILL.md +48 -0
  108. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/agent-apis.md +59 -0
  109. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/cli.md +63 -0
  110. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/config-environments.md +96 -0
  111. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/data-apis.md +74 -0
  112. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/domain-apis.md +92 -0
  113. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/http-apis.md +70 -0
  114. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/jobs-apis.md +49 -0
  115. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/layout-migration.md +35 -0
  116. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/observability-apis.md +53 -0
  117. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/realtime-apis.md +98 -0
  118. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/streaming-apis.md +75 -0
  119. package/dist/templates/default/v1/agent/.agents/skills/relkit/references/testing-apis.md +71 -0
  120. package/dist/templates/default/v1/agent/README.md +9 -0
  121. package/dist/templates/default/v1/agent/package.json +4 -4
  122. package/dist/templates/default/v1/agent/src/routes/hello/route.ts +2 -1
  123. package/dist/templates/default/v1/agent/src/{hello → services/hello}/agents/assistant.agent.ts +2 -1
  124. package/dist/templates/default/v1/agent/src/{hello → services/hello}/agents/review.agent.ts +1 -0
  125. package/dist/templates/default/v1/agent/src/{hello → services/hello}/functions/hello.function.ts +7 -0
  126. package/dist/templates/default/v1/agent/src/services/hello/service.ts +5 -0
  127. package/dist/templates/default/v1/agent/src/{hello → services/hello}/tools/lookup.tool.ts +2 -1
  128. package/dist/templates/default/v1/agent/tests/fixtures/lookup.tool.ts +2 -1
  129. package/dist/templates/default/v1/agent/tests/fixtures/mcp-options.ts +2 -1
  130. package/dist/templates/default/v1/agent/tests/unit/assistant.agent.test.ts +3 -2
  131. package/dist/templates/default/v1/agent/tests/unit/hello.function.test.ts +2 -1
  132. package/dist/templates/default/v1/agent/tests/unit/lookup.tool.test.ts +2 -1
  133. package/dist/templates/default/v1/agent/tests/unit/review.agent.test.ts +2 -1
  134. package/dist/templates/default/v1/agent/tsconfig.json +1 -0
  135. package/dist/templates/default/v1/api/.agents/skills/relkit/SKILL.md +48 -0
  136. package/dist/templates/default/v1/api/.agents/skills/relkit/references/agent-apis.md +59 -0
  137. package/dist/templates/default/v1/api/.agents/skills/relkit/references/cli.md +63 -0
  138. package/dist/templates/default/v1/api/.agents/skills/relkit/references/config-environments.md +96 -0
  139. package/dist/templates/default/v1/api/.agents/skills/relkit/references/data-apis.md +74 -0
  140. package/dist/templates/default/v1/api/.agents/skills/relkit/references/domain-apis.md +92 -0
  141. package/dist/templates/default/v1/api/.agents/skills/relkit/references/http-apis.md +70 -0
  142. package/dist/templates/default/v1/api/.agents/skills/relkit/references/jobs-apis.md +49 -0
  143. package/dist/templates/default/v1/api/.agents/skills/relkit/references/layout-migration.md +35 -0
  144. package/dist/templates/default/v1/api/.agents/skills/relkit/references/observability-apis.md +53 -0
  145. package/dist/templates/default/v1/api/.agents/skills/relkit/references/realtime-apis.md +98 -0
  146. package/dist/templates/default/v1/api/.agents/skills/relkit/references/streaming-apis.md +75 -0
  147. package/dist/templates/default/v1/api/.agents/skills/relkit/references/testing-apis.md +71 -0
  148. package/dist/templates/default/v1/api/README.md +10 -0
  149. package/dist/templates/default/v1/api/package.json +3 -3
  150. package/dist/templates/default/v1/api/src/routes/echo/route.ts +2 -1
  151. package/dist/templates/default/v1/api/src/routes/hello/route.ts +2 -1
  152. package/dist/templates/default/v1/api/src/routes/orders/route.ts +2 -1
  153. package/dist/templates/default/v1/api/src/{echo → services/echo}/functions/echo.function.ts +1 -0
  154. package/dist/templates/default/v1/api/src/services/echo/service.ts +5 -0
  155. package/dist/templates/default/v1/api/src/{hello → services/hello}/functions/hello.function.ts +7 -0
  156. package/dist/templates/default/v1/api/src/services/hello/service.ts +5 -0
  157. package/dist/templates/default/v1/api/src/{orders → services/orders}/functions/create-order.function.ts +2 -1
  158. package/dist/templates/default/v1/api/src/{orders → services/orders}/functions/price-order.function.ts +1 -0
  159. package/dist/templates/default/v1/api/src/services/orders/service.ts +8 -0
  160. package/dist/templates/default/v1/api/tests/unit/echo.function.test.ts +2 -1
  161. package/dist/templates/default/v1/api/tests/unit/hello.function.test.ts +2 -1
  162. package/dist/templates/default/v1/api/tests/unit/orders.function.test.ts +2 -1
  163. package/dist/templates/default/v1/api/tsconfig.json +1 -0
  164. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/SKILL.md +48 -0
  165. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/agent-apis.md +59 -0
  166. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/cli.md +63 -0
  167. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/config-environments.md +96 -0
  168. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/data-apis.md +74 -0
  169. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/domain-apis.md +92 -0
  170. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/http-apis.md +70 -0
  171. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/jobs-apis.md +49 -0
  172. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/layout-migration.md +35 -0
  173. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/observability-apis.md +53 -0
  174. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/realtime-apis.md +98 -0
  175. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/streaming-apis.md +75 -0
  176. package/dist/templates/default/v1/fullstack/.agents/skills/relkit/references/testing-apis.md +71 -0
  177. package/dist/templates/default/v1/fullstack/README.md +9 -0
  178. package/dist/templates/default/v1/fullstack/package.json +5 -5
  179. package/dist/templates/default/v1/fullstack/src/routes/hello/route.ts +2 -1
  180. package/dist/templates/default/v1/fullstack/src/{hello → services/hello}/agents/assistant.agent.ts +2 -1
  181. package/dist/templates/default/v1/fullstack/src/{hello → services/hello}/agents/review.agent.ts +1 -0
  182. package/dist/templates/default/v1/fullstack/src/{hello → services/hello}/functions/hello.function.ts +1 -0
  183. package/dist/templates/default/v1/fullstack/src/services/hello/service.ts +5 -0
  184. package/dist/templates/default/v1/fullstack/src/{hello → services/hello}/tools/lookup.tool.ts +2 -1
  185. package/dist/templates/default/v1/fullstack/tests/unit/assistant.agent.test.ts +3 -2
  186. package/dist/templates/default/v1/fullstack/tests/unit/hello.function.test.ts +2 -1
  187. package/dist/templates/default/v1/fullstack/tests/unit/review.agent.test.ts +2 -1
  188. package/dist/templates/default/v1/fullstack/tsconfig.json +1 -0
  189. package/dist/templates/default/v1/minimal/.agents/skills/relkit/SKILL.md +48 -0
  190. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/agent-apis.md +59 -0
  191. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/cli.md +63 -0
  192. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/config-environments.md +96 -0
  193. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/data-apis.md +74 -0
  194. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/domain-apis.md +92 -0
  195. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/http-apis.md +70 -0
  196. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/jobs-apis.md +49 -0
  197. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/layout-migration.md +35 -0
  198. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/observability-apis.md +53 -0
  199. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/realtime-apis.md +98 -0
  200. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/streaming-apis.md +75 -0
  201. package/dist/templates/default/v1/minimal/.agents/skills/relkit/references/testing-apis.md +71 -0
  202. package/dist/templates/default/v1/minimal/README.md +10 -0
  203. package/dist/templates/default/v1/minimal/package.json +3 -3
  204. package/dist/templates/default/v1/minimal/src/routes/hello/route.ts +2 -1
  205. package/dist/templates/default/v1/minimal/src/{hello → services/hello}/functions/hello.function.ts +7 -0
  206. package/dist/templates/default/v1/minimal/src/services/hello/service.ts +5 -0
  207. package/dist/templates/default/v1/minimal/tests/unit/hello.function.test.ts +2 -1
  208. package/dist/templates/default/v1/minimal/tsconfig.json +1 -0
  209. package/dist/templates/default/v1/tasks/.agents/skills/relkit/SKILL.md +48 -0
  210. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/agent-apis.md +59 -0
  211. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/cli.md +63 -0
  212. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/config-environments.md +96 -0
  213. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/data-apis.md +74 -0
  214. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/domain-apis.md +92 -0
  215. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/http-apis.md +70 -0
  216. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/jobs-apis.md +49 -0
  217. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/layout-migration.md +35 -0
  218. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/observability-apis.md +53 -0
  219. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/realtime-apis.md +98 -0
  220. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/streaming-apis.md +75 -0
  221. package/dist/templates/default/v1/tasks/.agents/skills/relkit/references/testing-apis.md +71 -0
  222. package/dist/templates/default/v1/tasks/README.md +8 -1
  223. package/dist/templates/default/v1/tasks/package.json +3 -3
  224. package/dist/templates/default/v1/tasks/src/routes/health/route.ts +2 -1
  225. package/dist/templates/default/v1/tasks/src/{orders → services/orders}/functions/health.function.ts +1 -0
  226. package/dist/templates/default/v1/tasks/src/{orders → services/orders}/jobs/export-orders.job.ts +2 -1
  227. package/dist/templates/default/v1/tasks/src/services/orders/service.ts +11 -0
  228. package/dist/templates/default/v1/tasks/src/{orders → services/orders}/tasks/export-orders.task.ts +1 -0
  229. package/dist/templates/default/v1/tasks/tests/unit/export-orders.task.test.ts +2 -1
  230. package/dist/templates/default/v1/tasks/tsconfig.json +2 -0
  231. package/package.json +3 -3
  232. package/dist/templates/default/v1/agent/src/hello/service.ts +0 -4
  233. package/dist/templates/default/v1/api/src/echo/service.ts +0 -4
  234. package/dist/templates/default/v1/api/src/hello/service.ts +0 -4
  235. package/dist/templates/default/v1/api/src/orders/service.ts +0 -7
  236. package/dist/templates/default/v1/fullstack/src/hello/service.ts +0 -4
  237. package/dist/templates/default/v1/minimal/src/hello/service.ts +0 -4
  238. package/dist/templates/default/v1/tasks/src/orders/service.ts +0 -10
@@ -0,0 +1,71 @@
1
+ # Testing a RELKIT application
2
+
3
+ Generated projects use Bun's test runner and `@relkit/testing`. Start with the existing `tests/unit` and `tests/integration` examples, then test the boundary that owns the behavior. Keep external providers and test state explicit; `RELKIT_ENV=test` alone does not select fakes.
4
+
5
+ ## Direct function tests
6
+
7
+ `invokeFunction` runs a function descriptor through RELKIT's input/output validation and handler path without an HTTP server. Import a service's public function through its `service.ts` when testing the public member:
8
+
9
+ ```ts
10
+ import { expect, test } from "bun:test";
11
+ import { invokeFunction } from "@relkit/testing";
12
+ import orders from "@app/services/orders/service.js";
13
+
14
+ test("createOrder calculates its total", async () => {
15
+ await expect(
16
+ invokeFunction(orders.createOrder, { orderId: "order-1", sku: "book", quantity: 3 }),
17
+ ).resolves.toEqual({ orderId: "order-1", sku: "book", totalCents: 300 });
18
+ });
19
+ ```
20
+
21
+ Pass explicit `env`, `context`, `clients`, or other `InvokeFunctionOptions` when the function needs them. Test invalid input and declared errors as well as success. Direct invocation does not test route mapping or middleware.
22
+
23
+ For several invocations that share a deterministic clock or provider state, use `createTestRuntime({ app, env, providers, startTimeMs })` and `runtime.invoke(target, input)`. `runtime.clock.advance(ms)` controls its test clock. Always `await runtime.close()` in `finally` or `afterAll`.
24
+
25
+ ## Application and HTTP tests
26
+
27
+ `createTestApplication` discovers the generated project's routes and services. Pass its existing `relkit.config.ts`; `resourceProviders: "fake"` explicitly replaces graph-required resource providers for local tests:
28
+
29
+ ```ts
30
+ import { afterAll, expect, test } from "bun:test";
31
+ import { createTestApplication } from "@relkit/testing";
32
+ import config from "../../relkit.config.js";
33
+
34
+ const app = await createTestApplication(config, { resourceProviders: "fake" });
35
+ afterAll(() => app.close());
36
+
37
+ test("POST /orders maps and validates input", async () => {
38
+ const response = await app.http.request("/orders", {
39
+ method: "POST",
40
+ headers: { "content-type": "application/json" },
41
+ body: JSON.stringify({ orderId: "order-1", sku: "book", quantity: 3 }),
42
+ });
43
+ expect(response.status).toBe(201);
44
+ expect(await response.json()).toEqual({ orderId: "order-1", sku: "book", totalCents: 300 });
45
+ });
46
+ ```
47
+
48
+ Use `app.http.request`, `get`, or other client methods to assert status, body, and headers. Add requests for invalid input, anonymous callers, and unauthorized resource access where relevant. The harness has `runtime`, `clock`, `fakes`, and `observability` for controlled state and inspection. Options include `env`, `environment`, `bindingValues`, `providers`, and `projectRoot`; use explicit values for test-only configuration. This in-process HTTP boundary does not prove the full production middleware, cookie/origin policy, OpenAPI, or network transport. Verify those against a running backend when relevant.
49
+
50
+ ## Provider and feature tests
51
+
52
+ - `createTestCacheFake`, `createTestBucketFake`, `createTestJobFake`, and `createTestEventFake` provide owned, inspectable test dependencies. `createTestFakes` groups native clients. Close any separately created fake after use. Replace every configured provider profile the graph needs, not only the one under direct assertion.
53
+ - `createTestHttpClient` exercises a standalone in-memory HTTP application. Use `createTestApplication` when route discovery and service wiring matter. `createTestRealtimeProvider` and `createTestAgentStateProvider` supply local stateful provider replacements.
54
+ - `createTestModel`, `createTestAgent`, and `assertAgentTrace` support deterministic agent execution. Use scripted responses and inspect tool calls or traces instead of live model calls or sleeps.
55
+ - For jobs, assert behavior beyond the descriptor shape: input/output, accepted run handle, progress, retry or cancellation policy, and idempotency where applicable. Use the test job adapter or fake appropriate to the contract.
56
+ - For database and auth integration, migrate an isolated temporary database before starting the application. Supply both parsed RELKIT environment and any native auth process environment required by the provider; close the app before removing test-owned files. Test public and protected requests with real cookies and separate users. A direct function mock does not verify migrations, sessions, or route protection.
57
+ - For realtime, streaming, and observability, test the exposed route or channel contract and recorded events/spans as applicable. Use a running backend for actual transport, connection, and browser behavior.
58
+
59
+ ## Run the generated project checks
60
+
61
+ ```sh
62
+ bun test tests/unit/hello.function.test.ts
63
+ bun run test:unit
64
+ bun run test:integration
65
+ bun run test
66
+ bun run check
67
+ bun run typecheck
68
+ bun run build
69
+ ```
70
+
71
+ Run only scripts present in the generated `package.json`; the task template may have a different test layout. Keep Docker, external providers, and cloud acceptance as explicit integration gates. The installed `@relkit/testing` declarations and the project's existing tests are the source for exact helper options.
@@ -1,5 +1,8 @@
1
1
  # my-app
2
2
 
3
+ This maintained task/provider candidate is exercised internally. Public jobs
4
+ creation remains disabled until exact native and readiness certification passes.
5
+
3
6
  A small RelKit task and job project. The selected `--jobs` provider runs account-free
4
7
  through Docker and keeps task code in a domain-owned worker.
5
8
 
@@ -24,4 +27,8 @@ bun run test
24
27
  bun run build
25
28
  ```
26
29
 
27
- The example task is `orders.exportOrders`; its fake export writes no external data.
30
+ The example task is `orders.export-orders`; its fake export writes no external data.
31
+ Its boundary, task, job and function live in `src/services/orders/`; routes remain
32
+ in `src/routes/`, and shared configuration lives in Platform. Public descriptors
33
+ remain ordinary TypeScript. Additions preserve an existing flat application's
34
+ root; `relkit migrate layout` previews an optional coordinated move.
@@ -13,13 +13,13 @@
13
13
  "jobs:trigger": "relkit jobs trigger --job exportOrders --input-file examples/export-orders.json --operation-id example-trigger"
14
14
  },
15
15
  "dependencies": {
16
- "@relkit/app": "0.7.4",
16
+ "@relkit/app": "0.7.6",
17
17
  "effect": "4.0.1"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/bun": "1.3.10",
21
- "@relkit/cli": "0.7.4",
22
- "@relkit/testing": "0.7.4",
21
+ "@relkit/cli": "0.7.6",
22
+ "@relkit/testing": "0.7.6",
23
23
  "typescript": "5.9.3"
24
24
  }
25
25
  }
@@ -1,4 +1,5 @@
1
+ /** Maps the HTTP endpoint to its owning service's public member. */
1
2
  import { defineRoute } from "@relkit/app/routes";
2
- import orders from "@app/orders/service.js";
3
+ import orders from "@app/services/orders/service.js";
3
4
 
4
5
  export const GET = defineRoute({ target: orders.health });
@@ -1,3 +1,4 @@
1
+ /** Supplies the orders service with a validated health result independent of job execution. */
1
2
  import { defineFunction } from "@relkit/app/functions";
2
3
  import { z } from "@relkit/app/schema";
3
4
 
@@ -1,5 +1,6 @@
1
+ /** Registers the export task as a public job exposing trigger, lookup, list and watch with progress/output fields. */
1
2
  import { defineJob } from "@relkit/app/jobs";
2
- import exportOrders from "@app/orders/tasks/export-orders.task.js";
3
+ import exportOrders from "@app/services/orders/tasks/export-orders.task.js";
3
4
 
4
5
  const exportOrdersJob = defineJob({
5
6
  id: "orders.export-orders-job",
@@ -0,0 +1,11 @@
1
+ /** Declares the orders service boundary and its public members. */
2
+ import { defineService } from "@relkit/app/services";
3
+ import exportOrders from "@app/services/orders/jobs/export-orders.job.js";
4
+ import exportOrdersTask from "@app/services/orders/tasks/export-orders.task.js";
5
+ import health from "@app/services/orders/functions/health.function.js";
6
+
7
+ export default defineService({
8
+ functions: { health },
9
+ tasks: { exportOrdersTask },
10
+ jobs: { exportOrders },
11
+ });
@@ -1,3 +1,4 @@
1
+ /** Demonstrates a durable export task by emitting progress, logging the count and returning the requested order count. */
1
2
  import { defineTask } from "@relkit/app/tasks";
2
3
  import { z } from "@relkit/app/schema";
3
4
 
@@ -1,5 +1,6 @@
1
+ /** Checks export-orders.task through the supported public RELKIT APIs. */
1
2
  import { expect, test } from "bun:test";
2
- import task from "@app/orders/tasks/export-orders.task.js";
3
+ import task from "@app/services/orders/tasks/export-orders.task.js";
3
4
 
4
5
  test("declares a typed export task", () => {
5
6
  expect(task.ref.id).toBe("orders.export-orders");
@@ -3,6 +3,8 @@
3
3
  "target": "ES2022",
4
4
  "module": "ESNext",
5
5
  "moduleResolution": "Bundler",
6
+ "types": ["bun"],
7
+ "typeRoots": ["./node_modules/@types"],
6
8
  "plugins": [{ "name": "@relkit/cli/editor" }],
7
9
  "strict": true,
8
10
  "noEmit": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-relkit",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "description": "Create a RELKIT application from a supported project template.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -44,10 +44,10 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@clack/prompts": "1.7.0",
47
- "@relkit/compiler": "0.7.4",
47
+ "@relkit/compiler": "0.7.6",
48
48
  "typescript": "5.9.3",
49
49
  "effect": "4.0.1",
50
- "@relkit/contracts": "0.7.4"
50
+ "@relkit/contracts": "0.7.6"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@effect/vitest": "4.0.1",
@@ -1,4 +0,0 @@
1
- import { defineService } from "@relkit/app/services";
2
- import hello from "@app/hello/functions/hello.function.js";
3
-
4
- export default defineService({ functions: { hello } });
@@ -1,4 +0,0 @@
1
- import { defineService } from "@relkit/app/services";
2
- import echo from "@app/echo/functions/echo.function.js";
3
-
4
- export default defineService({ functions: { echo } });
@@ -1,4 +0,0 @@
1
- import { defineService } from "@relkit/app/services";
2
- import hello from "@app/hello/functions/hello.function.js";
3
-
4
- export default defineService({ functions: { hello } });
@@ -1,7 +0,0 @@
1
- import { defineService } from "@relkit/app/services";
2
- import createOrder from "@app/orders/functions/create-order.function.js";
3
- import priceOrder from "@app/orders/functions/price-order.function.js";
4
-
5
- export default defineService({
6
- functions: { createOrder, priceOrder },
7
- });
@@ -1,4 +0,0 @@
1
- import { defineService } from "@relkit/app/services";
2
- import hello from "@app/hello/functions/hello.function.js";
3
-
4
- export default defineService({ functions: { hello } });
@@ -1,4 +0,0 @@
1
- import { defineService } from "@relkit/app/services";
2
- import hello from "@app/hello/functions/hello.function.js";
3
-
4
- export default defineService({ functions: { hello } });
@@ -1,10 +0,0 @@
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
- });