tawa 0.12.2 → 0.13.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 (155) hide show
  1. package/dist/commands/sample.d.ts.map +1 -1
  2. package/dist/commands/sample.js +20 -11
  3. package/dist/commands/sample.js.map +1 -1
  4. package/dist/templates/nextjs/.env.example +55 -8
  5. package/dist/templates/nextjs/README.md +669 -45
  6. package/dist/templates/nextjs/__tests__/api/auth.test.ts +318 -0
  7. package/dist/templates/nextjs/__tests__/api/cron.test.ts +196 -0
  8. package/dist/templates/nextjs/__tests__/api/users.test.ts +479 -0
  9. package/dist/templates/nextjs/__tests__/examples/platform-services.test.ts +450 -0
  10. package/dist/templates/nextjs/__tests__/services/userProfile.test.ts +289 -0
  11. package/dist/templates/nextjs/app/(admin)/dashboard/access-control/page.tsx +260 -0
  12. package/dist/templates/nextjs/app/(admin)/dashboard/audit/page.tsx +119 -0
  13. package/dist/templates/nextjs/app/(admin)/dashboard/auth-examples/page.tsx +26 -0
  14. package/dist/templates/nextjs/app/(admin)/dashboard/cron-logs/page.tsx +227 -0
  15. package/dist/templates/nextjs/app/(admin)/dashboard/gas/page.tsx +220 -0
  16. package/dist/templates/nextjs/app/(admin)/dashboard/page.tsx +56 -0
  17. package/dist/templates/nextjs/app/(admin)/dashboard/settings/branding-guide.tsx +125 -0
  18. package/dist/templates/nextjs/app/(admin)/dashboard/settings/page.tsx +435 -0
  19. package/dist/templates/nextjs/app/(admin)/dashboard/testing/page.tsx +359 -0
  20. package/dist/templates/nextjs/app/(admin)/dashboard/users/page.tsx +268 -0
  21. package/dist/templates/nextjs/app/(admin)/email/history/page.tsx +328 -0
  22. package/dist/templates/nextjs/app/(admin)/email/page.tsx +260 -0
  23. package/dist/templates/nextjs/app/(admin)/files/page.tsx +197 -0
  24. package/dist/templates/nextjs/app/(admin)/layout.tsx +20 -0
  25. package/dist/templates/nextjs/app/api/admin/cron-logs/route.ts +14 -0
  26. package/dist/templates/nextjs/app/api/admin/email-history/[id]/route.ts +33 -0
  27. package/dist/templates/nextjs/app/api/admin/email-history/route.ts +57 -0
  28. package/dist/templates/nextjs/app/api/admin/enqueue/route.ts +50 -0
  29. package/dist/templates/nextjs/app/api/admin/files/route.ts +139 -0
  30. package/dist/templates/nextjs/app/api/admin/gas/route.ts +39 -0
  31. package/dist/templates/nextjs/app/api/admin/send-email/route.ts +105 -0
  32. package/dist/templates/nextjs/app/api/admin/septor-trail/route.ts +18 -0
  33. package/dist/templates/nextjs/app/api/admin/settings/route.ts +68 -0
  34. package/dist/templates/nextjs/app/api/admin/trigger-cron/route.ts +82 -0
  35. package/dist/templates/nextjs/app/api/admin/users/create/route.ts +66 -0
  36. package/dist/templates/nextjs/app/api/admin/users/invite/route.ts +73 -0
  37. package/dist/templates/nextjs/app/api/admin/users/route.ts +25 -0
  38. package/dist/templates/nextjs/app/api/auth/callback/route.ts +102 -0
  39. package/dist/templates/nextjs/app/api/auth/invite/[token]/route.ts +42 -0
  40. package/dist/templates/nextjs/app/api/auth/login/route.ts +29 -0
  41. package/dist/templates/nextjs/app/api/auth/logout/route.ts +18 -0
  42. package/dist/templates/nextjs/app/api/auth/me/route.ts +26 -0
  43. package/dist/templates/nextjs/app/api/auth/onboarding/complete/route.ts +39 -0
  44. package/dist/templates/nextjs/app/api/auth/roles/route.ts +30 -0
  45. package/dist/templates/nextjs/app/api/auth/token/route.ts +105 -0
  46. package/dist/templates/nextjs/app/api/public/branding/route.ts +21 -0
  47. package/dist/templates/nextjs/app/globals.css +54 -0
  48. package/dist/templates/nextjs/app/health/route.ts +5 -0
  49. package/dist/templates/nextjs/app/internal/cron/daily-digest/route.ts +109 -0
  50. package/dist/templates/nextjs/app/internal/cron/example-sync/route.ts +109 -0
  51. package/dist/templates/nextjs/app/internal/jobs/example-job/route.ts +96 -0
  52. package/dist/templates/nextjs/app/invite/[token]/page.tsx +173 -0
  53. package/dist/templates/nextjs/app/invite/layout.tsx +5 -0
  54. package/dist/templates/nextjs/app/layout.tsx +33 -0
  55. package/dist/templates/nextjs/app/login/page.tsx +92 -0
  56. package/dist/templates/nextjs/app/onboarding/_components/CompleteStep.tsx +55 -0
  57. package/dist/templates/nextjs/app/onboarding/_components/ModulesStep.tsx +154 -0
  58. package/dist/templates/nextjs/app/onboarding/_components/StepIndicator.tsx +26 -0
  59. package/dist/templates/nextjs/app/onboarding/_components/WelcomeStep.tsx +67 -0
  60. package/dist/templates/nextjs/app/onboarding/layout.tsx +13 -0
  61. package/dist/templates/nextjs/app/onboarding/page.tsx +155 -0
  62. package/dist/templates/nextjs/app/page.tsx +5 -0
  63. package/dist/templates/nextjs/catalog-info.yaml +78 -6
  64. package/dist/templates/nextjs/components/DataTable.tsx +132 -0
  65. package/dist/templates/nextjs/components/EmptyState.tsx +21 -0
  66. package/dist/templates/nextjs/components/LoadingSpinner.tsx +20 -0
  67. package/dist/templates/nextjs/components/Modal.tsx +43 -0
  68. package/dist/templates/nextjs/components/StatsCard.tsx +38 -0
  69. package/dist/templates/nextjs/components/StatusBadge.tsx +29 -0
  70. package/dist/templates/nextjs/components/ThemeProvider.tsx +60 -0
  71. package/dist/templates/nextjs/components/auth-examples/BrandedSSOCard.tsx +79 -0
  72. package/dist/templates/nextjs/components/auth-examples/CodeBlock.tsx +53 -0
  73. package/dist/templates/nextjs/components/auth-examples/HeadlessTokenCard.tsx +108 -0
  74. package/dist/templates/nextjs/components/auth-examples/StandardSSOCard.tsx +57 -0
  75. package/dist/templates/nextjs/components/layout/Header.tsx +38 -0
  76. package/dist/templates/nextjs/components/layout/Sidebar.tsx +79 -0
  77. package/dist/templates/nextjs/components/providers.tsx +87 -0
  78. package/dist/templates/nextjs/components/users/EditRolesModal.tsx +126 -0
  79. package/dist/templates/nextjs/components/users/InviteUserModal.tsx +398 -0
  80. package/dist/templates/nextjs/gitignore +8 -34
  81. package/dist/templates/nextjs/lib/__tests__/db.test.ts +29 -0
  82. package/dist/templates/nextjs/lib/__tests__/setup.ts +9 -0
  83. package/dist/templates/nextjs/lib/__tests__/utils.test.ts +34 -0
  84. package/dist/templates/nextjs/lib/api.ts +58 -0
  85. package/dist/templates/nextjs/lib/auth.ts +141 -0
  86. package/dist/templates/nextjs/lib/config.ts +9 -0
  87. package/dist/templates/nextjs/lib/db.ts +17 -0
  88. package/dist/templates/nextjs/lib/models/CronLog.ts +26 -0
  89. package/dist/templates/nextjs/lib/models/EmailLog.ts +36 -0
  90. package/dist/templates/nextjs/lib/models/JobLog.ts +31 -0
  91. package/dist/templates/nextjs/lib/models/Settings.ts +29 -0
  92. package/dist/templates/nextjs/lib/models/UserProfile.ts +81 -0
  93. package/dist/templates/nextjs/lib/requireRole.ts +37 -0
  94. package/dist/templates/nextjs/lib/services/emailTemplates.ts +48 -0
  95. package/dist/templates/nextjs/lib/services/queue.ts +36 -0
  96. package/dist/templates/nextjs/lib/services/relay.ts +12 -0
  97. package/dist/templates/nextjs/lib/services/septor.ts +16 -0
  98. package/dist/templates/nextjs/lib/services/settings.ts +54 -0
  99. package/dist/templates/nextjs/lib/services/storage.ts +12 -0
  100. package/dist/templates/nextjs/lib/services/templateRenderer.ts +28 -0
  101. package/dist/templates/nextjs/lib/services/userProfile.ts +278 -0
  102. package/dist/templates/nextjs/lib/services/users.ts +174 -0
  103. package/dist/templates/nextjs/lib/utils.ts +22 -0
  104. package/dist/templates/nextjs/next.config.ts +8 -0
  105. package/dist/templates/nextjs/package.json +37 -17
  106. package/dist/templates/nextjs/postcss.config.js +5 -0
  107. package/dist/templates/nextjs/scripts/clean.ts +121 -0
  108. package/dist/templates/nextjs/scripts/seed.ts +124 -0
  109. package/dist/templates/nextjs/server.ts +17 -0
  110. package/dist/templates/nextjs/tsconfig.json +4 -7
  111. package/dist/templates/nextjs/vitest.config.ts +26 -0
  112. package/package.json +1 -1
  113. package/dist/templates/nextjs/Dockerfile +0 -51
  114. package/dist/templates/nextjs/helm/{{name}}/Chart.yaml +0 -9
  115. package/dist/templates/nextjs/helm/{{name}}/templates/deployment.yaml +0 -72
  116. package/dist/templates/nextjs/helm/{{name}}/templates/ingress.yaml +0 -43
  117. package/dist/templates/nextjs/helm/{{name}}/templates/service.yaml +0 -17
  118. package/dist/templates/nextjs/helm/{{name}}/values.yaml +0 -60
  119. package/dist/templates/nextjs/next.config.js +0 -23
  120. package/dist/templates/nextjs/public/gitkeep +0 -0
  121. package/dist/templates/nextjs/src/app/api/example/route.ts +0 -63
  122. package/dist/templates/nextjs/src/app/api/health/route.ts +0 -10
  123. package/dist/templates/nextjs/src/app/layout.tsx +0 -18
  124. package/dist/templates/nextjs/src/app/page.tsx +0 -49
  125. package/dist/templates/nextjs-oauth/Dockerfile +0 -51
  126. package/dist/templates/nextjs-oauth/README.md +0 -115
  127. package/dist/templates/nextjs-oauth/catalog-info.yaml +0 -25
  128. package/dist/templates/nextjs-oauth/dockerignore +0 -6
  129. package/dist/templates/nextjs-oauth/gitignore +0 -36
  130. package/dist/templates/nextjs-oauth/helm/Chart.yaml +0 -6
  131. package/dist/templates/nextjs-oauth/helm/templates/_helpers.tpl +0 -49
  132. package/dist/templates/nextjs-oauth/helm/templates/configmap.yaml +0 -10
  133. package/dist/templates/nextjs-oauth/helm/templates/deployment.yaml +0 -56
  134. package/dist/templates/nextjs-oauth/helm/templates/ingress.yaml +0 -41
  135. package/dist/templates/nextjs-oauth/helm/templates/service.yaml +0 -15
  136. package/dist/templates/nextjs-oauth/helm/values.yaml +0 -69
  137. package/dist/templates/nextjs-oauth/helm/{{name}}/Chart.yaml +0 -9
  138. package/dist/templates/nextjs-oauth/helm/{{name}}/templates/deployment.yaml +0 -68
  139. package/dist/templates/nextjs-oauth/helm/{{name}}/templates/service.yaml +0 -17
  140. package/dist/templates/nextjs-oauth/helm/{{name}}/values.yaml +0 -51
  141. package/dist/templates/nextjs-oauth/next.config.js +0 -23
  142. package/dist/templates/nextjs-oauth/package.json +0 -30
  143. package/dist/templates/nextjs-oauth/public/gitkeep +0 -0
  144. package/dist/templates/nextjs-oauth/src/app/api/auth/callback/route.ts +0 -77
  145. package/dist/templates/nextjs-oauth/src/app/api/auth/login/route.ts +0 -16
  146. package/dist/templates/nextjs-oauth/src/app/api/auth/logout/route.ts +0 -7
  147. package/dist/templates/nextjs-oauth/src/app/api/auth/session/route.ts +0 -42
  148. package/dist/templates/nextjs-oauth/src/app/api/example/route.ts +0 -63
  149. package/dist/templates/nextjs-oauth/src/app/api/health/route.ts +0 -10
  150. package/dist/templates/nextjs-oauth/src/app/dashboard/page.tsx +0 -92
  151. package/dist/templates/nextjs-oauth/src/app/layout.tsx +0 -18
  152. package/dist/templates/nextjs-oauth/src/app/page.tsx +0 -110
  153. package/dist/templates/nextjs-oauth/src/lib/auth.ts +0 -285
  154. package/dist/templates/nextjs-oauth/src/middleware.ts +0 -71
  155. package/dist/templates/nextjs-oauth/tsconfig.json +0 -26
