nolo-cli 0.78.0-alpha.1 → 0.78.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-T3FPYFVF.js → _executeModel-W26HVI75.js} +46 -46
  3. package/{action-D22U6CTH.js → action-6DXQGJMX.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-I7VX5SAC.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-OJSFV7DZ.js} +8 -8
  6. package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-XNFWCKBH.js} +30 -28
  7. package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-W3X3EJ3V.js} +62 -60
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
  9. package/{agentListCommands-IFUOWXP3.js → agentListCommands-DFWFU6XO.js} +38 -30
  10. package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-LMFOAEL4.js} +30 -28
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-ZBYHGTGY.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
  13. package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-FVVVCQFM.js} +59 -57
  14. package/{agentRunCommand-IRSZYCEU.js → agentRunCommand-HTBVIBGV.js} +60 -58
  15. package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
  16. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-2JFG4HDU.js} +28 -26
  17. package/{agentSlice-EACXUOWW.js → agentSlice-ZNLGFUB5.js} +10 -10
  18. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-2UN4N2NR.js} +30 -28
  19. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-37D74KRR.js} +30 -28
  20. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-QBLWL2IA.js} +30 -28
  21. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-6KXIDF2T.js} +30 -28
  22. package/{appListCommands-A6ROBW7P.js → appListCommands-G2WFGEWQ.js} +30 -28
  23. package/{authCommand-EVGFLAHO.js → authCommand-V2DJ7DB7.js} +164 -24
  24. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  25. package/builtinSkillRegistry-WBGYKIAZ.js +33 -0
  26. package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-XCJHIY3R.js} +24 -24
  27. package/chunk-2ADBVBEM.js +1625 -0
  28. package/{chunk-FPTQQSS6.js → chunk-2AYMFHUG.js} +26 -5
  29. package/{chunk-EXMHJN7C.js → chunk-2F4VYGFW.js} +2 -2
  30. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  31. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  32. package/{chunk-733J6D44.js → chunk-3CMTBX3X.js} +6 -6
  33. package/{chunk-PZM3EENV.js → chunk-3CR2LC6X.js} +1 -1
  34. package/{chunk-DWPNOYMB.js → chunk-3R5PH4IP.js} +1 -1
  35. package/{chunk-ZY4K4CZR.js → chunk-4BYPU626.js} +909 -304
  36. package/{chunk-ZZCJUXUI.js → chunk-4DRWWIOL.js} +2 -2
  37. package/{chunk-H7UKKEIS.js → chunk-576IMUGH.js} +1 -1
  38. package/{chunk-QRBAZ5PW.js → chunk-5DFFKASO.js} +3 -3
  39. package/{chunk-MGU5ADIQ.js → chunk-5NMZNPTN.js} +10 -10
  40. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  41. package/{chunk-CDVGNZDA.js → chunk-5V4NJHRM.js} +11 -173
  42. package/chunk-5ZUL4CUO.js +10 -0
  43. package/{chunk-BJCWNHVU.js → chunk-6BEA566T.js} +2 -2
  44. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  45. package/{chunk-U6LKJRJB.js → chunk-7MYYE7WX.js} +42 -26
  46. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  47. package/{chunk-AFIWC5NH.js → chunk-A2C4AKKM.js} +1 -1
  48. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  49. package/{chunk-XEEHSS64.js → chunk-AQZRTHDZ.js} +1200 -52
  50. package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
  51. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  52. package/{chunk-MYU3MJCF.js → chunk-CLI4LFSM.js} +175 -7
  53. package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
  54. package/{chunk-PYXL2CJL.js → chunk-DNQPPRHY.js} +1 -1
  55. package/{chunk-3QPYFHAH.js → chunk-DPQ2WVBY.js} +1 -1
  56. package/{chunk-DSRXPQWA.js → chunk-F2CGG72C.js} +43 -43
  57. package/{chunk-P7FA2HMM.js → chunk-FQYMLZ6C.js} +13 -15
  58. package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
  59. package/{chunk-FSFQ3A7S.js → chunk-GRYGRGPS.js} +10 -10
  60. package/{chunk-D74EWXL4.js → chunk-HMEMJ7GH.js} +386 -46
  61. package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
  62. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  63. package/{chunk-ALGK6TIE.js → chunk-HYZHJ5GW.js} +3 -3
  64. package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
  65. package/{chunk-X7Z7U4Z6.js → chunk-JBBZ5KUM.js} +15 -15
  66. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  67. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  68. package/{chunk-4EJ5QYB5.js → chunk-JTK3TJYV.js} +1 -1
  69. package/{chunk-CMH2SYHX.js → chunk-K7M3MWCE.js} +2 -2
  70. package/{chunk-5J7W2VWW.js → chunk-L2ICPOAL.js} +6 -265
  71. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  72. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  73. package/{chunk-PGSKWZCB.js → chunk-MJHQ3NRV.js} +1 -1
  74. package/{chunk-ZLPA7K55.js → chunk-N3OAPEZE.js} +29 -10
  75. package/{chunk-K7AG465Q.js → chunk-ND2J3NRB.js} +4 -2
  76. package/{chunk-G3NT6BM3.js → chunk-NFMHIUY3.js} +142 -59
  77. package/{chunk-XWNRAIUL.js → chunk-PH5J5VUY.js} +6 -16
  78. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  79. package/chunk-Q5FJJ6XI.js +103 -0
  80. package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
  81. package/{chunk-KIS76A2P.js → chunk-QHETQ3KI.js} +38 -4
  82. package/{chunk-UZ6XXCVR.js → chunk-RZANZZL2.js} +15 -2
  83. package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
  84. package/{chunk-QC5LGHYP.js → chunk-SMZSWB44.js} +10 -5
  85. package/chunk-TL6L5XUT.js +266 -0
  86. package/{chunk-QUH3XHL5.js → chunk-TVNI5FLG.js} +7 -7
  87. package/{chunk-YFADVSZE.js → chunk-UA5S3LQQ.js} +6 -6
  88. package/{chunk-QA6YKM3H.js → chunk-UTCCPWB2.js} +32 -4
  89. package/{chunk-E36HZARC.js → chunk-VHJLQHPQ.js} +3 -3
  90. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  91. package/{chunk-UJ63UXGE.js → chunk-VRLI2WNW.js} +1073 -752
  92. package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
  93. package/{chunk-MEVSATIF.js → chunk-WXPVOQD7.js} +66 -792
  94. package/{chunk-AFIKMMGC.js → chunk-XKQJJK4F.js} +1 -1
  95. package/{chunk-SZLVDREM.js → chunk-XMGHGEN6.js} +3 -3
  96. package/{chunk-L2Y24GRM.js → chunk-XTUY5EL4.js} +16 -12
  97. package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
  98. package/{chunk-GBPZKFYK.js → chunk-Z33ARZCP.js} +4 -4
  99. package/chunk-ZAB3A45K.js +677 -0
  100. package/{chunk-UDQWGU7F.js → chunk-ZBT3WNBK.js} +1 -1
  101. package/{contentThunks-3SPROFG5.js → contentThunks-VURN3DFW.js} +25 -25
  102. package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-QZAAY77R.js} +25 -25
  103. package/{createDialogAction-RLUSTN4D.js → createDialogAction-CHGXVTAC.js} +28 -28
  104. package/{createPageAction-4Y52G7WG.js → createPageAction-IOGAFIN7.js} +26 -26
  105. package/{dbSlice-GKGGFNOB.js → dbSlice-YXQ6RYIH.js} +8 -8
  106. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  107. package/{dialogCommands-G223U5WU.js → dialogCommands-XREAP6WQ.js} +32 -30
  108. package/{dialogSlice-THY45JWM.js → dialogSlice-DOPGWGS4.js} +24 -24
  109. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-3PYZGSCL.js} +31 -29
  110. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-3Y6MU44Q.js} +32 -30
  111. package/{docReadCommands-6BFV2HI7.js → docReadCommands-UBANMAFR.js} +31 -29
  112. package/{docStore-ZQ3ECOPY.js → docStore-SYYFBENY.js} +9 -9
  113. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-4GK2X6BN.js} +31 -29
  114. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  115. package/{getPricing-HRMSOF3E.js → getPricing-F2C65RIX.js} +4 -4
  116. package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-NPVTY2GE.js} +24 -24
  117. package/index.js +88 -80
  118. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  119. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  120. package/{machineCommands-4OT7KVCD.js → machineCommands-I66X2XB7.js} +59 -57
  121. package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-W4FVBOUM.js} +57 -55
  122. package/{memberThunks-KATHH3F4.js → memberThunks-5T4J6KXQ.js} +9 -9
  123. package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
  124. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
  125. package/package.json +1 -1
  126. package/providerPresetApply-OCWWKBSD.js +214 -0
  127. package/providerRegistry-ZJQU7AJ7.js +31 -0
  128. package/{read-LC6HVYBN.js → read-M2Q6WEKB.js} +5 -4
  129. package/{readDocTool-N3ERJHHF.js → readDocTool-T37P3YPB.js} +1 -1
  130. package/{readlineWorkspace-GSL5CYNJ.js → readlineWorkspace-VY5AMOGR.js} +196 -111
  131. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-HB3JBVAI.js} +11 -11
  132. package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-3NDADLVE.js} +45 -45
  133. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  134. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-4XLHRV37.js} +9 -9
  135. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-C3JOFC4W.js} +11 -11
  136. package/{settingSlice-OEJA4NQO.js → settingSlice-CZRURSTH.js} +10 -10
  137. package/{spaceCommands-MRP5U3C3.js → spaceCommands-ENYCUUZH.js} +29 -27
  138. package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-634OFUSR.js} +57 -56
  139. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-C6KVUKJP.js} +8 -8
  140. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  141. package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
  142. package/{tools-JS475NYO.js → tools-ILBLCF7D.js} +41 -39
  143. package/tuiSummaryLlmCaller-LFUBZKXK.js +127 -0
  144. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  145. package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-RKFET73N.js} +45 -28
  146. package/chunk-3IT2PFHL.js +0 -611
  147. package/chunk-I42VC5KR.js +0 -15
  148. package/codingSkills-E6KSDNSJ.js +0 -48
  149. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  150. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  151. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  152. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -4,11 +4,11 @@ import {
4
4
  import {
5
5
  patch,
6
6
  read
7
- } from "./chunk-YFADVSZE.js";
7
+ } from "./chunk-UA5S3LQQ.js";
8
8
  import {
9
9
  DEVICE_LOCAL_OWNER_ID,
10
10
  isDeviceLocalSpaceBody
11
- } from "./chunk-3RAG2NAD.js";
11
+ } from "./chunk-UKWGR5SS.js";
12
12
  import {
13
13
  selectIdentityUserId
14
14
  } from "./chunk-SEJ5OS6F.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-U6LKJRJB.js";
