@agent-native/core 0.100.2 → 0.101.2
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.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +65 -0
- package/corpus/core/docs/content/locales/ar-SA/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/ar-SA/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/de-DE/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/de-DE/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/es-ES/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/es-ES/template-plan.mdx +14 -0
- package/corpus/core/docs/content/locales/fr-FR/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/fr-FR/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/hi-IN/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/hi-IN/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/ja-JP/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/ja-JP/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/ko-KR/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/ko-KR/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/pt-BR/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/pt-BR/template-plan.mdx +14 -0
- package/corpus/core/docs/content/locales/zh-CN/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/zh-CN/template-plan.mdx +7 -0
- package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.mdx +48 -30
- package/corpus/core/docs/content/locales/zh-TW/template-plan.mdx +7 -0
- package/corpus/core/docs/content/pr-visual-recap.mdx +50 -32
- package/corpus/core/docs/content/template-plan.mdx +14 -0
- package/corpus/core/docs/content/toolkit-comments-review.mdx +16 -2
- package/corpus/core/package.json +4 -1
- package/corpus/core/src/a2a/index.ts +2 -1
- package/corpus/core/src/a2a/server.ts +34 -9
- package/corpus/core/src/agent/production-agent.ts +56 -10
- package/corpus/core/src/cli/create.ts +47 -19
- package/corpus/core/src/cli/pr-visual-recap-workflow.ts +2 -3
- package/corpus/core/src/cli/recap.ts +3 -4932
- package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +6 -4
- package/corpus/core/src/cli/skills-content/visual-recap-skill.ts +7 -1
- package/corpus/core/src/client/AgentPanel.tsx +19 -17
- package/corpus/core/src/client/analytics.ts +8 -1
- package/corpus/core/src/client/chat/markdown-renderer.tsx +54 -8
- package/corpus/core/src/client/chat/message-components.tsx +8 -2
- package/corpus/core/src/client/clipboard.ts +28 -1
- package/corpus/core/src/client/guided-questions.tsx +4 -0
- package/corpus/core/src/client/i18n.tsx +2 -1
- package/corpus/core/src/client/index.ts +4 -0
- package/corpus/core/src/client/review/ReviewCommentComposer.tsx +108 -0
- package/corpus/core/src/client/review/ReviewThreadPanel.tsx +482 -150
- package/corpus/core/src/client/review/index.ts +8 -0
- package/corpus/core/src/client/review/use-review.ts +35 -1
- package/corpus/core/src/client/use-agent-chat-context.ts +3 -2
- package/corpus/core/src/review/actions/create-review-comment.ts +2 -1
- package/corpus/core/src/review/actions/get-review-feedback.ts +6 -11
- package/corpus/core/src/review/actions/list-review-comments.ts +38 -4
- package/corpus/core/src/review/actions/reply-review-comment.ts +33 -22
- package/corpus/core/src/review/actions/resolve-review-thread.ts +29 -2
- package/corpus/core/src/review/actions/send-review-thread-to-agent.ts +62 -0
- package/corpus/core/src/review/identity.ts +101 -0
- package/corpus/core/src/review/index.ts +14 -0
- package/corpus/core/src/review/store.ts +315 -8
- package/corpus/core/src/review/types.ts +4 -0
- package/corpus/core/src/server/action-discovery.ts +4 -0
- package/corpus/core/src/server/action-routes.ts +125 -4
- package/corpus/core/src/server/agent-chat/plugin-options.ts +16 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +1 -0
- package/corpus/core/src/server/index.ts +8 -0
- package/corpus/core/src/vite/action-types-plugin.ts +4 -0
- package/corpus/templates/analytics/changelog/2026-07-14-daily-dashboard-email-captures-authenticate-with-a-sessi.md +6 -0
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +156 -3
- package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +402 -142
- package/corpus/templates/assets/app/i18n/zh-TW.ts +1 -0
- package/corpus/templates/assets/app/i18n-data.ts +1 -0
- package/corpus/templates/assets/app/routes/library.tsx +187 -48
- package/corpus/templates/assets/changelog/2026-07-13-merged-the-candidates-panel-into-the-library-as-a-drafts-tab.md +6 -0
- package/corpus/templates/chat/app/lib/agent-page.tsx +40 -0
- package/corpus/templates/chat/app/routes/agent.tsx +5 -3
- package/corpus/templates/chat/changelog/2026-07-14-fixed-chat-template-startup-with-older-core-versions.md +6 -0
- package/corpus/templates/clips/.agents/skills/ai-video-tools/SKILL.md +5 -0
- package/corpus/templates/clips/AGENTS.md +4 -0
- package/corpus/templates/clips/actions/get-feature-flags.ts +30 -0
- package/corpus/templates/clips/actions/lib/transcript-preview.ts +48 -0
- package/corpus/templates/clips/actions/request-transcript.ts +41 -1
- package/corpus/templates/clips/actions/view-screen.ts +5 -9
- package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -1
- package/corpus/templates/clips/app/components/player/video-player.tsx +39 -1
- package/corpus/templates/clips/app/hooks/use-desktop-promo.ts +6 -12
- package/corpus/templates/clips/app/hooks/use-mse-video-source.ts +146 -0
- package/corpus/templates/clips/app/lib/capture-install-options.ts +21 -0
- package/corpus/templates/clips/app/lib/fmp4.ts +271 -0
- package/corpus/templates/clips/app/lib/mse-video-loader.ts +585 -0
- package/corpus/templates/clips/app/routes/_app.dictate.tsx +0 -4
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +5 -13
- package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +2 -37
- package/corpus/templates/clips/app/routes/download.tsx +3 -2
- package/corpus/templates/clips/changelog/2026-07-10-shared-clips-now-start-playing-instantly-instead-of-showing-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-14-clips-now-distinguishes-transcript-previews-from-incomplete-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-14-desktop-app-prompts-stay-hidden-after-you-download-the-insta.md +6 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +5 -0
- package/corpus/templates/clips/desktop/src/overlays/recording-pill.tsx +10 -0
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +4 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/custom_capture.rs +2518 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/live_upload.rs +353 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +558 -67
- package/corpus/templates/clips/desktop/src-tauri/src/recording_indicator.rs +11 -1
- package/corpus/templates/clips/desktop/src-tauri/src/remote_flags.rs +188 -0
- package/corpus/templates/clips/desktop/src-tauri/src/whisper_speech.rs +1 -1
- package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +1 -0
- package/corpus/templates/clips/server/plugins/agent-chat.ts +5 -0
- package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +5 -1
- package/corpus/templates/clips/shared/feature-flags.ts +41 -0
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +3 -0
- package/corpus/templates/design/.agents/skills/design-review-feedback/SKILL.md +42 -0
- package/corpus/templates/design/AGENTS.md +6 -0
- package/corpus/templates/design/README.md +1 -0
- package/corpus/templates/design/actions/navigate.ts +4 -4
- package/corpus/templates/design/actions/view-screen.ts +116 -2
- package/corpus/templates/design/agent-native.app-skill.json +5 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +52 -59
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +13 -9
- package/corpus/templates/design/app/components/design/EditPanel.tsx +79 -11
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +78 -65
- package/corpus/templates/design/app/components/design/ReviewCommentsPanel.tsx +161 -0
- package/corpus/templates/design/app/components/design/ReviewStatusControl.tsx +96 -0
- package/corpus/templates/design/app/components/design/bridge/hit-test.bridge.ts +166 -0
- package/corpus/templates/design/app/components/layout/Layout.tsx +1 -0
- package/corpus/templates/design/app/components/visual-editor/ReviewCanvasPins.tsx +1077 -0
- package/corpus/templates/design/app/components/visual-editor/index.ts +1 -0
- package/corpus/templates/design/app/components/visual-editor/review-canvas-state.ts +42 -0
- package/corpus/templates/design/app/hooks/use-design-systems.ts +2 -2
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +9 -6
- package/corpus/templates/design/app/hooks/use-question-flow.ts +7 -1
- package/corpus/templates/design/app/i18n/ar-SA.ts +56 -1
- package/corpus/templates/design/app/i18n/de-DE.ts +57 -1
- package/corpus/templates/design/app/i18n/en-US.ts +56 -1
- package/corpus/templates/design/app/i18n/es-ES.ts +56 -1
- package/corpus/templates/design/app/i18n/fr-FR.ts +57 -1
- package/corpus/templates/design/app/i18n/hi-IN.ts +56 -1
- package/corpus/templates/design/app/i18n/ja-JP.ts +56 -1
- package/corpus/templates/design/app/i18n/ko-KR.ts +56 -1
- package/corpus/templates/design/app/i18n/pt-BR.ts +57 -1
- package/corpus/templates/design/app/i18n/zh-CN.ts +56 -1
- package/corpus/templates/design/app/i18n/zh-TW.ts +51 -0
- package/corpus/templates/design/app/pages/Present.tsx +172 -14
- package/corpus/templates/design/app/pages/design-editor/overview-camera.ts +23 -0
- package/corpus/templates/design/app/pages/design-editor/tool-state.ts +10 -0
- package/corpus/templates/design/app/pages/present-review-state.ts +18 -0
- package/corpus/templates/design/app/public-routes.ts +8 -0
- package/corpus/templates/design/app/root.tsx +7 -6
- package/corpus/templates/design/changelog/2026-07-13-dragged-design-assets-now-appear-at-the-visible-drop-locatio.md +6 -0
- package/corpus/templates/design/changelog/2026-07-13-reviewers-can-pin-comments-on-shared-designs-and-apply-verif.md +6 -0
- package/corpus/templates/design/server/plugins/agent-chat.ts +10 -0
- package/corpus/templates/design/server/plugins/auth.ts +7 -5
- package/corpus/templates/design/server/plugins/review.ts +9 -0
- package/corpus/templates/design/shared/review-anchor.ts +83 -0
- package/corpus/templates/design/shared/review-summary.ts +25 -0
- package/corpus/templates/forms/.agents/skills/form-publishing/SKILL.md +2 -0
- package/corpus/templates/forms/AGENTS.md +4 -0
- package/corpus/templates/forms/actions/create-form.ts +2 -1
- package/corpus/templates/forms/actions/update-form.ts +5 -2
- package/corpus/templates/forms/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +3 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/forms/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +19 -0
- package/corpus/templates/forms/changelog/2026-07-14-fixed-the-ask-forms-loading-input-appearing-above-the-welcom.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-14-form-social-previews-now-show-the-form-title-description-and.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-14-forms-can-email-the-form-owner-when-new-responses-arrive.md +6 -0
- package/corpus/templates/forms/server/handlers/submissions.ts +17 -0
- package/corpus/templates/forms/server/lib/form-og-image.ts +64 -6
- package/corpus/templates/forms/server/lib/public-form-ssr.ts +6 -2
- package/corpus/templates/forms/server/lib/response-email.ts +65 -0
- package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/forms/server/routes/api/forms/og/[...slug]/og.png.get.ts +184 -0
- package/corpus/templates/forms/shared/types.ts +2 -0
- package/corpus/templates/plan/.agents/skills/visual-plan/SKILL.md +6 -4
- package/corpus/templates/plan/.agents/skills/visual-recap/SKILL.md +7 -1
- package/dist/a2a/index.d.ts +2 -1
- package/dist/a2a/index.d.ts.map +1 -1
- package/dist/a2a/index.js +1 -1
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/server.d.ts +25 -0
- package/dist/a2a/server.d.ts.map +1 -1
- package/dist/a2a/server.js +30 -6
- package/dist/a2a/server.js.map +1 -1
- package/dist/agent/production-agent.d.ts +2 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +37 -12
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/cli/create.d.ts +5 -3
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +44 -19
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.d.ts +2 -2
- package/dist/cli/pr-visual-recap-workflow.d.ts.map +1 -1
- package/dist/cli/pr-visual-recap-workflow.js +2 -2
- package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
- package/dist/cli/recap.d.ts +3 -562
- package/dist/cli/recap.d.ts.map +1 -1
- package/dist/cli/recap.js +3 -3875
- package/dist/cli/recap.js.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.js +6 -4
- package/dist/cli/skills-content/visual-plan-skill.js.map +1 -1
- package/dist/cli/skills-content/visual-recap-skill.d.ts +1 -1
- package/dist/cli/skills-content/visual-recap-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/visual-recap-skill.js +7 -1
- package/dist/cli/skills-content/visual-recap-skill.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +3 -3
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/analytics.d.ts +5 -0
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +3 -1
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/chat/markdown-renderer.d.ts +1 -0
- package/dist/client/chat/markdown-renderer.d.ts.map +1 -1
- package/dist/client/chat/markdown-renderer.js +36 -1
- package/dist/client/chat/markdown-renderer.js.map +1 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +5 -2
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/clipboard.d.ts +3 -1
- package/dist/client/clipboard.d.ts.map +1 -1
- package/dist/client/clipboard.js +24 -1
- package/dist/client/clipboard.js.map +1 -1
- package/dist/client/guided-questions.d.ts +3 -1
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +2 -1
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/i18n.d.ts.map +1 -1
- package/dist/client/i18n.js +3 -1
- package/dist/client/i18n.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/review/ReviewCommentComposer.d.ts +18 -0
- package/dist/client/review/ReviewCommentComposer.d.ts.map +1 -0
- package/dist/client/review/ReviewCommentComposer.js +30 -0
- package/dist/client/review/ReviewCommentComposer.js.map +1 -0
- package/dist/client/review/ReviewThreadPanel.d.ts +28 -1
- package/dist/client/review/ReviewThreadPanel.d.ts.map +1 -1
- package/dist/client/review/ReviewThreadPanel.js +151 -39
- package/dist/client/review/ReviewThreadPanel.js.map +1 -1
- package/dist/client/review/index.d.ts +3 -2
- package/dist/client/review/index.d.ts.map +1 -1
- package/dist/client/review/index.js +2 -1
- package/dist/client/review/index.js.map +1 -1
- package/dist/client/review/use-review.d.ts +23 -0
- package/dist/client/review/use-review.d.ts.map +1 -1
- package/dist/client/review/use-review.js +3 -0
- package/dist/client/review/use-review.js.map +1 -1
- package/dist/client/use-agent-chat-context.d.ts +1 -1
- package/dist/client/use-agent-chat-context.d.ts.map +1 -1
- package/dist/client/use-agent-chat-context.js +4 -2
- package/dist/client/use-agent-chat-context.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +5 -5
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/review/actions/create-review-comment.js +2 -1
- package/dist/review/actions/create-review-comment.js.map +1 -1
- package/dist/review/actions/get-review-feedback.js +6 -11
- package/dist/review/actions/get-review-feedback.js.map +1 -1
- package/dist/review/actions/list-review-comments.d.ts +1 -0
- package/dist/review/actions/list-review-comments.js +25 -4
- package/dist/review/actions/list-review-comments.js.map +1 -1
- package/dist/review/actions/reply-review-comment.js +12 -5
- package/dist/review/actions/reply-review-comment.js.map +1 -1
- package/dist/review/actions/resolve-review-thread.d.ts +3 -0
- package/dist/review/actions/resolve-review-thread.js +20 -3
- package/dist/review/actions/resolve-review-thread.js.map +1 -1
- package/dist/review/actions/send-review-thread-to-agent.d.ts +17 -0
- package/dist/review/actions/send-review-thread-to-agent.d.ts.map +1 -0
- package/dist/review/actions/send-review-thread-to-agent.js +49 -0
- package/dist/review/actions/send-review-thread-to-agent.js.map +1 -0
- package/dist/review/identity.d.ts +6 -0
- package/dist/review/identity.d.ts.map +1 -0
- package/dist/review/identity.js +68 -0
- package/dist/review/identity.js.map +1 -0
- package/dist/review/index.d.ts +3 -1
- package/dist/review/index.d.ts.map +1 -1
- package/dist/review/index.js +2 -1
- package/dist/review/index.js.map +1 -1
- package/dist/review/store.d.ts +36 -0
- package/dist/review/store.d.ts.map +1 -1
- package/dist/review/store.js +223 -8
- package/dist/review/store.js.map +1 -1
- package/dist/review/types.d.ts +4 -0
- package/dist/review/types.d.ts.map +1 -1
- package/dist/review/types.js.map +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +4 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/action-routes.d.ts +45 -0
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +71 -5
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat/plugin-options.d.ts +16 -0
- package/dist/server/agent-chat/plugin-options.d.ts.map +1 -1
- package/dist/server/agent-chat/plugin-options.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +1 -0
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/index.d.ts +3 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +4 -0
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/docs/content/locales/ar-SA/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/ar-SA/template-plan.mdx +7 -0
- package/docs/content/locales/de-DE/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/de-DE/template-plan.mdx +7 -0
- package/docs/content/locales/es-ES/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/es-ES/template-plan.mdx +14 -0
- package/docs/content/locales/fr-FR/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/fr-FR/template-plan.mdx +7 -0
- package/docs/content/locales/hi-IN/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/hi-IN/template-plan.mdx +7 -0
- package/docs/content/locales/ja-JP/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/ja-JP/template-plan.mdx +7 -0
- package/docs/content/locales/ko-KR/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/ko-KR/template-plan.mdx +7 -0
- package/docs/content/locales/pt-BR/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/pt-BR/template-plan.mdx +14 -0
- package/docs/content/locales/zh-CN/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/zh-CN/template-plan.mdx +7 -0
- package/docs/content/locales/zh-TW/pr-visual-recap.mdx +48 -30
- package/docs/content/locales/zh-TW/template-plan.mdx +7 -0
- package/docs/content/pr-visual-recap.mdx +50 -32
- package/docs/content/template-plan.mdx +14 -0
- package/docs/content/toolkit-comments-review.mdx +16 -2
- package/package.json +4 -1
- package/corpus/templates/forms/server/routes/api/forms/og/[slug]/og.png.get.ts +0 -45
|
@@ -102,13 +102,13 @@ explícitamente en cualquier momento:
|
|
|
102
102
|
npx @agent-native/core@latest skills add visual-plan --with-github-action
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
Esto instala la habilidad `visual-plan` (que incluye la habilidad `visual-recap` que ejecuta la acción) y escribe `.github/workflows/pr-visual-recap.yml` en su repositorio. El flujo de trabajo llama a **subcomandos CLI publicados** a través de `npx @agent-native/
|
|
105
|
+
Esto instala la habilidad `visual-plan` (que incluye la habilidad `visual-recap` que ejecuta la acción) y escribe `.github/workflows/pr-visual-recap.yml` en su repositorio. El flujo de trabajo llama a **subcomandos CLI publicados** a través de `npx @agent-native/recap-cli@latest recap <subcommand>`, incluidos `gate`, `collect-diff`, `block-reference`, `scan`, `build-prompt`, `publish`, `shot`, `comment`, `check` y `usage`, por lo que no se copia nada en su repositorio como scripts de ayuda. `setup` y `doctor` son los ayudantes interactivos que ejecuta localmente; `gate` es el paso de seguridad que ejecuta el flujo de trabajo antes de cada resumen.
|
|
106
106
|
|
|
107
107
|
Luego ejecute el asistente de configuración guiada:
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
npx @agent-native/
|
|
111
|
-
npx @agent-native/
|
|
110
|
+
npx @agent-native/recap-cli@latest recap setup
|
|
111
|
+
npx @agent-native/recap-cli@latest recap doctor
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
`recap setup` actualiza el flujo de trabajo, usa `gh` para configurar GitHub Actions
|
|
@@ -118,7 +118,7 @@ conjunto. Los valores secretos se envían a `gh` a través de la entrada estánd
|
|
|
118
118
|
el archivo de flujo de trabajo generado y abra un PR para verlo ejecutar.
|
|
119
119
|
|
|
120
120
|
De forma predeterminada, el flujo de trabajo crea el mensaje del agente a partir del último paquete
|
|
121
|
-
Guía de `visual-recap` en `@agent-native/
|
|
121
|
+
Guía de `visual-recap` en `@agent-native/recap-cli@latest`, incluido cualquier hermano
|
|
122
122
|
archivos de referencia con los que se envía la habilidad. Si su repositorio personaliza intencionalmente y
|
|
123
123
|
fija su carpeta `visual-recap` comprometida, establece la variable del repositorio
|
|
124
124
|
`VISUAL_RECAP_SKILL_SOURCE=repo`.
|
|
@@ -135,8 +135,8 @@ De forma predeterminada, el flujo de trabajo se ejecuta en ejecutores `ubuntu-la
|
|
|
135
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
136
|
|
|
137
137
|
```bash
|
|
138
|
-
npx @agent-native/
|
|
139
|
-
npx @agent-native/
|
|
138
|
+
npx @agent-native/recap-cli@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
|
|
139
|
+
npx @agent-native/recap-cli@latest recap doctor
|
|
140
140
|
```
|
|
141
141
|
|
|
142
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.
|
|
@@ -160,12 +160,30 @@ Si la variable no está configurada, la acción utiliza `claude`.
|
|
|
160
160
|
|
|
161
161
|
Más allá del backend, dos variables del repositorio ajustan _cómo_ se ejecuta el agente:
|
|
162
162
|
|
|
163
|
-
- **`VISUAL_RECAP_MODEL`** fija el modelo pasado al CLI (`--model`)
|
|
163
|
+
- **`VISUAL_RECAP_MODEL`** fija el modelo pasado al CLI (`--model`) — por ejemplo, `gpt-5.6-luna` para Codex, una identificación de modelo Claude, o `deepseek-chat` para DeepSeek. Es obligatorio para `openai-compatible`. Para el backend **Claude**, dejarlo sin configurar ahora utiliza `claude-sonnet-5` de forma predeterminada; configure la variable explícitamente para usar un modelo Claude diferente, como el más económico `claude-haiku-4-5`. Para el backend **Codex**, dejarlo sin configurar utiliza el modelo predeterminado propio del CLI de Codex.
|
|
164
164
|
- **`VISUAL_RECAP_REASONING`** establece la profundidad del razonamiento: `none`, `minimal`, `low`, `medium`, `high` o `xhigh`. Se aplica al backend Codex; El razonamiento de Claude se basa en modelos, por lo que esta variable se ignora allí.
|
|
165
165
|
- **`VISUAL_RECAP_SKILL_SOURCE`** controla la actualización de los mensajes: `auto`/unset utiliza la guía de habilidades incluida más reciente, mientras que `repo` se fija a la carpeta de habilidades `visual-recap` local del repositorio comprometido.
|
|
166
166
|
|
|
167
167
|
Por ejemplo, para ejecutar el resumen en Codex con GPT-5.6 Sol en razonamiento alto, configure las variables del repositorio `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` y `VISUAL_RECAP_REASONING=high`.
|
|
168
168
|
|
|
169
|
+
## Costo
|
|
170
|
+
|
|
171
|
+
Cada ejecución de resumen es una sesión completa de agente de codificación que lee un diff real, no un resumen barato basado en plantillas, por lo que su costo depende de la elección del modelo y de la frecuencia con la que se ejecuta:
|
|
172
|
+
|
|
173
|
+
- **Una sesión completa por cada push al PR.** El disparador predeterminado se activa en `synchronize`, por lo que un PR al que se le hacen diez pushes ejecuta el agente diez veces.
|
|
174
|
+
- **Todo el PR cada vez**, no solo los commits desde la última ejecución — el costo escala con el tamaño total del PR, no con el tamaño incremental del diff.
|
|
175
|
+
- **Entrada de diff limitada a ~600KB.** Esto acota el peor caso por ejecución, pero los diffs grandes siguen costando considerablemente más que los pequeños.
|
|
176
|
+
- **Un reintento automático en caso de fallo**, que puede aproximadamente duplicar el costo de una ejecución que falla de forma transitoria.
|
|
177
|
+
|
|
178
|
+
Para reducir el costo:
|
|
179
|
+
|
|
180
|
+
- **Fije un modelo más económico.** Para Claude, configure `VISUAL_RECAP_MODEL=claude-haiku-4-5` para repositorios simples o pequeños — es el nivel más económico de Claude; `claude-sonnet-5` (el predeterminado) es el nivel equilibrado.
|
|
181
|
+
- **Cambie a Codex con un modelo más económico.** Configure `VISUAL_RECAP_AGENT=codex` con `VISUAL_RECAP_MODEL=gpt-5.6-luna` (el nivel más económico de GPT-5.6) o `gpt-5.6-terra` (nivel intermedio), y configure `VISUAL_RECAP_REASONING=low` para reducir aún más el gasto en tokens de razonamiento. La profundidad de razonamiento solo se aplica a Codex.
|
|
182
|
+
- **Apunte a un proveedor compatible con OpenAI más económico.** Configure `VISUAL_RECAP_AGENT=openai-compatible` con `VISUAL_RECAP_BASE_URL`/`VISUAL_RECAP_MODEL`/`VISUAL_RECAP_API_KEY` apuntando a DeepSeek, Kimi o cualquier otro endpoint compatible con OpenAI.
|
|
183
|
+
- **Resuma con menos frecuencia.** Edite el `on.pull_request.types` del flujo de trabajo instalado de `[opened, synchronize, reopened, ready_for_review, closed]` a `[opened, ready_for_review, closed]` para que solo genere resúmenes cuando un PR se abre y cuando se fusiona, en lugar de en cada push.
|
|
184
|
+
|
|
185
|
+
Cada ejecución registra lo que realmente gastó: el paso `recap usage` del flujo de trabajo adjunta el uso de tokens y costo al plan publicado, para que pueda ver el gasto real por ejecución en lugar de adivinar.
|
|
186
|
+
|
|
169
187
|
## Secretos y variables
|
|
170
188
|
|
|
171
189
|
Configúrelos en **Configuración → Secretos y variables → Actions** de su repositorio.
|
|
@@ -196,11 +214,11 @@ Aplicación de planes.
|
|
|
196
214
|
|
|
197
215
|
**Solo: un token personal todavía funciona.** Acuñalo con `npx @agent-native/core@latest connect`
|
|
198
216
|
contra tu aplicación de Planes. Para la aplicación alojada, esto también escribe un local
|
|
199
|
-
archivo de token de publicación que `npx @agent-native/
|
|
217
|
+
archivo de token de publicación que `npx @agent-native/recap-cli@latest recap setup` puede leer:
|
|
200
218
|
|
|
201
219
|
```bash
|
|
202
220
|
npx @agent-native/core@latest connect https://plan.agent-native.com --client codex
|
|
203
|
-
npx @agent-native/
|
|
221
|
+
npx @agent-native/recap-cli@latest recap setup
|
|
204
222
|
```
|
|
205
223
|
|
|
206
224
|
Si prefiere la configuración manual, pegue el token en el secreto GitHub. Utilice un
|
|
@@ -209,16 +227,16 @@ token real.
|
|
|
209
227
|
|
|
210
228
|
### Opcional (solo si cambia los valores predeterminados)
|
|
211
229
|
|
|
212
|
-
| Secreto/variable | Predeterminado
|
|
213
|
-
| ------------------------ |
|
|
214
|
-
| `OPENAI_API_KEY` | —
|
|
215
|
-
| `VISUAL_RECAP_AGENT` | `claude`
|
|
216
|
-
| `VISUAL_RECAP_MODEL` |
|
|
217
|
-
| `VISUAL_RECAP_REASONING` | valor predeterminado de cada modelo
|
|
218
|
-
| `RECAP_CLI_VERSION` | `latest`
|
|
219
|
-
| `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com`
|
|
230
|
+
| Secreto/variable | Predeterminado | Cuando lo necesites |
|
|
231
|
+
| ------------------------ | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
232
|
+
| `OPENAI_API_KEY` | — | Secreto. Configúrelo junto con `VISUAL_RECAP_AGENT=codex` para ejecutar el resumen con Codex. |
|
|
233
|
+
| `VISUAL_RECAP_AGENT` | `claude` | Variable. Selecciona el backend del agente de codificación (`claude` o `codex`). |
|
|
234
|
+
| `VISUAL_RECAP_MODEL` | `claude-sonnet-5` para Claude; obligatorio para el backend compatible | Variable. Identificación del modelo del proveedor para backends compatibles con OpenAI (obligatoria allí). Para Claude, sin configurar ahora usa `claude-sonnet-5` de forma predeterminada — configúrelo para anularlo, p. ej. `claude-haiku-4-5` para el nivel más económico. Para Codex, sin configurar utiliza el valor predeterminado propio del CLI de Codex. |
|
|
235
|
+
| `VISUAL_RECAP_REASONING` | valor predeterminado de cada modelo | Variable. Profundidad de razonamiento: `none`, `minimal`, `low`, `medium`, `high` o `xhigh`. Se aplica al backend Codex. |
|
|
236
|
+
| `RECAP_CLI_VERSION` | `latest` | Variable. Fija la versión `@agent-native/recap-cli` CLI que instala el flujo de trabajo, p. `1.5.0`. Ver [Version pinning](#version-pinning-copy-variant). |
|
|
237
|
+
| `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | Secreto. Solo cuando se aloja la aplicación Planes en un origen diferente. |
|
|
220
238
|
|
|
221
|
-
El flujo de trabajo detecta automáticamente cómo invocar su asistente CLI (fuente local dentro de este monorepo, el `@agent-native/
|
|
239
|
+
El flujo de trabajo detecta automáticamente cómo invocar su asistente CLI (fuente local dentro de este monorepo, el `@agent-native/recap-cli` publicado en otro lugar), por lo que no hay ninguna variable `RECAP_CLI` para configurar.
|
|
222
240
|
|
|
223
241
|
## Captura de pantalla en línea en el comentario
|
|
224
242
|
|
|
@@ -359,9 +377,9 @@ recapitular sin enviar el contenido del resumen a la base de datos del plan Agen
|
|
|
359
377
|
en su lugar, el mismo flujo de ayuda local en modo de archivos locales:
|
|
360
378
|
|
|
361
379
|
```bash
|
|
362
|
-
npx @agent-native/
|
|
363
|
-
npx @agent-native/
|
|
364
|
-
npx @agent-native/
|
|
380
|
+
npx @agent-native/recap-cli@latest recap collect-diff --base main --head HEAD --out recap.diff --stat recap.stat
|
|
381
|
+
npx @agent-native/recap-cli@latest recap scan --diff recap.diff
|
|
382
|
+
npx @agent-native/recap-cli@latest recap build-prompt --pr 123 --diff recap.diff --stat recap.stat --local-files --local-dir plans/pr-123-visual-recap
|
|
365
383
|
```
|
|
366
384
|
|
|
367
385
|
Entregue el `recap-prompt.md` generado a su agente codificador. En modo de archivos locales
|
|
@@ -391,7 +409,7 @@ El resumen es una ayuda de revisión que se suma al flujo normal de relaciones p
|
|
|
391
409
|
|
|
392
410
|
## Fijación de versión (variante de copia) {#version-pinning-copy-variant}
|
|
393
411
|
|
|
394
|
-
De forma predeterminada, el flujo de trabajo de variante de copia instala `@agent-native/
|
|
412
|
+
De forma predeterminada, el flujo de trabajo de variante de copia instala `@agent-native/recap-cli@latest` en tiempo de ejecución, de modo que cada ejecución de resumen selecciona automáticamente el CLI más reciente. Si su CI necesita herramientas reproducibles, configure la variable de repositorio **`RECAP_CLI_VERSION`** para fijar la versión instalada:
|
|
395
413
|
|
|
396
414
|
1. Vaya a **Configuración → Secretos y variables → Actions → Variables** de su repositorio.
|
|
397
415
|
2. Cree una variable llamada `RECAP_CLI_VERSION` con un valor como `1.5.0`.
|
|
@@ -402,7 +420,7 @@ Para la variante de llamada reutilizable, utilice la entrada `cli-version` (cons
|
|
|
402
420
|
|
|
403
421
|
## Lista permitida de escaneo secreto
|
|
404
422
|
|
|
405
|
-
Antes de publicar un resumen, el flujo de trabajo ejecuta `npx @agent-native/
|
|
423
|
+
Antes de publicar un resumen, el flujo de trabajo ejecuta `npx @agent-native/recap-cli@latest recap scan` para detectar posibles secretos en la diferencia. Cualquier PR cuya diferencia coincida con un patrón secreto conocido se bloquea con un comentario explicativo: el resumen no se publica y no se envía ningún contenido de diferencia al agente codificador.
|
|
406
424
|
|
|
407
425
|
En casos excepcionales, un repositorio tiene dispositivos de prueba intencionales o cadenas no secretas que superficialmente se parecen a patrones secretos (por ejemplo, una clave de dispositivo en un archivo de prueba). Para suprimir un falso positivo, cree `.github/recap-scan-allowlist` en la raíz de su repositorio.
|
|
408
426
|
|
|
@@ -436,7 +454,7 @@ La lista de permitidos solo la consulta la puerta de escaneo secreto. No afecta
|
|
|
436
454
|
|
|
437
455
|
### ¿Por qué utilizar la variante reutilizable?
|
|
438
456
|
|
|
439
|
-
El instalador predeterminado copia el flujo de trabajo completo de ~360 líneas YAML en su repositorio (la opción **copiar**). Esta es la opción correcta para repositorios aislados o repositorios que necesitan auditar cada línea de lo que se ejecuta. La desventaja es que las correcciones de errores y las mejoras nunca llegan a usted: debe volver a ejecutar `npx @agent-native/
|
|
457
|
+
El instalador predeterminado copia el flujo de trabajo completo de ~360 líneas YAML en su repositorio (la opción **copiar**). Esta es la opción correcta para repositorios aislados o repositorios que necesitan auditar cada línea de lo que se ejecuta. La desventaja es que las correcciones de errores y las mejoras nunca llegan a usted: debe volver a ejecutar `npx @agent-native/recap-cli@latest recap setup` manualmente después de cada versión.
|
|
440
458
|
|
|
441
459
|
En su lugar, la opción **reutilizable** escribe una persona que llama delgada de ~20 líneas. Delega a `BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml` vía `uses:`. Cada persona que llama selecciona automáticamente la lógica más reciente cuando se ejecuta el flujo de trabajo, sin necesidad de actualización local.
|
|
442
460
|
|
|
@@ -449,7 +467,7 @@ En su lugar, la opción **reutilizable** escribe una persona que llama delgada d
|
|
|
449
467
|
|
|
450
468
|
### Fragmento de la persona que llama
|
|
451
469
|
|
|
452
|
-
Esto es lo que escribe `npx @agent-native/
|
|
470
|
+
Esto es lo que escribe `npx @agent-native/recap-cli@latest recap setup --reusable` (o puedes pegarlo manualmente):
|
|
453
471
|
|
|
454
472
|
```yaml
|
|
455
473
|
name: PR Visual Recap
|
|
@@ -484,7 +502,7 @@ jobs:
|
|
|
484
502
|
skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
|
|
485
503
|
runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
|
|
486
504
|
gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
|
|
487
|
-
# cli-version: "latest" # pin to a specific @agent-native/
|
|
505
|
+
# cli-version: "latest" # pin to a specific @agent-native/recap-cli version
|
|
488
506
|
```
|
|
489
507
|
|
|
490
508
|
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.
|
|
@@ -493,15 +511,15 @@ Se aplican los mismos secretos y variables descritos en [Secrets and variables](
|
|
|
493
511
|
|
|
494
512
|
```bash
|
|
495
513
|
# Escriba la persona que llama en lugar de la copia completa:
|
|
496
|
-
npx @agent-native/
|
|
514
|
+
npx @agent-native/recap-cli@latest recap setup --reusable
|
|
497
515
|
|
|
498
516
|
# O con una referencia fijada para mayor reproducibilidad:
|
|
499
|
-
npx @agent-native/
|
|
517
|
+
npx @agent-native/recap-cli@latest recap setup --reusable --ref v1.2.3
|
|
500
518
|
```
|
|
501
519
|
|
|
502
520
|
Ambas variantes escriben el flujo de trabajo en `.github/workflows/pr-visual-recap.yml`. Si ya existe un flujo de trabajo existente y es diferente, el comando lo rechaza y le indica que pase `--force` para sobrescribirlo.
|
|
503
521
|
|
|
504
|
-
Después de escribir, ejecute `npx @agent-native/
|
|
522
|
+
Después de escribir, ejecute `npx @agent-native/recap-cli@latest recap doctor` como de costumbre para confirmar que los secretos estén configurados.
|
|
505
523
|
|
|
506
524
|
### Fijar versión
|
|
507
525
|
|
|
@@ -511,7 +529,7 @@ De forma predeterminada, la persona que llama hace referencia a `@main`, que sie
|
|
|
511
529
|
uses: BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml@v1.2.3
|
|
512
530
|
```
|
|
513
531
|
|
|
514
|
-
La entrada `cli-version` controla qué versión de `@agent-native/
|
|
532
|
+
La entrada `cli-version` controla qué versión de `@agent-native/recap-cli` CLI se ejecuta dentro del flujo de trabajo; déjela en `"latest"` para realizar un seguimiento de la versión más reciente o fíjela a una cadena de versión (por ejemplo, `"1.5.0"`) para una reproducibilidad total.
|
|
515
533
|
|
|
516
534
|
### contexto del evento workflow_call
|
|
517
535
|
|
|
@@ -212,6 +212,20 @@ Si el primer pase todavía tiene decisiones responsables, el agente puede coloca
|
|
|
212
212
|
Formulario **Preguntas abiertas** en la parte inferior del mismo plan. Responderlo y enviar
|
|
213
213
|
El agente inicia un turno de revisión contra el plan existente.
|
|
214
214
|
|
|
215
|
+
## Costo y elección de modelo
|
|
216
|
+
|
|
217
|
+
Generar un plan o un resumen ejecuta una sesión completa de agente frente al LLM
|
|
218
|
+
de su agente de codificación, no un simple relleno de plantilla ligero, por lo que
|
|
219
|
+
el costo escala con el tamaño del diff o del plan y con el modelo que elija.
|
|
220
|
+
|
|
221
|
+
- El modelo de chat predeterminado de la propia aplicación es Sonnet 5; cámbielo
|
|
222
|
+
en cualquier momento en **Configuración**. Haiku es la opción más económica de
|
|
223
|
+
Claude, y Luna es la opción más económica dentro de la familia GPT-5.6.
|
|
224
|
+
- Los resúmenes de PR automatizados de la GitHub Action se ejecutan por separado
|
|
225
|
+
de la aplicación interactiva y tienen sus propios controles de modelo y costo;
|
|
226
|
+
consulte [PR Visual Recap](/docs/pr-visual-recap) para `VISUAL_RECAP_MODEL`,
|
|
227
|
+
`VISUAL_RECAP_AGENT` y `VISUAL_RECAP_REASONING`.
|
|
228
|
+
|
|
215
229
|
## Qué puedes hacer con él
|
|
216
230
|
|
|
217
231
|
- **Revisión antes de la implementación.** React a diagramas, estructuras alámbricas, pestañas de opciones,
|
|
@@ -102,13 +102,13 @@ explicitement à tout moment :
|
|
|
102
102
|
npx @agent-native/core@latest skills add visual-plan --with-github-action
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
Cela installe la compétence `visual-plan` (qui inclut la compétence `visual-recap` exécutée par l'action) et écrit `.github/workflows/pr-visual-recap.yml` dans votre dépôt. Le flux de travail appelle **les sous-commandes CLI publiées** via `npx @agent-native/
|
|
105
|
+
Cela installe la compétence `visual-plan` (qui inclut la compétence `visual-recap` exécutée par l'action) et écrit `.github/workflows/pr-visual-recap.yml` dans votre dépôt. Le flux de travail appelle **les sous-commandes CLI publiées** via `npx @agent-native/recap-cli@latest recap <subcommand>` — notamment `gate`, `collect-diff`, `block-reference`, `scan`, `build-prompt`, `publish`, `shot`, `comment`, `check` et `usage` — afin que rien ne soit copié dans votre dépôt en tant que scripts d'assistance. `setup` et `doctor` sont les assistants interactifs que vous exécutez localement ; `gate` est l'étape de sécurité que le flux de travail exécute avant chaque récapitulatif.
|
|
106
106
|
|
|
107
107
|
Ensuite, exécutez l'assistant de configuration guidée :
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
npx @agent-native/
|
|
111
|
-
npx @agent-native/
|
|
110
|
+
npx @agent-native/recap-cli@latest recap setup
|
|
111
|
+
npx @agent-native/recap-cli@latest recap doctor
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
`recap setup` actualise le flux de travail et utilise `gh` pour définir GitHub Actions
|
|
@@ -118,7 +118,7 @@ défini. Les valeurs secrètes sont envoyées à `gh` via stdin, et non via les
|
|
|
118
118
|
le fichier de workflow généré et ouvrez un PR pour le voir s'exécuter.
|
|
119
119
|
|
|
120
120
|
Par défaut, le workflow crée son invite d'agent à partir de la dernière version groupée
|
|
121
|
-
Conseils `visual-recap` dans `@agent-native/
|
|
121
|
+
Conseils `visual-recap` dans `@agent-native/recap-cli@latest`, y compris les frères et sœurs
|
|
122
122
|
fichiers de référence avec lesquels la compétence est livrée. Si votre dépôt personnalise intentionnellement et
|
|
123
123
|
épingle son dossier `visual-recap` validé, définit la variable du référentiel
|
|
124
124
|
`VISUAL_RECAP_SKILL_SOURCE=repo`.
|
|
@@ -135,8 +135,8 @@ Par défaut, le workflow s'exécute sur des runners `ubuntu-latest` hébergés p
|
|
|
135
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
136
|
|
|
137
137
|
```bash
|
|
138
|
-
npx @agent-native/
|
|
139
|
-
npx @agent-native/
|
|
138
|
+
npx @agent-native/recap-cli@latest recap setup --runs-on '["self-hosted","linux","x64","visual-recap"]'
|
|
139
|
+
npx @agent-native/recap-cli@latest recap doctor
|
|
140
140
|
```
|
|
141
141
|
|
|
142
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.
|
|
@@ -160,12 +160,30 @@ Si la variable n'est pas définie, l'action utilise `claude`.
|
|
|
160
160
|
|
|
161
161
|
Au-delà du backend, deux variables du référentiel ajustent _comment_ l'agent s'exécute :
|
|
162
162
|
|
|
163
|
-
- **`VISUAL_RECAP_MODEL`** épingle le modèle transmis au CLI (`--model`) — par exemple `gpt-5.6-
|
|
163
|
+
- **`VISUAL_RECAP_MODEL`** épingle le modèle transmis au CLI (`--model`) — par exemple `gpt-5.6-luna` pour Codex, un identifiant de modèle Claude, ou `deepseek-chat` pour DeepSeek. Elle est requise pour `openai-compatible`. Pour le backend **Claude**, la laisser non définie utilise désormais par défaut `claude-sonnet-5` ; définissez la variable explicitement pour utiliser un autre modèle Claude, comme le moins cher `claude-haiku-4-5`. Pour le backend **Codex**, la laisser non définie utilise le modèle par défaut du CLI Codex lui-même.
|
|
164
164
|
- **`VISUAL_RECAP_REASONING`** définit la profondeur du raisonnement : `none`, `minimal`, `low`, `medium`, `high` ou `xhigh`. Cela s'applique au backend Codex ; Le raisonnement de Claude est basé sur un modèle, cette variable y est donc ignorée.
|
|
165
165
|
- **`VISUAL_RECAP_SKILL_SOURCE`** contrôle la fraîcheur des invites : `auto`/unset utilise les dernières instructions de compétences groupées, tandis que `repo` s'épingle dans le dossier de compétences `visual-recap` local du dépôt validé.
|
|
166
166
|
|
|
167
167
|
Par exemple, pour exécuter le récapitulatif sur Codex avec GPT-5.6 Sol avec un raisonnement élevé, définissez les variables du référentiel `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` et `VISUAL_RECAP_REASONING=high`.
|
|
168
168
|
|
|
169
|
+
## Coût
|
|
170
|
+
|
|
171
|
+
Chaque exécution du récapitulatif est une session complète d'agent de codage agentique qui lit un véritable diff, et non un résumé calqué sur un modèle bon marché ; son coût dépend donc du modèle choisi et de la fréquence d'exécution :
|
|
172
|
+
|
|
173
|
+
- **Une session complète par poussée de PR.** Le déclencheur par défaut se déclenche sur `synchronize`, donc une PR poussée dix fois exécute l'agent dix fois.
|
|
174
|
+
- **La PR entière à chaque fois**, pas seulement les commits depuis la dernière exécution — le coût augmente avec la taille totale de la PR, pas avec la taille incrémentale du diff.
|
|
175
|
+
- **Entrée de diff plafonnée à environ 600 Ko.** Cela borne le pire cas par exécution, mais les diffs volumineux coûtent tout de même sensiblement plus cher que les petits.
|
|
176
|
+
- **Une nouvelle tentative automatique en cas d'échec**, ce qui peut à peu près doubler le coût d'une exécution qui échoue de manière transitoire.
|
|
177
|
+
|
|
178
|
+
Pour réduire le coût :
|
|
179
|
+
|
|
180
|
+
- **Épinglez un modèle moins cher.** Pour Claude, définissez `VISUAL_RECAP_MODEL=claude-haiku-4-5` pour les dépôts simples ou petits — c'est le niveau Claude le moins cher ; `claude-sonnet-5` (la valeur par défaut) est le niveau équilibré.
|
|
181
|
+
- **Passez à Codex avec un modèle moins cher.** Définissez `VISUAL_RECAP_AGENT=codex` avec `VISUAL_RECAP_MODEL=gpt-5.6-luna` (le niveau GPT-5.6 le moins cher) ou `gpt-5.6-terra` (niveau intermédiaire), et définissez `VISUAL_RECAP_REASONING=low` pour réduire encore la dépense en jetons de raisonnement. La profondeur de raisonnement ne s'applique qu'à Codex.
|
|
182
|
+
- **Pointez vers un fournisseur compatible OpenAI moins cher.** Définissez `VISUAL_RECAP_AGENT=openai-compatible` avec `VISUAL_RECAP_BASE_URL`/`VISUAL_RECAP_MODEL`/`VISUAL_RECAP_API_KEY` ciblant DeepSeek, Kimi ou tout autre point de terminaison compatible OpenAI.
|
|
183
|
+
- **Récapitulez moins souvent.** Modifiez le `on.pull_request.types` du flux de travail installé de `[opened, synchronize, reopened, ready_for_review, closed]` à `[opened, ready_for_review, closed]` afin qu'il ne récapitule que lorsqu'une PR s'ouvre et lorsqu'elle est fusionnée, au lieu de le faire à chaque poussée.
|
|
184
|
+
|
|
185
|
+
Chaque exécution enregistre ce qu'elle a réellement dépensé : l'étape `recap usage` du flux de travail associe l'utilisation de jetons et de coût au plan publié, afin que vous puissiez consulter la dépense réelle par exécution plutôt que de deviner.
|
|
186
|
+
|
|
169
187
|
## Secrets et variables
|
|
170
188
|
|
|
171
189
|
Définissez-les dans **Paramètres → Secrets et variables → Actions** de votre référentiel.
|
|
@@ -196,11 +214,11 @@ Application Plans.
|
|
|
196
214
|
|
|
197
215
|
**Solo : un jeton personnel fonctionne toujours.** Fabriquez-le avec `npx @agent-native/core@latest connect`
|
|
198
216
|
contre votre application Plans. Pour l'application hébergée, ceci écrit également un local
|
|
199
|
-
fichier de jeton de publication que `npx @agent-native/
|
|
217
|
+
fichier de jeton de publication que `npx @agent-native/recap-cli@latest recap setup` peut lire :
|
|
200
218
|
|
|
201
219
|
```bash
|
|
202
220
|
npx @agent-native/core@latest connect https://plan.agent-native.com --client codex
|
|
203
|
-
npx @agent-native/
|
|
221
|
+
npx @agent-native/recap-cli@latest recap setup
|
|
204
222
|
```
|
|
205
223
|
|
|
206
224
|
Si vous préférez une configuration manuelle, collez le jeton dans le secret GitHub. Utilisez un
|
|
@@ -209,16 +227,16 @@ vrai jeton.
|
|
|
209
227
|
|
|
210
228
|
### Facultatif (uniquement si vous modifiez les valeurs par défaut)
|
|
211
229
|
|
|
212
|
-
| Secret / variable | Par défaut
|
|
213
|
-
| ------------------------ |
|
|
214
|
-
| `OPENAI_API_KEY` | —
|
|
215
|
-
| `VISUAL_RECAP_AGENT` | `claude`
|
|
216
|
-
| `VISUAL_RECAP_MODEL` |
|
|
217
|
-
| `VISUAL_RECAP_REASONING` | valeur par défaut de chaque modèle
|
|
218
|
-
| `RECAP_CLI_VERSION` | `latest`
|
|
219
|
-
| `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com`
|
|
230
|
+
| Secret / variable | Par défaut | Quand vous en avez besoin |
|
|
231
|
+
| ------------------------ | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
232
|
+
| `OPENAI_API_KEY` | — | Secret. Configurez-le avec `VISUAL_RECAP_AGENT=codex` pour exécuter le récapitulatif avec Codex à la place. |
|
|
233
|
+
| `VISUAL_RECAP_AGENT` | `claude` | Variable. Sélectionne le backend de l'agent de codage (`claude` ou `codex`). |
|
|
234
|
+
| `VISUAL_RECAP_MODEL` | `claude-sonnet-5` pour Claude ; requis pour le backend compatible | Variable. Identifiant du modèle du fournisseur pour les backends compatibles OpenAI (requis dans ce cas). Pour Claude, non défini utilise désormais par défaut `claude-sonnet-5` — définissez-le pour le remplacer, par ex. `claude-haiku-4-5` pour le niveau le moins cher. Pour Codex, non défini utilise la valeur par défaut du CLI Codex lui-même. |
|
|
235
|
+
| `VISUAL_RECAP_REASONING` | valeur par défaut de chaque modèle | Variable. Profondeur de raisonnement : `none`, `minimal`, `low`, `medium`, `high` ou `xhigh`. S'applique au backend Codex. |
|
|
236
|
+
| `RECAP_CLI_VERSION` | `latest` | Variable. Épingle la version `@agent-native/recap-cli` CLI installée par le flux de travail, par ex. `1.5.0`. Voir [Version pinning](#version-pinning-copy-variant). |
|
|
237
|
+
| `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | Secret. Uniquement lors de l'auto-hébergement de l'application Plans à une origine différente. |
|
|
220
238
|
|
|
221
|
-
Le workflow détecte automatiquement comment appeler son assistant CLI (source locale dans ce monorepo, le `@agent-native/
|
|
239
|
+
Le workflow détecte automatiquement comment appeler son assistant CLI (source locale dans ce monorepo, le `@agent-native/recap-cli` publié ailleurs), il n'y a donc aucune variable `RECAP_CLI` à définir.
|
|
222
240
|
|
|
223
241
|
## Capture d'écran en ligne dans le commentaire
|
|
224
242
|
|
|
@@ -360,9 +378,9 @@ récapitulatif sans envoyer le contenu du récapitulatif à la base de données
|
|
|
360
378
|
même flux d'assistance localement en mode fichiers locaux :
|
|
361
379
|
|
|
362
380
|
```bash
|
|
363
|
-
npx @agent-native/
|
|
364
|
-
npx @agent-native/
|
|
365
|
-
npx @agent-native/
|
|
381
|
+
npx @agent-native/recap-cli@latest recap collect-diff --base main --head HEAD --out recap.diff --stat recap.stat
|
|
382
|
+
npx @agent-native/recap-cli@latest recap scan --diff recap.diff
|
|
383
|
+
npx @agent-native/recap-cli@latest recap build-prompt --pr 123 --diff recap.diff --stat recap.stat --local-files --local-dir plans/pr-123-visual-recap
|
|
366
384
|
```
|
|
367
385
|
|
|
368
386
|
Donnez le `recap-prompt.md` généré à votre agent de codage. En mode fichiers locaux
|
|
@@ -392,7 +410,7 @@ Le récapitulatif est une aide à la révision superposée au flux normal de rel
|
|
|
392
410
|
|
|
393
411
|
## Épinglage de version (variante de copie) {#version-pinning-copy-variant}
|
|
394
412
|
|
|
395
|
-
Par défaut, le workflow de copie de variante installe `@agent-native/
|
|
413
|
+
Par défaut, le workflow de copie de variante installe `@agent-native/recap-cli@latest` au moment de l'exécution afin que chaque exécution de récapitulation récupère automatiquement le dernier CLI. Si votre CI a besoin d'outils reproductibles, définissez la variable du référentiel **`RECAP_CLI_VERSION`** pour épingler la version installée :
|
|
396
414
|
|
|
397
415
|
1. Accédez aux **Paramètres → Secrets et variables → Actions → Variables** de votre dépôt.
|
|
398
416
|
2. Créez une variable nommée `RECAP_CLI_VERSION` avec une valeur telle que `1.5.0`.
|
|
@@ -403,7 +421,7 @@ Pour la variante d'appelant réutilisable, utilisez plutôt l'entrée `cli-versi
|
|
|
403
421
|
|
|
404
422
|
## Liste autorisée d'analyse secrète
|
|
405
423
|
|
|
406
|
-
Avant de publier un récapitulatif, le workflow exécute `npx @agent-native/
|
|
424
|
+
Avant de publier un récapitulatif, le workflow exécute `npx @agent-native/recap-cli@latest recap scan` pour détecter les secrets probables dans le diff. Tout PR dont la différence correspond à un modèle secret connu est bloqué avec un commentaire explicatif : le récapitulatif n'est pas publié et aucun contenu de différence n'est envoyé à l'agent de codage.
|
|
407
425
|
|
|
408
426
|
Dans de rares cas, un dépôt contient des appareils de test intentionnels ou des chaînes non secrètes qui ressemblent superficiellement à des modèles secrets (par exemple, une clé d'appareil dans un fichier de test). Pour supprimer un faux positif, créez `.github/recap-scan-allowlist` à la racine de votre référentiel.
|
|
409
427
|
|
|
@@ -437,7 +455,7 @@ La liste blanche n'est consultée que par la porte secrète-scan. Cela n'affecte
|
|
|
437
455
|
|
|
438
456
|
### Pourquoi utiliser la variante réutilisable ?
|
|
439
457
|
|
|
440
|
-
Le programme d'installation par défaut copie le flux de travail complet d'environ 360 lignes YAML dans votre dépôt (l'option **copier**). C'est le bon choix pour les dépôts à air isolé ou les dépôts qui doivent auditer chaque ligne de ce qui s'exécute. L'inconvénient est que les corrections de bogues et les améliorations ne vous parviennent jamais : vous devez réexécuter `npx @agent-native/
|
|
458
|
+
Le programme d'installation par défaut copie le flux de travail complet d'environ 360 lignes YAML dans votre dépôt (l'option **copier**). C'est le bon choix pour les dépôts à air isolé ou les dépôts qui doivent auditer chaque ligne de ce qui s'exécute. L'inconvénient est que les corrections de bogues et les améliorations ne vous parviennent jamais : vous devez réexécuter `npx @agent-native/recap-cli@latest recap setup` manuellement après chaque version.
|
|
441
459
|
|
|
442
460
|
L'option **réutilisable** écrit à la place un appelant mince d'environ 20 lignes. Il délègue à `BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml` via `uses:`. Chaque appelant récupère automatiquement la dernière logique lors de l'exécution du workflow, sans qu'aucune mise à jour locale ne soit nécessaire.
|
|
443
461
|
|
|
@@ -450,7 +468,7 @@ L'option **réutilisable** écrit à la place un appelant mince d'environ 20 lig
|
|
|
450
468
|
|
|
451
469
|
### Extrait de l'appelant
|
|
452
470
|
|
|
453
|
-
Voici ce qu'écrit `npx @agent-native/
|
|
471
|
+
Voici ce qu'écrit `npx @agent-native/recap-cli@latest recap setup --reusable` (ou vous pouvez le coller manuellement) :
|
|
454
472
|
|
|
455
473
|
```yaml
|
|
456
474
|
name: PR Visual Recap
|
|
@@ -485,7 +503,7 @@ jobs:
|
|
|
485
503
|
skill-source: ${{ vars.VISUAL_RECAP_SKILL_SOURCE || 'auto' }}
|
|
486
504
|
runs-on: ${{ vars.VISUAL_RECAP_RUNS_ON || '"ubuntu-latest"' }}
|
|
487
505
|
gate-runs-on: ${{ vars.VISUAL_RECAP_GATE_RUNS_ON || 'ubuntu-latest' }}
|
|
488
|
-
# cli-version: "latest" # pin to a specific @agent-native/
|
|
506
|
+
# cli-version: "latest" # pin to a specific @agent-native/recap-cli version
|
|
489
507
|
```
|
|
490
508
|
|
|
491
509
|
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.
|
|
@@ -494,15 +512,15 @@ Les mêmes secrets et variables décrits dans [Secrets and variables](#secrets-a
|
|
|
494
512
|
|
|
495
513
|
```bash
|
|
496
514
|
# Écrivez l'appelant léger au lieu de la copie complète :
|
|
497
|
-
npx @agent-native/
|
|
515
|
+
npx @agent-native/recap-cli@latest recap setup --reusable
|
|
498
516
|
|
|
499
517
|
# Ou avec une référence épinglée pour plus de reproductibilité :
|
|
500
|
-
npx @agent-native/
|
|
518
|
+
npx @agent-native/recap-cli@latest recap setup --reusable --ref v1.2.3
|
|
501
519
|
```
|
|
502
520
|
|
|
503
521
|
Les deux variantes écrivent le flux de travail dans `.github/workflows/pr-visual-recap.yml`. Si un workflow existant existe déjà et diffère, la commande refuse et vous demande de passer `--force` pour l'écraser.
|
|
504
522
|
|
|
505
|
-
Après l'écriture, exécutez `npx @agent-native/
|
|
523
|
+
Après l'écriture, exécutez `npx @agent-native/recap-cli@latest recap doctor` comme d'habitude pour confirmer que les secrets sont configurés.
|
|
506
524
|
|
|
507
525
|
### Épinglage de version
|
|
508
526
|
|
|
@@ -512,7 +530,7 @@ Par défaut, l'appelant fait référence à `@main`, qui utilise toujours la der
|
|
|
512
530
|
uses: BuilderIO/agent-native/.github/workflows/pr-visual-recap-reusable.yml@v1.2.3
|
|
513
531
|
```
|
|
514
532
|
|
|
515
|
-
L'entrée `cli-version` contrôle quelle version de `@agent-native/
|
|
533
|
+
L'entrée `cli-version` contrôle quelle version de `@agent-native/recap-cli` CLI s'exécute dans le flux de travail : laissez-la sur `"latest"` pour suivre la version la plus récente, ou épinglez-la à une chaîne de version (par exemple, `"1.5.0"`) pour une reproductibilité totale.
|
|
516
534
|
|
|
517
535
|
### Contexte de l'événement workflow_call
|
|
518
536
|
|
|
@@ -212,6 +212,13 @@ Si le premier passage comporte encore des décisions responsables, l'agent peut
|
|
|
212
212
|
**Formulaire de questions ouvertes** au bas du même plan. Y répondre et envoyer
|
|
213
213
|
l'agent démarre un tour de révision par rapport au plan existant.
|
|
214
214
|
|
|
215
|
+
## Coût et choix du modèle
|
|
216
|
+
|
|
217
|
+
Générer un plan ou un récapitulatif exécute une session agentique complète contre le LLM de votre agent de codage, et non un simple remplissage de modèle léger ; le coût dépend donc de la taille du diff ou du plan et du modèle choisi.
|
|
218
|
+
|
|
219
|
+
- Le modèle de chat par défaut de l'application est Sonnet 5 ; changez-le à tout moment dans les **Paramètres**. Haiku est l'option Claude moins chère, et Luna est l'option moins chère de la famille GPT-5.6.
|
|
220
|
+
- Les récapitulatifs de PR automatisés depuis l'action GitHub s'exécutent séparément de l'application interactive et ont leurs propres réglages de modèle et de coût — voir [PR Visual Recap](/docs/pr-visual-recap) pour `VISUAL_RECAP_MODEL`, `VISUAL_RECAP_AGENT` et `VISUAL_RECAP_REASONING`.
|
|
221
|
+
|
|
215
222
|
## Ce que vous pouvez en faire
|
|
216
223
|
|
|
217
224
|
- **Révision avant mise en œuvre.** React vers les diagrammes, les wireframes, les onglets d'options,
|