@agent-native/core 0.101.7 → 0.101.10

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 (153) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +22 -0
  3. package/corpus/core/docs/content/deployment.mdx +9 -7
  4. package/corpus/core/docs/content/locales/ar-SA/deployment.mdx +9 -7
  5. package/corpus/core/docs/content/locales/de-DE/deployment.mdx +9 -7
  6. package/corpus/core/docs/content/locales/es-ES/deployment.mdx +9 -7
  7. package/corpus/core/docs/content/locales/fr-FR/deployment.mdx +9 -7
  8. package/corpus/core/docs/content/locales/hi-IN/deployment.mdx +9 -7
  9. package/corpus/core/docs/content/locales/ja-JP/deployment.mdx +9 -7
  10. package/corpus/core/docs/content/locales/ko-KR/deployment.mdx +9 -7
  11. package/corpus/core/docs/content/locales/pt-BR/deployment.mdx +9 -7
  12. package/corpus/core/docs/content/locales/zh-CN/deployment.mdx +9 -7
  13. package/corpus/core/docs/content/locales/zh-TW/deployment.mdx +9 -7
  14. package/corpus/core/package.json +1 -1
  15. package/corpus/core/src/client/review/ReviewCommentComposer.tsx +9 -1
  16. package/corpus/core/src/client/review/ReviewThreadPanel.tsx +17 -2
  17. package/corpus/core/src/client/settings/SettingsPanel.tsx +41 -21
  18. package/corpus/core/src/client/settings/useBuilderStatus.ts +28 -9
  19. package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +2 -7
  20. package/corpus/core/src/server/auth.ts +25 -1
  21. package/corpus/core/src/server/builder-browser.ts +353 -1
  22. package/corpus/core/src/server/core-routes-plugin.ts +601 -223
  23. package/corpus/templates/calendar/app/components/calendar/DayView.tsx +80 -1
  24. package/corpus/templates/calendar/app/components/calendar/EventCard.tsx +28 -3
  25. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +5 -1
  26. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +30 -3
  27. package/corpus/templates/calendar/app/components/calendar/OutOfOfficeEvent.tsx +196 -0
  28. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +115 -1
  29. package/corpus/templates/calendar/app/lib/out-of-office.ts +45 -0
  30. package/corpus/templates/calendar/changelog/2026-07-14-out-of-office-blocks-now-sit-behind-meetings-and-event-stack.md +6 -0
  31. package/corpus/templates/content/AGENTS.md +3 -2
  32. package/corpus/templates/content/actions/_builder-cms-intent-lookup.ts +87 -0
  33. package/corpus/templates/content/actions/_builder-cms-read-client.ts +173 -25
  34. package/corpus/templates/content/actions/_builder-cms-source-adapter.ts +1 -0
  35. package/corpus/templates/content/actions/_builder-cms-write-adapter.ts +427 -18
  36. package/corpus/templates/content/actions/_builder-cms-write-client.ts +17 -73
  37. package/corpus/templates/content/actions/_builder-cms-write-settings.ts +27 -7
  38. package/corpus/templates/content/actions/_builder-source-execution-claim.ts +124 -0
  39. package/corpus/templates/content/actions/_builder-source-execution-preservation.ts +21 -0
  40. package/corpus/templates/content/actions/_builder-source-timings.ts +57 -0
  41. package/corpus/templates/content/actions/_database-source-utils.ts +1041 -154
  42. package/corpus/templates/content/actions/_database-utils.ts +89 -12
  43. package/corpus/templates/content/actions/_preview-document-draft.ts +31 -0
  44. package/corpus/templates/content/actions/cancel-prepared-builder-source-update.ts +309 -0
  45. package/corpus/templates/content/actions/execute-builder-source-batch.ts +120 -49
  46. package/corpus/templates/content/actions/execute-builder-source-execution.ts +608 -264
  47. package/corpus/templates/content/actions/get-preview-document-draft.ts +26 -0
  48. package/corpus/templates/content/actions/materialize-builder-required-fields.ts +550 -0
  49. package/corpus/templates/content/actions/prepare-builder-source-execution.ts +112 -65
  50. package/corpus/templates/content/actions/prepare-builder-source-review.ts +463 -170
  51. package/corpus/templates/content/actions/preview-builder-source-review.ts +99 -0
  52. package/corpus/templates/content/actions/set-content-database-source-write-mode.ts +2 -2
  53. package/corpus/templates/content/actions/update-preview-document-draft.ts +153 -0
  54. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +27 -15
  55. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +57 -5
  56. package/corpus/templates/content/app/components/editor/body-hydration.ts +27 -0
  57. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +2353 -576
  58. package/corpus/templates/content/app/components/editor/database/settings.tsx +13 -10
  59. package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +358 -75
  60. package/corpus/templates/content/app/components/editor/previewDocumentSaveController.ts +124 -29
  61. package/corpus/templates/content/app/components/editor/previewDocumentSaveRegistry.ts +2 -0
  62. package/corpus/templates/content/app/global.css +18 -1
  63. package/corpus/templates/content/app/hooks/use-content-database.ts +68 -0
  64. package/corpus/templates/content/app/hooks/use-documents.ts +53 -4
  65. package/corpus/templates/content/app/i18n/zh-TW.ts +25 -0
  66. package/corpus/templates/content/app/i18n-data.ts +287 -0
  67. package/corpus/templates/content/changelog/2026-07-10-builder-backed-preview-edits-are-preserved-when-article-bodi.md +6 -0
  68. package/corpus/templates/content/changelog/2026-07-10-builder-cms-sources-can-now-be-enabled-for-guarded-staged-or.md +6 -0
  69. package/corpus/templates/content/changelog/2026-07-13-builder-connection-setup-is-now-available-directly-from-conn.md +6 -0
  70. package/corpus/templates/content/changelog/2026-07-13-builder-reviews-now-hide-already-applied-writes-detect-nativ.md +6 -0
  71. package/corpus/templates/content/changelog/2026-07-13-required-builder-publishing-fields-can-now-be-added-directly.md +6 -0
  72. package/corpus/templates/content/changelog/2026-07-13-you-can-now-cancel-a-prepared-builder-update-safely-before-i.md +6 -0
  73. package/corpus/templates/content/changelog/2026-07-14-builder-account-connection-now-remains-available-when-branch.md +6 -0
  74. package/corpus/templates/content/changelog/2026-07-14-builder-backed-articles-now-preserve-fifth-and-sixth-level-h.md +6 -0
  75. package/corpus/templates/content/changelog/2026-07-14-builder-sources-now-review-and-publish-rich-article-updates-.md +6 -0
  76. package/corpus/templates/content/changelog/2026-07-14-builder-writes-now-stop-retries-when-reconciliation-is-needed.md +6 -0
  77. package/corpus/templates/content/changelog/2026-07-14-file-and-media-links-now-validate-before-saving.md +6 -0
  78. package/corpus/templates/content/parity/matrix.md +27 -25
  79. package/corpus/templates/content/parity/matrix.ts +50 -2
  80. package/corpus/templates/content/server/db/schema.ts +47 -0
  81. package/corpus/templates/content/server/plugins/auth.ts +1 -0
  82. package/corpus/templates/content/server/plugins/db.ts +53 -0
  83. package/corpus/templates/content/shared/api.ts +70 -1
  84. package/corpus/templates/content/shared/builder-mdx.ts +705 -15
  85. package/corpus/templates/content/shared/nfm.ts +3 -3
  86. package/corpus/templates/design/app/components/design/ReadOnlyDesignBanner.tsx +52 -7
  87. package/corpus/templates/design/app/components/design/ReviewCommentsPanel.tsx +36 -4
  88. package/corpus/templates/design/app/components/visual-editor/ReviewCanvasPins.tsx +4 -1
  89. package/corpus/templates/design/app/i18n/ar-SA.ts +1 -0
  90. package/corpus/templates/design/app/i18n/de-DE.ts +1 -0
  91. package/corpus/templates/design/app/i18n/en-US.ts +1 -0
  92. package/corpus/templates/design/app/i18n/es-ES.ts +1 -0
  93. package/corpus/templates/design/app/i18n/fr-FR.ts +1 -0
  94. package/corpus/templates/design/app/i18n/hi-IN.ts +1 -0
  95. package/corpus/templates/design/app/i18n/ja-JP.ts +1 -0
  96. package/corpus/templates/design/app/i18n/ko-KR.ts +1 -0
  97. package/corpus/templates/design/app/i18n/pt-BR.ts +1 -0
  98. package/corpus/templates/design/app/i18n/zh-CN.ts +1 -0
  99. package/corpus/templates/design/app/i18n/zh-TW.ts +1 -0
  100. package/corpus/templates/design/app/pages/design-editor/selection-state.ts +8 -0
  101. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +11 -0
  102. package/corpus/templates/design/changelog/2026-07-14-reviewers-can-now-pin-comments-from-the-canvas-toolbar-targe.md +6 -0
  103. package/corpus/templates/design/changelog/2026-07-15-viewer-comment-controls-now-sit-inside-the-read-only-notice-.md +6 -0
  104. package/corpus/templates/design/shared/review-anchor.ts +48 -0
  105. package/corpus/templates/plan/server/plan-mdx.ts +53 -7
  106. package/dist/client/review/ReviewCommentComposer.d.ts +2 -1
  107. package/dist/client/review/ReviewCommentComposer.d.ts.map +1 -1
  108. package/dist/client/review/ReviewCommentComposer.js +3 -3
  109. package/dist/client/review/ReviewCommentComposer.js.map +1 -1
  110. package/dist/client/review/ReviewThreadPanel.d.ts +9 -1
  111. package/dist/client/review/ReviewThreadPanel.d.ts.map +1 -1
  112. package/dist/client/review/ReviewThreadPanel.js +6 -4
  113. package/dist/client/review/ReviewThreadPanel.js.map +1 -1
  114. package/dist/client/settings/SettingsPanel.d.ts +3 -0
  115. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  116. package/dist/client/settings/SettingsPanel.js +11 -4
  117. package/dist/client/settings/SettingsPanel.js.map +1 -1
  118. package/dist/client/settings/useBuilderStatus.d.ts +8 -4
  119. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  120. package/dist/client/settings/useBuilderStatus.js +19 -6
  121. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  122. package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -1
  123. package/dist/client/setup-connections/BuilderConnectCard.js +2 -5
  124. package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -1
  125. package/dist/collab/awareness.d.ts +2 -2
  126. package/dist/collab/awareness.d.ts.map +1 -1
  127. package/dist/observability/routes.d.ts +5 -5
  128. package/dist/resources/handlers.d.ts +1 -1
  129. package/dist/secrets/routes.d.ts +9 -9
  130. package/dist/server/auth.d.ts +1 -0
  131. package/dist/server/auth.d.ts.map +1 -1
  132. package/dist/server/auth.js +19 -2
  133. package/dist/server/auth.js.map +1 -1
  134. package/dist/server/builder-browser.d.ts +78 -0
  135. package/dist/server/builder-browser.d.ts.map +1 -1
  136. package/dist/server/builder-browser.js +246 -1
  137. package/dist/server/builder-browser.js.map +1 -1
  138. package/dist/server/core-routes-plugin.d.ts +41 -0
  139. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  140. package/dist/server/core-routes-plugin.js +260 -14
  141. package/dist/server/core-routes-plugin.js.map +1 -1
  142. package/docs/content/deployment.mdx +9 -7
  143. package/docs/content/locales/ar-SA/deployment.mdx +9 -7
  144. package/docs/content/locales/de-DE/deployment.mdx +9 -7
  145. package/docs/content/locales/es-ES/deployment.mdx +9 -7
  146. package/docs/content/locales/fr-FR/deployment.mdx +9 -7
  147. package/docs/content/locales/hi-IN/deployment.mdx +9 -7
  148. package/docs/content/locales/ja-JP/deployment.mdx +9 -7
  149. package/docs/content/locales/ko-KR/deployment.mdx +9 -7
  150. package/docs/content/locales/pt-BR/deployment.mdx +9 -7
  151. package/docs/content/locales/zh-CN/deployment.mdx +9 -7
  152. package/docs/content/locales/zh-TW/deployment.mdx +9 -7
  153. package/package.json +2 -2