4
+ } from "./chunk-7MYYE7WX.js";
5
5
 
6
6
  // packages/ai/agent/fetchAgentContexts.ts
7
7
  async function fetchAgentContexts(references, dispatch) {
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  patch,
12
12
  readAndWait
13
- } from "./chunk-YFADVSZE.js";
13
+ } from "./chunk-UA5S3LQQ.js";
14
14
  import {
15
15
  asOptionalTrimmedString
16
16
  } from "./chunk-G3SUCT4W.js";
@@ -326,7 +326,7 @@ async function saveDocState(arg, { dispatch, getState }) {
326
326
  ).unwrap();
327
327
  if (dbSpaceId) {
328
328
  try {
329
- const { updateContentTitle } = await import("./contentThunks-3SPROFG5.js");
329
+ const { updateContentTitle } = await import("./contentThunks-VURN3DFW.js");
330
330
  await dispatch(
331
331
  updateContentTitle({
332
332
  spaceId: dbSpaceId,
@@ -365,7 +365,7 @@ async function saveDocState(arg, { dispatch, getState }) {
365
365
  }
366
366
  }
367
367
  async function createDocState(args, thunkApi) {
368
- const { createPageAction } = await import("./createPageAction-4Y52G7WG.js");
368
+ const { createPageAction } = await import("./createPageAction-IOGAFIN7.js");
369
369
  return createPageAction(args, thunkApi);
370
370
  }
371
371
  function subscribe(listener) {
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-G3NT6BM3.js";
4
+ } from "./chunk-NFMHIUY3.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-MEVSATIF.js";
7
+ } from "./chunk-WXPVOQD7.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-ZY4K4CZR.js";
10
+ } from "./chunk-4BYPU626.js";
11
11
  import {
12
12
  applyToolSurfaceConstraints
13
- } from "./chunk-V3ZKNK5D.js";
13
+ } from "./chunk-YOXYA2GU.js";
14
14
  import {
15
15
  resolveLocalRuntimeEnvFromPolicy
16
- } from "./chunk-3JQ2NRYU.js";
16
+ } from "./chunk-HVURBGF3.js";
17
17
  import {
18
18
  toErrorMessage
19
19
  } from "./chunk-HNMXYYJR.js";
@@ -32,19 +32,19 @@ import {
32
32
  } from "./chunk-KX6YBIHG.js";
33
33
  import {
34
34
  asTrimmedNonEmptyStringArray
35
- } from "./chunk-I42VC5KR.js";
35
+ } from "./chunk-VMFTFOWF.js";
36
36
  import {
37
37
  ownedAgentKey
38
- } from "./chunk-BJIRLHJR.js";
38
+ } from "./chunk-GII32WZW.js";
39
+ import {
40
+ isRecord
41
+ } from "./chunk-KUG52IAP.js";
39
42
  import {
40
43
  asTrimmedString
41
44
  } from "./chunk-3EUW3WEO.js";
42
45
  import {
43
46
  asOptionalPositiveFiniteNumber
44
47
  } from "./chunk-U6VC4MU4.js";
45
- import {
46
- isRecord
47
- } from "./chunk-KUG52IAP.js";
48
48
  import {
49
49
  asOptionalTrimmedString
50
50
  } from "./chunk-G3SUCT4W.js";
