create-kumiko-app 0.340.0 → 0.341.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "source": "samples/apps/use-all-bundled APP_FEATURES (composeFeatures includeBundled + signup)",
3
- "featureCount": 80,
3
+ "featureCount": 81,
4
4
  "features": [
5
5
  {
6
6
  "name": "admin-shell",
@@ -102,6 +102,7 @@
102
102
  "auth-email-password:write:reset-password",
103
103
  "auth-email-password:write:signup-confirm",
104
104
  "auth-email-password:write:signup-request",
105
+ "auth-email-password:write:system-invite-create",
105
106
  "auth-email-password:write:verify-email"
106
107
  ],
107
108
  "uiHints": {
@@ -193,9 +194,7 @@
193
194
  "bounds": null,
194
195
  "pattern": null,
195
196
  "writeRoles": [
196
- "TenantAdmin",
197
- "Admin",
198
- "SystemAdmin"
197
+ "system"
199
198
  ],
200
199
  "readRoles": [
201
200
  "all"
@@ -516,7 +515,7 @@
516
515
  },
517
516
  {
518
517
  "name": "channel-telegram",
519
- "description": "Sends delivery notifications through the Telegram Bot API (`sendMessage`, plain text), registered as the `telegram` channel in the delivery system. Tenant-owned chat target: reach it only via `ctx.notify(type, { route: { telegram: \"<chat id or @channel>\" } })`. The bot token is the tenant secret `channel-telegram:secret:bot-token`; the token never reaches logs or delivery attempts. Requires `delivery` and `secrets`. The API base URL and request timeout are app options of `createChannelTelegramFeature(opts)`, never tenant config.",
518
+ "description": "Sends delivery notifications through the Telegram Bot API (`sendMessage`, plain text), registered as the `telegram` channel in the delivery system. Tenant-owned chat target: reach it only via `ctx.notify(type, { route: { telegram: \"<chat id or @channel>\" } })`. The bot token is the tenant secret `channel-telegram:secret:bot-token`; the token never reaches logs or delivery attempts. Requires `delivery` and `secrets`. The API base URL, its host allowlist (`allowedHosts`, default `api.telegram.org`), `requireHttps` (default true; boot fails on a mismatch) and the request timeout are app options of `createChannelTelegramFeature(opts)`, never tenant config.",
520
519
  "toggleableDefault": null,
521
520
  "requires": [
522
521
  "delivery",
@@ -3053,6 +3052,38 @@
3053
3052
  "recommended": true
3054
3053
  }
3055
3054
  },
3055
+ {
3056
+ "name": "waitlist",
3057
+ "description": "Public waitlist: an anonymous, rate-limited `submit` handler collects name, email and optional company, portfolio and message (a honeypot field and per-email dedupe keep bots and repeat submits out, and the response never reveals whether an address was already listed), and mails the submitter a confirmation. SystemAdmins review entries in a list screen and invite or reject them; an invite creates the entrant's own tenant (or joins one shared tenant) and mails an accept link with the configured membership role, never a global role. Entries are platform-wide, their personal data is crypto-shredding-ready, and the EXT_USER_DATA hooks export and erase entries matching a user's email.",
3058
+ "toggleableDefault": null,
3059
+ "requires": [
3060
+ "tenant",
3061
+ "auth-email-password",
3062
+ "user-data-rights"
3063
+ ],
3064
+ "optionalRequires": [],
3065
+ "configReads": [],
3066
+ "exposesApis": [],
3067
+ "usesApis": [],
3068
+ "extensionsUsed": [
3069
+ {
3070
+ "extensionName": "userData",
3071
+ "entityName": "waitlistEntry"
3072
+ }
3073
+ ],
3074
+ "configKeys": [],
3075
+ "secrets": [],
3076
+ "writeHandlers": [
3077
+ "waitlist:write:invite",
3078
+ "waitlist:write:reject",
3079
+ "waitlist:write:submit"
3080
+ ],
3081
+ "uiHints": {
3082
+ "displayLabel": "Waitlist",
3083
+ "category": "data",
3084
+ "recommended": false
3085
+ }
3086
+ },
3056
3087
  {
3057
3088
  "name": "workflow-runner",
3058
3089
  "description": "Writes the run-envelope (`workflow.run-started` / `workflow.run-completed` / `workflow.run-failed`) for a workflow run onto its `workflow-run` aggregate stream. Provides `startAndRunWorkflow` and `registerEventTrigger` for consumer features to wire up `defineWorkflow`-based workflows against domain events. Registers no workflows itself. Runs the resume loop for suspended `wait`/`retry`/`waitForEvent` steps (`resume-due-runs` job + `resume-run` handler); `registerEventTrigger` wires an event-wakeup subscriber per workflow that declares `awaits` so a `waitForEvent` step resumes as soon as its awaited event arrives, not just on timeout.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-kumiko-app",
3
- "version": "0.340.0",
3
+ "version": "0.341.0",
4
4
  "description": "`bun create kumiko-app <name>` — scaffold a new Kumiko app with an interactive feature picker.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
@@ -27,10 +27,10 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@cosmicdrift/kumiko-dev-server": "0.340.0",
31
- "@cosmicdrift/kumiko-framework": "0.340.0",
32
- "@cosmicdrift/kumiko-server-runtime": "0.340.0",
33
- "@cosmicdrift/kumiko-testing": "0.340.0",
30
+ "@cosmicdrift/kumiko-dev-server": "0.341.0",
31
+ "@cosmicdrift/kumiko-framework": "0.341.0",
32
+ "@cosmicdrift/kumiko-server-runtime": "0.341.0",
33
+ "@cosmicdrift/kumiko-testing": "0.341.0",
34
34
  "@inquirer/core": "^10.0.0",
35
35
  "@inquirer/prompts": "^7.4.0"
36
36
  },