@agent-native/core 0.98.1 → 0.98.3

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 (165) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +18 -0
  3. package/corpus/core/docs/content/locales/ar-SA/pr-visual-recap.mdx +25 -1
  4. package/corpus/core/docs/content/locales/ar-SA/template-plan.mdx +1 -1
  5. package/corpus/core/docs/content/locales/de-DE/pr-visual-recap.mdx +25 -1
  6. package/corpus/core/docs/content/locales/de-DE/template-plan.mdx +1 -1
  7. package/corpus/core/docs/content/locales/es-ES/pr-visual-recap.mdx +25 -1
  8. package/corpus/core/docs/content/locales/es-ES/template-plan.mdx +1 -1
  9. package/corpus/core/docs/content/locales/fr-FR/pr-visual-recap.mdx +25 -1
  10. package/corpus/core/docs/content/locales/fr-FR/template-plan.mdx +1 -1
  11. package/corpus/core/docs/content/locales/hi-IN/pr-visual-recap.mdx +25 -1
  12. package/corpus/core/docs/content/locales/hi-IN/template-plan.mdx +1 -1
  13. package/corpus/core/docs/content/locales/ja-JP/pr-visual-recap.mdx +25 -1
  14. package/corpus/core/docs/content/locales/ja-JP/template-plan.mdx +1 -1
  15. package/corpus/core/docs/content/locales/ko-KR/pr-visual-recap.mdx +25 -1
  16. package/corpus/core/docs/content/locales/ko-KR/template-plan.mdx +1 -1
  17. package/corpus/core/docs/content/locales/pt-BR/pr-visual-recap.mdx +25 -1
  18. package/corpus/core/docs/content/locales/pt-BR/template-plan.mdx +1 -1
  19. package/corpus/core/docs/content/locales/zh-CN/pr-visual-recap.mdx +25 -1
  20. package/corpus/core/docs/content/locales/zh-CN/template-plan.mdx +1 -1
  21. package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.mdx +25 -1
  22. package/corpus/core/docs/content/locales/zh-TW/template-plan.mdx +1 -1
  23. package/corpus/core/docs/content/pr-visual-recap.mdx +50 -1
  24. package/corpus/core/docs/content/template-plan.mdx +1 -1
  25. package/corpus/core/package.json +1 -1
  26. package/corpus/core/src/agent/production-agent.ts +2 -2
  27. package/corpus/core/src/cli/plan-local.ts +43 -11
  28. package/corpus/core/src/cli/pr-visual-recap-workflow.ts +2 -9
  29. package/corpus/core/src/cli/recap.ts +356 -4
  30. package/corpus/core/src/cli/skills-content/local-files.ts +17 -12
  31. package/corpus/core/src/client/analytics.ts +96 -14
  32. package/corpus/core/src/client/index.ts +7 -0
  33. package/corpus/core/src/client/session-replay.ts +10 -0
  34. package/corpus/core/src/client/settings/DemoModeSection.tsx +10 -34
  35. package/corpus/core/src/client/settings/SettingsPanel.tsx +31 -211
  36. package/corpus/core/src/client/settings/agent-settings-search.ts +219 -0
  37. package/corpus/core/src/client/settings/index.ts +4 -0
  38. package/corpus/core/src/client/url-scrub.ts +13 -0
  39. package/corpus/core/src/client/use-demo-mode-status.ts +44 -0
  40. package/corpus/core/src/demo/actions/toggle-demo-mode.ts +2 -2
  41. package/corpus/core/src/demo/config.ts +6 -6
  42. package/corpus/core/src/demo/redact.ts +18 -76
  43. package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +21 -4
  44. package/corpus/templates/analytics/AGENTS.md +8 -0
  45. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +18 -4
  46. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +429 -244
  47. package/corpus/templates/analytics/app/components/layout/command-palette-search.ts +93 -0
  48. package/corpus/templates/analytics/app/hooks/use-replay-storage-status.ts +2 -1
  49. package/corpus/templates/analytics/app/lib/demo-chart-trend.ts +169 -0
  50. package/corpus/templates/analytics/app/pages/Settings.tsx +8 -45
  51. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +205 -70
  52. package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +32 -16
  53. package/corpus/templates/analytics/app/pages/settings/settings-search.ts +126 -0
  54. package/corpus/templates/analytics/changelog/2026-07-12-command-menu-loading-placeholders-now-stay-below-available-r.md +6 -0
  55. package/corpus/templates/analytics/changelog/2026-07-12-command-menu-search-now-prioritizes-the-best-match.md +6 -0
  56. package/corpus/templates/analytics/changelog/2026-07-12-daily-dashboard-emails-reliably-include-the-complete-dashboa.md +6 -0
  57. package/corpus/templates/analytics/changelog/2026-07-12-demo-charts-preserve-source-movement.md +6 -0
  58. package/corpus/templates/analytics/changelog/2026-07-12-demo-mode-charts-trend-upward.md +6 -0
  59. package/corpus/templates/analytics/changelog/2026-07-12-replay-storage-settings-stay-readable-at-narrow-widths.md +6 -0
  60. package/corpus/templates/analytics/changelog/2026-07-12-session-replays-preserve-recorded-styling-and-keep-malformed.md +6 -0
  61. package/corpus/templates/analytics/server/jobs/dashboard-report.ts +2 -0
  62. package/corpus/templates/analytics/server/lib/dashboard-report.ts +17 -33
  63. package/corpus/templates/clips/app/components/player/video-player.tsx +5 -1
  64. package/corpus/templates/clips/changelog/2026-07-11-clips-no-longer-stay-stuck-on-preparing-clip-when-they-are-r.md +6 -0
  65. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +2 -2
  66. package/corpus/templates/content/changelog/2026-07-12-the-left-sidebar-stays-fixed-horizontally-while-scrolling-on.md +6 -0
  67. package/corpus/templates/plan/.agents/skills/visual-plan/references/local-files.md +17 -12
  68. package/corpus/templates/plan/.agents/skills/visual-recap/references/local-files.md +17 -12
  69. package/corpus/templates/plan/actions/validate-local-plan-source.ts +4 -4
  70. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +2 -1
  71. package/corpus/templates/plan/app/lib/plan-local-bridge.ts +41 -0
  72. package/corpus/templates/plan/app/lib/plan-tracking.ts +3 -0
  73. package/corpus/templates/plan/app/pages/PlansPage.tsx +9 -9
  74. package/corpus/templates/plan/app/root.tsx +13 -3
  75. package/corpus/templates/plan/changelog/2026-07-12-local-plan-source-now-stays-on-device.md +6 -0
  76. package/dist/agent/production-agent.js +2 -2
  77. package/dist/agent/production-agent.js.map +1 -1
  78. package/dist/cli/plan-local.d.ts +6 -6
  79. package/dist/cli/plan-local.d.ts.map +1 -1
  80. package/dist/cli/plan-local.js +36 -7
  81. package/dist/cli/plan-local.js.map +1 -1
  82. package/dist/cli/pr-visual-recap-workflow.d.ts +2 -8
  83. package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -1
  84. package/dist/cli/pr-visual-recap-workflow.js +2 -8
  85. package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
  86. package/dist/cli/recap.d.ts +22 -1
  87. package/dist/cli/recap.d.ts.map +1 -1
  88. package/dist/cli/recap.js +286 -2
  89. package/dist/cli/recap.js.map +1 -1
  90. package/dist/cli/skills-content/local-files.d.ts +1 -1
  91. package/dist/cli/skills-content/local-files.d.ts.map +1 -1
  92. package/dist/cli/skills-content/local-files.js +17 -12
  93. package/dist/cli/skills-content/local-files.js.map +1 -1
  94. package/dist/client/analytics.d.ts +8 -0
  95. package/dist/client/analytics.d.ts.map +1 -1
  96. package/dist/client/analytics.js +77 -13
  97. package/dist/client/analytics.js.map +1 -1
  98. package/dist/client/index.d.ts +3 -2
  99. package/dist/client/index.d.ts.map +1 -1
  100. package/dist/client/index.js +3 -2
  101. package/dist/client/index.js.map +1 -1
  102. package/dist/client/session-replay.d.ts +2 -0
  103. package/dist/client/session-replay.d.ts.map +1 -1
  104. package/dist/client/session-replay.js +7 -0
  105. package/dist/client/session-replay.js.map +1 -1
  106. package/dist/client/settings/DemoModeSection.d.ts +3 -3
  107. package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
  108. package/dist/client/settings/DemoModeSection.js +8 -27
  109. package/dist/client/settings/DemoModeSection.js.map +1 -1
  110. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  111. package/dist/client/settings/SettingsPanel.js +41 -191
  112. package/dist/client/settings/SettingsPanel.js.map +1 -1
  113. package/dist/client/settings/agent-settings-search.d.ts +16 -0
  114. package/dist/client/settings/agent-settings-search.d.ts.map +1 -0
  115. package/dist/client/settings/agent-settings-search.js +178 -0
  116. package/dist/client/settings/agent-settings-search.js.map +1 -0
  117. package/dist/client/settings/index.d.ts +1 -0
  118. package/dist/client/settings/index.d.ts.map +1 -1
  119. package/dist/client/settings/index.js +1 -0
  120. package/dist/client/settings/index.js.map +1 -1
  121. package/dist/client/url-scrub.d.ts.map +1 -1
  122. package/dist/client/url-scrub.js +14 -0
  123. package/dist/client/url-scrub.js.map +1 -1
  124. package/dist/client/use-demo-mode-status.d.ts +12 -0
  125. package/dist/client/use-demo-mode-status.d.ts.map +1 -0
  126. package/dist/client/use-demo-mode-status.js +30 -0
  127. package/dist/client/use-demo-mode-status.js.map +1 -0
  128. package/dist/collab/routes.d.ts +2 -2
  129. package/dist/demo/actions/toggle-demo-mode.js +2 -2
  130. package/dist/demo/actions/toggle-demo-mode.js.map +1 -1
  131. package/dist/demo/config.js +6 -6
  132. package/dist/demo/config.js.map +1 -1
  133. package/dist/demo/redact.d.ts +7 -5
  134. package/dist/demo/redact.d.ts.map +1 -1
  135. package/dist/demo/redact.js +19 -54
  136. package/dist/demo/redact.js.map +1 -1
  137. package/dist/notifications/routes.d.ts +2 -2
  138. package/dist/observability/routes.d.ts +5 -5
  139. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  140. package/dist/secrets/routes.d.ts +9 -9
  141. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  142. package/dist/server/transcribe-voice.d.ts +1 -1
  143. package/docs/content/locales/ar-SA/pr-visual-recap.mdx +25 -1
  144. package/docs/content/locales/ar-SA/template-plan.mdx +1 -1
  145. package/docs/content/locales/de-DE/pr-visual-recap.mdx +25 -1
  146. package/docs/content/locales/de-DE/template-plan.mdx +1 -1
  147. package/docs/content/locales/es-ES/pr-visual-recap.mdx +25 -1
  148. package/docs/content/locales/es-ES/template-plan.mdx +1 -1
  149. package/docs/content/locales/fr-FR/pr-visual-recap.mdx +25 -1
  150. package/docs/content/locales/fr-FR/template-plan.mdx +1 -1
  151. package/docs/content/locales/hi-IN/pr-visual-recap.mdx +25 -1
  152. package/docs/content/locales/hi-IN/template-plan.mdx +1 -1
  153. package/docs/content/locales/ja-JP/pr-visual-recap.mdx +25 -1
  154. package/docs/content/locales/ja-JP/template-plan.mdx +1 -1
  155. package/docs/content/locales/ko-KR/pr-visual-recap.mdx +25 -1
  156. package/docs/content/locales/ko-KR/template-plan.mdx +1 -1
  157. package/docs/content/locales/pt-BR/pr-visual-recap.mdx +25 -1
  158. package/docs/content/locales/pt-BR/template-plan.mdx +1 -1
  159. package/docs/content/locales/zh-CN/pr-visual-recap.mdx +25 -1
  160. package/docs/content/locales/zh-CN/template-plan.mdx +1 -1
  161. package/docs/content/locales/zh-TW/pr-visual-recap.mdx +25 -1
  162. package/docs/content/locales/zh-TW/template-plan.mdx +1 -1
  163. package/docs/content/pr-visual-recap.mdx +50 -1
  164. package/docs/content/template-plan.mdx +1 -1
  165. package/package.json +2 -2
