agent-relay-server 0.124.0 → 0.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/docs/openapi.json +1 -1
  2. package/package.json +2 -2
  3. package/public/assets/{MessageBubble-SQK8-Mzp.js → MessageBubble-BYeYFteG.js} +2 -2
  4. package/public/assets/{MessageBubble-SQK8-Mzp.js.map → MessageBubble-BYeYFteG.js.map} +1 -1
  5. package/public/assets/{PlanGraphPanel-CS-aow4S.js → PlanGraphPanel-iAXvkZKW.js} +2 -2
  6. package/public/assets/{PlanGraphPanel-CS-aow4S.js.map → PlanGraphPanel-iAXvkZKW.js.map} +1 -1
  7. package/public/assets/{activity-W31XvhC2.js → activity-Du9SRJt5.js} +2 -2
  8. package/public/assets/{activity-W31XvhC2.js.map → activity-Du9SRJt5.js.map} +1 -1
  9. package/public/assets/agent-profiles-DXDQnrlH.js +2 -0
  10. package/public/assets/{agent-profiles-DXysA9To.js.map → agent-profiles-DXDQnrlH.js.map} +1 -1
  11. package/public/assets/{agent-type-icon-BxUopALO.js → agent-type-icon-B3i0rndK.js} +2 -2
  12. package/public/assets/{agent-type-icon-BxUopALO.js.map → agent-type-icon-B3i0rndK.js.map} +1 -1
  13. package/public/assets/{agents-B5GRNRnN.js → agents-CWOdKrxP.js} +2 -2
  14. package/public/assets/{agents-B5GRNRnN.js.map → agents-CWOdKrxP.js.map} +1 -1
  15. package/public/assets/{analytics-DqAuUAwX.js → analytics-YcY59Hv9.js} +2 -2
  16. package/public/assets/{analytics-DqAuUAwX.js.map → analytics-YcY59Hv9.js.map} +1 -1
  17. package/public/assets/{automation-DYlgHYcb.js → automation-CItTse7F.js} +2 -2
  18. package/public/assets/{automation-DYlgHYcb.js.map → automation-CItTse7F.js.map} +1 -1
  19. package/public/assets/{branch-state-badge-Mf0Ow77K.js → branch-state-badge-QjTktTYj.js} +2 -2
  20. package/public/assets/{branch-state-badge-Mf0Ow77K.js.map → branch-state-badge-QjTktTYj.js.map} +1 -1
  21. package/public/assets/{channels-DVRkVeky.js → channels-BSFTsbhT.js} +2 -2
  22. package/public/assets/{channels-DVRkVeky.js.map → channels-BSFTsbhT.js.map} +1 -1
  23. package/public/assets/chat-CRzFSFWe.js +2 -0
  24. package/public/assets/chat-CRzFSFWe.js.map +1 -0
  25. package/public/assets/{connectors-Cqubkw9C.js → connectors-C7d5dlYz.js} +2 -2
  26. package/public/assets/{connectors-Cqubkw9C.js.map → connectors-C7d5dlYz.js.map} +1 -1
  27. package/public/assets/{display-GFbGUG0O.js → display-aTnwsqQh.js} +3 -3
  28. package/public/assets/{display-GFbGUG0O.js.map → display-aTnwsqQh.js.map} +1 -1
  29. package/public/assets/{formatted-body-BYQ-SPtj.js → formatted-body-BuLfVMeD.js} +3 -3
  30. package/public/assets/{formatted-body-BYQ-SPtj.js.map → formatted-body-BuLfVMeD.js.map} +1 -1
  31. package/public/assets/{formatted-body-impl-L1EMnNW6.js → formatted-body-impl-DO-8giS6.js} +2 -2
  32. package/public/assets/{formatted-body-impl-L1EMnNW6.js.map → formatted-body-impl-DO-8giS6.js.map} +1 -1
  33. package/public/assets/index-C9X_0QBt.css +2 -0
  34. package/public/assets/index-De1tR7J4.js +26 -0
  35. package/public/assets/index-De1tR7J4.js.map +1 -0
  36. package/public/assets/{insights-DwZxq1Dn.js → insights-Ci3VuA5Y.js} +2 -2
  37. package/public/assets/{insights-DwZxq1Dn.js.map → insights-Ci3VuA5Y.js.map} +1 -1
  38. package/public/assets/{integrations-9G5TJnnU.js → integrations-BboxWQQD.js} +2 -2
  39. package/public/assets/{integrations-9G5TJnnU.js.map → integrations-BboxWQQD.js.map} +1 -1
  40. package/public/assets/{maintenance-COcmUDnf.js → maintenance-CO1miJIJ.js} +2 -2
  41. package/public/assets/{maintenance-COcmUDnf.js.map → maintenance-CO1miJIJ.js.map} +1 -1
  42. package/public/assets/{managed-agents-D9-dgMeX.js → managed-agents-r4oYK3Fm.js} +2 -2
  43. package/public/assets/{managed-agents-D9-dgMeX.js.map → managed-agents-r4oYK3Fm.js.map} +1 -1
  44. package/public/assets/{markdown-preview-impl-DH372bL-.js → markdown-preview-impl-5CCM9iyL.js} +2 -2
  45. package/public/assets/{markdown-preview-impl-DH372bL-.js.map → markdown-preview-impl-5CCM9iyL.js.map} +1 -1
  46. package/public/assets/{memory-B9hRK8sk.js → memory-BJJS07W-.js} +2 -2
  47. package/public/assets/{memory-B9hRK8sk.js.map → memory-BJJS07W-.js.map} +1 -1
  48. package/public/assets/{messages-BHkHlXzF.js → messages-RT_dfEsL.js} +2 -2
  49. package/public/assets/{messages-BHkHlXzF.js.map → messages-RT_dfEsL.js.map} +1 -1
  50. package/public/assets/{orchestrators-CXy3SDSn.js → orchestrators-8hyl8hW1.js} +2 -2
  51. package/public/assets/{orchestrators-CXy3SDSn.js.map → orchestrators-8hyl8hW1.js.map} +1 -1
  52. package/public/assets/{overview-D2yRyCQq.js → overview-CUJ9QmW_.js} +2 -2
  53. package/public/assets/{overview-D2yRyCQq.js.map → overview-CUJ9QmW_.js.map} +1 -1
  54. package/public/assets/{pairs-5tXdHylI.js → pairs-CzkzMGZq.js} +2 -2
  55. package/public/assets/{pairs-5tXdHylI.js.map → pairs-CzkzMGZq.js.map} +1 -1
  56. package/public/assets/{projects-CquHTMo1.js → projects-CAuLWBU5.js} +2 -2
  57. package/public/assets/{projects-CquHTMo1.js.map → projects-CAuLWBU5.js.map} +1 -1
  58. package/public/assets/{prompt-settings-Bn5mmi9w.js → prompt-settings-BnB90R7F.js} +2 -2
  59. package/public/assets/{prompt-settings-Bn5mmi9w.js.map → prompt-settings-BnB90R7F.js.map} +1 -1
  60. package/public/assets/{registry-C3sB7qv5.js → registry-B8TInqru.js} +2 -2
  61. package/public/assets/{registry-C3sB7qv5.js.map → registry-B8TInqru.js.map} +1 -1
  62. package/public/assets/{security-CmD-YE-_.js → security-DG_VVZUW.js} +2 -2
  63. package/public/assets/{security-CmD-YE-_.js.map → security-DG_VVZUW.js.map} +1 -1
  64. package/public/assets/{select-C0UlhK2k.js → select-BJ8G38_V.js} +2 -2
  65. package/public/assets/{select-C0UlhK2k.js.map → select-BJ8G38_V.js.map} +1 -1
  66. package/public/assets/{settings-DrqMG5nG.js → settings-CK_T9z5w.js} +4 -4
  67. package/public/assets/{settings-DrqMG5nG.js.map → settings-CK_T9z5w.js.map} +1 -1
  68. package/public/assets/{store-zFLzd0Jd.js → store-Dl9Z8YUS.js} +4 -4
  69. package/public/assets/{store-zFLzd0Jd.js.map → store-Dl9Z8YUS.js.map} +1 -1
  70. package/public/assets/{tasks-ChQjtXHu.js → tasks-Briui9Mp.js} +2 -2
  71. package/public/assets/{tasks-ChQjtXHu.js.map → tasks-Briui9Mp.js.map} +1 -1
  72. package/public/assets/{teams-itjNlDLp.js → teams-Ck4EVV3R.js} +2 -2
  73. package/public/assets/{teams-itjNlDLp.js.map → teams-Ck4EVV3R.js.map} +1 -1
  74. package/public/assets/{terminal-viewer-impl-B9M6s2vB.js → terminal-viewer-impl-66ZjVN1v.js} +2 -2
  75. package/public/assets/{terminal-viewer-impl-B9M6s2vB.js.map → terminal-viewer-impl-66ZjVN1v.js.map} +1 -1
  76. package/public/assets/{types-CRptbSYh.js → types-BqeSkWrv.js} +2 -2
  77. package/public/assets/{types-CRptbSYh.js.map → types-BqeSkWrv.js.map} +1 -1
  78. package/public/assets/{user-avatar-kYPfLgXp.js → user-avatar-BOy9o2xK.js} +2 -2
  79. package/public/assets/{user-avatar-kYPfLgXp.js.map → user-avatar-BOy9o2xK.js.map} +1 -1
  80. package/public/assets/{work-queue-Kw0uMkEF.js → work-queue-CnghFRG2.js} +2 -2
  81. package/public/assets/{work-queue-Kw0uMkEF.js.map → work-queue-CnghFRG2.js.map} +1 -1
  82. package/public/assets/{workspaces-CR6f7G0R.js → workspaces-BzmQnzSm.js} +2 -2
  83. package/public/assets/{workspaces-CR6f7G0R.js.map → workspaces-BzmQnzSm.js.map} +1 -1
  84. package/public/index.html +7 -7
  85. package/runner/plugins/claude/.claude-plugin/plugin.json +1 -1
  86. package/runner/plugins/claude/hooks/relay-status.sh +11 -1
  87. package/runner/plugins/claude/hooks/stop.sh +6 -1
  88. package/runner/plugins/claude/hooks/user-prompt-submit.sh +6 -1
  89. package/runner/src/adapter.ts +5 -1
  90. package/runner/src/adapters/claude-transcript.ts +52 -58
  91. package/runner/src/adapters/codex-agent-message-capture.ts +8 -36
  92. package/runner/src/adapters/codex.ts +30 -12
  93. package/runner/src/control-server.ts +9 -4
  94. package/runner/src/response-capture-report.ts +4 -1
  95. package/runner/src/runner-core.ts +75 -33
  96. package/src/agent-lifecycle-events.ts +8 -0
  97. package/src/bus.ts +0 -24
  98. package/src/db/agents.ts +15 -1
  99. package/src/db/messages.ts +114 -43
  100. package/src/maintenance/jobs.ts +8 -2
  101. package/src/mcp/tools-workspace.ts +4 -0
  102. package/src/routes/agents.ts +0 -4
  103. package/src/services/send-message.ts +7 -18
  104. package/src/services/shutdown-agent.ts +6 -0
  105. package/src/services/task-entity.ts +4 -0
  106. package/src/services/transient-agent-reaper.ts +40 -1
  107. package/src/services/work-finality.ts +25 -0
  108. package/public/assets/agent-profiles-DXysA9To.js +0 -2
  109. package/public/assets/chat-Clz6qOtn.js +0 -2
  110. package/public/assets/chat-Clz6qOtn.js.map +0 -1
  111. package/public/assets/index-0uIGXT14.js +0 -25
  112. package/public/assets/index-0uIGXT14.js.map +0 -1
  113. package/public/assets/index-DOJ7KidA.css +0 -2