@@ -18,9 +18,13 @@ var CORE_DRAINING_MAX_ATTEMPTS = 30;
18
18
  var RETRYABLE_HTTP_STATUSES = /* @__PURE__ */ new Set([429, 503]);
19
19
  function isTransientFetchError(error) {
20
20
  const message = toErrorMessage(error);
21
- return /certificate|handshake|network|socket|timed out|timeout|ECONNRESET/i.test(
21
+ return /certificate|handshake|network|socket|timed out|timeout|ECONNRESET|UND_ERR_SOCKET|other side closed/i.test(
22
22
  message
23
- );
23
+ ) || // undici(Node fetch)连接中途被断开时抛 `TypeError: terminated`,message
24
+ // 就是裸的 "terminated"(真实 cause 是 UND_ERR_SOCKET)。只认「整条就是
25
+ // terminated」或「前缀: terminated」这种形态,避免把 access_terminated_error
26
+ // (配额封禁)或 "process was terminated by signal" 误判成可重试的网络抖动。
27
+ /(?:^|:\s*)terminated$/i.test(message.trim());
24
28
  }
25
29
  async function defaultSleep(ms) {
26
30
  await new Promise((resolve) => setTimeout(resolve, ms));
@@ -1,58 +1,54 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-P7FA2HMM.js";
3
+ } from "./chunk-FQYMLZ6C.js";
4
4
  import {
5
5
  prepareAndPersistMessage,
6
6
  uiAskChoiceFunc,
7
7
  uiAskChoiceFunctionSchema
8
- } from "./chunk-D74EWXL4.js";
8
+ } from "./chunk-HMEMJ7GH.js";
9
9
  import {
10
10
  require_date_fns
11
11
  } from "./chunk-M76ECQRD.js";
12
12
  import {
13
- TOOL_PACKS
14
- } from "./chunk-MYU3MJCF.js";
15
- import {
16
- buildSkillDocMarkdown
17
- } from "./chunk-AETZ7AD6.js";
13
+ buildBuiltinObjectSkillReference
14
+ } from "./chunk-CLI4LFSM.js";
18
15
  import {
19
16
  PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
20
17
  PLATFORM_HOSTED_KIMI_PROVIDER
21
- } from "./chunk-AJHEFRGJ.js";
18
+ } from "./chunk-ASGDO77C.js";
22
19
  import {
23
20
  read,
24
21
  readAndWait,
25
22
  removeCachedEntity,
26
23
  upsertSSREntity,
27
24
  write
28
- } from "./chunk-YFADVSZE.js";
25
+ } from "./chunk-UA5S3LQQ.js";
29
26
  import {
30
27
  createAgentKey,
31
28
  createDialogKey,
32
- createKey,
33
29
  createMemoryKey,
34
30
  dialogMessageRange,
35
31
  memoryOwnerRange,
36
32
  memorySubjectKindRange
37
- } from "./chunk-NHRQCXIQ.js";
33
+ } from "./chunk-VMFTFOWF.js";
38
34
  import {
39
35
  extractCustomId
40
- } from "./chunk-BJIRLHJR.js";
36
+ } from "./chunk-GII32WZW.js";
41
37
  import {
42
38
  isDevelopment
43
39
  } from "./chunk-QOKAKDPE.js";
44
40
  import {
45
41
  selectIdentityUserId
46
42
  } from "./chunk-SEJ5OS6F.js";
43
+ import {
44
+ isRecord
45
+ } from "./chunk-KUG52IAP.js";
47
46
  import {
48
47
  asTrimmedString
49
48
  } from "./chunk-3EUW3WEO.js";
50
49
  import {
51
50
  asOptionalPositiveFiniteNumber
52
51
  } from "./chunk-U6VC4MU4.js";
53
- import {
54
- isRecord
55
- } from "./chunk-KUG52IAP.js";
56
52
  import {
57
53
  asOptionalTrimmedString
58
54
  } from "./chunk-G3SUCT4W.js";