package/corpus/README.md CHANGED
@@ -27,5 +27,5 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
27
27
 
28
28
  ## Generated Counts
29
29
 
30
- - core files: 2233
31
- - template files: 5475
30
+ - core files: 2235
31
+ - template files: 5488
@@ -1,5 +1,23 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.98.3
4
+
5
+ ### Patch Changes
6
+
7
+ - ffad302: Stop heuristically rewriting name-like text in demo mode while continuing to replace email addresses and numbers.
8
+ - ffad302: Expose lightweight settings search metadata for command palettes and other navigation surfaces.
9
+ - Updated dependencies [ffad302]
10
+ - Updated dependencies [ffad302]
11
+ - @agent-native/toolkit@0.4.8
12
+
13
+ ## 0.98.2
14
+
15
+ ### Patch Changes
16
+
17
+ - dd6a05b: Expose a live client hook for reading the effective Demo mode status.
18
+ - dd6a05b: Keep local Plan verification source on-device by skipping remote renderer validation, and protect bridge credentials from hosted requests.
19
+ - dd6a05b: Allow PR Visual Recap workflows to select configurable self-hosted runners.
20
+
3
21
  ## 0.98.1
4
22
 
5
23
  ### Patch Changes
@@ -123,6 +123,28 @@ npx @agent-native/core@latest recap doctor
123
123
  يثبت مجلد `visual-recap` المخصص له، ويضبط متغير المستودع
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## اختيار المشغّل
127
+
128
+ يعمل سير العمل افتراضيًا على مشغّلات `ubuntu-latest` المستضافة من GitHub. لاستخدام مشغّل مستضاف آخر أو مشغّل ذاتي الاستضافة، اضبط متغير المستودع أو المؤسسة `VISUAL_RECAP_RUNS_ON` على سلسلة JSON صالحة أو مصفوفة JSON من تسميات المشغّل:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ علامات الاقتباس في JSON مطلوبة. تحدد هذه القيمة مشغّل مهمة `recap` الكاملة. لتكوينه أثناء الإعداد الموجّه، مرّر قيمة JSON نفسها إلى `--runs-on`، ثم تحقق من سير العمل وتوفر المشغّل باستخدام `doctor`:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ تستخدم بوابة الأمان الخفيفة `ubuntu-latest` بشكل منفصل. يمكن للمستودعات التي تعطل مشغّلات GitHub المستضافة ضبط `VISUAL_RECAP_GATE_RUNS_ON` على تسمية نصية واحدة بلا JSON، أو استخدام `--gate-runs-on visual-recap-gate`. تُستخدم التسمية المخصصة فقط لمؤلفي `OWNER` أو `MEMBER` أو `COLLABORATOR` من المستودع نفسه؛ تُفرض `ubuntu-latest` على الفروع والمؤلفين الآخرين وقد تبقى عملياتهم بلا جدولة عند تعطيل مشغّلات GitHub المستضافة. استخدم مشغّلًا مخصصًا ويفضل أن يكون مؤقتًا؛ لا تسحب البوابة القياسية شجرة PR وتقيّم منطق سير العمل وبيانات PR الوصفية.
143
+
144
+ يرفض `recap doctor` بيانات JSON غير الصالحة أو غير المدعومة، ويبلغ عندما لا يعرض GitHub مشغّلًا متصلًا يطابق جميع التسميات المكوّنة. يظل تسجيل المشغّل وتثبيته وترقياته وسعته وصيانته من مسؤوليتك؛ يحدد Agent Native التسميات ولكنه لا يوفر المشغّل ولا يديره.
145
+
146
+ **الأمان:** يُفضّل استخدام مشغّلات ذاتية الاستضافة مؤقتة. يجب أن تخدم المشغّلات الدائمة ذاتية الاستضافة المستودعات الخاصة التي يقتصر المساهمون فيها على أشخاص موثوق بهم. يُغلق سير العمل بأمان قبل جدولة عمل ذاتي الاستضافة لمؤلفي PR غير الموثوق بهم في المستودعات العامة أو المتفرعة، لكن الجهاز الدائم يظل محتفظًا بحالة مساحة العمل والعمليات بين المهام. لا تضعف هذه البوابة ولا توجه مساهمات غير موثوقة إلى مشغّل دائم.
147
+
126
148
  ## تحديد الخلفية
