nolo-cli 0.69.0-alpha.2 → 0.70.0-alpha.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 (98) hide show
  1. package/{_executeModel-YXI7ADJF.js → _executeModel-GOV2OHC7.js} +32 -32
  2. package/{action-AOORTHTU.js → action-D22U6CTH.js} +4 -4
  3. package/{addContentAction-E3S6F3IS.js → addContentAction-XAPUTGL4.js} +3 -3
  4. package/{addDialogAgentAction-EUBNJ5SS.js → addDialogAgentAction-M7VLLBZM.js} +2 -2
  5. package/{agentDeleteCommand-B5SKAPTR.js → agentDeleteCommand-FSIMTL4K.js} +16 -16
  6. package/{agentEmailCommands-LVUZQHBF.js → agentEmailCommands-YZQ2VVHY.js} +37 -37
  7. package/{agentListCommands-D2E7SFRQ.js → agentListCommands-2YWZYH52.js} +18 -18
  8. package/{agentMachineCommands-XNIBG4L2.js → agentMachineCommands-UCYM5RRQ.js} +17 -17
  9. package/{agentRecordCommands-ID3URU2J.js → agentRecordCommands-TPBYOPMA.js} +36 -36
  10. package/{agentRunCommand-KZMPUI53.js → agentRunCommand-HBC2EQVU.js} +36 -36
  11. package/{agentRuntimeLocal-T47DU3IA.js → agentRuntimeLocal-O6DZDTK4.js} +16 -16
  12. package/{agentSlice-K5IE7FV3.js → agentSlice-ZPODGT3P.js} +3 -3
  13. package/{appDeleteCommands-URD2F5YN.js → appDeleteCommands-HIJNWSK7.js} +16 -16
  14. package/{appDeployCommands-OACWEEWP.js → appDeployCommands-XULV2ZN6.js} +16 -16
  15. package/{appDeployStatusCommands-TVYLIUEU.js → appDeployStatusCommands-ETY4Z7K6.js} +16 -16
  16. package/{appGetCommands-ZWG2YEAE.js → appGetCommands-M253LKDA.js} +16 -16
  17. package/{appListCommands-E3BMSQEY.js → appListCommands-XYFXJMNP.js} +16 -16
  18. package/{authCommand-QHMBXOOH.js → authCommand-EVGFLAHO.js} +7 -7
  19. package/{chatQueueReduxAdapter-HL5A3L2W.js → chatQueueReduxAdapter-Z67OC4WO.js} +13 -13
  20. package/{chunk-RW76G3YN.js → chunk-3IT2PFHL.js} +1 -1
  21. package/{chunk-OMHOVU2L.js → chunk-3NVAU4WZ.js} +1 -1
  22. package/{chunk-RJ5HQDHL.js → chunk-3QPYFHAH.js} +1 -1
  23. package/{chunk-IOZR6BLM.js → chunk-3U3EA3BO.js} +1 -1
  24. package/{chunk-7JS3F5ZR.js → chunk-4EJ5QYB5.js} +1 -1
  25. package/{chunk-4MKPBCTN.js → chunk-5J7W2VWW.js} +2 -3
  26. package/{chunk-VOEOMLKR.js → chunk-AAWBX67U.js} +9 -9
  27. package/{chunk-5YIL5WDC.js → chunk-AJHEFRGJ.js} +220 -71
  28. package/{chunk-76JAMDUT.js → chunk-BJCWNHVU.js} +2 -2
  29. package/{chunk-2L7EUBRN.js → chunk-BLCUMZNV.js} +4 -4
  30. package/{chunk-RXYIUZU5.js → chunk-CJ23A7U4.js} +9 -9
  31. package/{chunk-VLQRD7ZJ.js → chunk-CMH2SYHX.js} +2 -2
  32. package/{chunk-PADUIVUU.js → chunk-DQAEUZSQ.js} +3 -3
  33. package/{chunk-2XENHR3P.js → chunk-DSRXPQWA.js} +4 -4
  34. package/{chunk-3E67YXGD.js → chunk-E36HZARC.js} +2 -2
  35. package/{chunk-SHPRRU2W.js → chunk-EXMHJN7C.js} +2 -2
  36. package/{chunk-4ENGEYUY.js → chunk-F657NADX.js} +4 -4
  37. package/{chunk-6RNOFHEM.js → chunk-FCCT2LU2.js} +116 -28
  38. package/{chunk-UFTOGLCE.js → chunk-FPTQQSS6.js} +1 -1
  39. package/{chunk-BNATE77Z.js → chunk-GBPZKFYK.js} +1 -1
  40. package/{chunk-ZCVO2HLZ.js → chunk-HXAINXPQ.js} +4 -4
  41. package/{chunk-SQDGTW2T.js → chunk-K7AG465Q.js} +2 -4
  42. package/{chunk-Y7PULBIA.js → chunk-KIS76A2P.js} +1 -1
  43. package/{chunk-AJF6YRN7.js → chunk-MYU3MJCF.js} +5 -1
  44. package/{chunk-6IT5ECCC.js → chunk-NG4UT4K4.js} +1 -1
  45. package/{chunk-LMEH4C4G.js → chunk-NUTDASGX.js} +3 -3
  46. package/{chunk-ZW22L5ES.js → chunk-PGSKWZCB.js} +1 -1
  47. package/{chunk-XTJTN3RW.js → chunk-PUOC4YRO.js} +0 -4
  48. package/{chunk-36G25COQ.js → chunk-PWGW5JTK.js} +1 -1
  49. package/{chunk-RSDPPLSM.js → chunk-PYXL2CJL.js} +1 -1
  50. package/{chunk-K647EQV3.js → chunk-PZM3EENV.js} +1 -1
  51. package/{chunk-JKAWV72Y.js → chunk-RFMPSCHX.js} +14 -14
  52. package/{chunk-Z3XXUE2E.js → chunk-SPQ7GSUX.js} +17 -17
  53. package/{chunk-WMRPXIZY.js → chunk-SZLVDREM.js} +1 -1
  54. package/{chunk-V3B6FQKC.js → chunk-TVDZABBT.js} +13 -13
  55. package/{chunk-5TJQUZQ7.js → chunk-UDQWGU7F.js} +1 -1
  56. package/{chunk-TQC77XVE.js → chunk-UJ63UXGE.js} +1 -1
  57. package/{chunk-SKWZFK56.js → chunk-VLX45P4L.js} +5 -5
  58. package/{chunk-OPNHMILE.js → chunk-XWNRAIUL.js} +2 -2
  59. package/{chunk-4K6DB3GJ.js → chunk-YFADVSZE.js} +3 -3
  60. package/{chunk-O2X6R45W.js → chunk-YYLLD6H6.js} +3 -3
  61. package/{chunk-C2SHPJSS.js → chunk-ZIUMSKK4.js} +28 -38
  62. package/{chunk-KRR3AG7T.js → chunk-ZLPA7K55.js} +3 -3
  63. package/{chunk-IM5EETJX.js → chunk-ZZCJUXUI.js} +1 -1
  64. package/{codingSkills-DB4QPUND.js → codingSkills-E6KSDNSJ.js} +2 -2
  65. package/{contentThunks-XV3U3V2O.js → contentThunks-VGXYTSKU.js} +14 -14
  66. package/{createAgentAutomationAction-UKKP6SAJ.js → createAgentAutomationAction-6YBZFLET.js} +14 -14
  67. package/{createDialogAction-WK6Y7DD7.js → createDialogAction-N7CTNKB5.js} +16 -16
  68. package/{createPageAction-SLRDORVZ.js → createPageAction-RXOOVKVO.js} +14 -14
  69. package/{dbSlice-WL5T2LVF.js → dbSlice-GKGGFNOB.js} +2 -2
  70. package/{dialogCommands-E5AAV7PB.js → dialogCommands-PE5FEFJ5.js} +16 -16
  71. package/{dialogSlice-2TSABNK5.js → dialogSlice-NLSKRXBN.js} +13 -13
  72. package/{docCreateCommands-N7P5VBTU.js → docCreateCommands-IPDFZVPG.js} +16 -16
  73. package/{docDeleteCommands-LZPPUYY6.js → docDeleteCommands-VQ4Y66CM.js} +16 -16
  74. package/{docReadCommands-UCQGMMBR.js → docReadCommands-PD33VV27.js} +16 -16
  75. package/{docStore-GX4LBBIB.js → docStore-CIAYE5WP.js} +3 -3
  76. package/{docUpdateCommands-H57EVVVE.js → docUpdateCommands-CGUQ2JY3.js} +16 -16
  77. package/{getPricing-JRNHI5CV.js → getPricing-HRMSOF3E.js} +3 -3
  78. package/{handleSendMessageAction-DYAB4HTU.js → handleSendMessageAction-ENUNMW3Z.js} +13 -13
  79. package/index.js +47 -47
  80. package/{machineCommands-3Y3EHK2H.js → machineCommands-APIJY7UA.js} +36 -36
  81. package/{machineWsRunDispatch-RSVSJ4D7.js → machineWsRunDispatch-42WKRDE7.js} +36 -36
  82. package/{memberThunks-OBDDU3NR.js → memberThunks-KATHH3F4.js} +3 -3
  83. package/{models-NBVTQACP.js → models-GS72DVJS.js} +2 -2
  84. package/package.json +1 -1
  85. package/{read-OOTHDABU.js → read-LC6HVYBN.js} +1 -1
  86. package/{readDocTool-OU4QXJT6.js → readDocTool-N3ERJHHF.js} +1 -1
  87. package/{readlineWorkspace-7FZA4JYG.js → readlineWorkspace-MUV7VRD4.js} +37 -37
  88. package/{removeDialogAgentAction-BVU6E27N.js → removeDialogAgentAction-F5GPTALR.js} +4 -4
  89. package/{runAgentClientLoop-VZCX37ZP.js → runAgentClientLoop-A4OXYOCL.js} +30 -30
  90. package/{setDialogExtraReferencesAction-AUKADSTQ.js → setDialogExtraReferencesAction-AY4ZCF3A.js} +3 -3
  91. package/{setPrimaryDialogAgentAction-HMHZWURC.js → setPrimaryDialogAgentAction-HPMG7V3R.js} +4 -4
  92. package/{settingSlice-HIQRILF5.js → settingSlice-OEJA4NQO.js} +3 -3
  93. package/{spaceCommands-ANELRNRF.js → spaceCommands-Y47DDAQD.js} +16 -16
  94. package/{streamAgentChatTurn-QM364J6U.js → streamAgentChatTurn-YHKNJEFR.js} +34 -34
  95. package/{switchDialogAgentAction-Y66ZTIGP.js → switchDialogAgentAction-HMDZTZ4I.js} +2 -2
  96. package/{tools-YNRN4HC7.js → tools-S5RSWF3R.js} +24 -24
  97. package/{tuiSummaryLlmCaller-ZGATEM35.js → tuiSummaryLlmCaller-J5BEPLW5.js} +10 -10
  98. package/{updateDialogTitleAction-OOYKI7LI.js → updateDialogTitleAction-BU2VPE5B.js} +14 -14