@@ -1 +1 @@
1
- {"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../src/commands/sample.ts"],"names":[],"mappings":"AAUA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAwOD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CA2Ff"}
1
+ {"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../src/commands/sample.ts"],"names":[],"mappings":"AAUA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAgPD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
@@ -11,8 +11,7 @@ const TEMPLATE_DESCRIPTIONS = {
11
11
  api: 'Express API with TypeScript, health endpoint, and example CRUD routes',
12
12
  'api-oauth': 'Express API with Bio-id SSO authentication and admin dashboard',
13
13
  static: 'Static HTML/CSS site served by nginx — no build step required',
14
- nextjs: 'Next.js 14+ app with App Router, standalone output, and API routes',
15
- 'nextjs-oauth': 'Next.js 14+ app with Bio-id OAuth2 authentication pre-configured',
14
+ nextjs: 'Next.js 15 app with Bio-ID OAuth, Septor audit, Relay email, S3 storage, and admin dashboard',
16
15
  crosspod: 'Two-service demo showing pod-to-pod communication with service auth',
17
16
  worker: 'Background job processor using BullMQ and Redis',
18
17
  mga: 'Full-stack MGA cyber insurance app (Express API + Next.js portal with OAuth)',
@@ -35,23 +34,27 @@ function determineTemplate(options) {
35
34
  }
36
35
  if (options.static) {
37
36
  if (options.withOauth) {
38
- log.error('--with-oauth is only supported with --nextjs');
37
+ log.error('--with-oauth is only supported with --api');
39
38
  process.exit(1);
40
39
  }
41
40
  return 'static';
42
41
  }
43
- if (options.nextjs)
44
- return options.withOauth ? 'nextjs-oauth' : 'nextjs';
42
+ if (options.nextjs) {
43
+ if (options.withOauth) {
44
+ log.info('Note: --nextjs template includes OAuth by default, --with-oauth is not needed');
45
+ }
46
+ return 'nextjs';
47
+ }
45
48
  if (options.crosspod) {
46
49
  if (options.withOauth) {
47
- log.error('--with-oauth is only supported with --nextjs');
50
+ log.error('--with-oauth is only supported with --api');
48
51
  process.exit(1);
49
52
  }
50
53
  return 'crosspod';
51
54
  }
52
55
  if (options.worker) {
53
56
  if (options.withOauth) {
54
- log.error('--with-oauth is only supported with --nextjs');
57
+ log.error('--with-oauth is only supported with --api');
55
58
  process.exit(1);
56
59
  }
57
60
  return 'worker';
@@ -76,7 +79,7 @@ function printTemplateHelp() {
76
79
  log.info(` --${'mga'.padEnd(10)} ${TEMPLATE_DESCRIPTIONS.mga}`);
77
80
  log.info('');
78
81
  log.info('Options:');
79
- log.info(' --with-oauth Add Bio-id OAuth2 authentication (--nextjs or --api)');
82
+ log.info(' --with-oauth Add Bio-id OAuth2 authentication (--api only)');
80
83
  log.info(' --with-storage Add S3 object storage with tawa-storage SDK');
81
84
  log.info(' --git Create git.insureco.io repo with auto-deploy webhook');
82
85
  log.info('');
@@ -84,7 +87,7 @@ function printTemplateHelp() {
84
87
  log.info(' tawa sample my-site --static');
85
88
  log.info(' tawa sample my-service --api');
86
89
  log.info(' tawa sample my-app --api --with-oauth');
87
- log.info(' tawa sample my-app --nextjs --with-oauth');
90
+ log.info(' tawa sample my-app --nextjs');
88
91
  log.info(' tawa sample my-api --api --git');
89
92
  log.info(' tawa sample acme-cyber --mga');
90
93
  }
@@ -112,7 +115,7 @@ function printNextSteps(projectName, template, gitCreated, withStorage) {
112
115
  log.dim(' # Then deploy service-b');
113
116
  log.dim(' cd ../service-b && tawa link && tawa deploy');
114
117
  }
115
- else if (template === 'api-oauth' || template === 'nextjs-oauth') {
118
+ else if (template === 'api-oauth') {
116
119
  log.dim(` tawa oauth create "${projectName}" "http://localhost:3000/api/auth/callback"`);
117
120
  log.dim(' cp .env.example .env');
118
121
  log.dim(' # Paste CLIENT_ID, CLIENT_SECRET into .env and generate a JWT_SECRET');
@@ -122,6 +125,11 @@ function printNextSteps(projectName, template, gitCreated, withStorage) {
122
125
  }
123
126
  log.dim(' tawa deploy # Deploy to sandbox');
124
127
  }
128
+ else if (template === 'nextjs') {
129
+ log.dim(' pnpm install # Install dependencies');
130
+ log.dim(' tawa dev --offline # Generate env + start mock services');
131
+ log.dim(' pnpm dev # Start on port 4200');
132
+ }
125
133
  else if (template === 'static') {
126
134
  log.dim(' tawa deploy --watch # Deploy to sandbox');
127
135
  }
@@ -261,7 +269,8 @@ export async function sampleCommand(projectName, options) {
261
269
  log.info('');
262
270
  // Templates without a top-level package.json skip npm install:
263
271
  // multi-service (mga, crosspod) and static (no build step)
264
- const skipAutoInstall = template === 'mga' || template === 'crosspod' || template === 'static';
272
+ // nextjs template uses pnpm skip auto npm install, let user run pnpm install
273
+ const skipAutoInstall = template === 'mga' || template === 'crosspod' || template === 'static' || template === 'nextjs';
265
274
  // Derive owner from auth token (org slug) so catalog-info.yaml gets the
266
275
  // correct spec.owner for the deploy gate's wallet lookup.
267
276
  let owner;
@@ -1 +1 @@
1
- {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../src/commands/sample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../src/commands/sample.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,58 @@
1
- # Next.js Configuration
2
- NEXT_PUBLIC_APP_NAME={{name}}
1
+ # =============================================================================
2
+ # Environment variables for local development.
3
+ #
4
+ # RECOMMENDED: Run `tawa dev --offline` to auto-generate .env.local with all
5
+ # values pre-filled and mock services running on port 4500. You do NOT need
6
+ # to fill these in manually if you use that command.
7
+ #
8
+ # Manual setup: Copy this file to .env.local and fill in the values below.
9
+ # =============================================================================
3
10
 
4
- # API Configuration
5
- # NEXT_PUBLIC_API_URL=https://api.example.com
11
+ # Database
12
+ # tawa dev generates: MONGODB_URI=mongodb://localhost:27017/tawa-dev-{{name}}-<devId>
13
+ MONGODB_URI=mongodb://localhost:27017/{{name}}-dev
6
14
 
7
- # Analytics (if needed)
8
- # NEXT_PUBLIC_GA_ID=UA-XXXXXXXXX-X
15
+ # Bio-ID OAuth (auto-injected in production via catalog-info auth: mode: sso)
16
+ # tawa dev --offline generates:
17
+ # BIO_CLIENT_ID={{name}}-dev
18
+ # BIO_CLIENT_SECRET=dev-mock-secret
19
+ # BIO_ID_URL=http://localhost:4500
20
+ BIO_CLIENT_ID=
21
+ BIO_CLIENT_SECRET=
22
+ BIO_ID_URL=https://bio.tawa.insureco.io
9
23
 
10
- # Feature Flags
11
- # NEXT_PUBLIC_FEATURE_X_ENABLED=false
24
+ # Platform services (auto-injected in production via internalDependencies)
25
+ # tawa dev --offline generates: SEPTOR_URL=http://localhost:4500/i/septor
26
+ SEPTOR_URL=
27
+
28
+ # Janus gateway (auto-injected in production as a core platform var)
29
+ # tawa dev --offline generates: JANUS_URL=http://localhost:4500
30
+ JANUS_URL=
31
+
32
+ # Koko service registry (auto-injected in production as a core platform var)
33
+ # tawa dev --offline generates: KOKO_URL=http://localhost:4500
34
+ KOKO_URL=
35
+
36
+ # Storage (auto-injected in production via catalog-info spec.storage)
37
+ # tawa dev --offline generates: TAWA_STORAGE_URL=http://localhost:4500/i/tawa-storage
38
+ S3_HOST=localhost
39
+ S3_PORT=9000
40
+ S3_ACCESS_KEY_ID=minioadmin
41
+ S3_SECRET_ACCESS_KEY=minioadmin
42
+ S3_BUCKET={{name}}-dev-default
43
+ TAWA_STORAGE_URL=
44
+
45
+ # Service identity (auto-injected in production)
46
+ # tawa dev generates: SERVICE_NAME={{name}}, SERVICE_NAMESPACE={{name}}
47
+ SERVICE_NAME={{name}}
48
+ SERVICE_NAMESPACE={{name}}
49
+
50
+ # App
51
+ APP_URL=http://localhost:4200
52
+ PORT=4200
53
+ NODE_ENV=development
54
+
55
+ # Chaac demo mode — bypasses Bio-ID OAuth with a hardcoded dev user.
56
+ # Set to "true" to enable headless auth (API routes work without browser login).
57
+ # NEVER enable in production.
58
+ HEADLESS_AUTH=