127
149
 
128
150
  اختر وكيل الترميز الذي يقوم بتشغيل المهارة باستخدام متغير المستودع `VISUAL_RECAP_AGENT`:
@@ -460,10 +482,12 @@ jobs:
460
482
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
461
483
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
462
484
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
485
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
486
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
463
487
  # cli-version: "latest" # pin to a specific @agent-native/core version
464
488
  ```
465
489
 
466
- تنطبق نفس الأسرار والمتغيرات الموضحة في [Secrets and variables](#secrets-and-variables) - قم بتعيينها في إعدادات الريبو الخاصة بك بنفس الطريقة كما في متغير النسخ.
490
+ تنطبق الأسرار والمتغيرات نفسها الموضحة في [Secrets and variables](#secrets-and-variables). يمرر المتصل القابل لإعادة الاستخدام `VISUAL_RECAP_RUNS_ON` كـ `runs-on` للمهمة الكاملة، و`VISUAL_RECAP_GATE_RUNS_ON` كتسمية مفردة `gate-runs-on` للبوابة. يستخدم كلاهما `ubuntu-latest` عند الحذف.
467
491
 
468
492
  ### التثبيت عبر CLI
469
493
 
@@ -290,7 +290,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
290
290
  ```
291
291
 
292
292
  يبدو شكل الجسر URL
293
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
293
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
294
294
  الصفحة هي عارض الخطة العادي، لكن المتصفح يجلب `plan.mdx`،
295
295
  `canvas.mdx`، و`prototype.mdx`، و`.plan-state.json`، وأصول الصور المحلية من
296
296
  جسر المضيف المحلي. لا تتم كتابة محتوى الخطة في قاعدة البيانات المستضافة وهي
@@ -123,6 +123,28 @@ Referenzdateien, mit denen der Skill geliefert wird. Wenn Ihr Repo absichtlich a
123
123
  pinnen den festgeschriebenen `visual-recap`-Ordner an und legen die Repository-Variable fest
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## Runner-Auswahl
127
+
128
+ Standardmäßig wird der Workflow auf von GitHub gehosteten `ubuntu-latest`-Runnern ausgeführt. Um einen anderen gehosteten Runner oder einen eigenen selbst gehosteten Runner zu verwenden, setzen Sie die Repository- oder Organisationsvariable `VISUAL_RECAP_RUNS_ON` auf eine gültige JSON-Zeichenfolge oder ein JSON-Array mit Runner-Labels:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ Die JSON-Anführungszeichen sind erforderlich. Dieser Wert wählt den Runner für den vollständigen `recap`-Job. Übergeben Sie zur Konfiguration während der geführten Einrichtung denselben JSON-Wert an `--runs-on` und prüfen Sie anschließend den Workflow und die Verfügbarkeit des Runners mit `doctor`:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ Das einfache Gate verwendet separat `ubuntu-latest`. Repositorys ohne von GitHub gehostete Runner können `VISUAL_RECAP_GATE_RUNS_ON` auf ein einzelnes Klartext-Label ohne JSON setzen oder `--gate-runs-on visual-recap-gate` verwenden. Das benutzerdefinierte Label gilt nur für `OWNER`-, `MEMBER`- oder `COLLABORATOR`-Autoren desselben Repositorys; Forks und andere Autoren werden auf `ubuntu-latest` gezwungen und können ohne GitHub-gehostete Runner ungeplant bleiben. Nutzen Sie einen dedizierten, möglichst kurzlebigen Runner: Das Standard-Gate checkt den PR-Baum nicht aus und wertet Workflow-Logik sowie PR-Metadaten aus.
143
+
144
+ `recap doctor` lehnt fehlerhaftes oder nicht unterstütztes JSON ab und meldet, wenn GitHub keinen Online-Runner bereitstellt, der alle konfigurierten Labels erfüllt. Registrierung, Installation, Upgrades, Kapazität und Wartung des Runners liegen weiterhin in Ihrer Verantwortung; Agent Native wählt die Labels aus, stellt oder betreibt den Runner jedoch nicht.
145
+
146
+ **Sicherheit:** Bevorzugen Sie kurzlebige selbst gehostete Runner. Persistente selbst gehostete Runner sollten nur privaten Repositorys mit vertrauenswürdigen Mitwirkenden dienen. Der Workflow bricht ab, bevor selbst gehostete Arbeit für nicht vertrauenswürdige Autoren öffentlicher oder Fork-PRs eingeplant wird, doch eine persistente Maschine behält zwischen Jobs weiterhin Arbeitsbereichs- und Prozesszustand. Schwächen Sie dieses Gate nicht ab und leiten Sie keine nicht vertrauenswürdigen Beiträge an einen persistenten Runner weiter.
147
+
126
148
  ## Backend-Auswahl
127
149
 