@@ -29,7 +29,7 @@ import {
29
29
  toCompactAgentSummary,
30
30
  toSafeAgentSummary,
31
31
  toUnavailableAgentSummary
32
- } from "./chunk-UFTOGLCE.js";
32
+ } from "./chunk-FPTQQSS6.js";
33
33
  import {
34
34
  getUserDataItemTimestamp,
35
35
  mergeAndDedupUserData
@@ -40,7 +40,7 @@ import {
40
40
  readPageFunc,
41
41
  readPageFunctionSchema,
42
42
  slateToSimplifiedMarkdown
43
- } from "./chunk-5TJQUZQ7.js";
43
+ } from "./chunk-UDQWGU7F.js";
44
44
  import {
45
45
  addMemberSpace,
46
46
  fetchAuthoritativeRemoteSpace,
@@ -52,7 +52,7 @@ import {
52
52
  setMembershipRejected,
53
53
  setSpaceInitialized,
54
54
  updateMemberSpaceName
55
- } from "./chunk-K647EQV3.js";
55
+ } from "./chunk-PZM3EENV.js";
56
56
  import {
57
57
  ToolApiError,
58
58
  buildToolRequestHeaders,
@@ -63,7 +63,7 @@ import {
63
63
  } from "./chunk-OZX2IPKM.js";
64
64
  import {
65
65
  setDialogExtraReferencesAction
66
- } from "./chunk-7JS3F5ZR.js";
66
+ } from "./chunk-4EJ5QYB5.js";
67
67
  import {
68
68
  waitForAbortableDelay
69
69
  } from "./chunk-N4G4PKQ6.js";
