newcraw 1.0.2 → 1.0.4
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/REPL-DECTPCL5.js +50 -0
- package/dist/{acp-J4WDYGRX.js → acp-HA476EHW.js} +69 -40
- package/dist/acp-HA476EHW.js.map +7 -0
- package/dist/{agentsValidate-UBOER2IN.js → agentsValidate-EDPFUUMG.js} +13 -10
- package/dist/{agentsValidate-UBOER2IN.js.map → agentsValidate-EDPFUUMG.js.map} +1 -1
- package/dist/{ask-MGUO3L35.js → ask-5SP4YYRD.js} +62 -52
- package/dist/ask-5SP4YYRD.js.map +7 -0
- package/dist/{autoUpdater-2GS6LRPK.js → autoUpdater-FFMM2DR7.js} +5 -4
- package/dist/chunk-2BVCVKKB.js +135 -0
- package/dist/chunk-2BVCVKKB.js.map +7 -0
- package/dist/{chunk-2C43OXE7.js → chunk-2JCTO2EY.js} +38 -59
- package/dist/chunk-2JCTO2EY.js.map +7 -0
- package/dist/{chunk-OJIMOLIC.js → chunk-3CKC4ABU.js} +3631 -7464
- package/dist/chunk-3CKC4ABU.js.map +7 -0
- package/dist/chunk-ARCEUG3V.js +88 -0
- package/dist/chunk-ARCEUG3V.js.map +7 -0
- package/dist/{chunk-RUXIBQ3B.js → chunk-BJYXLCRS.js} +4 -4
- package/dist/{chunk-VKI7ORIO.js → chunk-BMKE6FT5.js} +37 -18
- package/dist/{chunk-VKI7ORIO.js.map → chunk-BMKE6FT5.js.map} +1 -1
- package/dist/chunk-BQCOSNM3.js +93 -0
- package/dist/chunk-BQCOSNM3.js.map +7 -0
- package/dist/chunk-CHB5K4GI.js +107 -0
- package/dist/chunk-CHB5K4GI.js.map +7 -0
- package/dist/chunk-D4OZACS2.js +35 -0
- package/dist/chunk-EHQ2M5B4.js +166 -0
- package/dist/{chunk-ZYSVG4X3.js.map → chunk-EHQ2M5B4.js.map} +2 -2
- package/dist/chunk-EUBZGAIN.js +372 -0
- package/dist/chunk-EUBZGAIN.js.map +7 -0
- package/dist/{chunk-UYRR6F5S.js → chunk-FIMCETCB.js} +9 -3
- package/dist/{chunk-UYRR6F5S.js.map → chunk-FIMCETCB.js.map} +1 -1
- package/dist/{chunk-DEF3KFP7.js → chunk-GVLJUD6R.js} +4 -2
- package/dist/{chunk-DEF3KFP7.js.map → chunk-GVLJUD6R.js.map} +1 -1
- package/dist/chunk-HLBLZKZH.js +45 -0
- package/dist/chunk-HLBLZKZH.js.map +7 -0
- package/dist/{chunk-XS6PU75S.js → chunk-IVWPPTDM.js} +1 -1
- package/dist/{chunk-A7X6OCZE.js → chunk-IXFBUXQW.js} +1 -1
- package/dist/{chunk-HSJ6HYAO.js → chunk-IZZTKEZH.js} +18 -10
- package/dist/chunk-IZZTKEZH.js.map +7 -0
- package/dist/{chunk-2EFL22PV.js → chunk-JI4HCLK7.js} +7 -3
- package/dist/chunk-JI4HCLK7.js.map +7 -0
- package/dist/chunk-JLVECHVJ.js +36 -0
- package/dist/chunk-JLVECHVJ.js.map +7 -0
- package/dist/{chunk-XXU2NVOE.js → chunk-KJTPUTU7.js} +30 -6
- package/dist/chunk-KJTPUTU7.js.map +7 -0
- package/dist/{chunk-V5U6BHT2.js → chunk-KS646CDL.js} +7 -3
- package/dist/{chunk-V5U6BHT2.js.map → chunk-KS646CDL.js.map} +1 -1
- package/dist/{chunk-53A4JHFW.js → chunk-MJ3MLGVB.js} +23 -4
- package/dist/chunk-MJ3MLGVB.js.map +7 -0
- package/dist/chunk-MJLWBVZP.js +822 -0
- package/dist/chunk-MJLWBVZP.js.map +7 -0
- package/dist/chunk-MMF5RMLU.js +65 -0
- package/dist/chunk-MMF5RMLU.js.map +7 -0
- package/dist/{chunk-QH2M65BR.js → chunk-MUW3J7CP.js} +7 -3
- package/dist/{chunk-QH2M65BR.js.map → chunk-MUW3J7CP.js.map} +1 -1
- package/dist/{chunk-3LMXSKZ7.js → chunk-NFXLN6FJ.js} +1 -1
- package/dist/chunk-NT7RDVDA.js +33 -0
- package/dist/{chunk-KQSHIOZK.js.map → chunk-NT7RDVDA.js.map} +1 -1
- package/dist/{chunk-OZHBEG7U.js → chunk-O4EKE3YR.js} +15 -5
- package/dist/{chunk-OZHBEG7U.js.map → chunk-O4EKE3YR.js.map} +1 -1
- package/dist/chunk-Q2OBTLBI.js +5473 -0
- package/dist/chunk-Q2OBTLBI.js.map +7 -0
- package/dist/{chunk-WWDVA4NV.js → chunk-QJ7MQIHN.js} +22 -6
- package/dist/{chunk-WWDVA4NV.js.map → chunk-QJ7MQIHN.js.map} +1 -1
- package/dist/{chunk-N5OHRWG2.js → chunk-QSRXXZO7.js} +4 -2
- package/dist/{chunk-N5OHRWG2.js.map → chunk-QSRXXZO7.js.map} +1 -1
- package/dist/{chunk-GZTCXXSS.js → chunk-QT5GS374.js} +57 -46
- package/dist/{chunk-GZTCXXSS.js.map → chunk-QT5GS374.js.map} +1 -1
- package/dist/chunk-QX5Y5CE5.js +683 -0
- package/dist/{chunk-F3COCCAE.js.map → chunk-QX5Y5CE5.js.map} +1 -1
- package/dist/{chunk-IIFUDVGS.js → chunk-U6IF5D3J.js} +310 -177
- package/dist/chunk-U6IF5D3J.js.map +7 -0
- package/dist/{chunk-VQSCECTS.js → chunk-UPRKGNBR.js} +6 -4
- package/dist/{chunk-VQSCECTS.js.map → chunk-UPRKGNBR.js.map} +1 -1
- package/dist/chunk-UUCRNFMH.js +62 -0
- package/dist/chunk-UUCRNFMH.js.map +7 -0
- package/dist/chunk-UYWZQVH5.js +35 -0
- package/dist/chunk-UYWZQVH5.js.map +7 -0
- package/dist/{chunk-XMGUQHMF.js → chunk-VSSVN6WG.js} +11 -1
- package/dist/chunk-VSSVN6WG.js.map +7 -0
- package/dist/{chunk-VHS2MZQS.js → chunk-W7Q3VYAB.js} +9 -6
- package/dist/{chunk-VHS2MZQS.js.map → chunk-W7Q3VYAB.js.map} +1 -1
- package/dist/{chunk-JWXQNBBA.js → chunk-WAXMRSVR.js} +7 -1
- package/dist/{chunk-JWXQNBBA.js.map → chunk-WAXMRSVR.js.map} +1 -1
- package/dist/{chunk-BWYKUDJR.js → chunk-X3NER6FY.js} +14 -8
- package/dist/{chunk-BWYKUDJR.js.map → chunk-X3NER6FY.js.map} +1 -1
- package/dist/{chunk-IM33F5CM.js → chunk-XYQZLDRB.js} +1668 -1623
- package/dist/chunk-XYQZLDRB.js.map +7 -0
- package/dist/{chunk-LOIZNQOU.js → chunk-ZM5FMRLS.js} +9 -3
- package/dist/{chunk-LOIZNQOU.js.map → chunk-ZM5FMRLS.js.map} +1 -1
- package/dist/{chunk-755HIAI3.js → chunk-ZMO4E7IW.js} +3 -42
- package/dist/chunk-ZMO4E7IW.js.map +7 -0
- package/dist/{cli-KZGF3FV5.js → cli-4KO6TA5J.js} +251 -485
- package/dist/cli-4KO6TA5J.js.map +7 -0
- package/dist/commands-JSY7CGSU.js +54 -0
- package/dist/{config-GTJWCNPF.js → config-DQEFVW3Y.js} +9 -6
- package/dist/{context-WF3TTXQU.js → context-HVQCTO5R.js} +8 -7
- package/dist/{costTracker-2G3ZI2JF.js → costTracker-VSWW7SRT.js} +3 -2
- package/dist/{customCommands-QOWK57EX.js → customCommands-XCINU5TG.js} +6 -5
- package/dist/{env-37BAP7QF.js → env-ZOPEXWMF.js} +10 -7
- package/dist/{gateway-IZYO6YFJ.js → gateway-SUXSILQL.js} +542 -96
- package/dist/gateway-SUXSILQL.js.map +7 -0
- package/dist/identity-3KZQQVBG.js +16 -0
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/{kodeAgentSessionId-KTGFX2BE.js → kodeAgentSessionId-4SH24DVH.js} +1 -1
- package/dist/{kodeAgentSessionLoad-6F7SJXBC.js → kodeAgentSessionLoad-HB3BYVNG.js} +6 -5
- package/dist/{kodeAgentSessionResume-UEEDRJ3N.js → kodeAgentSessionResume-IGSZZY3G.js} +6 -5
- package/dist/{kodeAgentStreamJson-VIXFTYL5.js → kodeAgentStreamJson-4ZKIWKS3.js} +4 -2
- package/dist/{kodeAgentStreamJsonSession-XC3IPREZ.js → kodeAgentStreamJsonSession-4L76UC75.js} +15 -4
- package/dist/kodeAgentStreamJsonSession-4L76UC75.js.map +7 -0
- package/dist/{kodeAgentStructuredStdio-SI5C7AAD.js → kodeAgentStructuredStdio-5DCUC6V6.js} +3 -3
- package/dist/{kodeHooks-V36SHCTC.js → kodeHooks-H6DMC3XX.js} +6 -5
- package/dist/{llm-CYUDKJNR.js → llm-OJZ6DZVC.js} +306 -60
- package/dist/llm-OJZ6DZVC.js.map +7 -0
- package/dist/{llmLazy-IXVVBRTN.js → llmLazy-TDLZZDPL.js} +2 -2
- package/dist/{loader-OEJ6C3TN.js → loader-MOVYZ76M.js} +6 -5
- package/dist/{mcp-KE3SILMX.js → mcp-DUYSIR5L.js} +10 -9
- package/dist/{mentionProcessor-GAU2WAYB.js → mentionProcessor-EKVLXJN4.js} +14 -7
- package/dist/{mentionProcessor-GAU2WAYB.js.map → mentionProcessor-EKVLXJN4.js.map} +1 -1
- package/dist/{messages-WCSGGSEU.js → messages-23ICFVMC.js} +2 -2
- package/dist/{model-4TQIV5J2.js → model-FUBCTRTV.js} +10 -7
- package/dist/{openai-KTZV6F7N.js → openai-SMYIAIO4.js} +8 -7
- package/dist/{outputStyles-WX5RYQOA.js → outputStyles-HBOYJFBE.js} +6 -5
- package/dist/{pluginRuntime-JXMJZ2LC.js → pluginRuntime-ATZMDZA7.js} +11 -8
- package/dist/{pluginRuntime-JXMJZ2LC.js.map → pluginRuntime-ATZMDZA7.js.map} +1 -1
- package/dist/{pluginValidation-JNQZYLUP.js → pluginValidation-7CGOMT6F.js} +8 -7
- package/dist/prompts-MFESKNYZ.js +58 -0
- package/dist/query-BFEFOX4S.js +58 -0
- package/dist/{responsesStreaming-2AIT6GHG.js → responsesStreaming-JORGEFQC.js} +1 -1
- package/dist/{ripgrep-KDPQAMB2.js → ripgrep-KNJBCJIQ.js} +5 -4
- package/dist/sandbox-P3FR4G4D.js +63 -0
- package/dist/{skillMarketplace-IXAGP3Q2.js → skillMarketplace-PCMKVV4O.js} +5 -4
- package/dist/{state-MSCYLB6Y.js → state-XBYIQ7R4.js} +6 -3
- package/dist/structuredOutput-KAVFUV2Z.js +9 -0
- package/dist/theme-4ZSXUILR.js +15 -0
- package/dist/thinking-TTNUZUB3.js +18 -0
- package/dist/{toolPermissionContext-I3IXPVED.js → toolPermissionContext-JCQ5MFUT.js} +1 -1
- package/dist/toolPermissionContext-JCQ5MFUT.js.map +7 -0
- package/dist/toolPermissionContextState-R6ZGMKP6.js +24 -0
- package/dist/toolPermissionContextState-R6ZGMKP6.js.map +7 -0
- package/dist/{toolPermissionSettings-EUZKGZU2.js → toolPermissionSettings-GMEYTJEA.js} +9 -8
- package/dist/toolPermissionSettings-GMEYTJEA.js.map +7 -0
- package/dist/tools-7FVKB7BG.js +55 -0
- package/dist/tools-7FVKB7BG.js.map +7 -0
- package/dist/{userInput-LJL4CVOB.js → userInput-SZEUY5J6.js} +49 -34
- package/dist/{userInput-LJL4CVOB.js.map → userInput-SZEUY5J6.js.map} +1 -1
- package/dist/{uuid-VA3KVASX.js → uuid-RQH3OZ3W.js} +1 -1
- package/dist/uuid-RQH3OZ3W.js.map +7 -0
- package/dist/workspace-EP63OB5S.js +21 -0
- package/dist/workspace-EP63OB5S.js.map +7 -0
- package/package.json +2 -2
- package/web/dist/assets/index-XuLVvSQF.js +251 -0
- package/web/dist/assets/index-pSid9IlY.css +10 -0
- package/web/dist/index.html +2 -2
- package/dist/REPL-IAK7ZN2Z.js +0 -42
- package/dist/acp-J4WDYGRX.js.map +0 -7
- package/dist/ask-MGUO3L35.js.map +0 -7
- package/dist/chunk-2C43OXE7.js.map +0 -7
- package/dist/chunk-2EFL22PV.js.map +0 -7
- package/dist/chunk-53A4JHFW.js.map +0 -7
- package/dist/chunk-755HIAI3.js.map +0 -7
- package/dist/chunk-AXWJI6N5.js +0 -11
- package/dist/chunk-F3COCCAE.js +0 -654
- package/dist/chunk-HSJ6HYAO.js.map +0 -7
- package/dist/chunk-IIFUDVGS.js.map +0 -7
- package/dist/chunk-IM33F5CM.js.map +0 -7
- package/dist/chunk-KQSHIOZK.js +0 -24
- package/dist/chunk-OJIMOLIC.js.map +0 -7
- package/dist/chunk-XMGUQHMF.js.map +0 -7
- package/dist/chunk-XXU2NVOE.js.map +0 -7
- package/dist/chunk-ZYSVG4X3.js +0 -151
- package/dist/cli-KZGF3FV5.js.map +0 -7
- package/dist/commands-AVEBLFVS.js +0 -46
- package/dist/gateway-IZYO6YFJ.js.map +0 -7
- package/dist/kodeAgentStreamJsonSession-XC3IPREZ.js.map +0 -7
- package/dist/llm-CYUDKJNR.js.map +0 -7
- package/dist/prompts-LE6GK75N.js +0 -48
- package/dist/query-GGIP6PWG.js +0 -50
- package/dist/theme-GAMFOLBW.js +0 -14
- package/dist/tools-3HOUIDM3.js +0 -47
- package/web/dist/assets/index-COAJqX1Z.css +0 -1
- package/web/dist/assets/index-CzS_4LmC.js +0 -179
- /package/dist/{REPL-IAK7ZN2Z.js.map → REPL-DECTPCL5.js.map} +0 -0
- /package/dist/{autoUpdater-2GS6LRPK.js.map → autoUpdater-FFMM2DR7.js.map} +0 -0
- /package/dist/{chunk-RUXIBQ3B.js.map → chunk-BJYXLCRS.js.map} +0 -0
- /package/dist/{chunk-AXWJI6N5.js.map → chunk-D4OZACS2.js.map} +0 -0
- /package/dist/{chunk-XS6PU75S.js.map → chunk-IVWPPTDM.js.map} +0 -0
- /package/dist/{chunk-A7X6OCZE.js.map → chunk-IXFBUXQW.js.map} +0 -0
- /package/dist/{chunk-3LMXSKZ7.js.map → chunk-NFXLN6FJ.js.map} +0 -0
- /package/dist/{commands-AVEBLFVS.js.map → commands-JSY7CGSU.js.map} +0 -0
- /package/dist/{config-GTJWCNPF.js.map → config-DQEFVW3Y.js.map} +0 -0
- /package/dist/{context-WF3TTXQU.js.map → context-HVQCTO5R.js.map} +0 -0
- /package/dist/{costTracker-2G3ZI2JF.js.map → costTracker-VSWW7SRT.js.map} +0 -0
- /package/dist/{customCommands-QOWK57EX.js.map → customCommands-XCINU5TG.js.map} +0 -0
- /package/dist/{env-37BAP7QF.js.map → env-ZOPEXWMF.js.map} +0 -0
- /package/dist/{kodeAgentSessionId-KTGFX2BE.js.map → identity-3KZQQVBG.js.map} +0 -0
- /package/dist/{kodeAgentSessionLoad-6F7SJXBC.js.map → kodeAgentSessionId-4SH24DVH.js.map} +0 -0
- /package/dist/{kodeAgentSessionResume-UEEDRJ3N.js.map → kodeAgentSessionLoad-HB3BYVNG.js.map} +0 -0
- /package/dist/{kodeAgentStreamJson-VIXFTYL5.js.map → kodeAgentSessionResume-IGSZZY3G.js.map} +0 -0
- /package/dist/{kodeAgentStructuredStdio-SI5C7AAD.js.map → kodeAgentStreamJson-4ZKIWKS3.js.map} +0 -0
- /package/dist/{kodeHooks-V36SHCTC.js.map → kodeAgentStructuredStdio-5DCUC6V6.js.map} +0 -0
- /package/dist/{llmLazy-IXVVBRTN.js.map → kodeHooks-H6DMC3XX.js.map} +0 -0
- /package/dist/{loader-OEJ6C3TN.js.map → llmLazy-TDLZZDPL.js.map} +0 -0
- /package/dist/{mcp-KE3SILMX.js.map → loader-MOVYZ76M.js.map} +0 -0
- /package/dist/{messages-WCSGGSEU.js.map → mcp-DUYSIR5L.js.map} +0 -0
- /package/dist/{model-4TQIV5J2.js.map → messages-23ICFVMC.js.map} +0 -0
- /package/dist/{openai-KTZV6F7N.js.map → model-FUBCTRTV.js.map} +0 -0
- /package/dist/{outputStyles-WX5RYQOA.js.map → openai-SMYIAIO4.js.map} +0 -0
- /package/dist/{pluginValidation-JNQZYLUP.js.map → outputStyles-HBOYJFBE.js.map} +0 -0
- /package/dist/{prompts-LE6GK75N.js.map → pluginValidation-7CGOMT6F.js.map} +0 -0
- /package/dist/{query-GGIP6PWG.js.map → prompts-MFESKNYZ.js.map} +0 -0
- /package/dist/{responsesStreaming-2AIT6GHG.js.map → query-BFEFOX4S.js.map} +0 -0
- /package/dist/{ripgrep-KDPQAMB2.js.map → responsesStreaming-JORGEFQC.js.map} +0 -0
- /package/dist/{skillMarketplace-IXAGP3Q2.js.map → ripgrep-KNJBCJIQ.js.map} +0 -0
- /package/dist/{state-MSCYLB6Y.js.map → sandbox-P3FR4G4D.js.map} +0 -0
- /package/dist/{theme-GAMFOLBW.js.map → skillMarketplace-PCMKVV4O.js.map} +0 -0
- /package/dist/{toolPermissionContext-I3IXPVED.js.map → state-XBYIQ7R4.js.map} +0 -0
- /package/dist/{toolPermissionSettings-EUZKGZU2.js.map → structuredOutput-KAVFUV2Z.js.map} +0 -0
- /package/dist/{tools-3HOUIDM3.js.map → theme-4ZSXUILR.js.map} +0 -0
- /package/dist/{uuid-VA3KVASX.js.map → thinking-TTNUZUB3.js.map} +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { createRequire as __newcrawCreateRequire } from "node:module";
|
|
2
|
+
const require = __newcrawCreateRequire(import.meta.url);
|
|
3
|
+
|
|
4
|
+
// src/services/ai/schemas/structuredOutput.ts
|
|
5
|
+
var PROVIDER_STRUCTURED_OUTPUT = {
|
|
6
|
+
openai: {
|
|
7
|
+
mode: "strict",
|
|
8
|
+
maxRetries: 2,
|
|
9
|
+
enableStrictTools: true
|
|
10
|
+
},
|
|
11
|
+
deepseek: {
|
|
12
|
+
mode: "strict",
|
|
13
|
+
maxRetries: 2,
|
|
14
|
+
enableStrictTools: true
|
|
15
|
+
},
|
|
16
|
+
mistral: {
|
|
17
|
+
mode: "strict",
|
|
18
|
+
maxRetries: 2,
|
|
19
|
+
enableStrictTools: true
|
|
20
|
+
},
|
|
21
|
+
groq: {
|
|
22
|
+
mode: "strict",
|
|
23
|
+
maxRetries: 2,
|
|
24
|
+
enableStrictTools: true
|
|
25
|
+
},
|
|
26
|
+
xai: {
|
|
27
|
+
mode: "strict",
|
|
28
|
+
maxRetries: 2,
|
|
29
|
+
enableStrictTools: true
|
|
30
|
+
},
|
|
31
|
+
ollama: {
|
|
32
|
+
mode: "format_json",
|
|
33
|
+
maxRetries: 3,
|
|
34
|
+
enableStrictTools: false
|
|
35
|
+
},
|
|
36
|
+
"custom-openai": {
|
|
37
|
+
mode: "guided_json",
|
|
38
|
+
maxRetries: 3,
|
|
39
|
+
enableStrictTools: false
|
|
40
|
+
},
|
|
41
|
+
siliconflow: {
|
|
42
|
+
mode: "strict",
|
|
43
|
+
maxRetries: 2,
|
|
44
|
+
enableStrictTools: true
|
|
45
|
+
},
|
|
46
|
+
qwen: {
|
|
47
|
+
mode: "strict",
|
|
48
|
+
maxRetries: 2,
|
|
49
|
+
enableStrictTools: true
|
|
50
|
+
},
|
|
51
|
+
glm: {
|
|
52
|
+
mode: "post_validate",
|
|
53
|
+
maxRetries: 3,
|
|
54
|
+
enableStrictTools: false
|
|
55
|
+
},
|
|
56
|
+
"glm-coding": {
|
|
57
|
+
mode: "post_validate",
|
|
58
|
+
maxRetries: 3,
|
|
59
|
+
enableStrictTools: false
|
|
60
|
+
},
|
|
61
|
+
kimi: {
|
|
62
|
+
mode: "strict",
|
|
63
|
+
maxRetries: 2,
|
|
64
|
+
enableStrictTools: true
|
|
65
|
+
},
|
|
66
|
+
minimax: {
|
|
67
|
+
mode: "post_validate",
|
|
68
|
+
maxRetries: 3,
|
|
69
|
+
enableStrictTools: false
|
|
70
|
+
},
|
|
71
|
+
"baidu-qianfan": {
|
|
72
|
+
mode: "post_validate",
|
|
73
|
+
maxRetries: 3,
|
|
74
|
+
enableStrictTools: false
|
|
75
|
+
},
|
|
76
|
+
azure: {
|
|
77
|
+
mode: "strict",
|
|
78
|
+
maxRetries: 2,
|
|
79
|
+
enableStrictTools: true
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
var DEFAULT_CONFIG = {
|
|
83
|
+
mode: "post_validate",
|
|
84
|
+
maxRetries: 3,
|
|
85
|
+
enableStrictTools: false
|
|
86
|
+
};
|
|
87
|
+
function structuredOutputConfig(provider) {
|
|
88
|
+
return PROVIDER_STRUCTURED_OUTPUT[provider] ?? DEFAULT_CONFIG;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export {
|
|
92
|
+
structuredOutputConfig
|
|
93
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/services/ai/schemas/structuredOutput.ts"],
|
|
4
|
+
"sourcesContent": ["export type StructuredOutputMode =\r\n | 'strict' // OpenAI strict mode: tools[].function.strict = true\r\n | 'guided_json' // vLLM guided_json parameter\r\n | 'format_json' // Ollama format: \"json\" + schema\r\n | 'post_validate' // Fallback: AJV post-hoc validation + retry\r\n\r\nexport interface StructuredOutputConfig {\r\n mode: StructuredOutputMode\r\n maxRetries: number\r\n enableStrictTools: boolean\r\n}\r\n\r\nconst PROVIDER_STRUCTURED_OUTPUT: Record<string, StructuredOutputConfig> = {\r\n openai: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n deepseek: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n mistral: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n groq: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n xai: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n ollama: {\r\n mode: 'format_json',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n },\r\n 'custom-openai': {\r\n mode: 'guided_json',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n },\r\n siliconflow: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n qwen: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n glm: {\r\n mode: 'post_validate',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n },\r\n 'glm-coding': {\r\n mode: 'post_validate',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n },\r\n kimi: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n minimax: {\r\n mode: 'post_validate',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n },\r\n 'baidu-qianfan': {\r\n mode: 'post_validate',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n },\r\n azure: {\r\n mode: 'strict',\r\n maxRetries: 2,\r\n enableStrictTools: true,\r\n },\r\n}\r\n\r\nconst DEFAULT_CONFIG: StructuredOutputConfig = {\r\n mode: 'post_validate',\r\n maxRetries: 3,\r\n enableStrictTools: false,\r\n}\r\n\r\nexport function structuredOutputConfig(provider: string): StructuredOutputConfig {\r\n return PROVIDER_STRUCTURED_OUTPUT[provider] ?? DEFAULT_CONFIG\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;AAYA,IAAM,6BAAqE;AAAA,EACzE,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AACF;AAEA,IAAM,iBAAyC;AAAA,EAC7C,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAEO,SAAS,uBAAuB,UAA0C;AAC/E,SAAO,2BAA2B,QAAQ,KAAK;AACjD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { createRequire as __newcrawCreateRequire } from "node:module";
|
|
2
|
+
const require = __newcrawCreateRequire(import.meta.url);
|
|
3
|
+
|
|
4
|
+
// src/core/workspace.ts
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { homedir } from "node:os";
|
|
8
|
+
function getHomeDir() {
|
|
9
|
+
return (process.env.HOME ?? process.env.USERPROFILE ?? "").trim() || homedir();
|
|
10
|
+
}
|
|
11
|
+
function getConfigDir() {
|
|
12
|
+
const override = (process.env.NEWCRAW_CONFIG_DIR ?? process.env.CLAUDE_CONFIG_DIR ?? "").trim();
|
|
13
|
+
return override || join(getHomeDir(), ".newcraw");
|
|
14
|
+
}
|
|
15
|
+
function getWorkspaceDir() {
|
|
16
|
+
return join(getConfigDir(), "workspace");
|
|
17
|
+
}
|
|
18
|
+
var IDENTITY_FILENAME = "IDENTITY.md";
|
|
19
|
+
var USER_FILENAME = "USER.md";
|
|
20
|
+
var IDENTITY_TEMPLATE = `# \u667A\u80FD\u4F53\u8EAB\u4EFD
|
|
21
|
+
|
|
22
|
+
- Name: NewCraw
|
|
23
|
+
- Description: \u4E00\u4E2A\u667A\u80FDAI\u52A9\u624B\uFF0C\u64C5\u957F\u7F16\u7A0B\u3001\u7814\u7A76\u3001\u89C4\u5212\u548C\u65E5\u5E38\u4EFB\u52A1
|
|
24
|
+
- Emoji: \u{1F916}
|
|
25
|
+
- Vibe: \u7B80\u6D01\u3001\u4E13\u4E1A\u3001\u4E50\u4E8E\u52A9\u4EBA
|
|
26
|
+
`;
|
|
27
|
+
var USER_TEMPLATE = `# \u7528\u6237\u6863\u6848
|
|
28
|
+
|
|
29
|
+
- Name:
|
|
30
|
+
- Language:
|
|
31
|
+
- Notes:
|
|
32
|
+
`;
|
|
33
|
+
async function writeIfMissing(filePath, content) {
|
|
34
|
+
try {
|
|
35
|
+
await fs.promises.writeFile(filePath, content, { flag: "wx" });
|
|
36
|
+
} catch (err) {
|
|
37
|
+
if (err.code !== "EEXIST") throw err;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function ensureWorkspace() {
|
|
41
|
+
const dir = getWorkspaceDir();
|
|
42
|
+
await fs.promises.mkdir(dir, { recursive: true });
|
|
43
|
+
await Promise.all([
|
|
44
|
+
writeIfMissing(join(dir, IDENTITY_FILENAME), IDENTITY_TEMPLATE),
|
|
45
|
+
writeIfMissing(join(dir, USER_FILENAME), USER_TEMPLATE)
|
|
46
|
+
]);
|
|
47
|
+
return dir;
|
|
48
|
+
}
|
|
49
|
+
async function loadWorkspaceFiles() {
|
|
50
|
+
const dir = getWorkspaceDir();
|
|
51
|
+
const names = [IDENTITY_FILENAME, USER_FILENAME];
|
|
52
|
+
const results = [];
|
|
53
|
+
for (const name of names) {
|
|
54
|
+
const filePath = join(dir, name);
|
|
55
|
+
try {
|
|
56
|
+
const content = await fs.promises.readFile(filePath, "utf-8");
|
|
57
|
+
results.push({ name, path: filePath, content: content.trim(), missing: false });
|
|
58
|
+
} catch {
|
|
59
|
+
results.push({ name, path: filePath, content: "", missing: true });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return results;
|
|
63
|
+
}
|
|
64
|
+
function parseIdentityMarkdown(content) {
|
|
65
|
+
const identity = {};
|
|
66
|
+
for (const line of content.split(/\r?\n/)) {
|
|
67
|
+
const cleaned = line.trim().replace(/^\s*-\s*/, "");
|
|
68
|
+
const colonIdx = cleaned.indexOf(":");
|
|
69
|
+
if (colonIdx === -1) continue;
|
|
70
|
+
const label = cleaned.slice(0, colonIdx).replace(/[*_#]/g, "").trim().toLowerCase();
|
|
71
|
+
const value = cleaned.slice(colonIdx + 1).replace(/^[*_]+|[*_]+$/g, "").trim();
|
|
72
|
+
if (value) identity[label] = value;
|
|
73
|
+
}
|
|
74
|
+
return identity;
|
|
75
|
+
}
|
|
76
|
+
var _initPromise = null;
|
|
77
|
+
function initWorkspaceIdentity() {
|
|
78
|
+
if (_initPromise) return _initPromise;
|
|
79
|
+
_initPromise = (async () => {
|
|
80
|
+
try {
|
|
81
|
+
await ensureWorkspace();
|
|
82
|
+
const files = await loadWorkspaceFiles();
|
|
83
|
+
const identityFile = files.find((f) => f.name === IDENTITY_FILENAME && !f.missing);
|
|
84
|
+
if (!identityFile) return;
|
|
85
|
+
const parsed = parseIdentityMarkdown(identityFile.content);
|
|
86
|
+
const { setIdentity } = await import("./identity-3KZQQVBG.js");
|
|
87
|
+
const updates = {};
|
|
88
|
+
if (parsed.name) updates.name = parsed.name;
|
|
89
|
+
if (parsed.description) updates.description = parsed.description;
|
|
90
|
+
if (Object.keys(updates).length > 0) {
|
|
91
|
+
setIdentity(updates);
|
|
92
|
+
}
|
|
93
|
+
} catch {
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
return _initPromise;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export {
|
|
100
|
+
getWorkspaceDir,
|
|
101
|
+
IDENTITY_FILENAME,
|
|
102
|
+
USER_FILENAME,
|
|
103
|
+
ensureWorkspace,
|
|
104
|
+
loadWorkspaceFiles,
|
|
105
|
+
parseIdentityMarkdown,
|
|
106
|
+
initWorkspaceIdentity
|
|
107
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/core/workspace.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from 'node:fs'\r\nimport { join } from 'node:path'\r\nimport { homedir } from 'node:os'\r\n\r\nfunction getHomeDir(): string {\r\n return (process.env.HOME ?? process.env.USERPROFILE ?? '').trim() || homedir()\r\n}\r\n\r\nfunction getConfigDir(): string {\r\n const override = (process.env.NEWCRAW_CONFIG_DIR ?? process.env.CLAUDE_CONFIG_DIR ?? '').trim()\r\n return override || join(getHomeDir(), '.newcraw')\r\n}\r\n\r\nexport function getWorkspaceDir(): string {\r\n return join(getConfigDir(), 'workspace')\r\n}\r\n\r\nexport const IDENTITY_FILENAME = 'IDENTITY.md'\r\nexport const USER_FILENAME = 'USER.md'\r\n\r\nconst IDENTITY_TEMPLATE = `# \u667A\u80FD\u4F53\u8EAB\u4EFD\r\n\r\n- Name: NewCraw\r\n- Description: \u4E00\u4E2A\u667A\u80FDAI\u52A9\u624B\uFF0C\u64C5\u957F\u7F16\u7A0B\u3001\u7814\u7A76\u3001\u89C4\u5212\u548C\u65E5\u5E38\u4EFB\u52A1\r\n- Emoji: \uD83E\uDD16\r\n- Vibe: \u7B80\u6D01\u3001\u4E13\u4E1A\u3001\u4E50\u4E8E\u52A9\u4EBA\r\n`\r\n\r\nconst USER_TEMPLATE = `# \u7528\u6237\u6863\u6848\r\n\r\n- Name: \r\n- Language: \r\n- Notes: \r\n`\r\n\r\nexport type WorkspaceFile = {\r\n name: string\r\n path: string\r\n content: string\r\n missing: boolean\r\n}\r\n\r\nasync function writeIfMissing(filePath: string, content: string): Promise<void> {\r\n try {\r\n await fs.promises.writeFile(filePath, content, { flag: 'wx' })\r\n } catch (err: any) {\r\n if (err.code !== 'EEXIST') throw err\r\n }\r\n}\r\n\r\nexport async function ensureWorkspace(): Promise<string> {\r\n const dir = getWorkspaceDir()\r\n await fs.promises.mkdir(dir, { recursive: true })\r\n await Promise.all([\r\n writeIfMissing(join(dir, IDENTITY_FILENAME), IDENTITY_TEMPLATE),\r\n writeIfMissing(join(dir, USER_FILENAME), USER_TEMPLATE),\r\n ])\r\n return dir\r\n}\r\n\r\nexport async function loadWorkspaceFiles(): Promise<WorkspaceFile[]> {\r\n const dir = getWorkspaceDir()\r\n const names = [IDENTITY_FILENAME, USER_FILENAME]\r\n const results: WorkspaceFile[] = []\r\n\r\n for (const name of names) {\r\n const filePath = join(dir, name)\r\n try {\r\n const content = await fs.promises.readFile(filePath, 'utf-8')\r\n results.push({ name, path: filePath, content: content.trim(), missing: false })\r\n } catch {\r\n results.push({ name, path: filePath, content: '', missing: true })\r\n }\r\n }\r\n\r\n return results\r\n}\r\n\r\nexport function parseIdentityMarkdown(content: string): Record<string, string> {\r\n const identity: Record<string, string> = {}\r\n for (const line of content.split(/\\r?\\n/)) {\r\n const cleaned = line.trim().replace(/^\\s*-\\s*/, '')\r\n const colonIdx = cleaned.indexOf(':')\r\n if (colonIdx === -1) continue\r\n const label = cleaned.slice(0, colonIdx).replace(/[*_#]/g, '').trim().toLowerCase()\r\n const value = cleaned.slice(colonIdx + 1).replace(/^[*_]+|[*_]+$/g, '').trim()\r\n if (value) identity[label] = value\r\n }\r\n return identity\r\n}\r\n\r\nlet _initPromise: Promise<void> | null = null\r\n\r\n/**\r\n * Reads IDENTITY.md from the workspace and overrides the in-memory agent identity.\r\n * Safe to call multiple times; only runs the actual I/O once.\r\n */\r\nexport function initWorkspaceIdentity(): Promise<void> {\r\n if (_initPromise) return _initPromise\r\n _initPromise = (async () => {\r\n try {\r\n await ensureWorkspace()\r\n const files = await loadWorkspaceFiles()\r\n const identityFile = files.find(f => f.name === IDENTITY_FILENAME && !f.missing)\r\n if (!identityFile) return\r\n\r\n const parsed = parseIdentityMarkdown(identityFile.content)\r\n const { setIdentity } = await import('@core/identity')\r\n const updates: Record<string, string> = {}\r\n if (parsed.name) updates.name = parsed.name\r\n if (parsed.description) updates.description = parsed.description\r\n if (Object.keys(updates).length > 0) {\r\n setIdentity(updates as any)\r\n }\r\n } catch {\r\n // workspace not available \u2014 use defaults\r\n }\r\n })()\r\n return _initPromise\r\n}\r\n"],
|
|
5
|
+
"mappings": ";;;;AAAA,OAAO,QAAQ;AACf,SAAS,YAAY;AACrB,SAAS,eAAe;AAExB,SAAS,aAAqB;AAC5B,UAAQ,QAAQ,IAAI,QAAQ,QAAQ,IAAI,eAAe,IAAI,KAAK,KAAK,QAAQ;AAC/E;AAEA,SAAS,eAAuB;AAC9B,QAAM,YAAY,QAAQ,IAAI,sBAAsB,QAAQ,IAAI,qBAAqB,IAAI,KAAK;AAC9F,SAAO,YAAY,KAAK,WAAW,GAAG,UAAU;AAClD;AAEO,SAAS,kBAA0B;AACxC,SAAO,KAAK,aAAa,GAAG,WAAW;AACzC;AAEO,IAAM,oBAAoB;AAC1B,IAAM,gBAAgB;AAE7B,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ1B,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AActB,eAAe,eAAe,UAAkB,SAAgC;AAC9E,MAAI;AACF,UAAM,GAAG,SAAS,UAAU,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC/D,SAAS,KAAU;AACjB,QAAI,IAAI,SAAS,SAAU,OAAM;AAAA,EACnC;AACF;AAEA,eAAsB,kBAAmC;AACvD,QAAM,MAAM,gBAAgB;AAC5B,QAAM,GAAG,SAAS,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AAChD,QAAM,QAAQ,IAAI;AAAA,IAChB,eAAe,KAAK,KAAK,iBAAiB,GAAG,iBAAiB;AAAA,IAC9D,eAAe,KAAK,KAAK,aAAa,GAAG,aAAa;AAAA,EACxD,CAAC;AACD,SAAO;AACT;AAEA,eAAsB,qBAA+C;AACnE,QAAM,MAAM,gBAAgB;AAC5B,QAAM,QAAQ,CAAC,mBAAmB,aAAa;AAC/C,QAAM,UAA2B,CAAC;AAElC,aAAW,QAAQ,OAAO;AACxB,UAAM,WAAW,KAAK,KAAK,IAAI;AAC/B,QAAI;AACF,YAAM,UAAU,MAAM,GAAG,SAAS,SAAS,UAAU,OAAO;AAC5D,cAAQ,KAAK,EAAE,MAAM,MAAM,UAAU,SAAS,QAAQ,KAAK,GAAG,SAAS,MAAM,CAAC;AAAA,IAChF,QAAQ;AACN,cAAQ,KAAK,EAAE,MAAM,MAAM,UAAU,SAAS,IAAI,SAAS,KAAK,CAAC;AAAA,IACnE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,sBAAsB,SAAyC;AAC7E,QAAM,WAAmC,CAAC;AAC1C,aAAW,QAAQ,QAAQ,MAAM,OAAO,GAAG;AACzC,UAAM,UAAU,KAAK,KAAK,EAAE,QAAQ,YAAY,EAAE;AAClD,UAAM,WAAW,QAAQ,QAAQ,GAAG;AACpC,QAAI,aAAa,GAAI;AACrB,UAAM,QAAQ,QAAQ,MAAM,GAAG,QAAQ,EAAE,QAAQ,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY;AAClF,UAAM,QAAQ,QAAQ,MAAM,WAAW,CAAC,EAAE,QAAQ,kBAAkB,EAAE,EAAE,KAAK;AAC7E,QAAI,MAAO,UAAS,KAAK,IAAI;AAAA,EAC/B;AACA,SAAO;AACT;AAEA,IAAI,eAAqC;AAMlC,SAAS,wBAAuC;AACrD,MAAI,aAAc,QAAO;AACzB,kBAAgB,YAAY;AAC1B,QAAI;AACF,YAAM,gBAAgB;AACtB,YAAM,QAAQ,MAAM,mBAAmB;AACvC,YAAM,eAAe,MAAM,KAAK,OAAK,EAAE,SAAS,qBAAqB,CAAC,EAAE,OAAO;AAC/E,UAAI,CAAC,aAAc;AAEnB,YAAM,SAAS,sBAAsB,aAAa,OAAO;AACzD,YAAM,EAAE,YAAY,IAAI,MAAM,OAAO,wBAAgB;AACrD,YAAM,UAAkC,CAAC;AACzC,UAAI,OAAO,KAAM,SAAQ,OAAO,OAAO;AACvC,UAAI,OAAO,YAAa,SAAQ,cAAc,OAAO;AACrD,UAAI,OAAO,KAAK,OAAO,EAAE,SAAS,GAAG;AACnC,oBAAY,OAAc;AAAA,MAC5B;AAAA,IACF,QAAQ;AAAA,IAER;AAAA,EACF,GAAG;AACH,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createRequire as __newcrawCreateRequire } from "node:module";
|
|
2
|
+
const require = __newcrawCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
8
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
9
|
+
}) : x)(function(x) {
|
|
10
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
11
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
12
|
+
});
|
|
13
|
+
var __esm = (fn, res) => function __init() {
|
|
14
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
15
|
+
};
|
|
16
|
+
var __export = (target, all) => {
|
|
17
|
+
for (var name in all)
|
|
18
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
|
+
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
__require,
|
|
32
|
+
__esm,
|
|
33
|
+
__export,
|
|
34
|
+
__toCommonJS
|
|
35
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { createRequire as __newcrawCreateRequire } from "node:module";
|
|
2
|
+
const require = __newcrawCreateRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
__esm
|
|
5
|
+
} from "./chunk-D4OZACS2.js";
|
|
6
|
+
|
|
7
|
+
// package.json
|
|
8
|
+
var package_default;
|
|
9
|
+
var init_package = __esm({
|
|
10
|
+
"package.json"() {
|
|
11
|
+
package_default = {
|
|
12
|
+
name: "newcraw",
|
|
13
|
+
version: "1.0.4",
|
|
14
|
+
bin: {
|
|
15
|
+
newcraw: "cli.js",
|
|
16
|
+
"newcraw-acp": "cli-acp.js"
|
|
17
|
+
},
|
|
18
|
+
engines: {
|
|
19
|
+
node: ">=20.18.1"
|
|
20
|
+
},
|
|
21
|
+
main: "cli.js",
|
|
22
|
+
author: "",
|
|
23
|
+
license: "Apache-2.0",
|
|
24
|
+
description: "AI-powered terminal assistant that understands your codebase, edits files, runs commands, and automates development workflows.",
|
|
25
|
+
homepage: "https://github.com/YOUR_USERNAME/newcraw",
|
|
26
|
+
repository: {
|
|
27
|
+
type: "git",
|
|
28
|
+
url: "git+https://github.com/YOUR_USERNAME/newcraw.git"
|
|
29
|
+
},
|
|
30
|
+
bugs: {
|
|
31
|
+
url: "https://github.com/YOUR_USERNAME/newcraw/issues"
|
|
32
|
+
},
|
|
33
|
+
files: [
|
|
34
|
+
"cli.js",
|
|
35
|
+
"cli-acp.js",
|
|
36
|
+
"yoga.wasm",
|
|
37
|
+
"dist/**/*",
|
|
38
|
+
"web/dist/**/*",
|
|
39
|
+
"scripts/binary-utils.cjs",
|
|
40
|
+
"scripts/cli-wrapper.cjs",
|
|
41
|
+
"scripts/cli-acp-wrapper.cjs",
|
|
42
|
+
"scripts/postinstall.js",
|
|
43
|
+
".npmrc"
|
|
44
|
+
],
|
|
45
|
+
scripts: {
|
|
46
|
+
dev: "bun run ./src/entrypoints/cli.tsx --verbose",
|
|
47
|
+
gateway: "bun run ./src/entrypoints/gateway.ts",
|
|
48
|
+
"gateway:dev": "bun run ./src/entrypoints/gateway.ts --domain general",
|
|
49
|
+
"build:npm": "bun run scripts/build.mjs",
|
|
50
|
+
build: "bun run build:npm",
|
|
51
|
+
"build:binary": "bun run scripts/build-binary.mjs",
|
|
52
|
+
clean: "bun run scripts/clean.mjs",
|
|
53
|
+
prepublishOnly: "bun run build:npm && bun run scripts/prepublish-check.js",
|
|
54
|
+
postinstall: "node scripts/postinstall.js || true",
|
|
55
|
+
format: 'prettier --write "src/**/*.{ts,tsx,js,jsx,json}" "tests/**/*.{ts,tsx,js,jsx,json}"',
|
|
56
|
+
"format:check": 'prettier --check "src/**/*.{ts,tsx,js,jsx,json}" "tests/**/*.{ts,tsx,js,jsx,json}"',
|
|
57
|
+
lint: "eslint . --ext .ts,.tsx,.js --max-warnings 0",
|
|
58
|
+
"lint:fix": "eslint . --ext .ts,.tsx,.js --fix",
|
|
59
|
+
test: "bun test",
|
|
60
|
+
"test:unit": "bun test tests/unit",
|
|
61
|
+
"test:integration": "bun test tests/integration",
|
|
62
|
+
"test:e2e": "bun test tests/e2e",
|
|
63
|
+
typecheck: "tsc --noEmit",
|
|
64
|
+
prepare: "bun run scripts/install-hooks.mjs",
|
|
65
|
+
"publish:dev": "bun run scripts/publish-dev.js",
|
|
66
|
+
"publish:release": "bun run scripts/publish-release.js",
|
|
67
|
+
"bench:startup": "bun run scripts/bench-startup.mjs",
|
|
68
|
+
"parity:reference": "bun run scripts/reference-parity-check.mjs",
|
|
69
|
+
"web:dev": "npm run dev --prefix web",
|
|
70
|
+
"web:build": "npm run build --prefix web"
|
|
71
|
+
},
|
|
72
|
+
dependencies: {
|
|
73
|
+
"@anthropic-ai/bedrock-sdk": "^0.12.6",
|
|
74
|
+
"@anthropic-ai/sdk": "^0.39.0",
|
|
75
|
+
"@anthropic-ai/vertex-sdk": "^0.7.0",
|
|
76
|
+
"@aws-sdk/client-bedrock-runtime": "3.797.0",
|
|
77
|
+
"@commander-js/extra-typings": "^13.1.0",
|
|
78
|
+
"@inkjs/ui": "^2.0.0",
|
|
79
|
+
"@modelcontextprotocol/sdk": "^1.15.1",
|
|
80
|
+
"@types/lodash-es": "^4.17.12",
|
|
81
|
+
"@types/react": "^19.1.8",
|
|
82
|
+
"@vscode/ripgrep": "^1.17.0",
|
|
83
|
+
ajv: "^8.17.1",
|
|
84
|
+
"ansi-escapes": "^7.0.0",
|
|
85
|
+
chalk: "^5.4.1",
|
|
86
|
+
"cli-highlight": "^2.1.11",
|
|
87
|
+
"cli-table3": "^0.6.5",
|
|
88
|
+
commander: "^13.1.0",
|
|
89
|
+
debug: "^4.4.1",
|
|
90
|
+
diff: "^7.0.0",
|
|
91
|
+
dotenv: "^16.6.1",
|
|
92
|
+
"env-paths": "^3.0.0",
|
|
93
|
+
fflate: "^0.8.2",
|
|
94
|
+
figures: "^6.1.0",
|
|
95
|
+
glob: "^11.0.3",
|
|
96
|
+
"gray-matter": "^4.0.3",
|
|
97
|
+
"highlight.js": "^11.11.1",
|
|
98
|
+
ignore: "^7.0.5",
|
|
99
|
+
ink: "5.2.1",
|
|
100
|
+
"ink-link": "^4.1.0",
|
|
101
|
+
"ink-select-input": "^6.2.0",
|
|
102
|
+
"ink-text-input": "^6.0.0",
|
|
103
|
+
"js-yaml": "^4.1.1",
|
|
104
|
+
"lodash-es": "^4.17.21",
|
|
105
|
+
"lru-cache": "^11.1.0",
|
|
106
|
+
marked: "^15.0.12",
|
|
107
|
+
minimatch: "^10.1.1",
|
|
108
|
+
nanoid: "^5.1.5",
|
|
109
|
+
"node-fetch": "^3.3.2",
|
|
110
|
+
"node-html-parser": "^7.0.1",
|
|
111
|
+
openai: "^4.104.0",
|
|
112
|
+
react: "18.3.1",
|
|
113
|
+
semver: "^7.7.2",
|
|
114
|
+
"shell-quote": "^1.8.3",
|
|
115
|
+
"spawn-rx": "^5.1.2",
|
|
116
|
+
"string-width": "^7.2.0",
|
|
117
|
+
"strip-ansi": "^7.1.0",
|
|
118
|
+
tsx: "^4.20.3",
|
|
119
|
+
turndown: "^7.2.0",
|
|
120
|
+
undici: "^7.11.0",
|
|
121
|
+
which: "^6.0.0",
|
|
122
|
+
"wrap-ansi": "^9.0.0",
|
|
123
|
+
zod: "^3.25.76",
|
|
124
|
+
"zod-to-json-schema": "^3.24.6"
|
|
125
|
+
},
|
|
126
|
+
devDependencies: {
|
|
127
|
+
"@types/bun": "latest",
|
|
128
|
+
"@types/jest": "^30.0.0",
|
|
129
|
+
"@types/node": "^24.1.0",
|
|
130
|
+
"@types/which": "^3.0.4",
|
|
131
|
+
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
132
|
+
"@typescript-eslint/parser": "^8.50.1",
|
|
133
|
+
"bun-types": "latest",
|
|
134
|
+
esbuild: "^0.25.9",
|
|
135
|
+
eslint: "8.57.0",
|
|
136
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
137
|
+
prettier: "^3.6.2",
|
|
138
|
+
"react-devtools-core": "^7.0.1",
|
|
139
|
+
typescript: "^5.9.2"
|
|
140
|
+
},
|
|
141
|
+
overrides: {
|
|
142
|
+
"@aws-sdk/client-bedrock-runtime": "3.797.0",
|
|
143
|
+
"@smithy/smithy-client": "2.5.1"
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
// src/constants/macros.ts
|
|
150
|
+
var MACRO;
|
|
151
|
+
var init_macros = __esm({
|
|
152
|
+
"src/constants/macros.ts"() {
|
|
153
|
+
init_package();
|
|
154
|
+
MACRO = {
|
|
155
|
+
VERSION: package_default.version,
|
|
156
|
+
README_URL: "https://github.com/YOUR_USERNAME/newcraw#readme",
|
|
157
|
+
PACKAGE_URL: "newcraw",
|
|
158
|
+
ISSUES_EXPLAINER: "report the issue at https://github.com/YOUR_USERNAME/newcraw/issues"
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
export {
|
|
164
|
+
MACRO,
|
|
165
|
+
init_macros
|
|
166
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../package.json", "../src/constants/macros.ts"],
|
|
4
|
-
"sourcesContent": ["{\n \"name\": \"newcraw\",\n \"version\": \"1.0.
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["{\n \"name\": \"newcraw\",\n \"version\": \"1.0.4\",\n \"bin\": {\n \"newcraw\": \"cli.js\",\n \"newcraw-acp\": \"cli-acp.js\"\n },\n \"engines\": {\n \"node\": \">=20.18.1\"\n },\n \"main\": \"cli.js\",\n \"author\": \"\",\n \"license\": \"Apache-2.0\",\n \"description\": \"AI-powered terminal assistant that understands your codebase, edits files, runs commands, and automates development workflows.\",\n \"homepage\": \"https://github.com/YOUR_USERNAME/newcraw\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/YOUR_USERNAME/newcraw.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/YOUR_USERNAME/newcraw/issues\"\n },\n \"files\": [\n \"cli.js\",\n \"cli-acp.js\",\n \"yoga.wasm\",\n \"dist/**/*\",\n \"web/dist/**/*\",\n \"scripts/binary-utils.cjs\",\n \"scripts/cli-wrapper.cjs\",\n \"scripts/cli-acp-wrapper.cjs\",\n \"scripts/postinstall.js\",\n \".npmrc\"\n ],\n \"scripts\": {\n \"dev\": \"bun run ./src/entrypoints/cli.tsx --verbose\",\n \"gateway\": \"bun run ./src/entrypoints/gateway.ts\",\n \"gateway:dev\": \"bun run ./src/entrypoints/gateway.ts --domain general\",\n \"build:npm\": \"bun run scripts/build.mjs\",\n \"build\": \"bun run build:npm\",\n \"build:binary\": \"bun run scripts/build-binary.mjs\",\n \"clean\": \"bun run scripts/clean.mjs\",\n \"prepublishOnly\": \"bun run build:npm && bun run scripts/prepublish-check.js\",\n \"postinstall\": \"node scripts/postinstall.js || true\",\n \"format\": \"prettier --write \\\"src/**/*.{ts,tsx,js,jsx,json}\\\" \\\"tests/**/*.{ts,tsx,js,jsx,json}\\\"\",\n \"format:check\": \"prettier --check \\\"src/**/*.{ts,tsx,js,jsx,json}\\\" \\\"tests/**/*.{ts,tsx,js,jsx,json}\\\"\",\n \"lint\": \"eslint . --ext .ts,.tsx,.js --max-warnings 0\",\n \"lint:fix\": \"eslint . --ext .ts,.tsx,.js --fix\",\n \"test\": \"bun test\",\n \"test:unit\": \"bun test tests/unit\",\n \"test:integration\": \"bun test tests/integration\",\n \"test:e2e\": \"bun test tests/e2e\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepare\": \"bun run scripts/install-hooks.mjs\",\n \"publish:dev\": \"bun run scripts/publish-dev.js\",\n \"publish:release\": \"bun run scripts/publish-release.js\",\n \"bench:startup\": \"bun run scripts/bench-startup.mjs\",\n \"parity:reference\": \"bun run scripts/reference-parity-check.mjs\",\n \"web:dev\": \"npm run dev --prefix web\",\n \"web:build\": \"npm run build --prefix web\"\n },\n \"dependencies\": {\n \"@anthropic-ai/bedrock-sdk\": \"^0.12.6\",\n \"@anthropic-ai/sdk\": \"^0.39.0\",\n \"@anthropic-ai/vertex-sdk\": \"^0.7.0\",\n \"@aws-sdk/client-bedrock-runtime\": \"3.797.0\",\n \"@commander-js/extra-typings\": \"^13.1.0\",\n \"@inkjs/ui\": \"^2.0.0\",\n \"@modelcontextprotocol/sdk\": \"^1.15.1\",\n \"@types/lodash-es\": \"^4.17.12\",\n \"@types/react\": \"^19.1.8\",\n \"@vscode/ripgrep\": \"^1.17.0\",\n \"ajv\": \"^8.17.1\",\n \"ansi-escapes\": \"^7.0.0\",\n \"chalk\": \"^5.4.1\",\n \"cli-highlight\": \"^2.1.11\",\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^13.1.0\",\n \"debug\": \"^4.4.1\",\n \"diff\": \"^7.0.0\",\n \"dotenv\": \"^16.6.1\",\n \"env-paths\": \"^3.0.0\",\n \"fflate\": \"^0.8.2\",\n \"figures\": \"^6.1.0\",\n \"glob\": \"^11.0.3\",\n \"gray-matter\": \"^4.0.3\",\n \"highlight.js\": \"^11.11.1\",\n \"ignore\": \"^7.0.5\",\n \"ink\": \"5.2.1\",\n \"ink-link\": \"^4.1.0\",\n \"ink-select-input\": \"^6.2.0\",\n \"ink-text-input\": \"^6.0.0\",\n \"js-yaml\": \"^4.1.1\",\n \"lodash-es\": \"^4.17.21\",\n \"lru-cache\": \"^11.1.0\",\n \"marked\": \"^15.0.12\",\n \"minimatch\": \"^10.1.1\",\n \"nanoid\": \"^5.1.5\",\n \"node-fetch\": \"^3.3.2\",\n \"node-html-parser\": \"^7.0.1\",\n \"openai\": \"^4.104.0\",\n \"react\": \"18.3.1\",\n \"semver\": \"^7.7.2\",\n \"shell-quote\": \"^1.8.3\",\n \"spawn-rx\": \"^5.1.2\",\n \"string-width\": \"^7.2.0\",\n \"strip-ansi\": \"^7.1.0\",\n \"tsx\": \"^4.20.3\",\n \"turndown\": \"^7.2.0\",\n \"undici\": \"^7.11.0\",\n \"which\": \"^6.0.0\",\n \"wrap-ansi\": \"^9.0.0\",\n \"zod\": \"^3.25.76\",\n \"zod-to-json-schema\": \"^3.24.6\"\n },\n \"devDependencies\": {\n \"@types/bun\": \"latest\",\n \"@types/jest\": \"^30.0.0\",\n \"@types/node\": \"^24.1.0\",\n \"@types/which\": \"^3.0.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.50.1\",\n \"@typescript-eslint/parser\": \"^8.50.1\",\n \"bun-types\": \"latest\",\n \"esbuild\": \"^0.25.9\", \n \"eslint\": \"8.57.0\",\n \"eslint-plugin-react-hooks\": \"^7.0.1\",\n \"prettier\": \"^3.6.2\",\n \"react-devtools-core\": \"^7.0.1\",\n \"typescript\": \"^5.9.2\"\n },\n \"overrides\": {\n \"@aws-sdk/client-bedrock-runtime\": \"3.797.0\",\n \"@smithy/smithy-client\": \"2.5.1\"\n }\n}\n", "import pkg from '../../package.json'\r\n\r\nexport const MACRO = {\r\n VERSION: pkg.version,\r\n README_URL: 'https://github.com/YOUR_USERNAME/newcraw#readme',\r\n PACKAGE_URL: 'newcraw',\r\n ISSUES_EXPLAINER:\r\n 'report the issue at https://github.com/YOUR_USERNAME/newcraw/issues',\r\n}\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|