@bryanhu/codexly 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -1
- package/dist/{chunk-AWQWQU2B.js → chunk-63TSFHXS.js} +429 -77
- package/dist/{chunk-TEPSAXZZ.js → chunk-6W2NSQP6.js} +1 -1
- package/dist/{chunk-2P25XCI6.js → chunk-I5XCZA2U.js} +191 -39
- package/dist/{chunk-MH54VCZJ.js → chunk-TGDKFWII.js} +60 -2
- package/dist/cli.js +5 -5
- package/dist/client/index.js +25 -3
- package/dist/protocol/index.js +1 -1
- package/dist/providers/codex/index.js +2 -2
- package/dist/server/index.js +4 -4
- package/dist/web/.vite/manifest.json +264 -257
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/button-SdoQawHa.js +1 -0
- package/dist/web/assets/button-SdoQawHa.js.br +0 -0
- package/dist/web/assets/button-SdoQawHa.js.gz +0 -0
- package/dist/web/assets/button-group-cIDkfDF9.js +1 -0
- package/dist/web/assets/button-group-cIDkfDF9.js.br +0 -0
- package/dist/web/assets/button-group-cIDkfDF9.js.gz +0 -0
- package/dist/web/assets/{checkbox-CCES4UbV.js → checkbox-BlpFo5_d.js} +1 -1
- package/dist/web/assets/checkbox-BlpFo5_d.js.br +0 -0
- package/dist/web/assets/{checkbox-CCES4UbV.js.gz → checkbox-BlpFo5_d.js.gz} +0 -0
- package/dist/web/assets/{chunk-BO2N2NFS-BWAdG1_E.js → chunk-BO2N2NFS-D3J36g1Z.js} +5 -5
- package/dist/web/assets/chunk-BO2N2NFS-D3J36g1Z.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-D3J36g1Z.js.gz +0 -0
- package/dist/web/assets/{code-highlighter-CHF26Qu6.js → code-highlighter-Cl_7OKC4.js} +1 -1
- package/dist/web/assets/code-highlighter-Cl_7OKC4.js.br +0 -0
- package/dist/web/assets/code-highlighter-Cl_7OKC4.js.gz +0 -0
- package/dist/web/assets/code-languages-CoeGleQS.js +2 -0
- package/dist/web/assets/code-languages-CoeGleQS.js.br +0 -0
- package/dist/web/assets/code-languages-CoeGleQS.js.gz +0 -0
- package/dist/web/assets/cpp-DrC1WCyF.js +1 -0
- package/dist/web/assets/cpp-DrC1WCyF.js.br +0 -0
- package/dist/web/assets/cpp-DrC1WCyF.js.gz +0 -0
- package/dist/web/assets/cpp-DuI2J82L.js +1 -0
- package/dist/web/assets/cpp-DuI2J82L.js.br +0 -0
- package/dist/web/assets/cpp-DuI2J82L.js.gz +0 -0
- package/dist/web/assets/{engine-compile-DQ0HPfe0.js → engine-compile-Bqjaa_8Z.js} +14 -14
- package/dist/web/assets/engine-compile-Bqjaa_8Z.js.br +0 -0
- package/dist/web/assets/engine-compile-Bqjaa_8Z.js.gz +0 -0
- package/dist/web/assets/es2015-B-skuqay.js +41 -0
- package/dist/web/assets/es2015-B-skuqay.js.br +0 -0
- package/dist/web/assets/es2015-B-skuqay.js.gz +0 -0
- package/dist/web/assets/{file-CdvUKvsI.js → file-DwOQ4CRt.js} +1 -1
- package/dist/web/assets/file-DwOQ4CRt.js.br +0 -0
- package/dist/web/assets/file-DwOQ4CRt.js.gz +0 -0
- package/dist/web/assets/{file-review-dialog-D2A8VOae.js → file-review-dialog-BmXxZad1.js} +2 -2
- package/dist/web/assets/file-review-dialog-BmXxZad1.js.br +0 -0
- package/dist/web/assets/file-review-dialog-BmXxZad1.js.gz +0 -0
- package/dist/web/assets/{file-tree-AZsgAlZn.js → file-tree-Bl6o98td.js} +1 -1
- package/dist/web/assets/file-tree-Bl6o98td.js.br +0 -0
- package/dist/web/assets/file-tree-Bl6o98td.js.gz +0 -0
- package/dist/web/assets/{git-commit-horizontal-C0Tc8kLo.js → git-commit-horizontal-1BtAo1_y.js} +1 -1
- package/dist/web/assets/git-commit-horizontal-1BtAo1_y.js.br +0 -0
- package/dist/web/assets/git-commit-horizontal-1BtAo1_y.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-CeJ0MXUi.js → git-history-panel-zXprGDsD.js} +2 -2
- package/dist/web/assets/git-history-panel-zXprGDsD.js.br +0 -0
- package/dist/web/assets/git-history-panel-zXprGDsD.js.gz +0 -0
- package/dist/web/assets/global-settings-dialog-CQK8OvfF.js +1 -0
- package/dist/web/assets/global-settings-dialog-CQK8OvfF.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-CQK8OvfF.js.gz +0 -0
- package/dist/web/assets/grammar-cpp-support-CH6jZNJS.js +1 -0
- package/dist/web/assets/grammar-cpp-support-CH6jZNJS.js.br +0 -0
- package/dist/web/assets/grammar-cpp-support-CH6jZNJS.js.gz +0 -0
- package/dist/web/assets/{highlighted-body-OFNGDK62-CBB2e5gz.js → highlighted-body-OFNGDK62-DLuRF1Ir.js} +1 -1
- package/dist/web/assets/highlighted-body-OFNGDK62-DLuRF1Ir.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-DLuRF1Ir.js.gz +0 -0
- package/dist/web/assets/index-BQDjXTIj.js +4 -0
- package/dist/web/assets/index-BQDjXTIj.js.br +0 -0
- package/dist/web/assets/index-BQDjXTIj.js.gz +0 -0
- package/dist/web/assets/index-Cg_JyLiC.css +2 -0
- package/dist/web/assets/index-Cg_JyLiC.css.br +0 -0
- package/dist/web/assets/index-Cg_JyLiC.css.gz +0 -0
- package/dist/web/assets/lazy-message-response-BAESsr6y.js +2 -0
- package/dist/web/assets/lazy-message-response-BAESsr6y.js.br +0 -0
- package/dist/web/assets/lazy-message-response-BAESsr6y.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D80VLkUl.js +1 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D80VLkUl.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-D80VLkUl.js.gz +0 -0
- package/dist/web/assets/message-response-ll2GyVvz.js +7 -0
- package/dist/web/assets/message-response-ll2GyVvz.js.br +0 -0
- package/dist/web/assets/message-response-ll2GyVvz.js.gz +0 -0
- package/dist/web/assets/{patch-diff-viewer-BlbG4Z8Q.js → patch-diff-viewer-7Ar-plzV.js} +2 -2
- package/dist/web/assets/patch-diff-viewer-7Ar-plzV.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-7Ar-plzV.js.gz +0 -0
- package/dist/web/assets/{perl-Br95gH8g.js → perl-C4NAnH_t.js} +1 -1
- package/dist/web/assets/perl-C4NAnH_t.js.br +0 -0
- package/dist/web/assets/{perl-Br95gH8g.js.gz → perl-C4NAnH_t.js.gz} +0 -0
- package/dist/web/assets/{php-CYrBA5iX.js → php-CQT4wx5i.js} +1 -1
- package/dist/web/assets/php-CQT4wx5i.js.br +0 -0
- package/dist/web/assets/{php-CYrBA5iX.js.gz → php-CQT4wx5i.js.gz} +0 -0
- package/dist/web/assets/prompt-input-controls-t69FYoWk.js +1 -0
- package/dist/web/assets/prompt-input-controls-t69FYoWk.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-t69FYoWk.js.gz +0 -0
- package/dist/web/assets/{provider-connection-queries-bzb4TYim.js → provider-connection-queries-BKyJMJn1.js} +1 -1
- package/dist/web/assets/provider-connection-queries-BKyJMJn1.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-BKyJMJn1.js.gz +0 -0
- package/dist/web/assets/{ruby-CbXu8Ywv.js → ruby-Oh3ZbUP2.js} +1 -1
- package/dist/web/assets/ruby-Oh3ZbUP2.js.br +0 -0
- package/dist/web/assets/ruby-Oh3ZbUP2.js.gz +0 -0
- package/dist/web/assets/{shiki-bundle-BndEhlUP.js → shiki-bundle-UDLEjOL9.js} +1 -1
- package/dist/web/assets/shiki-bundle-UDLEjOL9.js.br +0 -0
- package/dist/web/assets/shiki-bundle-UDLEjOL9.js.gz +0 -0
- package/dist/web/assets/swift-CyEgAFGc.js +1 -0
- package/dist/web/assets/swift-CyEgAFGc.js.br +0 -0
- package/dist/web/assets/swift-CyEgAFGc.js.gz +0 -0
- package/dist/web/assets/upload-Bbk2LEzM.js +1 -0
- package/dist/web/assets/upload-Bbk2LEzM.js.br +0 -0
- package/dist/web/assets/upload-Bbk2LEzM.js.gz +0 -0
- package/dist/web/assets/{vue-BpAUjojh.js → vue-BcFuTOIy.js} +1 -1
- package/dist/web/assets/vue-BcFuTOIy.js.br +0 -0
- package/dist/web/assets/vue-BcFuTOIy.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-CumCxeA7.js +1 -0
- package/dist/web/assets/workbench-inspector-changes-CumCxeA7.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-CumCxeA7.js.gz +0 -0
- package/dist/web/assets/workbench-shell-D21PPmmO.js +13 -0
- package/dist/web/assets/workbench-shell-D21PPmmO.js.br +0 -0
- package/dist/web/assets/workbench-shell-D21PPmmO.js.gz +0 -0
- package/dist/web/index.html +8 -8
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +7 -10
- package/dist/web/assets/button-DPWbWvQN.js +0 -1
- package/dist/web/assets/button-DPWbWvQN.js.br +0 -0
- package/dist/web/assets/button-DPWbWvQN.js.gz +0 -0
- package/dist/web/assets/button-group-CvflSgg8.js +0 -1
- package/dist/web/assets/button-group-CvflSgg8.js.br +0 -0
- package/dist/web/assets/button-group-CvflSgg8.js.gz +0 -0
- package/dist/web/assets/checkbox-CCES4UbV.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-BWAdG1_E.js.br +0 -0
- package/dist/web/assets/chunk-BO2N2NFS-BWAdG1_E.js.gz +0 -0
- package/dist/web/assets/code-highlighter-CHF26Qu6.js.br +0 -0
- package/dist/web/assets/code-highlighter-CHF26Qu6.js.gz +0 -0
- package/dist/web/assets/code-languages-0g9buMoI.js +0 -2
- package/dist/web/assets/code-languages-0g9buMoI.js.br +0 -0
- package/dist/web/assets/code-languages-0g9buMoI.js.gz +0 -0
- package/dist/web/assets/cpp-BcHBJY00.js +0 -1
- package/dist/web/assets/cpp-BcHBJY00.js.br +0 -0
- package/dist/web/assets/cpp-BcHBJY00.js.gz +0 -0
- package/dist/web/assets/cpp-CIkEvbIe.js +0 -1
- package/dist/web/assets/cpp-CIkEvbIe.js.br +0 -0
- package/dist/web/assets/cpp-CIkEvbIe.js.gz +0 -0
- package/dist/web/assets/engine-compile-DQ0HPfe0.js.br +0 -0
- package/dist/web/assets/engine-compile-DQ0HPfe0.js.gz +0 -0
- package/dist/web/assets/es2015-DsWAjMth.js +0 -41
- package/dist/web/assets/es2015-DsWAjMth.js.br +0 -0
- package/dist/web/assets/es2015-DsWAjMth.js.gz +0 -0
- package/dist/web/assets/file-CdvUKvsI.js.br +0 -0
- package/dist/web/assets/file-CdvUKvsI.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-D2A8VOae.js.br +0 -0
- package/dist/web/assets/file-review-dialog-D2A8VOae.js.gz +0 -0
- package/dist/web/assets/file-tree-AZsgAlZn.js.br +0 -0
- package/dist/web/assets/file-tree-AZsgAlZn.js.gz +0 -0
- package/dist/web/assets/git-commit-horizontal-C0Tc8kLo.js.br +0 -0
- package/dist/web/assets/git-commit-horizontal-C0Tc8kLo.js.gz +0 -0
- package/dist/web/assets/git-history-panel-CeJ0MXUi.js.br +0 -0
- package/dist/web/assets/git-history-panel-CeJ0MXUi.js.gz +0 -0
- package/dist/web/assets/global-settings-dialog-BdOP1wS8.js +0 -1
- package/dist/web/assets/global-settings-dialog-BdOP1wS8.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-BdOP1wS8.js.gz +0 -0
- package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js +0 -1
- package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.br +0 -0
- package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.gz +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-CBB2e5gz.js.br +0 -0
- package/dist/web/assets/highlighted-body-OFNGDK62-CBB2e5gz.js.gz +0 -0
- package/dist/web/assets/index-BoX8xH2D.css +0 -2
- package/dist/web/assets/index-BoX8xH2D.css.br +0 -0
- package/dist/web/assets/index-BoX8xH2D.css.gz +0 -0
- package/dist/web/assets/index-CoRYl0EO.js +0 -4
- package/dist/web/assets/index-CoRYl0EO.js.br +0 -0
- package/dist/web/assets/index-CoRYl0EO.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-Be__rdOq.js +0 -2
- package/dist/web/assets/lazy-message-response-Be__rdOq.js.br +0 -0
- package/dist/web/assets/lazy-message-response-Be__rdOq.js.gz +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js +0 -1
- package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js.br +0 -0
- package/dist/web/assets/mermaid-GHXKKRXX-C4HZuN1f.js.gz +0 -0
- package/dist/web/assets/message-response-UwCHtKG1.js +0 -7
- package/dist/web/assets/message-response-UwCHtKG1.js.br +0 -0
- package/dist/web/assets/message-response-UwCHtKG1.js.gz +0 -0
- package/dist/web/assets/patch-diff-viewer-BlbG4Z8Q.js.br +0 -0
- package/dist/web/assets/patch-diff-viewer-BlbG4Z8Q.js.gz +0 -0
- package/dist/web/assets/perl-Br95gH8g.js.br +0 -0
- package/dist/web/assets/php-CYrBA5iX.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-DRwTXxuF.js +0 -1
- package/dist/web/assets/prompt-input-controls-DRwTXxuF.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-DRwTXxuF.js.gz +0 -0
- package/dist/web/assets/provider-connection-queries-bzb4TYim.js.br +0 -0
- package/dist/web/assets/provider-connection-queries-bzb4TYim.js.gz +0 -0
- package/dist/web/assets/ruby-CbXu8Ywv.js.br +0 -0
- package/dist/web/assets/ruby-CbXu8Ywv.js.gz +0 -0
- package/dist/web/assets/shiki-bundle-BndEhlUP.js.br +0 -0
- package/dist/web/assets/shiki-bundle-BndEhlUP.js.gz +0 -0
- package/dist/web/assets/swift-DonLKvLd.js +0 -1
- package/dist/web/assets/swift-DonLKvLd.js.br +0 -0
- package/dist/web/assets/swift-DonLKvLd.js.gz +0 -0
- package/dist/web/assets/vue-BpAUjojh.js.br +0 -0
- package/dist/web/assets/vue-BpAUjojh.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js +0 -1
- package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-8ZkoC9AD.js.gz +0 -0
- package/dist/web/assets/workbench-shell-BLSbA9u6.js +0 -13
- package/dist/web/assets/workbench-shell-BLSbA9u6.js.br +0 -0
- package/dist/web/assets/workbench-shell-BLSbA9u6.js.gz +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import { value_exports } from './chunk-
|
|
3
|
-
import { require_pino, CodexProtocolMappingError, CodexProviderConnectionError, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError } from './chunk-
|
|
2
|
+
import { value_exports } from './chunk-6W2NSQP6.js';
|
|
3
|
+
import { require_pino, require_safe_stable_stringify, CodexProtocolMappingError, CodexProviderConnectionError, RpcConnectionClosedError, RpcProtocolError, RpcResponseError, RpcTimeoutError } from './chunk-I5XCZA2U.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-
|
|
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-TGDKFWII.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';
|
|
9
9
|
import { randomBytes, createHash, timingSafeEqual, randomUUID } from 'crypto';
|
|
10
10
|
import { createWriteStream, constants, createReadStream } from 'fs';
|
|
11
|
-
import { realpath, lstat, stat, readFile, open, mkdir,
|
|
11
|
+
import { mkdtemp, rm, realpath, lstat, stat, readFile, open, mkdir, readdir, access, unlink, readlink } from 'fs/promises';
|
|
12
12
|
import { tmpdir, homedir } from 'os';
|
|
13
|
-
import {
|
|
13
|
+
import { join, isAbsolute, dirname, resolve, relative, sep, basename, extname, normalize, win32, posix } from 'path';
|
|
14
14
|
import { pipeline } from 'stream/promises';
|
|
15
15
|
import { TextDecoder as TextDecoder$1 } from 'util';
|
|
16
16
|
import { spawn } from 'child_process';
|
|
@@ -9621,7 +9621,7 @@ var require_codegen = __commonJS({
|
|
|
9621
9621
|
AND: new code_1._Code("&&"),
|
|
9622
9622
|
ADD: new code_1._Code("+")
|
|
9623
9623
|
};
|
|
9624
|
-
var
|
|
9624
|
+
var Node2 = class {
|
|
9625
9625
|
optimizeNodes() {
|
|
9626
9626
|
return this;
|
|
9627
9627
|
}
|
|
@@ -9629,7 +9629,7 @@ var require_codegen = __commonJS({
|
|
|
9629
9629
|
return this;
|
|
9630
9630
|
}
|
|
9631
9631
|
};
|
|
9632
|
-
var Def = class extends
|
|
9632
|
+
var Def = class extends Node2 {
|
|
9633
9633
|
constructor(varKind, name, rhs) {
|
|
9634
9634
|
super();
|
|
9635
9635
|
this.varKind = varKind;
|
|
@@ -9652,7 +9652,7 @@ var require_codegen = __commonJS({
|
|
|
9652
9652
|
return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};
|
|
9653
9653
|
}
|
|
9654
9654
|
};
|
|
9655
|
-
var Assign = class extends
|
|
9655
|
+
var Assign = class extends Node2 {
|
|
9656
9656
|
constructor(lhs, rhs, sideEffects) {
|
|
9657
9657
|
super();
|
|
9658
9658
|
this.lhs = lhs;
|
|
@@ -9682,7 +9682,7 @@ var require_codegen = __commonJS({
|
|
|
9682
9682
|
return `${this.lhs} ${this.op}= ${this.rhs};` + _n;
|
|
9683
9683
|
}
|
|
9684
9684
|
};
|
|
9685
|
-
var Label = class extends
|
|
9685
|
+
var Label = class extends Node2 {
|
|
9686
9686
|
constructor(label) {
|
|
9687
9687
|
super();
|
|
9688
9688
|
this.label = label;
|
|
@@ -9692,7 +9692,7 @@ var require_codegen = __commonJS({
|
|
|
9692
9692
|
return `${this.label}:` + _n;
|
|
9693
9693
|
}
|
|
9694
9694
|
};
|
|
9695
|
-
var Break = class extends
|
|
9695
|
+
var Break = class extends Node2 {
|
|
9696
9696
|
constructor(label) {
|
|
9697
9697
|
super();
|
|
9698
9698
|
this.label = label;
|
|
@@ -9703,7 +9703,7 @@ var require_codegen = __commonJS({
|
|
|
9703
9703
|
return `break${label};` + _n;
|
|
9704
9704
|
}
|
|
9705
9705
|
};
|
|
9706
|
-
var Throw = class extends
|
|
9706
|
+
var Throw = class extends Node2 {
|
|
9707
9707
|
constructor(error) {
|
|
9708
9708
|
super();
|
|
9709
9709
|
this.error = error;
|
|
@@ -9715,7 +9715,7 @@ var require_codegen = __commonJS({
|
|
|
9715
9715
|
return this.error.names;
|
|
9716
9716
|
}
|
|
9717
9717
|
};
|
|
9718
|
-
var AnyCode = class extends
|
|
9718
|
+
var AnyCode = class extends Node2 {
|
|
9719
9719
|
constructor(code) {
|
|
9720
9720
|
super();
|
|
9721
9721
|
this.code = code;
|
|
@@ -9734,7 +9734,7 @@ var require_codegen = __commonJS({
|
|
|
9734
9734
|
return this.code instanceof code_1._CodeOrName ? this.code.names : {};
|
|
9735
9735
|
}
|
|
9736
9736
|
};
|
|
9737
|
-
var ParentNode = class extends
|
|
9737
|
+
var ParentNode = class extends Node2 {
|
|
9738
9738
|
constructor(nodes = []) {
|
|
9739
9739
|
super();
|
|
9740
9740
|
this.nodes = nodes;
|
|
@@ -26191,7 +26191,7 @@ var require_node = __commonJS({
|
|
|
26191
26191
|
PARAMETRIC: 1,
|
|
26192
26192
|
WILDCARD: 2
|
|
26193
26193
|
};
|
|
26194
|
-
var
|
|
26194
|
+
var Node2 = class {
|
|
26195
26195
|
constructor() {
|
|
26196
26196
|
this.isLeafNode = false;
|
|
26197
26197
|
this.routes = null;
|
|
@@ -26209,7 +26209,7 @@ var require_node = __commonJS({
|
|
|
26209
26209
|
this.handlerStorage.addHandler(constrainer, route);
|
|
26210
26210
|
}
|
|
26211
26211
|
};
|
|
26212
|
-
var ParentNode = class extends
|
|
26212
|
+
var ParentNode = class extends Node2 {
|
|
26213
26213
|
constructor() {
|
|
26214
26214
|
super();
|
|
26215
26215
|
this.staticChildren = {};
|
|
@@ -26359,7 +26359,7 @@ var require_node = __commonJS({
|
|
|
26359
26359
|
return this.findStaticMatchingChild(path, pathIndex);
|
|
26360
26360
|
}
|
|
26361
26361
|
};
|
|
26362
|
-
var WildcardNode = class extends
|
|
26362
|
+
var WildcardNode = class extends Node2 {
|
|
26363
26363
|
constructor() {
|
|
26364
26364
|
super();
|
|
26365
26365
|
this.kind = NODE_TYPES.WILDCARD;
|
|
@@ -35007,7 +35007,7 @@ var require_multipart2 = __commonJS({
|
|
|
35007
35007
|
parts = this.parts(options2);
|
|
35008
35008
|
}
|
|
35009
35009
|
this.savedRequestFiles = [];
|
|
35010
|
-
const
|
|
35010
|
+
const tmpdir3 = options2?.tmpdir || os.tmpdir();
|
|
35011
35011
|
this.tmpUploads = [];
|
|
35012
35012
|
let i2 = 0;
|
|
35013
35013
|
for await (const part of parts) {
|
|
@@ -35015,7 +35015,7 @@ var require_multipart2 = __commonJS({
|
|
|
35015
35015
|
if (!part.file) {
|
|
35016
35016
|
continue;
|
|
35017
35017
|
}
|
|
35018
|
-
const filepath = path.join(
|
|
35018
|
+
const filepath = path.join(tmpdir3, generateId() + path.extname(part.filename || "file" + i2++));
|
|
35019
35019
|
const target = createWriteStream2(filepath);
|
|
35020
35020
|
try {
|
|
35021
35021
|
this.tmpUploads.push(filepath);
|
|
@@ -39211,7 +39211,7 @@ var require_send = __commonJS({
|
|
|
39211
39211
|
var { parseTokenList } = require_parseTokenList();
|
|
39212
39212
|
var { createHttpError } = require_createHttpError();
|
|
39213
39213
|
var extname3 = path.extname;
|
|
39214
|
-
var
|
|
39214
|
+
var join10 = path.join;
|
|
39215
39215
|
var normalize2 = path.normalize;
|
|
39216
39216
|
var resolve7 = path.resolve;
|
|
39217
39217
|
var sep5 = path.sep;
|
|
@@ -39298,7 +39298,7 @@ var require_send = __commonJS({
|
|
|
39298
39298
|
return { statusCode: 403 };
|
|
39299
39299
|
}
|
|
39300
39300
|
parts = path2.split(sep5);
|
|
39301
|
-
path2 = normalize2(
|
|
39301
|
+
path2 = normalize2(join10(root, path2));
|
|
39302
39302
|
} else {
|
|
39303
39303
|
if (UP_PATH_REGEXP.test(path2)) {
|
|
39304
39304
|
debug2('malicious path "%s"', path2);
|
|
@@ -39581,7 +39581,7 @@ var require_send = __commonJS({
|
|
|
39581
39581
|
let err;
|
|
39582
39582
|
for (let i2 = 0; i2 < options.index.length; i2++) {
|
|
39583
39583
|
const index = options.index[i2];
|
|
39584
|
-
const p2 =
|
|
39584
|
+
const p2 = join10(path2, index);
|
|
39585
39585
|
const { error, stat: stat4 } = await tryStat(p2);
|
|
39586
39586
|
if (error) {
|
|
39587
39587
|
err = error;
|
|
@@ -44718,7 +44718,7 @@ var require_buffer_list = __commonJS({
|
|
|
44718
44718
|
}
|
|
44719
44719
|
}, {
|
|
44720
44720
|
key: "join",
|
|
44721
|
-
value: function
|
|
44721
|
+
value: function join10(s) {
|
|
44722
44722
|
if (this.length === 0) return "";
|
|
44723
44723
|
var p2 = this.head;
|
|
44724
44724
|
var ret = "" + p2.data;
|
|
@@ -53588,34 +53588,167 @@ function originalErrorMessage(error, fallback) {
|
|
|
53588
53588
|
if (typeof error === "string" && error.length > 0) return error;
|
|
53589
53589
|
return fallback;
|
|
53590
53590
|
}
|
|
53591
|
+
|
|
53592
|
+
// node_modules/.pnpm/yocto-queue@1.2.2/node_modules/yocto-queue/index.js
|
|
53593
|
+
var Node = class {
|
|
53594
|
+
value;
|
|
53595
|
+
next;
|
|
53596
|
+
constructor(value) {
|
|
53597
|
+
this.value = value;
|
|
53598
|
+
}
|
|
53599
|
+
};
|
|
53600
|
+
var Queue = class {
|
|
53601
|
+
#head;
|
|
53602
|
+
#tail;
|
|
53603
|
+
#size;
|
|
53604
|
+
constructor() {
|
|
53605
|
+
this.clear();
|
|
53606
|
+
}
|
|
53607
|
+
enqueue(value) {
|
|
53608
|
+
const node = new Node(value);
|
|
53609
|
+
if (this.#head) {
|
|
53610
|
+
this.#tail.next = node;
|
|
53611
|
+
this.#tail = node;
|
|
53612
|
+
} else {
|
|
53613
|
+
this.#head = node;
|
|
53614
|
+
this.#tail = node;
|
|
53615
|
+
}
|
|
53616
|
+
this.#size++;
|
|
53617
|
+
}
|
|
53618
|
+
dequeue() {
|
|
53619
|
+
const current = this.#head;
|
|
53620
|
+
if (!current) {
|
|
53621
|
+
return;
|
|
53622
|
+
}
|
|
53623
|
+
this.#head = this.#head.next;
|
|
53624
|
+
this.#size--;
|
|
53625
|
+
if (!this.#head) {
|
|
53626
|
+
this.#tail = void 0;
|
|
53627
|
+
}
|
|
53628
|
+
return current.value;
|
|
53629
|
+
}
|
|
53630
|
+
peek() {
|
|
53631
|
+
if (!this.#head) {
|
|
53632
|
+
return;
|
|
53633
|
+
}
|
|
53634
|
+
return this.#head.value;
|
|
53635
|
+
}
|
|
53636
|
+
clear() {
|
|
53637
|
+
this.#head = void 0;
|
|
53638
|
+
this.#tail = void 0;
|
|
53639
|
+
this.#size = 0;
|
|
53640
|
+
}
|
|
53641
|
+
get size() {
|
|
53642
|
+
return this.#size;
|
|
53643
|
+
}
|
|
53644
|
+
*[Symbol.iterator]() {
|
|
53645
|
+
let current = this.#head;
|
|
53646
|
+
while (current) {
|
|
53647
|
+
yield current.value;
|
|
53648
|
+
current = current.next;
|
|
53649
|
+
}
|
|
53650
|
+
}
|
|
53651
|
+
*drain() {
|
|
53652
|
+
while (this.#head) {
|
|
53653
|
+
yield this.dequeue();
|
|
53654
|
+
}
|
|
53655
|
+
}
|
|
53656
|
+
};
|
|
53657
|
+
|
|
53658
|
+
// node_modules/.pnpm/p-limit@7.3.1/node_modules/p-limit/index.js
|
|
53659
|
+
function pLimit(concurrency) {
|
|
53660
|
+
let rejectOnClear = false;
|
|
53661
|
+
if (typeof concurrency === "object") {
|
|
53662
|
+
({ concurrency, rejectOnClear = false } = concurrency);
|
|
53663
|
+
}
|
|
53664
|
+
validateConcurrency(concurrency);
|
|
53665
|
+
if (typeof rejectOnClear !== "boolean") {
|
|
53666
|
+
throw new TypeError("Expected `rejectOnClear` to be a boolean");
|
|
53667
|
+
}
|
|
53668
|
+
const queue = new Queue();
|
|
53669
|
+
let activeCount = 0;
|
|
53670
|
+
const resumeNext = () => {
|
|
53671
|
+
if (activeCount < concurrency && queue.size > 0) {
|
|
53672
|
+
activeCount++;
|
|
53673
|
+
queue.dequeue().run();
|
|
53674
|
+
}
|
|
53675
|
+
};
|
|
53676
|
+
const next = () => {
|
|
53677
|
+
activeCount--;
|
|
53678
|
+
resumeNext();
|
|
53679
|
+
};
|
|
53680
|
+
const run = async (function_, resolve7, arguments_) => {
|
|
53681
|
+
const result = (async () => function_(...arguments_))();
|
|
53682
|
+
resolve7(result);
|
|
53683
|
+
try {
|
|
53684
|
+
await result;
|
|
53685
|
+
} catch {
|
|
53686
|
+
}
|
|
53687
|
+
next();
|
|
53688
|
+
};
|
|
53689
|
+
const enqueue = (function_, resolve7, reject, arguments_) => {
|
|
53690
|
+
const queueItem = { reject };
|
|
53691
|
+
new Promise((internalResolve) => {
|
|
53692
|
+
queueItem.run = internalResolve;
|
|
53693
|
+
queue.enqueue(queueItem);
|
|
53694
|
+
}).then(run.bind(void 0, function_, resolve7, arguments_));
|
|
53695
|
+
if (activeCount < concurrency) {
|
|
53696
|
+
resumeNext();
|
|
53697
|
+
}
|
|
53698
|
+
};
|
|
53699
|
+
const generator = (function_, ...arguments_) => new Promise((resolve7, reject) => {
|
|
53700
|
+
enqueue(function_, resolve7, reject, arguments_);
|
|
53701
|
+
});
|
|
53702
|
+
Object.defineProperties(generator, {
|
|
53703
|
+
activeCount: {
|
|
53704
|
+
get: () => activeCount
|
|
53705
|
+
},
|
|
53706
|
+
pendingCount: {
|
|
53707
|
+
get: () => queue.size
|
|
53708
|
+
},
|
|
53709
|
+
clearQueue: {
|
|
53710
|
+
value() {
|
|
53711
|
+
if (!rejectOnClear) {
|
|
53712
|
+
queue.clear();
|
|
53713
|
+
return;
|
|
53714
|
+
}
|
|
53715
|
+
const abortError = AbortSignal.abort().reason;
|
|
53716
|
+
while (queue.size > 0) {
|
|
53717
|
+
queue.dequeue().reject(abortError);
|
|
53718
|
+
}
|
|
53719
|
+
}
|
|
53720
|
+
},
|
|
53721
|
+
concurrency: {
|
|
53722
|
+
get: () => concurrency,
|
|
53723
|
+
set(newConcurrency) {
|
|
53724
|
+
validateConcurrency(newConcurrency);
|
|
53725
|
+
concurrency = newConcurrency;
|
|
53726
|
+
queueMicrotask(() => {
|
|
53727
|
+
while (activeCount < concurrency && queue.size > 0) {
|
|
53728
|
+
resumeNext();
|
|
53729
|
+
}
|
|
53730
|
+
});
|
|
53731
|
+
}
|
|
53732
|
+
},
|
|
53733
|
+
map: {
|
|
53734
|
+
async value(iterable, function_) {
|
|
53735
|
+
const promises = Array.from(iterable, (value, index) => generator(function_, value, index));
|
|
53736
|
+
return Promise.all(promises);
|
|
53737
|
+
}
|
|
53738
|
+
}
|
|
53739
|
+
});
|
|
53740
|
+
return generator;
|
|
53741
|
+
}
|
|
53742
|
+
function validateConcurrency(concurrency) {
|
|
53743
|
+
if (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {
|
|
53744
|
+
throw new TypeError("Expected `concurrency` to be a number from 1 and up");
|
|
53745
|
+
}
|
|
53746
|
+
}
|
|
53591
53747
|
var MAX_GIT_COMMAND_CONCURRENCY = 4;
|
|
53592
53748
|
var MAX_FILE_IO_CONCURRENCY = 8;
|
|
53593
53749
|
var MAX_WORKING_TREE_DIFF_BYTES = 10 * 1024 * 1024;
|
|
53594
53750
|
var MAX_WORKING_TREE_FILES = 1e3;
|
|
53595
53751
|
var MAX_UNTRACKED_DIFF_BYTES = 5 * 1024 * 1024;
|
|
53596
|
-
function createConcurrencyLimiter(maxConcurrency) {
|
|
53597
|
-
let activeOperations = 0;
|
|
53598
|
-
const pendingOperations = [];
|
|
53599
|
-
const startNext = () => {
|
|
53600
|
-
while (activeOperations < maxConcurrency) {
|
|
53601
|
-
const startOperation = pendingOperations.shift();
|
|
53602
|
-
if (startOperation === void 0) {
|
|
53603
|
-
return;
|
|
53604
|
-
}
|
|
53605
|
-
startOperation();
|
|
53606
|
-
}
|
|
53607
|
-
};
|
|
53608
|
-
return (operation) => new Promise((resolvePromise, rejectPromise) => {
|
|
53609
|
-
pendingOperations.push(() => {
|
|
53610
|
-
activeOperations += 1;
|
|
53611
|
-
void Promise.resolve().then(operation).then(resolvePromise, rejectPromise).finally(() => {
|
|
53612
|
-
activeOperations -= 1;
|
|
53613
|
-
startNext();
|
|
53614
|
-
});
|
|
53615
|
-
});
|
|
53616
|
-
startNext();
|
|
53617
|
-
});
|
|
53618
|
-
}
|
|
53619
53752
|
async function mapWithConcurrency(items, maxConcurrency, mapper) {
|
|
53620
53753
|
const results = new Array(items.length);
|
|
53621
53754
|
let nextIndex = 0;
|
|
@@ -54077,7 +54210,7 @@ async function readGitWorkingTreeStatus(projectRoot, gitCommandExecutor = execut
|
|
|
54077
54210
|
}
|
|
54078
54211
|
const resolvedProjectRoot = await realpath(projectRoot);
|
|
54079
54212
|
const budget = new WorkingTreeReadBudget();
|
|
54080
|
-
const limitGitCommand =
|
|
54213
|
+
const limitGitCommand = pLimit(MAX_GIT_COMMAND_CONCURRENCY);
|
|
54081
54214
|
const limitedGitCommandExecutor = (repositoryRoot, arguments_) => limitGitCommand(() => gitCommandExecutor(repositoryRoot, arguments_));
|
|
54082
54215
|
let status2;
|
|
54083
54216
|
let repositoryBranches = {
|
|
@@ -54175,11 +54308,11 @@ var GitCommandError = class extends Error {
|
|
|
54175
54308
|
function literalPath(path) {
|
|
54176
54309
|
return `:(literal)${path}`;
|
|
54177
54310
|
}
|
|
54178
|
-
async function executeGit2(repositoryRoot, arguments_, input = "") {
|
|
54311
|
+
async function executeGit2(repositoryRoot, arguments_, input = "", environment = {}) {
|
|
54179
54312
|
return new Promise((resolve7, reject) => {
|
|
54180
54313
|
const consumesInput = input !== "";
|
|
54181
54314
|
const child = spawn("git", ["-C", repositoryRoot, ...arguments_], {
|
|
54182
|
-
env: { ...createGitEnvironment(), GIT_TERMINAL_PROMPT: "0" },
|
|
54315
|
+
env: { ...createGitEnvironment(), ...environment, GIT_TERMINAL_PROMPT: "0" },
|
|
54183
54316
|
shell: false,
|
|
54184
54317
|
// 无输入命令不创建 stdin pipe,避免短命令退出后写端异步触发 EPIPE。
|
|
54185
54318
|
stdio: [consumesInput ? "pipe" : "ignore", "pipe", "pipe"],
|
|
@@ -54276,30 +54409,56 @@ async function commitSelectedProjectChanges(projectRoot, request) {
|
|
|
54276
54409
|
}
|
|
54277
54410
|
const selectedPaths = request.paths.map(literalPath);
|
|
54278
54411
|
const stagedPaths = new Set(status2.staged.map((change) => change.path));
|
|
54279
|
-
const
|
|
54280
|
-
|
|
54281
|
-
|
|
54282
|
-
|
|
54283
|
-
|
|
54284
|
-
|
|
54285
|
-
|
|
54286
|
-
|
|
54287
|
-
|
|
54412
|
+
const selectedStagedPaths = request.paths.filter((path) => stagedPaths.has(path));
|
|
54413
|
+
const selectedUnstagedPaths = request.paths.filter((path) => !stagedPaths.has(path));
|
|
54414
|
+
const temporaryIndexRoot = await mkdtemp(join(tmpdir(), "codexly-git-index-"));
|
|
54415
|
+
const temporaryIndexEnvironment = {
|
|
54416
|
+
GIT_INDEX_FILE: join(temporaryIndexRoot, "index")
|
|
54417
|
+
};
|
|
54418
|
+
try {
|
|
54419
|
+
await executeGit2(repositoryRoot, ["read-tree", "HEAD"], "", temporaryIndexEnvironment);
|
|
54420
|
+
if (selectedStagedPaths.length > 0) {
|
|
54421
|
+
const stagedEntries = await executeGit2(repositoryRoot, [
|
|
54422
|
+
"ls-files",
|
|
54423
|
+
"--stage",
|
|
54424
|
+
"-z",
|
|
54425
|
+
"--",
|
|
54426
|
+
...selectedStagedPaths.map(literalPath)
|
|
54427
|
+
]);
|
|
54428
|
+
await executeGit2(
|
|
54429
|
+
repositoryRoot,
|
|
54430
|
+
["update-index", "--force-remove", "--", ...selectedStagedPaths],
|
|
54431
|
+
"",
|
|
54432
|
+
temporaryIndexEnvironment
|
|
54433
|
+
);
|
|
54434
|
+
if (stagedEntries.stdout.length > 0) {
|
|
54435
|
+
await executeGit2(
|
|
54436
|
+
repositoryRoot,
|
|
54437
|
+
["update-index", "-z", "--index-info"],
|
|
54438
|
+
stagedEntries.stdout,
|
|
54439
|
+
temporaryIndexEnvironment
|
|
54288
54440
|
);
|
|
54289
54441
|
}
|
|
54290
|
-
|
|
54291
|
-
|
|
54292
|
-
|
|
54442
|
+
}
|
|
54443
|
+
if (selectedUnstagedPaths.length > 0) {
|
|
54444
|
+
await executeGit2(
|
|
54445
|
+
repositoryRoot,
|
|
54446
|
+
["add", "--", ...selectedUnstagedPaths.map(literalPath)],
|
|
54447
|
+
"",
|
|
54448
|
+
temporaryIndexEnvironment
|
|
54449
|
+
);
|
|
54450
|
+
}
|
|
54293
54451
|
await executeGit2(
|
|
54294
54452
|
repositoryRoot,
|
|
54295
|
-
["commit", "--
|
|
54296
|
-
request.message
|
|
54453
|
+
["commit", "--file=-"],
|
|
54454
|
+
request.message,
|
|
54455
|
+
temporaryIndexEnvironment
|
|
54297
54456
|
);
|
|
54457
|
+
await executeGit2(repositoryRoot, ["reset", "--quiet", "HEAD", "--", ...selectedPaths]);
|
|
54298
54458
|
} catch (error) {
|
|
54299
|
-
if (untrackedPaths.length > 0) {
|
|
54300
|
-
await executeGit2(repositoryRoot, ["reset", "--", ...untrackedPaths]).catch(() => void 0);
|
|
54301
|
-
}
|
|
54302
54459
|
throw new GitCommitError("GIT_COMMIT_FAILED", originalErrorMessage(error, "Git commit failed"));
|
|
54460
|
+
} finally {
|
|
54461
|
+
await rm(temporaryIndexRoot, { force: true, recursive: true }).catch(() => void 0);
|
|
54303
54462
|
}
|
|
54304
54463
|
const commitSha = (await executeGit2(repositoryRoot, ["rev-parse", "HEAD"])).stdout.trim();
|
|
54305
54464
|
let pushStatus = "not_requested";
|
|
@@ -55156,6 +55315,13 @@ function toMcpProviderHttpError(error) {
|
|
|
55156
55315
|
return new MutationHttpError("PROVIDER_ERROR", message, 502, true);
|
|
55157
55316
|
}
|
|
55158
55317
|
var import_fastify = __toESM(require_fastify(), 1);
|
|
55318
|
+
|
|
55319
|
+
// node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/esm/wrapper.js
|
|
55320
|
+
var import__ = __toESM(require_safe_stable_stringify(), 1);
|
|
55321
|
+
import__.default.configure;
|
|
55322
|
+
var wrapper_default = import__.default;
|
|
55323
|
+
|
|
55324
|
+
// packages/server/src/server-runtime.ts
|
|
55159
55325
|
var MULTIPART_ENVELOPE_BYTES = 64 * 1024;
|
|
55160
55326
|
function maximumAttachmentBytes(kind) {
|
|
55161
55327
|
if (kind === "image") {
|
|
@@ -55300,19 +55466,12 @@ var CodexlyLogController = class extends import_fastify.LogController {
|
|
|
55300
55466
|
}
|
|
55301
55467
|
}
|
|
55302
55468
|
};
|
|
55303
|
-
function normalizeJsonForFingerprint(value) {
|
|
55304
|
-
if (Array.isArray(value)) {
|
|
55305
|
-
return value.map(normalizeJsonForFingerprint);
|
|
55306
|
-
}
|
|
55307
|
-
if (typeof value !== "object" || value === null) {
|
|
55308
|
-
return value;
|
|
55309
|
-
}
|
|
55310
|
-
return Object.fromEntries(
|
|
55311
|
-
Object.entries(value).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0).map(([key, item]) => [key, normalizeJsonForFingerprint(item)])
|
|
55312
|
-
);
|
|
55313
|
-
}
|
|
55314
55469
|
function fingerprintPayload(payload) {
|
|
55315
|
-
|
|
55470
|
+
const fingerprint = wrapper_default(payload);
|
|
55471
|
+
if (fingerprint === void 0) {
|
|
55472
|
+
throw new TypeError("Payload must be JSON-serializable");
|
|
55473
|
+
}
|
|
55474
|
+
return fingerprint;
|
|
55316
55475
|
}
|
|
55317
55476
|
function toPendingRequestHttpError(error) {
|
|
55318
55477
|
switch (error.code) {
|
|
@@ -58378,9 +58537,119 @@ var registerProviderConnectionRoutes = (app, context, done) => {
|
|
|
58378
58537
|
done();
|
|
58379
58538
|
};
|
|
58380
58539
|
|
|
58540
|
+
// packages/server/src/bing-wallpaper.ts
|
|
58541
|
+
var BING_ORIGIN = "https://www.bing.com";
|
|
58542
|
+
var BING_METADATA_URL = `${BING_ORIGIN}/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN`;
|
|
58543
|
+
var FETCH_TIMEOUT_MS = 1e4;
|
|
58544
|
+
var MAX_METADATA_BYTES = 64 * 1024;
|
|
58545
|
+
var MAX_WALLPAPER_BYTES = 20 * 1024 * 1024;
|
|
58546
|
+
function fetchWithGlobal(input, init) {
|
|
58547
|
+
return globalThis.fetch(input, init);
|
|
58548
|
+
}
|
|
58549
|
+
async function readBoundedBody(response, maximumBytes, label) {
|
|
58550
|
+
if (!response.ok || response.body === null) {
|
|
58551
|
+
throw new Error(`Bing wallpaper ${label} request failed`);
|
|
58552
|
+
}
|
|
58553
|
+
const declaredLength = Number(response.headers.get("content-length"));
|
|
58554
|
+
if (Number.isFinite(declaredLength) && declaredLength > maximumBytes) {
|
|
58555
|
+
throw new Error(`Bing wallpaper ${label} response is too large`);
|
|
58556
|
+
}
|
|
58557
|
+
const chunks = [];
|
|
58558
|
+
let totalBytes = 0;
|
|
58559
|
+
const reader = response.body.getReader();
|
|
58560
|
+
let result = await reader.read();
|
|
58561
|
+
while (!result.done) {
|
|
58562
|
+
const chunk = result.value;
|
|
58563
|
+
totalBytes += chunk.byteLength;
|
|
58564
|
+
if (totalBytes > maximumBytes) {
|
|
58565
|
+
await reader.cancel();
|
|
58566
|
+
throw new Error(`Bing wallpaper ${label} response is too large`);
|
|
58567
|
+
}
|
|
58568
|
+
chunks.push(Buffer.from(chunk));
|
|
58569
|
+
result = await reader.read();
|
|
58570
|
+
}
|
|
58571
|
+
return Buffer.concat(chunks, totalBytes);
|
|
58572
|
+
}
|
|
58573
|
+
function readImageUrl(metadata) {
|
|
58574
|
+
let value;
|
|
58575
|
+
try {
|
|
58576
|
+
value = JSON.parse(metadata.toString("utf8"));
|
|
58577
|
+
} catch {
|
|
58578
|
+
throw new Error("Bing wallpaper returned invalid metadata");
|
|
58579
|
+
}
|
|
58580
|
+
const images = isRecord(value) ? value["images"] : null;
|
|
58581
|
+
const image = Array.isArray(images) ? images[0] : null;
|
|
58582
|
+
const path = isRecord(image) ? image["url"] : null;
|
|
58583
|
+
if (typeof path !== "string" || !path.startsWith("/")) {
|
|
58584
|
+
throw new Error("Bing wallpaper returned an invalid image URL");
|
|
58585
|
+
}
|
|
58586
|
+
const url = new URL(path, BING_ORIGIN);
|
|
58587
|
+
if (url.origin !== BING_ORIGIN || url.pathname !== "/th") {
|
|
58588
|
+
throw new Error("Bing wallpaper returned an invalid image URL");
|
|
58589
|
+
}
|
|
58590
|
+
return url.toString();
|
|
58591
|
+
}
|
|
58592
|
+
function isRecord(value) {
|
|
58593
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
58594
|
+
}
|
|
58595
|
+
async function loadWallpaper(fetcher) {
|
|
58596
|
+
const metadataResponse = await fetcher(BING_METADATA_URL, {
|
|
58597
|
+
redirect: "error",
|
|
58598
|
+
signal: AbortSignal.timeout(FETCH_TIMEOUT_MS)
|
|
58599
|
+
});
|
|
58600
|
+
if (!metadataResponse.headers.get("content-type")?.startsWith("application/json")) {
|
|
58601
|
+
throw new Error("Bing wallpaper returned invalid metadata content type");
|
|
58602
|
+
}
|
|
58603
|
+
const metadata = await readBoundedBody(metadataResponse, MAX_METADATA_BYTES, "metadata");
|
|
58604
|
+
const imageUrl = readImageUrl(metadata);
|
|
58605
|
+
const imageResponse = await fetcher(imageUrl, {
|
|
58606
|
+
redirect: "error",
|
|
58607
|
+
signal: AbortSignal.timeout(FETCH_TIMEOUT_MS)
|
|
58608
|
+
});
|
|
58609
|
+
if (!imageResponse.headers.get("content-type")?.startsWith("image/jpeg")) {
|
|
58610
|
+
throw new Error("Bing wallpaper returned invalid image content type");
|
|
58611
|
+
}
|
|
58612
|
+
const body = await readBoundedBody(imageResponse, MAX_WALLPAPER_BYTES, "image");
|
|
58613
|
+
if (body.length < 4 || body[0] !== 255 || body[1] !== 216 || body[2] !== 255) {
|
|
58614
|
+
throw new Error("Bing wallpaper returned invalid JPEG content");
|
|
58615
|
+
}
|
|
58616
|
+
return { body, contentType: "image/jpeg" };
|
|
58617
|
+
}
|
|
58618
|
+
function createBingWallpaperService({
|
|
58619
|
+
fetcher = fetchWithGlobal
|
|
58620
|
+
} = {}) {
|
|
58621
|
+
let cached = null;
|
|
58622
|
+
let pending = null;
|
|
58623
|
+
let loadGeneration = 0;
|
|
58624
|
+
return {
|
|
58625
|
+
read(day) {
|
|
58626
|
+
if (cached?.day === day) return Promise.resolve(cached.wallpaper);
|
|
58627
|
+
if (pending?.day === day) return pending.promise;
|
|
58628
|
+
const generation = ++loadGeneration;
|
|
58629
|
+
const promise = loadWallpaper(fetcher).then((wallpaper) => {
|
|
58630
|
+
if (generation === loadGeneration) cached = { day, wallpaper };
|
|
58631
|
+
return wallpaper;
|
|
58632
|
+
});
|
|
58633
|
+
pending = { day, promise };
|
|
58634
|
+
const clearPending = () => {
|
|
58635
|
+
if (pending?.promise === promise) pending = null;
|
|
58636
|
+
};
|
|
58637
|
+
void promise.then(clearPending, clearPending);
|
|
58638
|
+
return promise;
|
|
58639
|
+
}
|
|
58640
|
+
};
|
|
58641
|
+
}
|
|
58642
|
+
|
|
58381
58643
|
// packages/server/src/routes/runtime-routes.ts
|
|
58382
58644
|
var APP_UPDATE_HANDLER_TIMEOUT_MS = 15e4;
|
|
58645
|
+
var BingWallpaperQuerySchema = {
|
|
58646
|
+
additionalProperties: false,
|
|
58647
|
+
properties: { day: { pattern: "^\\d{4}-\\d{2}-\\d{2}$", type: "string" } },
|
|
58648
|
+
required: ["day"],
|
|
58649
|
+
type: "object"
|
|
58650
|
+
};
|
|
58383
58651
|
var registerRuntimeRoutes = (app, context, done) => {
|
|
58652
|
+
const bingWallpaper = createBingWallpaperService();
|
|
58384
58653
|
const {
|
|
58385
58654
|
assertValidProjectDefaults: assertValidProjectDefaults2,
|
|
58386
58655
|
capabilities,
|
|
@@ -58402,6 +58671,14 @@ var registerRuntimeRoutes = (app, context, done) => {
|
|
|
58402
58671
|
{ schema: { response: { 200: AppInfoResponseSchema } } },
|
|
58403
58672
|
() => readAppInfo()
|
|
58404
58673
|
);
|
|
58674
|
+
app.get(
|
|
58675
|
+
"/v1/workbench-background/bing",
|
|
58676
|
+
{ schema: { querystring: BingWallpaperQuerySchema } },
|
|
58677
|
+
async (request, reply) => {
|
|
58678
|
+
const wallpaper = await bingWallpaper.read(request.query.day);
|
|
58679
|
+
return reply.type(wallpaper.contentType).send(wallpaper.body);
|
|
58680
|
+
}
|
|
58681
|
+
);
|
|
58405
58682
|
app.post(
|
|
58406
58683
|
"/v1/app-update",
|
|
58407
58684
|
{
|
|
@@ -58893,6 +59170,80 @@ function registerTaskAttachmentRoutes(app, { attachmentStore, getProjectContext,
|
|
|
58893
59170
|
);
|
|
58894
59171
|
}
|
|
58895
59172
|
|
|
59173
|
+
// packages/server/src/routes/task-goal-routes.ts
|
|
59174
|
+
function registerTaskGoalRoutes(app, context) {
|
|
59175
|
+
const { getProjectContext, runIdempotent } = context;
|
|
59176
|
+
app.put(
|
|
59177
|
+
"/v1/projects/:projectId/tasks/:taskId/goal",
|
|
59178
|
+
{
|
|
59179
|
+
schema: {
|
|
59180
|
+
body: UpdateAgentGoalRequestSchema,
|
|
59181
|
+
headers: IdempotencyHeadersSchema,
|
|
59182
|
+
params: ProjectTaskParamsSchema,
|
|
59183
|
+
response: {
|
|
59184
|
+
200: UpdateAgentGoalResponseSchema,
|
|
59185
|
+
400: AgentMutationErrorSchema,
|
|
59186
|
+
404: AgentMutationErrorSchema,
|
|
59187
|
+
502: AgentMutationErrorSchema,
|
|
59188
|
+
503: AgentMutationErrorSchema
|
|
59189
|
+
}
|
|
59190
|
+
}
|
|
59191
|
+
},
|
|
59192
|
+
async (request) => runIdempotent(
|
|
59193
|
+
["update-goal", request.params.projectId, request.params.taskId],
|
|
59194
|
+
request.headers["idempotency-key"],
|
|
59195
|
+
request.body,
|
|
59196
|
+
async () => {
|
|
59197
|
+
const projectContext = await getProjectContext(request.params.projectId);
|
|
59198
|
+
if (projectContext === void 0) {
|
|
59199
|
+
throw new MutationHttpError("PROJECT_NOT_FOUND", "Project not found", 404);
|
|
59200
|
+
}
|
|
59201
|
+
const task = await projectContext.provider.readTask(request.params.taskId);
|
|
59202
|
+
if (task?.projectId !== projectContext.scope.id) {
|
|
59203
|
+
throw new MutationHttpError("TASK_NOT_FOUND", "Task not found", 404);
|
|
59204
|
+
}
|
|
59205
|
+
return {
|
|
59206
|
+
goal: await projectContext.provider.updateGoal(request.params.taskId, request.body)
|
|
59207
|
+
};
|
|
59208
|
+
}
|
|
59209
|
+
)
|
|
59210
|
+
);
|
|
59211
|
+
app.delete(
|
|
59212
|
+
"/v1/projects/:projectId/tasks/:taskId/goal",
|
|
59213
|
+
{
|
|
59214
|
+
schema: {
|
|
59215
|
+
body: { additionalProperties: false, properties: {}, type: "object" },
|
|
59216
|
+
headers: IdempotencyHeadersSchema,
|
|
59217
|
+
params: ProjectTaskParamsSchema,
|
|
59218
|
+
response: {
|
|
59219
|
+
200: ClearAgentGoalResponseSchema,
|
|
59220
|
+
400: AgentMutationErrorSchema,
|
|
59221
|
+
404: AgentMutationErrorSchema,
|
|
59222
|
+
502: AgentMutationErrorSchema,
|
|
59223
|
+
503: AgentMutationErrorSchema
|
|
59224
|
+
}
|
|
59225
|
+
}
|
|
59226
|
+
},
|
|
59227
|
+
async (request) => runIdempotent(
|
|
59228
|
+
["clear-goal", request.params.projectId, request.params.taskId],
|
|
59229
|
+
request.headers["idempotency-key"],
|
|
59230
|
+
request.body,
|
|
59231
|
+
async () => {
|
|
59232
|
+
const projectContext = await getProjectContext(request.params.projectId);
|
|
59233
|
+
if (projectContext === void 0) {
|
|
59234
|
+
throw new MutationHttpError("PROJECT_NOT_FOUND", "Project not found", 404);
|
|
59235
|
+
}
|
|
59236
|
+
const task = await projectContext.provider.readTask(request.params.taskId);
|
|
59237
|
+
if (task?.projectId !== projectContext.scope.id) {
|
|
59238
|
+
throw new MutationHttpError("TASK_NOT_FOUND", "Task not found", 404);
|
|
59239
|
+
}
|
|
59240
|
+
await projectContext.provider.clearGoal(request.params.taskId);
|
|
59241
|
+
return { cleared: true };
|
|
59242
|
+
}
|
|
59243
|
+
)
|
|
59244
|
+
);
|
|
59245
|
+
}
|
|
59246
|
+
|
|
58896
59247
|
// packages/server/src/routes/task-routes.ts
|
|
58897
59248
|
var registerTaskRoutes = (app, context, done) => {
|
|
58898
59249
|
const { getProjectContext, readEffectiveTaskSettings, runIdempotent, taskFromSnapshot: taskFromSnapshot2 } = context;
|
|
@@ -59226,6 +59577,7 @@ var registerTaskRoutes = (app, context, done) => {
|
|
|
59226
59577
|
);
|
|
59227
59578
|
registerTaskActionRoutes(app, context);
|
|
59228
59579
|
registerTaskAttachmentRoutes(app, context);
|
|
59580
|
+
registerTaskGoalRoutes(app, context);
|
|
59229
59581
|
done();
|
|
59230
59582
|
};
|
|
59231
59583
|
|