decocms 2.306.12 → 2.306.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-Ot2CLMxw.js → AlertCircle-UghQPlAa.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-CA2U4-LB.js → ArrowNarrowLeft-1BfkUm85.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-D_v7OVFz.js → ArrowUpRight-1rqShrTM.js} +1 -1
- package/dist/client/assets/{Check-B7lQX-U6.js → Check-DBWnyOFJ.js} +1 -1
- package/dist/client/assets/{CheckCircle-DQVTFDuD.js → CheckCircle-CBMgXE-F.js} +1 -1
- package/dist/client/assets/{ChevronDown-BHHmj_90.js → ChevronDown-D452dgSU.js} +1 -1
- package/dist/client/assets/{ChevronRight-CMwA4MWg.js → ChevronRight-DoY3rcf9.js} +1 -1
- package/dist/client/assets/{ChevronUp-DZMg9j3Z.js → ChevronUp-BlZFoG59.js} +1 -1
- package/dist/client/assets/{Container-BPn2KqkB.js → Container-BQVUd9tN.js} +1 -1
- package/dist/client/assets/{DotsVertical-C0-av-w_.js → DotsVertical-CAgAGLKz.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Cr974KZi.js → LinkExternal01-CGcDVdEi.js} +1 -1
- package/dist/client/assets/{Lock01-chX0YN7M.js → Lock01-FiMk9Cv6.js} +1 -1
- package/dist/client/assets/{Palette-Cmsuc3m0.js → Palette-DXyBGBQu.js} +1 -1
- package/dist/client/assets/{Play-C_yrNjMw.js → Play-CDjH79to.js} +1 -1
- package/dist/client/assets/{Plus-BHVhclrE.js → Plus-FC_C8qkl.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-Yl__XBgH.js → RefreshCcw01-Cd8Km121.js} +1 -1
- package/dist/client/assets/{SearchMd-BJVwn_ke.js → SearchMd-B780aQOS.js} +1 -1
- package/dist/client/assets/{Settings02-BCqAnzCC.js → Settings02--XuHa5eI.js} +1 -1
- package/dist/client/assets/{Shield01-BzDWvNLz.js → Shield01-Bg1T1EGa.js} +1 -1
- package/dist/client/assets/{Star01-t5c8OzJ1.js → Star01-DRidtrYn.js} +1 -1
- package/dist/client/assets/{Sun-fUlV2CSc.js → Sun-Bpli4t2N.js} +1 -1
- package/dist/client/assets/{Tool01-DHF_L3KH.js → Tool01-NWIcFn9q.js} +1 -1
- package/dist/client/assets/{Trash01-12UJulVC.js → Trash01-4w6_aW9X.js} +1 -1
- package/dist/client/assets/{User01-BjX-G1vE.js → User01-CxpWRrdM.js} +1 -1
- package/dist/client/assets/{Users03-CZn6wNJ2.js → Users03-CK1Aa1HI.js} +1 -1
- package/dist/client/assets/{X-DRGbU-sk.js → X-BGh8G2l7.js} +1 -1
- package/dist/client/assets/{XCircle-DH7bOaGY.js → XCircle-CYGTZyzW.js} +1 -1
- package/dist/client/assets/{XClose-CdyVyCLn.js → XClose-Dz5yGfpm.js} +1 -1
- package/dist/client/assets/{Zap-DVRtpQ6o.js → Zap-Druw6RpX.js} +1 -1
- package/dist/client/assets/{ZapSquare-CU44MpAH.js → ZapSquare-BLhBRchY.js} +1 -1
- package/dist/client/assets/{accordion-o4uEL-I1.js → accordion-DdQd4o33.js} +1 -1
- package/dist/client/assets/{agent-icon-C1jmOFVg.js → agent-icon-CznXZlOI.js} +1 -1
- package/dist/client/assets/{agents-list-ksM75Z6l.js → agents-list-CaQhK_9Q.js} +1 -1
- package/dist/client/assets/ai-providers-C_QaV2LV.js +1 -0
- package/dist/client/assets/{alert-dialog-DKLXK-1u.js → alert-dialog-BiN56dOX.js} +1 -1
- package/dist/client/assets/{auth-catchall-GUJWINn8.js → auth-catchall-6Av77aQi.js} +1 -1
- package/dist/client/assets/{automation-list-row-CKsxLzIm.js → automation-list-row-DdlSuO-v.js} +1 -1
- package/dist/client/assets/{automations-CMxgpl5P.js → automations-BMuo3AXx.js} +1 -1
- package/dist/client/assets/{avatar-BHCqEDVT.js → avatar-Z1wN1pq-.js} +1 -1
- package/dist/client/assets/{badge-CkKVCYBi.js → badge-CTmf2TW8.js} +1 -1
- package/dist/client/assets/{brand-context-BlmY1E4z.js → brand-context-CUDRGuTh.js} +1 -1
- package/dist/client/assets/{card-BPF7ycIj.js → card-Bd8klEwI.js} +1 -1
- package/dist/client/assets/{chat-context-cuD-y97U.js → chat-context-DGU47jw7.js} +1 -1
- package/dist/client/assets/{checkbox-nNLHENdc.js → checkbox-B3EwrxkO.js} +1 -1
- package/dist/client/assets/{collection-detail-RicC_Sa1.js → collection-detail-Cgmw3RVY.js} +1 -1
- package/dist/client/assets/{collection-display-button-DluRs55o.js → collection-display-button-DMmbKfya.js} +1 -1
- package/dist/client/assets/{collection-search-c41oWBJf.js → collection-search-D-x3SJ1z.js} +1 -1
- package/dist/client/assets/{collection-search-fbQaa98h.js → collection-search-Do2r8Bif.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-D5c_AqvG.js → collection-table-wrapper-CtvRahI-.js} +1 -1
- package/dist/client/assets/{collection-tabs-DqCBG7jb.js → collection-tabs-BKqleLTU.js} +1 -1
- package/dist/client/assets/{collections-DdU4I50l.js → collections-67ZnQ_LS.js} +1 -1
- package/dist/client/assets/{command-DbmRiBqo.js → command-BAMG06m5.js} +1 -1
- package/dist/client/assets/{connection-card-QcsFV35H.js → connection-card-DQm8aezN.js} +1 -1
- package/dist/client/assets/{connection-detail-CU37TDrz.js → connection-detail-BhxCMY6j.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-Ub-yYKls.js → connection-form-helpers--6zqXj9i.js} +1 -1
- package/dist/client/assets/{connections-Cx1j-a9X.js → connections-C0gQbHBs.js} +1 -1
- package/dist/client/assets/{constants-xZGcpYKv.js → constants-BDk5hb7z.js} +1 -1
- package/dist/client/assets/{constants-ggwtj_b2.js → constants-DXQgV2hu.js} +1 -1
- package/dist/client/assets/{dialog-CNOF2ZMK.js → dialog-DUgfuVrb.js} +1 -1
- package/dist/client/assets/{domain-settings-sx9KWI1e.js → domain-settings-DpONcUPd.js} +1 -1
- package/dist/client/assets/{drawer-Df34zS04.js → drawer-DeyjQQc7.js} +1 -1
- package/dist/client/assets/{dropdown-menu-C3kAm_Er.js → dropdown-menu-Cbx_bdO_.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-C8WyvfVv.js → dynamic-plugin-layout-D7HG8B_t.js} +1 -1
- package/dist/client/assets/{empty-state-DyTFpS0l.js → empty-state-BIAZXmQO.js} +1 -1
- package/dist/client/assets/{empty-state-Dw_gVxIS.js → empty-state-BnjbbhBR.js} +1 -1
- package/dist/client/assets/{extract-connection-data-C7nRmph4.js → extract-connection-data-Dgw7Sgd3.js} +1 -1
- package/dist/client/assets/{features-CbtmnrZ6.js → features-De6GvAAs.js} +1 -1
- package/dist/client/assets/{form-B11RrkrM.js → form-O0xus6j8.js} +1 -1
- package/dist/client/assets/{general-DSgFWSrp.js → general-tEcdYerZ.js} +1 -1
- package/dist/client/assets/index-BZ6nkz4a.js +1 -0
- package/dist/client/assets/{index-BB5P8isj.js → index-CG3ceZHc.js} +1 -1
- package/dist/client/assets/{index-CDVvjofj.js → index-CZLTTN-z.js} +1 -1
- package/dist/client/assets/{index-BsrxFreR.js → index-CdFJkiAN.js} +1 -1
- package/dist/client/assets/{index-3PRXeBfP.js → index-CqFBXkjQ.js} +1 -1
- package/dist/client/assets/{index-BM8jECEp.js → index-CuVn0uMY.js} +1 -1
- package/dist/client/assets/{index-Cy0GY2u3.js → index-DJiWK6lj.js} +1 -1
- package/dist/client/assets/{index-CnlV8NnU.js → index-DPM8__xA.js} +1 -1
- package/dist/client/assets/{index-C3ldIVUr.js → index-DV-VioVg.js} +1 -1
- package/dist/client/assets/{index-DANPLo87.js → index-DZjKh5eS.js} +3 -3
- package/dist/client/assets/{index-BkiajC9R.js → index-Dcg8Qevd.js} +2 -2
- package/dist/client/assets/{index-BJIwjxxl.js → index-DdsW868M.js} +1 -1
- package/dist/client/assets/{index-Bq9Gbm0H.js → index-DtUGvIts.js} +1 -1
- package/dist/client/assets/{index-DFlPdciX.js → index-EV8zcDnc.js} +1 -1
- package/dist/client/assets/{index-SKWAKGeB.js → index-XGdWuQyL.js} +1 -1
- package/dist/client/assets/{index-BFicVTdP.js → index-i68m5nvc.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DapJgjCy.js → infiniteQueryObserver-D9yYekai.js} +1 -1
- package/dist/client/assets/{input-jGTjkEgf.js → input-Cvo2jJQf.js} +1 -1
- package/dist/client/assets/{integration-icon-BvsSfF2G.js → integration-icon-DTJ2wb4X.js} +1 -1
- package/dist/client/assets/{label-BwHLLLjG.js → label-_jNQo8Ll.js} +1 -1
- package/dist/client/assets/{layout-yZTsEXBs.js → layout-DbwGS2qx.js} +1 -1
- package/dist/client/assets/{lean-canvas-recruit-modal-cCvcDvSF.js → lean-canvas-recruit-modal-tP8fRQib.js} +1 -1
- package/dist/client/assets/{login-46RSYdDj.js → login-DehPjhCM.js} +1 -1
- package/dist/client/assets/{members-D4Mf2IQe.js → members-BMPf1BpS.js} +1 -1
- package/dist/client/assets/{monaco-editor-ymd_jUTr.js → monaco-editor-BVARKKWN.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-D9yNQE2b.js → monitoring-stats-row-D7tWgW-Q.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DZRkgpAw.js → oauth-callback-ai-provider-DC-UED8v.js} +1 -1
- package/dist/client/assets/{oauth-callback-Dd82POES.js → oauth-callback-l4PY6t1A.js} +1 -1
- package/dist/client/assets/{onboarding-BIO4cqmI.js → onboarding-Bd6pQbk3.js} +1 -1
- package/dist/client/assets/{org-layout-CN2fB-vu.js → org-layout-COoj2PVG.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-CKCTv0lC.js → org-plugin-layout-DGnpwRtk.js} +1 -1
- package/dist/client/assets/{pair-CkdIVJLN.js → pair-_253DGSq.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-C2sVpvFW.js → plugin-empty-state-CakFVZ2i.js} +1 -1
- package/dist/client/assets/{plugin-header-DqxMpFAT.js → plugin-header-6TMFE3Ls.js} +1 -1
- package/dist/client/assets/{plugin-layout-sfjMan0F.js → plugin-layout-3m9okTPI.js} +1 -1
- package/dist/client/assets/{popover-Qhd5GKAf.js → popover-DNu8C4Ll.js} +1 -1
- package/dist/client/assets/{profile-CVXH0cog.js → profile-CLBWN3L8.js} +1 -1
- package/dist/client/assets/{project-app-view-Dr4s0FIv.js → project-app-view-5ZnU4fo7.js} +1 -1
- package/dist/client/assets/registry-D_jmaKr2.js +2 -0
- package/dist/client/assets/{registry-layout-xR6rLrDK.js → registry-layout-Hazgpecz.js} +1 -1
- package/dist/client/assets/{required-auth-layout-CwLXPn7_.js → required-auth-layout-Cg8CZTlk.js} +1 -1
- package/dist/client/assets/{reset-password-Mf0kA3DN.js → reset-password-CzwUFBho.js} +1 -1
- package/dist/client/assets/{roles-CHPJSwkL.js → roles-DUtgWupV.js} +1 -1
- package/dist/client/assets/{scroll-area-BEarfPUC.js → scroll-area-DGEAK3pH.js} +1 -1
- package/dist/client/assets/{search-input-BNv3WxnU.js → search-input-C50ImRzg.js} +1 -1
- package/dist/client/assets/{select-1F7nfWqc.js → select-DkBE5ypj.js} +1 -1
- package/dist/client/assets/{select-model-CG5HxXo0.js → select-model-B9xghDV8.js} +1 -1
- package/dist/client/assets/{settings-layout-DxEs_4Uz.js → settings-layout-u6gOtHmU.js} +1 -1
- package/dist/client/assets/{settings-section-DV5Tzhsa.js → settings-section-DeAx6MsQ.js} +1 -1
- package/dist/client/assets/{shell-layout-Bvmr4Ir9.js → shell-layout-xLg1cKrj.js} +1 -1
- package/dist/client/assets/{skeleton-Bx5y3Xmp.js → skeleton-BL7idETO.js} +1 -1
- package/dist/client/assets/{sso-2Feex-XD.js → sso-UHrPOY4-.js} +1 -1
- package/dist/client/assets/{store-Cipg9Lj9.js → store-CCrp-zDu.js} +1 -1
- package/dist/client/assets/store-registry-dlSCWL84.js +2 -0
- package/dist/client/assets/{switch-BMcphIES.js → switch-Ba2DX0J8.js} +1 -1
- package/dist/client/assets/{table-BpJjOmgy.js → table-Dpjp6sno.js} +1 -1
- package/dist/client/assets/{tabs-BlzUVMC9.js → tabs-CUXWIghp.js} +1 -1
- package/dist/client/assets/{task-status-BLDsdEd0.js → task-status-D6HaLDfU.js} +1 -1
- package/dist/client/assets/{textarea-s7PVXilr.js → textarea-e7WVG0Uq.js} +1 -1
- package/dist/client/assets/{toggle-group-Dj05trYJ.js → toggle-group-Bzjy8IQq.js} +1 -1
- package/dist/client/assets/{tools-list-CR_2tWrg.js → tools-list-ddVo-6Vs.js} +1 -1
- package/dist/client/assets/{tooltip-CZbLg-Hf.js → tooltip-sn7TXXXA.js} +1 -1
- package/dist/client/assets/{types-wbD5gTmt.js → types-ClFDwb3j.js} +1 -1
- package/dist/client/assets/{use-ai-providers-by3zafwF.js → use-ai-providers-D1ZzNZfi.js} +1 -1
- package/dist/client/assets/{use-collections-BIsV5dcA.js → use-collections-DDocavcC.js} +1 -1
- package/dist/client/assets/{use-connection-BLJ6BaWy.js → use-connection-wzOJDB7e.js} +1 -1
- package/dist/client/assets/{use-copy-ORR4yHnB.js → use-copy-D0VCYdzD.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BjiLekp8.js → use-create-virtual-mcp-BQ9UAVGc.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DmAET555.js → use-debounced-autosave-vxXjJ2-V.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-D1WuhDgD.js → use-decopilot-events-CQn9-0iO.js} +1 -1
- package/dist/client/assets/{use-delete-connection-DaROE5av.js → use-delete-connection-C1mV-M2x.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-jzFqUD4-.js → use-infinite-scroll-CyUixfAd.js} +1 -1
- package/dist/client/assets/{use-list-state-DhHkWiyj.js → use-list-state-BkqBgDIi.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-henGoqsi.js → use-mcp-tools-Cu2GPPjO.js} +1 -1
- package/dist/client/assets/{use-members-DBih95tA.js → use-members-Bw_9meIY.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CucJsCgb.js → use-navigate-to-agent-BvnJAyr6.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-B3WZtWV1.js → use-org-auth-client-uXh4lV5h.js} +1 -1
- package/dist/client/assets/{use-org-sso-guN7zSCH.js → use-org-sso-Co0XjU-j.js} +1 -1
- package/dist/client/assets/{use-organization-roles-BE030zs4.js → use-organization-roles-CXi0dKrO.js} +1 -1
- package/dist/client/assets/{use-organization-settings-ro4iJPpY.js → use-organization-settings-OER3kM7D.js} +1 -1
- package/dist/client/assets/{use-registry-connections-B-EpYSQR.js → use-registry-connections-LYUFCGgQ.js} +1 -1
- package/dist/client/assets/{use-status-sounds-0D0UbNhQ.js → use-status-sounds-CQVr-jwf.js} +1 -1
- package/dist/client/assets/{use-tasks-CCgL71pE.js → use-tasks-B8ZzLgVK.js} +1 -1
- package/dist/client/assets/{use-view-mode-Dq8SK5jL.js → use-view-mode-ti5AMLDX.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-DnJsvDcW.js → use-virtual-mcp-Cvy2Xx_N.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-eCacXMD5.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-Ck-t1SMi.js +1 -0
- package/dist/client/assets/{user-Cifqeo4n.js → user-Dst4Prvf.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-DgvGEUt1.js → view-mode-toggle-Ca3EQ8LL.js} +1 -1
- package/dist/client/assets/{workflow-oA9SWgD2.js → workflow-BUQXpyzH.js} +1 -1
- package/dist/client/assets/workflow-detail-DLo-hD09.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +7 -1
- package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
- package/dist/server/node_modules/ansi-styles/index.js +223 -0
- package/dist/server/node_modules/ansi-styles/license +9 -0
- package/dist/server/node_modules/ansi-styles/package.json +54 -0
- package/dist/server/node_modules/ansi-styles/readme.md +173 -0
- package/dist/server/node_modules/mimic-fn/index.d.ts +54 -0
- package/dist/server/node_modules/mimic-fn/index.js +13 -0
- package/dist/server/node_modules/mimic-fn/license +9 -0
- package/dist/server/node_modules/mimic-fn/package.json +42 -0
- package/dist/server/node_modules/mimic-fn/readme.md +69 -0
- package/dist/server/node_modules/onetime/index.d.ts +64 -0
- package/dist/server/node_modules/onetime/index.js +44 -0
- package/dist/server/node_modules/onetime/license +9 -0
- package/dist/server/node_modules/onetime/package.json +43 -0
- package/dist/server/node_modules/onetime/readme.md +94 -0
- package/dist/server/node_modules/pg-int8/LICENSE +13 -0
- package/dist/server/node_modules/pg-int8/README.md +16 -0
- package/dist/server/node_modules/pg-int8/index.js +100 -0
- package/dist/server/node_modules/pg-int8/package.json +24 -0
- package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
- package/dist/server/node_modules/postgres-array/index.js +97 -0
- package/dist/server/node_modules/postgres-array/license +21 -0
- package/dist/server/node_modules/postgres-array/package.json +35 -0
- package/dist/server/node_modules/postgres-array/readme.md +43 -0
- package/dist/server/node_modules/postgres-bytea/index.js +33 -0
- package/dist/server/node_modules/postgres-bytea/license +21 -0
- package/dist/server/node_modules/postgres-bytea/package.json +34 -0
- package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
- package/dist/server/node_modules/postgres-date/index.js +116 -0
- package/dist/server/node_modules/postgres-date/license +21 -0
- package/dist/server/node_modules/postgres-date/package.json +33 -0
- package/dist/server/node_modules/postgres-date/readme.md +49 -0
- package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
- package/dist/server/node_modules/postgres-interval/index.js +125 -0
- package/dist/server/node_modules/postgres-interval/license +21 -0
- package/dist/server/node_modules/postgres-interval/package.json +36 -0
- package/dist/server/node_modules/postgres-interval/readme.md +48 -0
- package/dist/server/node_modules/split2/LICENSE +13 -0
- package/dist/server/node_modules/split2/README.md +85 -0
- package/dist/server/node_modules/split2/bench.js +27 -0
- package/dist/server/node_modules/split2/index.js +141 -0
- package/dist/server/node_modules/split2/package.json +39 -0
- package/dist/server/node_modules/split2/test.js +409 -0
- package/dist/server/server.js +6 -0
- package/package.json +1 -1
- package/dist/client/assets/ai-providers-Crvwlm_n.js +0 -1
- package/dist/client/assets/index-CXY3EUsW.js +0 -1
- package/dist/client/assets/registry-C6e5KXgL.js +0 -2
- package/dist/client/assets/store-registry-aUgT6Hv2.js +0 -2
- package/dist/client/assets/useInfiniteQuery-BJJhbE0g.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Bjt0Pxxe.js +0 -1
- package/dist/client/assets/workflow-detail-DTRwxa9v.js +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2014-2021, Matteo Collina <hello@matteocollina.com>
|
|
3
|
+
|
|
4
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
6
|
+
copyright notice and this permission notice appear in all copies.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
9
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
10
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
11
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
12
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
13
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
14
|
+
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
'use strict'
|
|
18
|
+
|
|
19
|
+
const { Transform } = require('stream')
|
|
20
|
+
const { StringDecoder } = require('string_decoder')
|
|
21
|
+
const kLast = Symbol('last')
|
|
22
|
+
const kDecoder = Symbol('decoder')
|
|
23
|
+
|
|
24
|
+
function transform (chunk, enc, cb) {
|
|
25
|
+
let list
|
|
26
|
+
if (this.overflow) { // Line buffer is full. Skip to start of next line.
|
|
27
|
+
const buf = this[kDecoder].write(chunk)
|
|
28
|
+
list = buf.split(this.matcher)
|
|
29
|
+
|
|
30
|
+
if (list.length === 1) return cb() // Line ending not found. Discard entire chunk.
|
|
31
|
+
|
|
32
|
+
// Line ending found. Discard trailing fragment of previous line and reset overflow state.
|
|
33
|
+
list.shift()
|
|
34
|
+
this.overflow = false
|
|
35
|
+
} else {
|
|
36
|
+
this[kLast] += this[kDecoder].write(chunk)
|
|
37
|
+
list = this[kLast].split(this.matcher)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
this[kLast] = list.pop()
|
|
41
|
+
|
|
42
|
+
for (let i = 0; i < list.length; i++) {
|
|
43
|
+
try {
|
|
44
|
+
push(this, this.mapper(list[i]))
|
|
45
|
+
} catch (error) {
|
|
46
|
+
return cb(error)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
this.overflow = this[kLast].length > this.maxLength
|
|
51
|
+
if (this.overflow && !this.skipOverflow) {
|
|
52
|
+
cb(new Error('maximum buffer reached'))
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
cb()
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function flush (cb) {
|
|
60
|
+
// forward any gibberish left in there
|
|
61
|
+
this[kLast] += this[kDecoder].end()
|
|
62
|
+
|
|
63
|
+
if (this[kLast]) {
|
|
64
|
+
try {
|
|
65
|
+
push(this, this.mapper(this[kLast]))
|
|
66
|
+
} catch (error) {
|
|
67
|
+
return cb(error)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
cb()
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function push (self, val) {
|
|
75
|
+
if (val !== undefined) {
|
|
76
|
+
self.push(val)
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function noop (incoming) {
|
|
81
|
+
return incoming
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function split (matcher, mapper, options) {
|
|
85
|
+
// Set defaults for any arguments not supplied.
|
|
86
|
+
matcher = matcher || /\r?\n/
|
|
87
|
+
mapper = mapper || noop
|
|
88
|
+
options = options || {}
|
|
89
|
+
|
|
90
|
+
// Test arguments explicitly.
|
|
91
|
+
switch (arguments.length) {
|
|
92
|
+
case 1:
|
|
93
|
+
// If mapper is only argument.
|
|
94
|
+
if (typeof matcher === 'function') {
|
|
95
|
+
mapper = matcher
|
|
96
|
+
matcher = /\r?\n/
|
|
97
|
+
// If options is only argument.
|
|
98
|
+
} else if (typeof matcher === 'object' && !(matcher instanceof RegExp) && !matcher[Symbol.split]) {
|
|
99
|
+
options = matcher
|
|
100
|
+
matcher = /\r?\n/
|
|
101
|
+
}
|
|
102
|
+
break
|
|
103
|
+
|
|
104
|
+
case 2:
|
|
105
|
+
// If mapper and options are arguments.
|
|
106
|
+
if (typeof matcher === 'function') {
|
|
107
|
+
options = mapper
|
|
108
|
+
mapper = matcher
|
|
109
|
+
matcher = /\r?\n/
|
|
110
|
+
// If matcher and options are arguments.
|
|
111
|
+
} else if (typeof mapper === 'object') {
|
|
112
|
+
options = mapper
|
|
113
|
+
mapper = noop
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
options = Object.assign({}, options)
|
|
118
|
+
options.autoDestroy = true
|
|
119
|
+
options.transform = transform
|
|
120
|
+
options.flush = flush
|
|
121
|
+
options.readableObjectMode = true
|
|
122
|
+
|
|
123
|
+
const stream = new Transform(options)
|
|
124
|
+
|
|
125
|
+
stream[kLast] = ''
|
|
126
|
+
stream[kDecoder] = new StringDecoder('utf8')
|
|
127
|
+
stream.matcher = matcher
|
|
128
|
+
stream.mapper = mapper
|
|
129
|
+
stream.maxLength = options.maxLength
|
|
130
|
+
stream.skipOverflow = options.skipOverflow || false
|
|
131
|
+
stream.overflow = false
|
|
132
|
+
stream._destroy = function (err, cb) {
|
|
133
|
+
// Weird Node v12 bug that we need to work around
|
|
134
|
+
this._writableState.errorEmitted = false
|
|
135
|
+
cb(err)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return stream
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
module.exports = split
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "split2",
|
|
3
|
+
"version": "4.2.0",
|
|
4
|
+
"description": "split a Text Stream into a Line Stream, using Stream 3",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"lint": "standard --verbose",
|
|
8
|
+
"unit": "nyc --lines 100 --branches 100 --functions 100 --check-coverage --reporter=text tape test.js",
|
|
9
|
+
"coverage": "nyc --reporter=html --reporter=cobertura --reporter=text tape test/test.js",
|
|
10
|
+
"test:report": "npm run lint && npm run unit:report",
|
|
11
|
+
"test": "npm run lint && npm run unit",
|
|
12
|
+
"legacy": "tape test.js"
|
|
13
|
+
},
|
|
14
|
+
"pre-commit": [
|
|
15
|
+
"test"
|
|
16
|
+
],
|
|
17
|
+
"website": "https://github.com/mcollina/split2",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/mcollina/split2.git"
|
|
21
|
+
},
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "http://github.com/mcollina/split2/issues"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">= 10.x"
|
|
27
|
+
},
|
|
28
|
+
"author": "Matteo Collina <hello@matteocollina.com>",
|
|
29
|
+
"license": "ISC",
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"binary-split": "^1.0.3",
|
|
32
|
+
"callback-stream": "^1.1.0",
|
|
33
|
+
"fastbench": "^1.0.0",
|
|
34
|
+
"nyc": "^15.0.1",
|
|
35
|
+
"pre-commit": "^1.1.2",
|
|
36
|
+
"standard": "^17.0.0",
|
|
37
|
+
"tape": "^5.0.0"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const test = require('tape')
|
|
4
|
+
const split = require('./')
|
|
5
|
+
const callback = require('callback-stream')
|
|
6
|
+
const strcb = callback.bind(null, { decodeStrings: false })
|
|
7
|
+
const objcb = callback.bind(null, { objectMode: true })
|
|
8
|
+
|
|
9
|
+
test('split two lines on end', function (t) {
|
|
10
|
+
t.plan(2)
|
|
11
|
+
|
|
12
|
+
const input = split()
|
|
13
|
+
|
|
14
|
+
input.pipe(strcb(function (err, list) {
|
|
15
|
+
t.error(err)
|
|
16
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
17
|
+
}))
|
|
18
|
+
|
|
19
|
+
input.end('hello\nworld')
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
test('split two lines on two writes', function (t) {
|
|
23
|
+
t.plan(2)
|
|
24
|
+
|
|
25
|
+
const input = split()
|
|
26
|
+
|
|
27
|
+
input.pipe(strcb(function (err, list) {
|
|
28
|
+
t.error(err)
|
|
29
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
30
|
+
}))
|
|
31
|
+
|
|
32
|
+
input.write('hello')
|
|
33
|
+
input.write('\nworld')
|
|
34
|
+
input.end()
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
test('split four lines on three writes', function (t) {
|
|
38
|
+
t.plan(2)
|
|
39
|
+
|
|
40
|
+
const input = split()
|
|
41
|
+
|
|
42
|
+
input.pipe(strcb(function (err, list) {
|
|
43
|
+
t.error(err)
|
|
44
|
+
t.deepEqual(list, ['hello', 'world', 'bye', 'world'])
|
|
45
|
+
}))
|
|
46
|
+
|
|
47
|
+
input.write('hello\nwor')
|
|
48
|
+
input.write('ld\nbye\nwo')
|
|
49
|
+
input.write('rld')
|
|
50
|
+
input.end()
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
test('accumulate multiple writes', function (t) {
|
|
54
|
+
t.plan(2)
|
|
55
|
+
|
|
56
|
+
const input = split()
|
|
57
|
+
|
|
58
|
+
input.pipe(strcb(function (err, list) {
|
|
59
|
+
t.error(err)
|
|
60
|
+
t.deepEqual(list, ['helloworld'])
|
|
61
|
+
}))
|
|
62
|
+
|
|
63
|
+
input.write('hello')
|
|
64
|
+
input.write('world')
|
|
65
|
+
input.end()
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
test('split using a custom string matcher', function (t) {
|
|
69
|
+
t.plan(2)
|
|
70
|
+
|
|
71
|
+
const input = split('~')
|
|
72
|
+
|
|
73
|
+
input.pipe(strcb(function (err, list) {
|
|
74
|
+
t.error(err)
|
|
75
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
76
|
+
}))
|
|
77
|
+
|
|
78
|
+
input.end('hello~world')
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
test('split using a custom regexp matcher', function (t) {
|
|
82
|
+
t.plan(2)
|
|
83
|
+
|
|
84
|
+
const input = split(/~/)
|
|
85
|
+
|
|
86
|
+
input.pipe(strcb(function (err, list) {
|
|
87
|
+
t.error(err)
|
|
88
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
89
|
+
}))
|
|
90
|
+
|
|
91
|
+
input.end('hello~world')
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
test('support an option argument', function (t) {
|
|
95
|
+
t.plan(2)
|
|
96
|
+
|
|
97
|
+
const input = split({ highWaterMark: 2 })
|
|
98
|
+
|
|
99
|
+
input.pipe(strcb(function (err, list) {
|
|
100
|
+
t.error(err)
|
|
101
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
102
|
+
}))
|
|
103
|
+
|
|
104
|
+
input.end('hello\nworld')
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
test('support a mapper function', function (t) {
|
|
108
|
+
t.plan(2)
|
|
109
|
+
|
|
110
|
+
const a = { a: '42' }
|
|
111
|
+
const b = { b: '24' }
|
|
112
|
+
|
|
113
|
+
const input = split(JSON.parse)
|
|
114
|
+
|
|
115
|
+
input.pipe(objcb(function (err, list) {
|
|
116
|
+
t.error(err)
|
|
117
|
+
t.deepEqual(list, [a, b])
|
|
118
|
+
}))
|
|
119
|
+
|
|
120
|
+
input.write(JSON.stringify(a))
|
|
121
|
+
input.write('\n')
|
|
122
|
+
input.end(JSON.stringify(b))
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
test('split lines windows-style', function (t) {
|
|
126
|
+
t.plan(2)
|
|
127
|
+
|
|
128
|
+
const input = split()
|
|
129
|
+
|
|
130
|
+
input.pipe(strcb(function (err, list) {
|
|
131
|
+
t.error(err)
|
|
132
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
133
|
+
}))
|
|
134
|
+
|
|
135
|
+
input.end('hello\r\nworld')
|
|
136
|
+
})
|
|
137
|
+
|
|
138
|
+
test('splits a buffer', function (t) {
|
|
139
|
+
t.plan(2)
|
|
140
|
+
|
|
141
|
+
const input = split()
|
|
142
|
+
|
|
143
|
+
input.pipe(strcb(function (err, list) {
|
|
144
|
+
t.error(err)
|
|
145
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
146
|
+
}))
|
|
147
|
+
|
|
148
|
+
input.end(Buffer.from('hello\nworld'))
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
test('do not end on undefined', function (t) {
|
|
152
|
+
t.plan(2)
|
|
153
|
+
|
|
154
|
+
const input = split(function (line) { })
|
|
155
|
+
|
|
156
|
+
input.pipe(strcb(function (err, list) {
|
|
157
|
+
t.error(err)
|
|
158
|
+
t.deepEqual(list, [])
|
|
159
|
+
}))
|
|
160
|
+
|
|
161
|
+
input.end(Buffer.from('hello\nworld'))
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
test('has destroy method', function (t) {
|
|
165
|
+
t.plan(1)
|
|
166
|
+
|
|
167
|
+
const input = split(function (line) { })
|
|
168
|
+
|
|
169
|
+
input.on('close', function () {
|
|
170
|
+
t.ok(true, 'close emitted')
|
|
171
|
+
t.end()
|
|
172
|
+
})
|
|
173
|
+
|
|
174
|
+
input.destroy()
|
|
175
|
+
})
|
|
176
|
+
|
|
177
|
+
test('support custom matcher and mapper', function (t) {
|
|
178
|
+
t.plan(4)
|
|
179
|
+
|
|
180
|
+
const a = { a: '42' }
|
|
181
|
+
const b = { b: '24' }
|
|
182
|
+
const input = split('~', JSON.parse)
|
|
183
|
+
|
|
184
|
+
t.equal(input.matcher, '~')
|
|
185
|
+
t.equal(typeof input.mapper, 'function')
|
|
186
|
+
|
|
187
|
+
input.pipe(objcb(function (err, list) {
|
|
188
|
+
t.notOk(err, 'no errors')
|
|
189
|
+
t.deepEqual(list, [a, b])
|
|
190
|
+
}))
|
|
191
|
+
|
|
192
|
+
input.write(JSON.stringify(a))
|
|
193
|
+
input.write('~')
|
|
194
|
+
input.end(JSON.stringify(b))
|
|
195
|
+
})
|
|
196
|
+
|
|
197
|
+
test('support custom matcher and options', function (t) {
|
|
198
|
+
t.plan(6)
|
|
199
|
+
|
|
200
|
+
const input = split('~', { highWaterMark: 1024 })
|
|
201
|
+
|
|
202
|
+
t.equal(input.matcher, '~')
|
|
203
|
+
t.equal(typeof input.mapper, 'function')
|
|
204
|
+
t.equal(input._readableState.highWaterMark, 1024)
|
|
205
|
+
t.equal(input._writableState.highWaterMark, 1024)
|
|
206
|
+
|
|
207
|
+
input.pipe(strcb(function (err, list) {
|
|
208
|
+
t.error(err)
|
|
209
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
210
|
+
}))
|
|
211
|
+
|
|
212
|
+
input.end('hello~world')
|
|
213
|
+
})
|
|
214
|
+
|
|
215
|
+
test('support mapper and options', function (t) {
|
|
216
|
+
t.plan(6)
|
|
217
|
+
|
|
218
|
+
const a = { a: '42' }
|
|
219
|
+
const b = { b: '24' }
|
|
220
|
+
const input = split(JSON.parse, { highWaterMark: 1024 })
|
|
221
|
+
|
|
222
|
+
t.ok(input.matcher instanceof RegExp, 'matcher is RegExp')
|
|
223
|
+
t.equal(typeof input.mapper, 'function')
|
|
224
|
+
t.equal(input._readableState.highWaterMark, 1024)
|
|
225
|
+
t.equal(input._writableState.highWaterMark, 1024)
|
|
226
|
+
|
|
227
|
+
input.pipe(objcb(function (err, list) {
|
|
228
|
+
t.error(err)
|
|
229
|
+
t.deepEqual(list, [a, b])
|
|
230
|
+
}))
|
|
231
|
+
|
|
232
|
+
input.write(JSON.stringify(a))
|
|
233
|
+
input.write('\n')
|
|
234
|
+
input.end(JSON.stringify(b))
|
|
235
|
+
})
|
|
236
|
+
|
|
237
|
+
test('split utf8 chars', function (t) {
|
|
238
|
+
t.plan(2)
|
|
239
|
+
|
|
240
|
+
const input = split()
|
|
241
|
+
|
|
242
|
+
input.pipe(strcb(function (err, list) {
|
|
243
|
+
t.error(err)
|
|
244
|
+
t.deepEqual(list, ['烫烫烫', '锟斤拷'])
|
|
245
|
+
}))
|
|
246
|
+
|
|
247
|
+
const buf = Buffer.from('烫烫烫\r\n锟斤拷', 'utf8')
|
|
248
|
+
for (let i = 0; i < buf.length; ++i) {
|
|
249
|
+
input.write(buf.slice(i, i + 1))
|
|
250
|
+
}
|
|
251
|
+
input.end()
|
|
252
|
+
})
|
|
253
|
+
|
|
254
|
+
test('split utf8 chars 2by2', function (t) {
|
|
255
|
+
t.plan(2)
|
|
256
|
+
|
|
257
|
+
const input = split()
|
|
258
|
+
|
|
259
|
+
input.pipe(strcb(function (err, list) {
|
|
260
|
+
t.error(err)
|
|
261
|
+
t.deepEqual(list, ['烫烫烫', '烫烫烫'])
|
|
262
|
+
}))
|
|
263
|
+
|
|
264
|
+
const str = '烫烫烫\r\n烫烫烫'
|
|
265
|
+
const buf = Buffer.from(str, 'utf8')
|
|
266
|
+
for (let i = 0; i < buf.length; i += 2) {
|
|
267
|
+
input.write(buf.slice(i, i + 2))
|
|
268
|
+
}
|
|
269
|
+
input.end()
|
|
270
|
+
})
|
|
271
|
+
|
|
272
|
+
test('split lines when the \n comes at the end of a chunk', function (t) {
|
|
273
|
+
t.plan(2)
|
|
274
|
+
|
|
275
|
+
const input = split()
|
|
276
|
+
|
|
277
|
+
input.pipe(strcb(function (err, list) {
|
|
278
|
+
t.error(err)
|
|
279
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
280
|
+
}))
|
|
281
|
+
|
|
282
|
+
input.write('hello\n')
|
|
283
|
+
input.end('world')
|
|
284
|
+
})
|
|
285
|
+
|
|
286
|
+
test('truncated utf-8 char', function (t) {
|
|
287
|
+
t.plan(2)
|
|
288
|
+
|
|
289
|
+
const input = split()
|
|
290
|
+
|
|
291
|
+
input.pipe(strcb(function (err, list) {
|
|
292
|
+
t.error(err)
|
|
293
|
+
t.deepEqual(list, ['烫' + Buffer.from('e7', 'hex').toString()])
|
|
294
|
+
}))
|
|
295
|
+
|
|
296
|
+
const str = '烫烫'
|
|
297
|
+
const buf = Buffer.from(str, 'utf8')
|
|
298
|
+
|
|
299
|
+
input.write(buf.slice(0, 3))
|
|
300
|
+
input.end(buf.slice(3, 4))
|
|
301
|
+
})
|
|
302
|
+
|
|
303
|
+
test('maximum buffer limit', function (t) {
|
|
304
|
+
t.plan(1)
|
|
305
|
+
|
|
306
|
+
const input = split({ maxLength: 2 })
|
|
307
|
+
input.on('error', function (err) {
|
|
308
|
+
t.ok(err)
|
|
309
|
+
})
|
|
310
|
+
|
|
311
|
+
input.resume()
|
|
312
|
+
|
|
313
|
+
input.write('hey')
|
|
314
|
+
})
|
|
315
|
+
|
|
316
|
+
test('readable highWaterMark', function (t) {
|
|
317
|
+
const input = split()
|
|
318
|
+
t.equal(input._readableState.highWaterMark, 16)
|
|
319
|
+
t.end()
|
|
320
|
+
})
|
|
321
|
+
|
|
322
|
+
test('maxLength < chunk size', function (t) {
|
|
323
|
+
t.plan(2)
|
|
324
|
+
|
|
325
|
+
const input = split({ maxLength: 2 })
|
|
326
|
+
|
|
327
|
+
input.pipe(strcb(function (err, list) {
|
|
328
|
+
t.error(err)
|
|
329
|
+
t.deepEqual(list, ['a', 'b'])
|
|
330
|
+
}))
|
|
331
|
+
|
|
332
|
+
input.end('a\nb')
|
|
333
|
+
})
|
|
334
|
+
|
|
335
|
+
test('maximum buffer limit w/skip', function (t) {
|
|
336
|
+
t.plan(2)
|
|
337
|
+
|
|
338
|
+
const input = split({ maxLength: 2, skipOverflow: true })
|
|
339
|
+
|
|
340
|
+
input.pipe(strcb(function (err, list) {
|
|
341
|
+
t.error(err)
|
|
342
|
+
t.deepEqual(list, ['a', 'b', 'c'])
|
|
343
|
+
}))
|
|
344
|
+
|
|
345
|
+
input.write('a\n123')
|
|
346
|
+
input.write('456')
|
|
347
|
+
input.write('789\nb\nc')
|
|
348
|
+
input.end()
|
|
349
|
+
})
|
|
350
|
+
|
|
351
|
+
test("don't modify the options object", function (t) {
|
|
352
|
+
t.plan(2)
|
|
353
|
+
|
|
354
|
+
const options = {}
|
|
355
|
+
const input = split(options)
|
|
356
|
+
|
|
357
|
+
input.pipe(strcb(function (err, list) {
|
|
358
|
+
t.error(err)
|
|
359
|
+
t.same(options, {})
|
|
360
|
+
}))
|
|
361
|
+
|
|
362
|
+
input.end()
|
|
363
|
+
})
|
|
364
|
+
|
|
365
|
+
test('mapper throws flush', function (t) {
|
|
366
|
+
t.plan(1)
|
|
367
|
+
const error = new Error()
|
|
368
|
+
const input = split(function () {
|
|
369
|
+
throw error
|
|
370
|
+
})
|
|
371
|
+
|
|
372
|
+
input.on('error', (err, list) => {
|
|
373
|
+
t.same(err, error)
|
|
374
|
+
})
|
|
375
|
+
input.end('hello')
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
test('mapper throws on transform', function (t) {
|
|
379
|
+
t.plan(1)
|
|
380
|
+
|
|
381
|
+
const error = new Error()
|
|
382
|
+
const input = split(function (l) {
|
|
383
|
+
throw error
|
|
384
|
+
})
|
|
385
|
+
|
|
386
|
+
input.on('error', (err) => {
|
|
387
|
+
t.same(err, error)
|
|
388
|
+
})
|
|
389
|
+
input.write('a')
|
|
390
|
+
input.write('\n')
|
|
391
|
+
input.end('b')
|
|
392
|
+
})
|
|
393
|
+
|
|
394
|
+
test('supports Symbol.split', function (t) {
|
|
395
|
+
t.plan(2)
|
|
396
|
+
|
|
397
|
+
const input = split({
|
|
398
|
+
[Symbol.split] (str) {
|
|
399
|
+
return str.split('~')
|
|
400
|
+
}
|
|
401
|
+
})
|
|
402
|
+
|
|
403
|
+
input.pipe(strcb(function (err, list) {
|
|
404
|
+
t.error(err)
|
|
405
|
+
t.deepEqual(list, ['hello', 'world'])
|
|
406
|
+
}))
|
|
407
|
+
|
|
408
|
+
input.end('hello~world')
|
|
409
|
+
})
|
package/dist/server/server.js
CHANGED
|
@@ -6550,6 +6550,9 @@ class SetupOrchestrator {
|
|
|
6550
6550
|
} else if (cloneUrl) {
|
|
6551
6551
|
this.chunk(\`[orchestrator] repo already cloned, resuming\\r
|
|
6552
6552
|
\`);
|
|
6553
|
+
} else {
|
|
6554
|
+
const branch = config.git?.repository?.branch ?? "none";
|
|
6555
|
+
console.log(\`[daemon] no-repo sandbox (branch=\${branch}), skipping clone\`);
|
|
6553
6556
|
}
|
|
6554
6557
|
await this.gitSetup(config);
|
|
6555
6558
|
this.deps.branchStatus.markReady();
|
|
@@ -7135,6 +7138,9 @@ function hydrate() {
|
|
|
7135
7138
|
}
|
|
7136
7139
|
}
|
|
7137
7140
|
hydrate();
|
|
7141
|
+
if (!store.read()) {
|
|
7142
|
+
console.log(\`[daemon] boot_id=\${process.env.DAEMON_BOOT_ID} ready, unclaimed \\u2014 waiting for workload config\`);
|
|
7143
|
+
}
|
|
7138
7144
|
Bun.serve({
|
|
7139
7145
|
port: bootConfig.proxyPort,
|
|
7140
7146
|
hostname: "0.0.0.0",
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as t,j as i}from"./index-BkiajC9R.js";import{O as m}from"./select-model-CG5HxXo0.js";import"./checkbox-nNLHENdc.js";import"./Check-B7lQX-U6.js";import"./input-jGTjkEgf.js";import"./dialog-CNOF2ZMK.js";import"./X-DRGbU-sk.js";import"./drawer-Df34zS04.js";import"./tooltip-CZbLg-Hf.js";import"./select-1F7nfWqc.js";import"./ChevronDown-BHHmj_90.js";import"./ChevronUp-DZMg9j3Z.js";import"./skeleton-Bx5y3Xmp.js";import"./Tool01-DHF_L3KH.js";import"./RefreshCcw01-Yl__XBgH.js";import"./SearchMd-BJVwn_ke.js";import"./Settings02-BCqAnzCC.js";import"./use-ai-providers-by3zafwF.js";import"./constants-ggwtj_b2.js";import"./chat-context-cuD-y97U.js";import"./use-virtual-mcp-DnJsvDcW.js";import"./use-collections-BIsV5dcA.js";import"./use-decopilot-events-D1WuhDgD.js";import"./create-sse-subscription-CxkOgzKf.js";import"./use-tasks-CCgL71pE.js";import"./use-organization-settings-ro4iJPpY.js";import"./ai-providers-logos-DD3qZ33J.js";import"./Zap-DVRtpQ6o.js";import"./use-debounced-autosave-DmAET555.js";import"./AlertCircle-Ot2CLMxw.js";import"./CheckCircle-DQVTFDuD.js";import"./Trash01-12UJulVC.js";import"./index-Bq9Gbm0H.js";import"./settings-section-DV5Tzhsa.js";import"./card-BPF7ycIj.js";import"./ArrowUpRight-D_v7OVFz.js";import"./switch-BMcphIES.js";import"./toggle-group-Dj05trYJ.js";import"./avatar-BHCqEDVT.js";import"./User01-BjX-G1vE.js";import"./alert-dialog-DKLXK-1u.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./unwrap-tool-result-BYXdCQMg.js";function V(){const o=t.c(1);let r;return o[0]===Symbol.for("react.memo_cache_sentinel")?(r=i.jsx(m,{}),o[0]=r):r=o[0],r}export{V as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as n,j as r,r as d,g as h,O as f,l as u}from"./index-BkiajC9R.js";import{S as j,a as b,b as S}from"./index-Bq9Gbm0H.js";import{u as _}from"./tooltip-CZbLg-Hf.js";import{u as k,T as y,a as T,b as i,S as g}from"./index-BJIwjxxl.js";import{C as v}from"./chat-context-cuD-y97U.js";import"./X-DRGbU-sk.js";import"./agent-icon-C1jmOFVg.js";import"./AlertCircle-Ot2CLMxw.js";import"./Tool01-DHF_L3KH.js";import"./XClose-CdyVyCLn.js";import"./RefreshCcw01-Yl__XBgH.js";import"./ArrowNarrowLeft-CA2U4-LB.js";import"./XCircle-DH7bOaGY.js";import"./ArrowUpRight-D_v7OVFz.js";import"./ZapSquare-CU44MpAH.js";import"./Users03-CZn6wNJ2.js";import"./CheckCircle-DQVTFDuD.js";import"./Check-B7lQX-U6.js";import"./ChevronDown-BHHmj_90.js";import"./ChevronRight-CMwA4MWg.js";import"./ChevronUp-DZMg9j3Z.js";import"./DotsVertical-C0-av-w_.js";import"./Container-BPn2KqkB.js";import"./Star01-t5c8OzJ1.js";import"./Palette-Cmsuc3m0.js";import"./SearchMd-BJVwn_ke.js";import"./LinkExternal01-Cr974KZi.js";import"./Lock01-chX0YN7M.js";import"./Sun-fUlV2CSc.js";import"./Play-C_yrNjMw.js";import"./Plus-BHVhclrE.js";import"./Settings02-BCqAnzCC.js";import"./Shield01-BzDWvNLz.js";import"./Trash01-12UJulVC.js";import"./User01-BjX-G1vE.js";import"./Zap-DVRtpQ6o.js";import"./shell-layout-Bvmr4Ir9.js";import"./dialog-CNOF2ZMK.js";import"./required-auth-layout-CwLXPn7_.js";import"./use-tasks-CCgL71pE.js";import"./use-collections-BIsV5dcA.js";import"./constants-ggwtj_b2.js";import"./use-organization-settings-ro4iJPpY.js";import"./use-org-sso-guN7zSCH.js";import"./pair-CkdIVJLN.js";import"./index-CDVvjofj.js";import"./use-copy-ORR4yHnB.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./content-blocks-o63cs2vh.js";import"./types-wbD5gTmt.js";import"./integration-icon-BvsSfF2G.js";import"./use-virtual-mcp-DnJsvDcW.js";import"./skeleton-Bx5y3Xmp.js";import"./popover-Qhd5GKAf.js";import"./drawer-Df34zS04.js";import"./avatar-BHCqEDVT.js";import"./alert-dialog-DKLXK-1u.js";import"./form-B11RrkrM.js";import"./label-BwHLLLjG.js";import"./input-jGTjkEgf.js";import"./index-CnlV8NnU.js";import"./use-mcp-tools-henGoqsi.js";import"./use-ai-providers-by3zafwF.js";import"./index-Cy0GY2u3.js";import"./switch-BMcphIES.js";import"./use-connection-BLJ6BaWy.js";import"./lean-canvas-recruit-modal-cCvcDvSF.js";import"./use-navigate-to-agent-CucJsCgb.js";import"./collection-search-c41oWBJf.js";import"./checkbox-nNLHENdc.js";import"./extract-connection-data-C7nRmph4.js";import"./constants-xZGcpYKv.js";import"./collections-DdU4I50l.js";import"./tabs-BlzUVMC9.js";import"./dropdown-menu-C3kAm_Er.js";import"./select-1F7nfWqc.js";import"./toggle-group-Dj05trYJ.js";import"./select-model-CG5HxXo0.js";import"./ai-providers-logos-DD3qZ33J.js";import"./use-debounced-autosave-DmAET555.js";import"./settings-section-DV5Tzhsa.js";import"./card-BPF7ycIj.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./unwrap-tool-result-BYXdCQMg.js";import"./index-BB5P8isj.js";import"./question-004-sINsf4GQ.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-QcsFV35H.js";import"./use-registry-connections-B-EpYSQR.js";import"./useInfiniteQuery-BJJhbE0g.js";import"./infiniteQueryObserver-DapJgjCy.js";import"./collection-tabs-DqCBG7jb.js";import"./badge-CkKVCYBi.js";import"./textarea-s7PVXilr.js";import"./connection-form-helpers-Ub-yYKls.js";import"./use-infinite-scroll-jzFqUD4-.js";import"./useSuspenseInfiniteQuery-Bjt0Pxxe.js";import"./collection-search-fbQaa98h.js";import"./use-create-virtual-mcp-BjiLekp8.js";import"./empty-state-Dw_gVxIS.js";import"./use-decopilot-events-D1WuhDgD.js";import"./create-sse-subscription-CxkOgzKf.js";import"./task-status-BLDsdEd0.js";const N=280;function P(){const t=n.c(2),{tasksOpen:e}=k();if(!e)return null;let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={width:`${N}px`},t[0]=o):o=t[0];let m;return t[1]===Symbol.for("react.memo_cache_sentinel")?(m=r.jsx("aside",{className:"shrink-0 h-full bg-sidebar pb-1",style:o,children:r.jsx("div",{className:"h-full p-0.5 pt-0.25",children:r.jsx("div",{className:"h-full bg-background rounded-[0.75rem] overflow-hidden card-shadow",children:r.jsx(y,{})})})}),t[1]=m):m=t[1],m}function C(){const t=n.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx(d.Suspense,{fallback:null,children:r.jsx(P,{})}),t[0]=e):e=t[0],e}function x(){const t=n.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx(u,{size:20,className:"animate-spin text-muted-foreground"})}),t[0]=e):e=t[0],e}function gr(){const t=n.c(7),e=_();let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o={strict:!1},t[0]=o):o=t[0];const c=!!h(o).taskId;let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s={"--sidebar-width-icon":"3.5rem"},t[1]=s):s=t[1];let l;t[2]===Symbol.for("react.memo_cache_sentinel")?(l=r.jsx(g,{}),t[2]=l):l=t[2];let p;t[3]===Symbol.for("react.memo_cache_sentinel")?(p={background:"transparent",containerType:"inline-size"},t[3]=p):p=t[3];let a;return t[4]!==c||t[5]!==e?(a=r.jsx(j,{defaultOpen:!1,children:r.jsx("div",{className:"flex flex-col h-dvh overflow-hidden",children:r.jsxs(b,{className:"flex-1 bg-sidebar",style:s,children:[l,r.jsx(S,{className:"flex flex-col",style:p,children:r.jsx(v,{children:r.jsx(T,{children:e?r.jsx(d.Suspense,{fallback:r.jsx(x,{}),children:r.jsx(f,{})}):r.jsxs(i,{children:[r.jsxs(i.Header,{children:[r.jsxs(i.LeftColumn,{children:[r.jsx(i.Nav,{}),r.jsx(i.TogglesSlot,{})]}),r.jsx(i.CenterSlot,{}),r.jsxs(i.RightColumn,{children:[r.jsx(i.TabsSlot,{}),r.jsx(i.RightSlot,{})]})]}),r.jsxs("div",{className:"flex-1 min-h-0 flex flex-row",children:[c&&r.jsx(C,{}),r.jsx(d.Suspense,{fallback:r.jsx(x,{}),children:r.jsx(f,{})})]})]})})})})]})})}),t[4]=c,t[5]=e,t[6]=a):a=t[6],a}export{gr as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/registry-layout-xR6rLrDK.js","assets/index-BkiajC9R.js","assets/index-B_4-KoG_.css","assets/ArrowNarrowLeft-CA2U4-LB.js","assets/CheckCircle-DQVTFDuD.js","assets/Container-BPn2KqkB.js","assets/Settings02-BCqAnzCC.js","assets/XCircle-DH7bOaGY.js","assets/constants-ggwtj_b2.js","assets/useInfiniteQuery-BJJhbE0g.js","assets/infiniteQueryObserver-DapJgjCy.js","assets/badge-CkKVCYBi.js","assets/input-jGTjkEgf.js","assets/dropdown-menu-C3kAm_Er.js","assets/Check-B7lQX-U6.js","assets/ChevronRight-CMwA4MWg.js","assets/DotsVertical-C0-av-w_.js","assets/table-BpJjOmgy.js","assets/toggle-group-Dj05trYJ.js","assets/use-view-mode-Dq8SK5jL.js","assets/tooltip-CZbLg-Hf.js","assets/SearchMd-BJVwn_ke.js","assets/dialog-CNOF2ZMK.js","assets/X-DRGbU-sk.js","assets/AlertCircle-Ot2CLMxw.js","assets/alert-dialog-DKLXK-1u.js","assets/card-BPF7ycIj.js","assets/Trash01-12UJulVC.js","assets/label-BwHLLLjG.js","assets/select-1F7nfWqc.js","assets/ChevronDown-BHHmj_90.js","assets/ChevronUp-DZMg9j3Z.js","assets/switch-BMcphIES.js","assets/textarea-s7PVXilr.js","assets/RefreshCcw01-Yl__XBgH.js","assets/checkbox-nNLHENdc.js","assets/LinkExternal01-Cr974KZi.js","assets/use-copy-ORR4yHnB.js","assets/Plus-BHVhclrE.js","assets/Play-C_yrNjMw.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{e as a,j as t,r,l as i,_ as o}from"./index-BkiajC9R.js";const n=r.lazy(()=>o(()=>import("./registry-layout-xR6rLrDK.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])));function c(){const s=a.c(1);let e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(r.Suspense,{fallback:t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(i,{size:20,className:"animate-spin text-muted-foreground"})}),children:t.jsx(n,{})}),s[0]=e):e=s[0],e}export{c as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/registry-layout-xR6rLrDK.js","assets/index-BkiajC9R.js","assets/index-B_4-KoG_.css","assets/ArrowNarrowLeft-CA2U4-LB.js","assets/CheckCircle-DQVTFDuD.js","assets/Container-BPn2KqkB.js","assets/Settings02-BCqAnzCC.js","assets/XCircle-DH7bOaGY.js","assets/constants-ggwtj_b2.js","assets/useInfiniteQuery-BJJhbE0g.js","assets/infiniteQueryObserver-DapJgjCy.js","assets/badge-CkKVCYBi.js","assets/input-jGTjkEgf.js","assets/dropdown-menu-C3kAm_Er.js","assets/Check-B7lQX-U6.js","assets/ChevronRight-CMwA4MWg.js","assets/DotsVertical-C0-av-w_.js","assets/table-BpJjOmgy.js","assets/toggle-group-Dj05trYJ.js","assets/use-view-mode-Dq8SK5jL.js","assets/tooltip-CZbLg-Hf.js","assets/SearchMd-BJVwn_ke.js","assets/dialog-CNOF2ZMK.js","assets/X-DRGbU-sk.js","assets/AlertCircle-Ot2CLMxw.js","assets/alert-dialog-DKLXK-1u.js","assets/card-BPF7ycIj.js","assets/Trash01-12UJulVC.js","assets/label-BwHLLLjG.js","assets/select-1F7nfWqc.js","assets/ChevronDown-BHHmj_90.js","assets/ChevronUp-DZMg9j3Z.js","assets/switch-BMcphIES.js","assets/textarea-s7PVXilr.js","assets/RefreshCcw01-Yl__XBgH.js","assets/checkbox-nNLHENdc.js","assets/LinkExternal01-Cr974KZi.js","assets/use-copy-ORR4yHnB.js","assets/Plus-BHVhclrE.js","assets/Play-C_yrNjMw.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{e as n,f as c,g as m,j as r,l as f,r as l,_ as u}from"./index-BkiajC9R.js";const _=l.lazy(()=>u(()=>import("./registry-layout-xR6rLrDK.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])));function x(){const e=n.c(5),o=c();let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t={from:"/shell/$org"},e[0]=t):t=e[0];const{org:i}=m(t);let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=r.jsx("div",{className:"h-full flex items-center justify-center",children:r.jsx(f,{size:20,className:"animate-spin text-muted-foreground"})}),e[1]=s):s=e[1];let a;return e[2]!==o||e[3]!==i?(a=r.jsx(l.Suspense,{fallback:s,children:r.jsx(_,{onBack:()=>o({to:"/$org/settings/store",params:{org:i}})})}),e[2]=o,e[3]=i,e[4]=a):a=e[4],a}export{x as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as u}from"./infiniteQueryObserver-DapJgjCy.js";import{c2 as i}from"./index-BkiajC9R.js";function t(e,r){return i(e,u,r)}export{t as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as s}from"./infiniteQueryObserver-DapJgjCy.js";import{c2 as u,c3 as n}from"./index-BkiajC9R.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as s,g as l,j as o,l as a,E as n,r as c}from"./index-BkiajC9R.js";import{a as f}from"./index-SKWAKGeB.js";import"./index-C3ldIVUr.js";import"./constants-ggwtj_b2.js";import"./collections-DdU4I50l.js";import"./index-3PRXeBfP.js";import"./use-virtual-mcp-DnJsvDcW.js";import"./use-collections-BIsV5dcA.js";import"./monaco-editor-ymd_jUTr.js";import"./index-CDVvjofj.js";import"./accordion-o4uEL-I1.js";import"./agent-icon-C1jmOFVg.js";import"./AlertCircle-Ot2CLMxw.js";import"./Tool01-DHF_L3KH.js";import"./XClose-CdyVyCLn.js";import"./RefreshCcw01-Yl__XBgH.js";import"./ArrowNarrowLeft-CA2U4-LB.js";import"./XCircle-DH7bOaGY.js";import"./ArrowUpRight-D_v7OVFz.js";import"./ZapSquare-CU44MpAH.js";import"./Users03-CZn6wNJ2.js";import"./CheckCircle-DQVTFDuD.js";import"./Check-B7lQX-U6.js";import"./ChevronDown-BHHmj_90.js";import"./ChevronRight-CMwA4MWg.js";import"./ChevronUp-DZMg9j3Z.js";import"./DotsVertical-C0-av-w_.js";import"./Container-BPn2KqkB.js";import"./Star01-t5c8OzJ1.js";import"./Palette-Cmsuc3m0.js";import"./SearchMd-BJVwn_ke.js";import"./index-Bq9Gbm0H.js";import"./tooltip-CZbLg-Hf.js";import"./X-DRGbU-sk.js";import"./LinkExternal01-Cr974KZi.js";import"./Lock01-chX0YN7M.js";import"./Sun-fUlV2CSc.js";import"./Play-C_yrNjMw.js";import"./Plus-BHVhclrE.js";import"./Settings02-BCqAnzCC.js";import"./Shield01-BzDWvNLz.js";import"./Trash01-12UJulVC.js";import"./User01-BjX-G1vE.js";import"./Zap-DVRtpQ6o.js";import"./badge-CkKVCYBi.js";import"./select-1F7nfWqc.js";import"./view-mode-toggle-DgvGEUt1.js";import"./layout-yZTsEXBs.js";import"./use-connection-BLJ6BaWy.js";import"./use-mcp-tools-henGoqsi.js";import"./dialog-CNOF2ZMK.js";import"./index-BB5P8isj.js";import"./dropdown-menu-C3kAm_Er.js";import"./integration-icon-BvsSfF2G.js";import"./scroll-area-BEarfPUC.js";import"./index-CnlV8NnU.js";import"./empty-state-DyTFpS0l.js";import"./create-sse-subscription-CxkOgzKf.js";import"./input-jGTjkEgf.js";function gt(){const t=s.c(4);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org/settings/workflows/$itemId"},t[0]=r):r=t[0];const{itemId:e}=l(r);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(a,{size:32,className:"animate-spin text-muted-foreground"})}),t[1]=i):i=t[1];const p=decodeURIComponent(e);let m;return t[2]!==p?(m=o.jsx(n,{children:o.jsx(c.Suspense,{fallback:i,children:o.jsx(f,{itemId:p})})}),t[2]=p,t[3]=m):m=t[3],m}export{gt as default};
|