@bryanhu/codexly 0.2.0 → 0.3.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 (148) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/dist/{chunk-AWQWQU2B.js → chunk-6HXWAD7A.js} +78 -3
  3. package/dist/{chunk-MH54VCZJ.js → chunk-DR6HEQ7V.js} +52 -1
  4. package/dist/{chunk-TEPSAXZZ.js → chunk-VZLNYRY3.js} +1 -1
  5. package/dist/{chunk-2P25XCI6.js → chunk-Y7HG5THF.js} +126 -9
  6. package/dist/cli.js +5 -5
  7. package/dist/client/index.js +25 -3
  8. package/dist/protocol/index.js +1 -1
  9. package/dist/providers/codex/index.js +2 -2
  10. package/dist/server/index.js +4 -4
  11. package/dist/web/.vite/manifest.json +108 -108
  12. package/dist/web/.vite/manifest.json.br +0 -0
  13. package/dist/web/.vite/manifest.json.gz +0 -0
  14. package/dist/web/assets/button-B0Zy5xUw.js +1 -0
  15. package/dist/web/assets/button-B0Zy5xUw.js.br +0 -0
  16. package/dist/web/assets/button-B0Zy5xUw.js.gz +0 -0
  17. package/dist/web/assets/{button-group-CvflSgg8.js → button-group-Czp67RFV.js} +1 -1
  18. package/dist/web/assets/button-group-Czp67RFV.js.br +0 -0
  19. package/dist/web/assets/button-group-Czp67RFV.js.gz +0 -0
  20. package/dist/web/assets/{checkbox-CCES4UbV.js → checkbox-J-dVFT8h.js} +1 -1
  21. package/dist/web/assets/checkbox-J-dVFT8h.js.br +0 -0
  22. package/dist/web/assets/checkbox-J-dVFT8h.js.gz +0 -0
  23. package/dist/web/assets/{chunk-BO2N2NFS-BWAdG1_E.js → chunk-BO2N2NFS-Cv0xdEIU.js} +5 -5
  24. package/dist/web/assets/chunk-BO2N2NFS-Cv0xdEIU.js.br +0 -0
  25. package/dist/web/assets/chunk-BO2N2NFS-Cv0xdEIU.js.gz +0 -0
  26. package/dist/web/assets/{code-highlighter-CHF26Qu6.js → code-highlighter-XA2cEb7n.js} +1 -1
  27. package/dist/web/assets/code-highlighter-XA2cEb7n.js.br +0 -0
  28. package/dist/web/assets/code-highlighter-XA2cEb7n.js.gz +0 -0
  29. package/dist/web/assets/{code-languages-0g9buMoI.js → code-languages-B1bG8xP9.js} +1 -1
  30. package/dist/web/assets/code-languages-B1bG8xP9.js.br +0 -0
  31. package/dist/web/assets/code-languages-B1bG8xP9.js.gz +0 -0
  32. package/dist/web/assets/es2015-D1QRD4rq.js +41 -0
  33. package/dist/web/assets/es2015-D1QRD4rq.js.br +0 -0
  34. package/dist/web/assets/es2015-D1QRD4rq.js.gz +0 -0
  35. package/dist/web/assets/{file-CdvUKvsI.js → file-fDjkn3KE.js} +1 -1
  36. package/dist/web/assets/file-fDjkn3KE.js.br +2 -0
  37. package/dist/web/assets/file-fDjkn3KE.js.gz +0 -0
  38. package/dist/web/assets/{file-review-dialog-D2A8VOae.js → file-review-dialog-a4LVk4QA.js} +2 -2
  39. package/dist/web/assets/file-review-dialog-a4LVk4QA.js.br +0 -0
  40. package/dist/web/assets/file-review-dialog-a4LVk4QA.js.gz +0 -0
  41. package/dist/web/assets/{file-tree-AZsgAlZn.js → file-tree-Dh8mZi4H.js} +1 -1
  42. package/dist/web/assets/file-tree-Dh8mZi4H.js.br +0 -0
  43. package/dist/web/assets/file-tree-Dh8mZi4H.js.gz +0 -0
  44. package/dist/web/assets/{git-commit-horizontal-C0Tc8kLo.js → git-commit-horizontal-DqCudnTd.js} +1 -1
  45. package/dist/web/assets/git-commit-horizontal-DqCudnTd.js.br +0 -0
  46. package/dist/web/assets/git-commit-horizontal-DqCudnTd.js.gz +0 -0
  47. package/dist/web/assets/{git-history-panel-CeJ0MXUi.js → git-history-panel-C0BqsVJw.js} +2 -2
  48. package/dist/web/assets/git-history-panel-C0BqsVJw.js.br +0 -0
  49. package/dist/web/assets/git-history-panel-C0BqsVJw.js.gz +0 -0
  50. package/dist/web/assets/{global-settings-dialog-BdOP1wS8.js → global-settings-dialog-DAk0qzab.js} +1 -1
  51. package/dist/web/assets/global-settings-dialog-DAk0qzab.js.br +0 -0
  52. package/dist/web/assets/global-settings-dialog-DAk0qzab.js.gz +0 -0
  53. package/dist/web/assets/{highlighted-body-OFNGDK62-CBB2e5gz.js → highlighted-body-OFNGDK62-3Xd1uGCw.js} +1 -1
  54. package/dist/web/assets/highlighted-body-OFNGDK62-3Xd1uGCw.js.br +0 -0
  55. package/dist/web/assets/highlighted-body-OFNGDK62-3Xd1uGCw.js.gz +0 -0
  56. package/dist/web/assets/{index-CoRYl0EO.js → index-C9MtcGVc.js} +3 -3
  57. package/dist/web/assets/index-C9MtcGVc.js.br +0 -0
  58. package/dist/web/assets/index-C9MtcGVc.js.gz +0 -0
  59. package/dist/web/assets/index-DAs_avwK.css +2 -0
  60. package/dist/web/assets/index-DAs_avwK.css.br +0 -0
  61. package/dist/web/assets/index-DAs_avwK.css.gz +0 -0
  62. package/dist/web/assets/{lazy-message-response-Be__rdOq.js → lazy-message-response-BDqsH4Ww.js} +2 -2
  63. package/dist/web/assets/lazy-message-response-BDqsH4Ww.js.br +0 -0
  64. package/dist/web/assets/lazy-message-response-BDqsH4Ww.js.gz +0 -0
  65. package/dist/web/assets/mermaid-GHXKKRXX-Cp6mRHuL.js +1 -0
  66. package/dist/web/assets/mermaid-GHXKKRXX-Cp6mRHuL.js.br +0 -0
  67. package/dist/web/assets/mermaid-GHXKKRXX-Cp6mRHuL.js.gz +0 -0
  68. package/dist/web/assets/message-response-DyFE9GSy.js +7 -0
  69. package/dist/web/assets/message-response-DyFE9GSy.js.br +0 -0
  70. package/dist/web/assets/message-response-DyFE9GSy.js.gz +0 -0
  71. package/dist/web/assets/{patch-diff-viewer-BlbG4Z8Q.js → patch-diff-viewer-DHfvCO4S.js} +2 -2
  72. package/dist/web/assets/patch-diff-viewer-DHfvCO4S.js.br +0 -0
  73. package/dist/web/assets/patch-diff-viewer-DHfvCO4S.js.gz +0 -0
  74. package/dist/web/assets/{prompt-input-controls-DRwTXxuF.js → prompt-input-controls-CLj9lxlf.js} +1 -1
  75. package/dist/web/assets/prompt-input-controls-CLj9lxlf.js.br +0 -0
  76. package/dist/web/assets/prompt-input-controls-CLj9lxlf.js.gz +0 -0
  77. package/dist/web/assets/{provider-connection-queries-bzb4TYim.js → provider-connection-queries-C2Fn0xx2.js} +1 -1
  78. package/dist/web/assets/provider-connection-queries-C2Fn0xx2.js.br +0 -0
  79. package/dist/web/assets/provider-connection-queries-C2Fn0xx2.js.gz +0 -0
  80. package/dist/web/assets/{shiki-bundle-BndEhlUP.js → shiki-bundle-CNYWcrCX.js} +1 -1
  81. package/dist/web/assets/shiki-bundle-CNYWcrCX.js.br +0 -0
  82. package/dist/web/assets/shiki-bundle-CNYWcrCX.js.gz +0 -0
  83. package/dist/web/assets/{workbench-inspector-changes-8ZkoC9AD.js → workbench-inspector-changes-fibkZGwp.js} +1 -1
  84. package/dist/web/assets/workbench-inspector-changes-fibkZGwp.js.br +0 -0
  85. package/dist/web/assets/workbench-inspector-changes-fibkZGwp.js.gz +0 -0
  86. package/dist/web/assets/workbench-shell-eo1pFJFk.js +13 -0
  87. package/dist/web/assets/workbench-shell-eo1pFJFk.js.br +0 -0
  88. package/dist/web/assets/workbench-shell-eo1pFJFk.js.gz +0 -0
  89. package/dist/web/index.html +8 -8
  90. package/dist/web/index.html.br +0 -0
  91. package/dist/web/index.html.gz +0 -0
  92. package/package.json +1 -1
  93. package/dist/web/assets/button-DPWbWvQN.js +0 -1
  94. package/dist/web/assets/button-DPWbWvQN.js.br +0 -0
  95. package/dist/web/assets/button-DPWbWvQN.js.gz +0 -0
  96. package/dist/web/assets/button-group-CvflSgg8.js.br +0 -0
  97. package/dist/web/assets/button-group-CvflSgg8.js.gz +0 -0
  98. package/dist/web/assets/checkbox-CCES4UbV.js.br +0 -0
  99. package/dist/web/assets/checkbox-CCES4UbV.js.gz +0 -0
  100. package/dist/web/assets/chunk-BO2N2NFS-BWAdG1_E.js.br +0 -0
  101. package/dist/web/assets/chunk-BO2N2NFS-BWAdG1_E.js.gz +0 -0
  102. package/dist/web/assets/code-highlighter-CHF26Qu6.js.br +0 -0
  103. package/dist/web/assets/code-highlighter-CHF26Qu6.js.gz +0 -0
  104. package/dist/web/assets/code-languages-0g9buMoI.js.br +0 -0
  105. package/dist/web/assets/code-languages-0g9buMoI.js.gz +0 -0
  106. package/dist/web/assets/es2015-DsWAjMth.js +0 -41
  107. package/dist/web/assets/es2015-DsWAjMth.js.br +0 -0
  108. package/dist/web/assets/es2015-DsWAjMth.js.gz +0 -0
  109. package/dist/web/assets/file-CdvUKvsI.js.br +0 -0
  110. package/dist/web/assets/file-CdvUKvsI.js.gz +0 -0
  111. package/dist/web/assets/file-review-dialog-D2A8VOae.js.br +0 -0
  112. package/dist/web/assets/file-review-dialog-D2A8VOae.js.gz +0 -0
  113. package/dist/web/assets/file-tree-AZsgAlZn.js.br +0 -0
  114. package/dist/web/assets/file-tree-AZsgAlZn.js.gz +0 -0
  115. package/dist/web/assets/git-commit-horizontal-C0Tc8kLo.js.br +0 -0
  116. package/dist/web/assets/git-commit-horizontal-C0Tc8kLo.js.gz +0 -0
  117. package/dist/web/assets/git-history-panel-CeJ0MXUi.js.br +0 -0
  118. package/dist/web/assets/git-history-panel-CeJ0MXUi.js.gz +0 -0
  119. package/dist/web/assets/global-settings-dialog-BdOP1wS8.js.br +0 -0
  120. package/dist/web/assets/global-settings-dialog-BdOP1wS8.js.gz +0 -0
  121. package/dist/web/assets/highlighted-body-OFNGDK62-CBB2e5gz.js.br +0 -0
  122. package/dist/web/assets/highlighted-body-OFNGDK62-CBB2e5gz.js.gz +0 -0
  123. package/dist/web/assets/index-BoX8xH2D.css +0 -2
  124. package/dist/web/assets/index-BoX8xH2D.css.br +0 -0
  125. package/dist/web/assets/index-BoX8xH2D.css.gz +0 -0
  126. package/dist/web/assets/index-CoRYl0EO.js.br +0 -0
  127. package/dist/web/assets/index-CoRYl0EO.js.gz +0 -0
  128. package/dist/web/assets/lazy-message-response-Be__rdOq.js.br +0 -0
  129. package/dist/web/assets/lazy-message-response-Be__rdOq.js.gz +0 -0
  130. package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js +0 -1
  131. package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js.br +0 -0
  132. package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js.gz +0 -0
  133. package/dist/web/assets/message-response-UwCHtKG1.js +0 -7
  134. package/dist/web/assets/message-response-UwCHtKG1.js.br +0 -0
  135. package/dist/web/assets/message-response-UwCHtKG1.js.gz +0 -0
  136. package/dist/web/assets/patch-diff-viewer-BlbG4Z8Q.js.br +0 -0
  137. package/dist/web/assets/patch-diff-viewer-BlbG4Z8Q.js.gz +0 -0
  138. package/dist/web/assets/prompt-input-controls-DRwTXxuF.js.br +0 -0
  139. package/dist/web/assets/prompt-input-controls-DRwTXxuF.js.gz +0 -0
  140. package/dist/web/assets/provider-connection-queries-bzb4TYim.js.br +0 -0
  141. package/dist/web/assets/provider-connection-queries-bzb4TYim.js.gz +0 -0
  142. package/dist/web/assets/shiki-bundle-BndEhlUP.js.br +0 -0
  143. package/dist/web/assets/shiki-bundle-BndEhlUP.js.gz +0 -0
  144. package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js.br +0 -0
  145. package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js.gz +0 -0
  146. package/dist/web/assets/workbench-shell-BLSbA9u6.js +0 -13
  147. package/dist/web/assets/workbench-shell-BLSbA9u6.js.br +0 -0
  148. package/dist/web/assets/workbench-shell-BLSbA9u6.js.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.3.0] - 2026-08-25
