create-relkit 0.1.0 → 0.3.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 (33) hide show
  1. package/dist/generate-files.d.ts.map +1 -1
  2. package/dist/generate-files.js +32 -2
  3. package/dist/generate-files.js.map +1 -1
  4. package/dist/options.d.ts +1 -1
  5. package/dist/options.d.ts.map +1 -1
  6. package/dist/options.js +3 -3
  7. package/dist/options.js.map +1 -1
  8. package/dist/templates/default/README.md +1 -1
  9. package/dist/templates/default/v1/agent/README.md +4 -5
  10. package/dist/templates/default/v1/agent/package.json +5 -7
  11. package/dist/templates/default/v1/agent/relkit.config.ts +18 -16
  12. package/dist/templates/default/v1/agent/tests/fixtures/mcp-options.ts +2 -2
  13. package/dist/templates/default/v1/agent/tests/integration/hello.route.test.ts +6 -1
  14. package/dist/templates/default/v1/agent/tsconfig.json +0 -1
  15. package/dist/templates/default/v1/api/.env.example +0 -3
  16. package/dist/templates/default/v1/api/README.md +2 -4
  17. package/dist/templates/default/v1/api/package.json +4 -8
  18. package/dist/templates/default/v1/api/relkit.config.ts +5 -13
  19. package/dist/templates/default/v1/api/src/orders/functions/create-order.function.ts +1 -7
  20. package/dist/templates/default/v1/api/src/orders/service.ts +0 -2
  21. package/dist/templates/default/v1/api/src/platform/env.ts +0 -3
  22. package/dist/templates/default/v1/api/tests/integration/orders.route.test.ts +0 -3
  23. package/dist/templates/default/v1/api/tests/unit/orders.function.test.ts +6 -21
  24. package/dist/templates/default/v1/api/tsconfig.json +0 -1
  25. package/dist/templates/default/v1/minimal/README.md +2 -3
  26. package/dist/templates/default/v1/minimal/package.json +4 -7
  27. package/dist/templates/default/v1/minimal/relkit.config.ts +5 -4
  28. package/dist/templates/default/v1/minimal/tsconfig.json +0 -1
  29. package/package.json +1 -1
  30. package/dist/templates/default/v1/api/src/orders/events/order-created.event.ts +0 -18
  31. package/dist/templates/default/v1/api/src/orders/functions/order-audit.function.ts +0 -15
  32. package/dist/templates/default/v1/api/src/orders/functions/order-confirmation.function.ts +0 -15
  33. package/dist/templates/default/v1/api/tests/integration/order-events.test.ts +0 -63
