claude-code-best 2.6.8 → 2.6.9
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/dist/chunks/{AddWorkspaceDirectory-YmrkKVv2.js → AddWorkspaceDirectory-_RSNUS7K.js} +1 -1
- package/dist/chunks/{App-IAjCdPUn.js → App-4VqMMjIu.js} +1 -1
- package/dist/chunks/{ApproveApiKey-DhsT69v7.js → ApproveApiKey-B7oSxzWc.js} +1 -1
- package/dist/chunks/ApproveApiKey-Bmcop2Do.js +1 -0
- package/dist/chunks/{AssistantSessionChooser-DCUVNGfn.js → AssistantSessionChooser-Lf5l_1Dh.js} +1 -1
- package/dist/chunks/{BackgroundTasksDialog-Di_gH2TW.js → BackgroundTasksDialog-Ckgmqm6u.js} +1 -1
- package/dist/chunks/{BypassPermissionsModeDialog-BeZqE75e.js → BypassPermissionsModeDialog-DNqPpiPC.js} +1 -1
- package/dist/chunks/{ClaudeInChromeOnboarding-CZHktpPE.js → ClaudeInChromeOnboarding-BODZ64gw.js} +1 -1
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-Dofr1TYr.js → ClaudeMdExternalIncludesDialog-DLI6ey3G.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-DO61Zz-S.js +1 -0
- package/dist/chunks/ConsoleOAuthFlow-FSHC5mxO.js +1 -0
- package/dist/chunks/{DesktopHandoff-C8_CDNft.js → DesktopHandoff--xyI5kTQ.js} +1 -1
- package/dist/chunks/{DevChannelsDialog-DkGWCFpL.js → DevChannelsDialog-DJ4mHsA_.js} +1 -1
- package/dist/chunks/{DiffDialog-93P95op8.js → DiffDialog-CVWUlOjm.js} +1 -1
- package/dist/chunks/{Doctor-Zd0UaR5d.js → Doctor-DVoFX-9y.js} +1 -1
- package/dist/chunks/Doctor-Dcntgp5Z.js +1 -0
- package/dist/chunks/{ExitFlow-4edARxmd.js → ExitFlow-BKzQPr75.js} +1 -1
- package/dist/chunks/{Feedback-CZY-BikO.js → Feedback-hFZwDSRp.js} +1 -1
- package/dist/chunks/Grove-Cmcsx2UE.js +1 -0
- package/dist/chunks/{Grove-TYf1glGP.js → Grove-G0DtwY22.js} +1 -1
- package/dist/chunks/{HybridTransport-BNexuwcN.js → HybridTransport-xN03sWrt.js} +1 -1
- package/dist/chunks/{ITermBackend-DuomVpsD.js → ITermBackend-DzN3ZWds.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-Byury3Zx.js → InvalidConfigDialog-Iy4Su1Lm.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-B8_0AvWo.js → InvalidSettingsDialog-dx4y_nY-.js} +1 -1
- package/dist/chunks/{MCPConnectionManager-xL_wQCda.js → MCPConnectionManager-kVO-4BcA.js} +1 -1
- package/dist/chunks/{McpParsingWarnings-C6u4RM2a.js → McpParsingWarnings-D420-W8M.js} +1 -1
- package/dist/chunks/{MessageSelector-DAyH1noQ.js → MessageSelector-CDVC2CAj.js} +1 -1
- package/dist/chunks/{Messages-QH8_sB13.js → Messages-C5gVVVmY.js} +2 -2
- package/dist/chunks/{Onboarding-XWhelEBr.js → Onboarding-BkidUre_.js} +1 -1
- package/dist/chunks/{OverageCreditUpsell-BvPz1jLU.js → OverageCreditUpsell-DoRUucoN.js} +1 -1
- package/dist/chunks/{PluginSettings-D1YHfrE1.js → PluginSettings-DhpNtjTm.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-rqUoa9Ch.js → PromptInputFooterSuggestions-BnpXzkW9.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-OTViHSR0.js → PromptInputHelpMenu-DKbiO4C0.js} +1 -1
- package/dist/chunks/{QueryEngine-DigBggXq.js → QueryEngine-J15EOjWx.js} +1 -1
- package/dist/chunks/REPL-Dk3Ics9i.js +1 -0
- package/dist/chunks/{REPL-D2p-vgct.js → REPL-nrJ13J1o.js} +6 -6
- package/dist/chunks/{RemoteCallout-CCIWIrd-.js → RemoteCallout-DGXIcTKv.js} +1 -1
- package/dist/chunks/{RemoteSessionManager-Dx81p5dH.js → RemoteSessionManager-3KsuTCZM.js} +1 -1
- package/dist/chunks/{ResumeConversation-73r3Zh5P.js → ResumeConversation-kS7lkjJm.js} +1 -1
- package/dist/chunks/{SSETransport-C9hd2v-w.js → SSETransport-Cy1rXP6E.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-C998WSxs.js +1 -0
- package/dist/chunks/SentryErrorBoundary-BJLT-ebr.js +1 -0
- package/dist/chunks/{SentryErrorBoundary-z8tMb-zO.js → SentryErrorBoundary-B_6MfzRa.js} +1 -1
- package/dist/chunks/{Settings-D9qdaMe5.js → Settings-DBopjMkN.js} +2 -2
- package/dist/chunks/{TeleportProgress-CPXN7u3Z.js → TeleportProgress-CQUN_zoe.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-CiyXjTxq.js → TeleportRepoMismatchDialog-CPquWrd-.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-Dao8ktHk.js → TeleportResumeWrapper-NIFNCHIO.js} +1 -1
- package/dist/chunks/{ThemePicker-CFYFNnPp.js → ThemePicker-DnK0DStD.js} +1 -1
- package/dist/chunks/{TmuxBackend-B5DBBugq.js → TmuxBackend-C00k5RF9.js} +1 -1
- package/dist/chunks/{TrustDialog-DtIXHMR_.js → TrustDialog-CUnvtDeS.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-BK0wOS55.js → ValidationErrorsList-CJbO1qub.js} +1 -1
- package/dist/chunks/{WelcomeV2-BjUbi9vp.js → WelcomeV2-BBFGft_e.js} +1 -1
- package/dist/chunks/{WindowsTerminalBackend-DFLLlAOp.js → WindowsTerminalBackend-DSsgxuNK.js} +1 -1
- package/dist/chunks/{add-dir-JoVgNFOk.js → add-dir-BPqd010H.js} +1 -1
- package/dist/chunks/{agentDisplay-B3RjWR-3.js → agentDisplay-C0B1b_90.js} +1 -1
- package/dist/chunks/{agents-UqS5PhD2.js → agents-CYs7WGHP.js} +1 -1
- package/dist/chunks/{agents-BUyLUAIu.js → agents-DMzVeRly.js} +1 -1
- package/dist/chunks/{ant-Bq1wIvnP.js → ant-BO0Hmoii.js} +1 -1
- package/dist/chunks/api-B2HW-oZI.js +1 -0
- package/dist/chunks/{api-O4eHGLTY.js → api-DLLVkmRJ.js} +1 -1
- package/dist/chunks/asciicast-C3nf97NR.js +1 -0
- package/dist/chunks/{asciicast-o5Zg4dJt.js → asciicast-DIsaWcsJ.js} +1 -1
- package/dist/chunks/assistant-BmM44yln.js +1 -0
- package/dist/chunks/{assistant-CMIbt3Ir.js → assistant-CHp4-EaF.js} +1 -1
- package/dist/chunks/{assistant-D5Tg_1ry.js → assistant-_dIpsqHM.js} +1 -1
- package/dist/chunks/{auth-D3SKo0wT.js → auth-DelyQc8g.js} +1 -1
- package/dist/chunks/auth-ndSNSeqS.js +1 -0
- package/dist/chunks/{autoMode-BIVJlkBM.js → autoMode-D3-o7xPK.js} +1 -1
- package/dist/chunks/{autonomy-Mi7Fkq1J.js → autonomy-CzSRoxjl.js} +1 -1
- package/dist/chunks/{autonomy-BYi6z9LD.js → autonomy-tTAucjip.js} +1 -1
- package/dist/chunks/{autonomyPanel-D_GsUMOf.js → autonomyPanel-DcK8N52K.js} +1 -1
- package/dist/chunks/{backgroundHousekeeping-BG_UYxFF.js → backgroundHousekeeping-Bbkz61_-.js} +2 -2
- package/dist/chunks/backgroundHousekeeping-DVo3ndZr.js +1 -0
- package/dist/chunks/{branch-BC-K45fw.js → branch-ZJF4xAh9.js} +1 -1
- package/dist/chunks/{bridge-DBteRzgS.js → bridge-C6gSt_32.js} +2 -2
- package/dist/chunks/{bridgeConfig-C_GoD1k5.js → bridgeConfig-DXUNQp2l.js} +1 -1
- package/dist/chunks/bridgeConfig-ZcbBdhji.js +1 -0
- package/dist/chunks/bridgeEnabled-D5qCI5v2.js +1 -0
- package/dist/chunks/{bridgeEnabled-cSK8a7tN.js → bridgeEnabled-G6vxQV-7.js} +1 -1
- package/dist/chunks/bridgeMain-B4Zv8UOe.js +1 -0
- package/dist/chunks/{bridgeMain-QbfEOTqV.js → bridgeMain-DlnIQOtX.js} +6 -6
- package/dist/chunks/{bridgeMessaging-CqXQzew4.js → bridgeMessaging-mek-AaFi.js} +1 -1
- package/dist/chunks/{bridgePointer-FvAMj3re.js → bridgePointer-B2FPGDWR.js} +1 -1
- package/dist/chunks/{btw-DBtPlEWc.js → btw-Cz2lyle-.js} +1 -1
- package/dist/chunks/{buddy-BYwTgNnf.js → buddy-BMqKttFw.js} +1 -1
- package/dist/chunks/{bypassPermissionsKillswitch-DkYLp9m0.js → bypassPermissionsKillswitch-BxvX48jr.js} +1 -1
- package/dist/chunks/caches-D_W3nCFE.js +1 -0
- package/dist/chunks/{caches-DGW9ovtw.js → caches-wtRUk5y5.js} +2 -2
- package/dist/chunks/{ccrClient-B9pi3b8Y.js → ccrClient-BOrmrmgF.js} +1 -1
- package/dist/chunks/changeDetector-CUsHUdul.js +1 -0
- package/dist/chunks/channelNotification-CLVU5AuO.js +1 -0
- package/dist/chunks/{channelNotification-n7Avue-9.js → channelNotification-D8do6HUN.js} +1 -1
- package/dist/chunks/{chrome-BwZPfW9Z.js → chrome-JF2BXNK6.js} +1 -1
- package/dist/chunks/clear-BP-G1JWa.js +1 -0
- package/dist/chunks/client-BHfY6SC5.js +1 -0
- package/dist/chunks/{color-BsBrog6H.js → color-oh8CGhkI.js} +1 -1
- package/dist/chunks/commands-E0eNJ_XZ.js +1 -0
- package/dist/chunks/commitAttribution-B4DOgUS7.js +1 -0
- package/dist/chunks/{commitAttribution-q7SEukgl.js → commitAttribution-CUdm_sRl.js} +1 -1
- package/dist/chunks/{compact-DiY1w7pT.js → compact-R6vMbGQQ.js} +1 -1
- package/dist/chunks/{companion-D18UNnC7.js → companion-ClxqTyG9.js} +1 -1
- package/dist/chunks/{config-D3QKcEKz.js → config-BQ-MayP6.js} +1 -1
- package/dist/chunks/{config-CSHnElBp.js → config-CPK9PlWS.js} +1 -1
- package/dist/chunks/{context-DnyYrN2X.js → context-CWfsKYEB.js} +1 -1
- package/dist/chunks/{context-noninteractive-CFlod2Eg.js → context-noninteractive-BJ4hE3MX.js} +1 -1
- package/dist/chunks/context-noninteractive-D1Kxn5e0.js +1 -0
- package/dist/chunks/conversation-C23rDJe3.js +1 -0
- package/dist/chunks/{conversation-CRoOMglD.js → conversation-DizpkPtq.js} +1 -1
- package/dist/chunks/{copy-CHGX-YpC.js → copy-BuPCS2HG.js} +1 -1
- package/dist/chunks/{createSSHSession-Bf-8h3Sw.js → createSSHSession-Di9Je4Th.js} +1 -1
- package/dist/chunks/createSession-Bsa0VJKS.js +1 -0
- package/dist/chunks/{createSession-rRZIkjl3.js → createSession-D6v0lBtG.js} +1 -1
- package/dist/chunks/{cronJitterConfig-DmBBJDTf.js → cronJitterConfig-By18m-PD.js} +1 -1
- package/dist/chunks/{crossProjectResume-BQxLBpDD.js → crossProjectResume-C4YT2T6P.js} +1 -1
- package/dist/chunks/{datadog-Bb65d6yd.js → datadog-BFSdlK6C.js} +1 -1
- package/dist/chunks/datadog-MUvg76p3.js +1 -0
- package/dist/chunks/{desktop-DiCA6RUU.js → desktop-Bd-JHrBo.js} +1 -1
- package/dist/chunks/{diff-BvLQ-t8P.js → diff-DGmINgOc.js} +1 -1
- package/dist/chunks/{directoryCompletion-DP_4B1GL.js → directoryCompletion-D7EGwonO.js} +1 -1
- package/dist/chunks/{doctor-bmTXLycZ.js → doctor-DQ42RQPx.js} +1 -1
- package/dist/chunks/{effort-CSTwkB2B.js → effort-E6XjzPYR.js} +1 -1
- package/dist/chunks/entry-Di8oWZUk.js +14 -0
- package/dist/chunks/{envLessBridgeConfig-DJJKeDBT.js → envLessBridgeConfig-BNvozi46.js} +1 -1
- package/dist/chunks/envLessBridgeConfig-CUTBQKDY.js +1 -0
- package/dist/chunks/{exit-eirVuF-n.js → exit-CVlpMwCq.js} +1 -1
- package/dist/chunks/{export-CcJD8r8U.js → export-CXcPQd0T.js} +1 -1
- package/dist/chunks/{exportRenderer-DtezFcml.js → exportRenderer-B9WXgMV2.js} +1 -1
- package/dist/chunks/{extra-usage-CBcgeIcJ.js → extra-usage-B2KmuAZe.js} +1 -1
- package/dist/chunks/extra-usage-DVtAa1zD.js +1 -0
- package/dist/chunks/{extra-usage-core-DWM0Q56J.js → extra-usage-core-B20tawuN.js} +1 -1
- package/dist/chunks/{extra-usage-noninteractive-BvJEi4WX.js → extra-usage-noninteractive-DZRe98BZ.js} +1 -1
- package/dist/chunks/{extraUsage-CWde-Mi0.js → extraUsage-CxqJdnGC.js} +1 -1
- package/dist/chunks/extractMemories-8uB606Y0.js +1 -0
- package/dist/chunks/{fast-DQyJ7c7s.js → fast-CPmJ2bp3.js} +1 -1
- package/dist/chunks/fast-DTGg3pRh.js +1 -0
- package/dist/chunks/{feedback-BzBBKT2y.js → feedback-4GY3ahvw.js} +1 -1
- package/dist/chunks/{firstPartyEventLogger-BOHIpp-w.js → firstPartyEventLogger-CISUrAsf.js} +1 -1
- package/dist/chunks/{flushGate-DeCDhkKp.js → flushGate-Dr8sMjB7.js} +1 -1
- package/dist/chunks/gates-BbF5S-Dy.js +1 -0
- package/dist/chunks/{gates-CAVdjC23.js → gates-DI4pxvrD.js} +1 -1
- package/dist/chunks/{gemini-CFrOUVS4.js → gemini-Dcfosr2Z.js} +1 -1
- package/dist/chunks/{generateRecap-Bcp5DiiO.js → generateRecap-CH_fgtxk.js} +1 -1
- package/dist/chunks/{generateSessionName-DeFGkHct.js → generateSessionName-DO0R__8w.js} +1 -1
- package/dist/chunks/{githubRepoPathMapping-B07Wb07_.js → githubRepoPathMapping-D5I8CVDz.js} +1 -1
- package/dist/chunks/{grok-DtidcVWD.js → grok-X0FzcE6Y.js} +1 -1
- package/dist/chunks/{growthbook-gLwBDK-r.js → growthbook-DZPT2JzB.js} +1 -1
- package/dist/chunks/{heapdump-BxQYlnPR.js → heapdump-Cq6i0wJH.js} +1 -1
- package/dist/chunks/{help-Bi0sABuv.js → help-B8ddA-Ec.js} +1 -1
- package/dist/chunks/{hooks-Cc_DxF9N.js → hooks-CvFNccdv.js} +1 -1
- package/dist/chunks/hooks-gwB4Eotj.js +1 -0
- package/dist/chunks/{hostAdapter-D9_d4gU0.js → hostAdapter-D3s4JFk-.js} +1 -1
- package/dist/chunks/{ide-3wDIOoZF.js → ide-CzxV5_D7.js} +1 -1
- package/dist/chunks/{inboundAttachments-DPMETKd6.js → inboundAttachments-B3ZTyNKF.js} +1 -1
- package/dist/chunks/inboundAttachments-DxrrrqBW.js +1 -0
- package/dist/chunks/{initReplBridge-BWP41EGm.js → initReplBridge-DWpGy3aE.js} +1 -1
- package/dist/chunks/{insights-w7qM4YyA.js → insights-DiWlKgVQ.js} +1 -1
- package/dist/chunks/{install-N2FgArWv.js → install-BFpg1zm1.js} +1 -1
- package/dist/chunks/{install-github-app-By39Zi78.js → install-github-app-BUCGGSw0.js} +1 -1
- package/dist/chunks/{install-slack-app-CVwZphU-.js → install-slack-app-D5JDqzbs.js} +1 -1
- package/dist/chunks/{instrumentation-BkLEupDC.js → instrumentation--BToLJT9.js} +3 -3
- package/dist/chunks/{job-CgBE27O7.js → job-mUyxSEc2.js} +1 -1
- package/dist/chunks/{keybindings-DHXJzU3E.js → keybindings-D4DbE4G0.js} +1 -1
- package/dist/chunks/{lang-DLneRt1b.js → lang-cMcnaxAR.js} +1 -1
- package/dist/chunks/language-DC6bsdvI.js +1 -0
- package/dist/chunks/{language-BVAzlrRz.js → language-sTn9sA3E.js} +1 -1
- package/dist/chunks/{launchAgentsPlatform-CtfK0qPa.js → launchAgentsPlatform-CAfyCAsQ.js} +1 -1
- package/dist/chunks/{launchAutofixPr-CQBv0rQ0.js → launchAutofixPr-CSMamZS6.js} +1 -1
- package/dist/chunks/{launchLocalMemory-BNE09TKr.js → launchLocalMemory-nYAwNsNT.js} +1 -1
- package/dist/chunks/{launchLocalVault-Dw_NJUnd.js → launchLocalVault-yPp8S-tG.js} +1 -1
- package/dist/chunks/{launchMemoryStores-CRRB6Z5A.js → launchMemoryStores-Dk3SXucB.js} +1 -1
- package/dist/chunks/{launchOnboarding-nMAF5iv7.js → launchOnboarding-BoqmHyRx.js} +1 -1
- package/dist/chunks/{launchSchedule-Akq1AmK8.js → launchSchedule-C2HBjD6C.js} +1 -1
- package/dist/chunks/{launchSkillStore-Zwtasj13.js → launchSkillStore-B5Yjvi-k.js} +1 -1
- package/dist/chunks/{launchTeleport-BzlIYyll.js → launchTeleport-BayvAnwh.js} +1 -1
- package/dist/chunks/{launchVault-BevXlxJB.js → launchVault-BszsgPbZ.js} +1 -1
- package/dist/chunks/loadAgentsDir-6_9ZFegv.js +1 -0
- package/dist/chunks/{loadAgentsDir-DF6FgRn-.js → loadAgentsDir-Cl2w3uvH.js} +53 -53
- package/dist/chunks/{loadPluginHooks-DBHkyJaj.js → loadPluginHooks-YHtjByxm.js} +1 -1
- package/dist/chunks/{localSearch-v4itMlCM.js → localSearch-CpeqVibs.js} +1 -1
- package/dist/chunks/localSearch-DbEm6f3k.js +1 -0
- package/dist/chunks/login-D2x89UCR.js +1 -0
- package/dist/chunks/{login-CKodBzyZ.js → login-TVtq34WQ.js} +1 -1
- package/dist/chunks/{logoV2Utils-VebeEs7Y.js → logoV2Utils-DwaRnvOY.js} +1 -1
- package/dist/chunks/logout-BBPihkXp.js +1 -0
- package/dist/chunks/{magicDocs-uX5n3NKh.js → magicDocs-_yNWB88A.js} +1 -1
- package/dist/chunks/{main-Cd_i0ZPo.js → main-gTbhsbIs.js} +15 -15
- package/dist/chunks/{mappers-CPL2ni36.js → mappers-COd8OOml.js} +1 -1
- package/dist/chunks/{mcp-Dhp1SaId.js → mcp-CChzTC5v.js} +2 -2
- package/dist/chunks/{mcp-Ci_TbB5m.js → mcp-D-0wE0nJ.js} +1 -1
- package/dist/chunks/{mcp-DeWOD4B4.js → mcp-DoraEndj.js} +1 -1
- package/dist/chunks/{mcpServer-CPJo2eKm.js → mcpServer-CpBN77YB.js} +1 -1
- package/dist/chunks/{mcpServer-CTuPkyD6.js → mcpServer-Wd9rZG_E.js} +1 -1
- package/dist/chunks/{memory-enMuKEnU.js → memory-I21QZZ9h.js} +1 -1
- package/dist/chunks/{model-4f3U2YMu.js → model-BrHh21Db.js} +1 -1
- package/dist/chunks/model-C6_WjCy0.js +1 -0
- package/dist/chunks/{onChangeAppState-DxTGoS7j.js → onChangeAppState-Cn_HSmmQ.js} +1 -1
- package/dist/chunks/{openai-CwG_KpH1.js → openai-BD2V4lHN.js} +1 -1
- package/dist/chunks/{overageCreditGrant-CCkJVN9k.js → overageCreditGrant-B47t5a73.js} +1 -1
- package/dist/chunks/{passes-O0VEQz1a.js → passes-DAOPYX0C.js} +1 -1
- package/dist/chunks/{path-C4kbwvSH.js → path-B3lx7yHn.js} +1 -1
- package/dist/chunks/{paths-o5iA-EnQ.js → paths-q1-Ni8Oh.js} +3 -3
- package/dist/chunks/{permissions-BtYQvivG.js → permissions-BmxTU-Pk.js} +1 -1
- package/dist/chunks/{pipeTransport-BEfqa7Uh.js → pipeTransport-DnHE3axn.js} +1 -1
- package/dist/chunks/{plan-Jw4GjVL0.js → plan-4dmnQ9bv.js} +1 -1
- package/dist/chunks/{plugin-DZq0voFR.js → plugin-CG7lJIpf.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-D19vNoOp.js → pluginAutoupdate-CPLuidh-.js} +1 -1
- package/dist/chunks/{pluginBlocklist-DeX8I4dK.js → pluginBlocklist-BHxIUqu4.js} +1 -1
- package/dist/chunks/{pluginCliCommands-CMgqxOaT.js → pluginCliCommands-BcDIvxR3.js} +1 -1
- package/dist/chunks/{pluginFlagging-DFLE5fkh.js → pluginFlagging-Dh6rYOvj.js} +1 -1
- package/dist/chunks/{pluginOperations-BTz69m3_.js → pluginOperations-fdLcp72i.js} +1 -1
- package/dist/chunks/{pluginStartupCheck-CWWKwD5F.js → pluginStartupCheck-Dy7EckW4.js} +1 -1
- package/dist/chunks/pluginStartupCheck-fyqW-stg.js +1 -0
- package/dist/chunks/{plugins-BPUnAc0r.js → plugins-C3-iYKTp.js} +1 -1
- package/dist/chunks/policyLimits-DUGrXcje.js +1 -0
- package/dist/chunks/{pollConfig-DyHumJli.js → pollConfig-BGXMaSla.js} +1 -1
- package/dist/chunks/{poor-CHHZIPDW.js → poor-CxAil0Mi.js} +1 -1
- package/dist/chunks/poorMode-BkPHRLuG.js +1 -0
- package/dist/chunks/{poorMode-7N6J6YN2.js → poorMode-DFcYVnMT.js} +1 -1
- package/dist/chunks/{print-QCXJDmz0.js → print-Cog1o-Tw.js} +4 -4
- package/dist/chunks/{privacy-settings-DR0_P3JF.js → privacy-settings-D6g7p6sB.js} +1 -1
- package/dist/chunks/{processBashCommand-CkqKsBSD.js → processBashCommand-DqgujTR4.js} +1 -1
- package/dist/chunks/{processSlashCommand-DIk_hLHW.js → processSlashCommand-DUPS9Xx3.js} +1 -1
- package/dist/chunks/prompt-B-8CD-W_.js +1 -0
- package/dist/chunks/{prompt-DiHksuOs.js → prompt-BmOnuQfF.js} +1 -1
- package/dist/chunks/prompt-Da3gIGA8.js +1 -0
- package/dist/chunks/{promptEditor-B3S5E5Q7.js → promptEditor-ClGwMkWl.js} +1 -1
- package/dist/chunks/{protocolHandler-D1XT2l3j.js → protocolHandler--b0d38gF.js} +1 -1
- package/dist/chunks/{rate-limit-options-DHh1ksB5.js → rate-limit-options-DD2ZRREl.js} +1 -1
- package/dist/chunks/{rcDebugLog-BNojB_eB.js → rcDebugLog-fhwD4wm-.js} +1 -1
- package/dist/chunks/{referral-BADm5sBf.js → referral-rRvT6UDX.js} +1 -1
- package/dist/chunks/{refresh-D48fjYJ4.js → refresh-C7S_6LOQ.js} +1 -1
- package/dist/chunks/{registerProtocol-Dzmi6VC4.js → registerProtocol-Bu_tz5Au.js} +1 -1
- package/dist/chunks/{registry-CEu_N3dS.js → registry-Bk0vdx_8.js} +1 -1
- package/dist/chunks/{release-notes-Dr61jYDO.js → release-notes-BShc_V-B.js} +1 -1
- package/dist/chunks/{releaseNotes-5SV7C5aV.js → releaseNotes-D3wZdQVZ.js} +2 -2
- package/dist/chunks/{reload-plugins-BxuE-21F.js → reload-plugins-CpytFAAC.js} +1 -1
- package/dist/chunks/{remote-env-BaQjT5em.js → remote-env-B9Of1v31.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-B8MjcW6f.js → remoteBridgeCore-BXp6nJ8q.js} +1 -1
- package/dist/chunks/{remoteControlServer-BvoNcg9D.js → remoteControlServer-BvlTaHu4.js} +1 -1
- package/dist/chunks/{rename-B3q0tgmd.js → rename-DhTddAd7.js} +1 -1
- package/dist/chunks/{resume-BSGOqus7.js → resume-DwVeFqnc.js} +1 -1
- package/dist/chunks/{runtimeObserver-Bb6wSUMJ.js → runtimeObserver-BtgDP8Gz.js} +1 -1
- package/dist/chunks/{runtimeObserver-BbwUiToa.js → runtimeObserver-dtT0QHYO.js} +2 -2
- package/dist/chunks/sandbox-adapter-Cm8kCM_U.js +1 -0
- package/dist/chunks/{sandbox-toggle-L7YPKXba.js → sandbox-toggle-CG2vZNAb.js} +1 -1
- package/dist/chunks/searchExtraTools-D-RZ9DId.js +1 -0
- package/dist/chunks/{sentry-DG3ru8XE.js → sentry-DFk8bzvt.js} +1 -1
- package/dist/chunks/{session-B5wA2K9M.js → session-DifFcUdR.js} +1 -1
- package/dist/chunks/{sessionDiscovery-DijWFNjj.js → sessionDiscovery-CRbLIQv1.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-Bixkjai4.js +1 -0
- package/dist/chunks/{sessionMemory-CeWjRuFL.js → sessionMemory-BdptRKL8.js} +1 -1
- package/dist/chunks/sessionMemory-T1K_mJRE.js +1 -0
- package/dist/chunks/sessionMemoryUtils-q3xRtP-z.js +1 -0
- package/dist/chunks/{sessionObserver-CsDT2GnB.js → sessionObserver-D3vw6SJ_.js} +1 -1
- package/dist/chunks/sessionObserver-i_3day_6.js +1 -0
- package/dist/chunks/sessionStorage-CusaYoh0.js +1 -0
- package/dist/chunks/sessionStoragePortable-DJZ_6cL8.js +3 -0
- package/dist/chunks/{sessionTitle-CxmvZO71.js → sessionTitle-DnvlYJ-c.js} +1 -1
- package/dist/chunks/{sessionTracing-Cy5dAplG.js → sessionTracing-BkzKJi0v.js} +1 -1
- package/dist/chunks/{settingsSync-54E8xV8N.js → settingsSync-CHZVpM34.js} +1 -1
- package/dist/chunks/{setup-GJtdESQj.js → setup-BfecYO-n.js} +1 -1
- package/dist/chunks/{setup-B5CMpp0c.js → setup-BpwYOhci.js} +2 -2
- package/dist/chunks/{setup-KWELOokh.js → setup-GxlEx1KG.js} +1 -1
- package/dist/chunks/{shadowedRuleDetection-C4NGjljb.js → shadowedRuleDetection-FNzEipG0.js} +1 -1
- package/dist/chunks/{sideQuestion-DBrzdgkl.js → sideQuestion-Bfa0SZn5.js} +1 -1
- package/dist/chunks/sink-BSwQ045N.js +1 -0
- package/dist/chunks/{sink-BKc24wdw.js → sink-DpAjuilF.js} +1 -1
- package/dist/chunks/{sinks-BTS1DWM4.js → sinks-C37Xl5c3.js} +2 -2
- package/dist/chunks/sinks-DHHmQJi-.js +1 -0
- package/dist/chunks/{skill-learning-C5NrosiL.js → skill-learning-BSeEbCnP.js} +1 -1
- package/dist/chunks/{skillChangeDetector-NJrEtU47.js → skillChangeDetector-BEDBRGbY.js} +1 -1
- package/dist/chunks/{skillGapStore-D1rkePoo.js → skillGapStore-B4GmZRJ0.js} +2 -2
- package/dist/chunks/{skillGapStore-uXpRqLGG.js → skillGapStore-BCO6YB3H.js} +1 -1
- package/dist/chunks/{skillGenerator-Deog7yBO.js → skillGenerator-QgDWAvzK.js} +2 -2
- package/dist/chunks/skillLearning-CFYgFRPE.js +1 -0
- package/dist/chunks/skillLearning-en7AuVDZ.js +1 -0
- package/dist/chunks/{skillPanel-Bx63GX9w.js → skillPanel-srZjMIbC.js} +3 -3
- package/dist/chunks/{skillSearchPanel-CM5EZGkH.js → skillSearchPanel-DTvHcwNK.js} +2 -2
- package/dist/chunks/{skills-JvC7Ms0P.js → skills-BlVUkWg4.js} +1 -1
- package/dist/chunks/{sprites-YBiqlYch.js → sprites-QO9r_mXk.js} +1 -1
- package/dist/chunks/{stats-BJMKNvVK.js → stats-DdXM-u7l.js} +1 -1
- package/dist/chunks/{status-DAJ28yxZ.js → status-BIZWtZqI.js} +1 -1
- package/dist/chunks/{statusNoticeHelpers-B7nbsqLz.js → statusNoticeHelpers-9sIAjiE6.js} +1 -1
- package/dist/chunks/{tag-B4y7cBqH.js → tag-DDJ8pAsl.js} +1 -1
- package/dist/chunks/{tasks-CSye58Ap.js → tasks-DYt6udr3.js} +1 -1
- package/dist/chunks/{teamHelpers-BFZ4eVwW.js → teamHelpers-BJuKEuyS.js} +1 -1
- package/dist/chunks/teamHelpers-Cw5dPQor.js +1 -0
- package/dist/chunks/teammateModeSnapshot-BXC7ssXX.js +1 -0
- package/dist/chunks/{teammateModeSnapshot-DXc2vyo2.js → teammateModeSnapshot-Zp1weNIZ.js} +1 -1
- package/dist/chunks/{teleport-NN6zSxxe.js → teleport-DkoFG3EI.js} +1 -1
- package/dist/chunks/{templateJobs-DAVqqU0g.js → templateJobs-V2-TVeGE.js} +1 -1
- package/dist/chunks/{terminalSetup-DqL65XR2.js → terminalSetup-DMUDhXur.js} +1 -1
- package/dist/chunks/{terminalSetup-jZKBoPTc.js → terminalSetup-l0Vv_v1c.js} +1 -1
- package/dist/chunks/{theme-DPv2L3ut.js → theme-Dm1yCDce.js} +1 -1
- package/dist/chunks/thinkback-D1mk7cq1.js +1 -0
- package/dist/chunks/{thinkback-tcfR5Uod.js → thinkback-DQAZE5SA.js} +1 -1
- package/dist/chunks/{thinkback-play-D_uOESmO.js → thinkback-play-BJcGmc9X.js} +1 -1
- package/dist/chunks/{toolEventObserver-D6ZTtdh_.js → toolEventObserver-BgkqkNwy.js} +1 -1
- package/dist/chunks/{toolEventObserver-CtApZXry.js → toolEventObserver-C-BImvCz.js} +1 -1
- package/dist/chunks/toolPool-DNH5H4Jg.js +1 -0
- package/dist/chunks/{toolPool-DFpa-yul.js → toolPool-DYvz_Mjt.js} +1 -1
- package/dist/chunks/{trustedDevice-DsgCQRsJ.js → trustedDevice-BDrK9AQ6.js} +1 -1
- package/dist/chunks/{trustedDevice-Bxn7WW5C.js → trustedDevice-CXsk3eij.js} +1 -1
- package/dist/chunks/{ultrareviewCommand-BfuSrdXz.js → ultrareviewCommand-Bc8hMzHz.js} +1 -1
- package/dist/chunks/undercover-DUrQYxYo.js +1 -0
- package/dist/chunks/{undercover-CM8zTx5g.js → undercover-kRoI_nlN.js} +1 -1
- package/dist/chunks/{updateCCB-DTArxdyR.js → updateCCB-BPGNN7VA.js} +1 -1
- package/dist/chunks/upgrade-BTI562Ce.js +1 -0
- package/dist/chunks/{upgrade-CEd1Jxw_.js → upgrade-DmEGLk6v.js} +1 -1
- package/dist/chunks/{upload-DNo3bZLc.js → upload-49qk5TBL.js} +1 -1
- package/dist/chunks/{usage-X4-qec8g.js → usage-DhJDFJVx.js} +1 -1
- package/dist/chunks/{usage-DEwRsc7E.js → usage-sYgTL8wR.js} +1 -1
- package/dist/chunks/{useMainLoopModel-2A9HV1H3.js → useMainLoopModel-CJaR_qEJ.js} +1 -1
- package/dist/chunks/{useManagePlugins-D9MBag8O.js → useManagePlugins-B1FpmxFo.js} +1 -1
- package/dist/chunks/{useMergedTools-DCYrP_YE.js → useMergedTools-eMPZ95TX.js} +1 -1
- package/dist/chunks/{useSearchInput-CepwLBvi.js → useSearchInput-CR-b0Qi6.js} +1 -1
- package/dist/chunks/{useSettingsErrors-C8ffWXbY.js → useSettingsErrors-p-PFBeaC.js} +1 -1
- package/dist/chunks/{useVoice-vHZVaTAN.js → useVoice-D3PqTfCK.js} +1 -1
- package/dist/chunks/{util-B13MVSse.js → util-BZ2fS3PR.js} +1 -1
- package/dist/chunks/utils-hhztcb0b.js +1 -0
- package/dist/chunks/{validatePlugin-Cf_toBOJ.js → validatePlugin-QtcXXmZu.js} +1 -1
- package/dist/chunks/{vim-6p7eiRPG.js → vim-LmepJftY.js} +1 -1
- package/dist/chunks/{voice-Bvc_BxoI.js → voice-CNRTt4gH.js} +1 -1
- package/dist/chunks/voiceModeEnabled-B57V7REx.js +1 -0
- package/dist/chunks/{voiceModeEnabled-BPbOh6jd.js → voiceModeEnabled-wWM929QG.js} +1 -1
- package/dist/chunks/{voiceStreamSTT-CzCUhap3.js → voiceStreamSTT-CnK9GN6Q.js} +1 -1
- package/dist/chunks/voiceStreamSTT-Dp-1uSjP.js +1 -0
- package/dist/chunks/{workerRegistry-DCtC-WN3.js → workerRegistry-CrIpKIZe.js} +1 -1
- package/dist/chunks/worktree-YbEK6b36.js +1 -0
- package/dist/chunks/{xml-CqxiCY4v.js → xml-CMdTGiv6.js} +1 -1
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/ApproveApiKey-CAvlRKLr.js +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-DrkzPawC.js +0 -1
- package/dist/chunks/ConsoleOAuthFlow-CtqOQRDT.js +0 -1
- package/dist/chunks/Doctor-CheDaF3O.js +0 -1
- package/dist/chunks/Grove-CbcR0CsI.js +0 -1
- package/dist/chunks/REPL-Cxh0Qnnt.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-BNpA8JzR.js +0 -1
- package/dist/chunks/SentryErrorBoundary-BFwcMSIK.js +0 -1
- package/dist/chunks/api-kAjsowcb.js +0 -1
- package/dist/chunks/asciicast-aoKFhc7C.js +0 -1
- package/dist/chunks/assistant-nOCkNa3_.js +0 -1
- package/dist/chunks/auth-CDOk9J9A.js +0 -1
- package/dist/chunks/backgroundHousekeeping-wHy1eAso.js +0 -1
- package/dist/chunks/bridgeConfig-V_pmBzSH.js +0 -1
- package/dist/chunks/bridgeEnabled-BxtxHb8R.js +0 -1
- package/dist/chunks/bridgeMain-CMNptMs4.js +0 -1
- package/dist/chunks/caches-B-GiT9hm.js +0 -1
- package/dist/chunks/changeDetector-S1Jti1bW.js +0 -1
- package/dist/chunks/channelNotification-Bx6dpA7I.js +0 -1
- package/dist/chunks/clear-BXv0Sq3m.js +0 -1
- package/dist/chunks/client-DNQukPEE.js +0 -1
- package/dist/chunks/commands-BK3ugb0u.js +0 -1
- package/dist/chunks/commitAttribution-CtQYmnw-.js +0 -1
- package/dist/chunks/context-noninteractive-0YpW67KZ.js +0 -1
- package/dist/chunks/conversation-DCG0fiGV.js +0 -1
- package/dist/chunks/createSession-BYf27ahD.js +0 -1
- package/dist/chunks/datadog-NnzM1Mu3.js +0 -1
- package/dist/chunks/entry-BUwwv2dM.js +0 -14
- package/dist/chunks/envLessBridgeConfig-Dq02Vvx1.js +0 -1
- package/dist/chunks/extra-usage-DhB0NElh.js +0 -1
- package/dist/chunks/extractMemories-wcRNh_jz.js +0 -1
- package/dist/chunks/fast-ukzN3wl2.js +0 -1
- package/dist/chunks/gates-CB_pFChT.js +0 -1
- package/dist/chunks/hooks-BTBhK9sh.js +0 -1
- package/dist/chunks/inboundAttachments-DBaPmCTv.js +0 -1
- package/dist/chunks/language-ZBygqv6V.js +0 -1
- package/dist/chunks/loadAgentsDir-OIIKHPq9.js +0 -1
- package/dist/chunks/localSearch-DslXIfeC.js +0 -1
- package/dist/chunks/login-CTIVwgFU.js +0 -1
- package/dist/chunks/logout-B3MyP8fk.js +0 -1
- package/dist/chunks/model-BsHyPvD0.js +0 -1
- package/dist/chunks/pluginStartupCheck-Non969kz.js +0 -1
- package/dist/chunks/policyLimits-D6dpS-CU.js +0 -1
- package/dist/chunks/poorMode-DX4EXe0o.js +0 -1
- package/dist/chunks/prompt-2ia5b-QO.js +0 -1
- package/dist/chunks/prompt-CNtVpGdl.js +0 -1
- package/dist/chunks/sandbox-adapter-Cr6f6gjf.js +0 -1
- package/dist/chunks/searchExtraTools-DRVIhwVJ.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-DnbPctQc.js +0 -1
- package/dist/chunks/sessionMemory-BOT9f5f0.js +0 -1
- package/dist/chunks/sessionMemoryUtils-B47JMJa2.js +0 -1
- package/dist/chunks/sessionObserver-BNZflr2e.js +0 -1
- package/dist/chunks/sessionStorage-BUuPrnU0.js +0 -1
- package/dist/chunks/sessionStoragePortable-BI9q2WcJ.js +0 -3
- package/dist/chunks/sink-DG0SNHP7.js +0 -1
- package/dist/chunks/sinks-Cbp-8X1S.js +0 -1
- package/dist/chunks/skillLearning-BHjRTDJw.js +0 -1
- package/dist/chunks/skillLearning-By7jxHSI.js +0 -1
- package/dist/chunks/teamHelpers-CKBoDEPj.js +0 -1
- package/dist/chunks/teammateModeSnapshot-BfOLEMKn.js +0 -1
- package/dist/chunks/thinkback-B0OSwcPG.js +0 -1
- package/dist/chunks/toolPool-DqemSx_r.js +0 -1
- package/dist/chunks/undercover-B-R6dhHB.js +0 -1
- package/dist/chunks/upgrade-CCrHxXrm.js +0 -1
- package/dist/chunks/utils-C-vk0zpl.js +0 -1
- package/dist/chunks/voiceModeEnabled-JSBux8GA.js +0 -1
- package/dist/chunks/voiceStreamSTT-D9ER6Ml3.js +0 -1
- package/dist/chunks/worktree-Dv0mPuy_.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{E as t,R as n,V as r,w as i}from"./debug-UI3T040K.js";import{_T as a,dT as o,gT as s,lT as c,mT as l,uT as u,vT as d,yT as f}from"./loadAgentsDir-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{E as t,R as n,V as r,w as i}from"./debug-UI3T040K.js";import{_T as a,dT as o,gT as s,lT as c,mT as l,uT as u,vT as d,yT as f}from"./loadAgentsDir-Cl2w3uvH.js";import{r as p,t as m}from"./promptEditor-ClGwMkWl.js";import{dirname as h}from"path";import{mkdir as g,writeFile as _}from"fs/promises";function v(e){let t=new Set(l.map(e=>a(e.key)));return e.map(e=>{let n={};for(let[r,i]of Object.entries(e.bindings))t.has(a(r))||(n[r]=i);return{context:e.context,bindings:n}}).filter(e=>Object.keys(e.bindings).length>0)}function y(){return t({$schema:`https://www.schemastore.org/claude-code-keybindings.json`,$docs:`https://code.claude.com/docs/en/keybindings`,bindings:v(d)},null,2)+`
|
|
2
2
|
`}var b=e((()=>{i(),f(),s()}));async function x(){if(!o())return{type:`text`,value:`Keybinding customization is not enabled. This feature is currently in preview.`};let e=c(),t=!1;await g(h(e),{recursive:!0});try{await _(e,y(),{encoding:`utf-8`,flag:`wx`})}catch(e){if(n(e)===`EEXIST`)t=!0;else throw e}let r=await m(e);return r.error?{type:`text`,value:`${t?`Opened`:`Created`} ${e}. Could not open in editor: ${r.error}`}:{type:`text`,value:t?`Opened ${e} in your editor.`:`Created ${e} with template. Opened in your editor.`}}e((()=>{u(),b(),r(),p()}))();export{x as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{Ac as t,Pc as n,Sc as r}from"./paths-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{Ac as t,Pc as n,Sc as r}from"./paths-q1-Ni8Oh.js";import{n as i,r as a,t as o}from"./language-sTn9sA3E.js";async function s(e,t,a){let s=a.trim().toLowerCase();if(!s){let t=r().preferredLanguage??`auto`,n=i(),a=t===`auto`?` → ${o(n)}`:``;return e(`Language: ${o(t)}${a}`,{display:`system`}),null}if(!c.includes(s))return e(`Invalid language "${s}". Use: en, zh, or auto`,{display:`system`}),null;let l=s;n(e=>({...e,preferredLanguage:l}));let u=i(),d=l===`auto`?` → ${o(u)}`:``;return e(`Language set to ${o(l)}${d}`,{display:`system`}),null}var c;e((()=>{t(),a(),c=[`en`,`zh`,`auto`]}))();export{s as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t}from"./language-sTn9sA3E.js";t();export{e as getResolvedLanguage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{Ac as t,Sc as n}from"./paths-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{Ac as t,Sc as n}from"./paths-q1-Ni8Oh.js";import{i as r,s as i}from"./intl-Pse97ORk.js";function a(){let e=n().preferredLanguage??`auto`;return e===`en`||e===`zh`?e:r()===`zh`?`zh`:`en`}function o(e){return s[e]??e}var s,c=e((()=>{t(),i(),s={auto:`Auto (follow system)`,en:`English`,zh:`中文`}}));export{a as n,c as r,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,t as n}from"./axios-DhfaybwJ.js";import{Rn as r,b as i,t as a,x as o}from"./src-Di342QoJ.js";import{t as s}from"./jsx-runtime-D-D469L8.js";import{n as c,r as l}from"./analytics-DqMQntaB.js";import{l as u,u as d}from"./oauth-CdZEzMww.js";import{i as f,n as p,r as m}from"./cron-DiW7eIPP.js";import{o as h,u as g}from"./api-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,t as n}from"./axios-DhfaybwJ.js";import{Rn as r,b as i,t as a,x as o}from"./src-Di342QoJ.js";import{t as s}from"./jsx-runtime-D-D469L8.js";import{n as c,r as l}from"./analytics-DqMQntaB.js";import{l as u,u as d}from"./oauth-CdZEzMww.js";import{i as f,n as p,r as m}from"./cron-DiW7eIPP.js";import{o as h,u as g}from"./api-DLLVkmRJ.js";import{n as _,r as v}from"./hostGuard-zim_4F9V.js";import{n as y,t as b}from"./launchCommand-Du91jxMC.js";function x(e){return new Promise(t=>setTimeout(t,e))}async function S(){let e;try{e=(await g()).apiKey}catch(e){throw new N(e instanceof Error?e.message:String(e),501)}return _(C()),{"x-api-key":e,"anthropic-version":`2023-06-01`,"anthropic-beta":j,"content-type":`application/json`}}function C(){return`${u().BASE_API_URL}/v1/agents`}function w(e){if(t.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new N(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new N(`Subscription required. Scheduled agents require a Claude Pro/Max/Team subscription.`,403);if(t===404)return new N(`Agent not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new N(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new N((e.response?.data)?.error?.message??e.message,t)}return e instanceof N?e:new N(e instanceof Error?e.message:String(e),0)}function T(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function E(e){let n;for(let r=0;r<M;r++)try{return await e()}catch(e){let i=w(e);if(i.statusCode>=500){n=i,r<M-1&&await x(T(t.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**r);continue}throw i}throw n??new N(`Request failed after retries`,0)}async function D(){return E(async()=>{let e=await S();return(await t.get(C(),{headers:e})).data.data??[]})}async function O(e,n){return E(async()=>{let r=await S();return(await t.post(C(),{cron_expr:e,prompt:n,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone??`UTC`},{headers:r})).data})}async function k(e){return E(async()=>{let n=await S();await t.delete(`${C()}/${e}`,{headers:n})})}async function A(e){return E(async()=>{let n=await S();return(await t.post(`${C()}/${e}/run`,{},{headers:n})).data})}var j,M,N,P=e((()=>{n(),d(),v(),h(),j=`managed-agents-2026-04-01`,M=3,N=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`AgentsApiError`}}}));function F({agent:e}){let t=p(e.cron_expr,{utc:!0}),n=e.next_run?new Date(e.next_run).toLocaleString():`—`;return(0,L.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,L.jsxs)(o,{children:[(0,L.jsx)(i,{bold:!0,children:e.id}),(0,L.jsx)(i,{dimColor:!0,children:` · `}),(0,L.jsx)(i,{color:`suggestion`,children:e.status})]}),(0,L.jsxs)(i,{children:[`Schedule: `,t]}),(0,L.jsxs)(i,{dimColor:!0,children:[`Prompt: `,e.prompt]}),(0,L.jsxs)(i,{dimColor:!0,children:[`Next run: `,n]})]})}function I(e){if(e.mode===`list`)return e.agents.length===0?(0,L.jsx)(o,{children:(0,L.jsx)(i,{dimColor:!0,children:`No scheduled agents. Use /agents-platform create <cron> <prompt> to create one.`})}):(0,L.jsxs)(o,{flexDirection:`column`,children:[(0,L.jsx)(o,{marginBottom:1,children:(0,L.jsxs)(i,{bold:!0,children:[`Scheduled Agents (`,e.agents.length,`)`]})}),e.agents.map(e=>(0,L.jsx)(F,{agent:e},e.id))]});if(e.mode===`created`){let t=p(e.agent.cron_expr,{utc:!0});return(0,L.jsxs)(o,{flexDirection:`column`,children:[(0,L.jsx)(o,{children:(0,L.jsx)(i,{bold:!0,color:`success`,children:`Agent created`})}),(0,L.jsxs)(i,{children:[`ID: `,e.agent.id]}),(0,L.jsxs)(i,{children:[`Schedule: `,t]}),(0,L.jsxs)(i,{children:[`Prompt: `,e.agent.prompt]}),(0,L.jsxs)(i,{dimColor:!0,children:[`Status: `,e.agent.status]})]})}return e.mode===`deleted`?(0,L.jsx)(o,{children:(0,L.jsxs)(i,{color:`success`,children:[`Agent `,e.id,` deleted.`]})}):e.mode===`ran`?(0,L.jsxs)(o,{flexDirection:`column`,children:[(0,L.jsx)(o,{children:(0,L.jsxs)(i,{color:`success`,children:[`Agent `,e.id,` triggered.`]})}),(0,L.jsxs)(i,{dimColor:!0,children:[`Run ID: `,e.runId]})]}):(0,L.jsx)(o,{children:(0,L.jsx)(i,{color:`error`,children:e.message})})}var L,R=e((()=>{r(),a(),m(),L=s()}));function z(e){let t=e.trim().split(/\s+/);return t.length<6?null:{cron:t.slice(0,5).join(` `),prompt:t.slice(5).join(` `)}}function B(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`create`){if(!i)return{action:`invalid`,reason:`create requires a cron expression and prompt, e.g. create "0 9 * * 1" Run daily standup`};let e=z(i);if(!e)return{action:`invalid`,reason:`create requires at least 5 cron fields followed by a prompt, e.g. create "0 9 * * 1" Run daily standup`};let{cron:t,prompt:n}=e;return n.trim()?{action:`create`,cron:t,prompt:n.trim()}:{action:`invalid`,reason:`prompt cannot be empty`}}if(r===`delete`){if(!i)return{action:`invalid`,reason:`delete requires an agent id`};let e=i.split(/\s+/)[0];return e?{action:`delete`,id:e}:{action:`invalid`,reason:`delete requires an agent id`}}if(r===`run`){if(!i)return{action:`invalid`,reason:`run requires an agent id`};let e=i.split(/\s+/)[0];return e?{action:`run`,id:e}:{action:`invalid`,reason:`run requires an agent id`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". Use: list | create CRON PROMPT | delete ID | run ID`}}var V=e((()=>{}));async function H(e,t){if(e.action===`list`){l(`tengu_agents_platform_list`,{});try{let e=await D();return t(e.length===0?`No scheduled agents found.`:`${e.length} scheduled agent(s).`,{display:`system`}),{mode:`list`,agents:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_agents_platform_failed`,{reason:n}),t(`Failed to list agents: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`create`){let{cron:n,prompt:r}=e;if(!f(n)){let e=`Invalid cron expression: "${n}". Expected 5 fields (minute hour day month weekday).`;return l(`tengu_agents_platform_failed`,{reason:e}),t(e,{display:`system`}),null}l(`tengu_agents_platform_create`,{cron:n});try{let e=await O(n,r);return t(`Agent created: ${e.id}`,{display:`system`}),{mode:`created`,agent:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_agents_platform_failed`,{reason:n}),t(`Failed to create agent: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`delete`){let{id:n}=e;l(`tengu_agents_platform_delete`,{id:n});try{return await k(n),t(`Agent ${n} deleted.`,{display:`system`}),{mode:`deleted`,id:n}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_agents_platform_failed`,{reason:r}),t(`Failed to delete agent ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}let{id:n}=e;l(`tengu_agents_platform_run`,{id:n});try{let e=await A(n);return t(`Agent ${n} triggered. Run ID: ${e.run_id}`,{display:`system`}),{mode:`ran`,id:n,runId:e.run_id}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_agents_platform_failed`,{reason:r}),t(`Failed to run agent ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}var U;e((()=>{c(),m(),P(),R(),V(),b(),U=y({commandName:`agents-platform`,parseArgs:e=>{l(`tengu_agents_platform_started`,{args:e});let t=B(e);return t.action===`invalid`?(l(`tengu_agents_platform_failed`,{reason:t.reason}),{action:`invalid`,reason:`Usage: /agents-platform list | create CRON PROMPT | delete ID | run ID\n${t.reason}`}):t},dispatch:H,View:I,errorView:e=>null})}))();export{U as callAgentsPlatform};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{Rn as n,b as r,t as i,x as a}from"./src-Di342QoJ.js";import{t as o}from"./jsx-runtime-D-D469L8.js";import{Ct as s,cn as c}from"./state-sIHsFpDu.js";import{n as l,r as u}from"./analytics-DqMQntaB.js";import{$_ as d,Q_ as f,av as ee,ev as te,iv as p,lv as m,mv as ne,nv as h,rv as g,tv as _}from"./loadAgentsDir-
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{Rn as n,b as r,t as i,x as a}from"./src-Di342QoJ.js";import{t as o}from"./jsx-runtime-D-D469L8.js";import{Ct as s,cn as c}from"./state-sIHsFpDu.js";import{n as l,r as u}from"./analytics-DqMQntaB.js";import{$_ as d,Q_ as f,av as ee,ev as te,iv as p,lv as m,mv as ne,nv as h,rv as g,tv as _}from"./loadAgentsDir-Cl2w3uvH.js";import{a as v,r as y}from"./detectRepository-CBk3S2zv.js";import{join as b}from"node:path";import{spawn as x}from"node:child_process";import{existsSync as S}from"node:fs";import{randomUUID as C}from"node:crypto";function re(e){return E.indexOf(e)}function ie({phase:e,target:t,sessionUrl:n,errorMessage:i}){let o=re(e),s=e===`error`;return(0,w.jsxs)(a,{flexDirection:`column`,marginTop:1,marginBottom:1,children:[(0,w.jsxs)(a,{children:[(0,w.jsx)(r,{bold:!0,children:`Autofix PR `}),(0,w.jsx)(r,{color:`claude`,children:t})]}),E.map((e,t)=>{let n=o>t,i=o===t&&!s;return(0,w.jsx)(a,{marginLeft:2,children:(0,w.jsxs)(r,{color:n?`success`:i?`warning`:`subtle`,children:[n?`✓`:i?`→`:`·`,` `,T[e]]})},e)}),s&&i&&(0,w.jsx)(a,{marginLeft:2,marginTop:1,children:(0,w.jsxs)(r,{color:`error`,children:[`✗ `,i]})}),n&&(0,w.jsxs)(a,{marginTop:1,marginLeft:2,children:[(0,w.jsx)(r,{color:`subtle`,children:`Track: `}),(0,w.jsx)(r,{color:`claude`,children:n})]})]})}var w,T,E,D=e((()=>{n(),i(),w=o(),T={detecting:`Detecting repository...`,checking_eligibility:`Checking remote agent eligibility...`,acquiring_lock:`Acquiring monitor lock...`,launching:`Launching remote session...`,registered:`Session registered`,done:`Autofix launched`,error:`Error`},E=[`detecting`,`checking_eligibility`,`acquiring_lock`,`launching`,`registered`,`done`]}));function O(e,t){return{agentId:C(),agentName:`autofix-pr`,teamName:`_autofix`,color:void 0,planModeRequired:!1,parentSessionId:s(),abortController:new AbortController,taskId:C()}}var k=e((()=>{c()}));function A(){return M}function ae(e){return M?!1:(M=e,!0)}function j(e){M&&(e&&M.taskId!==e||(M.abortController.abort(),M=null))}function oe(e){return M?(M={...M,...e},!0):!1}function se(e,t,n){return M?.owner===e&&M?.repo===t&&M?.prNumber===n}var M,N=e((()=>{M=null}));function P(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type===`system`&&(n.subtype===`hook_progress`||n.subtype===`hook_response`)){let e=n.stdout;if(typeof e==`string`){let t=F(e,L,R);if(t)return t}continue}if(n.type===`assistant`){let e=n.message?.content;if(!e||typeof e==`string`)continue;for(let t of e){if(t.type!==`text`||typeof t.text!=`string`||!t.text.includes(L))continue;let e=F(t.text,L,R);if(e)return e}}}}return null}function F(e,t,n){let r=e.length;for(;r>=0;){let i=e.lastIndexOf(t,r);if(i===-1)return null;let a=e.indexOf(n,i+t.length);if(a!==-1)return e.slice(i,a+n.length);r=i-1}return null}var I,L,R,z=e((()=>{I=`autofix-result`,L=`<${I}>`,R=`</${I}>`}));function B(e){if(!/^[1-9]\d{0,9}$/.test(e))return null;let t=Number(e);return Number.isSafeInteger(t)?t:null}function V(e){let t=e.trim();if(!t)return{action:`invalid`,reason:`empty`};if(t===`stop`||t===`off`)return{action:`stop`};let n=B(t);if(n!==null)return{action:`start`,prNumber:n};let r=t.match(/^([\w.-]+)\/([\w.-]+)#(\d+)$/);if(r){let e=B(r[3]);return e===null?{action:`invalid`,reason:`pr_number_out_of_range`}:{action:`start`,owner:r[1],repo:r[2],prNumber:e}}return{action:`freeform`,prompt:t}}var H=e((()=>{}));function U(e,t){let{owner:n,repo:r,prNumber:i,initialHeadSha:a}=t;if(e.state===`MERGED`)return{completed:!0,summary:`${n}/${r}#${i} merged. Autofix monitoring complete.`};if(e.state===`CLOSED`)return{completed:!0,summary:`${n}/${r}#${i} closed without merge. Autofix monitoring complete.`};if(!a||e.headRefOid===a)return{completed:!1};let o=W(e.statusCheckRollup);return o.state===`pending`?{completed:!1}:o.state===`failure`?{completed:!0,summary:`Autofix pushed commits to ${n}/${r}#${i} but CI is failing (${o.detail}).`}:{completed:!0,summary:`Autofix pushed commits to ${n}/${r}#${i}, CI green.`}}function W(e){if(!e||e.length===0)return{state:`success`,detail:`no checks configured`};let t=0,n=0,r=e.length;for(let r of e){let e=(r.status??``).toUpperCase(),i=(r.conclusion??``).toUpperCase();if(e&&e!==`COMPLETED`){t++;continue}if(!(i===`SUCCESS`||i===`NEUTRAL`||i===`SKIPPED`)){if(i===``){t++;continue}n++}}return t>0?{state:`pending`,detail:`${t}/${r} checks pending`}:n>0?{state:`failure`,detail:`${n}/${r} checks failing`}:{state:`success`,detail:`${r}/${r} checks passing`}}var G=e((()=>{}));async function ce(e){let{owner:t,repo:n,prNumber:r,initialHeadSha:i,timeoutMs:a}=e,o;try{o=await K(t,n,r,a??q)}catch{return{completed:!1}}return U(o,{owner:t,repo:n,prNumber:r,initialHeadSha:i})}async function le(e,t,n,r=q){try{return(await K(e,t,n,r)).headRefOid||null}catch{return null}}function K(e,t,n,r){return new Promise((i,a)=>{let o=x(`gh`,[`pr`,`view`,String(n),`--repo`,`${e}/${t}`,`--json`,`headRefOid,state,statusCheckRollup`],{stdio:[`ignore`,`pipe`,`pipe`]}),s=[],c=[],l=!1,u=setTimeout(()=>{l||(l=!0,o.kill(`SIGKILL`),a(Error(`gh pr view timed out after ${r}ms`)))},r);o.stdout.on(`data`,e=>s.push(e)),o.stderr.on(`data`,e=>c.push(e)),o.on(`error`,e=>{l||(l=!0,clearTimeout(u),a(e))}),o.on(`close`,e=>{if(l)return;if(l=!0,clearTimeout(u),e!==0){let t=Buffer.concat(c).toString(`utf8`).trim();a(Error(`gh pr view exited ${e}: ${t||`<no stderr>`}`));return}let t=Buffer.concat(s).toString(`utf8`).trim();try{i(JSON.parse(t))}catch(e){a(Error(`gh pr view JSON parse failed: ${e.message}`))}})})}var q,ue=e((()=>{G(),q=5e3}));function de(e){return[`AUTOFIX.md`,`.claude/skills/autofix.md`,`.claude/skills/autofix-pr/SKILL.md`].filter(t=>S(b(e,t)))}function fe(e){return e.length===0?``:` Run ${e.join(` and `)} for custom instructions on how to autofix.`}var pe=e((()=>{}));function J(e){return`${e.owner}/${e.repo}#${e.prNumber}`}function Y(e,t){return u(`tengu_autofix_pr_result`,{result:`failed`,error_code:t}),`Autofix PR failed: ${e}`}var X,Z,Q,$;e((()=>{X=t(n(),1),l(),_(),v(),m(),D(),k(),N(),z(),H(),ue(),pe(),Z=new Map,Q=5e3,h(`autofix-pr`,async e=>{let t=e;if(!t)return null;let n=J(t),r=Date.now();if(r-(Z.get(n)??0)<Q)return null;Z.set(n,r);let i=await ce({owner:t.owner,repo:t.repo,prNumber:t.prNumber,initialHeadSha:t.initialHeadSha});return i.completed?i.summary:null}),g(`autofix-pr`,(e,t)=>{j(e);let n=t;n&&Z.delete(J(n))}),p(`autofix-pr`,e=>P(e)),$=async(e,t,n)=>{try{let r=V(n);if(r.action===`stop`){let t=A();return t?(j(),e(`Stopped local monitoring of ${t.repo}#${t.prNumber}. Any already-running remote session continues until it finishes or is cancelled from claude.ai/code.`,{display:`system`}),null):(e(`No active autofix monitor.`,{display:`system`}),null)}if(r.action===`invalid`)return e(`Invalid args: ${r.reason}. Use /autofix-pr <pr-number> | stop | <owner>/<repo>#<n>`,{display:`system`}),null;if(r.action===`freeform`)return e(`Freeform prompt mode not yet supported. Use /autofix-pr <pr-number>.`,{display:`system`}),null;u(`tengu_autofix_pr_started`,{action:`start`,has_pr_number:`true`,has_repo_path:String(!!(r.owner&&r.repo))});let i;try{i=await y()}catch{return e(Y(`Cannot detect GitHub repo from current directory.`,`session_create_failed`),{display:`system`}),null}if(!i||i.host!==`github.com`)return e(Y(`Cannot detect GitHub repo from current directory.`,`session_create_failed`),{display:`system`}),null;if(r.owner&&r.owner!==i.owner||r.repo&&r.repo!==i.name)return e(Y(`Cross-repo autofix is not supported from this directory. Run from ${i.owner}/${i.name} or pass only the PR number.`,`repo_mismatch`),{display:`system`}),null;let a=i.owner,o=i.name,{prNumber:s}=r;if(se(a,o,s))return u(`tengu_autofix_pr_result`,{result:`success_rc`}),e(`Already monitoring ${o}#${s} in background.`,{display:`system`}),null;let c=await f({skipBundle:!0});if(!c.eligible){let t=c.errors.filter(e=>e.type!==`no_remote_environment`);if(t.length>0)return e(Y(`Remote agent not available:\n${t.map(d).join(`
|
|
2
2
|
`)}`,`session_create_failed`),{display:`system`}),null}let l=fe(de(process.cwd())),p=`${a}/${o}#${s}`,m=`refs/pull/${s}/head`,h=`Auto-fix failing CI checks on PR #${s} in ${a}/${o}.${l}
|
|
3
3
|
|
|
4
4
|
When you finish (or hit a blocker you can't recover from), output the following XML tag as your final message so the local user gets a structured summary:
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{Rn as n,b as r,f as i,t as a,x as o,xt as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{Bx as l,Cf as u,Sf as d,Tf as f,_f as p,bf as m,gf as h,vf as g,wf as _,xf as v,yf as y,zx as b}from"./loadAgentsDir-
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{Rn as n,b as r,f as i,t as a,x as o,xt as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{Bx as l,Cf as u,Sf as d,Tf as f,_f as p,bf as m,gf as h,vf as g,wf as _,xf as v,yf as y,zx as b}from"./loadAgentsDir-Cl2w3uvH.js";import{n as x,t as S}from"./launchCommand-Du91jxMC.js";function C(e){return e.mode===`list`?e.stores.length===0?(0,w.jsx)(o,{children:(0,w.jsx)(r,{dimColor:!0,children:`No memory stores found. Use /local-memory create <store> to create one.`})}):(0,w.jsxs)(o,{flexDirection:`column`,children:[(0,w.jsx)(o,{marginBottom:1,children:(0,w.jsxs)(r,{bold:!0,children:[`Local Memory Stores (`,e.stores.length,`)`]})}),e.stores.map(e=>(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{children:` `}),(0,w.jsx)(r,{color:`success`,children:`◆`}),(0,w.jsxs)(r,{children:[` `,e]})]},e))]}):e.mode===`created`?(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{color:`success`,children:`✓`}),(0,w.jsx)(r,{children:` Store created: `}),(0,w.jsx)(r,{bold:!0,children:e.store})]}):e.mode===`stored`?(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{color:`success`,children:`✓`}),(0,w.jsx)(r,{children:` Stored entry `}),(0,w.jsx)(r,{bold:!0,children:e.key}),(0,w.jsx)(r,{children:` in `}),(0,w.jsx)(r,{bold:!0,children:e.store})]}):e.mode===`fetched`?(0,w.jsxs)(o,{flexDirection:`column`,children:[(0,w.jsxs)(o,{marginBottom:1,children:[(0,w.jsx)(r,{bold:!0,children:e.store}),(0,w.jsx)(r,{dimColor:!0,children:`/`}),(0,w.jsx)(r,{bold:!0,children:e.key})]}),(0,w.jsx)(o,{children:(0,w.jsx)(r,{children:e.value})})]}):e.mode===`not-found`?(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{color:`error`,children:`Not found: `}),(0,w.jsx)(r,{bold:!0,children:e.store}),e.key?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(r,{dimColor:!0,children:`/`}),(0,w.jsx)(r,{bold:!0,children:e.key})]}):null]}):e.mode===`entries`?e.keys.length===0?(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{dimColor:!0,children:`No entries in `}),(0,w.jsx)(r,{bold:!0,children:e.store}),(0,w.jsxs)(r,{dimColor:!0,children:[`. Use /local-memory store `,e.store,` <key> <value> to add one.`]})]}):(0,w.jsxs)(o,{flexDirection:`column`,children:[(0,w.jsxs)(o,{marginBottom:1,children:[(0,w.jsx)(r,{bold:!0,children:e.store}),(0,w.jsxs)(r,{dimColor:!0,children:[` (`,e.keys.length,` entries)`]})]}),e.keys.map(e=>(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{children:` `}),(0,w.jsx)(r,{color:`success`,children:`·`}),(0,w.jsxs)(r,{children:[` `,e]})]},e))]}):e.mode===`archived`?(0,w.jsxs)(o,{children:[(0,w.jsx)(r,{color:`success`,children:`✓`}),(0,w.jsx)(r,{children:` Archived store: `}),(0,w.jsx)(r,{bold:!0,children:e.store}),(0,w.jsxs)(r,{dimColor:!0,children:[` (renamed to `,e.store,`.archived)`]})]}):(0,w.jsx)(o,{children:(0,w.jsxs)(r,{color:`error`,children:[`Error: `,e.message]})})}var w,T=e((()=>{n(),a(),w=c()}));function E(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.split(/\s+/),r=n[0];if(r===`list`)return{action:`list`};if(r===`create`){let e=n[1];return e?{action:`create`,store:e}:{action:`invalid`,reason:`create requires a store name. ${D}`}}if(r===`store`){let e=n[1],t=n[2];if(!e)return{action:`invalid`,reason:`store requires a store name. ${D}`};if(!t)return{action:`invalid`,reason:`store requires a key. ${D}`};let r=n.slice(3).join(` `);return r?{action:`store`,store:e,key:t,value:r}:{action:`invalid`,reason:`store requires a value. ${D}`}}if(r===`fetch`){let e=n[1],t=n[2];return e?t?{action:`fetch`,store:e,key:t}:{action:`invalid`,reason:`fetch requires a key. ${D}`}:{action:`invalid`,reason:`fetch requires a store name. ${D}`}}if(r===`entries`){let e=n[1];return e?{action:`entries`,store:e}:{action:`invalid`,reason:`entries requires a store name. ${D}`}}if(r===`archive`){let e=n[1];return e?{action:`archive`,store:e}:{action:`invalid`,reason:`archive requires a store name. ${D}`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${D}`}}var D,O=e((()=>{D=`Usage: /local-memory list | create STORE | store STORE KEY VALUE | fetch STORE KEY | entries STORE | archive STORE`}));function k(e){return e.length===0?`No memory stores found.`:[`Local Memory Stores`,...e.map(e=>`- ${e}`)].join(`
|
|
2
2
|
`)}function A(e,t){return t.length===0?`No entries in "${e}".`:[`Entries in "${e}"`,...t.map(e=>`- ${e}`)].join(`
|
|
3
3
|
`)}function j({onDone:e}){let[t,n]=N.useState({kind:`menu`}),[a,c]=N.useState(0),[l,_]=N.useState(``),[y,x]=N.useState(0),[S,C]=N.useState(null),w=N.useCallback(e=>{n(e),_(``),x(0),C(null)},[]),T=N.useCallback(t=>e(t,{display:`system`}),[e]),E=N.useCallback((e,t,n,r,i={})=>{try{if(e===`list`){T(k(d()));return}if(e===`about`){T(F);return}if(!t){C(`Internal: missing store`);return}if(e===`create`){p(t),T(`Store created: ${t}`);return}if(e===`entries`){T(A(t,v(t)));return}if(e===`archive`){h(t),T(`Archived store: ${t}`);return}if(e===`fetch`){if(!n){C(`Internal: missing key`);return}let e=g(t,n);if(e===null){T(`Entry not found: ${t}/${n}`);return}T(`Entry fetched: ${t}/${n}\n\n${e}`);return}if(e===`store`){if(!n||r===void 0){C(`Internal: missing key or value`);return}if(!i.confirmedOverwrite&&g(t,n)!==null){w({kind:`confirm-overwrite`,store:t,key:n,value:r});return}u(t,n,r),T(`Stored ${t}/${n} (${r.length} chars)`);return}}catch(e){C(e instanceof Error?e.message:String(e))}},[T,w]);if(s((e,n)=>{if(t.kind!==`menu`)return;if(n.upArrow){c(e=>Math.max(0,e-1));return}if(n.downArrow){c(e=>Math.min(L.length-1,e+1));return}if(n.return){let e=L[a];if(!e)return;if(e.kind===`list`||e.kind===`about`){E(e.kind,void 0,void 0,void 0);return}w({kind:`collect-store`,action:e.kind});return}let r=Number(e);Number.isInteger(r)&&r>=1&&r<=L.length&&c(r-1)},{isActive:t.kind===`menu`}),s((e,n)=>{if(t.kind!==`confirm-archive`&&t.kind!==`confirm-overwrite`)return;if(n.escape){w({kind:`menu`});return}let r=e.toLowerCase();r===`y`||n.return?t.kind===`confirm-archive`?E(`archive`,t.store,void 0,void 0):E(`store`,t.store,t.key,t.value,{confirmedOverwrite:!0}):r===`n`&&w({kind:`menu`})},{isActive:t.kind===`confirm-archive`||t.kind===`confirm-overwrite`}),s((e,n)=>{if(!(t.kind!==`collect-store`&&t.kind!==`collect-key`&&t.kind!==`collect-value`)&&n.escape){if(t.kind===`collect-value`){w({kind:`collect-key`,action:t.action,store:t.store});return}if(t.kind===`collect-key`){w({kind:`collect-store`,action:t.action});return}w({kind:`menu`})}},{isActive:t.kind===`collect-store`||t.kind===`collect-key`||t.kind===`collect-value`}),t.kind===`menu`)return(0,P.jsx)(i,{title:`Local Memory`,subtitle:`${L.length} actions`,onCancel:()=>T(`Local memory panel dismissed`),color:`background`,hideInputGuide:!0,children:(0,P.jsxs)(o,{flexDirection:`column`,children:[L.map((e,t)=>(0,P.jsxs)(o,{flexDirection:`row`,children:[(0,P.jsx)(r,{children:`${t===a?`›`:` `} ${e.label}`.padEnd(I)}),(0,P.jsx)(r,{dimColor:!0,children:e.description})]},e.kind)),(0,P.jsx)(o,{marginTop:1,children:(0,P.jsx)(r,{dimColor:!0,children:`↑/↓ or 1-7 select · Enter run · Esc close`})})]})});if(t.kind===`confirm-archive`)return(0,P.jsx)(i,{title:`Confirm Archive`,onCancel:()=>w({kind:`menu`}),color:`warning`,hideInputGuide:!0,children:(0,P.jsxs)(o,{flexDirection:`column`,children:[(0,P.jsxs)(r,{children:[`Archive store "`,t.store,`"? This renames it to *.archived.`]}),(0,P.jsx)(o,{marginTop:1,children:(0,P.jsx)(r,{dimColor:!0,children:`y/Enter = archive · n/Esc = cancel`})})]})});if(t.kind===`confirm-overwrite`)return(0,P.jsx)(i,{title:`Confirm Overwrite`,onCancel:()=>w({kind:`menu`}),color:`warning`,hideInputGuide:!0,children:(0,P.jsxs)(o,{flexDirection:`column`,children:[(0,P.jsxs)(r,{children:[`Entry "`,t.store,`/`,t.key,`" already exists. Overwrite with new value (`,t.value.length,` chars)?`]}),(0,P.jsx)(o,{marginTop:1,children:(0,P.jsx)(r,{dimColor:!0,children:`y/Enter = overwrite · n/Esc = cancel`})})]})});let D=t.kind===`collect-store`?`STORE NAME`:t.kind===`collect-key`?`KEY NAME`:`VALUE`,O=t.kind===`collect-store`?`e.g. my-notes`:t.kind===`collect-key`?`e.g. todo-2026-05-08`:`free text`;return(0,P.jsx)(i,{title:`Local Memory · ${t.kind.replace(`collect-`,``).toUpperCase()}`,onCancel:()=>w({kind:`menu`}),color:`background`,hideInputGuide:!0,children:(0,P.jsxs)(o,{flexDirection:`column`,children:[(0,P.jsx)(o,{children:(0,P.jsx)(r,{dimColor:!0,children:D})}),(0,P.jsxs)(o,{children:[(0,P.jsx)(r,{children:`> `}),(0,P.jsx)(b,{value:l,onChange:e=>{_(e),C(null)},cursorOffset:y,onChangeCursorOffset:x,onSubmit:e=>{let n=e.trim();if(t.kind===`collect-store`){if(!n){C(`Store name required`);return}if(!m(n)){C(`Invalid store name (no /, \\, :, null byte, or leading dot; max 255 chars)`);return}t.action===`create`||t.action===`entries`||t.action===`archive`?t.action===`archive`?w({kind:`confirm-archive`,store:n}):E(t.action,n,void 0,void 0):w({kind:`collect-key`,action:t.action,store:n});return}if(t.kind===`collect-key`){if(!n){C(`Key required`);return}if(!f(n)){C(`Invalid key (allowed: letters/digits/._- only; no leading dot; not a Windows reserved name)`);return}t.action===`fetch`?E(`fetch`,t.store,n,void 0):w({kind:`collect-value`,action:`store`,store:t.store,key:n});return}t.kind===`collect-value`&&E(`store`,t.store,t.key,e)},placeholder:O,columns:70,showCursor:!0})]}),S!==null&&(0,P.jsx)(o,{marginTop:0,children:(0,P.jsxs)(r,{color:`warning`,children:[`✗ `,S]})}),(0,P.jsx)(o,{marginTop:1,children:(0,P.jsx)(r,{dimColor:!0,children:`Enter = next · Esc = back`})})]})})}async function M(e,t){if(e.action===`list`)return t(k(d()),{display:`system`}),null;if(e.action===`create`){let{store:n}=e;return p(n),t(`Store created: ${n}`,{display:`system`}),null}if(e.action===`store`){let{store:n,key:r,value:i}=e;return u(n,r,i),t(`Stored entry "${r}" in store "${n}".`,{display:`system`}),null}if(e.action===`fetch`){let{store:n,key:r}=e,i=g(n,r);return i===null?(t(`Entry not found: ${n}/${r}`,{display:`system`}),null):(t(`Entry fetched: ${n}/${r}\n${i}`,{display:`system`}),null)}if(e.action===`entries`){let{store:n}=e;return t(A(n,v(n)),{display:`system`}),null}if(e.action===`archive`){let{store:n}=e;return h(n),t(`Archived store: ${n}`,{display:`system`}),null}return t(F,{display:`system`}),null}var N,P,F,I,L,R,z;e((()=>{N=t(n(),1),a(),y(),_(),l(),T(),O(),S(),P=c(),F=`Usage: /local-memory list | create STORE | store STORE KEY VALUE | fetch STORE KEY | entries STORE | archive STORE`,I=26,L=[{kind:`list`,label:`List`,description:`Show all stores`},{kind:`create`,label:`Create`,description:`Create a new memory store`},{kind:`store`,label:`Store`,description:`Write an entry: store name + key + value`},{kind:`fetch`,label:`Fetch`,description:`Read an entry by store name + key`},{kind:`entries`,label:`Entries`,description:`List entry keys in a store`},{kind:`archive`,label:`Archive`,description:`Archive a store (rename to *.archived)`},{kind:`about`,label:`About`,description:`Show command syntax`}],R=x({commandName:`local-memory`,parseArgs:e=>{let t=E(e);return t.action===`invalid`?{action:`invalid`,reason:`${F}\n${t.reason}`}:t},dispatch:M,View:C,errorView:e=>N.createElement(C,{mode:`error`,message:e})}),z=async(e,t,n)=>(n??``).trim()===``?(0,P.jsx)(j,{onDone:e}):R(e,t,n)}))();export{z as callLocalMemory};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{Rn as n,b as r,f as i,t as a,x as o,xt as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{Bx as l,Tf as u,df as d,ff as f,hf as p,mf as m,pf as h,uf as g,wf as _,zx as v}from"./loadAgentsDir-
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{Rn as n,b as r,f as i,t as a,x as o,xt as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{Bx as l,Tf as u,df as d,ff as f,hf as p,mf as m,pf as h,uf as g,wf as _,zx as v}from"./loadAgentsDir-Cl2w3uvH.js";import{n as y,t as b}from"./launchCommand-Du91jxMC.js";function x(e){return e.mode===`list`?e.keys.length===0?(0,S.jsx)(o,{children:(0,S.jsx)(r,{dimColor:!0,children:`No secrets stored. Use /local-vault set <key> <value> to add one.`})}):(0,S.jsxs)(o,{flexDirection:`column`,children:[(0,S.jsx)(o,{marginBottom:1,children:(0,S.jsxs)(r,{bold:!0,children:[`Local Vault Keys (`,e.keys.length,`)`]})}),e.keys.map(e=>(0,S.jsxs)(o,{children:[(0,S.jsx)(r,{children:` `}),(0,S.jsx)(r,{color:`success`,children:`●`}),(0,S.jsxs)(r,{children:[` `,e]})]},e))]}):e.mode===`set-ok`?(0,S.jsxs)(o,{children:[(0,S.jsx)(r,{color:`success`,children:`✓`}),(0,S.jsx)(r,{children:` Secret stored: `}),(0,S.jsx)(r,{bold:!0,children:e.key}),(0,S.jsx)(r,{dimColor:!0,children:` = [REDACTED]`})]}):e.mode===`get-masked`?(0,S.jsxs)(o,{flexDirection:`column`,children:[(0,S.jsxs)(o,{children:[(0,S.jsx)(r,{bold:!0,children:e.key}),(0,S.jsx)(r,{dimColor:!0,children:`: `}),(0,S.jsx)(r,{children:e.masked})]}),(0,S.jsx)(o,{marginTop:1,children:(0,S.jsxs)(r,{dimColor:!0,children:[`Use /local-vault get `,e.key,` --reveal to see the full value.`]})})]}):e.mode===`get-revealed`?(0,S.jsxs)(o,{flexDirection:`column`,children:[(0,S.jsxs)(o,{children:[(0,S.jsx)(r,{bold:!0,children:e.key}),(0,S.jsx)(r,{dimColor:!0,children:`: `}),(0,S.jsx)(r,{color:`warning`,children:e.value})]}),(0,S.jsx)(o,{marginTop:1,children:(0,S.jsx)(r,{dimColor:!0,color:`warning`,children:`⚠ Secret revealed in terminal — clear scrollback if this session is shared.`})})]}):e.mode===`not-found`?(0,S.jsxs)(o,{children:[(0,S.jsx)(r,{color:`error`,children:`Key not found: `}),(0,S.jsx)(r,{bold:!0,children:e.key})]}):e.mode===`deleted`?(0,S.jsxs)(o,{children:[(0,S.jsx)(r,{color:`success`,children:`✓`}),(0,S.jsx)(r,{children:` Deleted: `}),(0,S.jsx)(r,{bold:!0,children:e.key})]}):(0,S.jsx)(o,{children:(0,S.jsxs)(r,{color:`error`,children:[`Error: `,e.message]})})}var S,C=e((()=>{n(),a(),S=c()}));function w(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.split(/\s+/),r=n[0];if(r===`list`)return{action:`list`};if(r===`set`){let e=n[1];if(!e)return{action:`invalid`,reason:`set requires a key name. ${T}`};if(E.test(e))return{action:`invalid`,reason:`Key name must not start with "-" or a hyphen-like character (reserved for flags). ${T}`};let t=n.slice(2).join(` `);return t?{action:`set`,key:e,value:t}:{action:`invalid`,reason:`set requires a value. ${T}`}}if(r===`get`){let e=[`--reveal`],t=n.filter(t=>!e.includes(t))[1];return t?{action:`get`,key:t,reveal:n.includes(`--reveal`)}:{action:`invalid`,reason:`get requires a key name. ${T}`}}if(r===`delete`){let e=n[1];return e?{action:`delete`,key:e}:{action:`invalid`,reason:`delete requires a key name. ${T}`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${T}`}}var T,E,D=e((()=>{T=`Usage: /local-vault list | set KEY VALUE | get KEY [--reveal] | delete KEY`,E=/^[-‐-―−﹘﹣-]/}));function O(e){return e.length===0?`No secrets stored.`:[`Local Vault Keys`,...e.map(e=>`- ${e}`)].join(`
|
|
2
2
|
`)}function k({onDone:e}){let[t,n]=j.useState({kind:`menu`}),[a,c]=j.useState(0),[l,f]=j.useState(``),[_,y]=j.useState(0),[b,x]=j.useState(null),[S,C]=j.useState(!1),w=j.useCallback(e=>{n(e),f(``),y(0),x(null)},[]),T=j.useCallback(t=>e(t,{display:`system`}),[e]);s((e,n)=>{if(t.kind!==`menu`||S)return;if(n.upArrow){c(e=>Math.max(0,e-1));return}if(n.downArrow){c(e=>Math.min(F.length-1,e+1));return}if(n.return){let e=F[a];if(!e)return;if(e.kind===`about`){T(N);return}if(e.kind===`list`){C(!0),h().then(e=>{T(O(e))});return}w({kind:`collect-key`,action:e.kind});return}let r=Number(e);Number.isInteger(r)&&r>=1&&r<=F.length&&c(r-1)},{isActive:t.kind===`menu`&&!S}),s((e,n)=>{if(t.kind!==`confirm-overwrite`&&t.kind!==`confirm-delete`)return;if(n.escape){w({kind:`menu`});return}let r=e.toLowerCase();if(r===`y`||n.return)if(t.kind===`confirm-delete`){C(!0);let e=t.key;g(e).then(t=>{T(t?`Deleted: ${e}`:`Key not found: ${e}`)})}else{C(!0);let e=t.key,n=t.value;p(e,n).then(()=>T(`Secret stored: ${e} = [REDACTED]`)).catch(t=>T(`Failed to store ${e}: ${t instanceof Error?t.message:String(t)}`))}else r===`n`&&w({kind:`menu`})},{isActive:(t.kind===`confirm-overwrite`||t.kind===`confirm-delete`)&&!S}),s((e,n)=>{if(!(t.kind!==`collect-key`&&t.kind!==`collect-value`)&&n.escape){if(t.kind===`collect-value`){w({kind:`collect-key`,action:`set`});return}w({kind:`menu`})}},{isActive:(t.kind===`collect-key`||t.kind===`collect-value`)&&!S});let E=e=>{let n=e.trim();if(!n){x(`Key required`);return}if(!u(n)){x(`Invalid key (allowed: letters/digits/._- only; no leading dot; not a Windows reserved name)`);return}if(t.kind===`collect-key`){if(t.action===`get`){C(!0),d(n).then(e=>{T(e===null?`Key not found: ${n}`:`Key found: ${n} = ${m(e)}`)});return}if(t.action===`delete`){w({kind:`confirm-delete`,key:n});return}if(t.action===`set`){w({kind:`collect-value`,key:n});return}}},D=e=>{if(t.kind!==`collect-value`)return;if(e.length===0){x(`Secret value cannot be empty`);return}let n=t.key;C(!0),d(n).then(t=>{if(t!==null){C(!1),w({kind:`confirm-overwrite`,key:n,value:e});return}return p(n,e).then(()=>T(`Secret stored: ${n} = [REDACTED]`))}).catch(e=>T(`Failed to store ${n}: ${e instanceof Error?e.message:String(e)}`))};if(t.kind===`menu`)return(0,M.jsx)(i,{title:`Local Vault`,subtitle:`${F.length} actions`,onCancel:()=>T(`Local vault panel dismissed`),color:`background`,hideInputGuide:!0,children:(0,M.jsxs)(o,{flexDirection:`column`,children:[F.map((e,t)=>(0,M.jsxs)(o,{flexDirection:`row`,children:[(0,M.jsx)(r,{children:`${t===a?`›`:` `} ${e.label}`.padEnd(P)}),(0,M.jsx)(r,{dimColor:!0,children:e.description})]},e.kind)),S&&(0,M.jsx)(o,{marginTop:1,children:(0,M.jsx)(r,{dimColor:!0,children:`Working...`})}),(0,M.jsx)(o,{marginTop:1,children:(0,M.jsx)(r,{dimColor:!0,children:`↑/↓ or 1-5 select · Enter run · Esc close`})})]})});if(t.kind===`confirm-delete`)return(0,M.jsx)(i,{title:`Confirm Delete`,onCancel:()=>w({kind:`menu`}),color:`warning`,hideInputGuide:!0,children:(0,M.jsxs)(o,{flexDirection:`column`,children:[(0,M.jsxs)(r,{children:[`Delete secret "`,t.key,`"? This cannot be undone.`]}),(0,M.jsx)(o,{marginTop:1,children:(0,M.jsx)(r,{dimColor:!0,children:`y/Enter = delete · n/Esc = cancel`})}),S&&(0,M.jsx)(r,{dimColor:!0,children:`Deleting...`})]})});if(t.kind===`confirm-overwrite`)return(0,M.jsx)(i,{title:`Confirm Overwrite`,onCancel:()=>w({kind:`menu`}),color:`warning`,hideInputGuide:!0,children:(0,M.jsxs)(o,{flexDirection:`column`,children:[(0,M.jsxs)(r,{children:[`Secret "`,t.key,`" already exists. Overwrite? Old value is lost.`]}),(0,M.jsx)(o,{marginTop:1,children:(0,M.jsx)(r,{dimColor:!0,children:`y/Enter = overwrite · n/Esc = cancel`})}),S&&(0,M.jsx)(r,{dimColor:!0,children:`Storing...`})]})});let k=t.kind===`collect-key`?`KEY NAME`:`SECRET VALUE`,A=t.kind===`collect-key`?`e.g. github-token`:`(masked input — value never displayed)`,I=t.kind===`collect-key`?E:D,L=t.kind===`collect-value`;return(0,M.jsx)(i,{title:`Local Vault · ${t.kind===`collect-key`?`KEY`:`VALUE`}`,onCancel:()=>w({kind:`menu`}),color:`background`,hideInputGuide:!0,children:(0,M.jsxs)(o,{flexDirection:`column`,children:[(0,M.jsx)(o,{children:(0,M.jsx)(r,{dimColor:!0,children:k})}),(0,M.jsxs)(o,{children:[(0,M.jsx)(r,{children:`> `}),(0,M.jsx)(v,{value:l,onChange:e=>{f(e),x(null)},cursorOffset:_,onChangeCursorOffset:y,onSubmit:I,placeholder:A,columns:70,showCursor:!0,mask:L?`*`:void 0})]}),b!==null&&(0,M.jsx)(o,{marginTop:0,children:(0,M.jsxs)(r,{color:`warning`,children:[`✗ `,b]})}),S&&(0,M.jsx)(o,{marginTop:0,children:(0,M.jsx)(r,{dimColor:!0,children:`Working...`})}),(0,M.jsx)(o,{marginTop:1,children:(0,M.jsx)(r,{dimColor:!0,children:`Enter = next · Esc = back`})})]})})}async function A(e,t){if(e.action===`list`)return t(O(await h()),{display:`system`}),null;if(e.action===`set`){let{key:n,value:r}=e;return await p(n,r),t(`Secret stored: ${n} = [REDACTED]`,{display:`system`}),null}if(e.action===`get`){let{key:n,reveal:r}=e,i=await d(n);return i===null?(t(`Key not found: ${n}`,{display:`system`}),null):r?(t([`Secret revealed for: ${n}`,`Warning: secret revealed in terminal.`,`${n} = ${i}`].join(`
|
|
3
3
|
`),{display:`system`}),null):(t(`Key found: ${n} = ${m(i)}`,{display:`system`}),null)}if(e.action===`delete`){let{key:n}=e;return await g(n)?(t(`Deleted: ${n}`,{display:`system`}),null):(t(`Key not found: ${n}`,{display:`system`}),null)}return t(N,{display:`system`}),null}var j,M,N,P,F,I,L;e((()=>{j=t(n(),1),a(),f(),_(),l(),C(),D(),b(),M=c(),N=`Usage: /local-vault list | set KEY VALUE | get KEY [--reveal] | delete KEY`,P=26,F=[{kind:`list`,label:`List`,description:`Show stored secret keys`},{kind:`set`,label:`Set`,description:`Store a secret: KEY + VALUE (input is masked)`},{kind:`get`,label:`Get`,description:`Look up a secret (returns masked preview)`},{kind:`delete`,label:`Delete`,description:`Delete a stored secret by KEY`},{kind:`about`,label:`About`,description:`Show command syntax`}],I=y({commandName:`local-vault`,parseArgs:e=>{let t=w(e);return t.action===`invalid`?{action:`invalid`,reason:`${N}\n${t.reason}`}:t},dispatch:A,View:x,errorView:e=>j.createElement(x,{mode:`error`,message:e})}),L=async(e,t,n)=>(n??``).trim()===``?(0,M.jsx)(k,{onDone:e}):I(e,t,n)}))();export{L as callLocalVault};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,t as n}from"./axios-DhfaybwJ.js";import{Rn as r,b as i,t as a,x as o}from"./src-Di342QoJ.js";import{t as s}from"./jsx-runtime-D-D469L8.js";import{n as c,r as l}from"./analytics-DqMQntaB.js";import{l as u,u as d}from"./oauth-CdZEzMww.js";import{o as f,u as p}from"./api-O4eHGLTY.js";import{n as m,r as h}from"./hostGuard-zim_4F9V.js";import{n as g,t as _}from"./launchCommand-Du91jxMC.js";function v(e){return new Promise(t=>setTimeout(t,e))}async function y(){let e;try{e=(await p()).apiKey}catch(e){throw new L(e instanceof Error?e.message:String(e),501)}return m(b()),{"x-api-key":e,"anthropic-version":`2023-06-01`,"anthropic-beta":F,"content-type":`application/json`}}function b(){return`${u().BASE_API_URL}/v1/memory_stores`}function x(e){if(t.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new L(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new L(`Subscription required. Memory stores require a Claude Pro/Max/Team subscription.`,403);if(t===404)return new L(`Memory store or memory not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new L(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new L((e.response?.data)?.error?.message??e.message,t)}return e instanceof L?e:new L(e instanceof Error?e.message:String(e),0)}function S(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function C(e){let n;for(let r=0;r<I;r++)try{return await e()}catch(e){let i=x(e);if(i.statusCode>=500){n=i,r<I-1&&await v(S(t.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**r);continue}throw i}throw n??new L(`Request failed after retries`,0)}async function w(){return C(async()=>{let e=await y();return(await t.get(b(),{headers:e})).data.data??[]})}async function T(e,n){return C(async()=>{let r=await y(),i={name:e};return n&&(i.namespace=n),(await t.post(b(),i,{headers:r})).data})}async function E(e){return C(async()=>{let n=await y();return(await t.get(`${b()}/${e}`,{headers:n})).data})}async function D(e){return C(async()=>{let n=await y();return(await t.post(`${b()}/${e}/archive`,{},{headers:n})).data})}async function O(e){return C(async()=>{let n=await y();return(await t.get(`${b()}/${e}/memories`,{headers:n})).data.data??[]})}async function k(e,n){return C(async()=>{let r=await y(),i={content:n};return(await t.post(`${b()}/${e}/memories`,i,{headers:r})).data})}async function A(e,n){return C(async()=>{let r=await y();return(await t.get(`${b()}/${e}/memories/${n}`,{headers:r})).data})}async function j(e,n,r){return C(async()=>{let i=await y(),a={content:r};return(await t.patch(`${b()}/${e}/memories/${n}`,a,{headers:i})).data})}async function M(e,n){return C(async()=>{let r=await y();await t.delete(`${b()}/${e}/memories/${n}`,{headers:r})})}async function N(e){return C(async()=>{let n=await y();return(await t.get(`${b()}/${e}/memory_versions`,{headers:n})).data.data??[]})}async function P(e,n){return C(async()=>{let r=await y();return(await t.post(`${b()}/${e}/memory_versions/${n}/redact`,{},{headers:r})).data})}var F,I,L,R=e((()=>{n(),d(),h(),f(),F=`managed-agents-2026-04-01`,I=3,L=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`MemoryStoresApiError`}}}));function z({store:e}){let t=!!e.archived_at,n=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,V.jsxs)(o,{children:[(0,V.jsx)(i,{bold:!0,children:e.memory_store_id}),(0,V.jsx)(i,{dimColor:!0,children:` · `}),(0,V.jsx)(i,{color:t?`warning`:`success`,children:t?`archived`:`active`}),e.namespace?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(i,{dimColor:!0,children:` · ns: `}),(0,V.jsx)(i,{children:e.namespace})]}):null]}),(0,V.jsxs)(i,{children:[`Name: `,e.name]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,n]})]})}function B(e){if(e.mode===`list`)return e.stores.length===0?(0,V.jsx)(o,{children:(0,V.jsx)(i,{dimColor:!0,children:`No memory stores found. Use /memory-stores create <name> to create one.`})}):(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory Stores (`,e.stores.length,`)`]})}),e.stores.map(e=>(0,V.jsx)(z,{store:e},e.memory_store_id))]});if(e.mode===`detail`){let{store:t}=e,n=!!t.archived_at,r=t.created_at?new Date(t.created_at).toLocaleString():`—`,a=t.archived_at?new Date(t.archived_at).toLocaleString():null;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory Store: `,t.memory_store_id]})}),(0,V.jsxs)(i,{children:[`Name: `,t.name]}),t.namespace?(0,V.jsxs)(i,{children:[`Namespace: `,t.namespace]}):null,(0,V.jsxs)(i,{children:[`Status:`,` `,(0,V.jsx)(i,{color:n?`warning`:`success`,children:n?`archived`:`active`})]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,r]}),a?(0,V.jsxs)(i,{dimColor:!0,children:[`Archived: `,a]}):null]})}if(e.mode===`created`){let{store:t}=e;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`success`,children:`Memory store created`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_store_id]}),(0,V.jsxs)(i,{children:[`Name: `,t.name]}),t.namespace?(0,V.jsxs)(i,{children:[`Namespace: `,t.namespace]}):null]})}if(e.mode===`archived`){let{store:t}=e,n=t.archived_at?new Date(t.archived_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`warning`,children:`Memory store archived`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_store_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Archived at: `,n]})]})}if(e.mode===`memory-list`){let{storeId:t,memories:n}=e;return n.length===0?(0,V.jsx)(o,{children:(0,V.jsxs)(i,{dimColor:!0,children:[`No memories in store `,t,`. Use /memory-stores create-memory `,t,` <content> to add one.`]})}):(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memories in `,t,` (`,n.length,`)`]})}),n.map(e=>(0,V.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,V.jsx)(i,{bold:!0,children:e.memory_id}),(0,V.jsx)(i,{dimColor:!0,children:e.content.length>80?`${e.content.slice(0,80)}…`:e.content})]},e.memory_id))]})}if(e.mode===`memory-detail`){let{memory:t}=e,n=t.created_at?new Date(t.created_at).toLocaleString():`—`,r=t.updated_at?new Date(t.updated_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory: `,t.memory_id]})}),(0,V.jsxs)(i,{children:[`Store: `,t.memory_store_id]}),(0,V.jsxs)(i,{children:[`Content: `,t.content]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,n]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Updated: `,r]})]})}if(e.mode===`memory-created`){let{memory:t}=e;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`success`,children:`Memory created`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_id]}),(0,V.jsxs)(i,{children:[`Store: `,t.memory_store_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Content: `,t.content]})]})}if(e.mode===`memory-updated`){let{memory:t}=e;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`success`,children:`Memory updated`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Content: `,t.content]})]})}if(e.mode===`memory-deleted`)return(0,V.jsx)(o,{children:(0,V.jsxs)(i,{color:`success`,children:[`Memory `,e.memoryId,` deleted from store `,e.storeId,`.`]})});if(e.mode===`versions`){let{storeId:t,versions:n}=e;return n.length===0?(0,V.jsx)(o,{children:(0,V.jsxs)(i,{dimColor:!0,children:[`No memory versions found for store `,t,`.`]})}):(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory Versions in `,t,` (`,n.length,`)`]})}),n.map(e=>{let t=e.created_at?new Date(e.created_at).toLocaleString():`—`,n=!!e.redacted_at;return(0,V.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,V.jsxs)(o,{children:[(0,V.jsx)(i,{bold:!0,children:e.version_id}),n?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(i,{dimColor:!0,children:` · `}),(0,V.jsx)(i,{color:`warning`,children:`redacted`})]}):null]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,t]})]},e.version_id)})]})}if(e.mode===`redacted`){let{version:t}=e,n=t.redacted_at?new Date(t.redacted_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`warning`,children:`Version redacted`})}),(0,V.jsxs)(i,{children:[`ID: `,t.version_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Redacted at: `,n]})]})}return(0,V.jsx)(o,{children:(0,V.jsx)(i,{color:`error`,children:e.message})})}var V,H=e((()=>{r(),a(),V=s()}));function U(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a store id`}}if(r===`create`)return i?{action:`create`,name:i}:{action:`invalid`,reason:`create requires a store name, e.g. create "My Work Store"`};if(r===`archive`){if(!i)return{action:`invalid`,reason:`archive requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`archive`,id:e}:{action:`invalid`,reason:`archive requires a store id`}}if(r===`memories`){if(!i)return{action:`invalid`,reason:`memories requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`memories`,storeId:e}:{action:`invalid`,reason:`memories requires a store id`}}if(r===`create-memory`){let e=i.split(/\s+/);if(e.length<2||!e[0])return{action:`invalid`,reason:`create-memory requires a store id and content, e.g. create-memory ms_123 "The content"`};let t=e[0],n=e.slice(1).join(` `);return n.trim()?{action:`create-memory`,storeId:t,content:n.trim()}:{action:`invalid`,reason:`create-memory requires non-empty content`}}if(r===`get-memory`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`get-memory requires a store id and memory id, e.g. get-memory ms_123 mem_456`}:{action:`get-memory`,storeId:e[0],memoryId:e[1]}}if(r===`update-memory`){let e=i.split(/\s+/);if(e.length<3||!e[0]||!e[1])return{action:`invalid`,reason:`update-memory requires store id, memory id, and content, e.g. update-memory ms_123 mem_456 "New content"`};let t=e[0],n=e[1],r=e.slice(2).join(` `);return r.trim()?{action:`update-memory`,storeId:t,memoryId:n,content:r.trim()}:{action:`invalid`,reason:`update-memory requires non-empty content`}}if(r===`delete-memory`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`delete-memory requires a store id and memory id, e.g. delete-memory ms_123 mem_456`}:{action:`delete-memory`,storeId:e[0],memoryId:e[1]}}if(r===`versions`){if(!i)return{action:`invalid`,reason:`versions requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`versions`,storeId:e}:{action:`invalid`,reason:`versions requires a store id`}}if(r===`redact`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`redact requires a store id and version id, e.g. redact ms_123 ver_456`}:{action:`redact`,storeId:e[0],versionId:e[1]}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${W}`}}var W,G=e((()=>{W=`Usage: /memory-stores list | get ID | create NAME | archive ID | memories STORE_ID | create-memory STORE_ID CONTENT | get-memory STORE_ID MEMORY_ID | update-memory STORE_ID MEMORY_ID CONTENT | delete-memory STORE_ID MEMORY_ID | versions STORE_ID | redact STORE_ID VERSION_ID`}));async function K(e,t){if(e.action===`list`){l(`tengu_memory_stores_list`,{});try{let e=await w();return t(e.length===0?`No memory stores found.`:`${e.length} memory store(s).`,{display:`system`}),{mode:`list`,stores:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to list memory stores: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`get`){let{id:n}=e;l(`tengu_memory_stores_get`,{id:n});try{let e=await E(n);return t(`Memory store ${n} fetched.`,{display:`system`}),{mode:`detail`,store:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to get memory store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`create`){let{name:n}=e;l(`tengu_memory_stores_create`,{name:n});try{let e=await T(n);return t(`Memory store created: ${e.memory_store_id}`,{display:`system`}),{mode:`created`,store:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to create memory store: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`archive`){let{id:n}=e;l(`tengu_memory_stores_archive`,{id:n});try{let e=await D(n);return t(`Memory store ${n} archived.`,{display:`system`}),{mode:`archived`,store:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to archive memory store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`memories`){let{storeId:n}=e;l(`tengu_memory_stores_list_memories`,{storeId:n});try{let e=await O(n);return t(e.length===0?`No memories in store ${n}.`:`${e.length} memory(ies) in store ${n}.`,{display:`system`}),{mode:`memory-list`,storeId:n,memories:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to list memories in store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`create-memory`){let{storeId:n,content:r}=e;l(`tengu_memory_stores_create_memory`,{storeId:n});try{let e=await k(n,r);return t(`Memory created: ${e.memory_id}`,{display:`system`}),{mode:`memory-created`,memory:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to create memory in store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`get-memory`){let{storeId:n,memoryId:r}=e;l(`tengu_memory_stores_get_memory`,{storeId:n});try{let e=await A(n,r);return t(`Memory ${r} fetched.`,{display:`system`}),{mode:`memory-detail`,memory:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to get memory ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`update-memory`){let{storeId:n,memoryId:r,content:i}=e;l(`tengu_memory_stores_update_memory`,{storeId:n});try{let e=await j(n,r,i);return t(`Memory ${r} updated.`,{display:`system`}),{mode:`memory-updated`,memory:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to update memory ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`delete-memory`){let{storeId:n,memoryId:r}=e;l(`tengu_memory_stores_delete_memory`,{storeId:n});try{return await M(n,r),t(`Memory ${r} deleted.`,{display:`system`}),{mode:`memory-deleted`,storeId:n,memoryId:r}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to delete memory ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`versions`){let{storeId:n}=e;l(`tengu_memory_stores_versions`,{storeId:n});try{let e=await N(n);return t(e.length===0?`No memory versions found for store ${n}.`:`${e.length} version(s) in store ${n}.`,{display:`system`}),{mode:`versions`,storeId:n,versions:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to list versions for store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}let{storeId:n,versionId:r}=e;l(`tengu_memory_stores_redact`,{storeId:n});try{let e=await P(n,r);return t(`Version ${r} redacted.`,{display:`system`}),{mode:`redacted`,version:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to redact version ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}var q,J;e((()=>{c(),R(),H(),G(),_(),q=`Usage: /memory-stores list | get ID | create NAME | archive ID | memories STORE_ID | create-memory STORE_ID CONTENT | get-memory STORE_ID MEMORY_ID | update-memory STORE_ID MEMORY_ID CONTENT | delete-memory STORE_ID MEMORY_ID | versions STORE_ID | redact STORE_ID VERSION_ID`,J=g({commandName:`memory-stores`,parseArgs:e=>{l(`tengu_memory_stores_started`,{args:e});let t=U(e);return t.action===`invalid`?(l(`tengu_memory_stores_failed`,{reason:t.reason}),{action:`invalid`,reason:`${q}\n${t.reason}`}):t},dispatch:K,View:B,errorView:e=>null})}))();export{J as callMemoryStores};
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,t as n}from"./axios-DhfaybwJ.js";import{Rn as r,b as i,t as a,x as o}from"./src-Di342QoJ.js";import{t as s}from"./jsx-runtime-D-D469L8.js";import{n as c,r as l}from"./analytics-DqMQntaB.js";import{l as u,u as d}from"./oauth-CdZEzMww.js";import{o as f,u as p}from"./api-DLLVkmRJ.js";import{n as m,r as h}from"./hostGuard-zim_4F9V.js";import{n as g,t as _}from"./launchCommand-Du91jxMC.js";function v(e){return new Promise(t=>setTimeout(t,e))}async function y(){let e;try{e=(await p()).apiKey}catch(e){throw new L(e instanceof Error?e.message:String(e),501)}return m(b()),{"x-api-key":e,"anthropic-version":`2023-06-01`,"anthropic-beta":F,"content-type":`application/json`}}function b(){return`${u().BASE_API_URL}/v1/memory_stores`}function x(e){if(t.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new L(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new L(`Subscription required. Memory stores require a Claude Pro/Max/Team subscription.`,403);if(t===404)return new L(`Memory store or memory not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new L(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new L((e.response?.data)?.error?.message??e.message,t)}return e instanceof L?e:new L(e instanceof Error?e.message:String(e),0)}function S(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function C(e){let n;for(let r=0;r<I;r++)try{return await e()}catch(e){let i=x(e);if(i.statusCode>=500){n=i,r<I-1&&await v(S(t.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**r);continue}throw i}throw n??new L(`Request failed after retries`,0)}async function w(){return C(async()=>{let e=await y();return(await t.get(b(),{headers:e})).data.data??[]})}async function T(e,n){return C(async()=>{let r=await y(),i={name:e};return n&&(i.namespace=n),(await t.post(b(),i,{headers:r})).data})}async function E(e){return C(async()=>{let n=await y();return(await t.get(`${b()}/${e}`,{headers:n})).data})}async function D(e){return C(async()=>{let n=await y();return(await t.post(`${b()}/${e}/archive`,{},{headers:n})).data})}async function O(e){return C(async()=>{let n=await y();return(await t.get(`${b()}/${e}/memories`,{headers:n})).data.data??[]})}async function k(e,n){return C(async()=>{let r=await y(),i={content:n};return(await t.post(`${b()}/${e}/memories`,i,{headers:r})).data})}async function A(e,n){return C(async()=>{let r=await y();return(await t.get(`${b()}/${e}/memories/${n}`,{headers:r})).data})}async function j(e,n,r){return C(async()=>{let i=await y(),a={content:r};return(await t.patch(`${b()}/${e}/memories/${n}`,a,{headers:i})).data})}async function M(e,n){return C(async()=>{let r=await y();await t.delete(`${b()}/${e}/memories/${n}`,{headers:r})})}async function N(e){return C(async()=>{let n=await y();return(await t.get(`${b()}/${e}/memory_versions`,{headers:n})).data.data??[]})}async function P(e,n){return C(async()=>{let r=await y();return(await t.post(`${b()}/${e}/memory_versions/${n}/redact`,{},{headers:r})).data})}var F,I,L,R=e((()=>{n(),d(),h(),f(),F=`managed-agents-2026-04-01`,I=3,L=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`MemoryStoresApiError`}}}));function z({store:e}){let t=!!e.archived_at,n=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,V.jsxs)(o,{children:[(0,V.jsx)(i,{bold:!0,children:e.memory_store_id}),(0,V.jsx)(i,{dimColor:!0,children:` · `}),(0,V.jsx)(i,{color:t?`warning`:`success`,children:t?`archived`:`active`}),e.namespace?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(i,{dimColor:!0,children:` · ns: `}),(0,V.jsx)(i,{children:e.namespace})]}):null]}),(0,V.jsxs)(i,{children:[`Name: `,e.name]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,n]})]})}function B(e){if(e.mode===`list`)return e.stores.length===0?(0,V.jsx)(o,{children:(0,V.jsx)(i,{dimColor:!0,children:`No memory stores found. Use /memory-stores create <name> to create one.`})}):(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory Stores (`,e.stores.length,`)`]})}),e.stores.map(e=>(0,V.jsx)(z,{store:e},e.memory_store_id))]});if(e.mode===`detail`){let{store:t}=e,n=!!t.archived_at,r=t.created_at?new Date(t.created_at).toLocaleString():`—`,a=t.archived_at?new Date(t.archived_at).toLocaleString():null;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory Store: `,t.memory_store_id]})}),(0,V.jsxs)(i,{children:[`Name: `,t.name]}),t.namespace?(0,V.jsxs)(i,{children:[`Namespace: `,t.namespace]}):null,(0,V.jsxs)(i,{children:[`Status:`,` `,(0,V.jsx)(i,{color:n?`warning`:`success`,children:n?`archived`:`active`})]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,r]}),a?(0,V.jsxs)(i,{dimColor:!0,children:[`Archived: `,a]}):null]})}if(e.mode===`created`){let{store:t}=e;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`success`,children:`Memory store created`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_store_id]}),(0,V.jsxs)(i,{children:[`Name: `,t.name]}),t.namespace?(0,V.jsxs)(i,{children:[`Namespace: `,t.namespace]}):null]})}if(e.mode===`archived`){let{store:t}=e,n=t.archived_at?new Date(t.archived_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`warning`,children:`Memory store archived`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_store_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Archived at: `,n]})]})}if(e.mode===`memory-list`){let{storeId:t,memories:n}=e;return n.length===0?(0,V.jsx)(o,{children:(0,V.jsxs)(i,{dimColor:!0,children:[`No memories in store `,t,`. Use /memory-stores create-memory `,t,` <content> to add one.`]})}):(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memories in `,t,` (`,n.length,`)`]})}),n.map(e=>(0,V.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,V.jsx)(i,{bold:!0,children:e.memory_id}),(0,V.jsx)(i,{dimColor:!0,children:e.content.length>80?`${e.content.slice(0,80)}…`:e.content})]},e.memory_id))]})}if(e.mode===`memory-detail`){let{memory:t}=e,n=t.created_at?new Date(t.created_at).toLocaleString():`—`,r=t.updated_at?new Date(t.updated_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory: `,t.memory_id]})}),(0,V.jsxs)(i,{children:[`Store: `,t.memory_store_id]}),(0,V.jsxs)(i,{children:[`Content: `,t.content]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,n]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Updated: `,r]})]})}if(e.mode===`memory-created`){let{memory:t}=e;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`success`,children:`Memory created`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_id]}),(0,V.jsxs)(i,{children:[`Store: `,t.memory_store_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Content: `,t.content]})]})}if(e.mode===`memory-updated`){let{memory:t}=e;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`success`,children:`Memory updated`})}),(0,V.jsxs)(i,{children:[`ID: `,t.memory_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Content: `,t.content]})]})}if(e.mode===`memory-deleted`)return(0,V.jsx)(o,{children:(0,V.jsxs)(i,{color:`success`,children:[`Memory `,e.memoryId,` deleted from store `,e.storeId,`.`]})});if(e.mode===`versions`){let{storeId:t,versions:n}=e;return n.length===0?(0,V.jsx)(o,{children:(0,V.jsxs)(i,{dimColor:!0,children:[`No memory versions found for store `,t,`.`]})}):(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{marginBottom:1,children:(0,V.jsxs)(i,{bold:!0,children:[`Memory Versions in `,t,` (`,n.length,`)`]})}),n.map(e=>{let t=e.created_at?new Date(e.created_at).toLocaleString():`—`,n=!!e.redacted_at;return(0,V.jsxs)(o,{flexDirection:`column`,marginBottom:1,children:[(0,V.jsxs)(o,{children:[(0,V.jsx)(i,{bold:!0,children:e.version_id}),n?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(i,{dimColor:!0,children:` · `}),(0,V.jsx)(i,{color:`warning`,children:`redacted`})]}):null]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Created: `,t]})]},e.version_id)})]})}if(e.mode===`redacted`){let{version:t}=e,n=t.redacted_at?new Date(t.redacted_at).toLocaleString():`—`;return(0,V.jsxs)(o,{flexDirection:`column`,children:[(0,V.jsx)(o,{children:(0,V.jsx)(i,{bold:!0,color:`warning`,children:`Version redacted`})}),(0,V.jsxs)(i,{children:[`ID: `,t.version_id]}),(0,V.jsxs)(i,{dimColor:!0,children:[`Redacted at: `,n]})]})}return(0,V.jsx)(o,{children:(0,V.jsx)(i,{color:`error`,children:e.message})})}var V,H=e((()=>{r(),a(),V=s()}));function U(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a store id`}}if(r===`create`)return i?{action:`create`,name:i}:{action:`invalid`,reason:`create requires a store name, e.g. create "My Work Store"`};if(r===`archive`){if(!i)return{action:`invalid`,reason:`archive requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`archive`,id:e}:{action:`invalid`,reason:`archive requires a store id`}}if(r===`memories`){if(!i)return{action:`invalid`,reason:`memories requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`memories`,storeId:e}:{action:`invalid`,reason:`memories requires a store id`}}if(r===`create-memory`){let e=i.split(/\s+/);if(e.length<2||!e[0])return{action:`invalid`,reason:`create-memory requires a store id and content, e.g. create-memory ms_123 "The content"`};let t=e[0],n=e.slice(1).join(` `);return n.trim()?{action:`create-memory`,storeId:t,content:n.trim()}:{action:`invalid`,reason:`create-memory requires non-empty content`}}if(r===`get-memory`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`get-memory requires a store id and memory id, e.g. get-memory ms_123 mem_456`}:{action:`get-memory`,storeId:e[0],memoryId:e[1]}}if(r===`update-memory`){let e=i.split(/\s+/);if(e.length<3||!e[0]||!e[1])return{action:`invalid`,reason:`update-memory requires store id, memory id, and content, e.g. update-memory ms_123 mem_456 "New content"`};let t=e[0],n=e[1],r=e.slice(2).join(` `);return r.trim()?{action:`update-memory`,storeId:t,memoryId:n,content:r.trim()}:{action:`invalid`,reason:`update-memory requires non-empty content`}}if(r===`delete-memory`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`delete-memory requires a store id and memory id, e.g. delete-memory ms_123 mem_456`}:{action:`delete-memory`,storeId:e[0],memoryId:e[1]}}if(r===`versions`){if(!i)return{action:`invalid`,reason:`versions requires a store id`};let e=i.split(/\s+/)[0];return e?{action:`versions`,storeId:e}:{action:`invalid`,reason:`versions requires a store id`}}if(r===`redact`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`redact requires a store id and version id, e.g. redact ms_123 ver_456`}:{action:`redact`,storeId:e[0],versionId:e[1]}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${W}`}}var W,G=e((()=>{W=`Usage: /memory-stores list | get ID | create NAME | archive ID | memories STORE_ID | create-memory STORE_ID CONTENT | get-memory STORE_ID MEMORY_ID | update-memory STORE_ID MEMORY_ID CONTENT | delete-memory STORE_ID MEMORY_ID | versions STORE_ID | redact STORE_ID VERSION_ID`}));async function K(e,t){if(e.action===`list`){l(`tengu_memory_stores_list`,{});try{let e=await w();return t(e.length===0?`No memory stores found.`:`${e.length} memory store(s).`,{display:`system`}),{mode:`list`,stores:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to list memory stores: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`get`){let{id:n}=e;l(`tengu_memory_stores_get`,{id:n});try{let e=await E(n);return t(`Memory store ${n} fetched.`,{display:`system`}),{mode:`detail`,store:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to get memory store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`create`){let{name:n}=e;l(`tengu_memory_stores_create`,{name:n});try{let e=await T(n);return t(`Memory store created: ${e.memory_store_id}`,{display:`system`}),{mode:`created`,store:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to create memory store: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`archive`){let{id:n}=e;l(`tengu_memory_stores_archive`,{id:n});try{let e=await D(n);return t(`Memory store ${n} archived.`,{display:`system`}),{mode:`archived`,store:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to archive memory store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`memories`){let{storeId:n}=e;l(`tengu_memory_stores_list_memories`,{storeId:n});try{let e=await O(n);return t(e.length===0?`No memories in store ${n}.`:`${e.length} memory(ies) in store ${n}.`,{display:`system`}),{mode:`memory-list`,storeId:n,memories:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to list memories in store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`create-memory`){let{storeId:n,content:r}=e;l(`tengu_memory_stores_create_memory`,{storeId:n});try{let e=await k(n,r);return t(`Memory created: ${e.memory_id}`,{display:`system`}),{mode:`memory-created`,memory:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to create memory in store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}if(e.action===`get-memory`){let{storeId:n,memoryId:r}=e;l(`tengu_memory_stores_get_memory`,{storeId:n});try{let e=await A(n,r);return t(`Memory ${r} fetched.`,{display:`system`}),{mode:`memory-detail`,memory:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to get memory ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`update-memory`){let{storeId:n,memoryId:r,content:i}=e;l(`tengu_memory_stores_update_memory`,{storeId:n});try{let e=await j(n,r,i);return t(`Memory ${r} updated.`,{display:`system`}),{mode:`memory-updated`,memory:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to update memory ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`delete-memory`){let{storeId:n,memoryId:r}=e;l(`tengu_memory_stores_delete_memory`,{storeId:n});try{return await M(n,r),t(`Memory ${r} deleted.`,{display:`system`}),{mode:`memory-deleted`,storeId:n,memoryId:r}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to delete memory ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}if(e.action===`versions`){let{storeId:n}=e;l(`tengu_memory_stores_versions`,{storeId:n});try{let e=await N(n);return t(e.length===0?`No memory versions found for store ${n}.`:`${e.length} version(s) in store ${n}.`,{display:`system`}),{mode:`versions`,storeId:n,versions:e}}catch(e){let r=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:r}),t(`Failed to list versions for store ${n}: ${r}`,{display:`system`}),{mode:`error`,message:r}}}let{storeId:n,versionId:r}=e;l(`tengu_memory_stores_redact`,{storeId:n});try{let e=await P(n,r);return t(`Version ${r} redacted.`,{display:`system`}),{mode:`redacted`,version:e}}catch(e){let n=e instanceof Error?e.message:String(e);return l(`tengu_memory_stores_failed`,{reason:n}),t(`Failed to redact version ${r}: ${n}`,{display:`system`}),{mode:`error`,message:n}}}var q,J;e((()=>{c(),R(),H(),G(),_(),q=`Usage: /memory-stores list | get ID | create NAME | archive ID | memories STORE_ID | create-memory STORE_ID CONTENT | get-memory STORE_ID MEMORY_ID | update-memory STORE_ID MEMORY_ID CONTENT | delete-memory STORE_ID MEMORY_ID | versions STORE_ID | redact STORE_ID VERSION_ID`,J=g({commandName:`memory-stores`,parseArgs:e=>{l(`tengu_memory_stores_started`,{args:e});let t=U(e);return t.action===`invalid`?(l(`tengu_memory_stores_failed`,{reason:t.reason}),{action:`invalid`,reason:`${q}\n${t.reason}`}):t},dispatch:K,View:B,errorView:e=>null})}))();export{J as callMemoryStores};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{Rn as t,T as n,b as r,p as i,t as a,x as o}from"./src-Di342QoJ.js";import{t as s}from"./jsx-runtime-D-D469L8.js";import{Ac as c,Nc as l,Pc as u,Sc as d}from"./paths-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{Rn as t,T as n,b as r,p as i,t as a,x as o}from"./src-Di342QoJ.js";import{t as s}from"./jsx-runtime-D-D469L8.js";import{Ac as c,Nc as l,Pc as u,Sc as d}from"./paths-q1-Ni8Oh.js";import{n as f,r as p}from"./analytics-DqMQntaB.js";import{n as m,t as h}from"./ThemePicker-DnK0DStD.js";function g(e){return e}function _(e){let t=e.trim().toLowerCase();return t===``||t===`reset`?{sub:`full`}:x.has(t)?{sub:t}:{sub:`full`,unknownArg:t}}function v({onDone:e}){let[,t]=n();return(0,b.jsx)(i,{color:`permission`,children:(0,b.jsx)(h,{onThemeSelect:n=>{t(n),p(`tengu_onboarding_step`,{stepId:g(`theme`)}),e(`Theme set to ${n}.`)},onCancel:()=>e(`Theme picker dismissed.`),skipExitHandling:!0})})}function y({theme:e,hasCompletedOnboarding:t,lastOnboardingVersion:n}){return(0,b.jsxs)(o,{flexDirection:`column`,paddingLeft:1,children:[(0,b.jsx)(r,{bold:!0,children:`Onboarding status`}),(0,b.jsxs)(r,{children:[`- Theme: `,(0,b.jsx)(r,{bold:!0,children:e})]}),(0,b.jsxs)(r,{children:[`- Onboarding completed:`,` `,(0,b.jsx)(r,{bold:!0,color:t?`success`:`warning`,children:t?`yes`:`no`})]}),(0,b.jsxs)(r,{children:[`- Last onboarding version: `,(0,b.jsx)(r,{bold:!0,children:n})]}),(0,b.jsx)(r,{dimColor:!0,children:`Run /onboarding (no args) to re-run the full flow, or /onboarding theme | trust | model | mcp for a specific step.`})]})}var b,x,S;e((()=>{t(),a(),f(),m(),c(),b=s(),x=new Set([`full`,`theme`,`trust`,`model`,`mcp`,`status`]),S=async(e,t,n)=>{let{sub:r,unknownArg:i}=_(n);if(p(`tengu_onboarding_step`,{stepId:g(`slash_${r}`)}),i!==void 0)return e(`Unknown /onboarding subcommand: \`${i}\`.\nValid: full | theme | trust | model | mcp | status`,{display:`system`}),null;if(r===`theme`)return(0,b.jsx)(v,{onDone:t=>e(t)});if(r===`trust`)return l(e=>({...e,hasTrustDialogAccepted:!1})),e("Workspace trust cleared for the current project. The trust dialog will appear on the next `claude` launch.",{display:`system`}),null;if(r===`model`)return e("Run `/model` to pick the AI model. Onboarding does not own the model picker; this entry exists for discoverability only.",{display:`system`}),null;if(r===`mcp`)return e("MCP server setup:\n - `/mcp` — list configured MCP servers\n - `claude mcp add <name> <command>` — add a server (in your shell)\n - `claude mcp remove <name>` — remove a server\nServers also load from `.mcp.json` in the workspace and from `~/.claude.json` globally.",{display:`system`}),null;if(r===`status`){let e=d();return(0,b.jsx)(y,{theme:e.theme??`(unset)`,hasCompletedOnboarding:e.hasCompletedOnboarding===!0,lastOnboardingVersion:e.lastOnboardingVersion??`(unset)`})}return u(e=>({...e,hasCompletedOnboarding:!1})),e(`Onboarding flag cleared. The full first-run setup (theme, OAuth/API key, security notes, terminal-setup) will run on the next \`claude\` launch.
|
|
2
2
|
|
|
3
3
|
For individual steps in this session, use:
|
|
4
4
|
/onboarding theme — re-pick theme inline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./axios-DhfaybwJ.js";import{Rn as i,b as a,t as o,x as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{n as l,r as u}from"./analytics-DqMQntaB.js";import{l as d,u as f}from"./oauth-CdZEzMww.js";import{i as p,n as m,r as h}from"./cron-DiW7eIPP.js";import{a as g,l as _,o as v}from"./api-O4eHGLTY.js";import{r as y,t as b}from"./hostGuard-zim_4F9V.js";function x(e){return new Promise(t=>setTimeout(t,e))}async function S(){let e,t;try{let n=await _();e=n.accessToken,t=n.orgUUID}catch(e){throw new F(`Not authenticated: ${e instanceof Error?e.message:String(e)}. Run /login to re-authenticate.`,401)}return b(C()),{...g(e),"anthropic-beta":N,"x-organization-uuid":t}}function C(){return`${d().BASE_API_URL}/v1/code/triggers`}function w(e){if(n.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new F(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new F(`Subscription required. Scheduled triggers require a Claude Pro/Max/Team subscription.`,403);if(t===404)return new F(`Trigger not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new F(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new F((e.response?.data)?.error?.message??e.message,t)}return e instanceof F?e:new F(e instanceof Error?e.message:String(e),0)}function T(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function E(e){let t;for(let r=0;r<P;r++)try{return await e()}catch(e){let i=w(e);if(i.statusCode>=500){t=i,r<P-1&&await x(T(n.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**r);continue}throw i}throw t??new F(`Request failed after retries`,0)}async function D(){return E(async()=>{let e=await S();return(await n.get(C(),{headers:e})).data.data??[]})}async function O(e){return E(async()=>{let t=await S();return(await n.get(`${C()}/${e}`,{headers:t})).data})}async function k(e){return E(async()=>{let t=await S();return(await n.post(C(),e,{headers:t})).data})}async function A(e,t){return E(async()=>{let r=await S();return(await n.post(`${C()}/${e}`,t,{headers:r})).data})}async function j(e){return E(async()=>{let t=await S();await n.delete(`${C()}/${e}`,{headers:t})})}async function M(e){return E(async()=>{let t=await S();return(await n.post(`${C()}/${e}/run`,{},{headers:t})).data})}var N,P,F,I=e((()=>{r(),f(),y(),v(),N=`ccr-triggers-2026-01-30`,P=3,F=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`TriggersApiError`}}}));function L({trigger:e}){let t=m(e.cron_expression,{utc:!0}),n=e.next_run?new Date(e.next_run).toLocaleString():`—`,r=e.enabled?`enabled`:`disabled`;return(0,z.jsxs)(s,{flexDirection:`column`,marginBottom:1,children:[(0,z.jsxs)(s,{children:[(0,z.jsx)(a,{bold:!0,children:e.trigger_id}),(0,z.jsx)(a,{dimColor:!0,children:` · `}),(0,z.jsx)(a,{color:e.enabled?`success`:`warning`,children:r}),e.agent_id?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{dimColor:!0,children:` · agent: `}),(0,z.jsx)(a,{children:e.agent_id})]}):null]}),(0,z.jsxs)(a,{children:[`Schedule: `,t]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Prompt: `,e.prompt]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Next run: `,n]})]})}function R(e){if(e.mode===`list`)return e.triggers.length===0?(0,z.jsx)(s,{children:(0,z.jsx)(a,{dimColor:!0,children:`No scheduled triggers. Use /schedule create <cron> <prompt> to create one.`})}):(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{marginBottom:1,children:(0,z.jsxs)(a,{bold:!0,children:[`Scheduled Triggers (`,e.triggers.length,`)`]})}),e.triggers.map(e=>(0,z.jsx)(L,{trigger:e},e.trigger_id))]});if(e.mode===`detail`){let{trigger:t}=e,n=m(t.cron_expression,{utc:!0}),r=t.next_run?new Date(t.next_run).toLocaleString():`—`,i=t.last_run?new Date(t.last_run).toLocaleString():`—`;return(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{marginBottom:1,children:(0,z.jsxs)(a,{bold:!0,children:[`Trigger: `,t.trigger_id]})}),(0,z.jsxs)(a,{children:[`Status:`,` `,(0,z.jsx)(a,{color:t.enabled?`success`:`warning`,children:t.enabled?`enabled`:`disabled`})]}),(0,z.jsxs)(a,{children:[`Schedule: `,n]}),t.agent_id?(0,z.jsxs)(a,{children:[`Agent: `,t.agent_id]}):null,(0,z.jsxs)(a,{children:[`Next run: `,r]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Last run: `,i]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Prompt: `,t.prompt]}),t.created_at?(0,z.jsxs)(a,{dimColor:!0,children:[`Created: `,new Date(t.created_at).toLocaleString()]}):null]})}if(e.mode===`created`){let{trigger:t}=e,n=m(t.cron_expression,{utc:!0});return(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{children:(0,z.jsx)(a,{bold:!0,color:`success`,children:`Trigger created`})}),(0,z.jsxs)(a,{children:[`ID: `,t.trigger_id]}),(0,z.jsxs)(a,{children:[`Schedule: `,n]}),(0,z.jsxs)(a,{children:[`Prompt: `,t.prompt]}),t.agent_id?(0,z.jsxs)(a,{children:[`Agent: `,t.agent_id]}):null,(0,z.jsxs)(a,{dimColor:!0,children:[`Status: `,t.enabled?`enabled`:`disabled`]})]})}if(e.mode===`updated`){let{trigger:t}=e;return(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{children:(0,z.jsx)(a,{bold:!0,color:`success`,children:`Trigger updated`})}),(0,z.jsxs)(a,{children:[`ID: `,t.trigger_id]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Status: `,t.enabled?`enabled`:`disabled`]})]})}return e.mode===`deleted`?(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`success`,children:[`Trigger `,e.id,` deleted.`]})}):e.mode===`ran`?(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`success`,children:[`Trigger `,e.id,` fired.`]})}),(0,z.jsxs)(a,{dimColor:!0,children:[`Run ID: `,e.runId]})]}):e.mode===`enabled`?(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`success`,children:[`Trigger `,e.id,` enabled.`]})}):e.mode===`disabled`?(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`warning`,children:[`Trigger `,e.id,` disabled.`]})}):(0,z.jsx)(s,{children:(0,z.jsx)(a,{color:`error`,children:e.message})})}var z,B=e((()=>{i(),o(),h(),z=c()}));function V(e){let t=e.trim().split(/\s+/);return t.length<6?null:{cron:t.slice(0,5).join(` `),prompt:t.slice(5).join(` `)}}function H(e){return e.trim().split(/\s+/).length===5}function U(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a trigger id`}}if(r===`create`){if(!i)return{action:`invalid`,reason:`create requires a cron expression and prompt, e.g. create "0 9 * * 1" Run weekly standup`};let e=V(i);if(!e)return{action:`invalid`,reason:`create requires 5 cron fields followed by a prompt, e.g. create "0 9 * * 1" Run weekly standup`};let{cron:t,prompt:n}=e;return H(t)?n.trim()?{action:`create`,cron:t,prompt:n.trim()}:{action:`invalid`,reason:`prompt cannot be empty`}:{action:`invalid`,reason:`Invalid cron expression: "${t}". Expected 5 fields (minute hour day month weekday).`}}if(r===`update`){let e=i.split(/\s+/);if(e.length<3||!e[0])return{action:`invalid`,reason:`update requires an id, field, and value, e.g. update trg_123 enabled false`};let t=e[0],n=e[1]??``,r=e.slice(2).join(` `);return n?r?{action:`update`,id:t,field:n,value:r}:{action:`invalid`,reason:`update requires a value`}:{action:`invalid`,reason:`update requires a field name`}}if(r===`delete`){if(!i)return{action:`invalid`,reason:`delete requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:`delete`,id:e}:{action:`invalid`,reason:`delete requires a trigger id`}}if(r===`run`){if(!i)return{action:`invalid`,reason:`run requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:`run`,id:e}:{action:`invalid`,reason:`run requires a trigger id`}}if(r===`enable`||r===`disable`){if(!i)return{action:`invalid`,reason:`${r} requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:r,id:e}:{action:`invalid`,reason:`${r} requires a trigger id`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${W}`}}var W,G=e((()=>{W=`Usage: /schedule list | get ID | create CRON PROMPT | update ID FIELD VALUE | delete ID | run ID | enable ID | disable ID`})),K,q;e((()=>{K=t(i(),1),l(),h(),I(),B(),G(),q=async(e,t,n)=>{u(`tengu_schedule_started`,{args:n??``});let r=U(n??``);if(r.action===`invalid`)return u(`tengu_schedule_failed`,{reason:r.reason}),e(`Usage: /schedule list | get ID | create CRON PROMPT | update ID FIELD VALUE | delete ID | run ID | enable ID | disable ID\n${r.reason}`,{display:`system`}),null;if(r.action===`list`){u(`tengu_schedule_list`,{});try{let t=await D();return e(t.length===0?`No scheduled triggers found.`:`${t.length} scheduled trigger(s).`,{display:`system`}),K.createElement(R,{mode:`list`,triggers:t})}catch(t){let n=t instanceof Error?t.message:String(t);return u(`tengu_schedule_failed`,{reason:n}),e(`Failed to list triggers: ${n}`,{display:`system`}),K.createElement(R,{mode:`error`,message:n})}}if(r.action===`get`){let{id:t}=r;u(`tengu_schedule_get`,{id:t});try{let n=await O(t);return e(`Trigger ${t} fetched.`,{display:`system`}),K.createElement(R,{mode:`detail`,trigger:n})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to get trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`create`){let{cron:t,prompt:n}=r;if(!p(t)){let n=`Invalid cron expression: "${t}". Expected 5 fields (minute hour day month weekday).`;return u(`tengu_schedule_failed`,{reason:n}),e(n,{display:`system`}),null}u(`tengu_schedule_create`,{cron:t});try{let r=await k({cron_expression:t,prompt:n});return e(`Trigger created: ${r.trigger_id}`,{display:`system`}),K.createElement(R,{mode:`created`,trigger:r})}catch(t){let n=t instanceof Error?t.message:String(t);return u(`tengu_schedule_failed`,{reason:n}),e(`Failed to create trigger: ${n}`,{display:`system`}),K.createElement(R,{mode:`error`,message:n})}}if(r.action===`update`){let{id:t,field:n,value:i}=r;u(`tengu_schedule_update`,{id:t,field:n});let a={};if(n===`enabled`)a={enabled:i===`true`||i===`1`};else if(n===`cron_expression`||n===`cron`)a={cron_expression:i};else if(n===`prompt`)a={prompt:i};else if(n===`agent_id`)a={agent_id:i};else{let t=`Unknown field "${n}". Valid fields: enabled, cron_expression, prompt, agent_id`;return u(`tengu_schedule_failed`,{reason:t}),e(t,{display:`system`}),K.createElement(R,{mode:`error`,message:t})}try{let n=await A(t,a);return e(`Trigger ${t} updated.`,{display:`system`}),K.createElement(R,{mode:`updated`,trigger:n})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to update trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`delete`){let{id:t}=r;u(`tengu_schedule_delete`,{id:t});try{return await j(t),e(`Trigger ${t} deleted.`,{display:`system`}),K.createElement(R,{mode:`deleted`,id:t})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to delete trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`run`){let{id:t}=r;u(`tengu_schedule_run`,{id:t});try{let n=await M(t);return e(`Trigger ${t} fired. Run ID: ${n.run_id}`,{display:`system`}),K.createElement(R,{mode:`ran`,id:t,runId:n.run_id})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to run trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`enable`){let{id:t}=r;u(`tengu_schedule_enable`,{id:t});try{return await A(t,{enabled:!0}),e(`Trigger ${t} enabled.`,{display:`system`}),K.createElement(R,{mode:`enabled`,id:t})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to enable trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}let{id:i}=r;u(`tengu_schedule_disable`,{id:i});try{return await A(i,{enabled:!1}),e(`Trigger ${i} disabled.`,{display:`system`}),K.createElement(R,{mode:`disabled`,id:i})}catch(t){let n=t instanceof Error?t.message:String(t);return u(`tengu_schedule_failed`,{reason:n}),e(`Failed to disable trigger ${i}: ${n}`,{display:`system`}),K.createElement(R,{mode:`error`,message:n})}}}))();export{q as callSchedule};
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./axios-DhfaybwJ.js";import{Rn as i,b as a,t as o,x as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{n as l,r as u}from"./analytics-DqMQntaB.js";import{l as d,u as f}from"./oauth-CdZEzMww.js";import{i as p,n as m,r as h}from"./cron-DiW7eIPP.js";import{a as g,l as _,o as v}from"./api-DLLVkmRJ.js";import{r as y,t as b}from"./hostGuard-zim_4F9V.js";function x(e){return new Promise(t=>setTimeout(t,e))}async function S(){let e,t;try{let n=await _();e=n.accessToken,t=n.orgUUID}catch(e){throw new F(`Not authenticated: ${e instanceof Error?e.message:String(e)}. Run /login to re-authenticate.`,401)}return b(C()),{...g(e),"anthropic-beta":N,"x-organization-uuid":t}}function C(){return`${d().BASE_API_URL}/v1/code/triggers`}function w(e){if(n.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new F(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new F(`Subscription required. Scheduled triggers require a Claude Pro/Max/Team subscription.`,403);if(t===404)return new F(`Trigger not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new F(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new F((e.response?.data)?.error?.message??e.message,t)}return e instanceof F?e:new F(e instanceof Error?e.message:String(e),0)}function T(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function E(e){let t;for(let r=0;r<P;r++)try{return await e()}catch(e){let i=w(e);if(i.statusCode>=500){t=i,r<P-1&&await x(T(n.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**r);continue}throw i}throw t??new F(`Request failed after retries`,0)}async function D(){return E(async()=>{let e=await S();return(await n.get(C(),{headers:e})).data.data??[]})}async function O(e){return E(async()=>{let t=await S();return(await n.get(`${C()}/${e}`,{headers:t})).data})}async function k(e){return E(async()=>{let t=await S();return(await n.post(C(),e,{headers:t})).data})}async function A(e,t){return E(async()=>{let r=await S();return(await n.post(`${C()}/${e}`,t,{headers:r})).data})}async function j(e){return E(async()=>{let t=await S();await n.delete(`${C()}/${e}`,{headers:t})})}async function M(e){return E(async()=>{let t=await S();return(await n.post(`${C()}/${e}/run`,{},{headers:t})).data})}var N,P,F,I=e((()=>{r(),f(),y(),v(),N=`ccr-triggers-2026-01-30`,P=3,F=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`TriggersApiError`}}}));function L({trigger:e}){let t=m(e.cron_expression,{utc:!0}),n=e.next_run?new Date(e.next_run).toLocaleString():`—`,r=e.enabled?`enabled`:`disabled`;return(0,z.jsxs)(s,{flexDirection:`column`,marginBottom:1,children:[(0,z.jsxs)(s,{children:[(0,z.jsx)(a,{bold:!0,children:e.trigger_id}),(0,z.jsx)(a,{dimColor:!0,children:` · `}),(0,z.jsx)(a,{color:e.enabled?`success`:`warning`,children:r}),e.agent_id?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{dimColor:!0,children:` · agent: `}),(0,z.jsx)(a,{children:e.agent_id})]}):null]}),(0,z.jsxs)(a,{children:[`Schedule: `,t]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Prompt: `,e.prompt]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Next run: `,n]})]})}function R(e){if(e.mode===`list`)return e.triggers.length===0?(0,z.jsx)(s,{children:(0,z.jsx)(a,{dimColor:!0,children:`No scheduled triggers. Use /schedule create <cron> <prompt> to create one.`})}):(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{marginBottom:1,children:(0,z.jsxs)(a,{bold:!0,children:[`Scheduled Triggers (`,e.triggers.length,`)`]})}),e.triggers.map(e=>(0,z.jsx)(L,{trigger:e},e.trigger_id))]});if(e.mode===`detail`){let{trigger:t}=e,n=m(t.cron_expression,{utc:!0}),r=t.next_run?new Date(t.next_run).toLocaleString():`—`,i=t.last_run?new Date(t.last_run).toLocaleString():`—`;return(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{marginBottom:1,children:(0,z.jsxs)(a,{bold:!0,children:[`Trigger: `,t.trigger_id]})}),(0,z.jsxs)(a,{children:[`Status:`,` `,(0,z.jsx)(a,{color:t.enabled?`success`:`warning`,children:t.enabled?`enabled`:`disabled`})]}),(0,z.jsxs)(a,{children:[`Schedule: `,n]}),t.agent_id?(0,z.jsxs)(a,{children:[`Agent: `,t.agent_id]}):null,(0,z.jsxs)(a,{children:[`Next run: `,r]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Last run: `,i]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Prompt: `,t.prompt]}),t.created_at?(0,z.jsxs)(a,{dimColor:!0,children:[`Created: `,new Date(t.created_at).toLocaleString()]}):null]})}if(e.mode===`created`){let{trigger:t}=e,n=m(t.cron_expression,{utc:!0});return(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{children:(0,z.jsx)(a,{bold:!0,color:`success`,children:`Trigger created`})}),(0,z.jsxs)(a,{children:[`ID: `,t.trigger_id]}),(0,z.jsxs)(a,{children:[`Schedule: `,n]}),(0,z.jsxs)(a,{children:[`Prompt: `,t.prompt]}),t.agent_id?(0,z.jsxs)(a,{children:[`Agent: `,t.agent_id]}):null,(0,z.jsxs)(a,{dimColor:!0,children:[`Status: `,t.enabled?`enabled`:`disabled`]})]})}if(e.mode===`updated`){let{trigger:t}=e;return(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{children:(0,z.jsx)(a,{bold:!0,color:`success`,children:`Trigger updated`})}),(0,z.jsxs)(a,{children:[`ID: `,t.trigger_id]}),(0,z.jsxs)(a,{dimColor:!0,children:[`Status: `,t.enabled?`enabled`:`disabled`]})]})}return e.mode===`deleted`?(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`success`,children:[`Trigger `,e.id,` deleted.`]})}):e.mode===`ran`?(0,z.jsxs)(s,{flexDirection:`column`,children:[(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`success`,children:[`Trigger `,e.id,` fired.`]})}),(0,z.jsxs)(a,{dimColor:!0,children:[`Run ID: `,e.runId]})]}):e.mode===`enabled`?(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`success`,children:[`Trigger `,e.id,` enabled.`]})}):e.mode===`disabled`?(0,z.jsx)(s,{children:(0,z.jsxs)(a,{color:`warning`,children:[`Trigger `,e.id,` disabled.`]})}):(0,z.jsx)(s,{children:(0,z.jsx)(a,{color:`error`,children:e.message})})}var z,B=e((()=>{i(),o(),h(),z=c()}));function V(e){let t=e.trim().split(/\s+/);return t.length<6?null:{cron:t.slice(0,5).join(` `),prompt:t.slice(5).join(` `)}}function H(e){return e.trim().split(/\s+/).length===5}function U(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a trigger id`}}if(r===`create`){if(!i)return{action:`invalid`,reason:`create requires a cron expression and prompt, e.g. create "0 9 * * 1" Run weekly standup`};let e=V(i);if(!e)return{action:`invalid`,reason:`create requires 5 cron fields followed by a prompt, e.g. create "0 9 * * 1" Run weekly standup`};let{cron:t,prompt:n}=e;return H(t)?n.trim()?{action:`create`,cron:t,prompt:n.trim()}:{action:`invalid`,reason:`prompt cannot be empty`}:{action:`invalid`,reason:`Invalid cron expression: "${t}". Expected 5 fields (minute hour day month weekday).`}}if(r===`update`){let e=i.split(/\s+/);if(e.length<3||!e[0])return{action:`invalid`,reason:`update requires an id, field, and value, e.g. update trg_123 enabled false`};let t=e[0],n=e[1]??``,r=e.slice(2).join(` `);return n?r?{action:`update`,id:t,field:n,value:r}:{action:`invalid`,reason:`update requires a value`}:{action:`invalid`,reason:`update requires a field name`}}if(r===`delete`){if(!i)return{action:`invalid`,reason:`delete requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:`delete`,id:e}:{action:`invalid`,reason:`delete requires a trigger id`}}if(r===`run`){if(!i)return{action:`invalid`,reason:`run requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:`run`,id:e}:{action:`invalid`,reason:`run requires a trigger id`}}if(r===`enable`||r===`disable`){if(!i)return{action:`invalid`,reason:`${r} requires a trigger id`};let e=i.split(/\s+/)[0];return e?{action:r,id:e}:{action:`invalid`,reason:`${r} requires a trigger id`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${W}`}}var W,G=e((()=>{W=`Usage: /schedule list | get ID | create CRON PROMPT | update ID FIELD VALUE | delete ID | run ID | enable ID | disable ID`})),K,q;e((()=>{K=t(i(),1),l(),h(),I(),B(),G(),q=async(e,t,n)=>{u(`tengu_schedule_started`,{args:n??``});let r=U(n??``);if(r.action===`invalid`)return u(`tengu_schedule_failed`,{reason:r.reason}),e(`Usage: /schedule list | get ID | create CRON PROMPT | update ID FIELD VALUE | delete ID | run ID | enable ID | disable ID\n${r.reason}`,{display:`system`}),null;if(r.action===`list`){u(`tengu_schedule_list`,{});try{let t=await D();return e(t.length===0?`No scheduled triggers found.`:`${t.length} scheduled trigger(s).`,{display:`system`}),K.createElement(R,{mode:`list`,triggers:t})}catch(t){let n=t instanceof Error?t.message:String(t);return u(`tengu_schedule_failed`,{reason:n}),e(`Failed to list triggers: ${n}`,{display:`system`}),K.createElement(R,{mode:`error`,message:n})}}if(r.action===`get`){let{id:t}=r;u(`tengu_schedule_get`,{id:t});try{let n=await O(t);return e(`Trigger ${t} fetched.`,{display:`system`}),K.createElement(R,{mode:`detail`,trigger:n})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to get trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`create`){let{cron:t,prompt:n}=r;if(!p(t)){let n=`Invalid cron expression: "${t}". Expected 5 fields (minute hour day month weekday).`;return u(`tengu_schedule_failed`,{reason:n}),e(n,{display:`system`}),null}u(`tengu_schedule_create`,{cron:t});try{let r=await k({cron_expression:t,prompt:n});return e(`Trigger created: ${r.trigger_id}`,{display:`system`}),K.createElement(R,{mode:`created`,trigger:r})}catch(t){let n=t instanceof Error?t.message:String(t);return u(`tengu_schedule_failed`,{reason:n}),e(`Failed to create trigger: ${n}`,{display:`system`}),K.createElement(R,{mode:`error`,message:n})}}if(r.action===`update`){let{id:t,field:n,value:i}=r;u(`tengu_schedule_update`,{id:t,field:n});let a={};if(n===`enabled`)a={enabled:i===`true`||i===`1`};else if(n===`cron_expression`||n===`cron`)a={cron_expression:i};else if(n===`prompt`)a={prompt:i};else if(n===`agent_id`)a={agent_id:i};else{let t=`Unknown field "${n}". Valid fields: enabled, cron_expression, prompt, agent_id`;return u(`tengu_schedule_failed`,{reason:t}),e(t,{display:`system`}),K.createElement(R,{mode:`error`,message:t})}try{let n=await A(t,a);return e(`Trigger ${t} updated.`,{display:`system`}),K.createElement(R,{mode:`updated`,trigger:n})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to update trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`delete`){let{id:t}=r;u(`tengu_schedule_delete`,{id:t});try{return await j(t),e(`Trigger ${t} deleted.`,{display:`system`}),K.createElement(R,{mode:`deleted`,id:t})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to delete trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`run`){let{id:t}=r;u(`tengu_schedule_run`,{id:t});try{let n=await M(t);return e(`Trigger ${t} fired. Run ID: ${n.run_id}`,{display:`system`}),K.createElement(R,{mode:`ran`,id:t,runId:n.run_id})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to run trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}if(r.action===`enable`){let{id:t}=r;u(`tengu_schedule_enable`,{id:t});try{return await A(t,{enabled:!0}),e(`Trigger ${t} enabled.`,{display:`system`}),K.createElement(R,{mode:`enabled`,id:t})}catch(n){let r=n instanceof Error?n.message:String(n);return u(`tengu_schedule_failed`,{reason:r}),e(`Failed to enable trigger ${t}: ${r}`,{display:`system`}),K.createElement(R,{mode:`error`,message:r})}}let{id:i}=r;u(`tengu_schedule_disable`,{id:i});try{return await A(i,{enabled:!1}),e(`Trigger ${i} disabled.`,{display:`system`}),K.createElement(R,{mode:`disabled`,id:i})}catch(t){let n=t instanceof Error?t.message:String(t);return u(`tengu_schedule_failed`,{reason:n}),e(`Failed to disable trigger ${i}: ${n}`,{display:`system`}),K.createElement(R,{mode:`error`,message:n})}}}))();export{q as callSchedule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,s as r}from"./envUtils-BWeoiL4Y.js";import{n as i,t as a}from"./axios-DhfaybwJ.js";import{Rn as o,b as s,t as c,x as l}from"./src-Di342QoJ.js";import{t as u}from"./jsx-runtime-D-D469L8.js";import{n as d,r as f}from"./analytics-DqMQntaB.js";import{l as p,u as m}from"./oauth-CdZEzMww.js";import{o as h,u as g}from"./api-O4eHGLTY.js";import{n as _,r as v}from"./hostGuard-zim_4F9V.js";import{join as y}from"node:path";import{mkdir as b,writeFile as x}from"node:fs/promises";function S(e){return new Promise(t=>setTimeout(t,e))}async function C(){let e;try{e=(await g()).apiKey}catch(e){throw new R(e instanceof Error?e.message:String(e),501)}return _(w()),{"x-api-key":e,"anthropic-version":`2023-06-01`,"content-type":`application/json`}}function w(){return`${p().BASE_API_URL}/v1/skills?beta=true`}function T(e){return`${p().BASE_API_URL}/v1/skills/${e}?beta=true`}function E(e){return`${p().BASE_API_URL}/v1/skills/${e}/versions?beta=true`}function D(e,t){return`${p().BASE_API_URL}/v1/skills/${e}/versions/${t}?beta=true`}function O(e){if(i.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new R(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new R(`Subscription required. Skill store requires a Claude Pro/Max/Team subscription.`,403);if(t===404)return new R(`Skill or version not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new R(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new R((e.response?.data)?.error?.message??e.message,t)}return e instanceof R?e:new R(e instanceof Error?e.message:String(e),0)}function k(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function A(e){let t;for(let n=0;n<L;n++)try{return await e()}catch(e){let r=O(e);if(r.statusCode>=500){t=r,n<L-1&&await S(k(i.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**n);continue}throw r}throw t??new R(`Request failed after retries`,0)}async function j(){return A(async()=>{let e=await C();return(await i.get(w(),{headers:e})).data.data??[]})}async function M(e){return A(async()=>{let t=await C();return(await i.get(T(e),{headers:t})).data})}async function N(e){return A(async()=>{let t=await C();return(await i.get(E(e),{headers:t})).data.data??[]})}async function P(e,t){return A(async()=>{let n=await C();return(await i.get(D(e,t),{headers:n})).data})}async function F(e,t){return A(async()=>{let n=await C(),r={name:e,body:t};return(await i.post(w(),r,{headers:n})).data})}async function I(e){return A(async()=>{let t=await C();await i.delete(T(e),{headers:t})})}var L,R,z=e((()=>{a(),m(),v(),h(),L=3,R=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`SkillsApiError`}}}));function B({skill:e}){let t=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,marginBottom:1,children:[(0,H.jsxs)(l,{children:[(0,H.jsx)(s,{bold:!0,children:e.skill_id}),(0,H.jsx)(s,{dimColor:!0,children:` · `}),(0,H.jsx)(s,{children:e.name}),e.deprecated?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(s,{dimColor:!0,children:` · `}),(0,H.jsx)(s,{color:`warning`,children:`deprecated`})]}):null]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Owner: `,e.owner,e.owner_symbol?` (${e.owner_symbol})`:``]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,t]})]})}function V(e){if(e.mode===`list`)return e.skills.length===0?(0,H.jsx)(l,{children:(0,H.jsx)(s,{dimColor:!0,children:`No skills found. Use /skill-store create <name> <markdown> to publish one.`})}):(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Skills (`,e.skills.length,`)`]})}),e.skills.map(e=>(0,H.jsx)(B,{skill:e},e.skill_id))]});if(e.mode===`detail`){let{skill:t}=e,n=t.created_at?new Date(t.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Skill: `,t.skill_id]})}),(0,H.jsxs)(s,{children:[`Name: `,t.name]}),(0,H.jsxs)(s,{children:[`Owner: `,t.owner,t.owner_symbol?` (${t.owner_symbol})`:``]}),(0,H.jsxs)(s,{children:[`Status:`,` `,(0,H.jsx)(s,{color:t.deprecated?`warning`:`success`,children:t.deprecated?`deprecated`:`active`})]}),t.allowed_tools&&t.allowed_tools.length>0?(0,H.jsxs)(s,{children:[`Allowed tools: `,t.allowed_tools.join(`, `)]}):null,(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,n]})]})}if(e.mode===`versions`){let{id:t,versions:n}=e;return n.length===0?(0,H.jsx)(l,{children:(0,H.jsxs)(s,{dimColor:!0,children:[`No versions found for skill `,t,`.`]})}):(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Versions for `,t,` (`,n.length,`)`]})}),n.map(e=>{let t=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,marginBottom:1,children:[(0,H.jsx)(s,{bold:!0,children:e.version}),(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,t]}),(0,H.jsx)(s,{dimColor:!0,children:e.body.length>80?`${e.body.slice(0,80)}…`:e.body})]},e.version)})]})}if(e.mode===`version-detail`){let{version:t}=e,n=t.created_at?new Date(t.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Version: `,t.version,` (skill: `,t.skill_id,`)`]})}),(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,n]}),(0,H.jsx)(l,{marginTop:1,children:(0,H.jsx)(s,{children:t.body})})]})}if(e.mode===`created`){let{skill:t}=e;return(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{children:(0,H.jsx)(s,{bold:!0,color:`success`,children:`Skill created`})}),(0,H.jsxs)(s,{children:[`ID: `,t.skill_id]}),(0,H.jsxs)(s,{children:[`Name: `,t.name]})]})}return e.mode===`deleted`?(0,H.jsx)(l,{children:(0,H.jsxs)(s,{color:`success`,children:[`Skill `,e.id,` deleted.`]})}):e.mode===`installed`?(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{children:(0,H.jsx)(s,{bold:!0,color:`success`,children:`Skill installed`})}),(0,H.jsxs)(s,{children:[`Name: `,e.skillName]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Path: `,e.path]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Load with: /skills (bundled skills are not auto-loaded; place in `,e.path,`)`]})]}):(0,H.jsx)(l,{children:(0,H.jsx)(s,{color:`error`,children:e.message})})}var H,U=e((()=>{o(),c(),H=u()}));function W(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a skill id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a skill id`}}if(r===`versions`){if(!i)return{action:`invalid`,reason:`versions requires a skill id`};let e=i.split(/\s+/)[0];return e?{action:`versions`,id:e}:{action:`invalid`,reason:`versions requires a skill id`}}if(r===`version`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`version requires a skill id and version, e.g. version sk_123 v1`}:{action:`version`,id:e[0],version:e[1]}}if(r===`create`){let e=i.indexOf(` `);if(!i||e===-1)return{action:`invalid`,reason:`create requires a skill name and markdown body, e.g. create my-skill "# My Skill\\nContent"`};let t=i.slice(0,e).trim(),n=i.slice(e+1).trim();return t?n?{action:`create`,name:t,markdown:n}:{action:`invalid`,reason:`create requires a non-empty markdown body`}:{action:`invalid`,reason:`create requires a non-empty skill name`}}if(r===`delete`){if(!i)return{action:`invalid`,reason:`delete requires a skill id`};let e=i.split(/\s+/)[0];return e?{action:`delete`,id:e}:{action:`invalid`,reason:`delete requires a skill id`}}if(r===`install`){if(!i)return{action:`invalid`,reason:`install requires a skill id (optionally with @version), e.g. install sk_123 or install sk_123@v2`};let e=i.split(/\s+/)[0];if(!e)return{action:`invalid`,reason:`install requires a skill id`};let t=e.indexOf(`@`);if(t===-1)return{action:`install`,id:e,version:void 0};let n=e.slice(0,t),r=e.slice(t+1);return n?r?{action:`install`,id:n,version:r}:{action:`invalid`,reason:`install requires a non-empty version after @`}:{action:`invalid`,reason:`install requires a non-empty skill id before @`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${G}`}}var G,K=e((()=>{G=`Usage: /skill-store list | get ID | versions ID | version ID VER | create NAME MARKDOWN | delete ID | install ID[@VERSION]`})),q,J,Y;e((()=>{q=t(o(),1),d(),r(),z(),U(),K(),J=`Usage: /skill-store list | get ID | versions ID | version ID VER | create NAME MARKDOWN | delete ID | install ID[@VERSION]`,Y=async(e,t,r)=>{f(`tengu_skill_store_started`,{args:r??``});let i=W(r??``);if(i.action===`invalid`)return f(`tengu_skill_store_failed`,{reason:i.reason}),e(`${J}\n${i.reason}`,{display:`system`}),null;if(i.action===`list`){f(`tengu_skill_store_list`,{});try{let t=await j();return e(t.length===0?`No skills found in the marketplace.`:`${t.length} skill(s) available.`,{display:`system`}),q.createElement(V,{mode:`list`,skills:t})}catch(t){let n=t instanceof Error?t.message:String(t);return f(`tengu_skill_store_failed`,{reason:n}),e(`Failed to list skills: ${n}`,{display:`system`}),q.createElement(V,{mode:`error`,message:n})}}if(i.action===`get`){let{id:t}=i;f(`tengu_skill_store_get`,{id:t});try{let n=await M(t);return e(`Skill ${t} fetched.`,{display:`system`}),q.createElement(V,{mode:`detail`,skill:n})}catch(n){let r=n instanceof Error?n.message:String(n);return f(`tengu_skill_store_failed`,{reason:r}),e(`Failed to get skill ${t}: ${r}`,{display:`system`}),q.createElement(V,{mode:`error`,message:r})}}if(i.action===`versions`){let{id:t}=i;f(`tengu_skill_store_versions`,{id:t});try{let n=await N(t);return e(n.length===0?`No versions found for skill ${t}.`:`${n.length} version(s) for skill ${t}.`,{display:`system`}),q.createElement(V,{mode:`versions`,id:t,versions:n})}catch(n){let r=n instanceof Error?n.message:String(n);return f(`tengu_skill_store_failed`,{reason:r}),e(`Failed to list versions for skill ${t}: ${r}`,{display:`system`}),q.createElement(V,{mode:`error`,message:r})}}if(i.action===`version`){let{id:t,version:n}=i;f(`tengu_skill_store_version`,{id:t});try{let r=await P(t,n);return e(`Skill ${t}@${n} fetched.`,{display:`system`}),q.createElement(V,{mode:`version-detail`,version:r})}catch(r){let i=r instanceof Error?r.message:String(r);return f(`tengu_skill_store_failed`,{reason:i}),e(`Failed to get version ${n} for skill ${t}: ${i}`,{display:`system`}),q.createElement(V,{mode:`error`,message:i})}}if(i.action===`create`){let{name:t,markdown:n}=i;f(`tengu_skill_store_create`,{name:t});try{let r=await F(t,n);return e(`Skill created: ${r.skill_id}`,{display:`system`}),q.createElement(V,{mode:`created`,skill:r})}catch(t){let n=t instanceof Error?t.message:String(t);return f(`tengu_skill_store_failed`,{reason:n}),e(`Failed to create skill: ${n}`,{display:`system`}),q.createElement(V,{mode:`error`,message:n})}}if(i.action===`delete`){let{id:t}=i;f(`tengu_skill_store_delete`,{id:t});try{return await I(t),e(`Skill ${t} deleted.`,{display:`system`}),q.createElement(V,{mode:`deleted`,id:t})}catch(n){let r=n instanceof Error?n.message:String(n);return f(`tengu_skill_store_failed`,{reason:r}),e(`Failed to delete skill ${t}: ${r}`,{display:`system`}),q.createElement(V,{mode:`error`,message:r})}}let{id:a,version:o}=i;f(`tengu_skill_store_install`,{id:a});try{let t,r;if(o!==void 0){let e=await P(a,o);r=e.body,t=e.skill_id}else{let n=await M(a),i=await N(a);if(i.length===0)return e(`Skill ${a} has no published versions to install.`,{display:`system`}),q.createElement(V,{mode:`error`,message:`Skill ${a} has no published versions to install.`});let o=[...i].sort((e,t)=>{let n=e.created_at?new Date(e.created_at).getTime():0;return(t.created_at?new Date(t.created_at).getTime():0)-n})[0];if(!o)return e(`Skill ${a} has no published versions to install.`,{display:`system`}),q.createElement(V,{mode:`error`,message:`Skill ${a} has no published versions to install.`});r=o.body,t=n.name}let i=t.replace(/[^a-zA-Z0-9_-]/g,`-`).replace(/^-+|-+$/g,``)||a,s=y(n(),`skills`,i),c=y(s,`SKILL.md`);return await b(s,{recursive:!0}),await x(c,r,`utf-8`),e(`Skill installed to ${c}`,{display:`system`}),q.createElement(V,{mode:`installed`,skillName:i,path:c})}catch(t){let n=t instanceof Error?t.message:String(t);return f(`tengu_skill_store_failed`,{reason:n}),e(`Failed to install skill ${a}: ${n}`,{display:`system`}),q.createElement(V,{mode:`error`,message:n})}}}))();export{Y as callSkillStore};
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,s as r}from"./envUtils-BWeoiL4Y.js";import{n as i,t as a}from"./axios-DhfaybwJ.js";import{Rn as o,b as s,t as c,x as l}from"./src-Di342QoJ.js";import{t as u}from"./jsx-runtime-D-D469L8.js";import{n as d,r as f}from"./analytics-DqMQntaB.js";import{l as p,u as m}from"./oauth-CdZEzMww.js";import{o as h,u as g}from"./api-DLLVkmRJ.js";import{n as _,r as v}from"./hostGuard-zim_4F9V.js";import{join as y}from"node:path";import{mkdir as b,writeFile as x}from"node:fs/promises";function S(e){return new Promise(t=>setTimeout(t,e))}async function C(){let e;try{e=(await g()).apiKey}catch(e){throw new R(e instanceof Error?e.message:String(e),501)}return _(w()),{"x-api-key":e,"anthropic-version":`2023-06-01`,"content-type":`application/json`}}function w(){return`${p().BASE_API_URL}/v1/skills?beta=true`}function T(e){return`${p().BASE_API_URL}/v1/skills/${e}?beta=true`}function E(e){return`${p().BASE_API_URL}/v1/skills/${e}/versions?beta=true`}function D(e,t){return`${p().BASE_API_URL}/v1/skills/${e}/versions/${t}?beta=true`}function O(e){if(i.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new R(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new R(`Subscription required. Skill store requires a Claude Pro/Max/Team subscription.`,403);if(t===404)return new R(`Skill or version not found.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new R(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new R((e.response?.data)?.error?.message??e.message,t)}return e instanceof R?e:new R(e instanceof Error?e.message:String(e),0)}function k(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function A(e){let t;for(let n=0;n<L;n++)try{return await e()}catch(e){let r=O(e);if(r.statusCode>=500){t=r,n<L-1&&await S(k(i.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**n);continue}throw r}throw t??new R(`Request failed after retries`,0)}async function j(){return A(async()=>{let e=await C();return(await i.get(w(),{headers:e})).data.data??[]})}async function M(e){return A(async()=>{let t=await C();return(await i.get(T(e),{headers:t})).data})}async function N(e){return A(async()=>{let t=await C();return(await i.get(E(e),{headers:t})).data.data??[]})}async function P(e,t){return A(async()=>{let n=await C();return(await i.get(D(e,t),{headers:n})).data})}async function F(e,t){return A(async()=>{let n=await C(),r={name:e,body:t};return(await i.post(w(),r,{headers:n})).data})}async function I(e){return A(async()=>{let t=await C();await i.delete(T(e),{headers:t})})}var L,R,z=e((()=>{a(),m(),v(),h(),L=3,R=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`SkillsApiError`}}}));function B({skill:e}){let t=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,marginBottom:1,children:[(0,H.jsxs)(l,{children:[(0,H.jsx)(s,{bold:!0,children:e.skill_id}),(0,H.jsx)(s,{dimColor:!0,children:` · `}),(0,H.jsx)(s,{children:e.name}),e.deprecated?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(s,{dimColor:!0,children:` · `}),(0,H.jsx)(s,{color:`warning`,children:`deprecated`})]}):null]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Owner: `,e.owner,e.owner_symbol?` (${e.owner_symbol})`:``]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,t]})]})}function V(e){if(e.mode===`list`)return e.skills.length===0?(0,H.jsx)(l,{children:(0,H.jsx)(s,{dimColor:!0,children:`No skills found. Use /skill-store create <name> <markdown> to publish one.`})}):(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Skills (`,e.skills.length,`)`]})}),e.skills.map(e=>(0,H.jsx)(B,{skill:e},e.skill_id))]});if(e.mode===`detail`){let{skill:t}=e,n=t.created_at?new Date(t.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Skill: `,t.skill_id]})}),(0,H.jsxs)(s,{children:[`Name: `,t.name]}),(0,H.jsxs)(s,{children:[`Owner: `,t.owner,t.owner_symbol?` (${t.owner_symbol})`:``]}),(0,H.jsxs)(s,{children:[`Status:`,` `,(0,H.jsx)(s,{color:t.deprecated?`warning`:`success`,children:t.deprecated?`deprecated`:`active`})]}),t.allowed_tools&&t.allowed_tools.length>0?(0,H.jsxs)(s,{children:[`Allowed tools: `,t.allowed_tools.join(`, `)]}):null,(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,n]})]})}if(e.mode===`versions`){let{id:t,versions:n}=e;return n.length===0?(0,H.jsx)(l,{children:(0,H.jsxs)(s,{dimColor:!0,children:[`No versions found for skill `,t,`.`]})}):(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Versions for `,t,` (`,n.length,`)`]})}),n.map(e=>{let t=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,marginBottom:1,children:[(0,H.jsx)(s,{bold:!0,children:e.version}),(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,t]}),(0,H.jsx)(s,{dimColor:!0,children:e.body.length>80?`${e.body.slice(0,80)}…`:e.body})]},e.version)})]})}if(e.mode===`version-detail`){let{version:t}=e,n=t.created_at?new Date(t.created_at).toLocaleString():`—`;return(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{marginBottom:1,children:(0,H.jsxs)(s,{bold:!0,children:[`Version: `,t.version,` (skill: `,t.skill_id,`)`]})}),(0,H.jsxs)(s,{dimColor:!0,children:[`Created: `,n]}),(0,H.jsx)(l,{marginTop:1,children:(0,H.jsx)(s,{children:t.body})})]})}if(e.mode===`created`){let{skill:t}=e;return(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{children:(0,H.jsx)(s,{bold:!0,color:`success`,children:`Skill created`})}),(0,H.jsxs)(s,{children:[`ID: `,t.skill_id]}),(0,H.jsxs)(s,{children:[`Name: `,t.name]})]})}return e.mode===`deleted`?(0,H.jsx)(l,{children:(0,H.jsxs)(s,{color:`success`,children:[`Skill `,e.id,` deleted.`]})}):e.mode===`installed`?(0,H.jsxs)(l,{flexDirection:`column`,children:[(0,H.jsx)(l,{children:(0,H.jsx)(s,{bold:!0,color:`success`,children:`Skill installed`})}),(0,H.jsxs)(s,{children:[`Name: `,e.skillName]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Path: `,e.path]}),(0,H.jsxs)(s,{dimColor:!0,children:[`Load with: /skills (bundled skills are not auto-loaded; place in `,e.path,`)`]})]}):(0,H.jsx)(l,{children:(0,H.jsx)(s,{color:`error`,children:e.message})})}var H,U=e((()=>{o(),c(),H=u()}));function W(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a skill id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a skill id`}}if(r===`versions`){if(!i)return{action:`invalid`,reason:`versions requires a skill id`};let e=i.split(/\s+/)[0];return e?{action:`versions`,id:e}:{action:`invalid`,reason:`versions requires a skill id`}}if(r===`version`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`version requires a skill id and version, e.g. version sk_123 v1`}:{action:`version`,id:e[0],version:e[1]}}if(r===`create`){let e=i.indexOf(` `);if(!i||e===-1)return{action:`invalid`,reason:`create requires a skill name and markdown body, e.g. create my-skill "# My Skill\\nContent"`};let t=i.slice(0,e).trim(),n=i.slice(e+1).trim();return t?n?{action:`create`,name:t,markdown:n}:{action:`invalid`,reason:`create requires a non-empty markdown body`}:{action:`invalid`,reason:`create requires a non-empty skill name`}}if(r===`delete`){if(!i)return{action:`invalid`,reason:`delete requires a skill id`};let e=i.split(/\s+/)[0];return e?{action:`delete`,id:e}:{action:`invalid`,reason:`delete requires a skill id`}}if(r===`install`){if(!i)return{action:`invalid`,reason:`install requires a skill id (optionally with @version), e.g. install sk_123 or install sk_123@v2`};let e=i.split(/\s+/)[0];if(!e)return{action:`invalid`,reason:`install requires a skill id`};let t=e.indexOf(`@`);if(t===-1)return{action:`install`,id:e,version:void 0};let n=e.slice(0,t),r=e.slice(t+1);return n?r?{action:`install`,id:n,version:r}:{action:`invalid`,reason:`install requires a non-empty version after @`}:{action:`invalid`,reason:`install requires a non-empty skill id before @`}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${G}`}}var G,K=e((()=>{G=`Usage: /skill-store list | get ID | versions ID | version ID VER | create NAME MARKDOWN | delete ID | install ID[@VERSION]`})),q,J,Y;e((()=>{q=t(o(),1),d(),r(),z(),U(),K(),J=`Usage: /skill-store list | get ID | versions ID | version ID VER | create NAME MARKDOWN | delete ID | install ID[@VERSION]`,Y=async(e,t,r)=>{f(`tengu_skill_store_started`,{args:r??``});let i=W(r??``);if(i.action===`invalid`)return f(`tengu_skill_store_failed`,{reason:i.reason}),e(`${J}\n${i.reason}`,{display:`system`}),null;if(i.action===`list`){f(`tengu_skill_store_list`,{});try{let t=await j();return e(t.length===0?`No skills found in the marketplace.`:`${t.length} skill(s) available.`,{display:`system`}),q.createElement(V,{mode:`list`,skills:t})}catch(t){let n=t instanceof Error?t.message:String(t);return f(`tengu_skill_store_failed`,{reason:n}),e(`Failed to list skills: ${n}`,{display:`system`}),q.createElement(V,{mode:`error`,message:n})}}if(i.action===`get`){let{id:t}=i;f(`tengu_skill_store_get`,{id:t});try{let n=await M(t);return e(`Skill ${t} fetched.`,{display:`system`}),q.createElement(V,{mode:`detail`,skill:n})}catch(n){let r=n instanceof Error?n.message:String(n);return f(`tengu_skill_store_failed`,{reason:r}),e(`Failed to get skill ${t}: ${r}`,{display:`system`}),q.createElement(V,{mode:`error`,message:r})}}if(i.action===`versions`){let{id:t}=i;f(`tengu_skill_store_versions`,{id:t});try{let n=await N(t);return e(n.length===0?`No versions found for skill ${t}.`:`${n.length} version(s) for skill ${t}.`,{display:`system`}),q.createElement(V,{mode:`versions`,id:t,versions:n})}catch(n){let r=n instanceof Error?n.message:String(n);return f(`tengu_skill_store_failed`,{reason:r}),e(`Failed to list versions for skill ${t}: ${r}`,{display:`system`}),q.createElement(V,{mode:`error`,message:r})}}if(i.action===`version`){let{id:t,version:n}=i;f(`tengu_skill_store_version`,{id:t});try{let r=await P(t,n);return e(`Skill ${t}@${n} fetched.`,{display:`system`}),q.createElement(V,{mode:`version-detail`,version:r})}catch(r){let i=r instanceof Error?r.message:String(r);return f(`tengu_skill_store_failed`,{reason:i}),e(`Failed to get version ${n} for skill ${t}: ${i}`,{display:`system`}),q.createElement(V,{mode:`error`,message:i})}}if(i.action===`create`){let{name:t,markdown:n}=i;f(`tengu_skill_store_create`,{name:t});try{let r=await F(t,n);return e(`Skill created: ${r.skill_id}`,{display:`system`}),q.createElement(V,{mode:`created`,skill:r})}catch(t){let n=t instanceof Error?t.message:String(t);return f(`tengu_skill_store_failed`,{reason:n}),e(`Failed to create skill: ${n}`,{display:`system`}),q.createElement(V,{mode:`error`,message:n})}}if(i.action===`delete`){let{id:t}=i;f(`tengu_skill_store_delete`,{id:t});try{return await I(t),e(`Skill ${t} deleted.`,{display:`system`}),q.createElement(V,{mode:`deleted`,id:t})}catch(n){let r=n instanceof Error?n.message:String(n);return f(`tengu_skill_store_failed`,{reason:r}),e(`Failed to delete skill ${t}: ${r}`,{display:`system`}),q.createElement(V,{mode:`error`,message:r})}}let{id:a,version:o}=i;f(`tengu_skill_store_install`,{id:a});try{let t,r;if(o!==void 0){let e=await P(a,o);r=e.body,t=e.skill_id}else{let n=await M(a),i=await N(a);if(i.length===0)return e(`Skill ${a} has no published versions to install.`,{display:`system`}),q.createElement(V,{mode:`error`,message:`Skill ${a} has no published versions to install.`});let o=[...i].sort((e,t)=>{let n=e.created_at?new Date(e.created_at).getTime():0;return(t.created_at?new Date(t.created_at).getTime():0)-n})[0];if(!o)return e(`Skill ${a} has no published versions to install.`,{display:`system`}),q.createElement(V,{mode:`error`,message:`Skill ${a} has no published versions to install.`});r=o.body,t=n.name}let i=t.replace(/[^a-zA-Z0-9_-]/g,`-`).replace(/^-+|-+$/g,``)||a,s=y(n(),`skills`,i),c=y(s,`SKILL.md`);return await b(s,{recursive:!0}),await x(c,r,`utf-8`),e(`Skill installed to ${c}`,{display:`system`}),q.createElement(V,{mode:`installed`,skillName:i,path:c})}catch(t){let n=t instanceof Error?t.message:String(t);return f(`tengu_skill_store_failed`,{reason:n}),e(`Failed to install skill ${a}: ${n}`,{display:`system`}),q.createElement(V,{mode:`error`,message:n})}}}))();export{Y as callSkillStore};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,r as n}from"./analytics-DqMQntaB.js";import{Ar as r,_r as i,gv as a,lv as o,pv as s}from"./loadAgentsDir-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,r as n}from"./analytics-DqMQntaB.js";import{Ar as r,_r as i,gv as a,lv as o,pv as s}from"./loadAgentsDir-Cl2w3uvH.js";import{n as c,o as l}from"./api-DLLVkmRJ.js";function u(e){return e}function d(e){return[`## Available sessions (most recent first)`,``,...e.slice(0,p).map((e,t)=>` ${String(t+1).padStart(2)}. ${e.title.slice(0,50).padEnd(50)} ${e.status.padEnd(14)} ${e.created_at.slice(0,10)} id=${e.id}`),``,"Run `/teleport <session-id>` to resume a session."].join(`
|
|
2
2
|
`)}var f,p,m;e((()=>{t(),r(),o(),l(),f=8,p=20,m=async(e,t,r)=>{let o=r.trim(),l=o===`--print`||o.startsWith(`--print `),m=l?o.replace(/^--print\s*/,``).trim():o;if(n(`tengu_teleport_started`,{has_session_id:u(m?`true`:`false`)}),!m){n(`tengu_teleport_source_decision`,{source:u(`sessions_api`)});let t;try{t=(await c()).map(e=>({id:e.id,title:e.title??`Untitled`,status:e.status??`unknown`,created_at:e.created_at??``}))}catch(t){let r=t instanceof Error?t.message:String(t);return/forbidden|401|403/i.test(r)?(n(`tengu_teleport_events_fetch_forbidden`,{error:u(r.slice(0,200))}),e("Teleport: permission denied fetching sessions. Check your OAuth token (`claude auth status`).",{display:`system`}),null):/not found|404/i.test(r)?(n(`tengu_teleport_events_fetch_not_found`,{error:u(r.slice(0,200))}),e(`Teleport: sessions endpoint returned 404. The Sessions API may not be available for your account.`,{display:`system`}),null):/token|unauthorized/i.test(r)?(n(`tengu_teleport_error_bad_token`,{error:u(r.slice(0,200))}),e(`Teleport: authentication error — ${r}. Try \`claude auth login\`.`,{display:`system`}),null):(n(`tengu_teleport_events_fetch_fail`,{error:u(r.slice(0,200))}),e(`Teleport: failed to fetch sessions — ${r}.\nUsage: /teleport SESSION_ID`,{display:`system`}),null)}return t.length===0?(n(`tengu_teleport_null`,{}),e(`No active sessions found on claude.ai/code.
|
|
3
3
|
Start a new session at https://claude.ai/code`,{display:`system`}),null):(t.length>=p&&n(`tengu_teleport_page_cap`,{count:u(String(t.length))}),e(d(t),{display:`system`}),null)}if(m.length<f||!/^[0-9a-f-]{8,}$/i.test(m))return n(`tengu_teleport_error_bad_status`,{error:u(`invalid_session_id: ${m.slice(0,40)}`)}),e(`Invalid session id "${m}". Expected a UUID-like string (e.g. 12345678-abcd-...).`,{display:`system`}),null;n(`tengu_teleport_source_decision`,{source:u(`explicit_id`)});let h=[],g=e=>{h.push(e)};g(`validate`);try{await a()}catch(t){let r=t instanceof Error?t.message:String(t);return n(`tengu_teleport_errors_detected`,{error:u(r.slice(0,200))}),e(`Cannot teleport: ${r}`,{display:`system`}),null}g(`resume`);try{let r=``;if(await s(m,e=>{r=String(e)}),n(`tengu_teleport_resume_session`,{stage:u(r)}),g(`ready`),!t.resume)return n(`tengu_teleport_null`,{}),l?(e(`Session ${m} fetched successfully.`,{display:`system`}),null):(e(`Teleport resume succeeded for ${m}, but the REPL did not provide a resume callback.`,{display:`system`}),null);g(`fetch`);let a=await i(m);return a?(n(`tengu_teleport_errors_resolved`,{}),await t.resume(m,a,`slash_command_session_id`),n(`tengu_teleport_first_message_success`,{}),null):(n(`tengu_teleport_errors_detected`,{error:u(`log_not_found_after_resume`)}),e(`Teleport fetched session ${m} but the local log was not found. Try /resume ${m} manually.`,{display:`system`}),null)}catch(t){let r=t instanceof Error?t.message:String(t),i=`tengu_teleport_failed`;return/not found/i.test(r)?i=`tengu_teleport_error_session_not_found_`:/repo.*mismatch/i.test(r)?i=`tengu_teleport_error_repo_mismatch_sessions_api`:/not in.*git|git.*dir/i.test(r)?i=`tengu_teleport_error_repo_not_in_git_dir_sessions_api`:/cancelled|aborted/i.test(r)?i=`tengu_teleport_cancelled`:/token|unauthorized|401/i.test(r)?i=`tengu_teleport_error_bad_token`:/status|4\d\d|5\d\d/i.test(r)&&(i=`tengu_teleport_error_bad_status`),n(i,{error:u(r.slice(0,200))}),n(`tengu_teleport_first_message_error`,{error:u(r.slice(0,200))}),e(`Teleport failed: ${r}`,{display:`system`}),null}}}))();export{m as callTeleport};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./axios-DhfaybwJ.js";import{Rn as i,b as a,t as o,x as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{l,u}from"./oauth-CdZEzMww.js";import{o as d,u as f}from"./api-
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./axios-DhfaybwJ.js";import{Rn as i,b as a,t as o,x as s}from"./src-Di342QoJ.js";import{t as c}from"./jsx-runtime-D-D469L8.js";import{l,u}from"./oauth-CdZEzMww.js";import{o as d,u as f}from"./api-DLLVkmRJ.js";import{n as p,r as m}from"./hostGuard-zim_4F9V.js";import{n as h,t as g}from"./launchCommand-Du91jxMC.js";function _(e){return e.length<=8?e:`${e.slice(0,8)}…`}var v=e((()=>{}));function y(e){return new Promise(t=>setTimeout(t,e))}async function b(){let e;try{e=(await f()).apiKey}catch(e){throw new N(e instanceof Error?e.message:String(e),501)}return p(x()),{"x-api-key":e,"anthropic-version":`2023-06-01`,"anthropic-beta":j,"content-type":`application/json`}}function x(){return`${l().BASE_API_URL}/v1/vaults`}function S(e,t){let r=t?` (${_(t)})`:``;if(n.isAxiosError(e)){let t=e.response?.status??0;if(t===401)return new N(`Authentication failed. Please run /login to re-authenticate.`,401);if(t===403)return new N(`Subscription required. Vault management requires a Claude Pro/Max/Team subscription.`,403);if(t===404)return new N(`Vault or credential not found${r}.`,404);if(t===429){let t=e.response?.headers?.[`retry-after`]??``;return new N(`Rate limit exceeded.${t?` Retry after ${t}s.`:``}`,429)}return new N((e.response?.data)?.error?.message??e.message,t)}return e instanceof N?e:new N(e instanceof Error?e.message:String(e),0)}function C(e){if(!e)return null;let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t*1e3;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async function w(e,t){let r;for(let i=0;i<M;i++)try{return await e()}catch(e){let a=S(e,t);if(a.statusCode>=500){r=a,i<M-1&&await y(C(n.isAxiosError(e)?e.response?.headers?.[`retry-after`]:void 0)??500*2**i);continue}throw a}throw r??new N(`Request failed after retries`,0)}async function T(){return w(async()=>{let e=await b();return(await n.get(x(),{headers:e})).data.data??[]})}async function E(e){return w(async()=>{let t=await b(),r={name:e};return(await n.post(x(),r,{headers:t})).data})}async function D(e){return w(async()=>{let t=await b();return(await n.get(`${x()}/${e}`,{headers:t})).data},e)}async function O(e){return w(async()=>{let t=await b();return(await n.post(`${x()}/${e}/archive`,{},{headers:t})).data},e)}async function k(e,t,r){return w(async()=>{let i=await b(),a={key:t,secret:r};return(await n.post(`${x()}/${e}/credentials`,a,{headers:i})).data},e)}async function A(e,t){return w(async()=>{let r=await b();return(await n.post(`${x()}/${e}/credentials/${t}/archive`,{},{headers:r})).data},e)}var j,M,N,P=e((()=>{r(),u(),m(),d(),v(),j=`managed-agents-2026-04-01`,M=3,N=class extends Error{constructor(e,t){super(e),this.statusCode=t,this.name=`VaultsApiError`}}}));function F({vault:e}){let t=!!e.archived_at,n=e.created_at?new Date(e.created_at).toLocaleString():`—`;return(0,L.jsxs)(s,{flexDirection:`column`,marginBottom:1,children:[(0,L.jsxs)(s,{children:[(0,L.jsx)(a,{bold:!0,children:e.vault_id}),(0,L.jsx)(a,{dimColor:!0,children:` · `}),(0,L.jsx)(a,{color:t?`warning`:`success`,children:t?`archived`:`active`})]}),(0,L.jsxs)(a,{children:[`Name: `,e.name]}),(0,L.jsxs)(a,{dimColor:!0,children:[`Created: `,n]})]})}function I(e){if(e.mode===`list`)return e.vaults.length===0?(0,L.jsx)(s,{children:(0,L.jsx)(a,{dimColor:!0,children:`No vaults found. Use /vault create <name> to create one.`})}):(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{marginBottom:1,children:(0,L.jsxs)(a,{bold:!0,children:[`Vaults (`,e.vaults.length,`)`]})}),e.vaults.map(e=>(0,L.jsx)(F,{vault:e},e.vault_id))]});if(e.mode===`detail`){let{vault:t}=e,n=!!t.archived_at,r=t.created_at?new Date(t.created_at).toLocaleString():`—`,i=t.archived_at?new Date(t.archived_at).toLocaleString():null;return(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{marginBottom:1,children:(0,L.jsxs)(a,{bold:!0,children:[`Vault: `,t.vault_id]})}),(0,L.jsxs)(a,{children:[`Name: `,t.name]}),(0,L.jsxs)(a,{children:[`Status:`,` `,(0,L.jsx)(a,{color:n?`warning`:`success`,children:n?`archived`:`active`})]}),(0,L.jsxs)(a,{dimColor:!0,children:[`Created: `,r]}),i?(0,L.jsxs)(a,{dimColor:!0,children:[`Archived: `,i]}):null]})}if(e.mode===`created`){let{vault:t}=e;return(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{children:(0,L.jsx)(a,{bold:!0,color:`success`,children:`Vault created`})}),(0,L.jsxs)(a,{children:[`ID: `,t.vault_id]}),(0,L.jsxs)(a,{children:[`Name: `,t.name]})]})}if(e.mode===`archived`){let{vault:t}=e,n=t.archived_at?new Date(t.archived_at).toLocaleString():`—`;return(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{children:(0,L.jsx)(a,{bold:!0,color:`warning`,children:`Vault archived`})}),(0,L.jsxs)(a,{children:[`ID: `,t.vault_id]}),(0,L.jsxs)(a,{dimColor:!0,children:[`Archived at: `,n]})]})}if(e.mode===`credential-list`){let{vaultId:t,credentials:n}=e;return n.length===0?(0,L.jsx)(s,{children:(0,L.jsxs)(a,{dimColor:!0,children:[`No credentials in vault `,t,`. Use /vault add-credential `,t,` <key> <value> to add one.`]})}):(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{marginBottom:1,children:(0,L.jsxs)(a,{bold:!0,children:[`Credentials in `,t,` (`,n.length,`)`]})}),n.map(e=>{let t=!!e.archived_at;return(0,L.jsxs)(s,{flexDirection:`column`,marginBottom:1,children:[(0,L.jsxs)(s,{children:[(0,L.jsx)(a,{bold:!0,children:e.credential_id}),(0,L.jsx)(a,{dimColor:!0,children:` · `}),e.kind?(0,L.jsx)(a,{dimColor:!0,children:e.kind}):null,t?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(a,{dimColor:!0,children:` · `}),(0,L.jsx)(a,{color:`warning`,children:`archived`})]}):null]}),(0,L.jsx)(a,{dimColor:!0,children:`Value: ***mask***`})]},e.credential_id)})]})}if(e.mode===`credential-added`){let{vaultId:t,credentialId:n}=e;return(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{children:(0,L.jsx)(a,{bold:!0,color:`success`,children:`Credential added`})}),(0,L.jsxs)(a,{children:[`ID: `,n]}),(0,L.jsxs)(a,{children:[`Vault: `,t]}),(0,L.jsx)(a,{dimColor:!0,children:`Value: ***mask***`})]})}if(e.mode===`credential-archived`){let{vaultId:t,credentialId:n}=e;return(0,L.jsxs)(s,{flexDirection:`column`,children:[(0,L.jsx)(s,{children:(0,L.jsx)(a,{bold:!0,color:`warning`,children:`Credential archived`})}),(0,L.jsxs)(a,{children:[`ID: `,n]}),(0,L.jsxs)(a,{children:[`Vault: `,t]})]})}return(0,L.jsx)(s,{children:(0,L.jsx)(a,{color:`error`,children:e.message})})}var L,R=e((()=>{i(),o(),L=c()}));function z(e){let t=e.trim();if(t===``||t===`list`)return{action:`list`};let n=t.indexOf(` `),r=n===-1?t:t.slice(0,n),i=n===-1?``:t.slice(n+1).trim();if(r===`create`)return i?{action:`create`,name:i}:{action:`invalid`,reason:`create requires a vault name, e.g. create "My Work Vault"`};if(r===`get`){if(!i)return{action:`invalid`,reason:`get requires a vault id`};let e=i.split(/\s+/)[0];return e?{action:`get`,id:e}:{action:`invalid`,reason:`get requires a vault id`}}if(r===`archive`){if(!i)return{action:`invalid`,reason:`archive requires a vault id`};let e=i.split(/\s+/)[0];return e?{action:`archive`,id:e}:{action:`invalid`,reason:`archive requires a vault id`}}if(r===`add-credential`){let e=i.split(/\s+/);if(e.length<2||!e[0]||!e[1])return{action:`invalid`,reason:`add-credential requires vault_id, key, and value, e.g. add-credential vault_123 MY_API_KEY <value>`};let t=e[0],n=e[1],r=e.slice(2).join(` `);return r.trim()?{action:`add-credential`,vaultId:t,key:n,secret:r.trim()}:{action:`invalid`,reason:`add-credential requires a non-empty credential value`}}if(r===`archive-credential`){let e=i.split(/\s+/);return e.length<2||!e[0]||!e[1]?{action:`invalid`,reason:`archive-credential requires vault_id and credential_id, e.g. archive-credential vault_123 cred_456`}:{action:`archive-credential`,vaultId:e[0],credentialId:e[1]}}return{action:`invalid`,reason:`Unknown sub-command "${r}". ${B}`}}var B,V=e((()=>{B=`Usage: /vault list | create NAME | get ID | archive ID | add-credential VAULT_ID KEY VALUE | archive-credential VAULT_ID CRED_ID`}));async function H(e,t){if(e.action===`list`){let e=await T();return t(e.length===0?`No vaults found.`:`${e.length} vault(s).`,{display:`system`}),{mode:`list`,vaults:e}}if(e.action===`create`){let{name:n}=e,r=await E(n);return t(`Vault created: ${r.vault_id}`,{display:`system`}),{mode:`created`,vault:r}}if(e.action===`get`){let{id:n}=e,r=await D(n);return t(`Vault fetched.`,{display:`system`}),{mode:`detail`,vault:r}}if(e.action===`archive`){let{id:n}=e,r=await O(n);return t(`Vault archived.`,{display:`system`}),{mode:`archived`,vault:r}}if(e.action===`add-credential`){let{vaultId:n,key:r,secret:i}=e,a=await k(n,r,i);return t(`Credential added: ${a.credential_id}`,{display:`system`}),{mode:`credential-added`,vaultId:n,credentialId:a.credential_id}}if(e.action===`archive-credential`){let{vaultId:n,credentialId:r}=e;return await A(n,r),t(`Credential ${r} archived.`,{display:`system`}),{mode:`credential-archived`,vaultId:n,credentialId:r}}let n=await T();return t(n.length===0?`No vaults found.`:`${n.length} vault(s).`,{display:`system`}),{mode:`list`,vaults:n}}var U,W,G;e((()=>{U=t(i(),1),P(),R(),V(),g(),W=`Usage: /vault list | create NAME | get ID | archive ID | add-credential VAULT_ID KEY VALUE | archive-credential VAULT_ID CRED_ID`,G=h({commandName:`vault`,parseArgs:e=>{let t=z(e);return t.action===`invalid`?{action:`invalid`,reason:`${W}\n${t.reason}`}:t},dispatch:H,View:I,errorView:e=>U.createElement(I,{mode:`error`,message:e})})}))();export{G as callVault};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,t}from"./loadAgentsDir-Cl2w3uvH.js";e();export{t as clearAgentDefinitionsCache};
|