@@ -63,160 +59,6 @@ import {
63
59
  // packages/chat/dialog/actions/createDialogAction.ts
64
60
  var import_date_fns = __toESM(require_date_fns());
65
61
 
66
- // packages/ai/skills/builtinObjectSkills.ts
67
- var BUILTIN_OBJECT_SKILL_IDS = {
68
- table: "builtin-table-skill-v1",
69
- doc: "builtin-doc-skill-v1",
70
- // key 改名为 code-style(它本来就叫「编码风格技能」,"code" 这个名字是它抢的,
71
- // 与「代码执行」能力包撞车)。**id 值保持不变**——skillId 与页面 key 都从它派生,
72
- // 改了会让存量 agent.references 失配。
73
- "code-style": "builtin-code-skill-v1",
74
- image: "builtin-image-skill-v1",
75
- file: "builtin-file-skill-v1",
76
- pagebuilder: "builtin-pagebuilder-skill-v1"
77
- };
78
- var SKILL_DEFS = {
79
- doc: {
80
- id: BUILTIN_OBJECT_SKILL_IDS.doc,
81
- name: "\u6587\u6863\u7F16\u8F91\u6280\u80FD",
82
- description: "\u63D0\u4F9B\u6587\u6863\u8BFB\u53D6\u4E0E\u66F4\u65B0\u80FD\u529B\uFF0C\u4F9B\u6587\u6863\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u6587\u6863\u3001\u6DA6\u8272\u3001\u6539\u5199\u3001\u7EED\u5199\u3001\u6392\u7248\u3001\u6587\u7AE0\u3001document\u3001polish\u3002",
83
- toolNames: ["readDoc", "updateDoc"],
84
- promptPatch: [
85
- "\u6587\u6863\u7F16\u8F91\u6307\u5357\uFF1A",
86
- "1. \u4FEE\u6539\u524D\u5148 readDoc \u8BFB\u53D6\u5F53\u524D\u6587\u6863\u771F\u503C\uFF0C\u518D\u57FA\u4E8E\u73B0\u6709\u5185\u5BB9\u7528 updateDoc \u505A\u5B9A\u70B9\u589E\u91CF\u7F16\u8F91\u3002",
87
- "2. \u4E0D\u8981\u8131\u79BB\u73B0\u6709\u5185\u5BB9\u7A7A\u60F3\u91CD\u5199\uFF1B\u6DA6\u8272/\u6539\u5199/\u7EED\u5199\u90FD\u5E94\u4FDD\u7559\u7528\u6237\u539F\u6709\u7684\u7ED3\u6784\u4E0E\u4E8B\u5B9E\u3002"
88
- ].join("\n")
89
- },
90
- table: {
91
- id: BUILTIN_OBJECT_SKILL_IDS.table,
92
- name: "\u8868\u683C\u7F16\u8F91\u6280\u80FD",
93
- description: "\u63D0\u4F9B\u8868\u683C\u521B\u5EFA\u3001\u67E5\u8BE2\u3001\u65B0\u589E\u3001\u66F4\u65B0\u4E0E\u5220\u9664\u80FD\u529B\uFF0C\u4F9B\u8868\u683C\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u8868\u683C\u3001\u5EFA\u8868\u3001\u65B0\u589E\u4E00\u884C\u3001\u8BB0\u5F55\u3001\u5B57\u6BB5\u3001table\u3001spreadsheet\u3001csv\u3002",
94
- // 与 app-builder 能力包共用同一份清单(TOOL_PACKS.TABLE)。
95
- // 以前两边各抄一份,改一个忘另一个就会静默不同步。
96
- toolNames: [...TOOL_PACKS.TABLE],
97
- promptPatch: [
98
- "\u8868\u683C\u64CD\u4F5C\u6307\u5357\uFF1A",
99
- "1. \u7528\u6237\u8981\u65B0\u5EFA\u8868\u683C\u65F6\uFF0C\u8C03\u7528 createTable\uFF0C\u5E76\u4ECE\u9700\u6C42\u63A8\u65AD\u5408\u7406\u7684\u5B57\u6BB5\u8BBE\u8BA1\uFF08\u5B57\u6BB5\u540D\u3001\u7C7B\u578B\u3001\u5FC5\u586B\u3001\u53EF\u9009\u503C\uFF09\u3002",
100
- "2. \u65B0\u589E\u8BB0\u5F55\u5FC5\u987B\u8C03\u7528 addTableRow / addTableRows\uFF0C\u4E0D\u8981\u53EA\u5728\u56DE\u7B54\u91CC\u53E3\u5934\u63CF\u8FF0\u3002",
101
- "3. addTableRow \u7684 values \u662F\u5BF9\u8C61\uFF0Ckey \u5FC5\u987B\u7528\u5B57\u6BB5\u540D\uFF08name\uFF0C\u4E0D\u662F\u663E\u793A\u540D label\uFF09\uFF1B\u5C3D\u91CF\u4ECE\u7528\u6237\u81EA\u7136\u8BED\u8A00\u63A8\u65AD\u5E76\u586B\u6EE1\u76F8\u5173\u5B57\u6BB5\uFF0C\u5FC5\u586B\u5B57\u6BB5\u5C24\u5176\u6CE8\u610F\uFF1B\u7528\u6237\u6CA1\u63D0\u5230\u7684\u5B57\u6BB5\u53EF\u7528\u7A7A\u5B57\u7B26\u4E32\u6216 null \u5360\u4F4D\uFF1B\u7EDD\u4E0D\u8981\u4F20\u7A7A\u5BF9\u8C61 {}\u3002",
102
- "4. \u66F4\u65B0\u6216\u5220\u9664\u524D\uFF0C\u5148\u7528 queryTableRows \u786E\u8BA4\u76EE\u6807\u884C\uFF0C\u5FC5\u8981\u65F6\u5411\u7528\u6237\u786E\u8BA4\u76EE\u6807\u884C/\u5B57\u6BB5\u3002"
103
- ].join("\n")
104
- },
105
- "code-style": {
106
- id: BUILTIN_OBJECT_SKILL_IDS["code-style"],
107
- name: "\u7F16\u7801\u98CE\u683C\u6280\u80FD",
108
- description: "\u63D0\u4F9B\u7F16\u7801\u89C4\u8303\u4E0E\u98CE\u683C\u7EA6\u675F\uFF0C\u4F9B\u4EE3\u7801\u4EFB\u52A1\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u4EE3\u7801\u3001\u7F16\u7801\u3001\u91CD\u6784\u3001\u4FEEbug\u3001code\u3001refactor\u3001bugfix\u3001coding-style\u3002",
109
- toolNames: [],
110
- promptPatch: [
111
- "\u7F16\u7801\u98CE\u683C\u4E0E\u89C4\u8303\u6307\u5357\uFF1A",
112
- "1. \u6587\u4EF6\u62C6\u5206\uFF1A\u4F18\u5148\u62C6\u5206\u4E3A\u591A\u6587\u4EF6\uFF08MANY SMALL FILES\uFF09\uFF0C\u5178\u578B\u957F\u5EA6 200-400 \u884C\uFF0C\u5355\u6587\u4EF6\u6700\u591A 800 \u884C\uFF08800 max\uFF09\u3002",
113
- "2. \u51FD\u6570\u4E0E\u5D4C\u5957\uFF1A\u51FD\u6570\u4FDD\u6301\u77ED\u5C0F\uFF08<50 lines\uFF09\uFF0C\u4F18\u5148\u4F7F\u7528 early returns \u63D0\u524D\u8FD4\u56DE\uFF0C\u5D4C\u5957\u5C42\u7EA7\u4E0D\u8D85\u8FC7 4 \u5C42\uFF08nesting \u22644\uFF09\u3002",
114
- "3. \u4E0D\u53EF\u53D8\u6027\uFF08immutability\uFF09\uFF1A\u4FDD\u6301\u6570\u636E\u4E0D\u53EF\u53D8\uFF0C\u4E0D\u8981\u539F\u5730 mutate \u73B0\u6709\u5BF9\u8C61\u6216\u6570\u7EC4\uFF0C\u5FC5\u987B\u8FD4\u56DE\u65B0\u5BF9\u8C61/\u6570\u7EC4\u3002",
115
- "4. \u9519\u8BEF\u5904\u7406\u4E0E\u6821\u9A8C\uFF1A\u663E\u5F0F\u5904\u7406\u6240\u6709\u9519\u8BEF\uFF08explicit error handling\uFF09\uFF0C\u5728\u7CFB\u7EDF\u8FB9\u754C\u5B8C\u6210\u6821\u9A8C\uFF08validate at boundaries\uFF09\uFF0C\u4E0D\u9690\u5F0F\u541E\u9519\u3002",
116
- "5. \u5B8C\u6210\u524D Checklist\uFF1A\u5B8C\u6210\u524D\u81EA\u67E5\u51FD\u6570/\u6587\u4EF6\u5C3A\u5BF8\u3001\u5D4C\u5957\u6DF1\u5EA6\u3001\u4E0D\u53EF\u53D8\u6027\u4E0E\u8FB9\u754C\u9519\u8BEF\u5904\u7406\u3002"
117
- ].join("\n")
118
- },
119
- image: {
120
- id: BUILTIN_OBJECT_SKILL_IDS.image,
121
- name: "\u56FE\u7247\u5206\u6790\u6280\u80FD",
122
- description: "\u63D0\u4F9B\u56FE\u7247\u7406\u89E3\u3001\u63CF\u8FF0\u4E0E\u6574\u7406\u5EFA\u8BAE\u80FD\u529B\uFF0C\u4F9B\u56FE\u7247\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u56FE\u7247\u3001\u56FE\u50CF\u3001\u5206\u6790\u3001\u63CF\u8FF0\u3001\u547D\u540D\u3001\u6574\u7406\u3001image\u3001photo\u3001picture\u3002",
123
- toolNames: [],
124
- promptPatch: [
125
- "\u56FE\u7247\u5206\u6790\u6307\u5357\uFF1A",
126
- "1. \u5F53\u524D\u9636\u6BB5\u91CD\u70B9\u56F4\u7ED5\u5F53\u524D\u56FE\u7247\u505A\u7406\u89E3\u3001\u63CF\u8FF0\u3001\u63D0\u70BC\u91CD\u70B9\u3001\u7ED9\u51FA\u547D\u540D/\u6574\u7406\u5EFA\u8BAE\u548C\u540E\u7EED\u5904\u7406\u5EFA\u8BAE\u3002",
127
- "2. \u4E0D\u8981\u5047\u88C5\u5DF2\u7ECF\u5177\u5907\u590D\u6742\u56FE\u7247\u7F16\u8F91\u80FD\u529B\uFF1B\u5982\u679C\u7528\u6237\u8981\u66F4\u5F3A\u64CD\u4F5C\uFF0C\u660E\u786E\u8BF4\u660E\u5F53\u524D\u53EF\u505A\u7684\u662F\u5206\u6790\u4E0E\u7EC4\u7EC7\u3002"
128
- ].join("\n")
129
- },
130
- file: {
131
- id: BUILTIN_OBJECT_SKILL_IDS.file,
132
- name: "\u6587\u4EF6\u5904\u7406\u6280\u80FD",
133
- description: "\u63D0\u4F9B\u6587\u4EF6\u7406\u89E3\u3001\u6574\u7406\u4E0E\u5904\u7406\u5EFA\u8BAE\u80FD\u529B\uFF0C\u4F9B\u6587\u4EF6\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u6587\u4EF6\u3001\u89E3\u6790\u3001\u63D0\u53D6\u3001\u6574\u7406\u3001\u5904\u7406\u3001file\u3001document\u3001pdf\u3002",
134
- toolNames: [],
135
- promptPatch: [
136
- "\u6587\u4EF6\u5904\u7406\u6307\u5357\uFF1A",
137
- "1. \u5F53\u524D\u9636\u6BB5\u91CD\u70B9\u56F4\u7ED5\u5F53\u524D\u6587\u4EF6\u63D0\u4F9B\u7406\u89E3\u3001\u6574\u7406\u3001\u63D0\u53D6\u4E0E\u540E\u7EED\u5904\u7406\u5EFA\u8BAE\u3002",
138
- "2. \u4E0D\u8981\u5047\u88C5\u5DF2\u7ECF\u5B8C\u6210\u6587\u4EF6\u5185\u5BB9\u89E3\u6790\uFF1B\u5FC5\u8981\u65F6\u660E\u786E\u544A\u8BC9\u7528\u6237\u5F53\u524D\u66F4\u591A\u662F\u5360\u4F4D\u578B\u5DE5\u4F5C\u6D41\u5165\u53E3\uFF0C\u7B49\u5F85\u540E\u7EED\u63A5\u5165\u66F4\u5B8C\u6574\u7684\u6587\u4EF6\u5904\u7406\u80FD\u529B\u3002"
139
- ].join("\n")
140
- },
141
- pagebuilder: {
142
- id: BUILTIN_OBJECT_SKILL_IDS.pagebuilder,
143
- name: "\u52A8\u6001\u4EA4\u4E92\u7EC4\u4EF6\u751F\u6210\u6280\u80FD",
144
- description: "\u628A\u4E00\u53E5\u8BDD\u9700\u6C42\u53D8\u6210\u53EF\u770B\u7684\u4EA4\u4E92\u9875\u9762\u3001\u62A5\u544A\u3001\u770B\u677F\u3001\u4E3B\u9875\u3001\u6559\u7A0B\u3001\u5BF9\u6BD4\u9875\u6216\u8BA1\u5212\u9875\u3002\u4EFB\u4F55 agent \u5728\u9700\u8981\u8F93\u51FA\u53EF\u4EA4\u4E92\u53EF\u89C6\u5316\u6D88\u606F\u65F6\u6309\u9700\u52A0\u8F7D\u3002\u89E6\u53D1\u8BCD\uFF1A\u9875\u9762\u3001\u62A5\u8868\u3001\u770B\u677F\u3001\u65E5\u62A5\u3001\u5468\u62A5\u3001\u4E3B\u9875\u3001\u6559\u7A0B\u3001\u5BF9\u6BD4\u9875\u3001\u8BA1\u5212\u9875\u3001\u53EF\u89C6\u5316\u3001\u4EA4\u4E92\u9875\u9762\u3001\u4EEA\u8868\u76D8\u3001dashboard\u3001report\u3001page\u3001landing\u3002",
145
- toolNames: [],
146
- promptPatch: [
147
- "\u52A8\u6001\u4EA4\u4E92\u7EC4\u4EF6\u751F\u6210\u89C4\u5219\uFF1A",
148
- "\u4F60\u73B0\u5728\u7684\u4EFB\u52A1\u662F\u628A\u7528\u6237\u9700\u6C42\u53D8\u6210\u4E00\u4E2A\u53EF\u770B\u7684\u4EA4\u4E92\u9875\u9762/\u62A5\u544A/\u770B\u677F/\u4E3B\u9875/\u6559\u7A0B/\u5BF9\u6BD4\u9875/\u8BA1\u5212\u9875\u3002\u7528\u6237\u770B\u4E0D\u5230\u6E90\u7801\uFF0C\u53EA\u4F1A\u770B\u5230\u9875\u9762\u7ED3\u679C\u3002",
149
- "",
150
- "\u7EDD\u5BF9\u89C4\u5219\uFF1A",
151
- "1. \u53EA\u8F93\u51FA\u4E00\u4E2A Markdown \u4EE3\u7801\u5757\uFF0C\u4EE3\u7801\u5757\u8BED\u8A00\u5FC5\u987B\u662F tsx preview\u3002",
152
- "2. \u4EE3\u7801\u5757\u5916\u4E0D\u8981\u8F93\u51FA\u89E3\u91CA\u3001\u524D\u8A00\u3001\u7ED3\u5C3E\u3001\u6E05\u5355\u6216\u601D\u8003\u8FC7\u7A0B\u3002",
153
- "3. \u4EE3\u7801\u5FC5\u987B\u5B9A\u4E49\u9876\u5C42 function Example()\uFF0C\u4E0D\u8981\u8C03\u7528 render()\uFF0C\u4E0D\u8981 export default\u3002",
154
- "4. \u4E0D\u8981\u5199 import\u3002\u8FD0\u884C\u73AF\u5883\u5DF2\u7ECF\u63D0\u4F9B React\u3001useState\u3001useEffect\u3001useMemo\u3001useCallback\u3001useRef\u3001ReactECharts\u3001react-icons/lu \u7684\u56FE\u6807\u7EC4\u4EF6\u3002",
155
- "5. \u6240\u6709\u4EA4\u4E92\u5FC5\u987B\u5728 Example \u5185\u7528 React state \u5B9E\u73B0\uFF0C\u6309\u94AE\u3001Tab\u3001FAQ\u3001\u6B65\u9AA4\u5207\u6362\u3001\u7B5B\u9009\u90FD\u8981\u771F\u7684\u53EF\u70B9\u51FB\u3002",
156
- "6. \u4E3A\u4E3B\u8981\u533A\u5757\u52A0 data-artifact-section \u5C5E\u6027\u3002",
157
- "7. \u751F\u6210\u7ED3\u679C\u4F18\u5148\u662F\u4E00\u9875\u5B8C\u6574\u53EF\u7528\u7684\u9875\u9762\uFF0C\u4E0D\u8981\u53EA\u505A\u5B64\u7ACB\u5361\u7247\u6216\u4E00\u4E2A\u56FE\u3002",
158
- "8. \u5982\u679C\u7528\u6237\u6CA1\u6709\u7ED9\u5177\u4F53\u6570\u636E\uFF0C\u53EF\u4EE5\u751F\u6210\u5408\u7406\u7684\u793A\u4F8B\u6570\u636E\uFF0C\u4F46\u8981\u4FDD\u6301\u4E1A\u52A1\u53EF\u4FE1\u3002",
159
- "",
160
- "\u5404\u7C7B\u9875\u9762\u9ED8\u8BA4\u7ED3\u6784\uFF1A",
161
- "- \u4FE1\u606F\u5C55\u793A\u7C7B\uFF08\u4E3B\u9875\u3001\u4EA7\u54C1\u4ECB\u7ECD\u3001\u670D\u52A1\u9875\u3001\u4F5C\u54C1\u96C6\u3001\u6D3B\u52A8\u9875\uFF09\uFF1A\u9996\u5C4F\u5B9A\u4F4D\u3001\u670D\u52A1/\u80FD\u529B\u5361\u7247\u3001\u4EE3\u8868\u6210\u679C\u5361\u7247\u3001\u53EF\u4FE1\u80CC\u4E66\u3001\u8054\u7CFB\u6216\u884C\u52A8\u6309\u94AE\u3002",
162
- "- \u6570\u636E\u5206\u6790\u7C7B\uFF08\u65E5\u62A5\u3001\u5468\u62A5\u3001\u770B\u677F\u3001\u8D28\u68C0\u3001\u9500\u552E\u6F0F\u6597\u3001\u53CD\u9988\u5206\u6790\uFF09\uFF1A\u9876\u90E8\u6458\u8981\u3001\u6838\u5FC3\u6307\u6807\u3001\u8D8B\u52BF\u56FE\u3001\u660E\u7EC6\u8868\u683C\u6216\u5F02\u5E38\u5217\u8868\u3001\u4E0B\u4E00\u6B65\u5EFA\u8BAE\u3002",
163
- "- \u6D41\u7A0B\u8BF4\u660E\u7C7B\uFF08\u6559\u7A0B\u3001SOP\u3001onboarding\u3001\u64CD\u4F5C\u6307\u5357\u3001\u8BFE\u7A0B\u6B65\u9AA4\uFF09\uFF1A\u5B66\u4E60\u76EE\u6807\u3001\u6B65\u9AA4\u5361\u7247\u3001\u793A\u4F8B/\u7EC3\u4E60\u3001\u68C0\u67E5\u6E05\u5355\u6216\u4E0B\u4E00\u6B65\u6309\u94AE\u3002",
164
- "- \u51B3\u7B56\u6BD4\u8F83\u7C7B\uFF08\u65B9\u6848\u5BF9\u6BD4\u3001\u4EA7\u54C1\u9009\u578B\u3001\u7ADE\u54C1\u5206\u6790\u3001\u91C7\u8D2D\u5EFA\u8BAE\uFF09\uFF1A\u5BF9\u6BD4\u7EF4\u5EA6\u8868\u683C\u3001\u4F18\u7F3A\u70B9\u5361\u7247\u3001\u8BC4\u5206\u6216\u9002\u914D\u5EA6\u3001\u63A8\u8350\u7ED3\u8BBA\u3002",
165
- "- \u8BA1\u5212\u6392\u5E03\u7C7B\uFF08\u9879\u76EE\u8BA1\u5212\u3001\u5B66\u4E60\u8BA1\u5212\u3001\u5185\u5BB9\u65E5\u5386\u3001\u53D1\u5E03\u8282\u594F\uFF09\uFF1A\u9636\u6BB5\u76EE\u6807\u3001\u4EFB\u52A1\u5217\u8868\u3001\u4F18\u5148\u7EA7\u3001\u91CC\u7A0B\u7891\u5361\u7247\u3001\u98CE\u9669\u63D0\u9192\u3002",
166
- "- \u6DF7\u5408\u6C47\u62A5\u7C7B\uFF08\u878D\u8D44\u9875\u3001\u9879\u76EE\u6982\u89C8\u3001\u590D\u6742\u6C47\u62A5\uFF09\uFF1A\u81F3\u5C11\u5305\u542B MetricCard\u3001Chart\u3001Table \u548C Section\uFF0C\u4E0D\u8981\u53EA\u505A\u5355\u4E00\u5217\u8868\u3002",
167
- "- \u6559\u7A0B/\u6B65\u9AA4/FAQ/Tab/\u7B5B\u9009/\u9875\u9762\u5185\u8DF3\u8F6C\u5FC5\u987B\u505A\u6210\u771F\u5B9E\u53EF\u70B9\u51FB\u4EA4\u4E92\u3002",
168
- "",
169
- "\u4EE3\u7801\u98CE\u683C\uFF1A",
170
- "1. \u4F7F\u7528\u5185\u8054 style \u6216\u7EC4\u4EF6\u5185 <style>\uFF0C\u4E0D\u8981\u4F9D\u8D56 Tailwind \u6216\u5916\u90E8 CSS\u3002",
171
- "2. \u9875\u9762\u5BBD\u5EA6\u3001\u95F4\u8DDD\u3001\u5B57\u53F7\u8981\u9002\u5408\u6D88\u606F\u5185\u9884\u89C8\uFF1B\u4E0D\u8981\u7528\u8FC7\u5927\u7684\u843D\u5730\u9875 hero\u3002",
172
- "3. \u989C\u8272\u8981\u514B\u5236\uFF0C\u6709\u5C42\u6B21\uFF1B\u907F\u514D\u6574\u9875\u5355\u4E00\u84DD\u7D2B\u6E10\u53D8\u3002",
173
- "4. \u8868\u683C\u3001\u56FE\u8868\u3001\u5361\u7247\u3001\u6309\u94AE\u90FD\u8981\u6709 hover/active/focus \u7684\u7EC6\u8282\u3002",
174
- "5. \u5FC5\u8981\u65F6\u4F7F\u7528 ReactECharts \u753B\u56FE\uFF1B\u7B80\u5355\u67F1\u72B6\u56FE\u4E5F\u53EF\u4EE5\u7528 div \u5B9E\u73B0\uFF0C\u4FDD\u8BC1\u7A33\u5B9A\u3002",
175
- "6. \u4EE3\u7801\u5C3D\u91CF\u77ED\u800C\u5B8C\u6574\uFF0C\u9ED8\u8BA4 150-260 \u884C\u4EE5\u5185\u3002",
176
- "",
177
- "\u8F93\u51FA\u683C\u5F0F\u793A\u4F8B\uFF1A",
178
- "```tsx preview",
179
- "function Example() {",
180
- " const [tab, setTab] = useState('overview');",
181
- " return <main><section data-artifact-section>...</section></main>;",
182
- "}",
183
- "```"
184
- ].join("\n")
185
- }
186
- };
187
- function buildBuiltinObjectSkillConfig(kind) {
188
- const def = SKILL_DEFS[kind];
189
- return {
190
- version: "0.1",
191
- kind: "skill",
192
- id: def.id,
193
- name: def.name,
194
- description: def.description,
195
- triggerMode: "explicit",
196
- toolNames: def.toolNames,
197
- promptPatch: def.promptPatch
198
- };
199
- }
200
- function buildBuiltinObjectSkillDbKey(kind, userId) {
201
- return createKey("page" /* DOC */, userId, BUILTIN_OBJECT_SKILL_IDS[kind]);
202
- }
203
- function buildBuiltinObjectSkillReference(kind, userId) {
204
- return {
205
- dbKey: buildBuiltinObjectSkillDbKey(kind, userId),
206
- title: SKILL_DEFS[kind].name,
207
- type: "instruction"
208
- };
209
- }
210
- function buildBuiltinObjectSkillPageContent(kind) {
211
- const def = SKILL_DEFS[kind];
212
- return buildSkillDocMarkdown({
213
- body: `# ${def.name}
214
-
215
- ${def.description}`,
216
- skillConfig: buildBuiltinObjectSkillConfig(kind)
217
- });
218
- }
219
-
220
62
  // packages/chat/dialog/objectAssistantRegistry.ts
221
63
  var OBJECT_ASSISTANT_TO_SKILL = {
222
64
  page: "doc",
@@ -1141,10 +983,6 @@ var createDialogAction = async (args, thunkApi) => {
1141
983
  };
1142
984
 
1143
985
  export {
1144
- BUILTIN_OBJECT_SKILL_IDS,
1145
- buildBuiltinObjectSkillConfig,
1146
- buildBuiltinObjectSkillDbKey,
1147
- buildBuiltinObjectSkillPageContent,
1148
986
  resolveAgentMemoryPolicy,
1149
987
  buildMemorySubjectsForAgent,
1150
988
  chooseMemoryOwners,
@@ -0,0 +1,10 @@
1
+ // packages/agent-runtime/devinOAuthPure.ts
2
+ function isDevinOAuthAgent(agent) {
3
+ const ref = agent.apiKeyRef?.trim().toLowerCase();
4
+ const prov = agent.provider?.trim().toLowerCase();
5
+ return ref === "devin" || prov === "devin";
6
+ }
7
+
8
+ export {
9
+ isDevinOAuthAgent
10
+ };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  selectCurrentServer
3
- } from "./chunk-XWNRAIUL.js";
3
+ } from "./chunk-PH5J5VUY.js";
4
4
  import {
5
5
  patch
6
- } from "./chunk-YFADVSZE.js";
6
+ } from "./chunk-UA5S3LQQ.js";
7
7
  import {
8
8
  getIsDesktopApp
9
9
  } from "./chunk-QOKAKDPE.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ESHYE7WU.js";