@@ -1,2 +1,2 @@
1
- var e=/^[a-z][a-z0-9-]*$/,t=new Map;function n(n){if(!e.test(n.id))throw Error(`invalid provider id: ${n.id}`);if(!n.label.trim())throw Error(`provider ${n.id} is missing a label`);if(!n.icon.trim())throw Error(`provider ${n.id} is missing an icon`);if(t.has(n.id))throw Error(`provider already registered: ${n.id}`);t.set(n.id,n)}function r(e){return t.get(e)}function i(){return[...t.values()]}var a=[`low`,`medium`,`high`,`max`],o=[`low`,`medium`,`high`,`xhigh`,`max`],s={value:2e5,source:`catalog`,confidence:`declared`},c={value:1e6,source:`catalog`,confidence:`declared`},l={modalities:{input:{text:!0,image:!0},output:{text:!0}},tools:{code:!0,review:!0,debug:!0,refactor:!0},source:`catalog`,confidence:`declared`},u=[{name:`five_hour`,unit:`%`,reset:!0},{name:`seven_day`,unit:`%`,reset:!0}];function d(e){return{...e?{limits:e}:{},capabilities:l}}n({id:`claude`,label:`Claude`,icon:`🟠`,launch:{managedPolicyPrompt:{alwaysOn:`append-system-prompt`},taskHydration:{channel:`append-system-prompt`}},catalog:{defaultModel:`sonnet-5`,models:[{alias:`fable-5`,label:`Fable 5`,providerModel:`claude-fable-5`,efforts:o,defaultEffort:`medium`,unavailable:`suspended by export-control directive, 2026-06-12`,...d({contextWindowTokens:c})},{alias:`opus-4.8`,label:`Opus 4.8`,providerModel:`claude-opus-4-8`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`opus-4.8[1m]`,label:`Opus 4.8 1M`,providerModel:`claude-opus-4-8[1m]`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`opus-4.7`,label:`Opus 4.7`,providerModel:`claude-opus-4-7`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`opus-4.7[1m]`,label:`Opus 4.7 1M`,providerModel:`claude-opus-4-7[1m]`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`opus-4.6`,label:`Opus 4.6`,providerModel:`claude-opus-4-6`,efforts:a,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`opus-4.6[1m]`,label:`Opus 4.6 1M`,providerModel:`claude-opus-4-6[1m]`,efforts:a,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`sonnet-5`,label:`Sonnet 5`,providerModel:`claude-sonnet-5`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`sonnet-5[1m]`,label:`Sonnet 5 1M`,providerModel:`claude-sonnet-5[1m]`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`haiku`,label:`Haiku`,providerModel:`haiku`,efforts:[],...d()}]},quotaWindows:[...u],capabilityDefaults:{lifecycle:{managed:!0,shutdownHard:{when:`headless`,value:!0,otherwise:!1},restartHard:{when:`headless`,value:!0,otherwise:!1},semanticStatus:!0,reconnect:!0},session:{fileRead:!0,fileWrite:{when:`approval:not-read-only`,value:!0,otherwise:!1},shell:!0,shellMode:{open:`unrestricted`,guarded:`guarded`,readOnly:`read-only-guarded`}},context:{managed:`headless`,compact:{when:`headless`,value:!0,otherwise:!1},clear:{when:`headless`,value:!0,otherwise:!1},inject:!0,resumePreference:[`native`,`clear-inject`,`none`]},quota:{supported:!0,source:`probe`,unit:`%`,windows:[...u]},terminal:{mode:`live`,condition:`headless`,live:{read:!0,write:!0}},liveSession:{capture:!0,inject:!0,interrupt:!0,promptEcho:!0,reasoning:!0,slashCommands:!0}},slashCommands:[`/clear`,`/compact`,`/model`,`/help`],resume:{supported:!0,idFormat:`uuid-v4`,idPattern:`[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`},home:{configDir:`.claude`,envPrefix:`CLAUDE`,configDirEnvVar:`CLAUDE_CONFIG_DIR`,quotaCredentialFile:`.credentials.json`,authItems:[`.credentials.json`,`statsig`],globalInstructionFiles:[`CLAUDE.md`]},provisioning:{pluginManifestPath:`.claude-plugin/plugin.json`,bundledPlugin:{ref:`agent-relay-claude-plugin`,dir:`runner/plugins/claude`,title:`Agent Relay Claude plugin`,description:`Bundled Agent Relay Claude plugin, materialized whole through the provisioning registry.`,omitFiles:[`monitors/relay-monitor.provisioned.mjs`],fileOverrides:[{path:`monitors/relay-monitor.ts`,sourcePath:`monitors/relay-monitor.provisioned.mjs`}]},bundledHooks:[{ref:`agent-relay-rg-r-guard`,dir:`runner/hooks/rg-r-guard`,title:`Agent Relay baseline hook: rg -r guard`,description:"Baseline Agent Relay PreToolUse hook that blocks the ripgrep `rg -r` replace footgun.",baseline:!0}]},upgrade:{packages:[`agent-relay-runner`,`agent-relay-plugin`],detectPackages:[`agent-relay-runner`],detectCommands:[`claude`]},probe:{command:`claude`,args:[`--version`],healthCheck:`claude --version`,featureChecks:[{name:`rig`,command:`claude-rig`,homeDir:`.claude-rig`}]},quotaPoll:{strategy:`none`},shim:{kind:`claude-relay`}});var f=[`low`,`medium`,`high`,`xhigh`],p={value:2e5,source:`catalog`,confidence:`declared`},m={modalities:{input:{text:!0,image:!0},output:{text:!0}},tools:{code:!0,review:!0,debug:!0,refactor:!0},source:`catalog`,confidence:`declared`},h=[{name:`primary`,unit:`%`,reset:!0},{name:`secondary`,unit:`%`,reset:!0}];function g(e){return{...e?{limits:e}:{},capabilities:m}}n({id:`codex`,label:`Codex`,icon:`⌨️`,launch:{managedPolicyPrompt:{alwaysOn:`prompt`},taskHydration:{channel:`prompt`}},catalog:{defaultModel:`gpt-5.5`,models:[{alias:`gpt-5.5`,label:`GPT-5.5`,providerModel:`gpt-5.5`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.4`,label:`GPT-5.4`,providerModel:`gpt-5.4`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.4-mini`,label:`GPT-5.4 Mini`,providerModel:`gpt-5.4-mini`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.3-codex`,label:`GPT-5.3 Codex`,providerModel:`gpt-5.3-codex`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.3-codex-spark`,label:`GPT-5.3 Codex Spark`,providerModel:`gpt-5.3-codex-spark`,efforts:f,defaultEffort:`high`,...g({contextWindowTokens:p})},{alias:`gpt-5.2`,label:`GPT-5.2`,providerModel:`gpt-5.2`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})}]},quotaWindows:[...h],capabilityDefaults:{lifecycle:{managed:!0,shutdownHard:!0,restartHard:!0,semanticStatus:!0,reconnect:!0},session:{fileRead:!0,fileWrite:{when:`approval:not-read-only`,value:!0,otherwise:!1},shell:{when:`approval:not-read-only`,value:!0,otherwise:!1},shellMode:{open:`unrestricted`,guarded:`guarded`,readOnly:`none`}},context:{managed:`always`,compact:!0,clear:!0,inject:!0,resumePreference:[`native`,`clear-inject`,`none`]},quota:{supported:!0,source:`probe`,unit:`%`,windows:[...h]},terminal:{mode:`attach`,attach:{create:!0,read:!0,write:!0,detach:!0}},liveSession:{capture:!0,inject:!0,interrupt:!0,promptEcho:!0,reasoning:!0,slashCommands:!0}},slashCommands:[`/compact`,`/new`],resume:{supported:!0,idFormat:`codex-thread-id`,idPattern:`[\\w-]+`},home:{configDir:`.codex`,envPrefix:`CODEX`,configDirEnvVar:`CODEX_HOME`,quotaCredentialFile:`auth.json`,authItems:[`auth.json`,`installation_id`],globalInstructionFiles:[`AGENTS.md`]},provisioning:{pluginManifestPath:`.codex-plugin/plugin.json`,bundledSkills:{refPrefix:`agent-relay-codex-`,dir:`runner/plugins/codex/skills`,titlePrefix:`Agent Relay Codex skill: `,description:`Bundled Agent Relay Codex skill, materialized through the provisioning registry.`,entryFile:`SKILL.md`},bundledHooks:[{ref:`agent-relay-rg-r-guard`,dir:`runner/hooks/rg-r-guard`,title:`Agent Relay baseline hook: rg -r guard`,description:"Baseline Agent Relay PreToolUse hook that blocks the ripgrep `rg -r` replace footgun.",baseline:!0}]},upgrade:{packages:[`agent-relay-runner`,`agent-relay-codex`],detectPackages:[`agent-relay-runner`,`agent-relay-codex`],detectCommands:[`codex-relay`,`agent-relay-runner`]},probe:{command:`codex`,args:[`--version`],healthCheck:`codex --version`},quotaPoll:{strategy:`codex-app-server`},shim:{kind:`codex-relay`,extraBinPaths:[`codex/bin/codex`],cleanLegacyHooks:!0}});var _=[`bg-amber-500/10 text-amber-400 border-amber-500/30`,`bg-sky-500/10 text-sky-400 border-sky-500/30`,`bg-violet-500/10 text-violet-400 border-violet-500/30`,`bg-emerald-500/10 text-emerald-400 border-emerald-500/30`,`bg-rose-500/10 text-rose-400 border-rose-500/30`];function v(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}var y=new Map(i().map((e,t)=>[e.id,_[t%_.length]]));function b(e){return r(e)?.label??e.charAt(0).toUpperCase()+e.slice(1)}function x(e){let t=y.get(e);if(t)return t;let n=_[v(e)%_.length];return y.set(e,n),n}function S(){return i().map(e=>e.id)}function C(e){return r(e)}function w(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function T(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function E(e){return e instanceof Error?e.message:String(e)}var D=[`cleaned`,`merged`,`abandoned`],O={"admin:*":`system:admin`,"system:write":`system:admin`,"agents:read":`agent:read`,"agents:write":`agent:write`,"messages:read":`message:read`,"messages:write":`message:send`,"tasks:read":`task:read`,"tasks:write":`task:write`,"commands:read":`command:read`,"commands:write":`command:write`,"channels:read":`channel:read`,"channels:write":`channel:write`,"integrations:read":`integration:read`,"integrations:write":`integration:write`,"connectors:read":`integration:read`,"connectors:write":`integration:write`,"events:create":`integration:write`,"tasks:create":`task:write`};function k(e){return O[e]??e}function A(e,t){let n=k(t),r=j(n);if(!r)return!1;if(e?.includes(`*`))return!0;for(let t of e??[]){let e=k(t),i=j(e);if(i&&(e===`system:admin`||e===n||e===`${r.category}:*`||r.category===`settings`&&r.action&&r.namespace&&i.category===`settings`&&i.action===r.action&&i.namespace===void 0))return!0}return!1}function j(e){if(e===`*`)return{category:`*`};let t=e.split(`:`);if(t.some(e=>!e))return null;if(t.length===2){let[e,n]=t;return{category:e,action:n}}if(t.length===3){let[e,n,r]=t;return e!==`settings`||n!==`read`&&n!==`write`||r===`*`?null:{category:e,action:n,namespace:r}}return null}var M=`default`;function N(e){return e===`user`||typeof e==`string`&&e.startsWith(`user:`)}function P(e){if(e===`user`)return M;if(typeof e==`string`&&e.startsWith(`user:`))return e.slice(5)||`default`}function F(e){return w(e)&&w(e.finality)}function I(e){if(!w(e))return!1;if(F(e))return!0;let t=e.session;return w(t)&&t.final===!0&&t.turnFinal!==!0}i().map(e=>e.id);var L=[`none`,`uncommitted`,`committed-on-branch`,`landed-on-main`,`deploying`,`deployed`],R=[`trivial`,`moderate`,`complex`],z=[`build`,`review`,`research`,`ops`,`ui`,`refactor`,`debug`],B=[`small`,`medium`,`large`],V=[`low`,`normal`,`high`];export{C as _,z as a,P as c,E as d,w as f,b as g,x as h,B as i,A as l,S as m,R as n,I as o,T as p,V as r,N as s,L as t,D as u,i as v};
2
- //# sourceMappingURL=types-CRptbSYh.js.map
1
+ var e=/^[a-z][a-z0-9-]*$/,t=new Map;function n(n){if(!e.test(n.id))throw Error(`invalid provider id: ${n.id}`);if(!n.label.trim())throw Error(`provider ${n.id} is missing a label`);if(!n.icon.trim())throw Error(`provider ${n.id} is missing an icon`);if(t.has(n.id))throw Error(`provider already registered: ${n.id}`);t.set(n.id,n)}function r(e){return t.get(e)}function i(){return[...t.values()]}var a=[`low`,`medium`,`high`,`max`],o=[`low`,`medium`,`high`,`xhigh`,`max`],s={value:2e5,source:`catalog`,confidence:`declared`},c={value:1e6,source:`catalog`,confidence:`declared`},l={modalities:{input:{text:!0,image:!0},output:{text:!0}},tools:{code:!0,review:!0,debug:!0,refactor:!0},source:`catalog`,confidence:`declared`},u=[{name:`five_hour`,unit:`%`,reset:!0},{name:`seven_day`,unit:`%`,reset:!0}];function d(e){return{...e?{limits:e}:{},capabilities:l}}n({id:`claude`,label:`Claude`,icon:`🟠`,launch:{managedPolicyPrompt:{alwaysOn:`append-system-prompt`},taskHydration:{channel:`append-system-prompt`}},catalog:{defaultModel:`sonnet-5`,models:[{alias:`fable-5`,label:`Fable 5`,providerModel:`claude-fable-5`,efforts:o,defaultEffort:`medium`,unavailable:`suspended by export-control directive, 2026-06-12`,...d({contextWindowTokens:c})},{alias:`opus-4.8`,label:`Opus 4.8`,providerModel:`claude-opus-4-8`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`opus-4.8[1m]`,label:`Opus 4.8 1M`,providerModel:`claude-opus-4-8[1m]`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`opus-4.7`,label:`Opus 4.7`,providerModel:`claude-opus-4-7`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`opus-4.7[1m]`,label:`Opus 4.7 1M`,providerModel:`claude-opus-4-7[1m]`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`opus-4.6`,label:`Opus 4.6`,providerModel:`claude-opus-4-6`,efforts:a,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`opus-4.6[1m]`,label:`Opus 4.6 1M`,providerModel:`claude-opus-4-6[1m]`,efforts:a,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`sonnet-5`,label:`Sonnet 5`,providerModel:`claude-sonnet-5`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:s})},{alias:`sonnet-5[1m]`,label:`Sonnet 5 1M`,providerModel:`claude-sonnet-5[1m]`,efforts:o,defaultEffort:`medium`,...d({contextWindowTokens:c})},{alias:`haiku`,label:`Haiku`,providerModel:`haiku`,efforts:[],...d()}]},quotaWindows:[...u],capabilityDefaults:{lifecycle:{managed:!0,shutdownHard:{when:`headless`,value:!0,otherwise:!1},restartHard:{when:`headless`,value:!0,otherwise:!1},semanticStatus:!0,reconnect:!0},session:{fileRead:!0,fileWrite:{when:`approval:not-read-only`,value:!0,otherwise:!1},shell:!0,shellMode:{open:`unrestricted`,guarded:`guarded`,readOnly:`read-only-guarded`}},context:{managed:`headless`,compact:{when:`headless`,value:!0,otherwise:!1},clear:{when:`headless`,value:!0,otherwise:!1},inject:!0,resumePreference:[`native`,`clear-inject`,`none`]},quota:{supported:!0,source:`probe`,unit:`%`,windows:[...u]},terminal:{mode:`live`,condition:`headless`,live:{read:!0,write:!0}},liveSession:{capture:!0,inject:!0,interrupt:!0,promptEcho:!0,reasoning:!0,slashCommands:!0}},slashCommands:[`/clear`,`/compact`,`/model`,`/help`],resume:{supported:!0,idFormat:`uuid-v4`,idPattern:`[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`},home:{configDir:`.claude`,envPrefix:`CLAUDE`,configDirEnvVar:`CLAUDE_CONFIG_DIR`,quotaCredentialFile:`.credentials.json`,authItems:[`.credentials.json`,`statsig`],globalInstructionFiles:[`CLAUDE.md`]},provisioning:{pluginManifestPath:`.claude-plugin/plugin.json`,bundledPlugin:{ref:`agent-relay-claude-plugin`,dir:`runner/plugins/claude`,title:`Agent Relay Claude plugin`,description:`Bundled Agent Relay Claude plugin, materialized whole through the provisioning registry.`,omitFiles:[`monitors/relay-monitor.provisioned.mjs`],fileOverrides:[{path:`monitors/relay-monitor.ts`,sourcePath:`monitors/relay-monitor.provisioned.mjs`}]},bundledHooks:[{ref:`agent-relay-rg-r-guard`,dir:`runner/hooks/rg-r-guard`,title:`Agent Relay baseline hook: rg -r guard`,description:"Baseline Agent Relay PreToolUse hook that blocks the ripgrep `rg -r` replace footgun.",baseline:!0}]},upgrade:{packages:[`agent-relay-runner`,`agent-relay-plugin`],detectPackages:[`agent-relay-runner`],detectCommands:[`claude`]},probe:{command:`claude`,args:[`--version`],healthCheck:`claude --version`,featureChecks:[{name:`rig`,command:`claude-rig`,homeDir:`.claude-rig`}]},quotaPoll:{strategy:`none`},shim:{kind:`claude-relay`}});var f=[`low`,`medium`,`high`,`xhigh`],p={value:2e5,source:`catalog`,confidence:`declared`},m={modalities:{input:{text:!0,image:!0},output:{text:!0}},tools:{code:!0,review:!0,debug:!0,refactor:!0},source:`catalog`,confidence:`declared`},h=[{name:`primary`,unit:`%`,reset:!0},{name:`secondary`,unit:`%`,reset:!0}];function g(e){return{...e?{limits:e}:{},capabilities:m}}n({id:`codex`,label:`Codex`,icon:`⌨️`,launch:{managedPolicyPrompt:{alwaysOn:`prompt`},taskHydration:{channel:`prompt`}},catalog:{defaultModel:`gpt-5.5`,models:[{alias:`gpt-5.5`,label:`GPT-5.5`,providerModel:`gpt-5.5`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.4`,label:`GPT-5.4`,providerModel:`gpt-5.4`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.4-mini`,label:`GPT-5.4 Mini`,providerModel:`gpt-5.4-mini`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.3-codex`,label:`GPT-5.3 Codex`,providerModel:`gpt-5.3-codex`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})},{alias:`gpt-5.3-codex-spark`,label:`GPT-5.3 Codex Spark`,providerModel:`gpt-5.3-codex-spark`,efforts:f,defaultEffort:`high`,...g({contextWindowTokens:p})},{alias:`gpt-5.2`,label:`GPT-5.2`,providerModel:`gpt-5.2`,efforts:f,defaultEffort:`medium`,...g({contextWindowTokens:p})}]},quotaWindows:[...h],capabilityDefaults:{lifecycle:{managed:!0,shutdownHard:!0,restartHard:!0,semanticStatus:!0,reconnect:!0},session:{fileRead:!0,fileWrite:{when:`approval:not-read-only`,value:!0,otherwise:!1},shell:{when:`approval:not-read-only`,value:!0,otherwise:!1},shellMode:{open:`unrestricted`,guarded:`guarded`,readOnly:`none`}},context:{managed:`always`,compact:!0,clear:!0,inject:!0,resumePreference:[`native`,`clear-inject`,`none`]},quota:{supported:!0,source:`probe`,unit:`%`,windows:[...h]},terminal:{mode:`attach`,attach:{create:!0,read:!0,write:!0,detach:!0}},liveSession:{capture:!0,inject:!0,interrupt:!0,promptEcho:!0,reasoning:!0,slashCommands:!0}},slashCommands:[`/compact`,`/new`],resume:{supported:!0,idFormat:`codex-thread-id`,idPattern:`[\\w-]+`},home:{configDir:`.codex`,envPrefix:`CODEX`,configDirEnvVar:`CODEX_HOME`,quotaCredentialFile:`auth.json`,authItems:[`auth.json`,`installation_id`],globalInstructionFiles:[`AGENTS.md`]},provisioning:{pluginManifestPath:`.codex-plugin/plugin.json`,bundledSkills:{refPrefix:`agent-relay-codex-`,dir:`runner/plugins/codex/skills`,titlePrefix:`Agent Relay Codex skill: `,description:`Bundled Agent Relay Codex skill, materialized through the provisioning registry.`,entryFile:`SKILL.md`},bundledHooks:[{ref:`agent-relay-rg-r-guard`,dir:`runner/hooks/rg-r-guard`,title:`Agent Relay baseline hook: rg -r guard`,description:"Baseline Agent Relay PreToolUse hook that blocks the ripgrep `rg -r` replace footgun.",baseline:!0}]},upgrade:{packages:[`agent-relay-runner`,`agent-relay-codex`],detectPackages:[`agent-relay-runner`,`agent-relay-codex`],detectCommands:[`codex-relay`,`agent-relay-runner`]},probe:{command:`codex`,args:[`--version`],healthCheck:`codex --version`},quotaPoll:{strategy:`codex-app-server`},shim:{kind:`codex-relay`,extraBinPaths:[`codex/bin/codex`],cleanLegacyHooks:!0}});var _=[`bg-amber-500/10 text-amber-400 border-amber-500/30`,`bg-sky-500/10 text-sky-400 border-sky-500/30`,`bg-violet-500/10 text-violet-400 border-violet-500/30`,`bg-emerald-500/10 text-emerald-400 border-emerald-500/30`,`bg-rose-500/10 text-rose-400 border-rose-500/30`];function v(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}var y=new Map(i().map((e,t)=>[e.id,_[t%_.length]]));function b(e){return r(e)?.label??e.charAt(0).toUpperCase()+e.slice(1)}function x(e){let t=y.get(e);if(t)return t;let n=_[v(e)%_.length];return y.set(e,n),n}function S(){return i().map(e=>e.id)}function C(e){return r(e)}function w(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function T(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function E(e){return e instanceof Error?e.message:String(e)}var D=[`cleaned`,`merged`,`abandoned`],O={"admin:*":`system:admin`,"system:write":`system:admin`,"agents:read":`agent:read`,"agents:write":`agent:write`,"messages:read":`message:read`,"messages:write":`message:send`,"tasks:read":`task:read`,"tasks:write":`task:write`,"commands:read":`command:read`,"commands:write":`command:write`,"channels:read":`channel:read`,"channels:write":`channel:write`,"integrations:read":`integration:read`,"integrations:write":`integration:write`,"connectors:read":`integration:read`,"connectors:write":`integration:write`,"events:create":`integration:write`,"tasks:create":`task:write`};function k(e){return O[e]??e}function A(e,t){let n=k(t),r=j(n);if(!r)return!1;if(e?.includes(`*`))return!0;for(let t of e??[]){let e=k(t),i=j(e);if(i&&(e===`system:admin`||e===n||e===`${r.category}:*`||r.category===`settings`&&r.action&&r.namespace&&i.category===`settings`&&i.action===r.action&&i.namespace===void 0))return!0}return!1}function j(e){if(e===`*`)return{category:`*`};let t=e.split(`:`);if(t.some(e=>!e))return null;if(t.length===2){let[e,n]=t;return{category:e,action:n}}if(t.length===3){let[e,n,r]=t;return e!==`settings`||n!==`read`&&n!==`write`||r===`*`?null:{category:e,action:n,namespace:r}}return null}var M=`default`;function N(e){return e===`user`||typeof e==`string`&&e.startsWith(`user:`)}function P(e){if(e===`user`)return M;if(typeof e==`string`&&e.startsWith(`user:`))return e.slice(5)||`default`}function F(e){return w(e)&&w(e.finality)}function I(e){if(!w(e))return!1;if(F(e))return!0;let t=e.session;return w(t)&&t.final===!0&&t.turnFinal!==!0}i().map(e=>e.id);var L=[`none`,`uncommitted`,`committed-on-branch`,`landed-on-main`,`deploying`,`deployed`],R=[`trivial`,`moderate`,`complex`],z=[`build`,`review`,`research`,`ops`,`ui`,`refactor`,`debug`],B=[`small`,`medium`,`large`],V=[`low`,`normal`,`high`];export{b as _,z as a,N as c,D as d,E as f,x as g,S as h,B as i,P as l,T as m,R as n,F as o,w as p,V as r,I as s,L as t,A as u,C as v,i as y};
2
+ //# sourceMappingURL=types-BqeSkWrv.js.map