128
150
  Wählen Sie mit der Repository-Variable `VISUAL_RECAP_AGENT` aus, welcher Codierungsagent den Skill ausführt:
@@ -460,10 +482,12 @@ jobs:
460
482
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
461
483
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
462
484
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
485
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
486
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
463
487
  # cli-version: "latest" # pin to a specific @agent-native/core version
464
488
  ```
465
489
 
466
- Es gelten die gleichen Geheimnisse und Variablen wie in [Secrets and variables](#secrets-and-variables) beschrieben legen Sie sie in Ihren Repo-Einstellungen auf die gleiche Weise fest wie für die Kopiervariante.
490
+ Es gelten dieselben Geheimnisse und Variablen wie unter [Secrets and variables](#secrets-and-variables). Der wiederverwendbare Aufrufer leitet `VISUAL_RECAP_RUNS_ON` als `runs-on` für den vollständigen Job und `VISUAL_RECAP_GATE_RUNS_ON` als einfaches `gate-runs-on`-Label für das Gate weiter. Ohne Eingabe verwenden beide `ubuntu-latest`.
467
491
 
468
492
  ### Installation über CLI
469
493
 
@@ -292,7 +292,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
292
292
  ```
293
293
 
294
294
  Die Brücke URL sieht aus wie
295
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
295
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
296
296
  Die Seite ist der normale Plan-Viewer, aber der Browser ruft `plan.mdx` ab,
297
297
  `canvas.mdx`, `prototype.mdx`, `.plan-state.json` und lokale Bildressourcen von
298
298
  die Localhost-Brücke. Planinhalte werden nicht in die gehostete Datenbank geschrieben und sind
@@ -123,6 +123,28 @@ archivos de referencia con los que se envía la habilidad. Si su repositorio per
123
123
  fija su carpeta `visual-recap` comprometida, establece la variable del repositorio
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## Selección del ejecutor
127
+
128
+ De forma predeterminada, el flujo de trabajo se ejecuta en ejecutores `ubuntu-latest` alojados por GitHub. Para usar otro ejecutor alojado o uno autohospedado, establezca la variable de repositorio u organización `VISUAL_RECAP_RUNS_ON` en una cadena JSON válida o en una matriz JSON de etiquetas de ejecutor:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ Las comillas JSON son obligatorias. Este valor selecciona el ejecutor del trabajo completo `recap`. Para configurarlo durante la instalación guiada, pase el mismo valor JSON a `--runs-on` y después valide el flujo de trabajo y la disponibilidad del ejecutor con `doctor`:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ La barrera ligera usa `ubuntu-latest` por separado. Los repositorios sin ejecutores alojados por GitHub pueden establecer `VISUAL_RECAP_GATE_RUNS_ON` en una sola etiqueta de texto sin JSON, o usar `--gate-runs-on visual-recap-gate`. La etiqueta personalizada solo se usa para autores `OWNER`, `MEMBER` o `COLLABORATOR` del mismo repositorio; los forks y demás autores se fuerzan a `ubuntu-latest` y pueden quedar sin programar si los ejecutores alojados están desactivados. Use un ejecutor dedicado y, preferiblemente, efímero: la barrera estándar no descarga el árbol del PR y evalúa la lógica del flujo de trabajo y los metadatos del PR.
143
+
144
+ `recap doctor` rechaza JSON con formato incorrecto o no compatible e informa cuando GitHub no expone ningún ejecutor en línea que coincida con todas las etiquetas configuradas. El registro, la instalación, las actualizaciones, la capacidad y el mantenimiento del ejecutor siguen siendo su responsabilidad; Agent Native selecciona las etiquetas, pero no proporciona ni opera el ejecutor.
145
+
146
+ **Seguridad:** Prefiera ejecutores autohospedados efímeros. Los ejecutores autohospedados persistentes solo deben servir a repositorios privados cuyos colaboradores sean de confianza. El flujo de trabajo se cierra de forma segura antes de asignar trabajo autohospedado a autores no confiables de PR públicos o de bifurcaciones, pero una máquina persistente conserva el estado del espacio de trabajo y de los procesos entre trabajos. No debilite esa barrera ni envíe contribuciones no confiables a un ejecutor persistente.
147
+
126
148
  ## Selección de backend
127
149
 
128
150
  Elija qué agente de codificación ejecuta la habilidad con la variable de repositorio `VISUAL_RECAP_AGENT`:
@@ -460,10 +482,12 @@ jobs:
460
482
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
461
483
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
462
484
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
485
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
486
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
463
487
  # cli-version: "latest" # pin to a specific @agent-native/core version
464
488
  ```
465
489
 
466
- Se aplican los mismos secretos y variables descritos en [Secrets and variables](#secrets-and-variables); configúrelos en la configuración de su repositorio de la misma manera que para la variante de copia.
490
+ Se aplican los mismos secretos y variables descritos en [Secrets and variables](#secrets-and-variables); configúrelos como en la variante de copia. El llamador reutilizable reenvía `VISUAL_RECAP_RUNS_ON` como `runs-on` para el trabajo completo y `VISUAL_RECAP_GATE_RUNS_ON` como la etiqueta simple `gate-runs-on` para la barrera. Ambos conservan `ubuntu-latest` cuando se omiten.
467
491
 
468
492
  ### Instalación mediante CLI
469
493
 
@@ -290,7 +290,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
290
290
  ```
291
291
 
292
292
  Parece el puente URL
293
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
293
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
294
294
  La página es el visor de planes normal, pero el navegador recupera `plan.mdx`,
295
295
  `canvas.mdx`, `prototype.mdx`, `.plan-state.json` y recursos de imagen locales de
296
296
  el puente del host local. El contenido del plan no se escribe en la base de datos alojada y se
@@ -123,6 +123,28 @@ fichiers de référence avec lesquels la compétence est livrée. Si votre dép
123
123
  épingle son dossier `visual-recap` validé, définit la variable du référentiel
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## Sélection du runner
127
+
128
+ Par défaut, le workflow s'exécute sur des runners `ubuntu-latest` hébergés par GitHub. Pour utiliser un autre runner hébergé ou votre propre runner auto-hébergé, définissez la variable de dépôt ou d'organisation `VISUAL_RECAP_RUNS_ON` sur une chaîne JSON valide ou un tableau JSON d'étiquettes de runner :
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ Les guillemets JSON sont obligatoires. Cette valeur sélectionne le runner du job complet `recap`. Pour le configurer pendant l'installation guidée, transmettez la même valeur JSON à `--runs-on`, puis validez le workflow et la disponibilité du runner avec `doctor` :
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ Le gate léger utilise séparément `ubuntu-latest`. Les dépôts sans runners hébergés par GitHub peuvent définir `VISUAL_RECAP_GATE_RUNS_ON` sur une seule étiquette en texte brut, sans JSON, ou utiliser `--gate-runs-on visual-recap-gate`. L'étiquette personnalisée ne s'applique qu'aux auteurs `OWNER`, `MEMBER` ou `COLLABORATOR` du même dépôt ; les forks et autres auteurs sont forcés sur `ubuntu-latest` et peuvent rester non planifiés si les runners hébergés sont désactivés. Utilisez un runner dédié et de préférence éphémère : le gate standard n'extrait pas l'arborescence de la PR et évalue la logique du workflow ainsi que les métadonnées de la PR.
143
+
144
+ `recap doctor` rejette les données JSON mal formées ou non prises en charge et signale lorsque GitHub ne présente aucun runner en ligne correspondant à toutes les étiquettes configurées. L'enregistrement, l'installation, les mises à niveau, la capacité et la maintenance du runner restent sous votre responsabilité ; Agent Native sélectionne les étiquettes, mais ne fournit ni n'exploite le runner.
145
+
146
+ **Sécurité :** Privilégiez les runners auto-hébergés éphémères. Les runners auto-hébergés persistants ne doivent servir que des dépôts privés dont les contributeurs sont dignes de confiance. Le workflow échoue de manière sûre avant de planifier du travail auto-hébergé pour des auteurs non fiables de PR publiques ou provenant de forks, mais une machine persistante conserve toujours l'état de l'espace de travail et des processus entre les jobs. N'affaiblissez pas cette barrière et n'acheminez pas de contributions non fiables vers un runner persistant.
147
+
126
148
  ## Sélection du back-end
