dominds 1.23.7 → 1.23.9

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 (116) hide show
  1. package/dist/apps-host/client.d.ts +2 -3
  2. package/dist/apps-host/host.js +5 -7
  3. package/dist/apps-host/ipc-types.d.ts +2 -3
  4. package/dist/docs/dialog-system.md +3 -0
  5. package/dist/docs/dialog-system.zh.md +3 -0
  6. package/dist/docs/diligence-push.md +9 -7
  7. package/dist/llm/gen/codex.js +26 -5
  8. package/dist/llm/gen/openai.js +36 -4
  9. package/dist/llm/kernel-driver/events.js +6 -3
  10. package/dist/llm/kernel-driver/flow.js +17 -103
  11. package/dist/persistence.d.ts +1 -0
  12. package/dist/persistence.js +44 -43
  13. package/dist/priming.js +39 -2
  14. package/dist/runtime/driver-messages.d.ts +1 -0
  15. package/dist/runtime/driver-messages.js +26 -14
  16. package/dist/server/websocket-handler.js +2 -2
  17. package/dist/tools/app-reminders.js +16 -2
  18. package/dist/tools/mcp.js +4 -2
  19. package/dist/tools/os.js +18 -12
  20. package/dist/tools/pending-tellask-reminder.js +6 -15
  21. package/package.json +3 -3
  22. package/webapp/dist/assets/{_basePickBy-528dB5Tu.js → _basePickBy-7LUdAfWz.js} +3 -3
  23. package/webapp/dist/assets/{_basePickBy-528dB5Tu.js.map → _basePickBy-7LUdAfWz.js.map} +1 -1
  24. package/webapp/dist/assets/{_baseUniq-DkdKmFUs.js → _baseUniq-DwjWeodO.js} +2 -2
  25. package/webapp/dist/assets/{_baseUniq-DkdKmFUs.js.map → _baseUniq-DwjWeodO.js.map} +1 -1
  26. package/webapp/dist/assets/{arc-BXvXVeL_.js → arc-CEnfISy0.js} +2 -2
  27. package/webapp/dist/assets/{arc-BXvXVeL_.js.map → arc-CEnfISy0.js.map} +1 -1
  28. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-Ck1IMDXl.js → architectureDiagram-2XIMDMQ5-BpimPdpL.js} +7 -7
  29. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-Ck1IMDXl.js.map → architectureDiagram-2XIMDMQ5-BpimPdpL.js.map} +1 -1
  30. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-DLRhkTKE.js → blockDiagram-WCTKOSBZ-BSRtGkFY.js} +7 -7
  31. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-DLRhkTKE.js.map → blockDiagram-WCTKOSBZ-BSRtGkFY.js.map} +1 -1
  32. package/webapp/dist/assets/{c4Diagram-IC4MRINW-D2Hc1l7q.js → c4Diagram-IC4MRINW-kSgcfdmL.js} +3 -3
  33. package/webapp/dist/assets/{c4Diagram-IC4MRINW-D2Hc1l7q.js.map → c4Diagram-IC4MRINW-kSgcfdmL.js.map} +1 -1
  34. package/webapp/dist/assets/{channel-DuagLVFr.js → channel-Dp-cGMNE.js} +2 -2
  35. package/webapp/dist/assets/{channel-DuagLVFr.js.map → channel-Dp-cGMNE.js.map} +1 -1
  36. package/webapp/dist/assets/{chunk-4BX2VUAB-BVowxdVQ.js → chunk-4BX2VUAB-Cp-fmbaK.js} +2 -2
  37. package/webapp/dist/assets/{chunk-4BX2VUAB-BVowxdVQ.js.map → chunk-4BX2VUAB-Cp-fmbaK.js.map} +1 -1
  38. package/webapp/dist/assets/{chunk-55IACEB6-DOqixome.js → chunk-55IACEB6-BOJKMAPr.js} +2 -2
  39. package/webapp/dist/assets/{chunk-55IACEB6-DOqixome.js.map → chunk-55IACEB6-BOJKMAPr.js.map} +1 -1
  40. package/webapp/dist/assets/{chunk-FMBD7UC4-BQE3IRbI.js → chunk-FMBD7UC4-DfQxVVLu.js} +2 -2
  41. package/webapp/dist/assets/{chunk-FMBD7UC4-BQE3IRbI.js.map → chunk-FMBD7UC4-DfQxVVLu.js.map} +1 -1
  42. package/webapp/dist/assets/{chunk-JSJVCQXG-BWvy_u2h.js → chunk-JSJVCQXG-DTl-4Rvh.js} +2 -2
  43. package/webapp/dist/assets/{chunk-JSJVCQXG-BWvy_u2h.js.map → chunk-JSJVCQXG-DTl-4Rvh.js.map} +1 -1
  44. package/webapp/dist/assets/{chunk-KX2RTZJC-DsSmqNSf.js → chunk-KX2RTZJC-D5--lFcw.js} +2 -2
  45. package/webapp/dist/assets/{chunk-KX2RTZJC-DsSmqNSf.js.map → chunk-KX2RTZJC-D5--lFcw.js.map} +1 -1
  46. package/webapp/dist/assets/{chunk-NQ4KR5QH-B3jQt0DX.js → chunk-NQ4KR5QH-BDa1UceW.js} +4 -4
  47. package/webapp/dist/assets/{chunk-NQ4KR5QH-B3jQt0DX.js.map → chunk-NQ4KR5QH-BDa1UceW.js.map} +1 -1
  48. package/webapp/dist/assets/{chunk-QZHKN3VN-CWST9WcY.js → chunk-QZHKN3VN-B6PiydXk.js} +2 -2
  49. package/webapp/dist/assets/{chunk-QZHKN3VN-CWST9WcY.js.map → chunk-QZHKN3VN-B6PiydXk.js.map} +1 -1
  50. package/webapp/dist/assets/{chunk-WL4C6EOR-DjGCVqJN.js → chunk-WL4C6EOR-BKbEzBrJ.js} +6 -6
  51. package/webapp/dist/assets/{chunk-WL4C6EOR-DjGCVqJN.js.map → chunk-WL4C6EOR-BKbEzBrJ.js.map} +1 -1
  52. package/webapp/dist/assets/{classDiagram-VBA2DB6C-BnjkPcus.js → classDiagram-VBA2DB6C-CbCDPvgK.js} +7 -7
  53. package/webapp/dist/assets/{classDiagram-VBA2DB6C-BnjkPcus.js.map → classDiagram-VBA2DB6C-CbCDPvgK.js.map} +1 -1
  54. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-BnjkPcus.js → classDiagram-v2-RAHNMMFH-CbCDPvgK.js} +7 -7
  55. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-BnjkPcus.js.map → classDiagram-v2-RAHNMMFH-CbCDPvgK.js.map} +1 -1
  56. package/webapp/dist/assets/{clone-BlToIURl.js → clone-B5WbSwel.js} +2 -2
  57. package/webapp/dist/assets/{clone-BlToIURl.js.map → clone-B5WbSwel.js.map} +1 -1
  58. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BDVnPWt2.js → cose-bilkent-S5V4N54A-DcYLhdFN.js} +2 -2
  59. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BDVnPWt2.js.map → cose-bilkent-S5V4N54A-DcYLhdFN.js.map} +1 -1
  60. package/webapp/dist/assets/{dagre-KLK3FWXG-aEZUtpHt.js → dagre-KLK3FWXG-BeG9lIKK.js} +7 -7
  61. package/webapp/dist/assets/{dagre-KLK3FWXG-aEZUtpHt.js.map → dagre-KLK3FWXG-BeG9lIKK.js.map} +1 -1
  62. package/webapp/dist/assets/{diagram-E7M64L7V-CvNVSxxk.js → diagram-E7M64L7V-BIRobVwO.js} +8 -8
  63. package/webapp/dist/assets/{diagram-E7M64L7V-CvNVSxxk.js.map → diagram-E7M64L7V-BIRobVwO.js.map} +1 -1
  64. package/webapp/dist/assets/{diagram-IFDJBPK2-Cvwaoava.js → diagram-IFDJBPK2-CEOYT9-f.js} +7 -7
  65. package/webapp/dist/assets/{diagram-IFDJBPK2-Cvwaoava.js.map → diagram-IFDJBPK2-CEOYT9-f.js.map} +1 -1
  66. package/webapp/dist/assets/{diagram-P4PSJMXO-ffnT7Lr_.js → diagram-P4PSJMXO-BQoM5Ex6.js} +7 -7
  67. package/webapp/dist/assets/{diagram-P4PSJMXO-ffnT7Lr_.js.map → diagram-P4PSJMXO-BQoM5Ex6.js.map} +1 -1
  68. package/webapp/dist/assets/{erDiagram-INFDFZHY-DvGIVeJS.js → erDiagram-INFDFZHY-Cqjswes_.js} +5 -5
  69. package/webapp/dist/assets/{erDiagram-INFDFZHY-DvGIVeJS.js.map → erDiagram-INFDFZHY-Cqjswes_.js.map} +1 -1
  70. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-BkQUpSc9.js → flowDiagram-PKNHOUZH-Cja2_InV.js} +7 -7
  71. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-BkQUpSc9.js.map → flowDiagram-PKNHOUZH-Cja2_InV.js.map} +1 -1
  72. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-BlG96EZZ.js → ganttDiagram-A5KZAMGK-DBUuaEd2.js} +3 -3
  73. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-BlG96EZZ.js.map → ganttDiagram-A5KZAMGK-DBUuaEd2.js.map} +1 -1
  74. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-CnyjUBR4.js → gitGraphDiagram-K3NZZRJ6-Dl4JE5EA.js} +8 -8
  75. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-CnyjUBR4.js.map → gitGraphDiagram-K3NZZRJ6-Dl4JE5EA.js.map} +1 -1
  76. package/webapp/dist/assets/{graph-D-OO7MVR.js → graph-BfMWseJJ.js} +3 -3
  77. package/webapp/dist/assets/{graph-D-OO7MVR.js.map → graph-BfMWseJJ.js.map} +1 -1
  78. package/webapp/dist/assets/{index-DvqI98wY.js → index-Dnj_jTsn.js} +734 -129
  79. package/webapp/dist/assets/{index-DvqI98wY.js.map → index-Dnj_jTsn.js.map} +1 -1
  80. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-Bid564Un.js → infoDiagram-LFFYTUFH-D_rvRkCc.js} +6 -6
  81. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-Bid564Un.js.map → infoDiagram-LFFYTUFH-D_rvRkCc.js.map} +1 -1
  82. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-BoU1GXkx.js → ishikawaDiagram-PHBUUO56-CvPTsJgE.js} +2 -2
  83. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-BoU1GXkx.js.map → ishikawaDiagram-PHBUUO56-CvPTsJgE.js.map} +1 -1
  84. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-C-JJRe4y.js → journeyDiagram-4ABVD52K-C1gZ4Bzf.js} +5 -5
  85. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-C-JJRe4y.js.map → journeyDiagram-4ABVD52K-C1gZ4Bzf.js.map} +1 -1
  86. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-BPGHC2fL.js → kanban-definition-K7BYSVSG-DqSjhrSU.js} +3 -3
  87. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-BPGHC2fL.js.map → kanban-definition-K7BYSVSG-DqSjhrSU.js.map} +1 -1
  88. package/webapp/dist/assets/{layout-BFpoiNr0.js → layout-CRVydERy.js} +5 -5
  89. package/webapp/dist/assets/{layout-BFpoiNr0.js.map → layout-CRVydERy.js.map} +1 -1
  90. package/webapp/dist/assets/{linear-BwnDVwt9.js → linear-BKsEk85O.js} +2 -2
  91. package/webapp/dist/assets/{linear-BwnDVwt9.js.map → linear-BKsEk85O.js.map} +1 -1
  92. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-D4aHh1Ye.js → mindmap-definition-YRQLILUH-DfBx0FRA.js} +4 -4
  93. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-D4aHh1Ye.js.map → mindmap-definition-YRQLILUH-DfBx0FRA.js.map} +1 -1
  94. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DIp7yy6V.js → pieDiagram-SKSYHLDU-DKrkyxnK.js} +8 -8
  95. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DIp7yy6V.js.map → pieDiagram-SKSYHLDU-DKrkyxnK.js.map} +1 -1
  96. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-uKOhvCPR.js → quadrantDiagram-337W2JSQ-jC0ZA6Ei.js} +3 -3
  97. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-uKOhvCPR.js.map → quadrantDiagram-337W2JSQ-jC0ZA6Ei.js.map} +1 -1
  98. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-Da_5DlcQ.js → requirementDiagram-Z7DCOOCP-We3xysp7.js} +4 -4
  99. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-Da_5DlcQ.js.map → requirementDiagram-Z7DCOOCP-We3xysp7.js.map} +1 -1
  100. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-P3UD1XYS.js → sankeyDiagram-WA2Y5GQK-CVKXirbt.js} +2 -2
  101. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-P3UD1XYS.js.map → sankeyDiagram-WA2Y5GQK-CVKXirbt.js.map} +1 -1
  102. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-jY-eNlAg.js → sequenceDiagram-2WXFIKYE-C_FP9akr.js} +4 -4
  103. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-jY-eNlAg.js.map → sequenceDiagram-2WXFIKYE-C_FP9akr.js.map} +1 -1
  104. package/webapp/dist/assets/{stateDiagram-RAJIS63D-HMXNbLUd.js → stateDiagram-RAJIS63D-I_Z9tp8x.js} +9 -9
  105. package/webapp/dist/assets/{stateDiagram-RAJIS63D-HMXNbLUd.js.map → stateDiagram-RAJIS63D-I_Z9tp8x.js.map} +1 -1
  106. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-C-50Qbn8.js → stateDiagram-v2-FVOUBMTO-CapbGJFk.js} +5 -5
  107. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-C-50Qbn8.js.map → stateDiagram-v2-FVOUBMTO-CapbGJFk.js.map} +1 -1
  108. package/webapp/dist/assets/{timeline-definition-YZTLITO2-CkiLYjSG.js → timeline-definition-YZTLITO2-BshxRk1F.js} +3 -3
  109. package/webapp/dist/assets/{timeline-definition-YZTLITO2-CkiLYjSG.js.map → timeline-definition-YZTLITO2-BshxRk1F.js.map} +1 -1
  110. package/webapp/dist/assets/{treemap-KZPCXAKY-DKYYu8t-.js → treemap-KZPCXAKY-CocYDGAm.js} +5 -5
  111. package/webapp/dist/assets/{treemap-KZPCXAKY-DKYYu8t-.js.map → treemap-KZPCXAKY-CocYDGAm.js.map} +1 -1
  112. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-n9k6D3Up.js → vennDiagram-LZ73GAT5-BqnmMyq0.js} +2 -2
  113. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-n9k6D3Up.js.map → vennDiagram-LZ73GAT5-BqnmMyq0.js.map} +1 -1
  114. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-DJZb5SW1.js → xychartDiagram-JWTSCODW-DFRdd2qS.js} +3 -3
  115. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-DJZb5SW1.js.map → xychartDiagram-JWTSCODW-DFRdd2qS.js.map} +1 -1
  116. package/webapp/dist/index.html +1 -1