4
4
  import {
5
5
  getDefaultCliLocalRuntimeDb
6
- } from "./chunk-C3FZR5EC.js";
6
+ } from "./chunk-2F7RJC6L.js";
7
7
  import {
8
8
  buildCliRuntimeEnv,
9
9
  clearProfileAuthToken,
@@ -12,7 +12,7 @@ import {
12
12
  getProfileTokens,
13
13
  loadProfileConfig,
14
14
  saveDefaultProfile
15
- } from "./chunk-2KDR4CWE.js";
15
+ } from "./chunk-BYMV6QZG.js";
16
16
  import {
17
17
  resolveAuthTokenFromEnv
18
18
  } from "./chunk-A7GB5UGH.js";
@@ -20,14 +20,12 @@ import {
20
20
  DEFAULT_NOLO_SERVER_URL
21
21
  } from "./chunk-OLZBQWZU.js";
22
22
  import {
23
+ asTrimmedNonEmptyStringArray,
23
24
  createMemoryKey,
24
25
  createMemoryOwnerIndexKey,
25
26
  createMemorySubjectKindIndexKey,
26
27
  memoryOwnerRange
27
- } from "./chunk-NHRQCXIQ.js";
28
- import {
29
- asTrimmedNonEmptyStringArray
30
- } from "./chunk-I42VC5KR.js";
28
+ } from "./chunk-VMFTFOWF.js";
31
29
  import {
32
30
  asTrimmedString
33
31
  } from "./chunk-3EUW3WEO.js";