127
149
 
128
150
  Choisissez quel agent de codage exécute la compétence avec la variable du référentiel `VISUAL_RECAP_AGENT` :
@@ -461,10 +483,12 @@ jobs:
461
483
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
462
484
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
463
485
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
486
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
487
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
464
488
  # cli-version: "latest" # pin to a specific @agent-native/core version
465
489
  ```
466
490
 
467
- Les mêmes secrets et variables décrits dans [Secrets and variables](#secrets-and-variables) s'appliquent : définissez-les dans les paramètres de votre dépôt de la même manière que pour la variante de copie.
491
+ Les mêmes secrets et variables décrits dans [Secrets and variables](#secrets-and-variables) s'appliquent. L'appelant réutilisable transmet `VISUAL_RECAP_RUNS_ON` via `runs-on` pour le job complet et `VISUAL_RECAP_GATE_RUNS_ON` via l'étiquette simple `gate-runs-on` pour le gate. Les deux utilisent `ubuntu-latest` par défaut.
468
492
 
469
493
  ### Installation via le CLI
470
494
 
@@ -290,7 +290,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
290
290
  ```
291
291
 
292
292
  Le pont URL ressemble à
293
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
293
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
294
294
  La page est la visionneuse de plan normale, mais le navigateur récupère `plan.mdx`,
295
295
  `canvas.mdx`, `prototype.mdx`, `.plan-state.json` et éléments d'image locaux de
296
296
  le pont localhost. Le contenu du plan n'est pas écrit dans la base de données hébergée et est
@@ -123,6 +123,28 @@ npx @agent-native/core@latest recap doctor
123
123
  अपने प्रतिबद्ध `visual-recap` फ़ोल्डर को पिन करता है, रिपॉजिटरी वेरिएबल सेट करता है
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## रनर चयन
127
+
128
+ डिफ़ॉल्ट रूप से वर्कफ़्लो GitHub द्वारा होस्ट किए गए `ubuntu-latest` रनर पर चलता है। किसी अन्य होस्ट किए गए रनर या अपने स्वयं के सेल्फ़-होस्टेड रनर का उपयोग करने के लिए, रिपॉजिटरी या संगठन वेरिएबल `VISUAL_RECAP_RUNS_ON` को एक मान्य JSON स्ट्रिंग या रनर लेबल की JSON सरणी पर सेट करें:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ JSON उद्धरण चिह्न आवश्यक हैं। यह मान पूरे `recap` जॉब के रनर को चुनता है। निर्देशित सेटअप के दौरान इसे कॉन्फ़िगर करने के लिए, वही JSON मान `--runs-on` को दें और फिर `doctor` से वर्कफ़्लो और रनर की उपलब्धता सत्यापित करें:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ हल्का गेट अलग से `ubuntu-latest` का उपयोग करता है। GitHub-होस्टेड रनर बंद करने वाली रिपॉजिटरी `VISUAL_RECAP_GATE_RUNS_ON` को JSON के बिना एक सादे लेबल पर सेट कर सकती हैं, या `--gate-runs-on visual-recap-gate` का उपयोग कर सकती हैं। कस्टम लेबल केवल उसी रिपॉजिटरी के `OWNER`, `MEMBER` या `COLLABORATOR` लेखकों के लिए उपयोग होता है; फ़ोर्क और अन्य लेखक `ubuntu-latest` पर भेजे जाते हैं और GitHub-होस्टेड रनर बंद होने पर बिना शेड्यूल रह सकते हैं। समर्पित और संभव हो तो अस्थायी रनर उपयोग करें; मानक गेट PR ट्री को चेक आउट नहीं करता और वर्कफ़्लो लॉजिक व PR मेटाडेटा का मूल्यांकन करता है।
143
+
144
+ `recap doctor` गलत प्रारूप या असमर्थित JSON को अस्वीकार करता है और तब रिपोर्ट करता है जब GitHub सभी कॉन्फ़िगर किए गए लेबल से मेल खाने वाला कोई ऑनलाइन रनर उपलब्ध नहीं कराता। रनर का पंजीकरण, स्थापना, अपग्रेड, क्षमता और रखरखाव आपकी जिम्मेदारी बने रहते हैं; Agent Native लेबल चुनता है, लेकिन रनर प्रदान या संचालित नहीं करता।
145
+
146
+ **सुरक्षा:** अस्थायी सेल्फ़-होस्टेड रनर को प्राथमिकता दें। स्थायी सेल्फ़-होस्टेड रनर केवल उन निजी रिपॉजिटरी के लिए होने चाहिए जिनके योगदानकर्ता विश्वसनीय हों। वर्कफ़्लो अविश्वसनीय सार्वजनिक या फ़ोर्क PR लेखकों के लिए सेल्फ़-होस्टेड काम निर्धारित करने से पहले सुरक्षित रूप से बंद हो जाता है, लेकिन स्थायी मशीन जॉब के बीच वर्कस्पेस और प्रक्रिया स्थिति बनाए रखती है। इस गेट को कमजोर न करें और अविश्वसनीय योगदान को स्थायी रनर पर न भेजें।
147
+
126
148
  ## बैकएंड चयन
127
149
 
128
150
  चुनें कि कौन सा कोडिंग एजेंट `VISUAL_RECAP_AGENT` रिपॉजिटरी वेरिएबल के साथ कौशल चलाता है:
@@ -461,10 +483,12 @@ jobs:
461
483
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
462
484
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
463
485
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
486
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
487
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
464
488
  # cli-version: "latest" # pin to a specific @agent-native/core version
465
489
  ```
466
490
 
467
- [Secrets and variables](#secrets-and-variables) में वर्णित समान रहस्य और चर लागू होते हैं - उन्हें कॉपी संस्करण के समान ही अपनी रेपो सेटिंग्स में सेट करें।
491
+ [Secrets and variables](#secrets-and-variables) में वर्णित समान रहस्य और चर लागू होते हैं। पुन: प्रयोज्य कॉलर पूरे जॉब के लिए `VISUAL_RECAP_RUNS_ON` को `runs-on` और गेट के लिए `VISUAL_RECAP_GATE_RUNS_ON` को एकल-लेबल `gate-runs-on` के रूप में भेजता है। दोनों छोड़ने पर `ubuntu-latest` उपयोग करते हैं।
468
492
 
469
493
  ### CLI के माध्यम से स्थापित करना
470
494
 
@@ -290,7 +290,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
290
290
  ```