package/corpus/README.md CHANGED
@@ -28,4 +28,4 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
28
28
  ## Generated Counts
29
29
 
30
30
  - core files: 2258
31
- - template files: 5639
31
+ - template files: 5665
@@ -1,5 +1,27 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.101.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 3453dd3: Allow review hosts to attach a composer target, anchor, metadata, and visible context while independently controlling agent dispatch, and keep comment-only composers human-routed.
8
+
9
+ ## 0.101.9
10
+
11
+ ### Patch Changes
12
+
13
+ - bc29c82: Retry visual recap publishing once with a focused source-repair turn when the hosted Plan parser rejects malformed MDX.
14
+ - Updated dependencies [bc29c82]
15
+ - @agent-native/recap-cli@0.4.1
16
+
17
+ ## 0.101.8
18
+
19
+ ### Patch Changes
20
+
21
+ - b023dad: Keep Builder account connection available when an app does not configure the separate Builder branch-creation capability, and describe preview relay setup failures before authorization accurately.
22
+ - b023dad: Show Builder connection setup in Settings and use a content-blocker-safe status route.
23
+ - b023dad: Relay Builder authorization securely from an approved callback deployment into an exact allowlisted, immutable preview origin, with deploy-specific Netlify permalinks, a 32+ character shared HMAC secret, and bounded relay request bodies.
24
+
3
25
  ## 0.101.7