@@ -6,9 +6,8 @@ import {
6
6
  } from "./chunk-HS7MLR74.js";
7
7
  import {
8
8
  clipMultilineText,
9
- fetchAndSerializeTable,
10
- resolveBuiltinSkillPage
11
- } from "./chunk-MEVSATIF.js";
9
+ fetchAndSerializeTable
10
+ } from "./chunk-WXPVOQD7.js";
12
11
  import {
13
12
  isGatewayHttpStatus
14
13
  } from "./chunk-NF64D32W.js";
@@ -20,7 +19,7 @@ import {
20
19
  } from "./chunk-3L2WKC3W.js";
21
20
  import {
22
21
  slateToSimplifiedMarkdown
23
- } from "./chunk-UDQWGU7F.js";
22
+ } from "./chunk-ZBT3WNBK.js";
24
23
  import {
25
24
  waitForAbortableDelay
26
25
  } from "./chunk-N4G4PKQ6.js";
@@ -29,25 +28,26 @@ import {
29
28
  } from "./chunk-MEYIRKDN.js";
30
29
  import {
31
30
  fetchAndCacheMessages
32
- } from "./chunk-D74EWXL4.js";
31
+ } from "./chunk-HMEMJ7GH.js";
33
32
  import {
34
33
  shouldUseServerProxy
35
34
  } from "./chunk-YYLHWIW6.js";