package/dist/priming.js CHANGED
@@ -440,11 +440,48 @@ function parseOptionalReasoningPayload(value, context) {
440
440
  if (encryptedContentRaw !== undefined && typeof encryptedContentRaw !== 'string') {
441
441
  throw new Error(`${context}.reasoning.encrypted_content must be a string when provided`);
442
442
  }
443
+ const metadataRaw = value['metadata'];
444
+ let metadata;
445
+ if (metadataRaw !== undefined) {
446
+ if (!isRecord(metadataRaw)) {
447
+ throw new Error(`${context}.reasoning.metadata must be an object when provided`);
448
+ }
449
+ const itemIdRaw = metadataRaw['itemId'];
450
+ if (itemIdRaw !== undefined && typeof itemIdRaw !== 'string') {
451
+ throw new Error(`${context}.reasoning.metadata.itemId must be a string when provided`);
452
+ }
453
+ const itemTypeRaw = metadataRaw['itemType'];
454
+ if (itemTypeRaw !== undefined && itemTypeRaw !== 'reasoning') {
455
+ throw new Error(`${context}.reasoning.metadata.itemType must be 'reasoning' when provided`);
456
+ }
457
+ const statusRaw = metadataRaw['status'];
458
+ if (statusRaw !== undefined &&
459
+ statusRaw !== 'in_progress' &&
460
+ statusRaw !== 'completed' &&
461
+ statusRaw !== 'incomplete') {
462
+ throw new Error(`${context}.reasoning.metadata.status must be in_progress|completed|incomplete when provided`);
463
+ }
464
+ metadata = {};
465
+ if (typeof itemIdRaw === 'string')
466
+ metadata.itemId = itemIdRaw;
467
+ if (itemTypeRaw === 'reasoning')
468
+ metadata.itemType = itemTypeRaw;
469
+ if (statusRaw === 'in_progress' || statusRaw === 'completed' || statusRaw === 'incomplete') {
470
+ metadata.status = statusRaw;
471
+ }
472
+ if (metadata.itemId === undefined &&
473
+ metadata.itemType === undefined &&
474
+ metadata.status === undefined) {
475
+ metadata = undefined;
476
+ }
477
+ }
443
478
  const reasoning = { summary };
444
479
  if (content !== undefined)
445
480
  reasoning.content = content;
446
481
  if (typeof encryptedContentRaw === 'string')
447
482
  reasoning.encrypted_content = encryptedContentRaw;
483
+ if (metadata !== undefined)
484
+ reasoning.metadata = metadata;
448
485
  return reasoning;
449
486
  }