291
291
 
292
292
  पुल URL जैसा दिखता है
293
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
293
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
294
294
  पेज सामान्य प्लान व्यूअर है, लेकिन ब्राउज़र `plan.mdx` प्राप्त करता है,
295
295
  `canvas.mdx`, `prototype.mdx`, `.plan-state.json`, और स्थानीय छवि संपत्ति
296
296
  लोकलहोस्ट ब्रिज। योजना सामग्री होस्ट किए गए डेटाबेस में नहीं लिखी गई है और
@@ -123,6 +123,28 @@ npx @agent-native/core@latest recap doctor
123
123
  コミットされた `visual-recap` フォルダーを固定し、リポジトリ変数を設定します
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## ランナーの選択
127
+
128
+ デフォルトでは、ワークフローは GitHub がホストする `ubuntu-latest` ランナーで実行されます。別のホスト型ランナーまたは独自のセルフホスト ランナーを使用するには、リポジトリまたは組織変数 `VISUAL_RECAP_RUNS_ON` を有効な JSON 文字列、またはランナー ラベルの JSON 配列に設定します。
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ JSON の引用符は必須です。この値は完全な `recap` ジョブのランナーを選択します。ガイド付きセットアップ中に構成するには、同じ JSON 値を `--runs-on` に渡し、`doctor` でワークフローとランナーの可用性を検証します。
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ 軽量なゲートは別途 `ubuntu-latest` を使用します。GitHub ホスト型ランナーを無効にしたリポジトリでは、`VISUAL_RECAP_GATE_RUNS_ON` に JSON ではない単一のプレーンラベルを設定するか、`--gate-runs-on visual-recap-gate` を使用できます。カスタムラベルは同一リポジトリの `OWNER`、`MEMBER`、`COLLABORATOR` の作成者にのみ使用されます。フォークやその他の作成者は `ubuntu-latest` に強制され、GitHub ホスト型ランナーが無効な場合は未スケジュールのままになることがあります。専用で、できればエフェメラルなランナーを使用してください。標準ゲートは PR ツリーをチェックアウトせず、ワークフローのロジックと PR メタデータを評価します。
143
+
144
+ `recap doctor` は不正な形式または未対応の JSON を拒否し、構成されたすべてのラベルに一致するオンライン ランナーが GitHub にない場合に報告します。ランナーの登録、インストール、アップグレード、容量、保守は引き続き利用者の責任です。Agent Native はラベルを選択しますが、ランナーを提供または運用しません。
145
+
146
+ **セキュリティ:** エフェメラルなセルフホスト ランナーを推奨します。永続的なセルフホスト ランナーは、信頼できるコントリビューターだけが参加するプライベート リポジトリに限定してください。ワークフローは、信頼されていない公開 PR またはフォーク PR の作成者にセルフホスト作業を割り当てる前に安全側で停止しますが、永続的なマシンはジョブ間でワークスペースとプロセスの状態を保持します。このゲートを弱めたり、信頼されていないコントリビューションを永続的なランナーに送ったりしないでください。
147
+
126
148
  ## バックエンドの選択
127
149
 
128
150
  `VISUAL_RECAP_AGENT` リポジトリ変数を使用してスキルを実行するコーディング エージェントを選択します:
@@ -458,10 +480,12 @@ jobs:
458
480
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
459
481
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
460
482
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
483
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
484
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
461
485
  # cli-version: "latest" # pin to a specific @agent-native/core version
462
486
  ```
463
487
 
464
- [Secrets and variables](#secrets-and-variables) で説明されているものと同じシークレットと変数が適用されます。コピー バリアントと同じ方法でリポジトリ設定に設定します。
488
+ [Secrets and variables](#secrets-and-variables) で説明されているものと同じシークレットと変数が適用されます。再利用可能な呼び出し元は、完全なジョブ向けに `VISUAL_RECAP_RUNS_ON` を `runs-on` として、ゲート向けに `VISUAL_RECAP_GATE_RUNS_ON` を単一ラベルの `gate-runs-on` として渡します。省略時はどちらも `ubuntu-latest` です。
465
489
 
466
490
  ### CLI 経由でのインストール
467
491
 
@@ -292,7 +292,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
292
292
  ```
293
293
 
294
294
  橋 URL は次のようになります
295
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
295
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
296
296
  このページは通常のプラン ビューアですが、ブラウザは `plan.mdx` を取得します。
297
297
  `canvas.mdx`、`prototype.mdx`、`.plan-state.json`、およびローカル画像アセット
298
298
  ローカルホストブリッジ。プランのコンテンツはホストされたデータベースに書き込まれず、
@@ -123,6 +123,28 @@ env 또는 로컬 계획에서 값을 사용할 수 있는 경우 비밀/변수
123
123
  커밋된 `visual-recap` 폴더를 고정하고 저장소 변수를 설정합니다.
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## 러너 선택
127
+
128
+ 기본적으로 워크플로는 GitHub에서 호스팅하는 `ubuntu-latest` 러너에서 실행됩니다. 다른 호스팅 러너나 자체 호스팅 러너를 사용하려면 저장소 또는 조직 변수 `VISUAL_RECAP_RUNS_ON`을 유효한 JSON 문자열이나 러너 레이블의 JSON 배열로 설정하세요.
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ JSON 따옴표는 필수입니다. 이 값은 전체 `recap` 작업의 러너를 선택합니다. 안내식 설정 중 구성하려면 동일한 JSON 값을 `--runs-on`에 전달한 다음 `doctor`로 워크플로와 러너 가용성을 검증하세요.
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ 경량 게이트는 별도로 `ubuntu-latest`를 사용합니다. GitHub 호스팅 러너를 비활성화한 저장소는 `VISUAL_RECAP_GATE_RUNS_ON`을 JSON이 아닌 단일 일반 레이블로 설정하거나 `--gate-runs-on visual-recap-gate`를 사용할 수 있습니다. 사용자 지정 레이블은 같은 저장소의 `OWNER`, `MEMBER`, `COLLABORATOR` 작성자에게만 사용됩니다. 포크와 그 밖의 작성자는 `ubuntu-latest`로 강제되며 GitHub 호스팅 러너가 꺼져 있으면 예약되지 않을 수 있습니다. 전용이며 가능하면 임시인 러너를 사용하세요. 기본 게이트는 PR 트리를 체크아웃하지 않고 워크플로 로직과 PR 메타데이터를 평가합니다.
143
+
144
+ `recap doctor`는 잘못된 형식이나 지원되지 않는 JSON을 거부하며 구성된 모든 레이블과 일치하는 온라인 러너를 GitHub에서 찾을 수 없을 때 이를 보고합니다. 러너 등록, 설치, 업그레이드, 용량 및 유지 관리는 계속 사용자의 책임입니다. Agent Native는 레이블을 선택할 뿐 러너를 제공하거나 운영하지 않습니다.
145
+
146
+ **보안:** 임시 자체 호스팅 러너를 권장합니다. 영구 자체 호스팅 러너는 신뢰할 수 있는 기여자만 있는 비공개 저장소에만 사용해야 합니다. 워크플로는 신뢰할 수 없는 공개 또는 포크 PR 작성자에게 자체 호스팅 작업을 할당하기 전에 안전하게 중단하지만, 영구 머신은 작업 사이에 워크스페이스와 프로세스 상태를 유지합니다. 이 게이트를 약화하거나 신뢰할 수 없는 기여를 영구 러너로 보내지 마세요.
147
+
126
148
  ## 백엔드 선택