@@ -81,14 +81,14 @@ import {
81
81
  } from "./chunk-VF4K2QE6.js";
82
82
  import {
83
83
  createDocState
84
- } from "./chunk-PADUIVUU.js";
84
+ } from "./chunk-DQAEUZSQ.js";
85
85
  import {
86
86
  BUILTIN_OBJECT_SKILL_IDS,
87
87
  buildBuiltinObjectSkillConfig,
88
88
  buildBuiltinObjectSkillDbKey,
89
89
  buildBuiltinObjectSkillPageContent,
90
90
  createDialogAction
91
- } from "./chunk-SKWZFK56.js";
91
+ } from "./chunk-VLX45P4L.js";
92
92
  import {
93
93
  DEFAULT_COLLAPSED_CATEGORIES,
94
94
  addContentToSpace,
@@ -106,7 +106,7 @@ import {
106
106
  updateContentCategory,
107
107
  updateContentTitle,
108
108
  writeStoredCollapsedCategories
109
- } from "./chunk-2L7EUBRN.js";
109
+ } from "./chunk-BLCUMZNV.js";
110
110
  import {
111
111
  getCurrentSpaceId,
112
112
  getCurrentSpaceIdRaw,
@@ -128,14 +128,14 @@ import {
128
128
  selectMsgById,
129
129
  uiAskChoiceFunc,
130
130
  uiAskChoiceFunctionSchema
131
- } from "./chunk-C2SHPJSS.js";
131
+ } from "./chunk-ZIUMSKK4.js";
132
132
  import {
133
133
  createAgent,
134
134
  deleteServerSyncedCredential,
135
135
  runLlm,
136
136
  streamAgentChatTurn,
137
137
  updateAgent
138
- } from "./chunk-4ENGEYUY.js";
138
+ } from "./chunk-F657NADX.js";
139
139
  import {
140
140
  getActiveDialogKey,
141
141
  selectCurrentDialogKey,
@@ -150,10 +150,10 @@ import {
150
150
  buildCodingSkillContentBySlug,
151
151
  buildCodingSkillId,
152
152
  buildCodingSkillPageKey
153
- } from "./chunk-RW76G3YN.js";
153
+ } from "./chunk-3IT2PFHL.js";
154
154
  import {
155
155
  CAPABILITY_PACKS
156
- } from "./chunk-AJF6YRN7.js";
156
+ } from "./chunk-MYU3MJCF.js";
157
157
  import {
158
158
  buildSkillDocMarkdown,
159
159
  normalizeSkillModalities,
@@ -184,10 +184,10 @@ import {
184
184
  } from "./chunk-CJCJF5XB.js";
185
185
  import {
186
186
  buildDatabaseFileContentUrl
187
- } from "./chunk-3E67YXGD.js";
187
+ } from "./chunk-E36HZARC.js";
188
188
  import {
189
189
  DEFAULT_MODEL
190
- } from "./chunk-TQC77XVE.js";
190
+ } from "./chunk-UJ63UXGE.js";
191
191
  import {
192
192
  compactWhitespace
193
193
  } from "./chunk-DWLEOOGR.js";