450
487
  function parseOptionalStringArray(record, key, context) {
@@ -1979,8 +2016,8 @@ function primingRecordToChatMessage(record) {
1979
2016
  role: 'assistant',
1980
2017
  genseq: record.genseq,
1981
2018
  content: record.content,
1982
- reasoning: record.reasoning,
1983
- provider_data: record.provider_data,
2019
+ ...(record.reasoning !== undefined ? { reasoning: record.reasoning } : {}),
2020
+ ...(record.provider_data !== undefined ? { provider_data: record.provider_data } : {}),
1984
2021
  };
1985
2022
  case 'agent_words_record':
1986
2023
  return {
@@ -1,5 +1,6 @@
1
1
  import { type LanguageCode } from '@longrun-ai/kernel/types/language';
2
2
  export declare function formatSystemNoticePrefix(language: LanguageCode): string;
3
+ export declare function formatAutoMaintainedReminderManualMirrorBan(language: LanguageCode): string;
3
4
  export declare function formatCurrentUserLanguagePreference(workingLanguage: LanguageCode, uiLanguage: LanguageCode): string;
4
5
  export declare function formatUserLanguagePreferenceChangedNotice(workingLanguage: LanguageCode, previousUiLanguage: LanguageCode, nextUiLanguage: LanguageCode): string;
5
6
  export declare function formatRegisteredTellaskTellaskerUpdateNotice(language: LanguageCode): string;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatSystemNoticePrefix = formatSystemNoticePrefix;
4
+ exports.formatAutoMaintainedReminderManualMirrorBan = formatAutoMaintainedReminderManualMirrorBan;
4
5
  exports.formatCurrentUserLanguagePreference = formatCurrentUserLanguagePreference;
5
6
  exports.formatUserLanguagePreferenceChangedNotice = formatUserLanguagePreferenceChangedNotice;
6
7
  exports.formatRegisteredTellaskTellaskerUpdateNotice = formatRegisteredTellaskTellaskerUpdateNotice;
@@ -23,6 +24,11 @@ const language_1 = require("@longrun-ai/kernel/types/language");
23
24
  function formatSystemNoticePrefix(language) {
24
25
  return language === 'zh' ? '【系统提示】' : '[System notice]';
25
26
  }
27
+ function formatAutoMaintainedReminderManualMirrorBan(language) {
28
+ return language === 'zh'
29
+ ? '这条状态由系统维护;禁止把它抄进、改写进、或同步维护到你手工创建的提醒项里。'
30
+ : 'This state is system-maintained; do not copy, rewrite, or separately maintain it in manual reminders.';
31
+ }
26
32
  function formatCurrentUserLanguagePreference(workingLanguage, uiLanguage) {
27
33
  const uiName = (0, language_1.formatLanguageName)(uiLanguage, workingLanguage);
28
34
  const workingName = (0, language_1.formatLanguageName)(workingLanguage, workingLanguage);
@@ -290,15 +296,15 @@ function formatReminderItemGuide(language, reminderId, content, options) {
290
296
  : undefined;
291
297
  const deleteInstruction = language === 'zh'
292
298
  ? deleteAltInstruction
293
- ? `如果你要删除这条提醒项,不能用 delete_reminder;请执行:${deleteAltInstruction}`
299
+ ? `删除通道:不要用 delete_reminder;请执行:${deleteAltInstruction}`
294
300
  : isPendingTellaskReminder && pendingTellaskCount === 0
295
- ? `如果你已确认这里只是清理噪音、并非要推进动作,可执行:delete_reminder({ "reminder_id": "${reminderId}" })`
296
- : `如果你要删除这条提醒项,可执行:delete_reminder({ "reminder_id": "${reminderId}" })`
301
+ ? `清理噪音时可删除:delete_reminder({ "reminder_id": "${reminderId}" })`
302
+ : `删除通道:delete_reminder({ "reminder_id": "${reminderId}" })`
297
303
  : deleteAltInstruction
298
- ? `If you need to delete this reminder, do not use delete_reminder; run: ${deleteAltInstruction}`
304
+ ? `Delete path: do not use delete_reminder; run: ${deleteAltInstruction}`
299
305
  : isPendingTellaskReminder && pendingTellaskCount === 0
300
- ? `If you have confirmed this is only noise cleanup and not an action step, you may run: delete_reminder({ "reminder_id": "${reminderId}" })`
301
- : `If you need to delete this reminder, run: delete_reminder({ "reminder_id": "${reminderId}" })`;
306
+ ? `Noise cleanup delete path: delete_reminder({ "reminder_id": "${reminderId}" })`
307
+ : `Delete path: delete_reminder({ "reminder_id": "${reminderId}" })`;
302
308
  const projectionNote = formatReminderItemProjectionNote(language);
303
309
  const enProjectionPrefix = `${projectionNote} `;
304
310
  const systemPrefix = formatSystemNoticePrefix(language);
@@ -309,12 +315,13 @@ function formatReminderItemGuide(language, reminderId, content, options) {
309
315
  `${systemPrefix} 提醒项 [${reminderId}](工具状态)`,
310
316
  '',
311
317
  `${projectionNote}当前运行环境中有一条由工具 ${managementTool} 管理的状态提醒项。请把它当作环境/工具状态参考,不要当作你自己写的工作便签。`,
318
+ formatAutoMaintainedReminderManualMirrorBan(language),
312
319
  '',
313
320
  '默认不要在对外回复里专门确认、复述或总结它;只有它实际改变你的判断、计划或风险时,才提炼真正相关的部分。',
314
321
  '',
315
- `这条提醒项由工具 ${managementTool} 管理;如果你要调整它,就用 ${managementTool}(不要用 update_reminder)。`,
322
+ `调整通道:使用 ${managementTool};不要用 update_reminder。`,
316
323
  '',
317
- `如果你要更新这条提醒项,可执行:${updateInstructionSafe}`,
324
+ `更新通道:${updateInstructionSafe}`,
318
325
  deleteInstruction,
319
326
  '',
320
327
  '---',
@@ -326,8 +333,9 @@ function formatReminderItemGuide(language, reminderId, content, options) {
326
333
  `${systemPrefix} 提醒项 [${reminderId}]`,
327
334
  '',
328
335
  `${projectionNote}当前运行环境中有一条带有 meta 控制更新规则的提醒项。请把它当作状态参考,不要用 update_reminder 直接改写内容。`,
336
+ formatAutoMaintainedReminderManualMirrorBan(language),
329
337
  '',
330
- `如果你要更新这条提醒项,不能用 update_reminder;请按此处理:${updateInstruction}`,
338
+ `更新通道:不要用 update_reminder;请按此处理:${updateInstruction}`,
331
339
  deleteInstruction,
332
340
  '',
333
341
  '---',
@@ -373,11 +381,13 @@ function formatReminderItemGuide(language, reminderId, content, options) {
373
381
 
374
382
  ${enProjectionPrefix}The current runtime environment has a tool-managed state reminder from ${managementTool}. Treat it as environment/tool state, not as your self-authored work note.
375
383
 
384
+ ${formatAutoMaintainedReminderManualMirrorBan(language)}
385
+
376
386
  By default, do not explicitly acknowledge, restate, or summarize it in your outward reply; only extract the parts that materially change your current judgment, plan, or risk.
377
387
 
378
- This reminder is managed by tool ${managementTool}; if you need to change it, use ${managementTool} instead of update_reminder.
388
+ Change path: use ${managementTool}; do not use update_reminder.
379
389
 
380
- If you need to update this reminder, run: ${updateInstructionSafe}
390
+ Update path: ${updateInstructionSafe}
381
391
  ${deleteInstruction}
382
392
  ---
383
393
  ${content}`;
@@ -387,7 +397,9 @@ ${content}`;
387
397
 
388
398
  ${enProjectionPrefix}The current runtime environment has a reminder with a meta-controlled update path. Treat it as state/reference, and do not rewrite it directly with update_reminder.
389
399
 
390
- If you need to update this reminder, do not use update_reminder; follow instead: ${updateInstruction}
400
+ ${formatAutoMaintainedReminderManualMirrorBan(language)}
401
+
402
+ Update path: do not use update_reminder; follow instead: ${updateInstruction}
391
403
  ${deleteInstruction}
392
404
  ---
393
405
  ${content}`;
@@ -399,7 +411,7 @@ ${enProjectionPrefix}You set a continuation reminder so the runtime system can r
399
411
 
400
412
  Keep the next step, key pointers, run/verify info, and easy-to-lose volatile details here. Do not duplicate Taskdoc content. In the new course, your first step is to review and rewrite this with a clear head: remove redundancy, correct biased or distorted bridge notes, and compress it into a high-quality reminder. If this is only a rough bridge note, reconcile it early in the new course.
401
413
 
402
- If you need to update this package, run: update_reminder({ "reminder_id": "${reminderId}", "content": "..." })
414
+ Update path: update_reminder({ "reminder_id": "${reminderId}", "content": "..." })
403
415
  ${deleteInstruction}
404
416
  ---
405
417
  ${content}`;
@@ -414,7 +426,7 @@ ${scope === 'personal'
414
426
  ? 'Keep it concise, refresh it when needed, and delete it when obsolete. If it is only useful for the current dialog, rewrite it into dialog scope instead of letting personal scope accumulate noise.'
415
427
  : 'Keep it concise, refresh it when needed, and delete it when obsolete. If you are preparing a new course, you can also rewrite it into a continuation package.'}
416
428
 
417
- If you need to update this reminder, run: update_reminder({ "reminder_id": "${reminderId}", "content": "..." })
429
+ Update path: update_reminder({ "reminder_id": "${reminderId}", "content": "..." })
418
430
  ${deleteInstruction}
419
431
  ---
420
432
  ${content}`;
@@ -597,8 +597,8 @@ async function handleDeclareSideDialogDead(ws, packet) {
597
597
  const responseTextWithNote = note === ''
598
598
  ? responseText
599
599
  : (0, work_language_1.getWorkLanguage)() === 'zh'
600
- ? `${responseText}\n\n使用者补充(来自输入框):\n${note}`
601
- : `${responseText}\n\nUser note (from the input box):\n${note}`;
600
+ ? `${responseText}\n\n人类用户补充:\n${note}`
601
+ : `${responseText}\n\nHuman user note:\n${note}`;
602
602
  await (0, kernel_driver_1.supplyResponseToAskerDialog)(parentDialog, dialogIdObj, responseTextWithNote, pendingRecord.callType, assignmentFromAsker.callId, 'failed');
603
603
  }
604
604
  async function handleSetDiligencePush(ws, packet) {
@@ -168,6 +168,18 @@ function fallbackRenderedReminder(reminder) {
168
168
  }),
169
169
  };
170
170
  }
171
+ function formatAppReminderWrapperPrelude(language) {
172
+ return language === 'zh'
173
+ ? `这是 app 自动维护的状态提醒,不是你自己写的工作便签。${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}`
174
+ : `This is app-maintained state, not a work note you wrote. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}`;
175
+ }
176
+ function wrapAppRenderedReminder(message, language) {
177
+ return {
178
+ type: 'environment_msg',
179
+ role: 'user',
180
+ content: `${formatAppReminderWrapperPrelude(language)}\n\n${message.content}`,
181
+ };
182
+ }
171
183
  async function persistAndPublishReminders(dlg) {
172
184
  await dlg.dlgStore.persistReminders(dlg, dlg.reminders);
173
185
  const sharedReminders = await (0, shared_reminders_1.loadAgentSharedReminders)(dlg.agentId);
@@ -229,12 +241,14 @@ function createAppReminderOwner(params) {
229
241
  }
230
242
  try {
231
243
  const client = await resolveHostClient();
232
- return await client.renderReminder(descriptor.appId, descriptor.ownerRef, {
244
+ const language = (0, work_language_1.getWorkLanguage)();
245
+ const rendered = await client.renderReminder(descriptor.appId, descriptor.ownerRef, {
233
246
  dialogId: dlg.id.selfId,
234
247
  reminder: toReminderState(reminder),
235
248
  reminderId: reminder.id,
236
- workLanguage: (0, work_language_1.getWorkLanguage)(),
249
+ workLanguage: language,
237
250
  });
251
+ return wrapAppRenderedReminder(rendered, language);
238
252
  }
239
253
  catch (error) {
240
254
  log_1.log.warn('App reminder render failed; using generic reminder rendering', error, {
package/dist/tools/mcp.js CHANGED
@@ -198,8 +198,8 @@ exports.mcpLeaseReminderOwner = {
198
198
  type: 'environment_msg',
199
199
  role: 'user',
200
200
  content: workLanguage === 'zh'
201
- ? `${prefix} MCP 工具集租约提醒 [${reminder.id}]\n你正在查看系统维护的 MCP 租约状态,不要把它当成你自己写的工作便签。\n\n${reminder.content}`
202
- : `${prefix} MCP toolset lease reminder [${reminder.id}]\nYou are looking at system-maintained MCP lease state. Do not treat it as a self-authored work note.\n\n${reminder.content}`,
201
+ ? `${prefix} MCP 工具集租约提醒 [${reminder.id}]\n这是系统自动维护的 MCP 租约状态,不是你自己写的工作便签。${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(workLanguage)}\n\n${reminder.content}`
202
+ : `${prefix} MCP toolset lease reminder [${reminder.id}]\nThis is system-maintained MCP lease state, not a work note you wrote. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(workLanguage)}\n\n${reminder.content}`,
203
203
  };
204
204
  }
205
205
  const serverId = reminder.meta.serverId;
@@ -211,6 +211,7 @@ exports.mcpLeaseReminderOwner = {
211
211
  `${prefix} MCP 工具集租约 [${reminder.id}]: \`${serverId}\``,
212
212
  '',
213
213
  `你当前看到的是系统维护的 MCP 租约状态。该 MCP server 被视为非“真正无状态”;当前对话持有一个 MCP 运行时实例(HTTP 连接或 stdio 进程)。`,
214
+ (0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(workLanguage),
214
215
  '',
215
216
  `当你确认近期不再需要这个运行时实例时,请释放它,以停止/回收底层 MCP 进程或连接:`,
216
217
  `- \`mcp_release({\"serverId\":\"${serverId}\"})\``,
@@ -221,6 +222,7 @@ exports.mcpLeaseReminderOwner = {
221
222
  `${prefix} MCP toolset lease [${reminder.id}]: \`${serverId}\``,
222
223
  '',
223
224
  `You are looking at system-maintained MCP lease state. This MCP server is treated as non-stateless, and the current dialog holds one MCP runtime instance for it (an HTTP connection or stdio process).`,
225
+ (0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(workLanguage),
224
226
  '',
225
227
  `When you are confident you will not need this runtime instance soon, release it to stop the underlying MCP process/connection:`,
226
228
  `- \`mcp_release({\"serverId\":\"${serverId}\"})\``,
package/dist/tools/os.js CHANGED
@@ -547,7 +547,7 @@ async function waitForShellCmdReminderWakeEvent(reminder, signal) {
547
547
  function getOsToolMessages(language) {
548
548
  if (language === 'zh') {
549
549
  return {
550
- daemonStarted: (pid, timeoutSeconds, command) => `🟢 ${command} 已转入后台持续运行(PID: ${pid})\n该进程在 ${timeoutSeconds} 秒内未完成,现已作为守护进程继续执行。你将看到同一条生命周期提醒持续刷新:系统维护 / 实时真源 / 不可删除。\n\n需要时可使用 stop_daemon({"pid": ${pid}}) 终止该进程。`,
550
+ daemonStarted: (pid, timeoutSeconds, command) => `🟢 ${command} 已转入后台持续运行(PID: ${pid})\n该进程在 ${timeoutSeconds} 秒内未完成,现已作为守护进程继续执行。你将看到同一条生命周期提醒持续刷新:系统维护 / 实时真源 / 不可删除。${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}\n\n需要时可使用 stop_daemon({"pid": ${pid}}) 终止该进程。`,
551
551
  commandCompleted: (exitCode, scrollNotice) => `✅ 命令已完成(退出码:${exitCode ?? 'unknown'})${scrollNotice}\n\n`,
552
552
  scrolledLinesNotice: (lines) => `\n⚠️ 执行期间有 ${lines} 行已滚出可视范围`,
553
553
  stdoutLabel: '📤 stdout:',
@@ -562,7 +562,7 @@ function getOsToolMessages(language) {
562
562
  };
563
563
  }
564
564
  return {
565
- daemonStarted: (pid, timeoutSeconds, command) => `🟢 ${command} is now running in the background (PID: ${pid})\nThe process did not finish within ${timeoutSeconds} seconds and has transitioned into a daemon. You will see the same lifecycle reminder keep updating: system-maintained / live source of truth / not deletable.\n\nUse stop_daemon({"pid": ${pid}}) to terminate it when needed.`,
565
+ daemonStarted: (pid, timeoutSeconds, command) => `🟢 ${command} is now running in the background (PID: ${pid})\nThe process did not finish within ${timeoutSeconds} seconds and has transitioned into a daemon. You will see the same lifecycle reminder keep updating: system-maintained / live source of truth / not deletable. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}\n\nUse stop_daemon({"pid": ${pid}}) to terminate it when needed.`,
566
566
  commandCompleted: (exitCode, scrollNotice) => `✅ Command completed (exit code: ${exitCode ?? 'unknown'})${scrollNotice}\n\n`,
567
567
  scrolledLinesNotice: (lines) => `\n⚠️ ${lines} lines scrolled out of view during execution`,
568
568
  stdoutLabel: '📤 stdout:',
@@ -1091,8 +1091,8 @@ ${formatRunnerBackedDaemonStatusDetails(daemon, language)}`;
1091
1091
  }
1092
1092
  function formatRunnerRecoveryError(pid, errorText, language) {
1093
1093
  return language === 'zh'
1094
- ? `⚠️ 守护进程 ${pid} 的 runner 恢复失败:${errorText}`
1095
- : `⚠️ Failed to recover runner for daemon ${pid}: ${errorText}`;
1094
+ ? `⚠️ 守护进程 ${pid} 的 runner 恢复失败:${errorText}\n这是系统维护的后台进程状态。${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}`
1095
+ : `⚠️ Failed to recover runner for daemon ${pid}: ${errorText}\nThis is system-maintained background-process state. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}`;
1096
1096
  }
1097
1097
  // JSON Schema for shell_cmd parameters
1098
1098
  const shellCmdSchema = {
@@ -1369,11 +1369,13 @@ exports.shellCmdReminderOwner = {
1369
1369
  role: 'user',
1370
1370
  content: language === 'zh'
1371
1371
  ? `${prefix} 后台进程生命周期提醒 [${reminder.id}]
1372
- 当前运行环境中有一条系统维护的后台进程状态提醒。请把它当成环境信号,不要当成你自己写的工作便签。若它没有实质改变你的判断/计划/风险,则禁止做任何用户可见回应(禁止写“静默吸收”“已收到”等占位语句);只有它实际影响后续动作时,才在下一条有实质内容的回复中体现相关事实。该提醒在进程运行期间会自动更新;进程结束后会保留终态,等待你确认后手动删除。
1372
+ 当前运行环境中有一条系统维护的后台进程状态提醒。请把它当成环境信号,不要当成你自己写的工作便签。
1373
+ ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}
1374
+ 若它没有实质改变你的判断/计划/风险,则禁止做任何用户可见回应(禁止写“静默吸收”“已收到”等占位语句);只有它实际影响后续动作时,才在下一条有实质内容的回复中体现相关事实。该提醒在进程运行期间会自动更新;进程结束后会保留终态,等待你确认后手动删除。
1373
1375
  ---
1374
1376
  ${reminder.content}`
1375
1377
  : `${prefix} Background process lifecycle reminder [${reminder.id}]
1376
- The current runtime environment has a system-maintained background-process state reminder. Treat it as an environment signal, not as your self-authored work note. If it does not materially change your judgment/plan/risk, make no user-visible reply at all (do not send filler like "silently noted" or "received"); only reflect it inside the next substantive reply when it actually affects the next action. This reminder auto-updates while the process is running; after exit it keeps the terminal state until you delete it manually.
1378
+ The current runtime environment has a system-maintained background-process state reminder. Treat it as an environment signal, not as your self-authored work note. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)} If it does not materially change your judgment/plan/risk, make no user-visible reply at all (do not send filler like "silently noted" or "received"); only reflect it inside the next substantive reply when it actually affects the next action. This reminder auto-updates while the process is running; after exit it keeps the terminal state until you delete it manually.
1377
1379
  ---
1378
1380
  ${reminder.content}`,
1379
1381
  };
@@ -1391,11 +1393,13 @@ ${reminder.content}`,
1391
1393
  role: 'user',
1392
1394
  content: language === 'zh'
1393
1395
  ? `${prefix} 守护进程生命周期提醒 [${reminder.id}] - ${exitedSummary}|PID ${pid}
1394
- 当前运行环境中 daemon 已退出。若需要再核对最后 stdout/stderr,可先按需调用 get_daemon_output({ "pid": ${pid} });若该调用已不可用,则以下是最后一次已知快照。确认已知悉后,请手动删除这条提醒。
1396
+ 当前运行环境中 daemon 已退出。
1397
+ ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}
1398
+ 若需要再核对最后 stdout/stderr,可先按需调用 get_daemon_output({ "pid": ${pid} });若该调用已不可用,则以下是最后一次已知快照。确认已知悉后,请手动删除这条提醒。
1395
1399
  ---
1396
1400
  ${reminder.content}`
1397
1401
  : `${prefix} Daemon lifecycle reminder [${reminder.id}] - ${exitedSummary} | PID ${pid}
1398
- The current runtime environment shows that this daemon has exited. If you still need to inspect the final stdout/stderr, first call get_daemon_output({ "pid": ${pid} }) if it is still available; otherwise use the last known snapshot below. After you have acknowledged the exit, delete this reminder manually.
1402
+ The current runtime environment shows that this daemon has exited. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)} If you still need to inspect the final stdout/stderr, first call get_daemon_output({ "pid": ${pid} }) if it is still available; otherwise use the last known snapshot below. After you have acknowledged the exit, delete this reminder manually.
1399
1403
  ---
1400
1404
  ${reminder.content}`,
1401
1405
  };
@@ -1405,9 +1409,9 @@ ${reminder.content}`,
1405
1409
  role: 'user',
1406
1410
  content: language === 'zh'
1407
1411
  ? `${prefix} 进程生命周期提醒 [${reminder.id}] - 后台进程已结束(PID ${pid})
1408
- 当前运行环境中该后台进程的生命周期已经结束,当前不再运行。`
1412
+ 当前运行环境中该后台进程的生命周期已经结束,当前不再运行。${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}`
1409
1413
  : `${prefix} Process lifecycle reminder [${reminder.id}] - daemon terminated (PID ${pid})
1410
- The current runtime environment shows that this daemon process has finished its lifecycle and is no longer running.`,
1414
+ The current runtime environment shows that this daemon process has finished its lifecycle and is no longer running. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}`,
1411
1415
  };
1412
1416
  }
1413
1417
  if (resolved.kind === 'error') {
@@ -1431,12 +1435,14 @@ The current runtime environment shows that this daemon process has finished its
1431
1435
  role: 'user',
1432
1436
  content: language === 'zh'
1433
1437
  ? `🔄 ${prefix} 守护进程生命周期提醒 [${reminder.id}] - ${runningSummary}|PID ${pid},已运行 ${uptimeStr}
1434
- 当前运行环境中 daemon 仍在运行。这是系统维护的状态提醒,不是默认需要单独汇报的事项。若下面的信息没有实质改变你的判断、计划、风险,且不需要调用守护进程相关工具,则禁止做任何用户可见回应;若它有实质影响,只在下一条有实质内容的回复中体现,禁止单独发送“静默吸收”“已收到”等占位语句。
1438
+ 当前运行环境中 daemon 仍在运行。这是系统维护的状态提醒,不是默认需要单独汇报的事项。
1439
+ ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}
1440
+ 若下面的信息没有实质改变你的判断、计划、风险,且不需要调用守护进程相关工具,则禁止做任何用户可见回应;若它有实质影响,只在下一条有实质内容的回复中体现,禁止单独发送“静默吸收”“已收到”等占位语句。
1435
1441
 
1436
1442
  **状态快照:**
1437
1443
  ${statusInfo}`
1438
1444
  : `🔄 ${prefix} Daemon lifecycle reminder [${reminder.id}] - ${runningSummary} | PID ${pid}, uptime: ${uptimeStr}
1439
- The current runtime environment shows that this daemon is still running. This is a system-maintained state reminder and not something that normally deserves a standalone mention. If the information below does not materially change your judgment, plan, risk, or require a daemon-management action, make no user-visible reply at all; if it does matter, reflect it only inside the next substantive reply instead of sending filler like "silently noted" or "received".
1445
+ The current runtime environment shows that this daemon is still running. This is a system-maintained state reminder and not something that normally deserves a standalone mention. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)} If the information below does not materially change your judgment, plan, risk, or require a daemon-management action, make no user-visible reply at all; if it does matter, reflect it only inside the next substantive reply instead of sending filler like "silently noted" or "received".
1440
1446
 
1441
1447
  **State snapshot:**
1442
1448
  ${statusInfo}`,
@@ -36,13 +36,13 @@ function isPendingTellaskReminderMeta(value) {
36
36
  }
37
37
  function getPendingTellaskUpdateAltInstruction(language) {
38
38
  return language === 'zh'
39
- ? '不要手改这条系统提醒。若要改变某一路诉请,只有长线诉请(`tellask` + `sessionSlug`)才能更新那一路诉请的“任务安排”:复用同一 `sessionSlug` 再发 `tellask`,让对应主理人按最新安排自行最终回复并自然结束。一次性诉请(`tellaskSessionless`)没有这个通道;新开一个 `tellaskSessionless` 只会再创建新的瞬态支线,不能要求旧主理人停止。其余情况等待系统按真实诉请状态自动刷新。'
40
- : 'Do not hand-edit this system reminder. If you need to change one tellask, only a sessioned tellask (`tellask` + `sessionSlug`) can be updated in place: send another `tellask` with the same `sessionSlug` so the tellaskee can finish naturally under the latest assignment. A one-shot tellask (`tellaskSessionless`) has no such channel; another `tellaskSessionless` only creates a new transient Side Dialog and cannot tell the earlier owner to stop. Otherwise wait for system refresh from real tellask state.';
39
+ ? '不要手改这条系统提醒。诉请更改通道:只有长线诉请(`tellask` + `sessionSlug`)才能更新那一路诉请的“任务安排”:复用同一 `sessionSlug` 再发 `tellask`,让对应主理人按最新安排自行最终回复并自然结束。一次性诉请(`tellaskSessionless`)没有这个通道;新开一个 `tellaskSessionless` 只会再创建新的瞬态支线,不能要求旧主理人停止。其余情况等待系统按真实诉请状态自动刷新。'
40
+ : 'Do not hand-edit this system reminder. Tellask change path: only a sessioned tellask (`tellask` + `sessionSlug`) can be updated in place: send another `tellask` with the same `sessionSlug` so the tellaskee can finish naturally under the latest assignment. A one-shot tellask (`tellaskSessionless`) has no such channel; another `tellaskSessionless` only creates a new transient Side Dialog and cannot tell the earlier owner to stop. Otherwise wait for system refresh from real tellask state.';
41
41
  }
42
42
  function getPendingTellaskDeleteAltInstruction(language) {
43
43
  return language === 'zh'
44
- ? '这条系统提醒不可删除。若要改变某一路诉请,只有长线诉请(`tellask` + `sessionSlug`)才能更新那一路诉请的“任务安排”:复用同一 `sessionSlug` 再发 `tellask`,让对应主理人按最新安排自行最终回复并自然结束。一次性诉请(`tellaskSessionless`)没有这个通道;新开一个 `tellaskSessionless` 只会再创建新的瞬态支线,不能要求旧主理人停止。其余情况等待系统按真实诉请状态自动刷新。'
45
- : 'This system reminder is not deletable. If you need to change one tellask, only a sessioned tellask (`tellask` + `sessionSlug`) can be updated in place: send another `tellask` with the same `sessionSlug` so the tellaskee can finish naturally under the latest assignment. A one-shot tellask (`tellaskSessionless`) has no such channel; another `tellaskSessionless` only creates a new transient Side Dialog and cannot tell the earlier owner to stop. Otherwise wait for system refresh from real tellask state.';
44
+ ? '这条系统提醒不可删除。诉请更改通道:只有长线诉请(`tellask` + `sessionSlug`)才能更新那一路诉请的“任务安排”:复用同一 `sessionSlug` 再发 `tellask`,让对应主理人按最新安排自行最终回复并自然结束。一次性诉请(`tellaskSessionless`)没有这个通道;新开一个 `tellaskSessionless` 只会再创建新的瞬态支线,不能要求旧主理人停止。其余情况等待系统按真实诉请状态自动刷新。'
45
+ : 'This system reminder is not deletable. Tellask change path: only a sessioned tellask (`tellask` + `sessionSlug`) can be updated in place: send another `tellask` with the same `sessionSlug` so the tellaskee can finish naturally under the latest assignment. A one-shot tellask (`tellaskSessionless`) has no such channel; another `tellaskSessionless` only creates a new transient Side Dialog and cannot tell the earlier owner to stop. Otherwise wait for system refresh from real tellask state.';
46
46
  }
47
47
  function callKindLabel(language, view) {
48
48
  if (view.callType === 'A') {
@@ -234,21 +234,12 @@ exports.pendingTellaskReminderOwner = {
234
234
  async renderReminder(_dlg, reminder) {
235
235
  const language = (0, work_language_1.getWorkLanguage)();
236
236
  const prefix = (0, driver_messages_1.formatSystemNoticePrefix)(language);
237
- if (reminder.owner !== exports.pendingTellaskReminderOwner) {
238
- return {
239
- type: 'environment_msg',
240
- role: 'user',
241
- content: language === 'zh'
242
- ? `${prefix} 自动维护诉请状态提醒 [${reminder.id}]\n你正在查看系统自动维护的诉请状态,不要把它当成你自己写的工作便签。\n\n${reminder.content}`
243
- : `${prefix} Auto-maintained tellask status reminder [${reminder.id}]\nYou are looking at system-maintained tellask state. Do not treat it as a self-authored work note.\n\n${reminder.content}`,
244
- };
245
- }
246
237
  return {
247
238
  type: 'environment_msg',
248
239
  role: 'user',
249
240
  content: language === 'zh'
250
- ? `${prefix} 自动维护诉请状态提醒 [${reminder.id}]\n你正在查看系统自动维护的诉请状态,不要把它当成你自己写的工作便签。\n\n${reminder.content}`
251
- : `${prefix} Auto-maintained tellask status reminder [${reminder.id}]\nYou are looking at system-maintained tellask state. Do not treat it as a self-authored work note.\n\n${reminder.content}`,
241
+ ? `${prefix} 自动维护诉请状态提醒 [${reminder.id}]\n这是系统自动维护的诉请状态,不是你自己写的工作便签。${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}\n\n${reminder.content}`
242
+ : `${prefix} Auto-maintained tellask status reminder [${reminder.id}]\nThis is system-maintained tellask state, not a work note you wrote. ${(0, driver_messages_1.formatAutoMaintainedReminderManualMirrorBan)(language)}\n\n${reminder.content}`,
252
243
  };
253
244
  },
254
245
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dominds",
3
- "version": "1.23.7",
3
+ "version": "1.23.9",
4
4
  "description": "Dominds CLI and aggregation shell for the LongRun AI kernel/runtime packages.",
5
5
  "type": "commonjs",
6
6
  "publishConfig": {
@@ -53,8 +53,8 @@
53
53
  "yaml": "^2.8.2",
54
54
  "zod": "^4.3.6",
55
55
  "@longrun-ai/codex-auth": "0.13.0",
56
- "@longrun-ai/kernel": "1.13.4",
57
- "@longrun-ai/shell": "1.13.4"
56
+ "@longrun-ai/shell": "1.13.6",
57
+ "@longrun-ai/kernel": "1.13.6"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/node": "^25.3.5",
@@ -1,5 +1,5 @@
1
- import { e as isSymbol, c as baseFlatten, g as baseIteratee, k as keys, h as baseFindIndex, j as baseEach, l as arrayMap, m as hasPath, n as castPath, t as toKey, o as baseGet } from "./_baseUniq-DkdKmFUs.js";
2
- import { aU as isObject, aC as baseRest, aV as isIterateeCall, aW as keysIn, aX as eq, aY as isArrayLike, aZ as isArray, a_ as identity, a$ as isIndex, b0 as assignValue } from "./index-DvqI98wY.js";
1
+ import { e as isSymbol, c as baseFlatten, g as baseIteratee, k as keys, h as baseFindIndex, j as baseEach, l as arrayMap, m as hasPath, n as castPath, t as toKey, o as baseGet } from "./_baseUniq-DwjWeodO.js";
2
+ import { aU as isObject, aC as baseRest, aV as isIterateeCall, aW as keysIn, aX as eq, aY as isArrayLike, aZ as isArray, a_ as identity, a$ as isIndex, b0 as assignValue } from "./index-Dnj_jTsn.js";
3
3
  var reWhitespace = /\s/;
4
4
  function trimmedEndIndex(string) {
5
5
  var index = string.length;
@@ -193,4 +193,4 @@ export {
193
193
  map as m,
194
194
  toFinite as t
195
195
  };
196
- //# sourceMappingURL=_basePickBy-528dB5Tu.js.map
196
+ //# sourceMappingURL=_basePickBy-7LUdAfWz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_basePickBy-528dB5Tu.js","sources":["../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_trimmedEndIndex.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseTrim.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toNumber.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toFinite.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toInteger.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/flatten.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/defaults.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/last.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_createFind.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/findIndex.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/find.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseMap.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/map.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/has.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseLt.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseExtremum.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/min.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_basePickBy.js"],"sourcesContent":["/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nexport default toFinite;\n","import toFinite from './toFinite.js';\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nexport default toInteger;\n","import baseFlatten from './_baseFlatten.js';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nexport default flatten;\n","import baseRest from './_baseRest.js';\nimport eq from './eq.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport keysIn from './keysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nexport default defaults;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n","import baseIteratee from './_baseIteratee.js';\nimport isArrayLike from './isArrayLike.js';\nimport keys from './keys.js';\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nexport default createFind;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIteratee from './_baseIteratee.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nexport default findIndex;\n","import createFind from './_createFind.js';\nimport findIndex from './findIndex.js';\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nexport default find;\n","import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n","import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nexport default map;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nexport default baseLt;\n","import isSymbol from './isSymbol.js';\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nexport default baseExtremum;\n","import baseExtremum from './_baseExtremum.js';\nimport baseLt from './_baseLt.js';\nimport identity from './identity.js';\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nexport default min;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nexport default basePickBy;\n"],"names":["objectProto","hasOwnProperty","collection"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
1
+ {"version":3,"file":"_basePickBy-7LUdAfWz.js","sources":["../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_trimmedEndIndex.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseTrim.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toNumber.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toFinite.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toInteger.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/flatten.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/defaults.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/last.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_createFind.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/findIndex.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/find.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseMap.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/map.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/has.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseLt.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseExtremum.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/min.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_basePickBy.js"],"sourcesContent":["/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nexport default toFinite;\n","import toFinite from './toFinite.js';\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nexport default toInteger;\n","import baseFlatten from './_baseFlatten.js';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nexport default flatten;\n","import baseRest from './_baseRest.js';\nimport eq from './eq.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport keysIn from './keysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nexport default defaults;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n","import baseIteratee from './_baseIteratee.js';\nimport isArrayLike from './isArrayLike.js';\nimport keys from './keys.js';\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nexport default createFind;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIteratee from './_baseIteratee.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nexport default findIndex;\n","import createFind from './_createFind.js';\nimport findIndex from './findIndex.js';\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nexport default find;\n","import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n","import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nexport default map;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nexport default baseLt;\n","import isSymbol from './isSymbol.js';\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nexport default baseExtremum;\n","import baseExtremum from './_baseExtremum.js';\nimport baseLt from './_baseLt.js';\nimport identity from './identity.js';\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nexport default min;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nexport default basePickBy;\n"],"names":["objectProto","hasOwnProperty","collection"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
@@ -1,4 +1,4 @@
1
- import { bh as isObjectLike, bi as baseGetTag, aZ as isArray, bj as Symbol$1, aY as isArrayLike, bk as arrayLikeKeys, bl as baseKeys, bm as memoize, bn as isArguments, bo as copyObject, aW as keysIn, bp as getPrototype, bq as cloneArrayBuffer, br as cloneTypedArray, bs as getTag, bf as baseUnary, bt as nodeUtil, aU as isObject, bu as copyArray, bv as isBuffer, bw as cloneBuffer, bx as initCloneObject, by as Stack, b0 as assignValue, bz as MapCache, aX as eq, bA as Uint8Array, bB as isTypedArray, bC as isLength, a$ as isIndex, a_ as identity, bd as baseFor, bD as Set } from "./index-DvqI98wY.js";
1
+ import { bh as isObjectLike, bi as baseGetTag, aZ as isArray, bj as Symbol$1, aY as isArrayLike, bk as arrayLikeKeys, bl as baseKeys, bm as memoize, bn as isArguments, bo as copyObject, aW as keysIn, bp as getPrototype, bq as cloneArrayBuffer, br as cloneTypedArray, bs as getTag, bf as baseUnary, bt as nodeUtil, aU as isObject, bu as copyArray, bv as isBuffer, bw as cloneBuffer, bx as initCloneObject, by as Stack, b0 as assignValue, bz as MapCache, aX as eq, bA as Uint8Array, bB as isTypedArray, bC as isLength, a$ as isIndex, a_ as identity, bd as baseFor, bD as Set } from "./index-Dnj_jTsn.js";
2
2
  var symbolTag$3 = "[object Symbol]";
3
3
  function isSymbol(value) {
4
4
  return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3;
@@ -833,4 +833,4 @@ export {
833
833
  baseIndexOf as y,
834
834
  getAllKeysIn as z
835
835
  };
836
- //# sourceMappingURL=_baseUniq-DkdKmFUs.js.map
836
+ //# sourceMappingURL=_baseUniq-DwjWeodO.js.map