36
35
  import {
37
36
  fetchServerSyncedCredential
38
- } from "./chunk-QUH3XHL5.js";
37
+ } from "./chunk-TVNI5FLG.js";
39
38
  import {
40
39
  buildSkillGuidancePromptBlock,
41
40
  extractRuntimePageCapabilities,
41
+ resolveBuiltinSkillPage,
42
42
  resolveSkillGraphFromRoots
43
- } from "./chunk-3IT2PFHL.js";
43
+ } from "./chunk-2ADBVBEM.js";
44
44
  import {
45
45
  buildIdentityBlock,
46
46
  buildRuntimeGuidanceBlocks,
47
47
  compileContextLayers,
48
48
  normalizeChatCompletionsBodyForProvider,
49
49
  resolveToolGuidedSections
50
- } from "./chunk-ZLPA7K55.js";
50
+ } from "./chunk-N3OAPEZE.js";
51
51
  import {
52
52
  convertMessagesToResponsesInput,
53
53
  getUsageRequestOptions,
@@ -57,26 +57,26 @@ import {
57
57
  import {
58
58
  ANTIGRAVITY_CLOUD_CODE_BASE_URL,
59
59
  isAntigravityOAuthAgent
60
- } from "./chunk-PGSKWZCB.js";
60
+ } from "./chunk-MJHQ3NRV.js";
61
61
  import {
62
62
  buildProviderAuthHeaders
63
- } from "./chunk-CMH2SYHX.js";
63
+ } from "./chunk-K7M3MWCE.js";
64
+ import {
65
+ estimateTokenCount
66
+ } from "./chunk-PSCNXBYA.js";
64
67
  import {
65
68
  isOpenAiResponsesModel,
66
69
  resolvePlatformChatCompletionsEndpoint,
67
70
  resolvePlatformResponsesEndpoint
68
- } from "./chunk-K7AG465Q.js";
69
- import {
70
- estimateTokenCount
71
- } from "./chunk-PSCNXBYA.js";
71
+ } from "./chunk-ND2J3NRB.js";
72
72
  import {
73
73
  clampReasoningEffort,
74
74
  getModelConfig,
75
75
  isModelSupportReasoningEffort
76
- } from "./chunk-UJ63UXGE.js";
76
+ } from "./chunk-VRLI2WNW.js";
77
77
  import {
78
78
  createFileCredentialBroker
79
- } from "./chunk-3JQ2NRYU.js";
79
+ } from "./chunk-HVURBGF3.js";
80
80
  import {
81
81
  toErrorMessage
82
82
  } from "./chunk-HNMXYYJR.js";
