create-kumiko-app 0.4.169 → 0.4.172

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": 61,
3
+ "featureCount": 60,
4
4
  "features": [
5
5
  {
6
6
  "name": "admin-shell",
@@ -1028,10 +1028,10 @@
1028
1028
  },
1029
1029
  {
1030
1030
  "name": "legal-pages",
1031
- "description": "Opt-in wrapper around `text-content` that registers four public HTML routes (`/legal/impressum`, `/legal/datenschutz`, `/legal/imprint`, `/legal/privacy`) with Markdown-to-HTML rendering and a boot-time job that hard-fails in production when the required DE blocks (`imprint/de`, `privacy/de`) are not seeded in `SYSTEM_TENANT`. Requires `anonymousAccess: { defaultTenantId: SYSTEM_TENANT_ID }` and `extraContext.textContent` to be wired at app bootstrap; for per-tenant imprints or a custom layout call `text-content:query:by-slug` directly.",
1031
+ "description": "Opt-in wrapper around `template-resolver` text-blocks that registers four public HTML routes (`/legal/impressum`, `/legal/datenschutz`, `/legal/imprint`, `/legal/privacy`) with Markdown-to-HTML rendering and a boot-time job that hard-fails in production when the required DE blocks (`imprint/de`, `privacy/de`) are not seeded in `SYSTEM_TENANT`. Requires `anonymousAccess: { defaultTenantId: SYSTEM_TENANT_ID }` and `extraContext.templateResolver` to be wired at app bootstrap; for per-tenant imprints or a custom layout call `template-resolver:query:by-slug` directly.",
1032
1032
  "toggleableDefault": null,
1033
1033
  "requires": [
1034
- "text-content"
1034
+ "template-resolver"
1035
1035
  ],
1036
1036
  "optionalRequires": [],
1037
1037
  "configReads": [],
@@ -1976,6 +1976,7 @@
1976
1976
  "writeHandlers": [
1977
1977
  "template-resolver:write:archive",
1978
1978
  "template-resolver:write:publish",
1979
+ "template-resolver:write:set",
1979
1980
  "template-resolver:write:upsert-system",
1980
1981
  "template-resolver:write:upsert-tenant"
1981
1982
  ],
@@ -2283,27 +2284,6 @@
2283
2284
  "secrets": [],
2284
2285
  "writeHandlers": []
2285
2286
  },
2286
- {
2287
- "name": "text-content",
2288
- "description": "Generic Markdown text store keyed by `(tenantId, slug, lang)` — one row per combination in the `read_text_blocks` entity table. Provides `text-content:write:set` (TenantAdmin upsert) and `text-content:query:by-slug` (anonymous-capable read); use `SYSTEM_TENANT_ID` as the tenant for app-wide texts such as imprint, privacy policy, or FAQ. Other features (e.g. `legal-pages`) read blocks without a direct code import via the `createTextContentApi` / `requireTextContent` extraContext pattern.",
2289
- "toggleableDefault": null,
2290
- "requires": [],
2291
- "optionalRequires": [],
2292
- "configReads": [],
2293
- "exposesApis": [],
2294
- "usesApis": [],
2295
- "extensionsUsed": [],
2296
- "configKeys": [],
2297
- "secrets": [],
2298
- "writeHandlers": [
2299
- "text-content:write:set"
2300
- ],
2301
- "uiHints": {
2302
- "displayLabel": "Text Content · Markdown Store",
2303
- "category": "content",
2304
- "recommended": false
2305
- }
2306
- },
2307
2287
  {
2308
2288
  "name": "tier-engine",
2309
2289
  "description": "Stores a `tier-assignment` entity per tenant (which pricing tier is active) and, when configured with a `TierMap`, registers itself as the `tenantTierResolver` extension so the dispatcher automatically gates `r.toggleable()` features per tenant based on their assigned tier. Call `createTierEngineFeature({ defaultTier, tierMap })` to get full tier composition — including an `inTransaction` entity hook that atomically writes the default tier when a new tenant is created — or use `createTierEngineFeature()` without options for storage-only mode when you manage tier assignment yourself via `composeApp`. A SystemAdmin-only `set-tenant-tier` write plus `get-tenant-tier`/`tier-options` reads let an operator assign a tier to ANY tenant manually — without a billing purchase — stamping `source: \"manual\"` so a future Stripe→tier sync won't overwrite the grant. Apps surface this via the `tier-admin` screen.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-kumiko-app",
3
- "version": "0.4.169",
3
+ "version": "0.4.172",
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>",
@@ -30,9 +30,9 @@
30
30
  "vendor:manifest": "bun run scripts/vendor-manifest.ts"
31
31
  },
32
32
  "dependencies": {
33
- "@cosmicdrift/kumiko-dev-server": "0.174.1",
34
- "@cosmicdrift/kumiko-framework": "0.174.1",
35
- "@cosmicdrift/kumiko-server-runtime": "0.174.1",
33
+ "@cosmicdrift/kumiko-dev-server": "0.176.1",
34
+ "@cosmicdrift/kumiko-framework": "0.176.1",
35
+ "@cosmicdrift/kumiko-server-runtime": "0.176.1",
36
36
  "@inquirer/core": "^10.0.0",
37
37
  "@inquirer/prompts": "^7.4.0"
38
38
  },
@@ -232,12 +232,6 @@ export const FEATURE_CONSTRUCTORS: Readonly<Record<string, ScaffoldFeatureEntry>
232
232
  },
233
233
 
234
234
  // --- Content ---
235
- "text-content": {
236
- name: "text-content",
237
- importPath: "@cosmicdrift/kumiko-bundled-features/text-content",
238
- exportName: "createTextContentFeature",
239
- callExpression: "createTextContentFeature()",
240
- },
241
235
  "legal-pages": {
242
236
  name: "legal-pages",
243
237
  importPath: "@cosmicdrift/kumiko-bundled-features/legal-pages",