127
149
 
128
150
  `VISUAL_RECAP_AGENT` 저장소 변수를 사용하여 기술을 실행하는 코딩 에이전트를 선택하세요:
@@ -460,10 +482,12 @@ jobs:
460
482
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
461
483
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
462
484
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
485
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
486
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
463
487
  # cli-version: "latest" # pin to a specific @agent-native/core version
464
488
  ```
465
489
 
466
- [Secrets and variables](#secrets-and-variables)에 설명된 것과 동일한 비밀 및 변수가 적용됩니다. 복사 변형과 동일한 방식으로 저장소 설정에서 설정하세요.
490
+ [Secrets and variables](#secrets-and-variables)에 설명된 것과 동일한 비밀 및 변수가 적용됩니다. 재사용 가능한 호출자는 전체 작업에 `VISUAL_RECAP_RUNS_ON`을 `runs-on`으로, 게이트에 `VISUAL_RECAP_GATE_RUNS_ON`을 단일 레이블 `gate-runs-on`으로 전달합니다. 생략하면 둘 다 `ubuntu-latest`를 사용합니다.
467
491
 
468
492
  ### CLI를 통해 설치
469
493
 
@@ -286,7 +286,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
286
286
  ```
287
287
 
288
288
  URL 다리는 다음과 같습니다
289
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
289
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
290
290
  페이지는 일반 Plan 뷰어이지만 브라우저는 `plan.mdx`를 가져옵니다.
291
291
  `canvas.mdx`, `prototype.mdx`, `.plan-state.json` 및 로컬 이미지 자산
292
292
  로컬호스트 브리지. 계획 콘텐츠는 호스팅된 데이터베이스에 기록되지 않으며
@@ -123,6 +123,28 @@ arquivos de referência que acompanham a habilidade. Se o seu repositório for p
123
123
  fixa sua pasta `visual-recap` comprometida, defina a variável do repositório
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## Seleção do executor
127
+
128
+ Por padrão, o fluxo de trabalho é executado em executores `ubuntu-latest` hospedados pelo GitHub. Para usar outro executor hospedado ou seu próprio executor auto-hospedado, defina a variável de repositório ou organização `VISUAL_RECAP_RUNS_ON` como uma string JSON válida ou uma matriz JSON de rótulos de executor:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ As aspas JSON são obrigatórias. Esse valor seleciona o executor do trabalho completo `recap`. Para configurá-lo durante a instalação guiada, passe o mesmo valor JSON para `--runs-on` e depois valide o fluxo de trabalho e a disponibilidade do executor com `doctor`:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ O gate leve usa `ubuntu-latest` separadamente. Repositórios sem executores hospedados pelo GitHub podem definir `VISUAL_RECAP_GATE_RUNS_ON` como um único rótulo de texto simples, sem JSON, ou usar `--gate-runs-on visual-recap-gate`. O rótulo personalizado só vale para autores `OWNER`, `MEMBER` ou `COLLABORATOR` do mesmo repositório; forks e outros autores são forçados para `ubuntu-latest` e podem ficar sem agendamento se os executores hospedados estiverem desativados. Use um executor dedicado e, de preferência, efêmero: o gate padrão não baixa a árvore do PR e avalia a lógica do fluxo de trabalho e os metadados do PR.
143
+
144
+ `recap doctor` rejeita JSON malformado ou não compatível e informa quando o GitHub não apresenta nenhum executor on-line que corresponda a todos os rótulos configurados. O registro, a instalação, as atualizações, a capacidade e a manutenção do executor continuam sendo sua responsabilidade; o Agent Native seleciona os rótulos, mas não fornece nem opera o executor.
145
+
146
+ **Segurança:** Prefira executores auto-hospedados efêmeros. Executores auto-hospedados persistentes devem atender apenas a repositórios privados cujos colaboradores sejam confiáveis. O fluxo de trabalho falha de forma segura antes de agendar trabalho auto-hospedado para autores não confiáveis de PRs públicos ou de forks, mas uma máquina persistente ainda mantém o estado do espaço de trabalho e dos processos entre os trabalhos. Não enfraqueça essa barreira nem encaminhe contribuições não confiáveis para um executor persistente.
147
+
126
148
  ## Seleção de back-end
127
149
 
128
150
  Escolha qual agente de codificação executa a habilidade com a variável de repositório `VISUAL_RECAP_AGENT`:
@@ -460,10 +482,12 @@ jobs:
460
482
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
461
483
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
462
484
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
485
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
486
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
463
487
  # cli-version: "latest" # pin to a specific @agent-native/core version
464
488
  ```
465
489
 
466
- Aplicam-se os mesmos segredos e variáveis descritos em [Secrets and variables](#secrets-and-variables) defina-os nas configurações do seu repositório da mesma forma que para a variante de cópia.
490
+ Aplicam-se os mesmos segredos e variáveis descritos em [Secrets and variables](#secrets-and-variables). O chamador reutilizável encaminha `VISUAL_RECAP_RUNS_ON` como `runs-on` para o trabalho completo e `VISUAL_RECAP_GATE_RUNS_ON` como o rótulo simples `gate-runs-on` para o gate. Ambos usam `ubuntu-latest` quando omitidos.
467
491
 
468
492
  ### Instalação via CLI
469
493
 
@@ -292,7 +292,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
292
292
  ```
293
293
 
294
294
  A ponte URL se parece com
295
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
295
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
296
296
  A página é o visualizador normal do Plano, mas o navegador busca `plan.mdx`,
297
297
  `canvas.mdx`, `prototype.mdx`, `.plan-state.json` e recursos de imagem locais de
298
298
  a ponte localhost. O conteúdo do plano não é gravado no banco de dados hospedado e é