@@ -203,7 +203,7 @@ import {
203
203
  } from "./chunk-O6OSWFZQ.js";
204
204
  import {
205
205
  shareResourceAction
206
- } from "./chunk-WMRPXIZY.js";
206
+ } from "./chunk-SZLVDREM.js";
207
207
  import {
208
208
  AGENT_UPDATE_FIELD_NAMES,
209
209
  nolotusId,
@@ -211,7 +211,7 @@ import {
211
211
  selectAutoApproveSelfUpdateFields,
212
212
  selectCurrentServer,
213
213
  selectSyncServers
214
- } from "./chunk-OPNHMILE.js";
214
+ } from "./chunk-XWNRAIUL.js";
215
215
  import {
216
216
  asRecordOrEmpty
217
217
  } from "./chunk-KX6YBIHG.js";
@@ -219,7 +219,7 @@ import {
219
219
  UNCATEGORIZED_ID,
220
220
  addContentAction,
221
221
  checkSpaceMembership
222
- } from "./chunk-IM5EETJX.js";
222
+ } from "./chunk-ZZCJUXUI.js";
223
223
  import {
224
224
  createSpaceKey,
225
225
  normalizeSpaceId
@@ -234,7 +234,7 @@ import {
234
234
  selectEntities,
235
235
  toTimestampMs,
236
236
  write
237
- } from "./chunk-4K6DB3GJ.js";
237
+ } from "./chunk-YFADVSZE.js";
238
238
  import {
239
239
  SEPARATOR,
240
240
  TYPE_STORAGE_PREFIXES,
@@ -266,7 +266,7 @@ import {
266
266
  } from "./chunk-QSJ3HFEF.js";
267
267
  import {
268
268
  readAction
269
- } from "./chunk-4MKPBCTN.js";
269
+ } from "./chunk-5J7W2VWW.js";
270
270
  import {
271
271
  extractCustomId
272
272
  } from "./chunk-BJIRLHJR.js";
@@ -919,7 +919,7 @@ var HOSTED_EXEC_RUNTIME_TOOL_POLICY = {
919
919
  workspace: { mode: "lease" }
920
920
  };
