@openhands/agent-canvas 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -1
- package/README.windows.md +2 -2
- package/build/assets/{acp-providers-BKvmTf82.js → acp-providers-CX3Lh9gj.js} +1 -1
- package/build/assets/active-backend-context-CrHTlgvN.js +2 -0
- package/build/assets/{agent-context-settings-D3PjSTU1.js → agent-context-settings-DSZlXrLj.js} +1 -1
- package/build/assets/{agent-profiles-settings-D4cY5U2T.js → agent-profiles-settings-Dzgb7G9z.js} +1 -1
- package/build/assets/agent-server-conversation-service.api-tnqNjbpE.js +86 -0
- package/build/assets/agent-settings-DLtsqaOs.js +2 -0
- package/build/assets/agent-settings-fFvR-XC2.js +1 -0
- package/build/assets/alert-banner-HP6mX-Vr.js +1 -0
- package/build/assets/{api-error-message-BJyfWp6p.js → api-error-message-B-XdSk3b.js} +1 -1
- package/build/assets/api-key-entry-screen-qTzrmJcr.js +1 -0
- package/build/assets/{app-settings-CbHqzQus.js → app-settings-dbnneVaV.js} +1 -1
- package/build/assets/automation-detail-BmwlCUAB.js +3 -0
- package/build/assets/{automation-export-BRopEHMu.js → automation-export-D3a3of4G.js} +1 -1
- package/build/assets/{automation-git-sync-CzyS4cn1.js → automation-git-sync-CprN5DcU.js} +1 -1
- package/build/assets/automation-setup-route-C40kXjMY.js +1 -0
- package/build/assets/{automation-templates-C_0FZgLG.js → automation-templates-BRppNh99.js} +1 -1
- package/build/assets/automations-list-DuNcRawl.js +1 -0
- package/build/assets/{back-nav-button-Dm9tIjVf.js → back-nav-button-Cjl_hoxq.js} +1 -1
- package/build/assets/backend-form-modal-lhGwzXFI.js +1 -0
- package/build/assets/{backend-synced-settings-badge-3fOwg6Bd.js → backend-synced-settings-badge-DPkz30BE.js} +1 -1
- package/build/assets/{badge-D4SqUCsR.js → badge-BU3S0VtE.js} +1 -1
- package/build/assets/{base-modal-C7_BDl_U.js → base-modal-D_L0oEbG.js} +1 -1
- package/build/assets/{bot-C-0Wu7vQ.js → bot-dMYHVfYM.js} +1 -1
- package/build/assets/{brand-button-Dxv6PDeN.js → brand-button-BAfk4wGP.js} +1 -1
- package/build/assets/browser-DSAo0tz1.js +46 -0
- package/build/assets/{browser-tab-BAl4ckJE.js → browser-tab-C9vy56R5.js} +1 -1
- package/build/assets/canvas-extension-page-dx1gFrfW.js +1 -0
- package/build/assets/canvas-extensions-8A-XhpgP.js +1 -0
- package/build/assets/canvas-extensions-runtime-2_x5Ezmi.js +1 -0
- package/build/assets/{chat-send-button-DWwR2cgI.js → chat-send-button-MUQqCZCS.js} +1 -1
- package/build/assets/check-CS0vmpQQ.js +1 -0
- package/build/assets/chevron-down-e1QBpjVy.js +1 -0
- package/build/assets/chevron-right-ZG4R5G4Q.js +1 -0
- package/build/assets/circle-check-DzWLNsbE.js +1 -0
- package/build/assets/{circle-plus-check-toggle-CBh_qomE.js → circle-plus-check-toggle-BO_kFZt3.js} +1 -1
- package/build/assets/{cloud-funnel-analytics-287iIERo.js → cloud-funnel-analytics-CztBCCPp.js} +1 -1
- package/build/assets/{cog-C4rrw-ZK.js → cog-D-MPQW6G.js} +1 -1
- package/build/assets/command-menu--UIlGL72.js +1 -0
- package/build/assets/{commits-tab-DZtJgaDM.js → commits-tab-AnZwLvh-.js} +1 -1
- package/build/assets/{condenser-settings-BcNmYR4s.js → condenser-settings-DmEOje-7.js} +1 -1
- package/build/assets/{confirmation-modal-Bk4JRcCM.js → confirmation-modal-Dv1ktp8K.js} +1 -1
- package/build/assets/{context-menu-list-item-lVYETtY5.js → context-menu-list-item-I86vKcmM.js} +1 -1
- package/build/assets/conversation-BbGrAO4Z.js +93 -0
- package/build/assets/conversation-mYT6NAoj.js +1 -0
- package/build/assets/conversation-panel-mYT6NAoj.js +1 -0
- package/build/assets/conversation-state-store-B0ImPLHO.js +1 -0
- package/build/assets/{conversation-tab-empty-state-HJtkmHZj.js → conversation-tab-empty-state-FIbh_lc8.js} +1 -1
- package/build/assets/{copy-to-clipboard-button-Cjkswvnj.js → copy-to-clipboard-button-Ca8iSkkA.js} +1 -1
- package/build/assets/{device-verify-EZhHhBT7.js → device-verify-Bhn2e_Ye.js} +1 -1
- package/build/assets/{dropdown-classes-DJe-E6MC.js → dropdown-classes-Bc1djN0-.js} +1 -1
- package/build/assets/{edit-automation-modal-D-urtv8n.js → edit-automation-modal-DadGbJ2u.js} +1 -1
- package/build/assets/empty-state-BoGVDecT.js +1 -0
- package/build/assets/{entry.client-C7Bi2tkU.js → entry.client-CqyPPjOq.js} +2 -2
- package/build/assets/{enum-filter-dropdown-DliX_Lo0.js → enum-filter-dropdown-Bgca129f.js} +1 -1
- package/build/assets/{environment-switch-overlay-CEKrFiMw.js → environment-switch-overlay-BmBRT7gv.js} +1 -1
- package/build/assets/{error-state-BALXiBNy.js → error-state-Body8Ngd.js} +1 -1
- package/build/assets/extensions-hub-CcDqq_vR.js +1 -0
- package/build/assets/extensions-navigation-Cr4yzYk4.js +1 -0
- package/build/assets/{external-link-DFpYunfj.js → external-link-DKUlnCQV.js} +1 -1
- package/build/assets/files-tab-D4o2VyE_.js +1 -0
- package/build/assets/{form-control-classes-CGw40z5h.js → form-control-classes-Bkh5FGrD.js} +1 -1
- package/build/assets/format-model-name-CasAP3nd.js +1 -0
- package/build/assets/get-git-path-ChKDVHZp.js +1 -0
- package/build/assets/{git-repo-dropdown-ai8qaNkD.js → git-repo-dropdown-4ROKl2cB.js} +1 -1
- package/build/assets/git-repo-dropdown-BkqzkMmM.js +1 -0
- package/build/assets/{highlighted-source-view-C3sxykQi.js → highlighted-source-view-BFRxGT_Q.js} +1 -1
- package/build/assets/home-ChpSuepX.js +1 -0
- package/build/assets/home-DIsB440S.js +1 -0
- package/build/assets/home-automation-run-tooltip-BVNDWjAH.js +1 -0
- package/build/assets/home-store-CY9Ej0ux.js +1 -0
- package/build/assets/index-home-BdlrFIif.js +1 -0
- package/build/assets/info-B6RQawoW.js +1 -0
- package/build/assets/install-server-modal-Dpy89p4g.js +1 -0
- package/build/assets/kebab-menu-item-content-D8hSNGmm.js +1 -0
- package/build/assets/{key-Cn5za3rg.js → key-BmVyxs-2.js} +1 -1
- package/build/assets/{launch-C1ieiOGe.js → launch-IrTDEFCs.js} +1 -1
- package/build/assets/list-filter-DsEK7NFC.js +1 -0
- package/build/assets/{list-todo-Cuu-STFc.js → list-todo-apgLVjMw.js} +1 -1
- package/build/assets/llm-not-configured-banner-CIFABh3K.js +27 -0
- package/build/assets/llm-settings-B9juXhIa.js +1 -0
- package/build/assets/llm-settings-De1d5dfr.js +1 -0
- package/build/assets/llm-subscription-service-BpJ0ouQo.js +1 -0
- package/build/assets/loader-circle-CC1au6hc.js +1 -0
- package/build/assets/{loading-spinner-0L3ZTToZ.js → loading-spinner-BY9N3pOe.js} +1 -1
- package/build/assets/manage-backends-modal-BrPV3oB-.js +1 -0
- package/build/assets/manifest-80fb1c29.js +1 -0
- package/build/assets/{manifest-subpage-layout-BGhiUQbA.js → manifest-subpage-layout-CAOYzrYp.js} +1 -1
- package/build/assets/{map-provider-B9LTm23I.js → map-provider-Cu3Zgumb.js} +1 -1
- package/build/assets/markdown-renderer-BzTlxI8x.js +8 -0
- package/build/assets/{mcp-CKbR4Vft.js → mcp-BTs_SXfZ.js} +1 -1
- package/build/assets/{mcp-marketplace-utils-C13fFccR.js → mcp-marketplace-utils-AIBzzHTO.js} +1 -1
- package/build/assets/{mcp-page-Bm4K2NQq.js → mcp-page-BEBYqH_K.js} +2 -2
- package/build/assets/messages-DKV9cRc2.js +41 -0
- package/build/assets/{modal-body-CMOc2tLl.js → modal-body-BxZjsju9.js} +1 -1
- package/build/assets/{modal-classes-BAb4Y_BG.js → modal-classes-C8eycCwG.js} +1 -1
- package/build/assets/{modal-close-button-CkJ0Ktjj.js → modal-close-button-DDzdRvCs.js} +1 -1
- package/build/assets/{mouse-pointer-click-CsgRs_-r.js → mouse-pointer-click-Co2uyaPA.js} +1 -1
- package/build/assets/onboarding-DV_OXoeP.js +1 -0
- package/build/assets/onboarding-modal-rkyBYkeQ.js +1 -0
- package/build/assets/{organization-service.api-C8XpQ0pM.js → organization-service.api-DrYNkEN_.js} +1 -1
- package/build/assets/{pencil-Clh1Wjvh.js → pencil-47jAZH_V.js} +1 -1
- package/build/assets/pin-By41Vl5J.js +1 -0
- package/build/assets/{planner-tab-DQvDU3ap.js → planner-tab-C9uZmhme.js} +1 -1
- package/build/assets/{plug-BuQhHSSG.js → plug-CG5HFcNG.js} +1 -1
- package/build/assets/plugins-management-service-BMJgC3Ga.js +1 -0
- package/build/assets/plus-C7Slq-0I.js +1 -0
- package/build/assets/profiles-service.api-ChoKrL0l.js +1 -0
- package/build/assets/providers-BhMcY5nv.js +1 -0
- package/build/assets/proxy-9Fe1v5na.js +1 -0
- package/build/assets/{puzzle-A9pGxxai.js → puzzle-JM_QaRm0.js} +1 -1
- package/build/assets/recommended-automations-launcher-6ABrI9Cy.js +1 -0
- package/build/assets/{refresh-cw-Bh69DyYO.js → refresh-cw-3q3Frrii.js} +1 -1
- package/build/assets/root-Dc8YmC9F.js +2 -0
- package/build/assets/root-VDaypvK4.css +1 -0
- package/build/assets/root-layout-CXkhSPYh.js +2 -0
- package/build/assets/schema-field-D-y9-LDb.js +1 -0
- package/build/assets/{sdk-section-page-HTffvm7Q.js → sdk-section-page-BlFiizlG.js} +1 -1
- package/build/assets/{secret-form-HTUbYw5o.js → secret-form-BB7the8W.js} +1 -1
- package/build/assets/secrets-service-ByZVENbp.js +1 -0
- package/build/assets/{secrets-settings-BizaTEr1.js → secrets-settings-B_GpxKW2.js} +1 -1
- package/build/assets/{settings-BlmrkwRi.js → settings-C0EWuBtA.js} +1 -1
- package/build/assets/settings-CKqk8ZnH.js +1 -0
- package/build/assets/{settings-dropdown-input-tM0A0ipy.js → settings-dropdown-input-BcwylHs2.js} +1 -1
- package/build/assets/{settings-index-CKq0b0Vg.js → settings-index-5w5UW2K3.js} +1 -1
- package/build/assets/{settings-input-C03KUoSC.js → settings-input-Db-1g8Ql.js} +1 -1
- package/build/assets/{settings-list-classes-BJ0g8rWj.js → settings-list-classes-BzeSZbF2.js} +1 -1
- package/build/assets/{settings-modal-AzEF1QPP.js → settings-modal-DfJ3tcJQ.js} +1 -1
- package/build/assets/settings-service.api-DJ1r62Zr.js +1 -0
- package/build/assets/{settings-switch-CQE0EGC-.js → settings-switch-CS-dJDmA.js} +1 -1
- package/build/assets/{settings-utils-ClYOkbbI.js → settings-utils-UYpEdPuD.js} +1 -1
- package/build/assets/shared-conversation-CA5ISEDy.js +1 -0
- package/build/assets/{shield-check-CFDViW82.js → shield-check-D2aCRd16.js} +1 -1
- package/build/assets/{sidebar-layout-D3hE08wK.js → sidebar-layout-D6fS8-Gl.js} +1 -1
- package/build/assets/{sidebar-mobile-menu-toggle-BOtyJHwE.js → sidebar-mobile-menu-toggle-C_fb0Jki.js} +1 -1
- package/build/assets/sidebar-nav-link-DQQcMf1A.js +1 -0
- package/build/assets/{sidebar-onboarding-checklist-storage-3qYflszY.js → sidebar-onboarding-checklist-storage-BBkeI6Bp.js} +1 -1
- package/build/assets/sidebar-store-DGqHkVLw.js +1 -0
- package/build/assets/{skill-card-pill-row-CFxjoqxn.js → skill-card-pill-row-B27-xyig.js} +1 -1
- package/build/assets/skill-enablement-DXeaImBz.js +1 -0
- package/build/assets/skill-filter-w__3UCEE.js +2 -0
- package/build/assets/{skill-icon-badge-CPQJ6A-I.js → skill-icon-badge-RQkq8wvl.js} +1 -1
- package/build/assets/skill-scope-B42H-XOc.js +1 -0
- package/build/assets/skills-plugins-tgF8EiXC.js +1 -0
- package/build/assets/skills-settings-BgJ9PaOe.js +1 -0
- package/build/assets/{styled-tooltip-Dl06rkpY.js → styled-tooltip-C4jf5Fv9.js} +1 -1
- package/build/assets/{task-list-tab-04GNQuii.js → task-list-tab-C5zcaktH.js} +1 -1
- package/build/assets/{terminal-Cj0iHIW7.js → terminal-CNElN42a.js} +2 -2
- package/build/assets/{toggle-switch-Fd_QGz0r.js → toggle-switch-ChOLXv2n.js} +1 -1
- package/build/assets/{trash-2-Dl8_RGz0.js → trash-2-D7K26eDO.js} +1 -1
- package/build/assets/{trash-_RMt7Ayc.js → trash-D-HYiVYM.js} +1 -1
- package/build/assets/{triangle-alert-SM-q4NU_.js → triangle-alert-CtdXWHUI.js} +1 -1
- package/build/assets/{typography-SgFy466J.js → typography-v1KN0tzi.js} +1 -1
- package/build/assets/usage-tab-CVDffLPt.js +1 -0
- package/build/assets/use-acp-credential-form-XIQmpX6M.js +1 -0
- package/build/assets/{use-activate-agent-profile-B2NS8nA5.js → use-activate-agent-profile-BLfmvDiG.js} +1 -1
- package/build/assets/use-agent-profiles-Bd9Bvvp1.js +1 -0
- package/build/assets/{use-automation-health-BxXdzZMP.js → use-automation-health-E6NZi9rb.js} +1 -1
- package/build/assets/{use-automations-zYb0dUny.js → use-automations-xijQKIl9.js} +1 -1
- package/build/assets/{use-can-manage-org-profiles-BWMahtUh.js → use-can-manage-org-profiles-CrJP5262.js} +1 -1
- package/build/assets/use-canvas-extensions-Bi693ujJ.js +1 -0
- package/build/assets/{use-cloud-current-user-id-CPHMDG-C.js → use-cloud-current-user-id-CDfAHpPX.js} +1 -1
- package/build/assets/use-config-A9QovgXO.js +1 -0
- package/build/assets/{use-create-conversation-DwN5vv2f.js → use-create-conversation-Dx3l7mFZ.js} +1 -1
- package/build/assets/use-create-secret-B9cUFWRG.js +1 -0
- package/build/assets/{use-get-secrets-BT4ihRwj.js → use-get-secrets-K3jmk-LH.js} +1 -1
- package/build/assets/use-is-authed-nTBcM7dE.js +1 -0
- package/build/assets/use-llm-configured-BV9nZ1_j.js +1 -0
- package/build/assets/use-llm-profiles-BO-P4Oyo.js +1 -0
- package/build/assets/use-manifest-capabilities-Cw_flwEz.js +1 -0
- package/build/assets/use-onboarding-completion-D8U7k4Qb.js +1 -0
- package/build/assets/use-pinned-home-route-CckOZrmb.js +1 -0
- package/build/assets/use-plugins-marketplace-7i94Zu3Z.js +1 -0
- package/build/assets/use-save-agent-profile-BUjSsDXK.js +1 -0
- package/build/assets/{use-save-settings-CUZW6yXP.js → use-save-settings-DYqkKv7T.js} +1 -1
- package/build/assets/{use-settings-C5VhGpqd.js → use-settings-DSXLbvBl.js} +1 -1
- package/build/assets/{use-settings-nav-items-DHaUu1Dg.js → use-settings-nav-items-CwRw-CmX.js} +1 -1
- package/build/assets/use-tracking-D53y3TH9.js +3 -0
- package/build/assets/{use-user-conversation-DT0_QCnL.js → use-user-conversation-B9Gebw_g.js} +1 -1
- package/build/assets/{useInfiniteQuery-CgeUQPfs.js → useInfiniteQuery-C926xzY4.js} +1 -1
- package/build/assets/{useMutation-DFnzkf6f.js → useMutation-B-qc391N.js} +1 -1
- package/build/assets/{useQueries-BhbrGEf1.js → useQueries-DlbhlH9I.js} +1 -1
- package/build/assets/{useQuery-BXWbZBZl.js → useQuery-BSTgq1rl.js} +1 -1
- package/build/assets/utils-CN5ZfZy1.js +1 -0
- package/build/assets/{vendor~conversation-panel~conversation-CTvDDiXg.js → vendor~conversation-panel~conversation-C8Fn4XOf.js} +1 -1
- package/build/assets/{vendor~entry.client-BFE7Llz9.js → vendor~entry.client-CoCfUXUF.js} +1 -1
- package/build/assets/{vendor~entry.client-BaKt_PIp.js → vendor~entry.client-DA2izTjq.js} +1 -1
- package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kepq2zme-ZixYGy6E.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~czjee3a3-DqZDXfg2.js} +1 -1
- package/build/assets/{vendor~index-home~home~conversation-panel~conversation-BTyukeM-.js → vendor~index-home~home~conversation-panel~conversation-hWywRBaR.js} +1 -1
- package/build/assets/{vendor~root-layout-BlUaZ18v.js → vendor~root-layout-C9Ju9DQg.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation-BYAWJwQX.js → vendor~root-layout~conversation-panel~conversation-BMbMgaGu.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-CHaLEBVR.js → vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-BWir3rJs.js} +1 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-j5MFqfSy.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-cDuKr-WD.js +1 -0
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iw7io29p-Dz-MAyNb.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iyia17eu-Chf7vmKB.js} +1 -1
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-Dtu7BpYk.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~nj1hli3r-DP9wmsjo.js} +2 -2
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-DonTKfQD.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-CUmIwQCN.js} +117 -13
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-BgxDvUcf.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-C7HiY4Ae.js} +42 -3
- package/build/assets/{verification-settings-Bj6bo097.js → verification-settings-gw_q6vkL.js} +1 -1
- package/build/assets/{wrench-hi7Q13dF.js → wrench-CUEI1krB.js} +1 -1
- package/build/assets/{x-DkgltWa0.js → x-DJdhbdmt.js} +1 -1
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +32 -16
- package/build/locales/ca/openhands.json +32 -16
- package/build/locales/de/openhands.json +32 -16
- package/build/locales/en/openhands.json +32 -16
- package/build/locales/es/openhands.json +32 -16
- package/build/locales/fr/openhands.json +32 -16
- package/build/locales/it/openhands.json +32 -16
- package/build/locales/ja/openhands.json +32 -16
- package/build/locales/ko-KR/openhands.json +32 -16
- package/build/locales/no/openhands.json +32 -16
- package/build/locales/pt/openhands.json +32 -16
- package/build/locales/tr/openhands.json +32 -16
- package/build/locales/uk/openhands.json +32 -16
- package/build/locales/zh-CN/openhands.json +32 -16
- package/build/locales/zh-TW/openhands.json +32 -16
- package/config/defaults.json +9 -5
- package/dist/api/agent-profiles-service/profile-field-support.d.ts +26 -0
- package/dist/api/agent-server-adapter.cjs +3 -3
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.js +118 -116
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/agent-server-compatibility.cjs +1 -1
- package/dist/api/agent-server-compatibility.cjs.map +1 -1
- package/dist/api/agent-server-compatibility.d.ts +21 -0
- package/dist/api/agent-server-compatibility.js +52 -38
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/agent-server-config.cjs +1 -1
- package/dist/api/agent-server-config.cjs.map +1 -1
- package/dist/api/agent-server-config.d.ts +26 -0
- package/dist/api/agent-server-config.js +18 -5
- package/dist/api/agent-server-config.js.map +1 -1
- package/dist/api/canvas-extensions-service.cjs +1 -0
- package/dist/api/canvas-extensions-service.d.ts +22 -0
- package/dist/api/canvas-extensions-service.js +4 -0
- package/dist/api/cloud/conversation-service.api.cjs +1 -1
- package/dist/api/cloud/conversation-service.api.cjs.map +1 -1
- package/dist/api/cloud/conversation-service.api.d.ts +6 -0
- package/dist/api/cloud/conversation-service.api.js +14 -6
- package/dist/api/cloud/conversation-service.api.js.map +1 -1
- package/dist/api/conversation-file-upload.api.cjs +1 -1
- package/dist/api/conversation-file-upload.api.js +10 -10
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +11 -0
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +129 -118
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/event-service/event-service.api.cjs +1 -1
- package/dist/api/event-service/event-service.api.js +12 -12
- package/dist/api/git-service/agent-server-git-service.api.cjs +1 -1
- package/dist/api/git-service/agent-server-git-service.api.js +8 -8
- package/dist/api/runtime-service/agent-server-runtime-service.cjs +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.js +8 -8
- package/dist/api/settings-service/settings-service.api.cjs +1 -1
- package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
- package/dist/api/settings-service/settings-service.api.d.ts +3 -2
- package/dist/api/settings-service/settings-service.api.js +2 -1
- package/dist/api/settings-service/settings-service.api.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/event-group.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/event-group.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/event-group.js +40 -36
- package/dist/components/conversation-events/chat/event-message-components/event-group.js.map +1 -1
- package/dist/components/features/automations/automation-card.cjs +1 -1
- package/dist/components/features/automations/automation-card.cjs.map +1 -1
- package/dist/components/features/automations/automation-card.js +114 -104
- package/dist/components/features/automations/automation-card.js.map +1 -1
- package/dist/components/features/automations/detail/run-phase.cjs +2 -0
- package/dist/components/features/automations/detail/run-phase.cjs.map +1 -0
- package/dist/components/features/automations/detail/run-phase.d.ts +89 -0
- package/dist/components/features/automations/detail/run-phase.js +72 -0
- package/dist/components/features/automations/detail/run-phase.js.map +1 -0
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
- package/dist/components/features/backends/backend-form-modal.js +5 -11
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/canvas-extensions/add-canvas-extension-modal.d.ts +6 -0
- package/dist/components/features/canvas-extensions/canvas-extension-card.d.ts +9 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.cjs +2 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.cjs.map +1 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.d.ts +23 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.js +19 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.js.map +1 -0
- package/dist/components/features/chat/chat-interface.cjs +2 -2
- package/dist/components/features/chat/chat-interface.cjs.map +1 -1
- package/dist/components/features/chat/chat-interface.js +171 -168
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/chat-markdown-path-code.cjs +3 -0
- package/dist/components/features/chat/chat-markdown-path-code.cjs.map +1 -0
- package/dist/components/features/chat/chat-markdown-path-code.d.ts +27 -0
- package/dist/components/features/chat/chat-markdown-path-code.js +72 -0
- package/dist/components/features/chat/chat-markdown-path-code.js.map +1 -0
- package/dist/components/features/chat/path-component.cjs +1 -1
- package/dist/components/features/chat/path-component.cjs.map +1 -1
- package/dist/components/features/chat/path-component.d.ts +8 -2
- package/dist/components/features/chat/path-component.js +33 -21
- package/dist/components/features/chat/path-component.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js +38 -43
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +8 -5
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js +22 -16
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js.map +1 -1
- package/dist/components/features/chat/user-message-body.cjs +1 -1
- package/dist/components/features/chat/user-message-body.cjs.map +1 -1
- package/dist/components/features/chat/user-message-body.d.ts +4 -0
- package/dist/components/features/chat/user-message-body.js +30 -24
- package/dist/components/features/chat/user-message-body.js.map +1 -1
- package/dist/components/features/conversation/conversation-overview-skills-panel.cjs +1 -1
- package/dist/components/features/conversation/conversation-overview-skills-panel.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-overview-skills-panel.js +63 -81
- package/dist/components/features/conversation/conversation-overview-skills-panel.js.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +50 -50
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.cjs +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.js +3 -3
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.js.map +1 -1
- package/dist/components/features/conversation-panel/skills-modal.cjs +1 -1
- package/dist/components/features/conversation-panel/skills-modal.cjs.map +1 -1
- package/dist/components/features/conversation-panel/skills-modal.js +29 -28
- package/dist/components/features/conversation-panel/skills-modal.js.map +1 -1
- package/dist/components/features/files-tab/file-content-viewer.cjs +1 -1
- package/dist/components/features/files-tab/file-content-viewer.js +5 -5
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs +1 -1
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs.map +1 -1
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js +51 -29
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js.map +1 -1
- package/dist/components/features/onboarding/onboarding-host.d.ts +3 -4
- package/dist/components/features/onboarding/steps/setup-llm-step.d.ts +5 -9
- package/dist/components/features/settings/acp-auth-status-banner.d.ts +23 -6
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -0
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.js +3 -0
- package/dist/components/features/settings/sdk-settings/field-help.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.cjs.map +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.d.ts +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.js +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.js.map +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js +6 -6
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
- package/dist/components/features/sidebar/sidebar-nav-link.cjs +1 -1
- package/dist/components/features/sidebar/sidebar-nav-link.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar-nav-link.d.ts +10 -1
- package/dist/components/features/sidebar/sidebar-nav-link.js +54 -36
- package/dist/components/features/sidebar/sidebar-nav-link.js.map +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.js +143 -120
- package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
- package/dist/components/features/sidebar/sidebar.cjs +1 -1
- package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar.js +1 -1
- package/dist/components/features/sidebar/sidebar.js.map +1 -1
- package/dist/components/features/skills/build-skill-pills.cjs +1 -1
- package/dist/components/features/skills/build-skill-pills.cjs.map +1 -1
- package/dist/components/features/skills/build-skill-pills.js +60 -52
- package/dist/components/features/skills/build-skill-pills.js.map +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
- package/dist/components/features/skills/extensions-navigation.js +54 -43
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- package/dist/components/features/skills/skill-filter.cjs +1 -1
- package/dist/components/features/skills/skill-filter.cjs.map +1 -1
- package/dist/components/features/skills/skill-filter.d.ts +8 -3
- package/dist/components/features/skills/skill-filter.js +69 -52
- package/dist/components/features/skills/skill-filter.js.map +1 -1
- package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
- package/dist/components/shared/modals/settings/settings-form.js +8 -8
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +9 -5
- package/dist/config/defaults.js.map +1 -1
- package/dist/contexts/conversation-websocket-context.cjs +3 -3
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +5 -5
- package/dist/extensions/canvas-extension-module-loader.d.ts +11 -0
- package/dist/hooks/mutation/use-manage-canvas-extensions.d.ts +12 -0
- package/dist/hooks/query/concurrency-limiter.cjs +2 -0
- package/dist/hooks/query/concurrency-limiter.cjs.map +1 -0
- package/dist/hooks/query/concurrency-limiter.d.ts +22 -0
- package/dist/hooks/query/concurrency-limiter.js +29 -0
- package/dist/hooks/query/concurrency-limiter.js.map +1 -0
- package/dist/hooks/query/query-keys.cjs.map +1 -1
- package/dist/hooks/query/query-keys.d.ts +4 -0
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-active-conversation.cjs +1 -1
- package/dist/hooks/query/use-active-conversation.js +4 -4
- package/dist/hooks/query/use-automations.cjs.map +1 -1
- package/dist/hooks/query/use-automations.js.map +1 -1
- package/dist/hooks/query/use-backends-health.cjs +1 -1
- package/dist/hooks/query/use-backends-health.cjs.map +1 -1
- package/dist/hooks/query/use-backends-health.d.ts +1 -1
- package/dist/hooks/query/use-backends-health.js +50 -64
- package/dist/hooks/query/use-backends-health.js.map +1 -1
- package/dist/hooks/query/use-canvas-extensions.cjs +1 -0
- package/dist/hooks/query/use-canvas-extensions.d.ts +5 -0
- package/dist/hooks/query/use-canvas-extensions.js +3 -0
- package/dist/hooks/query/use-commit-changes.cjs +1 -1
- package/dist/hooks/query/use-commit-changes.js +4 -4
- package/dist/hooks/query/use-latest-automation-runs.cjs +1 -1
- package/dist/hooks/query/use-latest-automation-runs.js +1 -0
- package/dist/hooks/query/use-paginated-conversations.cjs +1 -1
- package/dist/hooks/query/use-paginated-conversations.cjs.map +1 -1
- package/dist/hooks/query/use-paginated-conversations.js +19 -16
- package/dist/hooks/query/use-paginated-conversations.js.map +1 -1
- package/dist/hooks/query/use-search-providers.cjs +1 -1
- package/dist/hooks/query/use-search-providers.cjs.map +1 -1
- package/dist/hooks/query/use-search-providers.js +17 -10
- package/dist/hooks/query/use-search-providers.js.map +1 -1
- package/dist/hooks/query/use-unified-get-git-changes.cjs +1 -1
- package/dist/hooks/query/use-unified-get-git-changes.js +4 -4
- package/dist/hooks/query/use-unified-git-commits.cjs +1 -1
- package/dist/hooks/query/use-unified-git-commits.js +4 -4
- package/dist/hooks/query/use-unified-git-diff.cjs +1 -1
- package/dist/hooks/query/use-unified-git-diff.js +4 -4
- package/dist/hooks/query/use-unified-vscode-url.cjs +1 -1
- package/dist/hooks/query/use-unified-vscode-url.cjs.map +1 -1
- package/dist/hooks/query/use-unified-vscode-url.d.ts +1 -0
- package/dist/hooks/query/use-unified-vscode-url.js +40 -26
- package/dist/hooks/query/use-unified-vscode-url.js.map +1 -1
- package/dist/hooks/query/use-workspace-file-content.cjs +1 -1
- package/dist/hooks/query/use-workspace-file-content.js +5 -5
- package/dist/hooks/query/use-workspace-files.cjs +1 -1
- package/dist/hooks/query/use-workspace-files.js +6 -6
- package/dist/hooks/use-acp-credential-form.d.ts +6 -0
- package/dist/hooks/use-conversation-overview-git-diff-stats.cjs +1 -1
- package/dist/hooks/use-conversation-overview-git-diff-stats.js +4 -4
- package/dist/hooks/use-pinned-home-route.cjs +2 -0
- package/dist/hooks/use-pinned-home-route.cjs.map +1 -0
- package/dist/hooks/use-pinned-home-route.d.ts +33 -0
- package/dist/hooks/use-pinned-home-route.js +34 -0
- package/dist/hooks/use-pinned-home-route.js.map +1 -0
- package/dist/hooks/use-skill-enablement.cjs +2 -0
- package/dist/hooks/use-skill-enablement.cjs.map +1 -0
- package/dist/hooks/use-skill-enablement.d.ts +14 -0
- package/dist/hooks/use-skill-enablement.js +80 -0
- package/dist/hooks/use-skill-enablement.js.map +1 -0
- package/dist/i18n/declaration.cjs +1 -1
- package/dist/i18n/declaration.cjs.map +1 -1
- package/dist/i18n/declaration.d.ts +29 -13
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +3 -3
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +538 -266
- package/dist/i18n/translation.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -14
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +1 -0
- package/dist/locales/ar/openhands.json +32 -16
- package/dist/locales/ca/openhands.json +32 -16
- package/dist/locales/de/openhands.json +32 -16
- package/dist/locales/en/openhands.json +32 -16
- package/dist/locales/es/openhands.json +32 -16
- package/dist/locales/fr/openhands.json +32 -16
- package/dist/locales/it/openhands.json +32 -16
- package/dist/locales/ja/openhands.json +32 -16
- package/dist/locales/ko-KR/openhands.json +32 -16
- package/dist/locales/no/openhands.json +32 -16
- package/dist/locales/pt/openhands.json +32 -16
- package/dist/locales/tr/openhands.json +32 -16
- package/dist/locales/uk/openhands.json +32 -16
- package/dist/locales/zh-CN/openhands.json +32 -16
- package/dist/locales/zh-TW/openhands.json +32 -16
- package/dist/manifests/automation-interface.cjs +1 -1
- package/dist/manifests/automation-interface.cjs.map +1 -1
- package/dist/manifests/automation-interface.d.ts +6 -0
- package/dist/manifests/automation-interface.js +11 -8
- package/dist/manifests/automation-interface.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs +45 -4
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.js +1 -1
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs +30 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js +65 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +21 -9
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +2 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js +40 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +74 -72
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +42 -3
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +22 -3
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.js +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js +8 -7
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.js +2 -2
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.js +16 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js.map +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +3 -3
- package/dist/package.js.map +1 -1
- package/dist/routes/agent-settings.d.ts +10 -0
- package/dist/routes/app-settings.cjs +1 -1
- package/dist/routes/app-settings.cjs.map +1 -1
- package/dist/routes/app-settings.js +7 -7
- package/dist/routes/files-tab.cjs +1 -1
- package/dist/routes/files-tab.cjs.map +1 -1
- package/dist/routes/files-tab.js +14 -14
- package/dist/routes/files-tab.js.map +1 -1
- package/dist/routes/llm-settings.cjs +1 -1
- package/dist/routes/llm-settings.cjs.map +1 -1
- package/dist/routes/llm-settings.js +122 -114
- package/dist/routes/llm-settings.js.map +1 -1
- package/dist/services/canvas-ui.cjs +1 -1
- package/dist/services/canvas-ui.cjs.map +1 -1
- package/dist/services/canvas-ui.d.ts +5 -0
- package/dist/services/canvas-ui.js +24 -10
- package/dist/services/canvas-ui.js.map +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +3 -2
- package/dist/services/settings.js.map +1 -1
- package/dist/types/automation.cjs.map +1 -1
- package/dist/types/automation.d.ts +20 -0
- package/dist/types/automation.js.map +1 -1
- package/dist/types/canvas-extension.cjs +2 -0
- package/dist/types/canvas-extension.cjs.map +1 -0
- package/dist/types/canvas-extension.d.ts +77 -0
- package/dist/types/canvas-extension.js +6 -0
- package/dist/types/canvas-extension.js.map +1 -0
- package/dist/types/settings.d.ts +7 -0
- package/dist/ui/help-link.cjs +1 -1
- package/dist/ui/help-link.cjs.map +1 -1
- package/dist/ui/help-link.d.ts +6 -1
- package/dist/ui/help-link.js +32 -18
- package/dist/ui/help-link.js.map +1 -1
- package/dist/utils/acp-auth-display.d.ts +35 -0
- package/dist/utils/cache-utils.cjs +1 -1
- package/dist/utils/cache-utils.js +5 -5
- package/dist/utils/format-model-name.cjs +1 -1
- package/dist/utils/format-model-name.cjs.map +1 -1
- package/dist/utils/format-model-name.d.ts +7 -3
- package/dist/utils/format-model-name.js +6 -11
- package/dist/utils/format-model-name.js.map +1 -1
- package/dist/utils/format-relative-time.cjs +1 -1
- package/dist/utils/format-relative-time.cjs.map +1 -1
- package/dist/utils/format-relative-time.d.ts +7 -0
- package/dist/utils/format-relative-time.js +7 -2
- package/dist/utils/format-relative-time.js.map +1 -1
- package/dist/utils/path-utils.cjs +1 -1
- package/dist/utils/path-utils.cjs.map +1 -1
- package/dist/utils/path-utils.d.ts +15 -3
- package/dist/utils/path-utils.js +29 -3
- package/dist/utils/path-utils.js.map +1 -1
- package/dist/utils/skill-enablement.cjs +2 -0
- package/dist/utils/skill-enablement.cjs.map +1 -0
- package/dist/utils/skill-enablement.d.ts +51 -0
- package/dist/utils/skill-enablement.js +31 -0
- package/dist/utils/skill-enablement.js.map +1 -0
- package/dist/utils/vscode-origin.cjs +2 -0
- package/dist/utils/vscode-origin.cjs.map +1 -0
- package/dist/utils/vscode-origin.d.ts +55 -0
- package/dist/utils/vscode-origin.js +27 -0
- package/dist/utils/vscode-origin.js.map +1 -0
- package/dist/utils/workspace-mode.d.ts +4 -0
- package/package.json +3 -3
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +1 -0
- package/scripts/dev-extra-backend.mjs +28 -9
- package/scripts/dev-safe.mjs +81 -8
- package/scripts/dev-static.mjs +35 -37
- package/scripts/dev-with-automation.mjs +82 -1
- package/scripts/ingress.mjs +27 -1
- package/scripts/static-server.mjs +74 -1
- package/tools/canvas_ui_tool.py +19 -0
- package/build/assets/active-backend-context-DKFSMbn3.js +0 -2
- package/build/assets/agent-server-conversation-service.api-DozDKIW_.js +0 -86
- package/build/assets/agent-settings-351vXWc9.js +0 -2
- package/build/assets/agent-settings-Ce7BDZ6I.js +0 -1
- package/build/assets/alert-banner-Kyy1YWZU.js +0 -1
- package/build/assets/api-key-entry-screen-INIxqAMs.js +0 -1
- package/build/assets/automation-detail-DXDhUwPq.js +0 -3
- package/build/assets/automation-setup-route-FRr05f_g.js +0 -1
- package/build/assets/automations-list-CERuQWE6.js +0 -1
- package/build/assets/backend-form-modal-DK78-jn1.js +0 -1
- package/build/assets/browser-11etCQ04.js +0 -7
- package/build/assets/check-Cf2YoT90.js +0 -1
- package/build/assets/chevron-down-C3OQ-ehx.js +0 -1
- package/build/assets/chevron-right-CN1uUiJ1.js +0 -1
- package/build/assets/circle-check-g5yeGMd-.js +0 -1
- package/build/assets/command-menu-BZQ8S3Ke.js +0 -1
- package/build/assets/conversation-CchMzpGl.js +0 -1
- package/build/assets/conversation-Dpzftz57.js +0 -93
- package/build/assets/conversation-panel-CchMzpGl.js +0 -1
- package/build/assets/conversation-state-store-a9d2fxRc.js +0 -1
- package/build/assets/empty-state-CvaVahVr.js +0 -1
- package/build/assets/extensions-hub-CFduxBnk.js +0 -1
- package/build/assets/extensions-navigation-BeC224yX.js +0 -1
- package/build/assets/files-tab-CL3J9b3p.js +0 -1
- package/build/assets/format-model-name-BNPKVsIq.js +0 -1
- package/build/assets/get-git-path-DlAJa_i6.js +0 -1
- package/build/assets/git-repo-dropdown-DGMEhz7d.js +0 -1
- package/build/assets/home-BCGlNJCA.js +0 -1
- package/build/assets/home-DB1pRqTC.js +0 -1
- package/build/assets/home-automation-run-tooltip-CooFQRIG.js +0 -1
- package/build/assets/home-store-Dl1dPE58.js +0 -1
- package/build/assets/index-home-DB1pRqTC.js +0 -1
- package/build/assets/info-uYSVzX86.js +0 -1
- package/build/assets/install-server-modal-BbJdhzet.js +0 -1
- package/build/assets/kebab-menu-item-content-BYokkRHi.js +0 -1
- package/build/assets/list-filter-OFkpRrmi.js +0 -1
- package/build/assets/llm-not-configured-banner-BqqYnJ1t.js +0 -27
- package/build/assets/llm-settings-CnDbbmVW.js +0 -1
- package/build/assets/llm-settings-S8Yjg__1.js +0 -1
- package/build/assets/llm-subscription-service-BpPfzW4x.js +0 -1
- package/build/assets/loader-circle-nvrwthvj.js +0 -1
- package/build/assets/manage-backends-modal-BCUPswyl.js +0 -1
- package/build/assets/manifest-58597dde.js +0 -1
- package/build/assets/markdown-renderer-Cb2sBWtV.js +0 -8
- package/build/assets/messages-BTN5thLe.js +0 -40
- package/build/assets/onboarding-Cx_kaiD1.js +0 -1
- package/build/assets/onboarding-modal-vMwn7ihv.js +0 -1
- package/build/assets/plugins-management-service-BjYeF0b0.js +0 -1
- package/build/assets/plus-CEKne-Yp.js +0 -1
- package/build/assets/profiles-service.api-QB-T_u-g.js +0 -1
- package/build/assets/providers-FfSZ5TXP.js +0 -1
- package/build/assets/proxy-tcFL2yTQ.js +0 -1
- package/build/assets/recommended-automations-launcher-Bw8uC4V6.js +0 -1
- package/build/assets/root-BLeQfBEq.css +0 -1
- package/build/assets/root-ZKKYPR1Z.js +0 -2
- package/build/assets/root-layout-luJoE9IG.js +0 -2
- package/build/assets/schema-field-Csw5fhtN.js +0 -1
- package/build/assets/secrets-service-BTor9uAU.js +0 -1
- package/build/assets/settings-DcNPxz0v.js +0 -1
- package/build/assets/settings-service.api-B2agVfjL.js +0 -1
- package/build/assets/shared-conversation-B55pCyBG.js +0 -1
- package/build/assets/sidebar-nav-link-CPzhyHQg.js +0 -1
- package/build/assets/sidebar-store-DtpU7zaI.js +0 -1
- package/build/assets/skill-filter-CWZ5kjcg.js +0 -2
- package/build/assets/skill-scope-CV1dkAbW.js +0 -1
- package/build/assets/skills-plugins-DGHULTq6.js +0 -1
- package/build/assets/skills-settings-CM1lFv3e.js +0 -1
- package/build/assets/usage-tab-BcfWV6db.js +0 -1
- package/build/assets/use-acp-credential-form-BsSW5NHG.js +0 -1
- package/build/assets/use-agent-profiles-DWBPC0Si.js +0 -1
- package/build/assets/use-config-Bft35DOK.js +0 -1
- package/build/assets/use-create-secret-BSxJMxHp.js +0 -1
- package/build/assets/use-is-authed-CFGkY3-Z.js +0 -1
- package/build/assets/use-llm-configured-BI6obxsc.js +0 -1
- package/build/assets/use-llm-profiles-djGAhTWL.js +0 -1
- package/build/assets/use-manifest-capabilities-3z0-1G59.js +0 -1
- package/build/assets/use-onboarding-completion-BXpyUSsJ.js +0 -1
- package/build/assets/use-plugins-marketplace-DI4_pK56.js +0 -1
- package/build/assets/use-save-agent-profile-DdBSTdpN.js +0 -1
- package/build/assets/use-tracking-D5t9otIF.js +0 -3
- package/build/assets/utils-DaCIEEQP.js +0 -1
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-B2OLKL7N.js +0 -1
- package/dist/components/features/tips/random-tip.d.ts +0 -2
- package/dist/utils/tips.d.ts +0 -7
- package/dist/utils/workspace-relative-path.cjs +0 -2
- package/dist/utils/workspace-relative-path.cjs.map +0 -1
- package/dist/utils/workspace-relative-path.d.ts +0 -10
- package/dist/utils/workspace-relative-path.js +0 -22
- package/dist/utils/workspace-relative-path.js.map +0 -1
- /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew3u153i-rfV8mQ9m.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew9ih1s8-rfV8mQ9m.js} +0 -0
- /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ox0jfsa0-cHFhpUBq.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~i58xkef6-cHFhpUBq.js} +0 -0
|
@@ -9,5 +9,5 @@ Required secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents
|
|
|
9
9
|
6. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace.
|
|
10
10
|
7. The agent reads the repository, edits AGENTS.md, commits, pushes, and opens the pull request; the script verifies that on GitHub and opens it itself when the agent did not.
|
|
11
11
|
8. Record no-changes when AGENTS.md is already accurate, which is the expected result most weeks.
|
|
12
|
-
9. Remove the clone once the conversation has stopped.`,setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to review AGENTS.md. Work is keyed by ISO week, so a schedule more frequent than weekly only polls.`,default:`0 9 * * 1`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repositories:{type:`repo-picker`,label:`Repositories`,help:`The repositories whose AGENTS.md is maintained. Each keeps its own state and its own weekly claim.`,provider:`github`,multiple:!0,required:!0},branchPrefix:{type:`text`,label:`Branch prefix`,help:`Branches are named after this prefix and the ISO week, such as openhands/agents-md-2026-W34. It is also how the automation recognises its own open pull requests.`,default:`openhands/agents-md`,required:!0,constraints:{minLength:1,maxLength:50}},pullRequestMode:{type:`select`,label:`Pull request mode`,help:`Whether the pull request is opened as a draft or ready for review.`,default:`draft`,required:!0,options:[{value:`draft`,label:`Draft`},{value:`ready`,label:`Ready for review`}]}}},bundle:{version:`1.0.0`,entrypoint:`python3 main.py`,timeout:900,files:{"main.py":`skills/github-agents-md-maintainer/scripts/main.py`},config:{repos:`{{form.repositories}}`,branch_prefix:`{{form.branchPrefix}}`,pull_request_mode:`{{form.pullRequestMode}}`}},message:`This deployment cannot run the scheduled AGENTS.md automation directly. Set it up in this conversation instead: confirm the repositories to maintain, the branch prefix, whether pull requests open as drafts, and the schedule, then create the automation.`}};exports.default=e;
|
|
12
|
+
9. Remove the clone once the conversation has stopped.`,impact:{basis:`completed-runs`,one:`1 maintenance pass completed`,other:`{{count}} maintenance passes completed`},setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to review AGENTS.md. Work is keyed by ISO week, so a schedule more frequent than weekly only polls.`,default:`0 9 * * 1`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repositories:{type:`repo-picker`,label:`Repositories`,help:`The repositories whose AGENTS.md is maintained. Each keeps its own state and its own weekly claim.`,provider:`github`,multiple:!0,required:!0},branchPrefix:{type:`text`,label:`Branch prefix`,help:`Branches are named after this prefix and the ISO week, such as openhands/agents-md-2026-W34. It is also how the automation recognises its own open pull requests.`,default:`openhands/agents-md`,required:!0,constraints:{minLength:1,maxLength:50}},pullRequestMode:{type:`select`,label:`Pull request mode`,help:`Whether the pull request is opened as a draft or ready for review.`,default:`draft`,required:!0,options:[{value:`draft`,label:`Draft`},{value:`ready`,label:`Ready for review`}]}}},bundle:{version:`1.0.0`,entrypoint:`python3 main.py`,timeout:900,files:{"main.py":`skills/github-agents-md-maintainer/scripts/main.py`},config:{repos:`{{form.repositories}}`,branch_prefix:`{{form.branchPrefix}}`,pull_request_mode:`{{form.pullRequestMode}}`}},message:`This deployment cannot run the scheduled AGENTS.md automation directly. Set it up in this conversation instead: confirm the repositories to maintain, the branch prefix, whether pull requests open as drafts, and the schedule, then create the automation.`}};exports.default=e;
|
|
13
13
|
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-agents-md-maintainer\",\n \"name\": \"AGENTS.md Maintainer\",\n \"category\": \"Documentation\",\n \"icon\": \"bot\",\n \"description\": \"Keep AGENTS.md current in your repositories. On a schedule, an agent reads the repository, creates or updates AGENTS.md, and opens a pull request - and stays quiet while one of its pull requests is still open.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read the repository, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 80,\n \"estimatedSetupMinutes\": 3,\n \"exampleImplementation\": \"Trigger: cron, weekly by default (0 9 * * 1)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents and pull requests\\n\\n1. Read the repositories, branch prefix, pull request mode, and schedule from setup.\\n2. Process each repository independently, with its own state, so one falling behind never blocks another.\\n3. Key one unit of work to the ISO week, so a cron that fires more often, a retried run, or a restarted service cannot open the same pull request twice.\\n4. Skip a repository whose previous pull request from this automation is still open; a second one would edit the same file.\\n5. Ask GitHub whether AGENTS.md exists, which decides create vs update and the pull request title.\\n6. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace.\\n7. The agent reads the repository, edits AGENTS.md, commits, pushes, and opens the pull request; the script verifies that on GitHub and opens it itself when the agent did not.\\n8. Record no-changes when AGENTS.md is already accurate, which is the expected result most weeks.\\n9. Remove the clone once the conversation has stopped.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to review AGENTS.md. Work is keyed by ISO week, so a schedule more frequent than weekly only polls.\",\n \"default\": \"0 9 * * 1\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose AGENTS.md is maintained. Each keeps its own state and its own weekly claim.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the ISO week, such as openhands/agents-md-2026-W34. It is also how the automation recognises its own open pull requests.\",\n \"default\": \"openhands/agents-md\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-agents-md-maintainer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled AGENTS.md automation directly. Set it up in this conversation instead: confirm the repositories to maintain, the branch prefix, whether pull requests open as drafts, and the schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-agents-md-maintainer\",\n \"name\": \"AGENTS.md Maintainer\",\n \"category\": \"Documentation\",\n \"icon\": \"bot\",\n \"description\": \"Keep AGENTS.md current in your repositories. On a schedule, an agent reads the repository, creates or updates AGENTS.md, and opens a pull request - and stays quiet while one of its pull requests is still open.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read the repository, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 80,\n \"estimatedSetupMinutes\": 3,\n \"exampleImplementation\": \"Trigger: cron, weekly by default (0 9 * * 1)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents and pull requests\\n\\n1. Read the repositories, branch prefix, pull request mode, and schedule from setup.\\n2. Process each repository independently, with its own state, so one falling behind never blocks another.\\n3. Key one unit of work to the ISO week, so a cron that fires more often, a retried run, or a restarted service cannot open the same pull request twice.\\n4. Skip a repository whose previous pull request from this automation is still open; a second one would edit the same file.\\n5. Ask GitHub whether AGENTS.md exists, which decides create vs update and the pull request title.\\n6. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace.\\n7. The agent reads the repository, edits AGENTS.md, commits, pushes, and opens the pull request; the script verifies that on GitHub and opens it itself when the agent did not.\\n8. Record no-changes when AGENTS.md is already accurate, which is the expected result most weeks.\\n9. Remove the clone once the conversation has stopped.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 maintenance pass completed\",\n \"other\": \"{{count}} maintenance passes completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to review AGENTS.md. Work is keyed by ISO week, so a schedule more frequent than weekly only polls.\",\n \"default\": \"0 9 * * 1\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose AGENTS.md is maintained. Each keeps its own state and its own weekly claim.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the ISO week, such as openhands/agents-md-2026-W34. It is also how the automation recognises its own open pull requests.\",\n \"default\": \"openhands/agents-md\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-agents-md-maintainer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled AGENTS.md automation directly. Set it up in this conversation instead: confirm the repositories to maintain, the branch prefix, whether pull requests open as drafts, and the schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -11,6 +11,11 @@ var e = {
|
|
|
11
11
|
popularityRank: 80,
|
|
12
12
|
estimatedSetupMinutes: 3,
|
|
13
13
|
exampleImplementation: "Trigger: cron, weekly by default (0 9 * * 1)\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents and pull requests\n\n1. Read the repositories, branch prefix, pull request mode, and schedule from setup.\n2. Process each repository independently, with its own state, so one falling behind never blocks another.\n3. Key one unit of work to the ISO week, so a cron that fires more often, a retried run, or a restarted service cannot open the same pull request twice.\n4. Skip a repository whose previous pull request from this automation is still open; a second one would edit the same file.\n5. Ask GitHub whether AGENTS.md exists, which decides create vs update and the pull request title.\n6. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace.\n7. The agent reads the repository, edits AGENTS.md, commits, pushes, and opens the pull request; the script verifies that on GitHub and opens it itself when the agent did not.\n8. Record no-changes when AGENTS.md is already accurate, which is the expected result most weeks.\n9. Remove the clone once the conversation has stopped.",
|
|
14
|
+
impact: {
|
|
15
|
+
basis: "completed-runs",
|
|
16
|
+
one: "1 maintenance pass completed",
|
|
17
|
+
other: "{{count}} maintenance passes completed"
|
|
18
|
+
},
|
|
14
19
|
setup: {
|
|
15
20
|
version: "1.0",
|
|
16
21
|
mode: "direct",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-agents-md-maintainer\",\n \"name\": \"AGENTS.md Maintainer\",\n \"category\": \"Documentation\",\n \"icon\": \"bot\",\n \"description\": \"Keep AGENTS.md current in your repositories. On a schedule, an agent reads the repository, creates or updates AGENTS.md, and opens a pull request - and stays quiet while one of its pull requests is still open.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read the repository, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 80,\n \"estimatedSetupMinutes\": 3,\n \"exampleImplementation\": \"Trigger: cron, weekly by default (0 9 * * 1)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents and pull requests\\n\\n1. Read the repositories, branch prefix, pull request mode, and schedule from setup.\\n2. Process each repository independently, with its own state, so one falling behind never blocks another.\\n3. Key one unit of work to the ISO week, so a cron that fires more often, a retried run, or a restarted service cannot open the same pull request twice.\\n4. Skip a repository whose previous pull request from this automation is still open; a second one would edit the same file.\\n5. Ask GitHub whether AGENTS.md exists, which decides create vs update and the pull request title.\\n6. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace.\\n7. The agent reads the repository, edits AGENTS.md, commits, pushes, and opens the pull request; the script verifies that on GitHub and opens it itself when the agent did not.\\n8. Record no-changes when AGENTS.md is already accurate, which is the expected result most weeks.\\n9. Remove the clone once the conversation has stopped.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to review AGENTS.md. Work is keyed by ISO week, so a schedule more frequent than weekly only polls.\",\n \"default\": \"0 9 * * 1\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose AGENTS.md is maintained. Each keeps its own state and its own weekly claim.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the ISO week, such as openhands/agents-md-2026-W34. It is also how the automation recognises its own open pull requests.\",\n \"default\": \"openhands/agents-md\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-agents-md-maintainer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled AGENTS.md automation directly. Set it up in this conversation instead: confirm the repositories to maintain, the branch prefix, whether pull requests open as drafts, and the schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-agents-md-maintainer\",\n \"name\": \"AGENTS.md Maintainer\",\n \"category\": \"Documentation\",\n \"icon\": \"bot\",\n \"description\": \"Keep AGENTS.md current in your repositories. On a schedule, an agent reads the repository, creates or updates AGENTS.md, and opens a pull request - and stays quiet while one of its pull requests is still open.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read the repository, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 80,\n \"estimatedSetupMinutes\": 3,\n \"exampleImplementation\": \"Trigger: cron, weekly by default (0 9 * * 1)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents and pull requests\\n\\n1. Read the repositories, branch prefix, pull request mode, and schedule from setup.\\n2. Process each repository independently, with its own state, so one falling behind never blocks another.\\n3. Key one unit of work to the ISO week, so a cron that fires more often, a retried run, or a restarted service cannot open the same pull request twice.\\n4. Skip a repository whose previous pull request from this automation is still open; a second one would edit the same file.\\n5. Ask GitHub whether AGENTS.md exists, which decides create vs update and the pull request title.\\n6. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace.\\n7. The agent reads the repository, edits AGENTS.md, commits, pushes, and opens the pull request; the script verifies that on GitHub and opens it itself when the agent did not.\\n8. Record no-changes when AGENTS.md is already accurate, which is the expected result most weeks.\\n9. Remove the clone once the conversation has stopped.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 maintenance pass completed\",\n \"other\": \"{{count}} maintenance passes completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to review AGENTS.md. Work is keyed by ISO week, so a schedule more frequent than weekly only polls.\",\n \"default\": \"0 9 * * 1\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose AGENTS.md is maintained. Each keeps its own state and its own weekly claim.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the ISO week, such as openhands/agents-md-2026-W34. It is also how the automation recognises its own open pull requests.\",\n \"default\": \"openhands/agents-md\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-agents-md-maintainer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled AGENTS.md automation directly. Set it up in this conversation instead: confirm the repositories to maintain, the branch prefix, whether pull requests open as drafts, and the schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs
CHANGED
|
@@ -8,5 +8,5 @@ Required secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents
|
|
|
8
8
|
5. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace. The clone carries no credential and the agent is handed no secrets, because the prompt is built from an issue body that anyone can write.
|
|
9
9
|
6. Comment on the issue with the branch and the conversation link.
|
|
10
10
|
7. Once the conversation has stopped, commit whatever the agent left, push the branch, open a draft pull request titled after the issue, and comment the link on the issue. An agent that made no changes gets its answer posted instead.
|
|
11
|
-
8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.`,setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to look for newly labelled issues.`,default:`*/15 * * * *`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repositories:{type:`repo-picker`,label:`Repositories`,help:`The repositories whose labelled issues are implemented. Each is polled independently and keeps its own state, so issue numbers never collide between them.`,provider:`github`,multiple:!0,required:!0},triggerLabel:{type:`text`,label:`Trigger label`,help:`Only issues carrying this label are worked on.`,default:`openhands`,required:!0,constraints:{minLength:1,maxLength:50}},branchPrefix:{type:`text`,label:`Branch prefix`,help:`Branches are named after this prefix and the issue number, such as openhands/issue-42.`,default:`openhands/issue`,required:!0,constraints:{minLength:1,maxLength:50}},pullRequestMode:{type:`select`,label:`Pull request mode`,help:`Whether the pull request is opened as a draft or ready for review.`,default:`draft`,required:!0,options:[{value:`draft`,label:`Draft`},{value:`ready`,label:`Ready for review`}]}}},bundle:{version:`1.0.0`,entrypoint:`python3 main.py`,timeout:900,files:{"main.py":`skills/github-issue-to-pr/scripts/main.py`},config:{repos:`{{form.repositories}}`,trigger_label:`{{form.triggerLabel}}`,branch_prefix:`{{form.branchPrefix}}`,pull_request_mode:`{{form.pullRequestMode}}`}},message:`This deployment cannot run the scheduled issue-to-PR automation directly. Set it up in this conversation instead: confirm the repositories to watch, the trigger label, the branch prefix, whether pull requests open as drafts, and the polling schedule, then create the automation.`}};exports.default=e;
|
|
11
|
+
8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.`,impact:{basis:`completed-runs`,one:`1 issue sweep completed`,other:`{{count}} issue sweeps completed`},setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to look for newly labelled issues.`,default:`*/15 * * * *`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repositories:{type:`repo-picker`,label:`Repositories`,help:`The repositories whose labelled issues are implemented. Each is polled independently and keeps its own state, so issue numbers never collide between them.`,provider:`github`,multiple:!0,required:!0},triggerLabel:{type:`text`,label:`Trigger label`,help:`Only issues carrying this label are worked on.`,default:`openhands`,required:!0,constraints:{minLength:1,maxLength:50}},branchPrefix:{type:`text`,label:`Branch prefix`,help:`Branches are named after this prefix and the issue number, such as openhands/issue-42.`,default:`openhands/issue`,required:!0,constraints:{minLength:1,maxLength:50}},pullRequestMode:{type:`select`,label:`Pull request mode`,help:`Whether the pull request is opened as a draft or ready for review.`,default:`draft`,required:!0,options:[{value:`draft`,label:`Draft`},{value:`ready`,label:`Ready for review`}]}}},bundle:{version:`1.0.0`,entrypoint:`python3 main.py`,timeout:900,files:{"main.py":`skills/github-issue-to-pr/scripts/main.py`},config:{repos:`{{form.repositories}}`,trigger_label:`{{form.triggerLabel}}`,branch_prefix:`{{form.branchPrefix}}`,pull_request_mode:`{{form.pullRequestMode}}`}},message:`This deployment cannot run the scheduled issue-to-PR automation directly. Set it up in this conversation instead: confirm the repositories to watch, the trigger label, the branch prefix, whether pull requests open as drafts, and the polling schedule, then create the automation.`}};exports.default=e;
|
|
12
12
|
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"github-issue-to-pr\",\n \"name\": \"GitHub Issue to PR Agent\",\n \"category\": \"Software development\",\n \"description\": \"Watch for a configurable label on GitHub issues, implement the issue in a clone of the default branch, and open a pull request for each label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read labelled issues, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 95,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub issues with a configured label such as openhands\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents, issues, and pull requests\\n\\n1. Read the repositories, trigger label, branch prefix, draft mode, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so issue numbers never collide.\\n3. List open labelled issues, drop pull requests, and find the latest matching GitHub labeled issue event for each.\\n4. Deduplicate on the label event ID so every label application queues exactly one attempt.\\n5. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace. The clone carries no credential and the agent is handed no secrets, because the prompt is built from an issue body that anyone can write.\\n6. Comment on the issue with the branch and the conversation link.\\n7. Once the conversation has stopped, commit whatever the agent left, push the branch, open a draft pull request titled after the issue, and comment the link on the issue. An agent that made no changes gets its answer posted instead.\\n8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled issues.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose labelled issues are implemented. Each is polled independently and keeps its own state, so issue numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only issues carrying this label are worked on.\",\n \"default\": \"openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the issue number, such as openhands/issue-42.\",\n \"default\": \"openhands/issue\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-issue-to-pr/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled issue-to-PR automation directly. Set it up in this conversation instead: confirm the repositories to watch, the trigger label, the branch prefix, whether pull requests open as drafts, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"github-issue-to-pr\",\n \"name\": \"GitHub Issue to PR Agent\",\n \"category\": \"Software development\",\n \"description\": \"Watch for a configurable label on GitHub issues, implement the issue in a clone of the default branch, and open a pull request for each label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read labelled issues, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 95,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub issues with a configured label such as openhands\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents, issues, and pull requests\\n\\n1. Read the repositories, trigger label, branch prefix, draft mode, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so issue numbers never collide.\\n3. List open labelled issues, drop pull requests, and find the latest matching GitHub labeled issue event for each.\\n4. Deduplicate on the label event ID so every label application queues exactly one attempt.\\n5. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace. The clone carries no credential and the agent is handed no secrets, because the prompt is built from an issue body that anyone can write.\\n6. Comment on the issue with the branch and the conversation link.\\n7. Once the conversation has stopped, commit whatever the agent left, push the branch, open a draft pull request titled after the issue, and comment the link on the issue. An agent that made no changes gets its answer posted instead.\\n8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 issue sweep completed\",\n \"other\": \"{{count}} issue sweeps completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled issues.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose labelled issues are implemented. Each is polled independently and keeps its own state, so issue numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only issues carrying this label are worked on.\",\n \"default\": \"openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the issue number, such as openhands/issue-42.\",\n \"default\": \"openhands/issue\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-issue-to-pr/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled issue-to-PR automation directly. Set it up in this conversation instead: confirm the repositories to watch, the trigger label, the branch prefix, whether pull requests open as drafts, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js
CHANGED
|
@@ -10,6 +10,11 @@ var e = {
|
|
|
10
10
|
popularityRank: 95,
|
|
11
11
|
estimatedSetupMinutes: 4,
|
|
12
12
|
exampleImplementation: "Trigger: cron polling for open GitHub issues with a configured label such as openhands\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents, issues, and pull requests\n\n1. Read the repositories, trigger label, branch prefix, draft mode, and polling schedule from setup.\n2. Poll each repository independently, with its own state, so issue numbers never collide.\n3. List open labelled issues, drop pull requests, and find the latest matching GitHub labeled issue event for each.\n4. Deduplicate on the label event ID so every label application queues exactly one attempt.\n5. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace. The clone carries no credential and the agent is handed no secrets, because the prompt is built from an issue body that anyone can write.\n6. Comment on the issue with the branch and the conversation link.\n7. Once the conversation has stopped, commit whatever the agent left, push the branch, open a draft pull request titled after the issue, and comment the link on the issue. An agent that made no changes gets its answer posted instead.\n8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.",
|
|
13
|
+
impact: {
|
|
14
|
+
basis: "completed-runs",
|
|
15
|
+
one: "1 issue sweep completed",
|
|
16
|
+
other: "{{count}} issue sweeps completed"
|
|
17
|
+
},
|
|
13
18
|
setup: {
|
|
14
19
|
version: "1.0",
|
|
15
20
|
mode: "direct",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"github-issue-to-pr\",\n \"name\": \"GitHub Issue to PR Agent\",\n \"category\": \"Software development\",\n \"description\": \"Watch for a configurable label on GitHub issues, implement the issue in a clone of the default branch, and open a pull request for each label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read labelled issues, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 95,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub issues with a configured label such as openhands\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents, issues, and pull requests\\n\\n1. Read the repositories, trigger label, branch prefix, draft mode, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so issue numbers never collide.\\n3. List open labelled issues, drop pull requests, and find the latest matching GitHub labeled issue event for each.\\n4. Deduplicate on the label event ID so every label application queues exactly one attempt.\\n5. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace. The clone carries no credential and the agent is handed no secrets, because the prompt is built from an issue body that anyone can write.\\n6. Comment on the issue with the branch and the conversation link.\\n7. Once the conversation has stopped, commit whatever the agent left, push the branch, open a draft pull request titled after the issue, and comment the link on the issue. An agent that made no changes gets its answer posted instead.\\n8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled issues.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose labelled issues are implemented. Each is polled independently and keeps its own state, so issue numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only issues carrying this label are worked on.\",\n \"default\": \"openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the issue number, such as openhands/issue-42.\",\n \"default\": \"openhands/issue\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-issue-to-pr/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled issue-to-PR automation directly. Set it up in this conversation instead: confirm the repositories to watch, the trigger label, the branch prefix, whether pull requests open as drafts, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"github-issue-to-pr\",\n \"name\": \"GitHub Issue to PR Agent\",\n \"category\": \"Software development\",\n \"description\": \"Watch for a configurable label on GitHub issues, implement the issue in a clone of the default branch, and open a pull request for each label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read labelled issues, push the branch, and open the pull request.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 95,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub issues with a configured label such as openhands\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write contents, issues, and pull requests\\n\\n1. Read the repositories, trigger label, branch prefix, draft mode, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so issue numbers never collide.\\n3. List open labelled issues, drop pull requests, and find the latest matching GitHub labeled issue event for each.\\n4. Deduplicate on the label event ID so every label application queues exactly one attempt.\\n5. Clone the default branch into a directory of its own, create the working branch, and start an OpenHands conversation with that directory as its workspace. The clone carries no credential and the agent is handed no secrets, because the prompt is built from an issue body that anyone can write.\\n6. Comment on the issue with the branch and the conversation link.\\n7. Once the conversation has stopped, commit whatever the agent left, push the branch, open a draft pull request titled after the issue, and comment the link on the issue. An agent that made no changes gets its answer posted instead.\\n8. Remove the clone once the conversation has stopped, so nothing accumulates between runs.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 issue sweep completed\",\n \"other\": \"{{count}} issue sweeps completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled issues.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose labelled issues are implemented. Each is polled independently and keeps its own state, so issue numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only issues carrying this label are worked on.\",\n \"default\": \"openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"branchPrefix\": {\n \"type\": \"text\",\n \"label\": \"Branch prefix\",\n \"help\": \"Branches are named after this prefix and the issue number, such as openhands/issue-42.\",\n \"default\": \"openhands/issue\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"pullRequestMode\": {\n \"type\": \"select\",\n \"label\": \"Pull request mode\",\n \"help\": \"Whether the pull request is opened as a draft or ready for review.\",\n \"default\": \"draft\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"draft\",\n \"label\": \"Draft\"\n },\n {\n \"value\": \"ready\",\n \"label\": \"Ready for review\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 900,\n \"files\": {\n \"main.py\": \"skills/github-issue-to-pr/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"branch_prefix\": \"{{form.branchPrefix}}\",\n \"pull_request_mode\": \"{{form.pullRequestMode}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled issue-to-PR automation directly. Set it up in this conversation instead: confirm the repositories to watch, the trigger label, the branch prefix, whether pull requests open as drafts, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs
CHANGED
|
@@ -7,5 +7,5 @@ Required secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write pull req
|
|
|
7
7
|
4. Deduplicate on the label event ID so every label application queues exactly one review.
|
|
8
8
|
5. Extract the PR head commit into a directory of its own and start an OpenHands conversation with that directory as its workspace, so the agent reviews the exact commit without cloning anything.
|
|
9
9
|
6. Post an acknowledgement with the conversation link, then confirm on GitHub that the review was published for that head SHA, falling back to posting the agent's text as a comment.
|
|
10
|
-
7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.`,setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to look for newly labelled pull requests.`,default:`*/15 * * * *`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repositories:{type:`repo-picker`,label:`Repositories`,help:`The repositories whose pull requests will be reviewed. Each is polled independently and keeps its own state, so pull request numbers never collide between them.`,provider:`github`,multiple:!0,required:!0},triggerLabel:{type:`text`,label:`Trigger label`,help:`Only pull requests carrying this label are reviewed.`,default:`openhands-review`,required:!0,constraints:{minLength:1,maxLength:50}},reviewTone:{type:`select`,label:`Review tone`,help:`How detailed the review comments should be.`,default:`concise`,required:!0,options:[{value:`concise`,label:`Concise`},{value:`thorough`,label:`Thorough`},{value:`friendly`,label:`Friendly`}]}}},bundle:{version:`1.0.0`,entrypoint:`python3 main.py`,timeout:600,files:{"main.py":`skills/github-pr-reviewer/scripts/main.py`},config:{repos:`{{form.repositories}}`,trigger_label:`{{form.triggerLabel}}`,review_tone:`{{form.reviewTone}}`}},message:`This deployment cannot run the scheduled review automation directly. Set it up in this conversation instead: confirm the repository to review, the trigger label, the review tone, and the polling schedule, then create the automation.`}};exports.default=e;
|
|
10
|
+
7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.`,impact:{basis:`completed-runs`,one:`1 PR review sweep completed`,other:`{{count}} PR review sweeps completed`},setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to look for newly labelled pull requests.`,default:`*/15 * * * *`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repositories:{type:`repo-picker`,label:`Repositories`,help:`The repositories whose pull requests will be reviewed. Each is polled independently and keeps its own state, so pull request numbers never collide between them.`,provider:`github`,multiple:!0,required:!0},triggerLabel:{type:`text`,label:`Trigger label`,help:`Only pull requests carrying this label are reviewed.`,default:`openhands-review`,required:!0,constraints:{minLength:1,maxLength:50}},reviewTone:{type:`select`,label:`Review tone`,help:`How detailed the review comments should be.`,default:`concise`,required:!0,options:[{value:`concise`,label:`Concise`},{value:`thorough`,label:`Thorough`},{value:`friendly`,label:`Friendly`}]}}},bundle:{version:`1.0.0`,entrypoint:`python3 main.py`,timeout:600,files:{"main.py":`skills/github-pr-reviewer/scripts/main.py`},config:{repos:`{{form.repositories}}`,trigger_label:`{{form.triggerLabel}}`,review_tone:`{{form.reviewTone}}`}},message:`This deployment cannot run the scheduled review automation directly. Set it up in this conversation instead: confirm the repository to review, the trigger label, the review tone, and the polling schedule, then create the automation.`}};exports.default=e;
|
|
11
11
|
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-pr-reviewer\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub Code Review Agent\",\n \"category\": \"Code review\",\n \"description\": \"Watch for a configurable label on GitHub pull requests, inspect full PR and repository context, and post an AI review comment once per label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read pull requests and post review comments.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 100,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub PRs with a configured label such as openhands-review\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write pull request reviews\\n\\n1. Read the repositories, trigger label, review tone, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so PR numbers never collide.\\n3. List open PRs and find the latest matching GitHub labeled issue event for each labeled PR.\\n4. Deduplicate on the label event ID so every label application queues exactly one review.\\n5. Extract the PR head commit into a directory of its own and start an OpenHands conversation with that directory as its workspace, so the agent reviews the exact commit without cloning anything.\\n6. Post an acknowledgement with the conversation link, then confirm on GitHub that the review was published for that head SHA, falling back to posting the agent's text as a comment.\\n7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled pull requests.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose pull requests will be reviewed. Each is polled independently and keeps its own state, so pull request numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only pull requests carrying this label are reviewed.\",\n \"default\": \"openhands-review\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"reviewTone\": {\n \"type\": \"select\",\n \"label\": \"Review tone\",\n \"help\": \"How detailed the review comments should be.\",\n \"default\": \"concise\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"concise\",\n \"label\": \"Concise\"\n },\n {\n \"value\": \"thorough\",\n \"label\": \"Thorough\"\n },\n {\n \"value\": \"friendly\",\n \"label\": \"Friendly\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 600,\n \"files\": {\n \"main.py\": \"skills/github-pr-reviewer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"review_tone\": \"{{form.reviewTone}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled review automation directly. Set it up in this conversation instead: confirm the repository to review, the trigger label, the review tone, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-pr-reviewer\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub Code Review Agent\",\n \"category\": \"Code review\",\n \"description\": \"Watch for a configurable label on GitHub pull requests, inspect full PR and repository context, and post an AI review comment once per label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read pull requests and post review comments.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 100,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub PRs with a configured label such as openhands-review\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write pull request reviews\\n\\n1. Read the repositories, trigger label, review tone, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so PR numbers never collide.\\n3. List open PRs and find the latest matching GitHub labeled issue event for each labeled PR.\\n4. Deduplicate on the label event ID so every label application queues exactly one review.\\n5. Extract the PR head commit into a directory of its own and start an OpenHands conversation with that directory as its workspace, so the agent reviews the exact commit without cloning anything.\\n6. Post an acknowledgement with the conversation link, then confirm on GitHub that the review was published for that head SHA, falling back to posting the agent's text as a comment.\\n7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 PR review sweep completed\",\n \"other\": \"{{count}} PR review sweeps completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled pull requests.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose pull requests will be reviewed. Each is polled independently and keeps its own state, so pull request numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only pull requests carrying this label are reviewed.\",\n \"default\": \"openhands-review\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"reviewTone\": {\n \"type\": \"select\",\n \"label\": \"Review tone\",\n \"help\": \"How detailed the review comments should be.\",\n \"default\": \"concise\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"concise\",\n \"label\": \"Concise\"\n },\n {\n \"value\": \"thorough\",\n \"label\": \"Thorough\"\n },\n {\n \"value\": \"friendly\",\n \"label\": \"Friendly\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 600,\n \"files\": {\n \"main.py\": \"skills/github-pr-reviewer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"review_tone\": \"{{form.reviewTone}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled review automation directly. Set it up in this conversation instead: confirm the repository to review, the trigger label, the review tone, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js
CHANGED
|
@@ -11,6 +11,11 @@ var e = {
|
|
|
11
11
|
popularityRank: 100,
|
|
12
12
|
estimatedSetupMinutes: 4,
|
|
13
13
|
exampleImplementation: "Trigger: cron polling for open GitHub PRs with a configured label such as openhands-review\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write pull request reviews\n\n1. Read the repositories, trigger label, review tone, and polling schedule from setup.\n2. Poll each repository independently, with its own state, so PR numbers never collide.\n3. List open PRs and find the latest matching GitHub labeled issue event for each labeled PR.\n4. Deduplicate on the label event ID so every label application queues exactly one review.\n5. Extract the PR head commit into a directory of its own and start an OpenHands conversation with that directory as its workspace, so the agent reviews the exact commit without cloning anything.\n6. Post an acknowledgement with the conversation link, then confirm on GitHub that the review was published for that head SHA, falling back to posting the agent's text as a comment.\n7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.",
|
|
14
|
+
impact: {
|
|
15
|
+
basis: "completed-runs",
|
|
16
|
+
one: "1 PR review sweep completed",
|
|
17
|
+
other: "{{count}} PR review sweeps completed"
|
|
18
|
+
},
|
|
14
19
|
setup: {
|
|
15
20
|
version: "1.0",
|
|
16
21
|
mode: "direct",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-pr-reviewer\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub Code Review Agent\",\n \"category\": \"Code review\",\n \"description\": \"Watch for a configurable label on GitHub pull requests, inspect full PR and repository context, and post an AI review comment once per label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read pull requests and post review comments.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 100,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub PRs with a configured label such as openhands-review\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write pull request reviews\\n\\n1. Read the repositories, trigger label, review tone, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so PR numbers never collide.\\n3. List open PRs and find the latest matching GitHub labeled issue event for each labeled PR.\\n4. Deduplicate on the label event ID so every label application queues exactly one review.\\n5. Extract the PR head commit into a directory of its own and start an OpenHands conversation with that directory as its workspace, so the agent reviews the exact commit without cloning anything.\\n6. Post an acknowledgement with the conversation link, then confirm on GitHub that the review was published for that head SHA, falling back to posting the agent's text as a comment.\\n7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled pull requests.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose pull requests will be reviewed. Each is polled independently and keeps its own state, so pull request numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only pull requests carrying this label are reviewed.\",\n \"default\": \"openhands-review\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"reviewTone\": {\n \"type\": \"select\",\n \"label\": \"Review tone\",\n \"help\": \"How detailed the review comments should be.\",\n \"default\": \"concise\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"concise\",\n \"label\": \"Concise\"\n },\n {\n \"value\": \"thorough\",\n \"label\": \"Thorough\"\n },\n {\n \"value\": \"friendly\",\n \"label\": \"Friendly\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 600,\n \"files\": {\n \"main.py\": \"skills/github-pr-reviewer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"review_tone\": \"{{form.reviewTone}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled review automation directly. Set it up in this conversation instead: confirm the repository to review, the trigger label, the review tone, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.json"],"sourcesContent":["{\n \"id\": \"github-pr-reviewer\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub Code Review Agent\",\n \"category\": \"Code review\",\n \"description\": \"Watch for a configurable label on GitHub pull requests, inspect full PR and repository context, and post an AI review comment once per label event.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read pull requests and post review comments.\"\n }\n },\n \"features\": [\n \"customTarball\"\n ]\n },\n \"popularityRank\": 100,\n \"estimatedSetupMinutes\": 4,\n \"exampleImplementation\": \"Trigger: cron polling for open GitHub PRs with a configured label such as openhands-review\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN, with permission to write pull request reviews\\n\\n1. Read the repositories, trigger label, review tone, and polling schedule from setup.\\n2. Poll each repository independently, with its own state, so PR numbers never collide.\\n3. List open PRs and find the latest matching GitHub labeled issue event for each labeled PR.\\n4. Deduplicate on the label event ID so every label application queues exactly one review.\\n5. Extract the PR head commit into a directory of its own and start an OpenHands conversation with that directory as its workspace, so the agent reviews the exact commit without cloning anything.\\n6. Post an acknowledgement with the conversation link, then confirm on GitHub that the review was published for that head SHA, falling back to posting the agent's text as a comment.\\n7. Remove the checkout once the conversation has stopped, so nothing accumulates between runs.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 PR review sweep completed\",\n \"other\": \"{{count}} PR review sweeps completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for newly labelled pull requests.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repositories\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repositories\",\n \"help\": \"The repositories whose pull requests will be reviewed. Each is polled independently and keeps its own state, so pull request numbers never collide between them.\",\n \"provider\": \"github\",\n \"multiple\": true,\n \"required\": true\n },\n \"triggerLabel\": {\n \"type\": \"text\",\n \"label\": \"Trigger label\",\n \"help\": \"Only pull requests carrying this label are reviewed.\",\n \"default\": \"openhands-review\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 50\n }\n },\n \"reviewTone\": {\n \"type\": \"select\",\n \"label\": \"Review tone\",\n \"help\": \"How detailed the review comments should be.\",\n \"default\": \"concise\",\n \"required\": true,\n \"options\": [\n {\n \"value\": \"concise\",\n \"label\": \"Concise\"\n },\n {\n \"value\": \"thorough\",\n \"label\": \"Thorough\"\n },\n {\n \"value\": \"friendly\",\n \"label\": \"Friendly\"\n }\n ]\n }\n }\n },\n \"bundle\": {\n \"version\": \"1.0.0\",\n \"entrypoint\": \"python3 main.py\",\n \"timeout\": 600,\n \"files\": {\n \"main.py\": \"skills/github-pr-reviewer/scripts/main.py\"\n },\n \"config\": {\n \"repos\": \"{{form.repositories}}\",\n \"trigger_label\": \"{{form.triggerLabel}}\",\n \"review_tone\": \"{{form.reviewTone}}\"\n }\n },\n \"message\": \"This deployment cannot run the scheduled review automation directly. Set it up in this conversation instead: confirm the repository to review, the trigger label, the review tone, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs
CHANGED
|
@@ -5,5 +5,5 @@ Required secret: GITHUB_PERSONAL_ACCESS_TOKEN
|
|
|
5
5
|
2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).
|
|
6
6
|
3. Post an acknowledgment comment with a link to the new OpenHands conversation.
|
|
7
7
|
4. Forward follow-up replies in the same thread to the running conversation.
|
|
8
|
-
5. Post the agent's final response back to GitHub when the conversation completes.`,setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to look for new comments to respond to.`,default:`*/15 * * * *`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repository:{type:`repo-picker`,label:`Repository`,help:`The repository or repositories to watch for mentions.`,provider:`github`,required:!0},triggerPhrase:{type:`text`,label:`Trigger phrase`,help:`Only comments containing this phrase start a conversation. Matched case-insensitively.`,default:`@openhands`,required:!0,constraints:{minLength:2,maxLength:50}},ref:{type:`text`,label:`Base branch`,help:`Branch checked out when the agent responds.`,default:`main`,required:!0,constraints:{minLength:1,maxLength:255}}}},prompt:`Poll {{form.repository}} for any new issue or pull request comments since the last run. For every comment mentioning '{{form.triggerPhrase}}', read the surrounding issue or pull request context and post a helpful reply as a comment on the same thread.`,message:`This deployment cannot run the scheduled monitor directly. Set it up in this conversation instead: confirm the repository to watch, the trigger phrase, and the polling schedule, then create the automation.`}};exports.default=e;
|
|
8
|
+
5. Post the agent's final response back to GitHub when the conversation completes.`,impact:{basis:`completed-runs`,one:`1 repo scan completed`,other:`{{count}} repo scans completed`},setup:{version:`1.0`,mode:`direct`,form:{triggers:{cron:{schedule:{type:`cron`,label:`Check frequency`,help:`How often to look for new comments to respond to.`,default:`*/15 * * * *`,required:!0},timezone:{type:`timezone`,label:`Timezone`,help:`Timezone the schedule is interpreted in.`,default:`UTC`,required:!0}}},args:{repository:{type:`repo-picker`,label:`Repository`,help:`The repository or repositories to watch for mentions.`,provider:`github`,required:!0},triggerPhrase:{type:`text`,label:`Trigger phrase`,help:`Only comments containing this phrase start a conversation. Matched case-insensitively.`,default:`@openhands`,required:!0,constraints:{minLength:2,maxLength:50}},ref:{type:`text`,label:`Base branch`,help:`Branch checked out when the agent responds.`,default:`main`,required:!0,constraints:{minLength:1,maxLength:255}}}},prompt:`Poll {{form.repository}} for any new issue or pull request comments since the last run. For every comment mentioning '{{form.triggerPhrase}}', read the surrounding issue or pull request context and post a helpful reply as a comment on the same thread.`,message:`This deployment cannot run the scheduled monitor directly. Set it up in this conversation instead: confirm the repository to watch, the trigger phrase, and the polling schedule, then create the automation.`}};exports.default=e;
|
|
9
9
|
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.json"],"sourcesContent":["{\n \"id\": \"github-repo-monitor\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub repository monitor\",\n \"category\": \"Developer tools\",\n \"description\": \"Watch a repository for @OpenHands mentions in issues and PR comments, start a conversation, and post the agent's reply back to GitHub.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read issue and pull request comments and post replies.\"\n }\n },\n \"features\": [\n \"repoClone\",\n \"presetPrompt\"\n ]\n },\n \"popularityRank\": 98,\n \"estimatedSetupMinutes\": 5,\n \"exampleImplementation\": \"Trigger: cron polling (e.g. every 15 minutes, configurable)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN\\n\\n1. Poll GitHub for new issue and PR comments since the last run.\\n2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).\\n3. Post an acknowledgment comment with a link to the new OpenHands conversation.\\n4. Forward follow-up replies in the same thread to the running conversation.\\n5. Post the agent's final response back to GitHub when the conversation completes.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for new comments to respond to.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repository\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repository\",\n \"help\": \"The repository or repositories to watch for mentions.\",\n \"provider\": \"github\",\n \"required\": true\n },\n \"triggerPhrase\": {\n \"type\": \"text\",\n \"label\": \"Trigger phrase\",\n \"help\": \"Only comments containing this phrase start a conversation. Matched case-insensitively.\",\n \"default\": \"@openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 2,\n \"maxLength\": 50\n }\n },\n \"ref\": {\n \"type\": \"text\",\n \"label\": \"Base branch\",\n \"help\": \"Branch checked out when the agent responds.\",\n \"default\": \"main\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 255\n }\n }\n }\n },\n \"prompt\": \"Poll {{form.repository}} for any new issue or pull request comments since the last run. For every comment mentioning '{{form.triggerPhrase}}', read the surrounding issue or pull request context and post a helpful reply as a comment on the same thread.\",\n \"message\": \"This deployment cannot run the scheduled monitor directly. Set it up in this conversation instead: confirm the repository to watch, the trigger phrase, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.json"],"sourcesContent":["{\n \"id\": \"github-repo-monitor\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub repository monitor\",\n \"category\": \"Developer tools\",\n \"description\": \"Watch a repository for @OpenHands mentions in issues and PR comments, start a conversation, and post the agent's reply back to GitHub.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read issue and pull request comments and post replies.\"\n }\n },\n \"features\": [\n \"repoClone\",\n \"presetPrompt\"\n ]\n },\n \"popularityRank\": 98,\n \"estimatedSetupMinutes\": 5,\n \"exampleImplementation\": \"Trigger: cron polling (e.g. every 15 minutes, configurable)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN\\n\\n1. Poll GitHub for new issue and PR comments since the last run.\\n2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).\\n3. Post an acknowledgment comment with a link to the new OpenHands conversation.\\n4. Forward follow-up replies in the same thread to the running conversation.\\n5. Post the agent's final response back to GitHub when the conversation completes.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 repo scan completed\",\n \"other\": \"{{count}} repo scans completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for new comments to respond to.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repository\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repository\",\n \"help\": \"The repository or repositories to watch for mentions.\",\n \"provider\": \"github\",\n \"required\": true\n },\n \"triggerPhrase\": {\n \"type\": \"text\",\n \"label\": \"Trigger phrase\",\n \"help\": \"Only comments containing this phrase start a conversation. Matched case-insensitively.\",\n \"default\": \"@openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 2,\n \"maxLength\": 50\n }\n },\n \"ref\": {\n \"type\": \"text\",\n \"label\": \"Base branch\",\n \"help\": \"Branch checked out when the agent responds.\",\n \"default\": \"main\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 255\n }\n }\n }\n },\n \"prompt\": \"Poll {{form.repository}} for any new issue or pull request comments since the last run. For every comment mentioning '{{form.triggerPhrase}}', read the surrounding issue or pull request context and post a helpful reply as a comment on the same thread.\",\n \"message\": \"This deployment cannot run the scheduled monitor directly. Set it up in this conversation instead: confirm the repository to watch, the trigger phrase, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js
CHANGED
|
@@ -11,6 +11,11 @@ var e = {
|
|
|
11
11
|
popularityRank: 98,
|
|
12
12
|
estimatedSetupMinutes: 5,
|
|
13
13
|
exampleImplementation: "Trigger: cron polling (e.g. every 15 minutes, configurable)\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN\n\n1. Poll GitHub for new issue and PR comments since the last run.\n2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).\n3. Post an acknowledgment comment with a link to the new OpenHands conversation.\n4. Forward follow-up replies in the same thread to the running conversation.\n5. Post the agent's final response back to GitHub when the conversation completes.",
|
|
14
|
+
impact: {
|
|
15
|
+
basis: "completed-runs",
|
|
16
|
+
one: "1 repo scan completed",
|
|
17
|
+
other: "{{count}} repo scans completed"
|
|
18
|
+
},
|
|
14
19
|
setup: {
|
|
15
20
|
version: "1.0",
|
|
16
21
|
mode: "direct",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.json"],"sourcesContent":["{\n \"id\": \"github-repo-monitor\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub repository monitor\",\n \"category\": \"Developer tools\",\n \"description\": \"Watch a repository for @OpenHands mentions in issues and PR comments, start a conversation, and post the agent's reply back to GitHub.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read issue and pull request comments and post replies.\"\n }\n },\n \"features\": [\n \"repoClone\",\n \"presetPrompt\"\n ]\n },\n \"popularityRank\": 98,\n \"estimatedSetupMinutes\": 5,\n \"exampleImplementation\": \"Trigger: cron polling (e.g. every 15 minutes, configurable)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN\\n\\n1. Poll GitHub for new issue and PR comments since the last run.\\n2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).\\n3. Post an acknowledgment comment with a link to the new OpenHands conversation.\\n4. Forward follow-up replies in the same thread to the running conversation.\\n5. Post the agent's final response back to GitHub when the conversation completes.\",\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for new comments to respond to.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repository\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repository\",\n \"help\": \"The repository or repositories to watch for mentions.\",\n \"provider\": \"github\",\n \"required\": true\n },\n \"triggerPhrase\": {\n \"type\": \"text\",\n \"label\": \"Trigger phrase\",\n \"help\": \"Only comments containing this phrase start a conversation. Matched case-insensitively.\",\n \"default\": \"@openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 2,\n \"maxLength\": 50\n }\n },\n \"ref\": {\n \"type\": \"text\",\n \"label\": \"Base branch\",\n \"help\": \"Branch checked out when the agent responds.\",\n \"default\": \"main\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 255\n }\n }\n }\n },\n \"prompt\": \"Poll {{form.repository}} for any new issue or pull request comments since the last run. For every comment mentioning '{{form.triggerPhrase}}', read the surrounding issue or pull request context and post a helpful reply as a comment on the same thread.\",\n \"message\": \"This deployment cannot run the scheduled monitor directly. Set it up in this conversation instead: confirm the repository to watch, the trigger phrase, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.json"],"sourcesContent":["{\n \"id\": \"github-repo-monitor\",\n \"version\": \"1.0.0\",\n \"name\": \"GitHub repository monitor\",\n \"category\": \"Developer tools\",\n \"description\": \"Watch a repository for @OpenHands mentions in issues and PR comments, start a conversation, and post the agent's reply back to GitHub.\",\n \"requires\": {\n \"integrations\": {\n \"github\": {\n \"message\": \"Used to read issue and pull request comments and post replies.\"\n }\n },\n \"features\": [\n \"repoClone\",\n \"presetPrompt\"\n ]\n },\n \"popularityRank\": 98,\n \"estimatedSetupMinutes\": 5,\n \"exampleImplementation\": \"Trigger: cron polling (e.g. every 15 minutes, configurable)\\nRequired secret: GITHUB_PERSONAL_ACCESS_TOKEN\\n\\n1. Poll GitHub for new issue and PR comments since the last run.\\n2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).\\n3. Post an acknowledgment comment with a link to the new OpenHands conversation.\\n4. Forward follow-up replies in the same thread to the running conversation.\\n5. Post the agent's final response back to GitHub when the conversation completes.\",\n \"impact\": {\n \"basis\": \"completed-runs\",\n \"one\": \"1 repo scan completed\",\n \"other\": \"{{count}} repo scans completed\"\n },\n \"setup\": {\n \"version\": \"1.0\",\n \"mode\": \"direct\",\n \"form\": {\n \"triggers\": {\n \"cron\": {\n \"schedule\": {\n \"type\": \"cron\",\n \"label\": \"Check frequency\",\n \"help\": \"How often to look for new comments to respond to.\",\n \"default\": \"*/15 * * * *\",\n \"required\": true\n },\n \"timezone\": {\n \"type\": \"timezone\",\n \"label\": \"Timezone\",\n \"help\": \"Timezone the schedule is interpreted in.\",\n \"default\": \"UTC\",\n \"required\": true\n }\n }\n },\n \"args\": {\n \"repository\": {\n \"type\": \"repo-picker\",\n \"label\": \"Repository\",\n \"help\": \"The repository or repositories to watch for mentions.\",\n \"provider\": \"github\",\n \"required\": true\n },\n \"triggerPhrase\": {\n \"type\": \"text\",\n \"label\": \"Trigger phrase\",\n \"help\": \"Only comments containing this phrase start a conversation. Matched case-insensitively.\",\n \"default\": \"@openhands\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 2,\n \"maxLength\": 50\n }\n },\n \"ref\": {\n \"type\": \"text\",\n \"label\": \"Base branch\",\n \"help\": \"Branch checked out when the agent responds.\",\n \"default\": \"main\",\n \"required\": true,\n \"constraints\": {\n \"minLength\": 1,\n \"maxLength\": 255\n }\n }\n }\n },\n \"prompt\": \"Poll {{form.repository}} for any new issue or pull request comments since the last run. For every comment mentioning '{{form.triggerPhrase}}', read the surrounding issue or pull request context and post a helpful reply as a comment on the same thread.\",\n \"message\": \"This deployment cannot run the scheduled monitor directly. Set it up in this conversation instead: confirm the repository to watch, the trigger phrase, and the polling schedule, then create the automation.\"\n }\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require("../../../../../../_virtual/_rolldown/runtime.cjs");var e={id:`jira-issue-to-bitbucket-pr`,name:`Jira issue to Bitbucket PR`,category:`Project management`,description:`Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.`,requires:{integrations:{jira:{message:`Reads implementation-ready issues and posts progress back to Jira.`},bitbucket:{message:`Clones the target repository, pushes a branch, and opens the pull request.`}},features:[`conversationDispatch`]},popularityRank:83,estimatedSetupMinutes:6,skill:`ticket-to-code-change`,exampleImplementation:`Trigger: Jira issue marked implementation-ready
|
|
2
|
+
Required integrations: Jira, Bitbucket
|
|
3
|
+
|
|
4
|
+
1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.
|
|
5
|
+
2. Deduplicate issue IDs so each transition dispatches once.
|
|
6
|
+
3. Read the issue, linked dependencies, acceptance criteria, and target repository.
|
|
7
|
+
4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.
|
|
8
|
+
5. Post the conversation and pull request links back to the Jira issue and update its status according to the team's workflow.`};exports.default=e;
|
|
9
|
+
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"jira-issue-to-bitbucket-pr\",\n \"name\": \"Jira issue to Bitbucket PR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.\",\n \"requires\": {\n \"integrations\": {\n \"jira\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Jira.\"\n },\n \"bitbucket\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the pull request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 83,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Jira issue marked implementation-ready\\nRequired integrations: Jira, Bitbucket\\n\\n1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\\n5. Post the conversation and pull request links back to the Jira issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
id: "jira-issue-to-bitbucket-pr",
|
|
3
|
+
name: "Jira issue to Bitbucket PR",
|
|
4
|
+
category: "Project management",
|
|
5
|
+
description: "Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.",
|
|
6
|
+
requires: {
|
|
7
|
+
integrations: {
|
|
8
|
+
jira: { message: "Reads implementation-ready issues and posts progress back to Jira." },
|
|
9
|
+
bitbucket: { message: "Clones the target repository, pushes a branch, and opens the pull request." }
|
|
10
|
+
},
|
|
11
|
+
features: ["conversationDispatch"]
|
|
12
|
+
},
|
|
13
|
+
popularityRank: 83,
|
|
14
|
+
estimatedSetupMinutes: 6,
|
|
15
|
+
skill: "ticket-to-code-change",
|
|
16
|
+
exampleImplementation: "Trigger: Jira issue marked implementation-ready\nRequired integrations: Jira, Bitbucket\n\n1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.\n2. Deduplicate issue IDs so each transition dispatches once.\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\n4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\n5. Post the conversation and pull request links back to the Jira issue and update its status according to the team's workflow."
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { e as default };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"jira-issue-to-bitbucket-pr\",\n \"name\": \"Jira issue to Bitbucket PR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.\",\n \"requires\": {\n \"integrations\": {\n \"jira\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Jira.\"\n },\n \"bitbucket\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the pull request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 83,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Jira issue marked implementation-ready\\nRequired integrations: Jira, Bitbucket\\n\\n1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\\n5. Post the conversation and pull request links back to the Jira issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require("../../../../../../_virtual/_rolldown/runtime.cjs");var e={id:`jira-issue-to-gitlab-mr`,name:`Jira issue to GitLab MR`,category:`Project management`,description:`Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a GitLab merge request.`,requires:{integrations:{jira:{message:`Reads implementation-ready issues and posts progress back to Jira.`},gitlab:{message:`Clones the target repository, pushes a branch, and opens the merge request.`}},features:[`conversationDispatch`]},popularityRank:84,estimatedSetupMinutes:6,skill:`ticket-to-code-change`,exampleImplementation:`Trigger: Jira issue marked implementation-ready
|
|
2
|
+
Required integrations: Jira, GitLab
|
|
3
|
+
|
|
4
|
+
1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.
|
|
5
|
+
2. Deduplicate issue IDs so each transition dispatches once.
|
|
6
|
+
3. Read the issue, linked dependencies, acceptance criteria, and target repository.
|
|
7
|
+
4. Start an independent OpenHands conversation that clones the GitLab repository, creates an issue-keyed branch, implements and tests the change, and opens a merge request.
|
|
8
|
+
5. Post the conversation and merge request links back to the Jira issue and update its status according to the team's workflow.`};exports.default=e;
|
|
9
|
+
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.json"],"sourcesContent":["{\n \"id\": \"jira-issue-to-gitlab-mr\",\n \"name\": \"Jira issue to GitLab MR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a GitLab merge request.\",\n \"requires\": {\n \"integrations\": {\n \"jira\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Jira.\"\n },\n \"gitlab\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the merge request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 84,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Jira issue marked implementation-ready\\nRequired integrations: Jira, GitLab\\n\\n1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the GitLab repository, creates an issue-keyed branch, implements and tests the change, and opens a merge request.\\n5. Post the conversation and merge request links back to the Jira issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
id: "jira-issue-to-gitlab-mr",
|
|
3
|
+
name: "Jira issue to GitLab MR",
|
|
4
|
+
category: "Project management",
|
|
5
|
+
description: "Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a GitLab merge request.",
|
|
6
|
+
requires: {
|
|
7
|
+
integrations: {
|
|
8
|
+
jira: { message: "Reads implementation-ready issues and posts progress back to Jira." },
|
|
9
|
+
gitlab: { message: "Clones the target repository, pushes a branch, and opens the merge request." }
|
|
10
|
+
},
|
|
11
|
+
features: ["conversationDispatch"]
|
|
12
|
+
},
|
|
13
|
+
popularityRank: 84,
|
|
14
|
+
estimatedSetupMinutes: 6,
|
|
15
|
+
skill: "ticket-to-code-change",
|
|
16
|
+
exampleImplementation: "Trigger: Jira issue marked implementation-ready\nRequired integrations: Jira, GitLab\n\n1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.\n2. Deduplicate issue IDs so each transition dispatches once.\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\n4. Start an independent OpenHands conversation that clones the GitLab repository, creates an issue-keyed branch, implements and tests the change, and opens a merge request.\n5. Post the conversation and merge request links back to the Jira issue and update its status according to the team's workflow."
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { e as default };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.json"],"sourcesContent":["{\n \"id\": \"jira-issue-to-gitlab-mr\",\n \"name\": \"Jira issue to GitLab MR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Jira for implementation-ready issues, start an agent to make the requested code change, and open a GitLab merge request.\",\n \"requires\": {\n \"integrations\": {\n \"jira\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Jira.\"\n },\n \"gitlab\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the merge request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 84,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Jira issue marked implementation-ready\\nRequired integrations: Jira, GitLab\\n\\n1. Watch the selected Jira team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the GitLab repository, creates an issue-keyed branch, implements and tests the change, and opens a merge request.\\n5. Post the conversation and merge request links back to the Jira issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require("../../../../../../_virtual/_rolldown/runtime.cjs");var e={id:`linear-issue-to-bitbucket-pr`,name:`Linear issue to Bitbucket PR`,category:`Project management`,description:`Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.`,requires:{integrations:{linear:{message:`Reads implementation-ready issues and posts progress back to Linear.`},bitbucket:{message:`Clones the target repository, pushes a branch, and opens the pull request.`}},features:[`conversationDispatch`]},popularityRank:87,estimatedSetupMinutes:6,skill:`ticket-to-code-change`,exampleImplementation:`Trigger: Linear issue marked implementation-ready
|
|
2
|
+
Required integrations: Linear, Bitbucket
|
|
3
|
+
|
|
4
|
+
1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.
|
|
5
|
+
2. Deduplicate issue IDs so each transition dispatches once.
|
|
6
|
+
3. Read the issue, linked dependencies, acceptance criteria, and target repository.
|
|
7
|
+
4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.
|
|
8
|
+
5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow.`};exports.default=e;
|
|
9
|
+
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"linear-issue-to-bitbucket-pr\",\n \"name\": \"Linear issue to Bitbucket PR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.\",\n \"requires\": {\n \"integrations\": {\n \"linear\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Linear.\"\n },\n \"bitbucket\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the pull request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 87,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Linear issue marked implementation-ready\\nRequired integrations: Linear, Bitbucket\\n\\n1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\\n5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
id: "linear-issue-to-bitbucket-pr",
|
|
3
|
+
name: "Linear issue to Bitbucket PR",
|
|
4
|
+
category: "Project management",
|
|
5
|
+
description: "Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.",
|
|
6
|
+
requires: {
|
|
7
|
+
integrations: {
|
|
8
|
+
linear: { message: "Reads implementation-ready issues and posts progress back to Linear." },
|
|
9
|
+
bitbucket: { message: "Clones the target repository, pushes a branch, and opens the pull request." }
|
|
10
|
+
},
|
|
11
|
+
features: ["conversationDispatch"]
|
|
12
|
+
},
|
|
13
|
+
popularityRank: 87,
|
|
14
|
+
estimatedSetupMinutes: 6,
|
|
15
|
+
skill: "ticket-to-code-change",
|
|
16
|
+
exampleImplementation: "Trigger: Linear issue marked implementation-ready\nRequired integrations: Linear, Bitbucket\n\n1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.\n2. Deduplicate issue IDs so each transition dispatches once.\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\n4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\n5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow."
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { e as default };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"linear-issue-to-bitbucket-pr\",\n \"name\": \"Linear issue to Bitbucket PR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a Bitbucket pull request.\",\n \"requires\": {\n \"integrations\": {\n \"linear\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Linear.\"\n },\n \"bitbucket\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the pull request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 87,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Linear issue marked implementation-ready\\nRequired integrations: Linear, Bitbucket\\n\\n1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the Bitbucket repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\\n5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require("../../../../../../_virtual/_rolldown/runtime.cjs");var e={id:`linear-issue-to-github-pr`,name:`Linear issue to GitHub PR`,category:`Project management`,description:`Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a GitHub pull request.`,requires:{integrations:{linear:{message:`Reads implementation-ready issues and posts progress back to Linear.`},github:{message:`Clones the target repository, pushes a branch, and opens the pull request.`}},features:[`conversationDispatch`]},popularityRank:89,estimatedSetupMinutes:6,skill:`ticket-to-code-change`,exampleImplementation:`Trigger: Linear issue marked implementation-ready
|
|
2
|
+
Required integrations: Linear, GitHub
|
|
3
|
+
|
|
4
|
+
1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.
|
|
5
|
+
2. Deduplicate issue IDs so each transition dispatches once.
|
|
6
|
+
3. Read the issue, linked dependencies, acceptance criteria, and target repository.
|
|
7
|
+
4. Start an independent OpenHands conversation that clones the GitHub repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.
|
|
8
|
+
5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow.`};exports.default=e;
|
|
9
|
+
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.cjs","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"linear-issue-to-github-pr\",\n \"name\": \"Linear issue to GitHub PR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a GitHub pull request.\",\n \"requires\": {\n \"integrations\": {\n \"linear\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Linear.\"\n },\n \"github\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the pull request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 89,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Linear issue marked implementation-ready\\nRequired integrations: Linear, GitHub\\n\\n1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the GitHub repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\\n5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
id: "linear-issue-to-github-pr",
|
|
3
|
+
name: "Linear issue to GitHub PR",
|
|
4
|
+
category: "Project management",
|
|
5
|
+
description: "Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a GitHub pull request.",
|
|
6
|
+
requires: {
|
|
7
|
+
integrations: {
|
|
8
|
+
linear: { message: "Reads implementation-ready issues and posts progress back to Linear." },
|
|
9
|
+
github: { message: "Clones the target repository, pushes a branch, and opens the pull request." }
|
|
10
|
+
},
|
|
11
|
+
features: ["conversationDispatch"]
|
|
12
|
+
},
|
|
13
|
+
popularityRank: 89,
|
|
14
|
+
estimatedSetupMinutes: 6,
|
|
15
|
+
skill: "ticket-to-code-change",
|
|
16
|
+
exampleImplementation: "Trigger: Linear issue marked implementation-ready\nRequired integrations: Linear, GitHub\n\n1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.\n2. Deduplicate issue IDs so each transition dispatches once.\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\n4. Start an independent OpenHands conversation that clones the GitHub repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\n5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow."
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { e as default };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","names":[],"sources":["../../../../../../../node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.json"],"sourcesContent":["{\n \"id\": \"linear-issue-to-github-pr\",\n \"name\": \"Linear issue to GitHub PR\",\n \"category\": \"Project management\",\n \"description\": \"Watch Linear for implementation-ready issues, start an agent to make the requested code change, and open a GitHub pull request.\",\n \"requires\": {\n \"integrations\": {\n \"linear\": {\n \"message\": \"Reads implementation-ready issues and posts progress back to Linear.\"\n },\n \"github\": {\n \"message\": \"Clones the target repository, pushes a branch, and opens the pull request.\"\n }\n },\n \"features\": [\n \"conversationDispatch\"\n ]\n },\n \"popularityRank\": 89,\n \"estimatedSetupMinutes\": 6,\n \"skill\": \"ticket-to-code-change\",\n \"exampleImplementation\": \"Trigger: Linear issue marked implementation-ready\\nRequired integrations: Linear, GitHub\\n\\n1. Watch the selected Linear team or project for issues carrying a configurable implementation-ready label or state.\\n2. Deduplicate issue IDs so each transition dispatches once.\\n3. Read the issue, linked dependencies, acceptance criteria, and target repository.\\n4. Start an independent OpenHands conversation that clones the GitHub repository, creates an issue-keyed branch, implements and tests the change, and opens a pull request.\\n5. Post the conversation and pull request links back to the Linear issue and update its status according to the team's workflow.\"\n}\n"],"x_google_ignoreList":[0],"mappings":""}
|