4
26
 
5
27
  ### Patch Changes
@@ -461,12 +461,14 @@ export default defineConfig({
461
461
 
462
462
  ### Build / Runtime {#env-runtime}
463
463
 
464
- | Variable | Description |
465
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
466
- | `PORT` | Server port (Node.js only) |
467
- | `NITRO_PRESET` | Override build preset at build time |
468
- | `APP_BASE_PATH` | Mount the app under a prefix (e.g. `/mail`). Set automatically by `npx @agent-native/core@latest deploy`; leave unset for standalone. |
469
- | `AGENT_PROD_CODE_EXECUTION` | Optional production code-execution mode: `off` (default), `sandboxed`, or `trusted`. See [Production Code Execution](#production-code-execution). |
464
+ | Variable | Description |
465
+ | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
466
+ | `PORT` | Server port (Node.js only) |
467
+ | `NITRO_PRESET` | Override build preset at build time |
468
+ | `APP_BASE_PATH` | Mount the app under a prefix (e.g. `/mail`). Set automatically by `npx @agent-native/core@latest deploy`; leave unset for standalone. |
469
+ | `AGENT_PROD_CODE_EXECUTION` | Optional production code-execution mode: `off` (default), `sandboxed`, or `trusted`. See [Production Code Execution](#production-code-execution). |
470
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | Dedicated 32+ char shared HMAC secret for preview-safe Builder authorization relay. Set the same value on the approved corporate callback deployment and preview deployments only when authorization must land in an isolated preview database. |
471
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | Corporate callback-only, comma-separated allowlist of exact trusted preview origins (for example, `https://0123456789abcdef01234567--content.netlify.app`). Set it only on the corporate callback deployment. Netlify origins must use an immutable, deploy-specific 24-hex permalink; mutable `deploy-preview-*` aliases, wildcards, and domain suffixes are rejected. |
470
472
 
471
473
  Database connection variables (`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, per-app `<APP_NAME>_DATABASE_URL`) live in [Database](/docs/database#production).
472
474
 
@@ -501,7 +503,7 @@ Inside a workspace, the root `.env` is loaded into every app automatically, so s
501
503
 
502
504
  ### Generating Strong Secrets {#env-generate-secrets}
503
505
 
504
- For any secret marked "32+ char random" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`), generate fresh values with:
506
+ For any secret marked "32+ char random" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`), generate fresh values with:
505
507
 
506
508
  ```bash
507
509
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### الإنشاء/وقت التشغيل {#env-runtime}
335
335
 
336
- | متغير | الوصف |
337
- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | منفذ الخادم (Node.js فقط) |
339
- | `NITRO_PRESET` | تجاوز الإعداد المسبق للإنشاء في وقت الإنشاء |
340
- | `APP_BASE_PATH` | قم بتثبيت التطبيق تحت بادئة (مثل `/mail`). يتم ضبطه تلقائيًا بواسطة `npx @agent-native/core@latest deploy`؛ اتركه بدون ضبط للوضع المستقل. |
341
- | `AGENT_PROD_CODE_EXECUTION` | وضع تنفيذ كود الإنتاج الاختياري: `off` (افتراضي)، أو `sandboxed`، أو `trusted`. انظر [Production Code Execution](#production-code-execution). |
336
+ | متغير | الوصف |
337
+ | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | منفذ الخادم (Node.js فقط) |
339
+ | `NITRO_PRESET` | تجاوز الإعداد المسبق للإنشاء في وقت الإنشاء |
340
+ | `APP_BASE_PATH` | قم بتثبيت التطبيق تحت بادئة (مثل `/mail`). يتم ضبطه تلقائيًا بواسطة `npx @agent-native/core@latest deploy`؛ اتركه بدون ضبط للوضع المستقل. |
341
+ | `AGENT_PROD_CODE_EXECUTION` | وضع تنفيذ كود الإنتاج الاختياري: `off` (افتراضي)، أو `sandboxed`، أو `trusted`. انظر [Production Code Execution](#production-code-execution). |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | سر HMAC مشترك ومخصص مكوّن من 32 حرفاً أو أكثر لترحيل تفويض Builder بأمان إلى المعاينات. عيّن القيمة نفسها في نشر رد الاتصال المؤسسي المعتمد وعمليات نشر المعاينة فقط عندما يجب أن يصل التفويض إلى قاعدة بيانات معاينة معزولة. |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | قائمة سماح مفصولة بفواصل ومخصّصة لرد الاتصال المؤسسي، وتحتوي على أصول المعاينة الموثوقة المطابقة تماماً (مثلاً `https://0123456789abcdef01234567--content.netlify.app`). عيّنها فقط في نشر رد الاتصال المؤسسي. يجب أن تستخدم أصول Netlify رابطاً دائماً غير قابل للتغيير وخاصاً بالنشر مع معرّف من 24 رقماً سداسياً عشرياً؛ وتُرفض الأسماء المستعارة القابلة للتغيير `deploy-preview-*` وأحرف البدل ولاحقات النطاقات. |
342
344
 
343
345
  متغيرات اتصال قاعدة البيانات (`DATABASE_URL`، `DATABASE_AUTH_TOKEN`، `<APP_NAME>_DATABASE_URL` لكل تطبيق) موجودة في [Database](/docs/database#production).
344
346
 
@@ -373,7 +375,7 @@ export default defineConfig({
373
375
 
374
376
  ### توليد أسرار قوية {#env-generate-secrets}
375
377
 
376
- بالنسبة لأي سر تم وضع علامة "32+ حرف عشوائي" (`BETTER_AUTH_SECRET`، `OAUTH_STATE_SECRET`، `A2A_SECRET`، `SECRETS_ENCRYPTION_KEY`)، قم بإنشاء قيم جديدة باستخدام:
378
+ بالنسبة لأي سر تم وضع علامة "32+ حرف عشوائي" (`BETTER_AUTH_SECRET`، `OAUTH_STATE_SECRET`، `A2A_SECRET`، `SECRETS_ENCRYPTION_KEY`AGENT_NATIVE_BUILDER_RELAY_SECRET`)، قم بإنشاء قيم جديدة باستخدام:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### Build/Laufzeit {#env-runtime}
335
335
 
336
- | Variable | Beschreibung |
337
- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | Server-Port (nur Node.js) |
339
- | `NITRO_PRESET` | Build-Voreinstellung zum Build-Zeitpunkt überschreiben |
340
- | `APP_BASE_PATH` | Mounten Sie die App unter einem Präfix (z. B. `/mail`). Automatisch eingestellt durch `npx @agent-native/core@latest deploy`; Für Standalone deaktiviert lassen. |
341
- | `AGENT_PROD_CODE_EXECUTION` | Optionaler Produktionscode-Ausführungsmodus: `off` (Standard), `sandboxed` oder `trusted`. Siehe [Production Code Execution](#production-code-execution). |
336
+ | Variable | Beschreibung |
337
+ | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | Server-Port (nur Node.js) |
339
+ | `NITRO_PRESET` | Build-Voreinstellung zum Build-Zeitpunkt überschreiben |
340
+ | `APP_BASE_PATH` | Mounten Sie die App unter einem Präfix (z. B. `/mail`). Automatisch eingestellt durch `npx @agent-native/core@latest deploy`; Für Standalone deaktiviert lassen. |
341
+ | `AGENT_PROD_CODE_EXECUTION` | Optionaler Produktionscode-Ausführungsmodus: `off` (Standard), `sandboxed` oder `trusted`. Siehe [Production Code Execution](#production-code-execution). |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | Dediziertes, gemeinsam verwendetes HMAC-Geheimnis mit mindestens 32 Zeichen für die previewsichere Builder-Autorisierungsweiterleitung. Legen Sie denselben Wert in der genehmigten Unternehmens-Callback-Bereitstellung und in Preview-Bereitstellungen nur fest, wenn die Autorisierung in einer isolierten Preview-Datenbank gespeichert werden muss. |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | Nur für den Unternehmens-Callback bestimmte, kommagetrennte Zulassungsliste exakt übereinstimmender, vertrauenswürdiger Preview-Origins (zum Beispiel `https://0123456789abcdef01234567--content.netlify.app`). Legen Sie sie nur in der Unternehmens-Callback-Bereitstellung fest. Netlify-Origins müssen einen unveränderlichen, bereitstellungsspezifischen Permalink mit einer 24-stelligen Hex-ID verwenden; veränderliche `deploy-preview-*`-Aliase, Platzhalter und Domain-Suffixe werden abgelehnt. |
342
344
 
343
345
  Datenbankverbindungsvariablen (`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, pro App `<APP_NAME>_DATABASE_URL`) leben in [Database](/docs/database#production).
344
346
 
@@ -373,7 +375,7 @@ Innerhalb eines Arbeitsbereichs wird der Root-`.env` automatisch in jede App gel
373
375
 
374
376
  ### Generieren starker Geheimnisse {#env-generate-secrets}
375
377
 
376
- Generieren Sie für jedes Geheimnis, das mit „32+ char random“ gekennzeichnet ist (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`), neue Werte mit:
378
+ Generieren Sie für jedes Geheimnis, das mit „32+ char random“ gekennzeichnet ist (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`), neue Werte mit:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### Compilación/Tiempo de ejecución {#env-runtime}
335
335
 
336
- | Variables | Descripción |
337
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | Puerto del servidor (solo Node.js) |
339
- | `NITRO_PRESET` | Anular el valor preestablecido de compilación en el momento de la compilación |
340
- | `APP_BASE_PATH` | Monte la aplicación bajo un prefijo (por ejemplo, `/mail`). Establecido automáticamente por `npx @agent-native/core@latest deploy`; déjelo sin configurar para que sea independiente. |
341
- | `AGENT_PROD_CODE_EXECUTION` | Modo de ejecución de código de producción opcional: `off` (predeterminado), `sandboxed` o `trusted`. Ver [Production Code Execution](#production-code-execution). |
336
+ | Variables | Descripción |
337
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | Puerto del servidor (solo Node.js) |
339
+ | `NITRO_PRESET` | Anular el valor preestablecido de compilación en el momento de la compilación |
340
+ | `APP_BASE_PATH` | Monte la aplicación bajo un prefijo (por ejemplo, `/mail`). Establecido automáticamente por `npx @agent-native/core@latest deploy`; déjelo sin configurar para que sea independiente. |
341
+ | `AGENT_PROD_CODE_EXECUTION` | Modo de ejecución de código de producción opcional: `off` (predeterminado), `sandboxed` o `trusted`. Ver [Production Code Execution](#production-code-execution). |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | Secreto HMAC compartido y dedicado de 32 caracteres o más para la retransmisión segura de la autorización de Builder a vistas previas. Configure el mismo valor en el despliegue de devolución de llamada corporativo aprobado y en los despliegues de vista previa solo cuando la autorización deba almacenarse en una base de datos de vista previa aislada. |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | Lista de orígenes de vista previa de confianza exactos, separados por comas y solo para la devolución de llamada corporativa (por ejemplo, `https://0123456789abcdef01234567--content.netlify.app`). Configúrela únicamente en el despliegue de devolución de llamada corporativo. Los orígenes de Netlify deben usar un enlace permanente inmutable y específico del despliegue con un ID hexadecimal de 24 caracteres; se rechazan los alias mutables `deploy-preview-*`, los comodines y los sufijos de dominio. |
342
344
 
343
345
  Las variables de conexión de la base de datos (`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, `<APP_NAME>_DATABASE_URL` por aplicación) se encuentran en [Database](/docs/database#production).
344
346
 
@@ -373,7 +375,7 @@ Dentro de un espacio de trabajo, la raíz `.env` se carga automáticamente en ca
373
375
 
374
376
  ### Generando secretos fuertes {#env-generate-secrets}
375
377
 
376
- Para cualquier secreto marcado como "32+ caracteres aleatorios" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`), genere valores nuevos con:
378
+ Para cualquier secreto marcado como "32+ caracteres aleatorios" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`), genere valores nuevos con:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### Construction/Exécution {#env-runtime}
335
335
 
336
- | Variable | Description |
337
- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | Port du serveur (Node.js uniquement) |
339
- | `NITRO_PRESET` | Remplacer le préréglage de build au moment de la build |
340
- | `APP_BASE_PATH` | Montez l'application sous un préfixe (par exemple `/mail`). Réglé automatiquement par `npx @agent-native/core@latest deploy` ; laissez-le désactivé pour être autonome. |
341
- | `AGENT_PROD_CODE_EXECUTION` | Mode d'exécution du code de production facultatif : `off` (par défaut), `sandboxed` ou `trusted`. Voir [Production Code Execution](#production-code-execution). |
336
+ | Variable | Description |
337
+ | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | Port du serveur (Node.js uniquement) |
339
+ | `NITRO_PRESET` | Remplacer le préréglage de build au moment de la build |
340
+ | `APP_BASE_PATH` | Montez l'application sous un préfixe (par exemple `/mail`). Réglé automatiquement par `npx @agent-native/core@latest deploy` ; laissez-le désactivé pour être autonome. |
341
+ | `AGENT_PROD_CODE_EXECUTION` | Mode d'exécution du code de production facultatif : `off` (par défaut), `sandboxed` ou `trusted`. Voir [Production Code Execution](#production-code-execution). |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | Secret HMAC partagé et dédié d'au moins 32 caractères pour le relais sécurisé de l'autorisation Builder vers les aperçus. Définissez la même valeur sur le déploiement de rappel d'entreprise approuvé et sur les déploiements d'aperçu uniquement lorsque l'autorisation doit être enregistrée dans une base de données d'aperçu isolée. |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | Liste séparée par des virgules des origines d'aperçu approuvées exactes, réservée au rappel d'entreprise (par exemple `https://0123456789abcdef01234567--content.netlify.app`). Définissez-la uniquement sur le déploiement de rappel d'entreprise. Les origines Netlify doivent utiliser un permalien immuable propre au déploiement avec un identifiant hexadécimal de 24 caractères ; les alias mutables `deploy-preview-*`, les caractères génériques et les suffixes de domaine sont rejetés. |
342
344
 
343
345
  Les variables de connexion à la base de données (`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, `<APP_NAME>_DATABASE_URL` par application) résident dans [Database](/docs/database#production).
344
346
 
@@ -373,7 +375,7 @@ Dans un espace de travail, la racine `.env` est chargée automatiquement dans ch
373
375
 
374
376
  ### Générer des secrets puissants {#env-generate-secrets}
375
377
 
376
- Pour tout secret marqué « 32+ caractères aléatoires » (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`), générez de nouvelles valeurs avec :
378
+ Pour tout secret marqué « 32+ caractères aléatoires » (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`), générez de nouvelles valeurs avec :
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### बिल्ड/रनटाइम {#env-runtime}
335
335
 
336
- | वेरिएबल | विवरण |
337
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
338
- | `PORT` | सर्वर पोर्ट (केवल Node.js) |
339
- | `NITRO_PRESET` | बिल्ड समय पर बिल्ड प्रीसेट को ओवरराइड करें |
340
- | `APP_BASE_PATH` | एप्लिकेशन को किसी उपसर्ग के अंतर्गत माउंट करें (उदा. `/mail`)। `npx @agent-native/core@latest deploy` द्वारा स्वचालित रूप से सेट करें; स्टैंडअलोन के लिए अनसेट छोड़ दें। |
341
- | `AGENT_PROD_CODE_EXECUTION` | वैकल्पिक उत्पादन कोड-निष्पादन मोड: `off` (डिफ़ॉल्ट), `sandboxed`, या `trusted`। [Production Code Execution](#production-code-execution) देखें. |
336
+ | वेरिएबल | विवरण |
337
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | सर्वर पोर्ट (केवल Node.js) |
339
+ | `NITRO_PRESET` | बिल्ड समय पर बिल्ड प्रीसेट को ओवरराइड करें |
340
+ | `APP_BASE_PATH` | एप्लिकेशन को किसी उपसर्ग के अंतर्गत माउंट करें (उदा. `/mail`)। `npx @agent-native/core@latest deploy` द्वारा स्वचालित रूप से सेट करें; स्टैंडअलोन के लिए अनसेट छोड़ दें। |
341
+ | `AGENT_PROD_CODE_EXECUTION` | वैकल्पिक उत्पादन कोड-निष्पादन मोड: `off` (डिफ़ॉल्ट), `sandboxed`, या `trusted`। [Production Code Execution](#production-code-execution) देखें. |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | पूर्वावलोकन-सुरक्षित Builder प्राधिकरण रिले के लिए समर्पित, साझा 32+ वर्णों का HMAC रहस्य। स्वीकृत कॉर्पोरेट कॉलबैक परिनियोजन और पूर्वावलोकन परिनियोजन पर समान मान केवल तभी सेट करें, जब प्राधिकरण को एक अलग पूर्वावलोकन डेटाबेस में सहेजना हो। |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | केवल कॉर्पोरेट कॉलबैक के लिए, सटीक विश्वसनीय पूर्वावलोकन origins की कॉमा से अलग की गई allowlist (उदाहरण: `https://0123456789abcdef01234567--content.netlify.app`)। इसे केवल कॉर्पोरेट कॉलबैक परिनियोजन पर सेट करें। Netlify origins को 24-हेक्स ID वाला अपरिवर्तनीय, परिनियोजन-विशिष्ट permalink उपयोग करना होगा; परिवर्तनशील `deploy-preview-*` aliases, वाइल्डकार्ड और डोमेन प्रत्यय अस्वीकार किए जाते हैं। |
342
344
 
343
345
  डेटाबेस कनेक्शन वेरिएबल (`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, प्रति-ऐप `<APP_NAME>_DATABASE_URL`) [Database](/docs/database#production) में रहते हैं।
344
346
 
@@ -373,7 +375,7 @@ OAuth प्रदाता क्रेडेंशियल (Google, GitHub),
373
375
 
374
376
  ### मजबूत रहस्य उत्पन्न करना {#env-generate-secrets}
375
377
 
376
- "32+ चार यादृच्छिक" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`) चिह्नित किसी भी रहस्य के लिए, इसके साथ नए मान उत्पन्न करें:
378
+ "32+ चार यादृच्छिक" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`) चिह्नित किसी भी रहस्य के लिए, इसके साथ नए मान उत्पन्न करें:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### ビルド / ランタイム {#env-runtime}
335
335
 
336
- | 変数 | 説明 |
337
- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | サーバー ポート (Node.js のみ) |
339
- | `NITRO_PRESET` | ビルド時にビルド プリセットをオーバーライドする |
340
- | `APP_BASE_PATH` | プレフィックス (例: `/mail`) の下でアプリをマウントします。 `npx @agent-native/core@latest deploy` によって自動的に設定されます。スタンドアロンの場合は未設定のままにしておきます。 |
341
- | `AGENT_PROD_CODE_EXECUTION` | オプションの実稼働コード実行モード: `off` (デフォルト)、`sandboxed`、または `trusted`。 [Production Code Execution](#production-code-execution) を参照してください。 |
336
+ | 変数 | 説明 |
337
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | サーバー ポート (Node.js のみ) |
339
+ | `NITRO_PRESET` | ビルド時にビルド プリセットをオーバーライドする |
340
+ | `APP_BASE_PATH` | プレフィックス (例: `/mail`) の下でアプリをマウントします。 `npx @agent-native/core@latest deploy` によって自動的に設定されます。スタンドアロンの場合は未設定のままにしておきます。 |
341
+ | `AGENT_PROD_CODE_EXECUTION` | オプションの実稼働コード実行モード: `off` (デフォルト)、`sandboxed`、または `trusted`。 [Production Code Execution](#production-code-execution) を参照してください。 |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | プレビューに安全な Builder 認証リレー専用の、32 文字以上の共有 HMAC シークレット。認証を分離されたプレビュー データベースに保存する必要がある場合に限り、承認済みの企業コールバック デプロイメントとプレビュー デプロイメントの両方に同じ値を設定します。 |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | 企業コールバック専用の、完全一致する信頼済みプレビューオリジンをカンマ区切りで指定する許可リスト(例: `https://0123456789abcdef01234567--content.netlify.app`)。企業コールバックのデプロイメントにのみ設定します。Netlify オリジンには 24 桁の 16 進 ID を含む、不変かつデプロイ固有のパーマリンクが必要です。変更可能な `deploy-preview-*` エイリアス、ワイルドカード、ドメインサフィックスは拒否されます。 |
342
344
 
343
345
  データベース接続変数 (`DATABASE_URL`、`DATABASE_AUTH_TOKEN`、アプリごとの `<APP_NAME>_DATABASE_URL`) は [Database](/docs/database#production) に存在します。
344
346
 
@@ -373,7 +375,7 @@ OAuth プロバイダー資格情報 (Google、GitHub)、静的 MCP ベアラー
373
375
 
374
376
  ### 強力な秘密の生成 {#env-generate-secrets}
375
377
 
376
- 「32 文字以上のランダム」とマークされたシークレット (`BETTER_AUTH_SECRET`、`OAUTH_STATE_SECRET`、`A2A_SECRET`、`SECRETS_ENCRYPTION_KEY`) については、次のコマンドを使用して新しい値を生成します。
378
+ 「32 文字以上のランダム」とマークされたシークレット (`BETTER_AUTH_SECRET`、`OAUTH_STATE_SECRET`、`A2A_SECRET`、`SECRETS_ENCRYPTION_KEY`、`AGENT_NATIVE_BUILDER_RELAY_SECRET`) については、次のコマンドを使用して新しい値を生成します。
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### 빌드/런타임 {#env-runtime}
335
335
 
336
- | 변수 | 설명 |
337
- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | 서버 포트(Node.js만 해당) |
339
- | `NITRO_PRESET` | 빌드 시 빌드 사전 설정 재정의 |
340
- | `APP_BASE_PATH` | 접두사(예: `/mail`) 아래에 앱을 마운트합니다. `npx @agent-native/core@latest deploy`에 의해 자동으로 설정됩니다. 독립 실행형의 경우 설정하지 않은 상태로 둡니다. |
341
- | `AGENT_PROD_CODE_EXECUTION` | 선택적 프로덕션 코드 실행 모드: `off`(기본값), `sandboxed` 또는 `trusted`. [Production Code Execution](#production-code-execution)를 참조하세요. |
336
+ | 변수 | 설명 |
337
+ | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | 서버 포트(Node.js만 해당) |
339
+ | `NITRO_PRESET` | 빌드 시 빌드 사전 설정 재정의 |
340
+ | `APP_BASE_PATH` | 접두사(예: `/mail`) 아래에 앱을 마운트합니다. `npx @agent-native/core@latest deploy`에 의해 자동으로 설정됩니다. 독립 실행형의 경우 설정하지 않은 상태로 둡니다. |
341
+ | `AGENT_PROD_CODE_EXECUTION` | 선택적 프로덕션 코드 실행 모드: `off`(기본값), `sandboxed` 또는 `trusted`. [Production Code Execution](#production-code-execution)를 참조하세요. |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | 미리 보기에서 안전한 Builder 권한 부여 릴레이를 위한 전용 32자 이상의 공유 HMAC 비밀입니다. 권한 부여 결과가 격리된 미리 보기 데이터베이스에 저장되어야 할 때만 승인된 기업 콜백 배포와 미리 보기 배포 양쪽에 동일한 값을 설정하세요. |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | 기업 콜백 전용으로, 정확히 일치하는 신뢰할 수 있는 미리 보기 origin을 쉼표로 구분한 허용 목록입니다(예: `https://0123456789abcdef01234567--content.netlify.app`). 기업 콜백 배포에만 설정하세요. Netlify origin은 24자리 16진수 ID를 포함한 변경 불가능한 배포별 영구 링크를 사용해야 합니다. 변경 가능한 `deploy-preview-*` 별칭, 와일드카드, 도메인 접미사는 거부됩니다. |
342
344
 
343
345
  데이터베이스 연결 변수(`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, 앱별 `<APP_NAME>_DATABASE_URL`)는 [Database](/docs/database#production)에 있습니다.
344
346
 
@@ -373,7 +375,7 @@ OAuth 공급자 자격 증명(Google, GitHub), 정적 MCP 전달자 대체(`ACCE
373
375
 
374
376
  ### 강력한 비밀 생성 {#env-generate-secrets}
375
377
 
376
- "32자 이상의 무작위"로 표시된 비밀(`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`)의 경우 다음을 사용하여 새로운 값을 생성하세요.
378
+ "32자 이상의 무작위"로 표시된 비밀(`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`)의 경우 다음을 사용하여 새로운 값을 생성하세요.
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### Compilação/Tempo de execução {#env-runtime}
335
335
 
336
- | Variável | Descrição |
337
- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
- | `PORT` | Porta do servidor (somente Node.js) |
339
- | `NITRO_PRESET` | Substituir predefinição de compilação no momento da compilação |
340
- | `APP_BASE_PATH` | Monte o aplicativo sob um prefixo (por exemplo, `/mail`). Definido automaticamente por `npx @agent-native/core@latest deploy`; deixe sem definição para autônomo. |
341
- | `AGENT_PROD_CODE_EXECUTION` | Modo de execução de código de produção opcional: `off` (padrão), `sandboxed` ou `trusted`. Consulte [Production Code Execution](#production-code-execution). |
336
+ | Variável | Descrição |
337
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
338
+ | `PORT` | Porta do servidor (somente Node.js) |
339
+ | `NITRO_PRESET` | Substituir predefinição de compilação no momento da compilação |
340
+ | `APP_BASE_PATH` | Monte o aplicativo sob um prefixo (por exemplo, `/mail`). Definido automaticamente por `npx @agent-native/core@latest deploy`; deixe sem definição para autônomo. |
341
+ | `AGENT_PROD_CODE_EXECUTION` | Modo de execução de código de produção opcional: `off` (padrão), `sandboxed` ou `trusted`. Consulte [Production Code Execution](#production-code-execution). |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | Segredo HMAC compartilhado e dedicado de 32 caracteres ou mais para a retransmissão segura da autorização do Builder para prévias. Defina o mesmo valor na implantação de callback corporativa aprovada e nas implantações de prévia somente quando a autorização precisar ser salva em um banco de dados de prévia isolado. |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | Lista separada por vírgulas de origens de prévia confiáveis e exatas, exclusiva do callback corporativo (por exemplo, `https://0123456789abcdef01234567--content.netlify.app`). Defina-a somente na implantação do callback corporativo. As origens da Netlify devem usar um permalink imutável e específico da implantação com um ID hexadecimal de 24 caracteres; aliases mutáveis `deploy-preview-*`, curingas e sufixos de domínio são rejeitados. |
342
344
 
343
345
  Variáveis de conexão de banco de dados (`DATABASE_URL`, `DATABASE_AUTH_TOKEN`, `<APP_NAME>_DATABASE_URL` por aplicativo) residem em [Database](/docs/database#production).
344
346
 
@@ -373,7 +375,7 @@ Dentro de um espaço de trabalho, o `.env` raiz é carregado em cada aplicativo
373
375
 
374
376
  ### Gerando segredos fortes {#env-generate-secrets}
375
377
 
376
- Para qualquer segredo marcado como "32+ caracteres aleatórios" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`), gere novos valores com:
378
+ Para qualquer segredo marcado como "32+ caracteres aleatórios" (`BETTER_AUTH_SECRET`, `OAUTH_STATE_SECRET`, `A2A_SECRET`, `SECRETS_ENCRYPTION_KEY`, `AGENT_NATIVE_BUILDER_RELAY_SECRET`), gere novos valores com:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### 构建/运行时 {#env-runtime}
335
335
 
336
- | 变量 | 描述 |
337
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
338
- | `PORT` | 服务器端口(仅限Node.js) |
339
- | `NITRO_PRESET` | 在构建时覆盖构建预设 |
340
- | `APP_BASE_PATH` | 将应用程序安装在前缀下(例如 `/mail`)。由`npx @agent-native/core@latest deploy`自动设置;保持未设置为独立。 |
341
- | `AGENT_PROD_CODE_EXECUTION` | 可选的生产代码执行模式:`off`(默认)、`sandboxed` 或 `trusted`。参见[Production Code Execution](#production-code-execution)。 |
336
+ | 变量 | 描述 |
337
+ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | 服务器端口(仅限Node.js) |
339
+ | `NITRO_PRESET` | 在构建时覆盖构建预设 |
340
+ | `APP_BASE_PATH` | 将应用程序安装在前缀下(例如 `/mail`)。由`npx @agent-native/core@latest deploy`自动设置;保持未设置为独立。 |
341
+ | `AGENT_PROD_CODE_EXECUTION` | 可选的生产代码执行模式:`off`(默认)、`sandboxed` 或 `trusted`。参见[Production Code Execution](#production-code-execution)。 |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | 用于预览安全的 Builder 授权中继的专用 32+ 字符共享 HMAC 密钥。只有当授权结果必须写入隔离的预览数据库时,才在获批的企业回调部署和预览部署上设置相同的值。 |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | 仅用于企业回调的、以逗号分隔的精确可信预览来源允许列表(例如 `https://0123456789abcdef01234567--content.netlify.app`)。仅在企业回调部署中设置。Netlify 来源必须使用包含 24 位十六进制 ID、不可变且特定于部署的永久链接;可变的 `deploy-preview-*` 别名、通配符和域名后缀均会被拒绝。 |
342
344
 
343
345
  数据库连接变量(`DATABASE_URL`、`DATABASE_AUTH_TOKEN`、每个应用程序 `<APP_NAME>_DATABASE_URL`)位于 [Database](/docs/database#production) 中。
344
346
 
@@ -373,7 +375,7 @@ OAuth 提供商凭证(Google、GitHub)、静态 MCP 承载后备(`ACCESS_T
373
375
 
374
376
  ### 生成强大的秘密 {#env-generate-secrets}
375
377
 
376
- 对于任何标记为“32+ char random”的密钥(`BETTER_AUTH_SECRET`、`OAUTH_STATE_SECRET`、`A2A_SECRET`、`SECRETS_ENCRYPTION_KEY`),请使用以下命令生成新值:
378
+ 对于任何标记为“32+ char random”的密钥(`BETTER_AUTH_SECRET`、`OAUTH_STATE_SECRET`、`A2A_SECRET`、`SECRETS_ENCRYPTION_KEY`、`AGENT_NATIVE_BUILDER_RELAY_SECRET`),请使用以下命令生成新值:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -333,12 +333,14 @@ export default defineConfig({
333
333
 
334
334
  ### 建置/執行時 {#env-runtime}
335
335
 
336
- | 變數 | 描述 |
337
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
338
- | `PORT` | 伺服器連接埠(僅限Node.js) |
339
- | `NITRO_PRESET` | 在建置時覆蓋建置預設 |
340
- | `APP_BASE_PATH` | 將應用程式安裝在前綴下(例如 `/mail`)。由`npx @agent-native/core@latest deploy`自動設定;保持未設定為獨立。 |
341
- | `AGENT_PROD_CODE_EXECUTION` | 可選的正式環境程式碼執行模式:`off`(預設)、`sandboxed` 或 `trusted`。參見[Production Code Execution](#production-code-execution)。 |
336
+ | 變數 | 描述 |
337
+ | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
338
+ | `PORT` | 伺服器連接埠(僅限Node.js) |
339
+ | `NITRO_PRESET` | 在建置時覆蓋建置預設 |
340
+ | `APP_BASE_PATH` | 將應用程式安裝在前綴下(例如 `/mail`)。由`npx @agent-native/core@latest deploy`自動設定;保持未設定為獨立。 |
341
+ | `AGENT_PROD_CODE_EXECUTION` | 可選的正式環境程式碼執行模式:`off`(預設)、`sandboxed` 或 `trusted`。參見[Production Code Execution](#production-code-execution)。 |
342
+ | `AGENT_NATIVE_BUILDER_RELAY_SECRET` | 用於預覽安全的 Builder 授權中繼的專用 32+ 字元共用 HMAC 金鑰。只有當授權結果必須寫入隔離的預覽資料庫時,才在核准的企業回呼部署和預覽部署上設定相同的值。 |
343
+ | `AGENT_NATIVE_BUILDER_RELAY_TARGET_ORIGINS` | 僅供企業回呼使用、以逗號分隔的精確可信預覽來源允許清單(例如 `https://0123456789abcdef01234567--content.netlify.app`)。僅在企業回呼部署中設定。Netlify 來源必須使用包含 24 位十六進位 ID、不可變且特定於部署的永久連結;可變的 `deploy-preview-*` 別名、萬用字元和網域尾碼都會遭到拒絕。 |
342
344
 
343
345
  資料庫連線變數(`DATABASE_URL`、`DATABASE_AUTH_TOKEN`、每個應用程式 `<APP_NAME>_DATABASE_URL`)位於 [Database](/docs/database#production) 中。
344
346
 
@@ -373,7 +375,7 @@ OAuth 提供者憑證(Google、GitHub)、靜態 MCP 承載後備(`ACCESS_T
373
375
 
374
376
  ### 生成強大的秘密 {#env-generate-secrets}
375
377
 
376
- 對於任何標記為“32+ char random”的金鑰(`BETTER_AUTH_SECRET`、`OAUTH_STATE_SECRET`、`A2A_SECRET`、`SECRETS_ENCRYPTION_KEY`),請使用以下指令生成新值:
378
+ 對於任何標記為“32+ char random”的金鑰(`BETTER_AUTH_SECRET`、`OAUTH_STATE_SECRET`、`A2A_SECRET`、`SECRETS_ENCRYPTION_KEY`、`AGENT_NATIVE_BUILDER_RELAY_SECRET`),請使用以下指令生成新值:
377
379
 
378
380
  ```bash
379
381
  openssl rand -hex 32
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.101.7",
3
+ "version": "0.101.10",
4
4
  "description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -1,7 +1,7 @@
1
1
  import { Button } from "@agent-native/toolkit/ui/button";
2
2
  import { Spinner } from "@agent-native/toolkit/ui/spinner";
3
3
  import { Textarea } from "@agent-native/toolkit/ui/textarea";
4
- import { IconMessageCircle, IconSend } from "@tabler/icons-react";
4
+ import { IconFocus2, IconMessageCircle, IconSend } from "@tabler/icons-react";
5
5
 
6
6
  import type { ReviewResolutionTarget } from "../../review/types.js";
7
7
  import { cn } from "../utils.js";
@@ -16,6 +16,7 @@ export interface ReviewCommentComposerProps {
16
16
  placeholder?: string;
17
17
  commentLabel?: string;
18
18
  agentLabel?: string;
19
+ contextLabel?: string;
19
20
  autoFocus?: boolean;
20
21
  submitOnEnter?: boolean;
21
22
  onEscape?: () => void;
@@ -32,6 +33,7 @@ export function ReviewCommentComposer({
32
33
  placeholder = "Add a comment...",
33
34
  commentLabel = "Comment",
34
35
  agentLabel = "Send to agent",
36
+ contextLabel,
35
37
  autoFocus = false,
36
38
  submitOnEnter = false,
37
39
  onEscape,
@@ -51,6 +53,12 @@ export function ReviewCommentComposer({
51
53
  submit("human");
52
54
  }}
53
55
  >
56
+ {contextLabel ? (
57
+ <div className="mb-2 flex min-w-0 items-center gap-1.5 text-xs text-muted-foreground">
58
+ <IconFocus2 className="size-3.5 shrink-0" />
59
+ <span className="truncate">{contextLabel}</span>
60
+ </div>
61
+ ) : null}
54
62
  <Textarea
55
63
  autoFocus={autoFocus}
56
64
  value={value}
@@ -52,6 +52,14 @@ export interface ReviewThreadPanelProps {
52
52
  resourceType: string;
53
53
  resourceId: string;
54
54
  targetId?: string | null;
55
+ /** Persist new comments against this target while targetId continues to filter the list. */
56
+ composerTargetId?: string | null;
57
+ /** Optional element/point anchor attached to new comments from the composer. */
58
+ composerAnchor?: unknown | null;
59
+ /** Host metadata attached to new comments from the composer. */
60
+ composerMetadata?: Record<string, unknown>;
61
+ /** Visible label describing the element currently targeted by the composer. */
62
+ composerContextLabel?: string;
55
63
  title?: string;
56
64
  className?: string;
57
65
  includeResolved?: boolean;
@@ -89,6 +97,10 @@ export function ReviewThreadPanel({
89
97
  resourceType,
90
98
  resourceId,
91
99
  targetId,
100
+ composerTargetId,
101
+ composerAnchor,
102
+ composerMetadata,
103
+ composerContextLabel,
92
104
  title = "Review",
93
105
  className,
94
106
  includeResolved = true,
@@ -145,9 +157,11 @@ export function ReviewThreadPanel({
145
157
  {
146
158
  resourceType,
147
159
  resourceId,
148
- targetId,
160
+ targetId: composerTargetId === undefined ? targetId : composerTargetId,
161
+ ...(composerAnchor !== undefined ? { anchor: composerAnchor } : {}),
162
+ ...(composerMetadata ? { metadata: composerMetadata } : {}),
149
163
  body,
150
- ...(showComposerTargetPicker ? { resolutionTarget } : {}),
164
+ resolutionTarget: showComposerTargetPicker ? resolutionTarget : "human",
151
165
  },
152
166
  {
153
167
  onSuccess: (comment) => {
@@ -194,6 +208,7 @@ export function ReviewThreadPanel({
194
208
  placeholder={placeholder}
195
209
  commentLabel={composerCommentLabel}
196
210
  agentLabel={composerAgentLabel}
211
+ contextLabel={composerContextLabel}
197
212
  />
198
213
  ) : null}
199
214