@@ -123,6 +123,28 @@ npx @agent-native/core@latest recap doctor
123
123
  固定其提交的`visual-recap`文件夹,设置存储库变量
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## 运行器选择
127
+
128
+ 默认情况下,工作流程在 GitHub 托管的 `ubuntu-latest` 运行器上执行。若要使用其他托管运行器或自己的自托管运行器,请将存储库或组织变量 `VISUAL_RECAP_RUNS_ON` 设置为有效的 JSON 字符串或运行器标签的 JSON 数组:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ JSON 引号是必需的。此值选择完整 `recap` 作业的运行器。若要在引导设置期间进行配置,请将相同的 JSON 值传给 `--runs-on`,然后使用 `doctor` 验证工作流程和运行器可用性:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ 轻量级门禁单独使用 `ubuntu-latest`。禁用 GitHub 托管运行器的存储库可以将 `VISUAL_RECAP_GATE_RUNS_ON` 设置为一个不含 JSON 的纯文本标签,或使用 `--gate-runs-on visual-recap-gate`。自定义标签仅用于同一存储库中身份为 `OWNER`、`MEMBER` 或 `COLLABORATOR` 的作者;分支及其他作者会被强制使用 `ubuntu-latest`,在禁用 GitHub 托管运行器时可能一直无法调度。请使用专用且最好是临时的运行器;标准门禁不会检出 PR 树,只评估工作流逻辑和 PR 元数据。
143
+
144
+ `recap doctor` 会拒绝格式错误或不受支持的 JSON,并在 GitHub 未提供与所有已配置标签匹配的在线运行器时进行报告。运行器的注册、安装、升级、容量和维护仍由您负责;Agent Native 只选择标签,不提供或运营运行器。
145
+
146
+ **安全性:** 建议使用临时自托管运行器。持久自托管运行器应仅用于贡献者可信的私有存储库。工作流程会在向不可信的公开或分支 PR 作者分配自托管工作前安全关闭,但持久计算机仍会在作业之间保留工作区和进程状态。请勿削弱此门禁,也不要将不可信贡献路由到持久运行器。
147
+
126
148
  ## 后端选择
127
149
 
128
150
  选择哪个编码代理使用 `VISUAL_RECAP_AGENT` 存储库变量运行技能:
@@ -458,10 +480,12 @@ jobs:
458
480
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
459
481
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
460
482
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
483
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
484
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
461
485
  # cli-version: "latest" # pin to a specific @agent-native/core version
462
486
  ```
463
487
 
464
- 适用 [Secrets and variables](#secrets-and-variables) 中描述的相同秘密和变量 - 在存储库设置中以与复制变体相同的方式设置它们。
488
+ 适用 [Secrets and variables](#secrets-and-variables) 中描述的相同秘密和变量。可复用调用方将完整作业的 `VISUAL_RECAP_RUNS_ON` 转发为 `runs-on`,并将门禁的 `VISUAL_RECAP_GATE_RUNS_ON` 转发为单标签 `gate-runs-on`。省略时两者都使用 `ubuntu-latest`。
465
489
 
466
490
  ### 通过CLI安装
467
491
 
@@ -286,7 +286,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
286
286
  ```
287
287
 
288
288
  桥梁 URL 看起来像
289
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
289
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
290
290
  该页面是普通的计划查看器,但浏览器获取 `plan.mdx`,
291
291
  `canvas.mdx`、`prototype.mdx`、`.plan-state.json` 以及来自
292
292
  本地主机桥。计划内容不会写入托管数据库,而是
@@ -123,6 +123,28 @@ npx @agent-native/core@latest recap doctor
123
123
  固定其提交的`visual-recap`資料夾,設定儲存庫變數
124
124
  `VISUAL_RECAP_SKILL_SOURCE=repo`.
125
125
 
126
+ ## 執行器選取
127
+
128
+ 預設情況下,工作流程會在 GitHub 託管的 `ubuntu-latest` 執行器上執行。若要使用其他託管執行器或自己的自託管執行器,請將儲存庫或組織變數 `VISUAL_RECAP_RUNS_ON` 設為有效的 JSON 字串或執行器標籤的 JSON 陣列:
129
+
130
+ ```text
131
+ "ubuntu-latest"
132
+ ["self-hosted", "linux", "x64", "visual-recap"]
133
+ ```
134
+
135
+ JSON 引號不可省略。此值會選取完整 `recap` 工作的執行器。若要在引導設定期間進行設定,請將相同的 JSON 值傳給 `--runs-on`,然後使用 `doctor` 驗證工作流程和執行器可用性:
136
+
137
+ ```bash
138
+ npx @agent-native/core@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
139
+ npx @agent-native/core@latest recap doctor
140
+ ```
141
+
142
+ 輕量級閘道會另外使用 `ubuntu-latest`。停用 GitHub 託管執行器的儲存庫可以將 `VISUAL_RECAP_GATE_RUNS_ON` 設為一個不含 JSON 的純文字標籤,或使用 `--gate-runs-on visual-recap-gate`。自訂標籤僅用於同一儲存庫中身分為 `OWNER`、`MEMBER` 或 `COLLABORATOR` 的作者;分支及其他作者會被強制使用 `ubuntu-latest`,在停用 GitHub 託管執行器時可能一直無法排程。請使用專用且最好是暫時性的執行器;標準閘道不會簽出 PR 樹,只評估工作流程邏輯與 PR 中繼資料。
143
+
144
+ `recap doctor` 會拒絕格式錯誤或不支援的 JSON,並在 GitHub 未提供符合所有已設定標籤的線上執行器時回報。執行器的註冊、安裝、升級、容量和維護仍由您負責;Agent Native 只選取標籤,不提供或營運執行器。
145
+
146
+ **安全性:** 建議使用暫時性自託管執行器。持久自託管執行器應僅用於貢獻者可信任的私人儲存庫。工作流程會在向不受信任的公開或分支 PR 作者指派自託管工作前安全關閉,但持久機器仍會在工作之間保留工作區和程序狀態。請勿削弱此閘道,也不要將不受信任的貢獻路由至持久執行器。
147
+
126
148
  ## 後端選取
127
149
 
128
150
  選取哪個編碼代理使用 `VISUAL_RECAP_AGENT` 儲存庫變數執行技能:
@@ -458,10 +480,12 @@ jobs:
458
480
  model: ${{ vars.VISUAL_RECAP_MODEL || '' }}
459
481
  reasoning: ${{ vars.VISUAL_RECAP_REASONING || '' }}
460
482
  skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
483
+ runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
484
+ gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
461
485
  # cli-version: "latest" # pin to a specific @agent-native/core version
462
486
  ```
463
487
 
464
- 適用 [Secrets and variables](#secrets-and-variables) 中描述的相同秘密和變數 - 在儲存庫設定中以與複製變體相同的方式設定它們。
488
+ 適用 [Secrets and variables](#secrets-and-variables) 中描述的相同秘密和變數。可重複使用的呼叫端會將完整工作的 `VISUAL_RECAP_RUNS_ON` 轉送為 `runs-on`,並將閘道的 `VISUAL_RECAP_GATE_RUNS_ON` 轉送為單一標籤 `gate-runs-on`。省略時兩者都使用 `ubuntu-latest`。
465
489
 
466
490
  ### 透過 CLI 安裝
467
491
 
@@ -286,7 +286,7 @@ npx @agent-native/core@latest plan local serve --dir plans/<slug> --kind plan --
286
286
  ```
287
287
 
288
288
  橋梁 URL 看起來像
289
- `https://plan.agent-native.com/local-plans/<slug>?bridge=http://127.0.0.1:...`.
289
+ `https://plan.agent-native.com/local-plans/local-<opaque-id>#bridge=http://127.0.0.1:...`.
290
290
  該頁面是普通的計畫檢視器,但瀏覽器取得 `plan.mdx`,
291
291
  `canvas.mdx`、`prototype.mdx`、`.plan-state.json` 以及來自
292
292
  本機主機橋。計畫內容不會寫入託管資料庫,而是