8
+
9
+ ### 新增
10
+
11
+ - 添加 Goal 目标管理能力,支持首次提交目标、实时恢复目标状态,并在 Inspector 中展示目标、耗时与 Token 用量。
12
+ - 支持暂停、恢复和清除 Goal,并为 `active`、`paused`、`blocked`、`usage_limited`、`budget_limited` 与 `complete` 状态提供完整交互。
13
+
14
+ ### 修复
15
+
16
+ - 保留 Streamdown 默认 GFM 插件,使流式 Markdown 表格在接收多个增量时持续正确渲染。
17
+ - 修复 Turn 中断后引导消息仍显示队列加载状态的问题,并统一快照与实时 Store 的终态检测。
18
+
7
19
  ## [0.2.0] - 2026-08-25
8
20
 
9
21
  ### 新增
@@ -53,6 +65,7 @@
53
65
  - 拆分全栈测试套件并限制 Vitest 并发,提升跨平台门禁稳定性;GitHub Release 改为严格提取对应版本的完整更新日志。
54
66
  - 将最低 Node.js 版本调整为 `22.14.0`,同步 CLI、CI、发布环境和使用文档。
55
67
 
56
- [Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.2.0...HEAD
68
+ [Unreleased]: https://github.com/BryanHoo/Codexly/compare/v0.3.0...HEAD
69
+ [0.3.0]: https://github.com/BryanHoo/Codexly/releases/tag/v0.3.0
57
70
  [0.2.0]: https://github.com/BryanHoo/Codexly/releases/tag/v0.2.0
58
71
  [0.1.0]: https://github.com/BryanHoo/Codexly/releases/tag/v0.1.0
@@ -1,8 +1,8 @@
1
1
  import { createRequire } from 'node:module';
2
- import { value_exports } from './chunk-TEPSAXZZ.js';
3
- import { require_pino, CodexProtocolMappingError, CodexProviderConnectionError, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError } from './chunk-2P25XCI6.js';
2
+ import { value_exports } from './chunk-VZLNYRY3.js';
3
+ import { require_pino, CodexProtocolMappingError, CodexProviderConnectionError, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError } from './chunk-Y7HG5THF.js';
4
4
  import { PendingRequestResolutionError } from './chunk-3OBVX5TN.js';
5
- import { AGENT_FILE_EXTENSIONS, AGENT_FILE_MEDIA_TYPES, MAX_AGENT_IMAGES, MAX_AGENT_IMAGE_TOTAL_BYTES, MAX_AGENT_FILE_TOTAL_BYTES, DEFAULT_COMMIT_MESSAGE_MODEL, TEMPORARY_TASK_API_PATH, TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_FILE_BYTES, AccessStatusResponseSchema, PairAccessRequestSchema, HealthResponseSchema, AppInfoResponseSchema, AgentMutationErrorSchema, InstallAppUpdateResponseSchema, InstallAppUpdateRequestSchema, EventStreamMetricsResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentGlobalSettingsResponseSchema, AgentGlobalSettingsSchema, MAX_AGENT_IMAGE_BYTES, MAX_AGENT_TEXT_BYTES, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, StartOfficialProviderLoginRequestSchema, AgentProviderConnectionMutationResponseSchema, CancelProviderLoginRequestSchema, ConfigureCustomProviderResponseSchema, ConfigureCustomProviderRequestSchema, ProjectPageSchema, HostFileListingSchema, HostFileQuerySchema, ProjectDirectoryListingSchema, ProjectDirectoryQuerySchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectRootQuerySchema, OpenProjectRequestSchema, ReorderProjectsResponseSchema, ReorderProjectsRequestSchema, AgentSkillPageSchema, AgentProjectDefaultsResponseSchema, AgentProjectDefaultsSchema, AddProjectResponseSchema, AddProjectRequestSchema, RenameProjectResponseSchema, RenameProjectRequestSchema, RemoveProjectResponseSchema, RemoveProjectRequestSchema, AgentTaskPageSchema, UnsubscribeAgentTaskResponseSchema, AgentTaskSnapshotResponseSchema, AgentMcpServerPageSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, PinAgentTaskResponseSchema, PinAgentTaskRequestSchema, RenameAgentTaskResponseSchema, RenameAgentTaskRequestSchema, ArchiveAgentTaskResponseSchema, ArchiveAgentTaskRequestSchema, UnarchiveAgentTaskResponseSchema, UnarchiveAgentTaskRequestSchema, DeleteAgentTaskResponseSchema, DeleteAgentTaskRequestSchema, StartAgentTaskResponseSchema, StartAgentTaskRequestSchema, StartAgentTurnResponseSchema, StartAgentTurnRequestSchema, SteerAgentTurnResponseSchema, SteerAgentTurnRequestSchema, InterruptAgentTurnResponseSchema, InterruptAgentTurnRequestSchema, ResolvePendingRequestResponseSchema, ResolvePendingRequestRequestSchema, AgentQueuedSubmissionPageSchema, AddAgentQueuedSubmissionResponseSchema, AddAgentQueuedSubmissionRequestSchema, UpdateAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionRequestSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, ReorderAgentQueuedSubmissionsRequestSchema, StartAgentQueuedSubmissionResponseSchema, StartAgentQueuedSubmissionRequestSchema, AgentProviderConnectionRecordSchema, ProjectGitStatusSchema, ProjectGitStatusQuerySchema, ProjectGitHistoryPageSchema, ProjectGitHistoryQuerySchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFilesQuerySchema, ProjectGitCommitFileDiffSchema, ProjectGitCommitFileDiffQuerySchema, SwitchProjectBranchRequestSchema, CreateProjectBranchRequestSchema, GenerateCommitMessageResponseSchema, GenerateCommitMessageRequestSchema, CommitProjectChangesResponseSchema, CommitProjectChangesRequestSchema, ProjectFileTreeSchema, ProjectFileTreeQuerySchema, ProjectFileSearchPageSchema, ProjectFileSearchQuerySchema, StopProjectFileSearchResponseSchema, StopProjectFileSearchRequestSchema, ProjectSourceFileQuerySchema, ProjectSourceFileSchema, AgentAttachmentUploadResponseSchema, HostFileKindSchema, ImportHostAttachmentRequestSchema, AgentAttachmentKindSchema, AgentTaskSettingsResponseSchema, AgentTaskSettingsSchema, ReloadAgentMcpServersResponseSchema, ReloadAgentMcpServersRequestSchema, ReviewAgentTaskResponseSchema, ReviewAgentTaskRequestSchema, CompactAgentTaskResponseSchema, CompactAgentTaskRequestSchema, ForkAgentTaskResponseSchema, ForkAgentTaskRequestSchema, UploadAgentFeedbackResponseSchema, UploadAgentFeedbackRequestSchema, OpenAgentTaskAttachmentResponseSchema, OpenAgentTaskAttachmentRequestSchema, ProjectGitWorktreePageSchema, ProjectWorktreeMutationResponseSchema, CreateProjectWorktreeRequestSchema, SwitchProjectWorktreeRequestSchema, MAX_EVENT_BATCH_SIZE } from './chunk-MH54VCZJ.js';
5
+ import { AGENT_FILE_EXTENSIONS, AGENT_FILE_MEDIA_TYPES, MAX_AGENT_IMAGES, MAX_AGENT_IMAGE_TOTAL_BYTES, MAX_AGENT_FILE_TOTAL_BYTES, DEFAULT_COMMIT_MESSAGE_MODEL, TEMPORARY_TASK_API_PATH, TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_FILE_BYTES, AccessStatusResponseSchema, PairAccessRequestSchema, HealthResponseSchema, AppInfoResponseSchema, AgentMutationErrorSchema, InstallAppUpdateResponseSchema, InstallAppUpdateRequestSchema, EventStreamMetricsResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentGlobalSettingsResponseSchema, AgentGlobalSettingsSchema, MAX_AGENT_IMAGE_BYTES, MAX_AGENT_TEXT_BYTES, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, StartOfficialProviderLoginRequestSchema, AgentProviderConnectionMutationResponseSchema, CancelProviderLoginRequestSchema, ConfigureCustomProviderResponseSchema, ConfigureCustomProviderRequestSchema, ProjectPageSchema, HostFileListingSchema, HostFileQuerySchema, ProjectDirectoryListingSchema, ProjectDirectoryQuerySchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectRootQuerySchema, OpenProjectRequestSchema, ReorderProjectsResponseSchema, ReorderProjectsRequestSchema, AgentSkillPageSchema, AgentProjectDefaultsResponseSchema, AgentProjectDefaultsSchema, AddProjectResponseSchema, AddProjectRequestSchema, RenameProjectResponseSchema, RenameProjectRequestSchema, RemoveProjectResponseSchema, RemoveProjectRequestSchema, AgentTaskPageSchema, UnsubscribeAgentTaskResponseSchema, AgentTaskSnapshotResponseSchema, AgentMcpServerPageSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, PinAgentTaskResponseSchema, PinAgentTaskRequestSchema, RenameAgentTaskResponseSchema, RenameAgentTaskRequestSchema, ArchiveAgentTaskResponseSchema, ArchiveAgentTaskRequestSchema, UnarchiveAgentTaskResponseSchema, UnarchiveAgentTaskRequestSchema, DeleteAgentTaskResponseSchema, DeleteAgentTaskRequestSchema, StartAgentTaskResponseSchema, StartAgentTaskRequestSchema, StartAgentTurnResponseSchema, StartAgentTurnRequestSchema, SteerAgentTurnResponseSchema, SteerAgentTurnRequestSchema, InterruptAgentTurnResponseSchema, InterruptAgentTurnRequestSchema, ResolvePendingRequestResponseSchema, ResolvePendingRequestRequestSchema, AgentQueuedSubmissionPageSchema, AddAgentQueuedSubmissionResponseSchema, AddAgentQueuedSubmissionRequestSchema, UpdateAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionRequestSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, ReorderAgentQueuedSubmissionsRequestSchema, StartAgentQueuedSubmissionResponseSchema, StartAgentQueuedSubmissionRequestSchema, AgentProviderConnectionRecordSchema, ProjectGitStatusSchema, ProjectGitStatusQuerySchema, ProjectGitHistoryPageSchema, ProjectGitHistoryQuerySchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFilesQuerySchema, ProjectGitCommitFileDiffSchema, ProjectGitCommitFileDiffQuerySchema, SwitchProjectBranchRequestSchema, CreateProjectBranchRequestSchema, GenerateCommitMessageResponseSchema, GenerateCommitMessageRequestSchema, CommitProjectChangesResponseSchema, CommitProjectChangesRequestSchema, ProjectFileTreeSchema, ProjectFileTreeQuerySchema, ProjectFileSearchPageSchema, ProjectFileSearchQuerySchema, StopProjectFileSearchResponseSchema, StopProjectFileSearchRequestSchema, ProjectSourceFileQuerySchema, ProjectSourceFileSchema, AgentAttachmentUploadResponseSchema, HostFileKindSchema, ImportHostAttachmentRequestSchema, AgentAttachmentKindSchema, AgentTaskSettingsResponseSchema, AgentTaskSettingsSchema, ReloadAgentMcpServersResponseSchema, ReloadAgentMcpServersRequestSchema, ReviewAgentTaskResponseSchema, ReviewAgentTaskRequestSchema, CompactAgentTaskResponseSchema, CompactAgentTaskRequestSchema, ForkAgentTaskResponseSchema, ForkAgentTaskRequestSchema, UploadAgentFeedbackResponseSchema, UploadAgentFeedbackRequestSchema, OpenAgentTaskAttachmentResponseSchema, OpenAgentTaskAttachmentRequestSchema, UpdateAgentGoalResponseSchema, UpdateAgentGoalRequestSchema, ClearAgentGoalResponseSchema, ProjectGitWorktreePageSchema, ProjectWorktreeMutationResponseSchema, CreateProjectWorktreeRequestSchema, SwitchProjectWorktreeRequestSchema, MAX_EVENT_BATCH_SIZE } from './chunk-DR6HEQ7V.js';
6
6
  import { __commonJS, __require, __toESM } from './chunk-K6J42667.js';
7
7
  import { Buffer as Buffer$1 } from 'buffer';
8
8
  import { Readable, Transform } from 'stream';
@@ -58893,6 +58893,80 @@ function registerTaskAttachmentRoutes(app, { attachmentStore, getProjectContext,
58893
58893
  );
58894
58894
  }
58895
58895
 
58896
+ // packages/server/src/routes/task-goal-routes.ts
58897
+ function registerTaskGoalRoutes(app, context) {
58898
+ const { getProjectContext, runIdempotent } = context;
58899
+ app.put(
58900
+ "/v1/projects/:projectId/tasks/:taskId/goal",
58901
+ {
58902
+ schema: {
58903
+ body: UpdateAgentGoalRequestSchema,
58904
+ headers: IdempotencyHeadersSchema,
58905
+ params: ProjectTaskParamsSchema,
58906
+ response: {
58907
+ 200: UpdateAgentGoalResponseSchema,
58908
+ 400: AgentMutationErrorSchema,
58909
+ 404: AgentMutationErrorSchema,
58910
+ 502: AgentMutationErrorSchema,
58911
+ 503: AgentMutationErrorSchema
58912
+ }
58913
+ }
58914
+ },
58915
+ async (request) => runIdempotent(
58916
+ ["update-goal", request.params.projectId, request.params.taskId],
58917
+ request.headers["idempotency-key"],
58918
+ request.body,
58919
+ async () => {
58920
+ const projectContext = await getProjectContext(request.params.projectId);
58921
+ if (projectContext === void 0) {
58922
+ throw new MutationHttpError("PROJECT_NOT_FOUND", "Project not found", 404);
58923
+ }
58924
+ const task = await projectContext.provider.readTask(request.params.taskId);
58925
+ if (task?.projectId !== projectContext.scope.id) {
58926
+ throw new MutationHttpError("TASK_NOT_FOUND", "Task not found", 404);
58927
+ }
58928
+ return {
58929
+ goal: await projectContext.provider.updateGoal(request.params.taskId, request.body)
58930
+ };
58931
+ }
58932
+ )
58933
+ );
58934
+ app.delete(
58935
+ "/v1/projects/:projectId/tasks/:taskId/goal",
58936
+ {
58937
+ schema: {
58938
+ body: { additionalProperties: false, properties: {}, type: "object" },
58939
+ headers: IdempotencyHeadersSchema,
58940
+ params: ProjectTaskParamsSchema,
58941
+ response: {
58942
+ 200: ClearAgentGoalResponseSchema,
58943
+ 400: AgentMutationErrorSchema,
58944
+ 404: AgentMutationErrorSchema,
58945
+ 502: AgentMutationErrorSchema,
58946
+ 503: AgentMutationErrorSchema
58947
+ }
58948
+ }
58949
+ },
58950
+ async (request) => runIdempotent(
58951
+ ["clear-goal", request.params.projectId, request.params.taskId],
58952
+ request.headers["idempotency-key"],
58953
+ request.body,
58954
+ async () => {
58955
+ const projectContext = await getProjectContext(request.params.projectId);
58956
+ if (projectContext === void 0) {
58957
+ throw new MutationHttpError("PROJECT_NOT_FOUND", "Project not found", 404);
58958
+ }
58959
+ const task = await projectContext.provider.readTask(request.params.taskId);
58960
+ if (task?.projectId !== projectContext.scope.id) {
58961
+ throw new MutationHttpError("TASK_NOT_FOUND", "Task not found", 404);
58962
+ }
58963
+ await projectContext.provider.clearGoal(request.params.taskId);
58964
+ return { cleared: true };
58965
+ }
58966
+ )
58967
+ );
58968
+ }
58969
+
58896
58970
  // packages/server/src/routes/task-routes.ts
58897
58971
  var registerTaskRoutes = (app, context, done) => {
58898
58972
  const { getProjectContext, readEffectiveTaskSettings, runIdempotent, taskFromSnapshot: taskFromSnapshot2 } = context;
@@ -59226,6 +59300,7 @@ var registerTaskRoutes = (app, context, done) => {
59226
59300
  );
59227
59301
  registerTaskActionRoutes(app, context);
59228
59302
  registerTaskAttachmentRoutes(app, context);
59303
+ registerTaskGoalRoutes(app, context);
59229
59304
  done();
59230
59305
  };
59231
59306
 
@@ -4357,6 +4357,42 @@ var AgentQueuedSubmissionPageSchema = Type.Object(
4357
4357
  { additionalProperties: false }
4358
4358
  );
4359
4359
 
4360
+ // packages/protocol/src/agent-goal.ts
4361
+ var AgentGoalStatusSchema = Type.Union([
4362
+ Type.Literal("active"),
4363
+ Type.Literal("paused"),
4364
+ Type.Literal("blocked"),
4365
+ Type.Literal("usage_limited"),
4366
+ Type.Literal("budget_limited"),
4367
+ Type.Literal("complete")
4368
+ ]);
4369
+ var AgentGoalSchema = Type.Object(
4370
+ {
4371
+ createdAt: DateTimeSchema,
4372
+ objective: Type.String({ maxLength: 4e3, minLength: 1 }),
4373
+ status: AgentGoalStatusSchema,
4374
+ timeUsedSeconds: Type.Integer({ minimum: 0 }),
4375
+ tokenBudget: Type.Union([Type.Integer({ minimum: 0 }), Type.Null()]),
4376
+ tokensUsed: Type.Integer({ minimum: 0 }),
4377
+ updatedAt: DateTimeSchema
4378
+ },
4379
+ { additionalProperties: false }
4380
+ );
4381
+ var UpdateAgentGoalRequestSchema = Type.Object(
4382
+ {
4383
+ status: Type.Union([Type.Literal("active"), Type.Literal("paused")])
4384
+ },
4385
+ { additionalProperties: false }
4386
+ );
4387
+ var UpdateAgentGoalResponseSchema = Type.Object(
4388
+ { goal: AgentGoalSchema },
4389
+ { additionalProperties: false }
4390
+ );
4391
+ var ClearAgentGoalResponseSchema = Type.Object(
4392
+ { cleared: Type.Boolean() },
4393
+ { additionalProperties: false }
4394
+ );
4395
+
4360
4396
  // packages/protocol/src/project-settings.ts
4361
4397
  var DEFAULT_COMMIT_MESSAGE_MODEL = "gpt-5.6-luna";
4362
4398
  var AgentGranularApprovalConfigSchema = Type.Object(
@@ -4522,6 +4558,7 @@ var AgentPlanSchema = Type.Object(
4522
4558
  var AgentTaskSnapshotSchema = Type.Object(
4523
4559
  {
4524
4560
  contextUsage: Type.Union([AgentContextUsageSchema, Type.Null()]),
4561
+ goal: Type.Union([AgentGoalSchema, Type.Null()]),
4525
4562
  id: Type.String({ minLength: 1 }),
4526
4563
  plan: Type.Union([AgentPlanSchema, Type.Null()]),
4527
4564
  pendingRequests: Type.Array(ActivePendingRequestSchema),
@@ -4560,6 +4597,10 @@ var HealthResponseSchema = Type.Object(
4560
4597
  var AgentCapabilitiesSchema = Type.Object(
4561
4598
  {
4562
4599
  feedback: Type.Object({ upload: Type.Boolean() }, { additionalProperties: false }),
4600
+ goals: Type.Object(
4601
+ { clear: Type.Boolean(), read: Type.Boolean(), update: Type.Boolean() },
4602
+ { additionalProperties: false }
4603
+ ),
4563
4604
  provider: Type.String({ minLength: 1 }),
4564
4605
  skills: Type.Object(
4565
4606
  { list: Type.Boolean(), use: Type.Boolean() },
@@ -5098,6 +5139,14 @@ var PlanUpdatedEventSchema = createEventSchema({
5098
5139
  turnId: Type.String({ minLength: 1 }),
5099
5140
  type: Type.Literal("plan.updated")
5100
5141
  });
5142
+ var GoalUpdatedEventSchema = createEventSchema({
5143
+ payload: Type.Object({ goal: AgentGoalSchema }, { additionalProperties: false }),
5144
+ type: Type.Literal("goal.updated")
5145
+ });
5146
+ var GoalClearedEventSchema = createEventSchema({
5147
+ payload: Type.Object({}, { additionalProperties: false }),
5148
+ type: Type.Literal("goal.cleared")
5149
+ });
5101
5150
  function createPendingRequestEventSchema(type, requestSchema) {
5102
5151
  return createEventSchema({
5103
5152
  itemId: Type.String({ minLength: 1 }),
@@ -5131,6 +5180,8 @@ var AgentEventSchema = Type.Union([
5131
5180
  TurnCompletedEventSchema,
5132
5181
  UsageUpdatedEventSchema,
5133
5182
  PlanUpdatedEventSchema,
5183
+ GoalUpdatedEventSchema,
5184
+ GoalClearedEventSchema,
5134
5185
  ProviderErrorEventSchema,
5135
5186
  TaskNoticeEventSchema,
5136
5187
  McpServerStatusUpdatedEventSchema,
@@ -5221,4 +5272,4 @@ var EventStreamMetricsResponseSchema = Type.Object(
5221
5272
  { additionalProperties: false }
5222
5273
  );
5223
5274
 
5224
- export { AGENT_FILE_ACCEPT, AGENT_FILE_EXTENSIONS, AGENT_FILE_MEDIA_TYPES, AGENT_IMAGE_ACCEPT, AccessModeSchema, AccessStatusResponseSchema, AddAgentQueuedSubmissionRequestSchema, AddAgentQueuedSubmissionResponseSchema, AddProjectRequestSchema, AddProjectResponseSchema, AgentActivityItemSchema, AgentApprovalReviewActionSchema, AgentApprovalReviewItemSchema, AgentApprovalReviewStatusSchema, AgentApprovalsReviewerSchema, AgentAttachmentKindSchema, AgentAttachmentMediaTypeSchema, AgentAttachmentSchema, AgentAttachmentUploadResponseSchema, AgentBackgroundTerminalPageSchema, AgentBackgroundTerminalSchema, AgentCapabilitiesSchema, AgentCommandItemSchema, AgentContextUsageSchema, AgentEventSchema, AgentFileChangeItemSchema, AgentFileChangeSchema, AgentGlobalApprovalPolicySchema, AgentGlobalSettingsResponseSchema, AgentGlobalSettingsSchema, AgentGranularApprovalConfigSchema, AgentGranularApprovalPolicySchema, AgentImageMediaTypeSchema, AgentItemSchema, AgentItemStatusSchema, AgentMcpAuthStatusSchema, AgentMcpServerFailureReasonSchema, AgentMcpServerPageSchema, AgentMcpServerSchema, AgentMcpServerStatusSchema, AgentMessageAttachmentSchema, AgentMessageItemSchema, AgentMessagePhaseSchema, AgentMessageSkillSchema, AgentModelPageSchema, AgentModelSchema, AgentMutationErrorCodeSchema, AgentMutationErrorSchema, AgentPlanItemSchema, AgentPlanSchema, AgentPlanStepSchema, AgentPlanStepStatusSchema, AgentProjectDefaultsResponseSchema, AgentProjectDefaultsSchema, AgentPromptInputSchema, AgentProviderAccountSchema, AgentProviderConnectionMutationResponseSchema, AgentProviderConnectionRecordSchema, AgentProviderConnectionStateSchema, AgentProviderConnectionStatusSchema, AgentProviderModeSchema, AgentProviderPendingLoginSchema, AgentQueuedSubmissionPageSchema, AgentQueuedSubmissionSchema, AgentReasoningEffortOptionSchema, AgentReasoningItemSchema, AgentReviewItemSchema, AgentReviewTargetSchema, AgentSandboxModeSchema, AgentSkillPageSchema, AgentSkillReferenceSchema, AgentSkillSchema, AgentSkillScopeSchema, AgentTaskPageSchema, AgentTaskSchema, AgentTaskSettingsResponseSchema, AgentTaskSettingsSchema, AgentTaskSnapshotResponseSchema, AgentTaskSnapshotSchema, AgentToolItemSchema, AgentTurnApprovalPolicySchema, AgentTurnOptionsSchema, AgentTurnSchema, AgentTurnStatusSchema, AppInfoResponseSchema, AppUpdateStatusSchema, ArchiveAgentTaskRequestSchema, ArchiveAgentTaskResponseSchema, CancelProviderLoginRequestSchema, CommandApprovalPendingRequestSchema, CommandOutputDeltaEventSchema, CommitProjectChangesRequestSchema, CommitProjectChangesResponseSchema, CompactAgentTaskRequestSchema, CompactAgentTaskResponseSchema, ConfigureCustomProviderRequestSchema, ConfigureCustomProviderResponseSchema, ConnectionReadySchema, CreateProjectBranchRequestSchema, CreateProjectWorktreeRequestSchema, DEFAULT_AGENT_GRANULAR_APPROVAL_POLICY, DEFAULT_COMMIT_MESSAGE_MODEL, DeleteAgentQueuedSubmissionResponseSchema, DeleteAgentTaskRequestSchema, DeleteAgentTaskResponseSchema, EventBatchSchema, EventCheckpointSchema, EventStreamMessageSchema, EventStreamMetricsResponseSchema, EventStreamProjectMetricsSchema, FileChangeApprovalPendingRequestSchema, FileChangeUpdatedEventSchema, FilesystemRootSchema, ForkAgentTaskRequestSchema, ForkAgentTaskResponseSchema, GenerateCommitMessageRequestSchema, GenerateCommitMessageResponseSchema, HasPropertyKey2 as HasPropertyKey, HealthResponseSchema, HostFileEntrySchema, HostFileKindSchema, HostFileListingSchema, HostFileQuerySchema, ImportHostAttachmentRequestSchema, IndexFromPropertyKeys, InstallAppUpdateRequestSchema, InstallAppUpdateResponseSchema, InterruptAgentTurnRequestSchema, InterruptAgentTurnResponseSchema, IsArray2 as IsArray, IsAsyncIterator2 as IsAsyncIterator, IsBigInt2 as IsBigInt, IsBoolean2 as IsBoolean, IsDate2 as IsDate, IsFunction2 as IsFunction, IsInteger, IsIterator2 as IsIterator, IsKind, IsMap, IsNull2 as IsNull, IsNumber2 as IsNumber, IsObject2 as IsObject, IsPromise, IsSchema, IsSet, IsStandardObject, IsString2 as IsString, IsSymbol2 as IsSymbol, IsTemplateLiteralFinite, IsTransform, IsTypedArray, IsUint8Array2 as IsUint8Array, IsUndefined2 as IsUndefined, IsUndefined3 as IsUndefined2, IsValueType, ItemCompletedEventSchema, ItemStartedEventSchema, KeyOfPattern, KeyOfPropertyKeys, Kind, Literal, LogoutAccessResponseSchema, MAX_AGENT_ATTACHMENT_BYTES, MAX_AGENT_FILE_BYTES, MAX_AGENT_FILE_TOTAL_BYTES, MAX_AGENT_HISTORY_IMAGES, MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES, MAX_AGENT_IMAGES, MAX_AGENT_IMAGE_BYTES, MAX_AGENT_IMAGE_TOTAL_BYTES, MAX_AGENT_TEXT_BYTES, MAX_EVENT_BATCH_SIZE, MAX_REALTIME_DIFF_BYTES, MAX_REALTIME_FILE_CHANGES, McpElicitationFieldSchema, McpElicitationOptionSchema, McpElicitationPendingRequestSchema, McpElicitationResolutionSchema, MessageDeltaEventSchema, Never, Object2 as Object, OpenAgentTaskAttachmentRequestSchema, OpenAgentTaskAttachmentResponseSchema, OpenProjectRequestSchema, OpenProjectResponseSchema, PairAccessRequestSchema, PairAccessResponseSchema, PendingApprovalDecisionSchema, PendingPermissionCategorySchema, PendingRequestCreatedEventSchema, PendingRequestExpiredEventSchema, PendingRequestResolvedEventSchema, PendingRequestSchema, PendingRequestStatusSchema, PendingUserInputOptionSchema, PendingUserInputQuestionSchema, PermissionApprovalPendingRequestSchema, PinAgentTaskRequestSchema, PinAgentTaskResponseSchema, PlanUpdatedEventSchema, ProjectDirectoryEntrySchema, ProjectDirectoryListingSchema, ProjectDirectoryPathSchema, ProjectDirectoryQuerySchema, ProjectFileReferencePathSchema, ProjectFileSearchEntrySchema, ProjectFileSearchPageSchema, ProjectFileSearchQuerySchema, ProjectFileSearchSessionIdSchema, ProjectFileTreeEntrySchema, ProjectFileTreeQuerySchema, ProjectFileTreeSchema, ProjectGitCommitFileDiffQuerySchema, ProjectGitCommitFileDiffSchema, ProjectGitCommitFileSchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFilesQuerySchema, ProjectGitCommitSchema, ProjectGitHistoryPageSchema, ProjectGitHistoryQuerySchema, ProjectGitMetadataChangedEventSchema, ProjectGitStatusQuerySchema, ProjectGitStatusSchema, ProjectGitWorktreePageSchema, ProjectGitWorktreeSchema, ProjectOpenAppIdSchema, ProjectOpenAppKindSchema, ProjectOpenAppSchema, ProjectOpenCapabilitiesResponseSchema, ProjectOpenPlatformSchema, ProjectPageSchema, ProjectRelativePathSchema, ProjectRootIdSchema, ProjectRootInputSchema, ProjectRootInputsSchema, ProjectRootPathSchema, ProjectRootQuerySchema, ProjectRootSchema, ProjectRootsSchema, ProjectSchema, ProjectSourceFileQuerySchema, ProjectSourceFileSchema, ProjectWorktreeMutationResponseSchema, ProviderErrorEventSchema, QueueChangedEventSchema, ReasoningDeltaEventSchema, ReloadAgentMcpServersRequestSchema, ReloadAgentMcpServersResponseSchema, RemoveProjectRequestSchema, RemoveProjectResponseSchema, RenameAgentTaskRequestSchema, RenameAgentTaskResponseSchema, RenameProjectRequestSchema, RenameProjectResponseSchema, ReorderAgentQueuedSubmissionsRequestSchema, ReorderAgentQueuedSubmissionsResponseSchema, ReorderProjectsRequestSchema, ReorderProjectsResponseSchema, ResolvePendingRequestRequestSchema, ResolvePendingRequestResponseSchema, ResyncRequiredSchema, ReviewAgentTaskRequestSchema, ReviewAgentTaskResponseSchema, SkillsChangedEventSchema, StartAgentQueuedSubmissionRequestSchema, StartAgentQueuedSubmissionResponseSchema, StartAgentTaskRequestSchema, StartAgentTaskResponseSchema, StartAgentTurnRequestSchema, StartAgentTurnResponseSchema, StartOfficialProviderLoginRequestSchema, StartOfficialProviderLoginResponseSchema, SteerAgentTurnRequestSchema, SteerAgentTurnResponseSchema, StopProjectFileSearchRequestSchema, StopProjectFileSearchResponseSchema, String, SwitchProjectBranchRequestSchema, SwitchProjectWorktreeRequestSchema, TEMPORARY_TASK_API_PATH, TEMPORARY_TASK_SCOPE_ID, TaskMetadataChangedEventSchema, TaskRemovedEventSchema, TaskStatusUpdatedEventSchema, TemplateLiteralGenerate, TerminateAgentBackgroundTerminalResponseSchema, TransformKind, TurnCompletedEventSchema, TurnStartedEventSchema, TypeBoxError, TypeSystemPolicy, UnarchiveAgentTaskRequestSchema, UnarchiveAgentTaskResponseSchema, Union, Unknown, UnsubscribeAgentTaskResponseSchema, UpdateAgentQueuedSubmissionRequestSchema, UpdateAgentQueuedSubmissionResponseSchema, UploadAgentFeedbackRequestSchema, UploadAgentFeedbackResponseSchema, UsageUpdatedEventSchema, UserInputPendingRequestSchema, format_exports, isAgentFastModeAvailable, stripLeadingAgentSkillReferences, type_exports2 as type_exports };
5275
+ export { AGENT_FILE_ACCEPT, AGENT_FILE_EXTENSIONS, AGENT_FILE_MEDIA_TYPES, AGENT_IMAGE_ACCEPT, AccessModeSchema, AccessStatusResponseSchema, AddAgentQueuedSubmissionRequestSchema, AddAgentQueuedSubmissionResponseSchema, AddProjectRequestSchema, AddProjectResponseSchema, AgentActivityItemSchema, AgentApprovalReviewActionSchema, AgentApprovalReviewItemSchema, AgentApprovalReviewStatusSchema, AgentApprovalsReviewerSchema, AgentAttachmentKindSchema, AgentAttachmentMediaTypeSchema, AgentAttachmentSchema, AgentAttachmentUploadResponseSchema, AgentBackgroundTerminalPageSchema, AgentBackgroundTerminalSchema, AgentCapabilitiesSchema, AgentCommandItemSchema, AgentContextUsageSchema, AgentEventSchema, AgentFileChangeItemSchema, AgentFileChangeSchema, AgentGlobalApprovalPolicySchema, AgentGlobalSettingsResponseSchema, AgentGlobalSettingsSchema, AgentGoalSchema, AgentGoalStatusSchema, AgentGranularApprovalConfigSchema, AgentGranularApprovalPolicySchema, AgentImageMediaTypeSchema, AgentItemSchema, AgentItemStatusSchema, AgentMcpAuthStatusSchema, AgentMcpServerFailureReasonSchema, AgentMcpServerPageSchema, AgentMcpServerSchema, AgentMcpServerStatusSchema, AgentMessageAttachmentSchema, AgentMessageItemSchema, AgentMessagePhaseSchema, AgentMessageSkillSchema, AgentModelPageSchema, AgentModelSchema, AgentMutationErrorCodeSchema, AgentMutationErrorSchema, AgentPlanItemSchema, AgentPlanSchema, AgentPlanStepSchema, AgentPlanStepStatusSchema, AgentProjectDefaultsResponseSchema, AgentProjectDefaultsSchema, AgentPromptInputSchema, AgentProviderAccountSchema, AgentProviderConnectionMutationResponseSchema, AgentProviderConnectionRecordSchema, AgentProviderConnectionStateSchema, AgentProviderConnectionStatusSchema, AgentProviderModeSchema, AgentProviderPendingLoginSchema, AgentQueuedSubmissionPageSchema, AgentQueuedSubmissionSchema, AgentReasoningEffortOptionSchema, AgentReasoningItemSchema, AgentReviewItemSchema, AgentReviewTargetSchema, AgentSandboxModeSchema, AgentSkillPageSchema, AgentSkillReferenceSchema, AgentSkillSchema, AgentSkillScopeSchema, AgentTaskPageSchema, AgentTaskSchema, AgentTaskSettingsResponseSchema, AgentTaskSettingsSchema, AgentTaskSnapshotResponseSchema, AgentTaskSnapshotSchema, AgentToolItemSchema, AgentTurnApprovalPolicySchema, AgentTurnOptionsSchema, AgentTurnSchema, AgentTurnStatusSchema, AppInfoResponseSchema, AppUpdateStatusSchema, ArchiveAgentTaskRequestSchema, ArchiveAgentTaskResponseSchema, CancelProviderLoginRequestSchema, ClearAgentGoalResponseSchema, CommandApprovalPendingRequestSchema, CommandOutputDeltaEventSchema, CommitProjectChangesRequestSchema, CommitProjectChangesResponseSchema, CompactAgentTaskRequestSchema, CompactAgentTaskResponseSchema, ConfigureCustomProviderRequestSchema, ConfigureCustomProviderResponseSchema, ConnectionReadySchema, CreateProjectBranchRequestSchema, CreateProjectWorktreeRequestSchema, DEFAULT_AGENT_GRANULAR_APPROVAL_POLICY, DEFAULT_COMMIT_MESSAGE_MODEL, DeleteAgentQueuedSubmissionResponseSchema, DeleteAgentTaskRequestSchema, DeleteAgentTaskResponseSchema, EventBatchSchema, EventCheckpointSchema, EventStreamMessageSchema, EventStreamMetricsResponseSchema, EventStreamProjectMetricsSchema, FileChangeApprovalPendingRequestSchema, FileChangeUpdatedEventSchema, FilesystemRootSchema, ForkAgentTaskRequestSchema, ForkAgentTaskResponseSchema, GenerateCommitMessageRequestSchema, GenerateCommitMessageResponseSchema, GoalClearedEventSchema, GoalUpdatedEventSchema, HasPropertyKey2 as HasPropertyKey, HealthResponseSchema, HostFileEntrySchema, HostFileKindSchema, HostFileListingSchema, HostFileQuerySchema, ImportHostAttachmentRequestSchema, IndexFromPropertyKeys, InstallAppUpdateRequestSchema, InstallAppUpdateResponseSchema, InterruptAgentTurnRequestSchema, InterruptAgentTurnResponseSchema, IsArray2 as IsArray, IsAsyncIterator2 as IsAsyncIterator, IsBigInt2 as IsBigInt, IsBoolean2 as IsBoolean, IsDate2 as IsDate, IsFunction2 as IsFunction, IsInteger, IsIterator2 as IsIterator, IsKind, IsMap, IsNull2 as IsNull, IsNumber2 as IsNumber, IsObject2 as IsObject, IsPromise, IsSchema, IsSet, IsStandardObject, IsString2 as IsString, IsSymbol2 as IsSymbol, IsTemplateLiteralFinite, IsTransform, IsTypedArray, IsUint8Array2 as IsUint8Array, IsUndefined2 as IsUndefined, IsUndefined3 as IsUndefined2, IsValueType, ItemCompletedEventSchema, ItemStartedEventSchema, KeyOfPattern, KeyOfPropertyKeys, Kind, Literal, LogoutAccessResponseSchema, MAX_AGENT_ATTACHMENT_BYTES, MAX_AGENT_FILE_BYTES, MAX_AGENT_FILE_TOTAL_BYTES, MAX_AGENT_HISTORY_IMAGES, MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES, MAX_AGENT_IMAGES, MAX_AGENT_IMAGE_BYTES, MAX_AGENT_IMAGE_TOTAL_BYTES, MAX_AGENT_TEXT_BYTES, MAX_EVENT_BATCH_SIZE, MAX_REALTIME_DIFF_BYTES, MAX_REALTIME_FILE_CHANGES, McpElicitationFieldSchema, McpElicitationOptionSchema, McpElicitationPendingRequestSchema, McpElicitationResolutionSchema, MessageDeltaEventSchema, Never, Object2 as Object, OpenAgentTaskAttachmentRequestSchema, OpenAgentTaskAttachmentResponseSchema, OpenProjectRequestSchema, OpenProjectResponseSchema, PairAccessRequestSchema, PairAccessResponseSchema, PendingApprovalDecisionSchema, PendingPermissionCategorySchema, PendingRequestCreatedEventSchema, PendingRequestExpiredEventSchema, PendingRequestResolvedEventSchema, PendingRequestSchema, PendingRequestStatusSchema, PendingUserInputOptionSchema, PendingUserInputQuestionSchema, PermissionApprovalPendingRequestSchema, PinAgentTaskRequestSchema, PinAgentTaskResponseSchema, PlanUpdatedEventSchema, ProjectDirectoryEntrySchema, ProjectDirectoryListingSchema, ProjectDirectoryPathSchema, ProjectDirectoryQuerySchema, ProjectFileReferencePathSchema, ProjectFileSearchEntrySchema, ProjectFileSearchPageSchema, ProjectFileSearchQuerySchema, ProjectFileSearchSessionIdSchema, ProjectFileTreeEntrySchema, ProjectFileTreeQuerySchema, ProjectFileTreeSchema, ProjectGitCommitFileDiffQuerySchema, ProjectGitCommitFileDiffSchema, ProjectGitCommitFileSchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFilesQuerySchema, ProjectGitCommitSchema, ProjectGitHistoryPageSchema, ProjectGitHistoryQuerySchema, ProjectGitMetadataChangedEventSchema, ProjectGitStatusQuerySchema, ProjectGitStatusSchema, ProjectGitWorktreePageSchema, ProjectGitWorktreeSchema, ProjectOpenAppIdSchema, ProjectOpenAppKindSchema, ProjectOpenAppSchema, ProjectOpenCapabilitiesResponseSchema, ProjectOpenPlatformSchema, ProjectPageSchema, ProjectRelativePathSchema, ProjectRootIdSchema, ProjectRootInputSchema, ProjectRootInputsSchema, ProjectRootPathSchema, ProjectRootQuerySchema, ProjectRootSchema, ProjectRootsSchema, ProjectSchema, ProjectSourceFileQuerySchema, ProjectSourceFileSchema, ProjectWorktreeMutationResponseSchema, ProviderErrorEventSchema, QueueChangedEventSchema, ReasoningDeltaEventSchema, ReloadAgentMcpServersRequestSchema, ReloadAgentMcpServersResponseSchema, RemoveProjectRequestSchema, RemoveProjectResponseSchema, RenameAgentTaskRequestSchema, RenameAgentTaskResponseSchema, RenameProjectRequestSchema, RenameProjectResponseSchema, ReorderAgentQueuedSubmissionsRequestSchema, ReorderAgentQueuedSubmissionsResponseSchema, ReorderProjectsRequestSchema, ReorderProjectsResponseSchema, ResolvePendingRequestRequestSchema, ResolvePendingRequestResponseSchema, ResyncRequiredSchema, ReviewAgentTaskRequestSchema, ReviewAgentTaskResponseSchema, SkillsChangedEventSchema, StartAgentQueuedSubmissionRequestSchema, StartAgentQueuedSubmissionResponseSchema, StartAgentTaskRequestSchema, StartAgentTaskResponseSchema, StartAgentTurnRequestSchema, StartAgentTurnResponseSchema, StartOfficialProviderLoginRequestSchema, StartOfficialProviderLoginResponseSchema, SteerAgentTurnRequestSchema, SteerAgentTurnResponseSchema, StopProjectFileSearchRequestSchema, StopProjectFileSearchResponseSchema, String, SwitchProjectBranchRequestSchema, SwitchProjectWorktreeRequestSchema, TEMPORARY_TASK_API_PATH, TEMPORARY_TASK_SCOPE_ID, TaskMetadataChangedEventSchema, TaskRemovedEventSchema, TaskStatusUpdatedEventSchema, TemplateLiteralGenerate, TerminateAgentBackgroundTerminalResponseSchema, TransformKind, TurnCompletedEventSchema, TurnStartedEventSchema, TypeBoxError, TypeSystemPolicy, UnarchiveAgentTaskRequestSchema, UnarchiveAgentTaskResponseSchema, Union, Unknown, UnsubscribeAgentTaskResponseSchema, UpdateAgentGoalRequestSchema, UpdateAgentGoalResponseSchema, UpdateAgentQueuedSubmissionRequestSchema, UpdateAgentQueuedSubmissionResponseSchema, UploadAgentFeedbackRequestSchema, UploadAgentFeedbackResponseSchema, UsageUpdatedEventSchema, UserInputPendingRequestSchema, format_exports, isAgentFastModeAvailable, stripLeadingAgentSkillReferences, type_exports2 as type_exports };
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from 'node:module';
2
- import { IsArray, IsDate, IsTypedArray, IsMap, IsSet, IsObject, IsValueType, TypeBoxError, Object as Object$1, Unknown, String, Literal, Union, IsBoolean, IsBigInt, IsNull, IsNumber, IsString, IsSymbol, IsUint8Array, IsUndefined, Kind, type_exports, IsStandardObject, TypeSystemPolicy, format_exports, IsPromise, IsIterator, KeyOfPattern, IsSchema, IsInteger, IsFunction, IsAsyncIterator, Never, HasPropertyKey, IsTemplateLiteralFinite, TemplateLiteralGenerate, IsKind, KeyOfPropertyKeys, IsTransform, TransformKind, IsUndefined2, IndexFromPropertyKeys } from './chunk-MH54VCZJ.js';
2
+ import { IsArray, IsDate, IsTypedArray, IsMap, IsSet, IsObject, IsValueType, TypeBoxError, Object as Object$1, Unknown, String, Literal, Union, IsBoolean, IsBigInt, IsNull, IsNumber, IsString, IsSymbol, IsUint8Array, IsUndefined, Kind, type_exports, IsStandardObject, TypeSystemPolicy, format_exports, IsPromise, IsIterator, KeyOfPattern, IsSchema, IsInteger, IsFunction, IsAsyncIterator, Never, HasPropertyKey, IsTemplateLiteralFinite, TemplateLiteralGenerate, IsKind, KeyOfPropertyKeys, IsTransform, TransformKind, IsUndefined2, IndexFromPropertyKeys } from './chunk-DR6HEQ7V.js';
3
3
  import { __export } from './chunk-K6J42667.js';
4
4
 
5
5
  createRequire(import.meta.url);
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module';
2
2
  import { PendingRequestResolutionError } from './chunk-3OBVX5TN.js';
3
- import { TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES, isAgentFastModeAvailable, MAX_REALTIME_FILE_CHANGES, MAX_REALTIME_DIFF_BYTES, stripLeadingAgentSkillReferences, MAX_AGENT_HISTORY_IMAGES, MAX_AGENT_TEXT_BYTES } from './chunk-MH54VCZJ.js';
3
+ import { TEMPORARY_TASK_SCOPE_ID, MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES, isAgentFastModeAvailable, MAX_REALTIME_FILE_CHANGES, MAX_REALTIME_DIFF_BYTES, stripLeadingAgentSkillReferences, MAX_AGENT_HISTORY_IMAGES, MAX_AGENT_TEXT_BYTES } from './chunk-DR6HEQ7V.js';
4
4
  import { __commonJS, __require, __toESM } from './chunk-K6J42667.js';
5
5
  import { execFile, spawn } from 'child_process';
6
6
  import { constants, mkdtempSync, rmSync, createReadStream, mkdirSync, unlinkSync, renameSync, writeFileSync, openSync, readSync, closeSync, statSync } from 'fs';
@@ -4639,6 +4639,8 @@ var CODEX_MAPPED_NOTIFICATION_METHODS = /* @__PURE__ */ new Set([
4639
4639
  "model/safetyBuffering/updated",
4640
4640
  "model/verification",
4641
4641
  "thread/tokenUsage/updated",
4642
+ "thread/goal/cleared",
4643
+ "thread/goal/updated",
4642
4644
  "turn/completed",
4643
4645
  "turn/plan/updated",
4644
4646
  "turn/started",
@@ -4681,8 +4683,6 @@ var CODEX_IGNORED_NOTIFICATION_METHODS = /* @__PURE__ */ new Set([
4681
4683
  "thread/compacted",
4682
4684
  "thread/environment/connected",
4683
4685
  "thread/environment/disconnected",
4684
- "thread/goal/cleared",
4685
- "thread/goal/updated",
4686
4686
  "thread/project/updated",
4687
4687
  "thread/realtime/closed",
4688
4688
  "thread/realtime/error",
@@ -5717,6 +5717,54 @@ function mapRealtimeFileChanges(value) {
5717
5717
  }
5718
5718
  return { changes, originalByteLength, truncated };
5719
5719
  }
5720
+
5721
+ // packages/provider-codex/src/codex-goal-mapping.ts
5722
+ function mapGoalStatus(value) {
5723
+ const statuses = {
5724
+ active: "active",
5725
+ blocked: "blocked",
5726
+ budgetLimited: "budget_limited",
5727
+ complete: "complete",
5728
+ paused: "paused",
5729
+ usageLimited: "usage_limited"
5730
+ };
5731
+ if (typeof value !== "string" || statuses[value] === void 0) {
5732
+ throw new CodexProtocolMappingError("Codex goal status is invalid");
5733
+ }
5734
+ return statuses[value];
5735
+ }
5736
+ function expectNonNegativeInteger(value, context) {
5737
+ const integer = optionalInteger(value);
5738
+ if (integer === void 0 || integer < 0) {
5739
+ throw new CodexProtocolMappingError(`${context} must be a non-negative integer`);
5740
+ }
5741
+ return integer;
5742
+ }
5743
+ function mapCodexGoal(value, expectedTaskId) {
5744
+ const goal = expectRecord(value, "Codex goal");
5745
+ const threadId = expectString(goal["threadId"], "Codex goal thread id");
5746
+ if (expectedTaskId !== void 0 && threadId !== expectedTaskId) {
5747
+ throw new CodexProtocolMappingError("Codex goal belongs to a different thread");
5748
+ }
5749
+ const objective = expectString(goal["objective"], "Codex goal objective");
5750
+ if (objective.length === 0 || objective.length > 4e3) {
5751
+ throw new CodexProtocolMappingError("Codex goal objective is invalid");
5752
+ }
5753
+ const rawTokenBudget = goal["tokenBudget"];
5754
+ const tokenBudget = rawTokenBudget === null ? null : expectNonNegativeInteger(rawTokenBudget, "Codex goal token budget");
5755
+ return {
5756
+ createdAt: toDateTime(goal["createdAt"], "Codex goal createdAt"),
5757
+ objective,
5758
+ status: mapGoalStatus(goal["status"]),
5759
+ timeUsedSeconds: expectNonNegativeInteger(
5760
+ goal["timeUsedSeconds"],
5761
+ "Codex goal time used seconds"
5762
+ ),
5763
+ tokenBudget,
5764
+ tokensUsed: expectNonNegativeInteger(goal["tokensUsed"], "Codex goal tokens used"),
5765
+ updatedAt: toDateTime(goal["updatedAt"], "Codex goal updatedAt")
5766
+ };
5767
+ }
5720
5768
  var EXPANDED_SKILL_PATTERN = /^<skill>\s*<name>(?<name>[^<]+)<\/name>\s*<path>(?<path>[^<]+)<\/path>[\s\S]*<\/skill>\s*$/u;
5721
5769
  var LINKED_SKILL_PATTERN = /\[\$(?<name>[^\]\s]+)\]\((?<path>[^)]+\/SKILL\.md)\)/gu;
5722
5770
  var SAFE_THREAD_ID_PATTERN = /^[a-zA-Z0-9_-]+$/u;
@@ -6561,7 +6609,7 @@ var MAX_STATUS_TEXT_LENGTH = 8192;
6561
6609
  function boundStatusText(value) {
6562
6610
  return value.slice(0, MAX_STATUS_TEXT_LENGTH);
6563
6611
  }
6564
- function expectNonNegativeInteger(value, context) {
6612
+ function expectNonNegativeInteger2(value, context) {
6565
6613
  const parsed = optionalInteger(value);
6566
6614
  if (parsed === void 0 || parsed < 0) {
6567
6615
  throw new CodexProtocolMappingError(`${context} must be a non-negative integer`);
@@ -6638,8 +6686,18 @@ function mapCodexNotification(method, value, mapImage, mapText, reviewTarget, ex
6638
6686
  return void 0;
6639
6687
  }
6640
6688
  const taskId = explicitTaskId ?? expectString(params["threadId"], `Codex ${method} threadId`);
6689
+ if (method === "thread/goal/updated") {
6690
+ return {
6691
+ payload: { goal: mapCodexGoal(params["goal"], taskId) },
6692
+ taskId,
6693
+ type: "goal.updated"
6694
+ };
6695
+ }
6696
+ if (method === "thread/goal/cleared") {
6697
+ return { payload: {}, taskId, type: "goal.cleared" };
6698
+ }
6641
6699
  if (method === "autoApprovalReview/strictReviewRequired") {
6642
- expectNonNegativeInteger(params["startedAtMs"], "Codex strict review startedAtMs");
6700
+ expectNonNegativeInteger2(params["startedAtMs"], "Codex strict review startedAtMs");
6643
6701
  expectString(params["turnId"], "Codex strict review turnId");
6644
6702
  return {
6645
6703
  payload: {
@@ -6792,7 +6850,7 @@ function mapCodexNotification(method, value, mapImage, mapText, reviewTarget, ex
6792
6850
  payload: {
6793
6851
  delta: "",
6794
6852
  field: "summary",
6795
- sectionIndex: expectNonNegativeInteger(params["summaryIndex"], "Codex summary index")
6853
+ sectionIndex: expectNonNegativeInteger2(params["summaryIndex"], "Codex summary index")
6796
6854
  },
6797
6855
  taskId,
6798
6856
  turnId,
@@ -6908,7 +6966,7 @@ function mapCodexNotification(method, value, mapImage, mapText, reviewTarget, ex
6908
6966
  delta,
6909
6967
  field: method === "item/reasoning/summaryTextDelta" ? "summary" : "content",
6910
6968
  ...method === "item/reasoning/summaryTextDelta" ? {
6911
- sectionIndex: expectNonNegativeInteger(params["summaryIndex"], "Codex summary index")
6969
+ sectionIndex: expectNonNegativeInteger2(params["summaryIndex"], "Codex summary index")
6912
6970
  } : {}
6913
6971
  },
6914
6972
  taskId,
@@ -8527,6 +8585,7 @@ var TaskRuntimeState = class {
8527
8585
  reviewWorkerTurnIds = /* @__PURE__ */ new Map();
8528
8586
  reviewWorkerParentTaskIds = /* @__PURE__ */ new Map();
8529
8587
  contextUsage = /* @__PURE__ */ new Map();
8588
+ goals = /* @__PURE__ */ new Map();
8530
8589
  plans = /* @__PURE__ */ new Map();
8531
8590
  mcpServerNames = /* @__PURE__ */ new Map();
8532
8591
  mcpServerStatuses = /* @__PURE__ */ new Map();
@@ -8547,6 +8606,10 @@ var TaskRuntimeState = class {
8547
8606
  this.contextUsage.set(event.taskId, event.payload.usage);
8548
8607
  } else if (event.type === "plan.updated") {
8549
8608
  this.plans.set(event.taskId, event.payload.plan);
8609
+ } else if (event.type === "goal.updated") {
8610
+ this.goals.set(event.taskId, event.payload.goal);
8611
+ } else if (event.type === "goal.cleared") {
8612
+ this.goals.set(event.taskId, null);
8550
8613
  }
8551
8614
  }
8552
8615
  hasLifecycleObligations(taskId, hasPendingRequest) {
@@ -8566,6 +8629,7 @@ var TaskRuntimeState = class {
8566
8629
  }
8567
8630
  }
8568
8631
  this.contextUsage.delete(taskId);
8632
+ this.goals.delete(taskId);
8569
8633
  this.plans.delete(taskId);
8570
8634
  this.mcpServerNames.delete(taskId);
8571
8635
  this.mcpServerStatuses.delete(taskId);
@@ -8588,6 +8652,7 @@ var TaskRuntimeState = class {
8588
8652
  this.reviewWorkerTurnIds.clear();
8589
8653
  this.reviewWorkerParentTaskIds.clear();
8590
8654
  this.contextUsage.clear();
8655
+ this.goals.clear();
8591
8656
  this.plans.clear();
8592
8657
  this.mcpServerNames.clear();
8593
8658
  this.mcpServerStatuses.clear();
@@ -8968,6 +9033,7 @@ function createUnmaterializedTaskSnapshot(task) {
8968
9033
  return {
8969
9034
  ...task,
8970
9035
  contextUsage: null,
9036
+ goal: null,
8971
9037
  plan: null,
8972
9038
  pendingRequests: [],
8973
9039
  status: "idle",
@@ -9049,6 +9115,7 @@ var CodexAgentProviderBase = class {
9049
9115
  getCapabilities() {
9050
9116
  return Promise.resolve({
9051
9117
  feedback: { upload: true },
9118
+ goals: { clear: true, read: true, update: true },
9052
9119
  provider: "codex",
9053
9120
  skills: { list: true, use: true },
9054
9121
  tasks: { fork: true, list: true, read: true, start: true },
@@ -9500,6 +9567,11 @@ var CodexAgentProviderTurns = class extends CodexAgentProviderQueue {
9500
9567
  this.assertKnownProjectTask(taskId);
9501
9568
  await this.resumeTask(taskId);
9502
9569
  if (options.goalMode === true) {
9570
+ if (input.files.length > 0 || input.images.length > 0 || input.skills.length > 0 || input.textAttachments.length > 0) {
9571
+ throw new CodexProtocolMappingError(
9572
+ "Codex goals do not support structured attachments or skills"
9573
+ );
9574
+ }
9503
9575
  const objective = input.text.trim();
9504
9576
  if (objective.length === 0 || objective.length > 4e3) {
9505
9577
  throw new CodexProtocolMappingError(
@@ -9533,8 +9605,8 @@ var CodexAgentProviderTurns = class extends CodexAgentProviderQueue {
9533
9605
  }),
9534
9606
  "thread/goal/set response"
9535
9607
  );
9536
- const goal = expectRecord(goalResponse["goal"], "thread/goal/set goal");
9537
- if (expectString(goal["threadId"], "thread/goal/set thread id") !== taskId || expectString(goal["objective"], "thread/goal/set objective") !== objective) {
9608
+ const goal = mapCodexGoal(goalResponse["goal"], taskId);
9609
+ if (goal.objective !== objective) {
9538
9610
  throw new CodexProtocolMappingError("thread/goal/set returned an unexpected goal");
9539
9611
  }
9540
9612
  const timeoutTurn = new Promise((_, reject) => {
@@ -9572,6 +9644,34 @@ var CodexAgentProviderTurns = class extends CodexAgentProviderQueue {
9572
9644
  }
9573
9645
  return turn;
9574
9646
  }
9647
+ async readGoalResponse(taskId) {
9648
+ const response = expectRecord(
9649
+ await this.client.request("thread/goal/get", { threadId: taskId }),
9650
+ "thread/goal/get response"
9651
+ );
9652
+ const nativeGoal = response["goal"];
9653
+ return nativeGoal === null ? null : mapCodexGoal(nativeGoal, taskId);
9654
+ }
9655
+ async readGoal(taskId) {
9656
+ this.assertKnownProjectTask(taskId);
9657
+ return this.readGoalResponse(taskId);
9658
+ }
9659
+ async updateGoal(taskId, input) {
9660
+ this.assertKnownProjectTask(taskId);
9661
+ const response = expectRecord(
9662
+ await this.client.request("thread/goal/set", { ...input, threadId: taskId }),
9663
+ "thread/goal/set response"
9664
+ );
9665
+ return mapCodexGoal(response["goal"], taskId);
9666
+ }
9667
+ async clearGoal(taskId) {
9668
+ this.assertKnownProjectTask(taskId);
9669
+ const response = expectRecord(
9670
+ await this.client.request("thread/goal/clear", { threadId: taskId }),
9671
+ "thread/goal/clear response"
9672
+ );
9673
+ expectBoolean(response["cleared"], "thread/goal/clear cleared");
9674
+ }
9575
9675
  async steerTurn(taskId, turnId, input) {
9576
9676
  this.assertKnownProjectTask(taskId);
9577
9677
  const codexInput = await this.mapTurnInput(input);
@@ -9934,6 +10034,9 @@ var CodexAgentProviderTasks = class extends CodexAgentProviderTurns {
9934
10034
  projectOwnershipVerified = true;
9935
10035
  this.promotePendingServerRequests(taskId);
9936
10036
  const task = await mapAgentTask(thread, this.project);
10037
+ this.runtime.goals.delete(taskId);
10038
+ const requestedGoal = await this.readGoalResponse(taskId);
10039
+ const goal = this.runtime.goals.has(taskId) ? this.runtime.goals.get(taskId) ?? null : requestedGoal;
9937
10040
  let nativePage;
9938
10041
  try {
9939
10042
  nativePage = await readNativeTaskTurnPage(
@@ -9978,6 +10081,7 @@ var CodexAgentProviderTasks = class extends CodexAgentProviderTurns {
9978
10081
  const snapshot = {
9979
10082
  ...task,
9980
10083
  contextUsage: this.runtime.contextUsage.get(taskId) ?? null,
10084
+ goal,
9981
10085
  plan: this.runtime.plans.get(taskId) ?? null,
9982
10086
  pendingRequests: this.pendingLifecycle.pendingForTask(taskId),
9983
10087
  status,
@@ -11078,6 +11182,18 @@ var CodexRuntimeProjectProvider = class {
11078
11182
  getCapabilities() {
11079
11183
  return this.#delegate.getCapabilities();
11080
11184
  }
11185
+ async clearGoal(taskId) {
11186
+ await this.#ensureTaskOwner(taskId);
11187
+ return this.#delegate.clearGoal(taskId);
11188
+ }
11189
+ async readGoal(taskId) {
11190
+ await this.#ensureTaskOwner(taskId);
11191
+ return this.#delegate.readGoal(taskId);
11192
+ }
11193
+ async updateGoal(taskId, input) {
11194
+ await this.#ensureTaskOwner(taskId);
11195
+ return this.#delegate.updateGoal(taskId, input);
11196
+ }
11081
11197
  interruptTurn(taskId, turnId) {
11082
11198
  this.#runtime.assertTaskOwner(this.#project, taskId);
11083
11199
  return this.#delegate.interruptTurn(taskId, turnId);
@@ -11887,6 +12003,7 @@ var CodexRuntimeProvider = class {
11887
12003
  getCapabilities() {
11888
12004
  return Promise.resolve({
11889
12005
  feedback: { upload: true },
12006
+ goals: { clear: true, read: true, update: true },
11890
12007
  provider: "codex",
11891
12008
  skills: { list: true, use: true },
11892
12009
  tasks: { fork: true, list: true, read: true, start: true },
package/dist/cli.js CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { createCodexlyServer, SqliteStateRepository, normalizeAllowedHost } from './chunk-AWQWQU2B.js';
4
- import './chunk-TEPSAXZZ.js';
5
- import { startCodexAppServer, locateCodexBinary, createCodexRuntimeProvider, CodexProjectRepository, checkCodexVersion } from './chunk-2P25XCI6.js';
3
+ import { createCodexlyServer, SqliteStateRepository, normalizeAllowedHost } from './chunk-6HXWAD7A.js';
4
+ import './chunk-VZLNYRY3.js';
5
+ import { startCodexAppServer, locateCodexBinary, createCodexRuntimeProvider, CodexProjectRepository, checkCodexVersion } from './chunk-Y7HG5THF.js';
6
6
  import './chunk-3OBVX5TN.js';
7
- import './chunk-MH54VCZJ.js';
7
+ import './chunk-DR6HEQ7V.js';
8
8
  import './chunk-K6J42667.js';
9
9
  import { mkdir, lstat, chmod, realpath } from 'fs/promises';
10
10
  import { networkInterfaces, homedir } from 'os';
@@ -19,7 +19,7 @@ createRequire(import.meta.url);
19
19
 
20
20
  // package.json
21
21
  var package_default = {
22
- version: "0.2.0"};
22
+ version: "0.3.0"};
23
23
  var PACKAGE_NAME = "@bryanhu/codexly";
24
24
  var INITIAL_APP_VERSION = "0.1.0";
25
25
  var CHANGELOG_URL_PREFIX = "https://raw.githubusercontent.com/BryanHoo/Codexly/v";
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module';
2
- import { value_exports } from '../chunk-TEPSAXZZ.js';
3
- import { EventStreamMessageSchema, TEMPORARY_TASK_SCOPE_ID, TEMPORARY_TASK_API_PATH, AgentQueuedSubmissionPageSchema, AddAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionResponseSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, StartAgentQueuedSubmissionResponseSchema, AgentTaskPageSchema, AgentTaskSnapshotResponseSchema, OpenAgentTaskAttachmentResponseSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, AgentTaskSettingsResponseSchema, StartAgentTaskResponseSchema, PinAgentTaskResponseSchema, RenameAgentTaskResponseSchema, UnsubscribeAgentTaskResponseSchema, ReviewAgentTaskResponseSchema, CompactAgentTaskResponseSchema, ForkAgentTaskResponseSchema, UploadAgentFeedbackResponseSchema, AgentAttachmentUploadResponseSchema, AgentMutationErrorSchema, StartAgentTurnResponseSchema, SteerAgentTurnResponseSchema, InterruptAgentTurnResponseSchema, ResolvePendingRequestResponseSchema, ArchiveAgentTaskResponseSchema, UnarchiveAgentTaskResponseSchema, DeleteAgentTaskResponseSchema, AgentSkillPageSchema, AgentMcpServerPageSchema, ReloadAgentMcpServersResponseSchema, ProjectPageSchema, ProjectDirectoryListingSchema, HostFileListingSchema, ReorderProjectsResponseSchema, AgentProjectDefaultsResponseSchema, AddProjectResponseSchema, RenameProjectResponseSchema, RemoveProjectResponseSchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectGitStatusSchema, ProjectGitHistoryPageSchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFileDiffSchema, ProjectGitWorktreePageSchema, ProjectWorktreeMutationResponseSchema, GenerateCommitMessageResponseSchema, CommitProjectChangesResponseSchema, ProjectFileTreeSchema, ProjectFileSearchPageSchema, StopProjectFileSearchResponseSchema, ProjectSourceFileSchema, HealthResponseSchema, AppInfoResponseSchema, InstallAppUpdateResponseSchema, AccessStatusResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, AgentProviderConnectionMutationResponseSchema, ConfigureCustomProviderResponseSchema, AgentGlobalSettingsResponseSchema } from '../chunk-MH54VCZJ.js';
2
+ import { value_exports } from '../chunk-VZLNYRY3.js';
3
+ import { EventStreamMessageSchema, TEMPORARY_TASK_SCOPE_ID, TEMPORARY_TASK_API_PATH, AgentQueuedSubmissionPageSchema, AddAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionResponseSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, StartAgentQueuedSubmissionResponseSchema, AgentTaskPageSchema, AgentTaskSnapshotResponseSchema, OpenAgentTaskAttachmentResponseSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, AgentTaskSettingsResponseSchema, StartAgentTaskResponseSchema, PinAgentTaskResponseSchema, RenameAgentTaskResponseSchema, UnsubscribeAgentTaskResponseSchema, ReviewAgentTaskResponseSchema, CompactAgentTaskResponseSchema, ForkAgentTaskResponseSchema, UploadAgentFeedbackResponseSchema, AgentAttachmentUploadResponseSchema, AgentMutationErrorSchema, StartAgentTurnResponseSchema, SteerAgentTurnResponseSchema, InterruptAgentTurnResponseSchema, ResolvePendingRequestResponseSchema, UpdateAgentGoalResponseSchema, ClearAgentGoalResponseSchema, ArchiveAgentTaskResponseSchema, UnarchiveAgentTaskResponseSchema, DeleteAgentTaskResponseSchema, AgentSkillPageSchema, AgentMcpServerPageSchema, ReloadAgentMcpServersResponseSchema, ProjectPageSchema, ProjectDirectoryListingSchema, HostFileListingSchema, ReorderProjectsResponseSchema, AgentProjectDefaultsResponseSchema, AddProjectResponseSchema, RenameProjectResponseSchema, RemoveProjectResponseSchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectGitStatusSchema, ProjectGitHistoryPageSchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFileDiffSchema, ProjectGitWorktreePageSchema, ProjectWorktreeMutationResponseSchema, GenerateCommitMessageResponseSchema, CommitProjectChangesResponseSchema, ProjectFileTreeSchema, ProjectFileSearchPageSchema, StopProjectFileSearchResponseSchema, ProjectSourceFileSchema, HealthResponseSchema, AppInfoResponseSchema, InstallAppUpdateResponseSchema, AccessStatusResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, AgentProviderConnectionMutationResponseSchema, ConfigureCustomProviderResponseSchema, AgentGlobalSettingsResponseSchema } from '../chunk-DR6HEQ7V.js';
4
4
  import '../chunk-K6J42667.js';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -763,8 +763,30 @@ var TaskArchiveHttpClient = class extends ProjectHttpClient {
763
763
  }
764
764
  };
765
765
 
766
+ // packages/client/src/http-client-task-goals.ts
767
+ var TaskGoalHttpClient = class extends TaskArchiveHttpClient {
768
+ async updateTaskGoal(projectId, taskId, input, options = {}) {
769
+ return this.mutation(
770
+ `${taskPath(projectId, taskId)}/goal`,
771
+ input,
772
+ UpdateAgentGoalResponseSchema,
773
+ options,
774
+ "PUT"
775
+ );
776
+ }
777
+ async clearTaskGoal(projectId, taskId, options = {}) {
778
+ return this.mutation(
779
+ `${taskPath(projectId, taskId)}/goal`,
780
+ {},
781
+ ClearAgentGoalResponseSchema,
782
+ options,
783
+ "DELETE"
784
+ );
785
+ }
786
+ };
787
+
766
788
  // packages/client/src/http-client-tasks.ts
767
- var TaskHttpClient = class extends TaskArchiveHttpClient {
789
+ var TaskHttpClient = class extends TaskGoalHttpClient {
768
790
  async listQueuedSubmissions(projectId, taskId, input = {}, options = {}) {
769
791
  return this.read(
770
792
  appendQuery(`${taskPath(projectId, taskId)}/queue`, input),