@@ -1 +1 @@
1
- {"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../src/generate-files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1F;AAED,6FAA6F;AAC7F,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAmB7B;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjE;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5F;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUtF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C"}
1
+ {"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../src/generate-files.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAc1F;AAyCD,6FAA6F;AAC7F,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAmB7B;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjE;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5F;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUtF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C"}
@@ -23,10 +23,40 @@ export async function copyTemplate(source, target) {
23
23
  export async function customizeProject(root, options) {
24
24
  await replaceOnce(join(root, "package.json"), '"name": "my-app"', `"name": ${JSON.stringify(options.name)}`);
25
25
  await replaceOnce(join(root, "README.md"), "# my-app", `# ${options.name}`);
26
- await replaceOnce(join(root, "relkit.config.ts"), "export default defineConfig({", `export default defineConfig({\n id: ${JSON.stringify(projectId(options.name))},`);
26
+ await replaceOnce(join(root, "relkit.config.ts"), "export default defineApp({", `export default defineApp({\n id: ${JSON.stringify(projectId(options.name))},`);
27
+ await customizeDeployment(root, options);
27
28
  if (!options.examples)
28
29
  await removeExamples(root);
29
30
  }
31
+ async function customizeDeployment(root, options) {
32
+ const configPath = join(root, "relkit.config.ts");
33
+ const imports = [
34
+ ...(options.cloud === "aws" ? ['import "@relkit/aws";'] : []),
35
+ ...(options.deploy === "pulumi" ? ['import "@relkit/pulumi";'] : []),
36
+ ].join("\n");
37
+ await replaceOnce(configPath, "// relkit:create:deployment-imports", imports);
38
+ await replaceOnce(configPath, " // relkit:create:deployment", options.cloud === "aws" && options.deploy === "pulumi"
39
+ ? ' deployment: { engine: "pulumi", host: "aws" },'
40
+ : "");
41
+ const manifestPath = join(root, "package.json");
42
+ const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
43
+ const version = manifest.dependencies["@relkit/app"];
44
+ if (options.cloud === "aws")
45
+ manifest.dependencies["@relkit/aws"] = version;
46
+ if (options.deploy === "pulumi")
47
+ manifest.dependencies["@relkit/pulumi"] = version;
48
+ if (options.cloud === "aws" && options.deploy === "pulumi") {
49
+ manifest.scripts["deploy:preview"] = "relkit deploy preview";
50
+ manifest.scripts.deploy = "relkit deploy up";
51
+ }
52
+ manifest.scripts = sorted(manifest.scripts);
53
+ manifest.dependencies = sorted(manifest.dependencies);
54
+ await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf8");
55
+ await chmod(manifestPath, FILE_MODE);
56
+ }
57
+ function sorted(values) {
58
+ return Object.fromEntries(Object.entries(values).sort(([left], [right]) => left.localeCompare(right)));
59
+ }
30
60
  /** Removes only a verified mkdtemp sibling; broad or unresolved paths are never recursed. */
31
61
  export async function cleanupStagedProject(stage, destination) {
32
62
  if (stage === undefined)
@@ -107,7 +137,7 @@ export function projectId(name) {
107
137
  .replace(/^@/, "")
108
138
  .replace("/", "-")
109
139
  .replace(/[^A-Za-z0-9._-]+/g, "-");
110
- return value.replace(/^[._-]+|[._-]+$/g, "") || "app";
140
+ return value.replace(/^[._-]+/, "").replace(/(?<![._-])[._-]+$/, "") || "app";
111
141
  }
112
142
  function compareNames(left, right) {
113
143
  return left.name < right.name ? -1 : left.name > right.name ? 1 : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../src/generate-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-files.js","sourceRoot":"","sources":["../src/generate-files.ts"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -33,6 +33,6 @@ export declare class CreateOptionsError extends Error {
33
33
  readonly code: "RELKIT_CREATE_USAGE";
34
34
  constructor(message: string);
35
35
  }
36
- /** Parses the non-interactive create flags and applies the v3 defaults. */
36
+ /** Parses non-interactive create flags and applies the cloud-free defaults. */
37
37
  export declare function normalizeCreateOptions(args: readonly string[], context?: CreateOptionsContext): CreateOptions;
38
38
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,sCAAuC,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa,0BAA2B,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,sBAAsB;cACV,cAAc;WACrB,WAAW;YACP,gBAAgB;aACnB,OAAO;SACX,OAAO;cACF,OAAO;yBACK,OAAO;UACtB,OAAO;EACtB,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAU;gBAEnC,OAAO,EAAE,MAAM;CAI5B;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAyDf"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,sCAAuC,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa,0BAA2B,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,sBAAsB;cACV,cAAc;WACpB,WAAW;YACV,gBAAgB;aACjB,OAAO;SACX,OAAO;cACF,OAAO;yBACK,OAAO;UACtB,OAAO;EACtB,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAU;gBAEnC,OAAO,EAAE,MAAM;CAI5B;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAyDf"}
package/dist/options.js CHANGED
@@ -3,8 +3,8 @@ export const CREATE_CLOUDS = ["aws", "none"];
3
3
  export const CREATE_DEPLOYMENTS = ["pulumi", "none"];
4
4
  export const CREATE_OPTION_DEFAULTS = Object.freeze({
5
5
  template: "minimal",
6
- cloud: "aws",
7
- deploy: "pulumi",
6
+ cloud: "none",
7
+ deploy: "none",
8
8
  install: true,
9
9
  git: true,
10
10
  examples: true,
@@ -18,7 +18,7 @@ export class CreateOptionsError extends Error {
18
18
  this.name = "CreateOptionsError";
19
19
  }
20
20
  }
21
- /** Parses the non-interactive create flags and applies the v3 defaults. */
21
+ /** Parses non-interactive create flags and applies the cloud-free defaults. */
22
22
  export function normalizeCreateOptions(args, context = {}) {
23
23
  let name;
24
24
  let directory;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,6 @@ scaffolder:
8
8
  - `agent` — the minimal example plus a read-only tool and agent descriptor.
9
9
 
10
10
  Each variant is self-contained and can be copied as a project root. It uses
11
- the current checked-in RelKit package version (`0.1.0`), Bun `1.3.10`, and
11
+ the current checked-in RelKit package version (`0.3.0`), Bun `1.3.10`, and
12
12
  TypeScript `5.9.3`. The generator owns project-name substitution and later
13
13
  installation/Git behavior.
@@ -1,12 +1,11 @@
1
1
  # my-app
2
2
 
3
3
  A RelKit TypeScript/Bun project with the minimal HTTP example and a bounded
4
- agent backed by a function-derived read-only tool. Tests use deterministic AI
5
- SDK test models, while production uses the configured AWS provider set.
4
+ agent backed by a function-derived read-only tool. Tests use a deterministic
5
+ scripted model, while production resolves the selected AI SDK profile.
6
6
 
7
- The agent may omit `model` to use the configured `defaultProvider` and
8
- `defaultModel`; production keeps OpenAI and Anthropic credentials as
9
- environment references in `modelProviders`.
7
+ The agent may omit `model` to use the configured default profile. OpenAI and
8
+ Anthropic credentials remain named binding-local values.
10
9
 
11
10
  ## Commands
12
11
 
@@ -12,18 +12,16 @@
12
12
  "test:integration": "bun test tests/integration",
13
13
  "build": "relkit build",
14
14
  "start": "relkit start",
15
- "graph": "relkit graph print",
16
- "deploy:preview": "relkit deploy preview",
17
- "deploy": "relkit deploy up"
15
+ "graph": "relkit graph print"
18
16
  },
19
17
  "dependencies": {
20
- "@relkit/app": "0.1.0",
21
- "@relkit/providers-standard": "0.1.0"
18
+ "@relkit/ai-sdk": "0.3.0",
19
+ "@relkit/app": "0.3.0"
22
20
  },
23
21
  "devDependencies": {
24
22
  "@types/bun": "1.3.10",
25
- "@relkit/cli": "0.1.0",
26
- "@relkit/testing": "0.1.0",
23
+ "@relkit/cli": "0.3.0",
24
+ "@relkit/testing": "0.3.0",
27
25
  "typescript": "5.9.3"
28
26
  }
29
27
  }
@@ -1,23 +1,25 @@
1
- import { aiSdk, defineConfig, external } from "@relkit/app/config";
1
+ import { aiSdk } from "@relkit/ai-sdk";
2
+ import { defineApp, env as binding } from "@relkit/app/config";
2
3
  import env from "@app/platform/env.js";
4
+ // relkit:create:deployment-imports
3
5
 
4
- export default defineConfig({
6
+ export default defineApp({
5
7
  env,
6
- models: {
7
- default: external(
8
- aiSdk({
9
- defaultProvider: "openai",
10
- defaultModel: "gpt-5-mini",
11
- openai: { apiKey: env.OPENAI_API_KEY },
12
- anthropic: {
13
- defaultModel: "claude-sonnet-4-5",
14
- apiKey: env.ANTHROPIC_API_KEY,
15
- },
16
- }),
17
- ),
8
+ model: {
9
+ openai: aiSdk({
10
+ provider: "openai",
11
+ defaultModel: "gpt-5-mini",
12
+ apiKey: binding.secret("OPENAI_API_KEY"),
13
+ }),
14
+ anthropic: aiSdk({
15
+ provider: "anthropic",
16
+ defaultModel: "claude-sonnet-4-5",
17
+ apiKey: binding.secret("ANTHROPIC_API_KEY"),
18
+ }),
18
19
  },
19
- telemetry: { bodyCapture: { mode: "off" } },
20
+ defaults: { model: "openai" },
21
+ telemetry: { redaction: { mode: "development-redacted", maxBytes: 65_536 } },
20
22
  server: { port: 3000, maxBodyBytes: 1_048_576 },
21
23
  inspector: { port: 3210 },
22
- deployment: { target: "aws", adapter: "pulumi" },
24
+ // relkit:create:deployment
23
25
  });
@@ -12,10 +12,10 @@ export const privateLookup = hello.asTool({
12
12
  });
13
13
  // #endregion private-tool
14
14
 
15
- import { defineConfig } from "@relkit/app/config";
15
+ import { defineApp } from "@relkit/app/config";
16
16
  import env from "@app/platform/env.js";
17
17
 
18
- export const mcpDisabled = defineConfig({
18
+ export const mcpDisabled = defineApp({
19
19
  env,
20
20
  // #region disable-mcp
21
21
  server: {
@@ -2,7 +2,12 @@ import { afterAll, expect, test } from "bun:test";
2
2
  import { createTestApplication } from "@relkit/testing";
3
3
  import config from "../../relkit.config.js";
4
4
 
5
- const testApp = await createTestApplication(config);
5
+ const model = {
6
+ resolveModel: (selector = "test:model") => ({ id: selector, model: {} }),
7
+ };
8
+ const testApp = await createTestApplication(config, {
9
+ providers: { model: { openai: model, anthropic: model } },
10
+ });
6
11
 
7
12
  test("GET /hello", async () => {
8
13
  const response = await testApp.http.request("/hello?name=Mustafa");
@@ -17,7 +17,6 @@
17
17
  "skipLibCheck": true,
18
18
  "forceConsistentCasingInFileNames": true
19
19
  },
20
- "files": [".relkit/generated/event-registry.d.ts"],
21
20
  "include": ["src/**/*.ts", "tests/**/*.ts", "relkit.config.ts"],
22
21
  "exclude": ["node_modules", ".relkit"]
23
22
  }
@@ -1,4 +1 @@
1
1
  LOG_LEVEL=info
2
- EVENT_REGION=us-east-1
3
- EVENT_ENDPOINT=http://localhost:4566
4
- EVENT_BUS_NAME=default
@@ -19,7 +19,5 @@ bun run build
19
19
  The example routes are `GET /hello?name=RelKit`, `POST /echo` with a JSON
20
20
  `message` field, and `POST /orders` with `{ orderId, sku, quantity }`.
21
21
 
22
- Creating an order publishes `orders.created`. Its confirmation and audit
23
- listeners are independent durable, at-least-once deliveries: one listener can
24
- fail without rolling back the other, and delivery is not a transaction or a
25
- promise of simultaneous execution.
22
+ The default project needs no Docker daemon, cloud account, or deployment
23
+ credentials.
@@ -12,19 +12,15 @@
12
12
  "test:integration": "bun test tests/integration",
13
13
  "build": "relkit build",
14
14
  "start": "relkit start",
15
- "graph": "relkit graph print",
16
- "deploy:preview": "relkit deploy preview",
17
- "deploy": "relkit deploy up"
15
+ "graph": "relkit graph print"
18
16
  },
19
17
  "dependencies": {
20
- "@relkit/app": "0.1.0",
21
- "@relkit/providers-standard": "0.1.0"
18
+ "@relkit/app": "0.3.0"
22
19
  },
23
20
  "devDependencies": {
24
21
  "@types/bun": "1.3.10",
25
- "@relkit/cli": "0.1.0",
26
- "@relkit/events": "0.1.0",
27
- "@relkit/testing": "0.1.0",
22
+ "@relkit/cli": "0.3.0",
23
+ "@relkit/testing": "0.3.0",
28
24
  "typescript": "5.9.3"
29
25
  }
30
26
  }
@@ -1,19 +1,11 @@
1
- import { defineConfig, eventBridge, managed } from "@relkit/app/config";
1
+ import { defineApp } from "@relkit/app/config";
2
2
  import env from "@app/platform/env.js";
3
+ // relkit:create:deployment-imports
3
4
 
4
- export default defineConfig({
5
+ export default defineApp({
5
6
  env,
6
- events: {
7
- default: managed(
8
- eventBridge({
9
- region: env.EVENT_REGION,
10
- endpoint: env.EVENT_ENDPOINT,
11
- busName: env.EVENT_BUS_NAME,
12
- }),
13
- ),
14
- },
15
- telemetry: { bodyCapture: { mode: "off" } },
7
+ telemetry: { redaction: { mode: "development-redacted", maxBytes: 65_536 } },
16
8
  server: { port: 3000, maxBodyBytes: 1_048_576 },
17
9
  inspector: { port: 3210 },
18
- deployment: { target: "aws", adapter: "pulumi" },
10
+ // relkit:create:deployment
19
11
  });
@@ -18,10 +18,7 @@ const createOrder = defineFunction({
18
18
  input: orderInput,
19
19
  output: orderOutput,
20
20
 
21
- // Events this function is allowed to publish.
22
- publishes: ["orders.created"],
23
-
24
- handler: async (input, context) => {
21
+ handler: async (input) => {
25
22
  const { totalCents } = await priceOrder.invoke({ quantity: input.quantity });
26
23
  const order = {
27
24
  orderId: input.orderId,
@@ -29,9 +26,6 @@ const createOrder = defineFunction({
29
26
  totalCents,
30
27
  };
31
28
 
32
- // Let subscribers react to the new order.
33
- await context.events["orders.created"].publish(order);
34
-
35
29
  return order;
36
30
  },
37
31
  });
@@ -1,9 +1,7 @@
1
1
  import { defineService } from "@relkit/app/services";
2
2
  import createOrder from "@app/orders/functions/create-order.function.js";
3
3
  import priceOrder from "@app/orders/functions/price-order.function.js";
4
- import orderCreated from "@app/orders/events/order-created.event.js";
5
4
 
6
5
  export default defineService({
7
6
  functions: { createOrder, priceOrder },
8
- events: { orderCreated },
9
7
  });
@@ -2,7 +2,4 @@ import { defineEnv, env } from "@relkit/app/config";
2
2
 
3
3
  export default defineEnv({
4
4
  LOG_LEVEL: env.literal("trace", "debug", "info", "warn", "error").default("info"),
5
- EVENT_REGION: env.string().default("us-east-1"),
6
- EVENT_ENDPOINT: env.url().requiredIn("development", "production"),
7
- EVENT_BUS_NAME: env.string().requiredIn("development", "production"),
8
5
  });
@@ -3,9 +3,6 @@ import { createTestApplication } from "@relkit/testing";
3
3
  import config from "../../relkit.config.js";
4
4
 
5
5
  const testApp = await createTestApplication(config);
6
- testApp.fakes.setClient("events", "orders.created", {
7
- publish: async () => ({ accepted: true, instanceId: "event-1" }),
8
- });
9
6
 
10
7
  test("POST /orders", async () => {
11
8
  const response = await testApp.http.request("/orders", {
@@ -1,28 +1,13 @@
1
1
  import { expect, test } from "bun:test";
2
2
  import { invokeFunction } from "@relkit/testing";
3
3
  import orders from "@app/orders/service.js";
4
- import { bindFunctionEvents } from "@relkit/app/events";
5
- import orderCreated from "@app/orders/events/order-created.event.js";
6
4
 
7
- test("createOrder invokes pricing and publishes the order event", async () => {
8
- const published: unknown[] = [];
9
- const result = await invokeFunction(
10
- bindFunctionEvents(orders.createOrder, undefined, [orderCreated]),
11
- { orderId: "order-1", sku: "book", quantity: 3 },
12
- {
13
- clients: {
14
- events: {
15
- "orders.created": {
16
- publish: async (payload: unknown) => {
17
- published.push(payload);
18
- return { accepted: true, instanceId: "event-1" };
19
- },
20
- },
21
- },
22
- },
23
- },
24
- );
5
+ test("createOrder invokes pricing", async () => {
6
+ const result = await invokeFunction(orders.createOrder, {
7
+ orderId: "order-1",
8
+ sku: "book",
9
+ quantity: 3,
10
+ });
25
11
 
26
12
  expect(result).toEqual({ orderId: "order-1", sku: "book", totalCents: 300 });
27
- expect(published).toEqual([{ orderId: "order-1", sku: "book", totalCents: 300 }]);
28
13
  });
@@ -17,7 +17,6 @@
17
17
  "skipLibCheck": true,
18
18
  "forceConsistentCasingInFileNames": true
19
19
  },
20
- "files": [".relkit/generated/event-registry.d.ts"],
21
20
  "include": ["src/**/*.ts", "tests/**/*.ts", "relkit.config.ts"],
22
21
  "exclude": ["node_modules", ".relkit"]
23
22
  }
@@ -14,6 +14,5 @@ bun run typecheck
14
14
  bun run build
15
15
  ```
16
16
 
17
- The example route is `GET /hello?name=RelKit`. Development uses the local
18
- provider set, tests use deterministic test providers, and production selects
19
- the configured AWS provider set.
17
+ The example route is `GET /hello?name=RelKit`. The default project needs no
18
+ Docker daemon, cloud account, or deployment credentials.
@@ -12,18 +12,15 @@
12
12
  "test:integration": "bun test tests/integration",
13
13
  "build": "relkit build",
14
14
  "start": "relkit start",
15
- "graph": "relkit graph print",
16
- "deploy:preview": "relkit deploy preview",
17
- "deploy": "relkit deploy up"
15
+ "graph": "relkit graph print"
18
16
  },
19
17
  "dependencies": {
20
- "@relkit/app": "0.1.0",
21
- "@relkit/providers-standard": "0.1.0"
18
+ "@relkit/app": "0.3.0"
22
19
  },
23
20
  "devDependencies": {
24
21
  "@types/bun": "1.3.10",
25
- "@relkit/cli": "0.1.0",
26
- "@relkit/testing": "0.1.0",
22
+ "@relkit/cli": "0.3.0",
23
+ "@relkit/testing": "0.3.0",
27
24
  "typescript": "5.9.3"
28
25
  }
29
26
  }
@@ -1,10 +1,11 @@
1
- import { defineConfig } from "@relkit/app/config";
1
+ import { defineApp } from "@relkit/app/config";
2
2
  import env from "@app/platform/env.js";
3
+ // relkit:create:deployment-imports
3
4
 
4
- export default defineConfig({
5
+ export default defineApp({
5
6
  env,
6
- telemetry: { bodyCapture: { mode: "off" } },
7
+ telemetry: { redaction: { mode: "development-redacted", maxBytes: 65_536 } },
7
8
  server: { port: 3000, maxBodyBytes: 1_048_576 },
8
9
  inspector: { port: 3210 },
9
- deployment: { target: "aws", adapter: "pulumi" },
10
+ // relkit:create:deployment
10
11
  });
@@ -17,7 +17,6 @@
17
17
  "skipLibCheck": true,
18
18
  "forceConsistentCasingInFileNames": true
19
19
  },
20
- "files": [".relkit/generated/event-registry.d.ts"],
21
20
  "include": ["src/**/*.ts", "tests/**/*.ts", "relkit.config.ts"],
22
21
  "exclude": ["node_modules", ".relkit"]
23
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-relkit",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Create a RELKIT application from a supported project template.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,18 +0,0 @@
1
- import { defineEvent } from "@relkit/app/events";
2
- import { z } from "@relkit/app/schema";
3
-
4
- const orderCreated = defineEvent({
5
- id: "orders.created",
6
- version: 1,
7
-
8
- // Data every subscriber receives when an order is created.
9
- input: z.object({
10
- orderId: z.string().min(1),
11
- sku: z.string().min(1),
12
- totalCents: z.number().int().nonnegative(),
13
- }),
14
-
15
- title: "Order created",
16
- });
17
-
18
- export default orderCreated;
@@ -1,15 +0,0 @@
1
- import { defineEventFunction } from "@relkit/app/events";
2
-
3
- const orderAudit = defineEventFunction({
4
- id: "orders.audit",
5
- event: "orders.created",
6
- handler: async (payload, context) => {
7
- context.log.info("order.audit.recorded", {
8
- orderId: payload.orderId,
9
- sku: payload.sku,
10
- totalCents: payload.totalCents,
11
- });
12
- },
13
- });
14
-
15
- export default orderAudit;
@@ -1,15 +0,0 @@
1
- import { defineEventFunction } from "@relkit/app/events";
2
-
3
- const orderConfirmation = defineEventFunction({
4
- id: "orders.confirmation",
5
- event: "orders.created",
6
-
7
- handler: async (payload, context) => {
8
- // Replace this log with your email-sending code.
9
- context.log.info("order.confirmation.requested", {
10
- orderId: payload.orderId,
11
- });
12
- },
13
- });
14
-
15
- export default orderConfirmation;
@@ -1,63 +0,0 @@
1
- import { expect, test } from "bun:test";
2
- import { bindFunctionEvents } from "@relkit/app/events";
3
- import { createTestEvent, invokeFunction } from "@relkit/testing";
4
- import orderCreated from "@app/orders/events/order-created.event.js";
5
- import orderAudit from "@app/orders/functions/order-audit.function.js";
6
- import orderConfirmation from "@app/orders/functions/order-confirmation.function.js";
7
- import orders from "@app/orders/service.js";
8
-
9
- const retry = {
10
- maxAttempts: 1,
11
- initialDelayMs: 0,
12
- maxDelayMs: 0,
13
- multiplier: 1,
14
- jitter: "none" as const,
15
- };
16
-
17
- test("order.created fans out deterministic independent deliveries", async () => {
18
- const confirmationTarget = orderConfirmation;
19
- const auditTarget = orderAudit;
20
- const failingAuditTarget = {
21
- ...auditTarget,
22
- handler: async (...args: Parameters<typeof auditTarget.handler>) => {
23
- await auditTarget.handler(...args);
24
- throw new Error("audit listener test failure");
25
- },
26
- };
27
- const event = await createTestEvent({
28
- event: orderCreated,
29
- triggers: [
30
- { id: orderConfirmation.id, target: confirmationTarget, retry },
31
- { id: orderAudit.id, target: failingAuditTarget, retry },
32
- ],
33
- });
34
-
35
- try {
36
- await expect(
37
- invokeFunction(
38
- bindFunctionEvents(orders.createOrder, undefined, [orderCreated]),
39
- { orderId: "order-1", sku: "book", quantity: 3 },
40
- { clients: { events: { "orders.created": event.provider } } },
41
- ),
42
- ).resolves.toEqual({ orderId: "order-1", sku: "book", totalCents: 300 });
43
-
44
- await expect(event.drain()).resolves.toMatchObject([
45
- {
46
- triggerId: "orders.audit",
47
- status: "failed",
48
- state: "dead-lettered",
49
- attempt: 1,
50
- },
51
- {
52
- triggerId: "orders.confirmation",
53
- status: "completed",
54
- state: "completed",
55
- attempt: 1,
56
- },
57
- ]);
58
- expect(event.completed("orders.confirmation")).toBe(1);
59
- expect(event.completed("orders.audit")).toBe(0);
60
- } finally {
61
- await event.close();
62
- }
63
- });