921
921
  var findModelConfig = async (modelName, provider) => {
922
- const { ALL_MODELS } = await import("./models-NBVTQACP.js");
922
+ const { ALL_MODELS } = await import("./models-GS72DVJS.js");
923
923
  const name = toTrimmedString(modelName);
924
924
  const prov = toTrimmedString(provider ?? "");
925
925
  if (!name) return null;
@@ -1164,7 +1164,7 @@ var buildPlatformFormDataFromArgs = async (args) => {
1164
1164
  const trimmedModel = toTrimmedString(model);
1165
1165
  const trimmedProvider = toTrimmedString(provider);
1166
1166
  const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
1167
- const { getModelPricing } = await import("./getPricing-JRNHI5CV.js");
1167
+ const { getModelPricing } = await import("./getPricing-HRMSOF3E.js");
1168
1168
  const normalizedTools = tools ?? [];
1169
1169
  const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
1170
1170
  const formData = {
@@ -4672,7 +4672,7 @@ async function deleteDialogsFunc(args, thunkApi) {
4672
4672
  const deletedDialogIds = [];
4673
4673
  const deletedDialogKeys = [];
4674
4674
  const failures = [];
4675
- const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-2TSABNK5.js");
4675
+ const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-NLSKRXBN.js");
4676
4676
  for (const target of targets) {
4677
4677
  try {
4678
4678
  await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
@@ -4979,7 +4979,7 @@ var readSkillDocFunctionSchema = {
4979
4979
  }
4980
4980
  };
4981
4981
  async function readSkillDocFunc(args, thunkApi) {
4982
- const { buildReadDocResult } = await import("./readDocTool-OU4QXJT6.js");
4982
+ const { buildReadDocResult } = await import("./readDocTool-N3ERJHHF.js");
4983
4983
  const id = args?.id ?? args?.doc ?? args?.docKey ?? args?.pageKey;
4984
4984
  if (typeof id !== "string" || !id.trim()) {
4985
4985
  throw new Error("readSkillDoc requires id or doc.");
@@ -5782,7 +5782,7 @@ var fetchSpaceAction = async (input, thunkAPI) => {
5782
5782
  const spaceKey = createSpaceKey.space(spaceId);
5783
5783
  const readSpace = async (dbKey) => {
5784
5784
  try {
5785
- const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-WL5T2LVF.js");
5785
+ const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-GKGGFNOB.js");
5786
5786
  if (fresh) {
5787
5787
  return await dispatch(readAndWait2(dbKey)).unwrap();
5788
5788
  }
@@ -9653,6 +9653,82 @@ async function wereadGatewayFunc(args, thunkApi) {
9653
9653
  return callToolApi(thunkApi, "/api/weread/gateway", args, { withAuth: true });
9654
9654
  }
9655
9655
 
9656
+ // packages/ai/tools/watchCompletionTool.ts
9657
+ var WATCH_COMPLETION_API_PATH = "/api/watch-completion";
9658
+ var watchCompletionFunctionSchema = {
9659
+ name: "watchCompletion",
9660
+ description: "\u767B\u8BB0\u4E00\u6B21\u300C\u4EFB\u52A1\u5B8C\u6210\u8BA2\u9605\u300D\u540E\u7ACB\u5373\u8FD4\u56DE\uFF1A\u88AB\u8FFD\u8E2A\u7684 nolo-ci \u4EFB\u52A1\uFF08\u5982 push \u89E6\u53D1\u7684\u90E8\u7F72\uFF09\u5230\u8FBE\u7EC8\u6001\u65F6\uFF0C\u670D\u52A1\u7AEF\u4F1A\u81EA\u52A8\u5524\u9192\u672C\u5BF9\u8BDD\u5E76\u4EA4\u4ED8\u7ED3\u679C\u3002\u8C03\u7528\u540E\u4E0D\u8981\u8F6E\u8BE2\u72B6\u6001\u3001\u4E0D\u8981\u7B49\u5F85\u2014\u2014\u76F4\u63A5\u5411\u7528\u6237\u786E\u8BA4\u8BA2\u9605\u5DF2\u5EFA\u7ACB\u5373\u53EF\u3002ref \u4F20 jobId \u6216\u76EE\u6807 commit sha\uFF1Benvironment \u662F\u76EE\u6807\u90E8\u7F72\u73AF\u5883\u3002",
9661
+ parameters: {
9662
+ type: "object",
9663
+ properties: {
9664
+ kind: {
9665
+ type: "string",
9666
+ enum: ["nolo-ci-job"],
9667
+ description: "\u8BA2\u9605\u6765\u6E90\u7C7B\u578B\u3002\u5F53\u524D\u652F\u6301 nolo-ci-job\uFF08push \u89E6\u53D1\u7684 nolo-ci \u90E8\u7F72/\u53D1\u5E03\u4EFB\u52A1\uFF09\u3002"
9668
+ },
9669
+ ref: {
9670
+ type: "string",
9671
+ description: "\u7CBE\u786E\u8FFD\u8E2A\u76EE\u6807\uFF1Anolo-ci \u7684 jobId\uFF0C\u6216\u671F\u671B\u4E0A\u7EBF\u7684 commit sha\uFF08\u5B8C\u6574\u6216 \u22657 \u4F4D\u77ED sha\uFF09\u3002"
9672
+ },
9673
+ environment: {
9674
+ type: "string",
9675
+ enum: ["alpha", "main"],
9676
+ description: "\u76EE\u6807\u73AF\u5883\uFF1Aalpha\uFF08us.nolo.chat\uFF09\u6216 main\uFF08nolo.chat\uFF09\u3002"
9677
+ }
9678
+ },
9679
+ required: ["kind", "ref", "environment"]
9680
+ }
9681
+ };
9682
+ var normalizeArgs = (rawArgs) => ({
9683
+ kind: typeof rawArgs?.kind === "string" ? rawArgs.kind.trim() : "",
9684
+ ref: typeof rawArgs?.ref === "string" ? rawArgs.ref.trim() : "",
9685
+ environment: typeof rawArgs?.environment === "string" ? rawArgs.environment.trim() : ""
9686
+ });
9687
+ var findMissingWatchCompletionArg = (args) => !args.kind ? "kind" : !args.ref ? "ref" : !args.environment ? "environment" : null;
9688
+ function buildWatchCompletionRequestBody(args) {
9689
+ const body = {
9690
+ kind: args.kind,
9691
+ ref: args.ref,
9692
+ environment: args.environment
9693
+ };
9694
+ const parentDialogId = typeof args.dialogId === "string" && args.dialogId.trim() || null;
9695
+ if (parentDialogId) body.parentDialogId = parentDialogId;
9696
+ return body;
9697
+ }
9698
+ async function watchCompletionFunc(rawArgs, thunkApi, context) {
9699
+ const args = normalizeArgs(rawArgs);
9700
+ const invalid = findMissingWatchCompletionArg(args);
9701
+ if (invalid) {
9702
+ const display = `watchCompletion: \u7F3A\u5C11\u5FC5\u586B\u53C2\u6570 ${invalid}\u3002`;
9703
+ return { rawData: { ok: false, error: display }, displayData: display };
9704
+ }
9705
+ const body = buildWatchCompletionRequestBody({
9706
+ kind: args.kind,
9707
+ ref: args.ref,
9708
+ environment: args.environment,
9709
+ dialogId: typeof context?.dialogId === "string" ? context.dialogId : null
9710
+ });
9711
+ try {
9712
+ const data = await callToolApi(
9713
+ thunkApi,
9714
+ WATCH_COMPLETION_API_PATH,
9715
+ body,
9716
+ { withAuth: true }
9717
+ );
9718
+ if (!data?.ok) {
9719
+ const display = `watchCompletion: \u8BA2\u9605\u767B\u8BB0\u5931\u8D25${data?.error ? `\uFF1A${data.error}` : "\u3002"}`;
9720
+ return { rawData: data ?? { ok: false }, displayData: display };
9721
+ }
9722
+ return {
9723
+ rawData: data,
9724
+ displayData: data.message ?? "\u2705 \u5DF2\u767B\u8BB0\u4EFB\u52A1\u5B8C\u6210\u8BA2\u9605\uFF0C\u4EFB\u52A1\u7EC8\u6001\u540E\u672C\u5BF9\u8BDD\u4F1A\u88AB\u81EA\u52A8\u5524\u9192\u3002\u7B49\u5F85\u671F\u95F4\u65E0\u9700\u8F6E\u8BE2\u3002"
9725
+ };
9726
+ } catch (error) {
9727
+ const display = `watchCompletion: \u8BA2\u9605\u767B\u8BB0\u8BF7\u6C42\u5931\u8D25\uFF1A${error?.message ?? String(error)}`;
9728
+ return { rawData: { ok: false, error: display }, displayData: display };
9729
+ }
9730
+ }
9731
+
9656
9732
  // packages/ai/tools/browserTools/common.ts
9657
9733
  async function executeBrowserTool(toolName, parameters, thunkApi) {
9658
9734
  try {
@@ -11508,7 +11584,7 @@ var selectUserIdFromState = (state2) => {
11508
11584
  var selectCurrentServerFromState = (state2) => typeof state2?.settings?.currentServer === "string" ? state2.settings.currentServer : null;
11509
11585
  async function addImageContentToSpace(input) {
11510
11586
  const injectedAddContentAction = input.thunkApi?.extra?.addContentAction;
11511
- const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-E3S6F3IS.js")).addContentAction;
11587
+ const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-XAPUTGL4.js")).addContentAction;
11512
11588
  await addContentAction2(
11513
11589
  {
11514
11590
  spaceId: input.spaceId,
@@ -15429,7 +15505,7 @@ var executeToolRun = createAsyncThunk(
15429
15505
  if (!executionInput) {
15430
15506
  throw new Error(`ToolRun ${id} has no input to execute with.`);
15431
15507
  }
15432
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-YNRN4HC7.js");
15508
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-S5RSWF3R.js");
15433
15509
  const { executor } = findToolExecutor2(run.toolName);
15434
15510
  toolRunStarted({
15435
15511
  id: run.id,
@@ -15453,7 +15529,7 @@ var executeToolRun = createAsyncThunk(
15453
15529
  const latestState = thunkApi.getState();
15454
15530
  const userId = selectIdentityUserId(latestState);
15455
15531
  if (userId) {
15456
- const { fetchUserSpaceMemberships } = await import("./memberThunks-OBDDU3NR.js");
15532
+ const { fetchUserSpaceMemberships } = await import("./memberThunks-KATHH3F4.js");
15457
15533
  await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
15458
15534
  }
15459
15535
  }
@@ -17936,7 +18012,7 @@ async function updateDocFunc(args, thunkApi) {
17936
18012
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
17937
18013
  };
17938
18014
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
17939
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-GX4LBBIB.js");
18015
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-CIAYE5WP.js");
17940
18016
  if (getDocState().pageKey === id) {
17941
18017
  applyExternalDocUpdate({
17942
18018
  slateData: finalSlateData,
@@ -17961,7 +18037,7 @@ async function updateDocFunc(args, thunkApi) {
17961
18037
  // packages/ai/tools/updateUserPreferenceProfileTool.ts
17962
18038
  async function dispatchSetSettings(thunkApi, changes) {
17963
18039
  const injectedSetSettings = thunkApi?.extra?.setSettings;
17964
- const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-HIQRILF5.js")).setSettings;
18040
+ const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-OEJA4NQO.js")).setSettings;
17965
18041
  await thunkApi.dispatch(setSettings(changes)).unwrap();
17966
18042
  }
17967
18043
  var updateUserPreferenceProfileFunctionSchema = {
@@ -19884,6 +19960,18 @@ var baseToolDefinitions = [
19884
19960
  behavior: "data",
19885
19961
  uiGroup: "general"
19886
19962
  },
19963
+ {
19964
+ id: "watchCompletion",
19965
+ schema: watchCompletionFunctionSchema,
19966
+ executor: watchCompletionFunc,
19967
+ description: {
19968
+ name: "watchCompletion",
19969
+ description: "\u767B\u8BB0\u4E00\u6B21\u4E1A\u52A1\u7EC8\u6001\u8BA2\u9605\uFF08nolo-ci \u90E8\u7F72\u4EFB\u52A1\u7B49\uFF09\uFF0C\u4EFB\u52A1\u7ED3\u675F\u65F6\u81EA\u52A8\u5524\u9192\u672C\u5BF9\u8BDD\u4EA4\u4ED8\u7ED3\u679C\uFF0C\u7B49\u5F85\u671F\u95F4\u96F6\u8F6E\u8BE2\u3002",
19970
+ category: "\u5E94\u7528\u90E8\u7F72"
19971
+ },
19972
+ behavior: "data",
19973
+ uiGroup: "general"
19974
+ },
19887
19975
  {
19888
19976
  id: "appList",
19889
19977
  schema: appListFunctionSchema,
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-V3ZKNK5D.js";
7
7
  import {
8
8
  getModelAbility
9
- } from "./chunk-6IT5ECCC.js";
9
+ } from "./chunk-NG4UT4K4.js";
10
10
  import {
11
11
  isOwnedAgentKey,
12
12
  ownedAgentKey,
@@ -11,7 +11,7 @@ import {
11
11
  getAntigravityUserAgent,
12
12
  normalizeAntigravityTokenPayload,
13
13
  refreshAntigravityToken
14
- } from "./chunk-ZW22L5ES.js";
14
+ } from "./chunk-PGSKWZCB.js";
15
15
  import {
16
16
  writeOAuthCredential
17
17
  } from "./chunk-ONXOABJR.js";
@@ -25,7 +25,7 @@ import {
25
25
  stablePromptCacheKey,
26
26
  toOpenAiCompatibleMessages,
27
27
  toResponsesTools
28
- } from "./chunk-XTJTN3RW.js";
28
+ } from "./chunk-PUOC4YRO.js";
29
29
  import {
30
30
  buildProviderExecutionPlan,
31
31
  canUsePlatformChatProvider,
@@ -35,15 +35,15 @@ import {
35
35
  resolvePlatformAuthToken,
36
36
  resolvePlatformServerUrl,
37
37
  resolveProviderTransportDecision
38
- } from "./chunk-VLQRD7ZJ.js";
38
+ } from "./chunk-CMH2SYHX.js";
39
39
  import {
40
40
  clipCompactText,
41
41
  isMeaningfulChatCompletionOutput,
42
42
  isMeaningfulResponsesOutput
43
- } from "./chunk-3E67YXGD.js";
43
+ } from "./chunk-E36HZARC.js";
44
44
  import {
45
45
  NOLO_CLIENT_VERSION_HEADER
46
- } from "./chunk-5YIL5WDC.js";
46
+ } from "./chunk-AJHEFRGJ.js";
47
47
  import {
48
48
  isRecord
49
49
  } from "./chunk-KUG52IAP.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-TQC77XVE.js";
3
+ } from "./chunk-UJ63UXGE.js";
4
4
  import {
5
5
  isPlatformHostedDeepseekModel,
6
6
  isPlatformHostedOpenAIImageModel,
7
7
  resolvePlatformHostedRouting
8
- } from "./chunk-5YIL5WDC.js";
8
+ } from "./chunk-AJHEFRGJ.js";
9
9
  import {
10
10
  asTrimmedLowercaseString
11
11
  } from "./chunk-QSJ3HFEF.js";
@@ -25,8 +25,6 @@ var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
25
25
  qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
26
26
  // Moonshot AI(月之暗面)开放平台 OpenAI 兼容模式(按量计费)
27
27
  moonshot: "https://api.moonshot.cn/v1/chat/completions",
28
- // 平台托管 Kimi K3 的实际上游
29
- crof: "https://crof.ai/v1/chat/completions",
30
28
  // 平台托管 GLM 5.3 Flash 的实际上游(RunInfra 独家廉价快档)
31
29
  runinfra: "https://api.runinfra.ai/v1/chat/completions"
32
30
  // 无 nolo 默认上游:平台托管模型全部显式分流,未识别模型返回 undefined
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  findModelConfig,
3
3
  getProviderByModelName
4
- } from "./chunk-TQC77XVE.js";
4
+ } from "./chunk-UJ63UXGE.js";
5
5
  import {
6
6
  asOptionalFiniteNumber
7
7
  } from "./chunk-WWC7I6TA.js";
@@ -75,7 +75,11 @@ var TOOL_PACKS = {
75
75
  "taskWait",
76
76
  "taskLogs",
77
77
  "taskStop",
78
- "tasks"
78
+ "tasks",
79
+ // watchCompletion:push 后登记「业务终态订阅」,部署结束时服务端唤醒父对话
80
+ // (等待期间 0 轮询 0 token)。与代码工作流同链路(push → CI → 通知),随
81
+ // 「代码执行」能力包走。
82
+ "watchCompletion"
79
83
  ],
80
84
  // 表格读写。唯一真相源——app-builder 能力包与 table object skill 都从这里取,
81
85
  // 以前两边各抄一份,改一个忘另一个就会静默不同步。
@@ -4,7 +4,7 @@ import {
4
4
  openrouterModels,
5
5
  platformHostedModels,
6
6
  zaiModels
7
- } from "./chunk-5YIL5WDC.js";
7
+ } from "./chunk-AJHEFRGJ.js";
8
8
 
9
9
  // packages/ai/llm/modelAbility.ts
10
10
  var MODEL_ABILITY_TABLE = {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-6RNOFHEM.js";
3
+ } from "./chunk-FCCT2LU2.js";
4
4
  import {
5
5
  i18n_default
6
- } from "./chunk-C2SHPJSS.js";
6
+ } from "./chunk-ZIUMSKK4.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
9
  } from "./chunk-O6OSWFZQ.js";
10
10
  import {
11
11
  isNoloHostedProvider
12
- } from "./chunk-5YIL5WDC.js";
12
+ } from "./chunk-AJHEFRGJ.js";
13
13
  import {
14
14
  asTrimmedLowercaseString
15
15
  } from "./chunk-QSJ3HFEF.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  trimTrailingSlash
3
- } from "./chunk-VLQRD7ZJ.js";
3
+ } from "./chunk-CMH2SYHX.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.js";
@@ -46,10 +46,6 @@ var STREAM_USAGE_PROVIDERS = /* @__PURE__ */ new Set([
46
46
  "deepseek",
47
47
  "ollama",
48
48
  "ollama-cloud",
49
- // endpoint; the hosted branch passes "upstream-k3" as the usage provider so these
50
- // streams request the terminal usage chunk (same capability decision as
51
- // deepinfra/vultr).
52
- "upstream-k3",
53
49
  // RunInfra hosted fallback channel: OpenAI-compatible chat.completions
54
50
  // endpoint, supports stream_options.include_usage (measured to return
55
51
  // prompt_tokens_details.cached_tokens).
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-Z3XXUE2E.js";
3
+ } from "./chunk-SPQ7GSUX.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-RXX4GDIH.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generatePkcePair,
3
3
  startCallbackServer
4
- } from "./chunk-BNATE77Z.js";
4
+ } from "./chunk-GBPZKFYK.js";
5
5
  import {
6
6
  toErrorMessage
7
7
  } from "./chunk-HNMXYYJR.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-UAD2WT54.js";
8
8
  import {
9
9
  toTimestampMs
10
- } from "./chunk-4K6DB3GJ.js";
10
+ } from "./chunk-YFADVSZE.js";
11
11
  import {
12
12
  fetchFromServer,
13
13
  getAllServers
@@ -27,7 +27,7 @@ import {
27
27
  resolveLocalUserId,
28
28
  t,
29
29
  toolLabel
30
- } from "./chunk-Z3XXUE2E.js";
30
+ } from "./chunk-SPQ7GSUX.js";
31
31
  import {
32
32
  createRunActivityTracker,
33
33
  popSingleQueueMessage,
@@ -63,7 +63,7 @@ import {
63
63
  } from "./chunk-LTRXGFMS.js";
64
64
  import {
65
65
  formatAgentListCard
66
- } from "./chunk-6RNOFHEM.js";
66
+ } from "./chunk-FCCT2LU2.js";
67
67
  import {
68
68
  isTransientFetchError
69
69
  } from "./chunk-5XTOKQLW.js";
@@ -84,11 +84,11 @@ import {
84
84
  chooseMemoryOwners,
85
85
  loadMemoryCandidatesFromDb,
86
86
  resolveAgentMemoryPolicy
87
- } from "./chunk-SKWZFK56.js";
87
+ } from "./chunk-VLX45P4L.js";
88
88
  import {
89
89
  API_REPORTED_COST_MULTIPLIER,
90
90
  parseUiAskChoiceContent
91
- } from "./chunk-C2SHPJSS.js";
91
+ } from "./chunk-ZIUMSKK4.js";
92
92
  import {
93
93
  isOAuthApiKeyRef
94
94
  } from "./chunk-YYLHWIW6.js";
@@ -111,10 +111,10 @@ import {
111
111
  LOCAL_AGENT_CONFIG_MISSING_CODE,
112
112
  LOCAL_TURN_ABORTED_CODE,
113
113
  readActionGate
114
- } from "./chunk-RXYIUZU5.js";
114
+ } from "./chunk-CJ23A7U4.js";
115
115
  import {
116
116
  resolveAgentRuntimeConfigFromRecord
117
- } from "./chunk-Y7PULBIA.js";
117
+ } from "./chunk-KIS76A2P.js";
118
118
  import {
119
119
  createThinkParserState,
120
120
  flushThinkParser,
@@ -122,10 +122,10 @@ import {
122
122
  } from "./chunk-N7J63Q6C.js";
123
123
  import {
124
124
  isAntigravityOAuthAgent
125
- } from "./chunk-ZW22L5ES.js";
125
+ } from "./chunk-PGSKWZCB.js";
126
126
  import {
127
127
  resolveClientVersion
128
- } from "./chunk-VLQRD7ZJ.js";
128
+ } from "./chunk-CMH2SYHX.js";
129
129
  import {
130
130
  isQuotaExhaustedError,
131
131
  isQuotaLimited403Body,
@@ -136,13 +136,13 @@ import {
136
136
  DEFAULT_CONTEXT_WINDOW,
137
137
  getModelContextWindow,
138
138
  normalizeUsage
139
- } from "./chunk-2XENHR3P.js";
139
+ } from "./chunk-DSRXPQWA.js";
140
140
  import {
141
141
  clipCompactText
142
- } from "./chunk-3E67YXGD.js";
142
+ } from "./chunk-E36HZARC.js";
143
143
  import {
144
144
  findModelConfig
145
- } from "./chunk-TQC77XVE.js";
145
+ } from "./chunk-UJ63UXGE.js";
146
146
  import {
147
147
  compactWhitespace
148
148
  } from "./chunk-DWLEOOGR.js";
@@ -167,7 +167,7 @@ import {
167
167
  CLIENT_VERSION_TOO_OLD_CODE,
168
168
  NOLO_CLIENT_VERSION_HEADER,
169
169
  buildClientVersionUpgradeMessage
170
- } from "./chunk-5YIL5WDC.js";
170
+ } from "./chunk-AJHEFRGJ.js";
171
171
  import {
172
172
  parsePositiveFiniteNumberOrFallback
173
173
  } from "./chunk-Y5GCAMGP.js";
@@ -181,7 +181,7 @@ import {
181
181
  BUILTIN_NOLO_AGENT_KEY,
182
182
  BUILTIN_NOLO_AGENT_NAME,
183
183
  builtinAgentCatalogEntryById
184
- } from "./chunk-4MKPBCTN.js";
184
+ } from "./chunk-5J7W2VWW.js";
185
185
  import {
186
186
  parsePublicAgentId
187
187
  } from "./chunk-BJIRLHJR.js";
@@ -5176,7 +5176,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
5176
5176
  // packages/cli/client/agentRun.ts
5177
5177
  import { ulid } from "ulid";
5178
5178
  async function loadRunLocalAgentTurn() {
5179
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-T47DU3IA.js");
5179
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-O6DZDTK4.js");
5180
5180
  return runLocalAgentTurn;
5181
5181
  }
5182
5182
  var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();