@@ -91,32 +91,33 @@ import {
91
91
  import {
92
92
  isDeepInfraKimiModel,
93
93
  isFireworksKimiModel,
94
+ isPlatformMimoProviderModel,
94
95
  resolveFireworksKimiModel
95
- } from "./chunk-AJHEFRGJ.js";
96
+ } from "./chunk-ASGDO77C.js";
96
97
  import {
97
98
  createSpaceKey
98
99
  } from "./chunk-UAD2WT54.js";
99
100
  import {
100
101
  read
101
- } from "./chunk-YFADVSZE.js";
102
+ } from "./chunk-UA5S3LQQ.js";
102
103
  import {
103
104
  asTrimmedLowercaseString
104
105
  } from "./chunk-QSJ3HFEF.js";
105
106
  import {
106
107
  extractCustomId
107
- } from "./chunk-BJIRLHJR.js";
108
+ } from "./chunk-GII32WZW.js";
108
109
  import {
109
110
  getRuntimeServerContext
110
- } from "./chunk-3RAG2NAD.js";
111
+ } from "./chunk-UKWGR5SS.js";
111
112
  import {
112
113
  isAbortError
113
114
  } from "./chunk-QOKAKDPE.js";
114
- import {
115
- asTrimmedString
116
- } from "./chunk-3EUW3WEO.js";
117
115
  import {
118
116
  isRecord
119
117
  } from "./chunk-KUG52IAP.js";
118
+ import {
119
+ asTrimmedString
120
+ } from "./chunk-3EUW3WEO.js";
120
121
  import {
121
122
  API_ENDPOINTS
122
123
  } from "./chunk-LCBAMY2M.js";
@@ -367,10 +368,12 @@ function isResponsesConversationStateRejection(status, responseBody) {
367
368
  // packages/agent-runtime/agentCallPlan.ts
368
369
  var CODEX_RESPONSES_URL = "https://chatgpt.com/backend-api/codex/responses";
369
370
  var CURSOR_AGENT_URL = "https://api2.cursor.sh/agent.v1.AgentService/Run";
371
+ var DEVIN_CONNECT_URL = "https://server.codeium.com/exa.api_server_pb.ApiServerService/GetChatMessage";
370
372
  function resolveClientWire(plan) {
371
373
  if (plan.upstreamWire === "gemini-cca") return "chat.completions";
372
374
  if (plan.upstreamWire === "anthropic-messages") return "chat.completions";
373
375
  if (plan.upstreamWire === "cursor-connect") return "chat.completions";
376
+ if (plan.upstreamWire === "devin-connect") return "chat.completions";
374
377
  if (plan.upstreamWire === "responses" && plan.authMethod.kind === "oauth" && plan.authMethod.ref === "chatgpt") {
375
378
  return "chat.completions";
376
379
  }
@@ -450,6 +453,16 @@ function resolveAgentCallPlan(agentConfig, _env) {
450
453
  vendor: provider || "cursor"
451
454
  };
452
455
  }
456
+ if (apiKeyRef === "devin" || provider === "devin") {
457
+ return {
458
+ authMethod: { kind: "oauth", ref: "devin" },
459
+ transport: "server-proxy",
460
+ upstreamWire: "devin-connect",
461
+ endpoint: DEVIN_CONNECT_URL,
462
+ requiredHeaders: ["connect-protocol-version"],
463
+ vendor: provider || "devin"
464
+ };
465
+ }
453
466
  if (agentConfig.cliProvider || agentConfig.apiSource === "cli" || provider === "cli") {
454
467
  return {
455
468
  authMethod: { kind: "cli", provider: agentConfig.cliProvider || provider || "codex" },
@@ -706,9 +719,12 @@ var shouldInjectLlamaCppThinkingToggle = (agentConfig) => {
706
719
  if (!isLoopbackUrl(agentConfig.customProviderUrl)) return false;
707
720
  return /qwen/i.test(agentConfig.model ?? "");
708
721
  };
709
- var shouldDisableMiMoThinking = (agentConfig) => {
722
+ var shouldDisableMiMoThinking = (agentConfig, resolvedModel) => {
710
723
  if (agentConfig.enableThinking === true) return false;
711
- return /xiaomimimo\.com/i.test(agentConfig.customProviderUrl ?? "") || (agentConfig.provider ?? "").toLowerCase() === "mimo";
724
+ if (/xiaomimimo\.com/i.test(agentConfig.customProviderUrl ?? "") || (agentConfig.provider ?? "").toLowerCase() === "mimo") {
725
+ return true;
726
+ }
727
+ return isPlatformMimoProviderModel(agentConfig.provider, resolvedModel);
712
728
  };
713
729
  var shouldDisableKimiThinking = (agentConfig, providerName, resolvedModel) => {
714
730
  if (agentConfig.enableThinking !== false) return false;
@@ -823,7 +839,7 @@ var generateOpenAIRequestBody = (agentConfig, providerName, messages, contexts,
823
839
  enable_thinking: agentConfig.enableThinking
824
840
  };
825
841
  }
826
- if (shouldDisableMiMoThinking(agentConfig)) {
842
+ if (shouldDisableMiMoThinking(agentConfig, resolvedModel)) {
827
843
  requestBody.thinking = { type: "disabled" };
828
844
  }
829
845
  if (shouldDisableKimiThinking(agentConfig, providerName, resolvedModel)) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dialogMessageRange
3
- } from "./chunk-NHRQCXIQ.js";
3
+ } from "./chunk-VMFTFOWF.js";
4
4
  import {
5
5
  isTombstoneRecord
6
6
  } from "./chunk-GBRG75BQ.js";
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-QA6YKM3H.js";
5
+ } from "./chunk-UTCCPWB2.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRuntimeServerContext,
3
3
  scheduleDeleteReplication
4
- } from "./chunk-3RAG2NAD.js";
4
+ } from "./chunk-UKWGR5SS.js";
5
5
  import {
6
6
  fetchFromClientDb
7
7
  } from "./chunk-QOKAKDPE.js";