dominds 1.26.4 → 1.26.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dialog.d.ts +7 -0
- package/dist/dialog.js +43 -21
- package/dist/persistence.js +1 -1
- package/dist/runtime/driver-messages.js +40 -24
- package/dist/server/websocket-handler.js +63 -19
- package/package.json +3 -3
- package/webapp/dist/assets/{_basePickBy-mFK6EVZU.js → _basePickBy-zyTFuJGa.js} +3 -3
- package/webapp/dist/assets/{_basePickBy-mFK6EVZU.js.map → _basePickBy-zyTFuJGa.js.map} +1 -1
- package/webapp/dist/assets/{_baseUniq-C8zyOqn7.js → _baseUniq-nq34n_7W.js} +2 -2
- package/webapp/dist/assets/{_baseUniq-C8zyOqn7.js.map → _baseUniq-nq34n_7W.js.map} +1 -1
- package/webapp/dist/assets/{arc-Vdl3uhV8.js → arc-Bv7_22Od.js} +2 -2
- package/webapp/dist/assets/{arc-Vdl3uhV8.js.map → arc-Bv7_22Od.js.map} +1 -1
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-D3Xtb8u_.js → architectureDiagram-2XIMDMQ5-CQe-mbPP.js} +7 -7
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-D3Xtb8u_.js.map → architectureDiagram-2XIMDMQ5-CQe-mbPP.js.map} +1 -1
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-Bozcnodw.js → blockDiagram-WCTKOSBZ-CX4Uu1s4.js} +7 -7
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-Bozcnodw.js.map → blockDiagram-WCTKOSBZ-CX4Uu1s4.js.map} +1 -1
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-CLkxlY6N.js → c4Diagram-IC4MRINW-75vPtXd7.js} +3 -3
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-CLkxlY6N.js.map → c4Diagram-IC4MRINW-75vPtXd7.js.map} +1 -1
- package/webapp/dist/assets/{channel-CqGyLCM_.js → channel-lMsMuju8.js} +2 -2
- package/webapp/dist/assets/{channel-CqGyLCM_.js.map → channel-lMsMuju8.js.map} +1 -1
- package/webapp/dist/assets/{chunk-4BX2VUAB-BNsJpMh4.js → chunk-4BX2VUAB-I371XlIM.js} +2 -2
- package/webapp/dist/assets/{chunk-4BX2VUAB-BNsJpMh4.js.map → chunk-4BX2VUAB-I371XlIM.js.map} +1 -1
- package/webapp/dist/assets/{chunk-55IACEB6-B59p6vzX.js → chunk-55IACEB6-GMAfwcRQ.js} +2 -2
- package/webapp/dist/assets/{chunk-55IACEB6-B59p6vzX.js.map → chunk-55IACEB6-GMAfwcRQ.js.map} +1 -1
- package/webapp/dist/assets/{chunk-FMBD7UC4-CB17a_Ki.js → chunk-FMBD7UC4-X9ms5_sJ.js} +2 -2
- package/webapp/dist/assets/{chunk-FMBD7UC4-CB17a_Ki.js.map → chunk-FMBD7UC4-X9ms5_sJ.js.map} +1 -1
- package/webapp/dist/assets/{chunk-JSJVCQXG-DVnVflN-.js → chunk-JSJVCQXG-s2a971Od.js} +2 -2
- package/webapp/dist/assets/{chunk-JSJVCQXG-DVnVflN-.js.map → chunk-JSJVCQXG-s2a971Od.js.map} +1 -1
- package/webapp/dist/assets/{chunk-KX2RTZJC-D9_5LvIO.js → chunk-KX2RTZJC-CSSBs5H9.js} +2 -2
- package/webapp/dist/assets/{chunk-KX2RTZJC-D9_5LvIO.js.map → chunk-KX2RTZJC-CSSBs5H9.js.map} +1 -1
- package/webapp/dist/assets/{chunk-NQ4KR5QH-CZWI2G2c.js → chunk-NQ4KR5QH-B8-jtfW1.js} +4 -4
- package/webapp/dist/assets/{chunk-NQ4KR5QH-CZWI2G2c.js.map → chunk-NQ4KR5QH-B8-jtfW1.js.map} +1 -1
- package/webapp/dist/assets/{chunk-QZHKN3VN-WCLg8cNX.js → chunk-QZHKN3VN-3ZZehtFv.js} +2 -2
- package/webapp/dist/assets/{chunk-QZHKN3VN-WCLg8cNX.js.map → chunk-QZHKN3VN-3ZZehtFv.js.map} +1 -1
- package/webapp/dist/assets/{chunk-WL4C6EOR-BFkz_P__.js → chunk-WL4C6EOR-D_AtipPw.js} +6 -6
- package/webapp/dist/assets/{chunk-WL4C6EOR-BFkz_P__.js.map → chunk-WL4C6EOR-D_AtipPw.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-DWQ1VnaI.js → classDiagram-VBA2DB6C-CTxhuDjN.js} +7 -7
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-DWQ1VnaI.js.map → classDiagram-VBA2DB6C-CTxhuDjN.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-DWQ1VnaI.js → classDiagram-v2-RAHNMMFH-CTxhuDjN.js} +7 -7
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-DWQ1VnaI.js.map → classDiagram-v2-RAHNMMFH-CTxhuDjN.js.map} +1 -1
- package/webapp/dist/assets/{clone-D3QHqx6z.js → clone-C9MfpI1S.js} +2 -2
- package/webapp/dist/assets/{clone-D3QHqx6z.js.map → clone-C9MfpI1S.js.map} +1 -1
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-D2dZHRG3.js → cose-bilkent-S5V4N54A-CCYyTSie.js} +2 -2
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-D2dZHRG3.js.map → cose-bilkent-S5V4N54A-CCYyTSie.js.map} +1 -1
- package/webapp/dist/assets/{dagre-KLK3FWXG-Cwz7pFDo.js → dagre-KLK3FWXG-DxM19yfA.js} +7 -7
- package/webapp/dist/assets/{dagre-KLK3FWXG-Cwz7pFDo.js.map → dagre-KLK3FWXG-DxM19yfA.js.map} +1 -1
- package/webapp/dist/assets/{diagram-E7M64L7V-C6z0VVoW.js → diagram-E7M64L7V-BSc4Txf5.js} +8 -8
- package/webapp/dist/assets/{diagram-E7M64L7V-C6z0VVoW.js.map → diagram-E7M64L7V-BSc4Txf5.js.map} +1 -1
- package/webapp/dist/assets/{diagram-IFDJBPK2-CZ1KR1hO.js → diagram-IFDJBPK2-Cdj6m54B.js} +7 -7
- package/webapp/dist/assets/{diagram-IFDJBPK2-CZ1KR1hO.js.map → diagram-IFDJBPK2-Cdj6m54B.js.map} +1 -1
- package/webapp/dist/assets/{diagram-P4PSJMXO-ChwZDZYa.js → diagram-P4PSJMXO-BKd75i65.js} +7 -7
- package/webapp/dist/assets/{diagram-P4PSJMXO-ChwZDZYa.js.map → diagram-P4PSJMXO-BKd75i65.js.map} +1 -1
- package/webapp/dist/assets/{erDiagram-INFDFZHY-DCnHsk_Z.js → erDiagram-INFDFZHY-eI9rTfbL.js} +5 -5
- package/webapp/dist/assets/{erDiagram-INFDFZHY-DCnHsk_Z.js.map → erDiagram-INFDFZHY-eI9rTfbL.js.map} +1 -1
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-C5Hi85ST.js → flowDiagram-PKNHOUZH-BFDDBCeb.js} +7 -7
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-C5Hi85ST.js.map → flowDiagram-PKNHOUZH-BFDDBCeb.js.map} +1 -1
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-vT15RP6A.js → ganttDiagram-A5KZAMGK-ClhbFgCt.js} +3 -3
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-vT15RP6A.js.map → ganttDiagram-A5KZAMGK-ClhbFgCt.js.map} +1 -1
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-Ct5XDpFu.js → gitGraphDiagram-K3NZZRJ6-DOiQN8_s.js} +8 -8
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-Ct5XDpFu.js.map → gitGraphDiagram-K3NZZRJ6-DOiQN8_s.js.map} +1 -1
- package/webapp/dist/assets/{graph-CqFTrHii.js → graph-_a0YpojF.js} +3 -3
- package/webapp/dist/assets/{graph-CqFTrHii.js.map → graph-_a0YpojF.js.map} +1 -1
- package/webapp/dist/assets/{index-C_PzQ5W5.js → index-Dou-k_rC.js} +55 -58
- package/webapp/dist/assets/{index-C_PzQ5W5.js.map → index-Dou-k_rC.js.map} +1 -1
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-DlyOw8IT.js → infoDiagram-LFFYTUFH-txkiQJKc.js} +6 -6
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-DlyOw8IT.js.map → infoDiagram-LFFYTUFH-txkiQJKc.js.map} +1 -1
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-iZCVn19K.js → ishikawaDiagram-PHBUUO56-D91OZx5x.js} +2 -2
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-iZCVn19K.js.map → ishikawaDiagram-PHBUUO56-D91OZx5x.js.map} +1 -1
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-B95gnBKj.js → journeyDiagram-4ABVD52K-BdmmINf5.js} +5 -5
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-B95gnBKj.js.map → journeyDiagram-4ABVD52K-BdmmINf5.js.map} +1 -1
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-DQ2gfPUK.js → kanban-definition-K7BYSVSG-C-S70Yrl.js} +3 -3
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-DQ2gfPUK.js.map → kanban-definition-K7BYSVSG-C-S70Yrl.js.map} +1 -1
- package/webapp/dist/assets/{layout-VOBFudHV.js → layout-BRJaSqhR.js} +5 -5
- package/webapp/dist/assets/{layout-VOBFudHV.js.map → layout-BRJaSqhR.js.map} +1 -1
- package/webapp/dist/assets/{linear-BtBp93s2.js → linear-DyNGMbe9.js} +2 -2
- package/webapp/dist/assets/{linear-BtBp93s2.js.map → linear-DyNGMbe9.js.map} +1 -1
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-m2w1nBbY.js → mindmap-definition-YRQLILUH-sDQWtZwL.js} +4 -4
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-m2w1nBbY.js.map → mindmap-definition-YRQLILUH-sDQWtZwL.js.map} +1 -1
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-ByoyS2as.js → pieDiagram-SKSYHLDU-CxO-PR0P.js} +8 -8
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-ByoyS2as.js.map → pieDiagram-SKSYHLDU-CxO-PR0P.js.map} +1 -1
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-BnKSsLfA.js → quadrantDiagram-337W2JSQ-2eCl6G-9.js} +3 -3
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-BnKSsLfA.js.map → quadrantDiagram-337W2JSQ-2eCl6G-9.js.map} +1 -1
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-jU2C7qJN.js → requirementDiagram-Z7DCOOCP-BZP0MViS.js} +4 -4
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-jU2C7qJN.js.map → requirementDiagram-Z7DCOOCP-BZP0MViS.js.map} +1 -1
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-R175tX8b.js → sankeyDiagram-WA2Y5GQK-BFByQmrg.js} +2 -2
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-R175tX8b.js.map → sankeyDiagram-WA2Y5GQK-BFByQmrg.js.map} +1 -1
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-CBhN4j2Q.js → sequenceDiagram-2WXFIKYE-vs-caW9J.js} +4 -4
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-CBhN4j2Q.js.map → sequenceDiagram-2WXFIKYE-vs-caW9J.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-DZSAyRfJ.js → stateDiagram-RAJIS63D-B_yOKRoN.js} +9 -9
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-DZSAyRfJ.js.map → stateDiagram-RAJIS63D-B_yOKRoN.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-x29lKJpl.js → stateDiagram-v2-FVOUBMTO-B285fcqL.js} +5 -5
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-x29lKJpl.js.map → stateDiagram-v2-FVOUBMTO-B285fcqL.js.map} +1 -1
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-BQR2qEXt.js → timeline-definition-YZTLITO2-B_yCavMb.js} +3 -3
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-BQR2qEXt.js.map → timeline-definition-YZTLITO2-B_yCavMb.js.map} +1 -1
- package/webapp/dist/assets/{treemap-KZPCXAKY-b823qTE1.js → treemap-KZPCXAKY-cErPVx9g.js} +5 -5
- package/webapp/dist/assets/{treemap-KZPCXAKY-b823qTE1.js.map → treemap-KZPCXAKY-cErPVx9g.js.map} +1 -1
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BrxPNUYz.js → vennDiagram-LZ73GAT5-C9qgK3p0.js} +2 -2
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BrxPNUYz.js.map → vennDiagram-LZ73GAT5-C9qgK3p0.js.map} +1 -1
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BgOzlz6Z.js → xychartDiagram-JWTSCODW-B-gCl1Yj.js} +3 -3
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BgOzlz6Z.js.map → xychartDiagram-JWTSCODW-B-gCl1Yj.js.map} +1 -1
- package/webapp/dist/index.html +1 -1
package/dist/dialog.d.ts
CHANGED
|
@@ -272,6 +272,13 @@ export declare abstract class Dialog {
|
|
|
272
272
|
listVisibleReminders(): Promise<Reminder[]>;
|
|
273
273
|
resolveReminderTargetById(reminderId: string): Promise<VisibleReminderTarget | null>;
|
|
274
274
|
private processReminderCollection;
|
|
275
|
+
private buildVisibleReminderContents;
|
|
276
|
+
private emitFullRemindersUpdate;
|
|
277
|
+
/**
|
|
278
|
+
* Emits current visible reminders without reconciling tool-owned state or writing persistence.
|
|
279
|
+
* This is for read-only dialog display, especially completed/archived dialogs opened from old tabs.
|
|
280
|
+
*/
|
|
281
|
+
emitReminderSnapshot(): Promise<ReminderContent[]>;
|
|
275
282
|
/**
|
|
276
283
|
* Process reminder updates before LLM generation.
|
|
277
284
|
* Calls updateReminder on each tool that owns reminders to allow them to update/drop/keep their reminders.
|
package/dist/dialog.js
CHANGED
|
@@ -629,6 +629,47 @@ class Dialog {
|
|
|
629
629
|
}
|
|
630
630
|
return changed;
|
|
631
631
|
}
|
|
632
|
+
buildVisibleReminderContents(taskSharedReminders, runtimeReminders) {
|
|
633
|
+
const visibleReminders = [
|
|
634
|
+
...this.reminders.map((reminder) => (0, tool_1.cloneReminder)(reminder)),
|
|
635
|
+
...taskSharedReminders.map((reminder) => (0, tool_1.cloneReminder)(reminder)),
|
|
636
|
+
...runtimeReminders.map((reminder) => (0, tool_1.cloneReminder)(reminder)),
|
|
637
|
+
];
|
|
638
|
+
visibleReminders.sort(tool_1.compareReminderDisplayOrder);
|
|
639
|
+
return visibleReminders.map((r) => ({
|
|
640
|
+
content: r.content,
|
|
641
|
+
meta: r.meta,
|
|
642
|
+
reminder_id: r.id,
|
|
643
|
+
renderRevision: (0, tool_1.computeReminderRenderRevision)(r),
|
|
644
|
+
echoback: (0, tool_1.reminderEchoBackEnabled)(r),
|
|
645
|
+
scope: r.scope,
|
|
646
|
+
renderMode: r.renderMode ?? 'markdown',
|
|
647
|
+
}));
|
|
648
|
+
}
|
|
649
|
+
emitFullRemindersUpdate(reminders) {
|
|
650
|
+
const fullRemindersEvt = {
|
|
651
|
+
type: 'full_reminders_update',
|
|
652
|
+
reminders,
|
|
653
|
+
};
|
|
654
|
+
(0, evt_registry_1.postDialogEvent)(this, fullRemindersEvt);
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Emits current visible reminders without reconciling tool-owned state or writing persistence.
|
|
658
|
+
* This is for read-only dialog display, especially completed/archived dialogs opened from old tabs.
|
|
659
|
+
*/
|
|
660
|
+
async emitReminderSnapshot() {
|
|
661
|
+
const taskSharedTarget = {
|
|
662
|
+
kind: 'task',
|
|
663
|
+
agentId: this.agentId,
|
|
664
|
+
taskDocPath: this.taskDocPath,
|
|
665
|
+
};
|
|
666
|
+
const runtimeTarget = { kind: 'agent', agentId: this.agentId };
|
|
667
|
+
const taskSharedReminders = await (0, shared_reminders_1.loadSharedReminders)(taskSharedTarget);
|
|
668
|
+
const runtimeReminders = await (0, shared_reminders_1.loadSharedReminders)(runtimeTarget);
|
|
669
|
+
const reminders = this.buildVisibleReminderContents(taskSharedReminders, runtimeReminders);
|
|
670
|
+
this.emitFullRemindersUpdate(reminders);
|
|
671
|
+
return reminders;
|
|
672
|
+
}
|
|
632
673
|
/**
|
|
633
674
|
* Process reminder updates before LLM generation.
|
|
634
675
|
* Calls updateReminder on each tool that owns reminders to allow them to update/drop/keep their reminders.
|
|
@@ -676,27 +717,8 @@ class Dialog {
|
|
|
676
717
|
agentId: this.agentId,
|
|
677
718
|
});
|
|
678
719
|
}
|
|
679
|
-
const
|
|
680
|
-
|
|
681
|
-
...taskSharedReminders,
|
|
682
|
-
...runtimeReminders,
|
|
683
|
-
];
|
|
684
|
-
visibleReminders.sort(tool_1.compareReminderDisplayOrder);
|
|
685
|
-
const reminders = visibleReminders.map((r) => ({
|
|
686
|
-
content: r.content,
|
|
687
|
-
meta: r.meta,
|
|
688
|
-
reminder_id: r.id,
|
|
689
|
-
renderRevision: (0, tool_1.computeReminderRenderRevision)(r),
|
|
690
|
-
echoback: (0, tool_1.reminderEchoBackEnabled)(r),
|
|
691
|
-
scope: r.scope,
|
|
692
|
-
renderMode: r.renderMode ?? 'markdown',
|
|
693
|
-
}));
|
|
694
|
-
// Emit full_reminders_update event with complete reminder list including metadata
|
|
695
|
-
const fullRemindersEvt = {
|
|
696
|
-
type: 'full_reminders_update',
|
|
697
|
-
reminders,
|
|
698
|
-
};
|
|
699
|
-
(0, evt_registry_1.postDialogEvent)(this, fullRemindersEvt);
|
|
720
|
+
const reminders = this.buildVisibleReminderContents(taskSharedReminders, runtimeReminders);
|
|
721
|
+
this.emitFullRemindersUpdate(reminders);
|
|
700
722
|
return reminders;
|
|
701
723
|
}
|
|
702
724
|
setCoursePrefixMsgs(msgs) {
|
package/dist/persistence.js
CHANGED
|
@@ -3590,7 +3590,7 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
|
|
|
3590
3590
|
* Note: Event emission is handled by processReminderUpdates() in Dialog
|
|
3591
3591
|
*/
|
|
3592
3592
|
async persistReminders(dialog, reminders) {
|
|
3593
|
-
await DialogPersistence._saveReminderState(this.dialogId, reminders);
|
|
3593
|
+
await DialogPersistence._saveReminderState(this.dialogId, reminders, dialog.status);
|
|
3594
3594
|
await DialogPersistence.appendRemindersReconciledRecord(this.dialogId, reminders, resolveReconciledRecordWriteTarget(dialog), dialog.status);
|
|
3595
3595
|
}
|
|
3596
3596
|
/**
|
|
@@ -179,6 +179,7 @@ function formatReminderContextGuide(language) {
|
|
|
179
179
|
if (language === 'zh') {
|
|
180
180
|
return [
|
|
181
181
|
`${formatSystemNoticePrefix(language)} 提醒项上下文块开始`,
|
|
182
|
+
'Dominds 是你当前所在的自主运行环境;它会把运行中需要你看到的提醒、提示和状态放进上下文。',
|
|
182
183
|
'以下是 Dominds 为你放到当前上下文里的可见提醒项。它们不是用户的新诉求/指令,也不是聊天正文。',
|
|
183
184
|
'在 WebUI 中,用户通过独立的 Reminder 小组件/面板项看到这些提醒,并能把它们和聊天正文区分开。',
|
|
184
185
|
'请把提醒项作为手头工作/状态参考;只有实际改变你的判断、计划或风险的信息,才需要提炼进后续有实质内容的对外回复。不要为了提醒项单独回复“收到/已了解/静默吸收”。',
|
|
@@ -186,6 +187,7 @@ function formatReminderContextGuide(language) {
|
|
|
186
187
|
}
|
|
187
188
|
return [
|
|
188
189
|
`${formatSystemNoticePrefix(language)} Reminder context block begins`,
|
|
190
|
+
'Dominds is the autonomous runtime environment you are currently working in; it places needed reminders, notices, and state into your context.',
|
|
189
191
|
'The following visible reminders were added to the current context by Dominds. They are not new user requests/instructions, and not chat transcript text.',
|
|
190
192
|
'In the WebUI, the user sees these reminders through a separate Reminder widget/panel item and can distinguish them from the chat transcript.',
|
|
191
193
|
'Use reminders as current-work/state references; only carry information into a later substantive outward reply when it materially changes your current judgment, plan, or risk. Do not send a standalone "acknowledged/noted/silently absorbed" reply for reminder items.',
|
|
@@ -331,16 +333,21 @@ function joinReminderFooterTails(language, tails) {
|
|
|
331
333
|
function formatZhNormalAutoContinueByDialogScope(scope) {
|
|
332
334
|
switch (scope.kind) {
|
|
333
335
|
case 'main_dialog':
|
|
334
|
-
// Main Dialogs own the broad task and do not have a requester to tellaskBack.
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
//
|
|
338
|
-
|
|
336
|
+
// Main Dialogs own the broad task and do not have a requester to tellaskBack. Business
|
|
337
|
+
// scenario: this is a tool-followup turn with no new user/runtime message, and stale
|
|
338
|
+
// reminders can distort the model's next-step choice. Tell the model to first reconcile
|
|
339
|
+
// reminders that affect the current judgment, then proceed from the corrected task state.
|
|
340
|
+
// This is deliberately positive wording: users may ask the agent to fix reminders, and a
|
|
341
|
+
// stale reminder should be corrected instead of preserved by a blanket "do not maintain
|
|
342
|
+
// reminders" warning.
|
|
343
|
+
return '当前是主线对话。先校对会影响当前判断的提醒项:如果某条提醒项已经过时、失真、互相冲突或会误导当前行动,就先修正或删除;其余提醒项只作为背景参考。然后按校正后的真实任务状态行动:已有明确、相关且有价值的任务动作就继续执行;确实缺少人类本人澄清、裁决、验收口径、授权或输入时,用 `askHuman({ tellaskContent })` 提出一个最小且可回答的问题;如果既不缺这些信息、也没有真实任务动作,就交给 Dominds 按主线安排处理,鞭策开启时会继续续推,鞭策关闭且没有真实动作时可以自然收住。';
|
|
339
344
|
case 'side_dialog':
|
|
340
|
-
// Side Dialogs are answering a requester.
|
|
341
|
-
//
|
|
342
|
-
//
|
|
343
|
-
|
|
345
|
+
// Side Dialogs are answering a requester. Business scenario: in a reminder-only
|
|
346
|
+
// tool-followup turn, runtime already knows this is a Sideline Dialog, so the model should
|
|
347
|
+
// not infer whether askHuman or tellaskBack is appropriate. First reconcile reminders that
|
|
348
|
+
// could mislead the current answer; then ask the requester before the human whenever the
|
|
349
|
+
// requester can supply the missing requirement/decision/criteria/input.
|
|
350
|
+
return '当前是支线对话。先校对会影响当前判断的提醒项:如果某条提醒项已经过时、失真、互相冲突或会误导当前行动,就先修正或删除;其余提醒项只作为背景参考。然后按校正后的真实任务状态行动:已有明确、相关且有价值的任务动作就继续执行;若缺少需求澄清、业务裁决、验收口径、授权或输入,先判断缺的东西该由谁补:如果诉请者能补需求澄清、业务裁决、验收口径或缺失输入,先按当前工具规则考虑 `tellaskBack({ tellaskContent })` 回问诉请者;只有确实需要人类本人澄清、决策、授权或输入时,才用 `askHuman({ tellaskContent })` 提出一个最小且可回答的问题;如果既不缺这些信息、也没有真实任务动作,就交给 Dominds 按支线安排处理:需要回贴时会收到回贴提醒,已完成且无新诉求时可以自然收住。';
|
|
344
351
|
default: {
|
|
345
352
|
const _exhaustive = scope;
|
|
346
353
|
throw new Error(`Unhandled zh reminder dialog scope: ${String(_exhaustive)}`);
|
|
@@ -350,16 +357,21 @@ function formatZhNormalAutoContinueByDialogScope(scope) {
|
|
|
350
357
|
function formatEnNormalAutoContinueByDialogScope(scope) {
|
|
351
358
|
switch (scope.kind) {
|
|
352
359
|
case 'main_dialog':
|
|
353
|
-
// Main Dialogs own the broad task and do not have a requester to tellaskBack.
|
|
354
|
-
//
|
|
355
|
-
//
|
|
356
|
-
//
|
|
357
|
-
|
|
360
|
+
// Main Dialogs own the broad task and do not have a requester to tellaskBack. Business
|
|
361
|
+
// scenario: this is a tool-followup turn with no new user/runtime message, and stale
|
|
362
|
+
// reminders can distort the model's next-step choice. Tell the model to first reconcile
|
|
363
|
+
// reminders that affect the current judgment, then proceed from the corrected task state.
|
|
364
|
+
// This is deliberately positive wording: users may ask the agent to fix reminders, and a
|
|
365
|
+
// stale reminder should be corrected instead of preserved by a blanket "do not maintain
|
|
366
|
+
// reminders" warning.
|
|
367
|
+
return 'This is a Main Dialog. First check reminders that affect your current judgment: if a reminder is stale, distorted, conflicting, or would mislead the current action, correct or delete it; use the other reminders only as background reference. Then act from the corrected real task state: continue any clear, relevant, valuable task action; use `askHuman({ tellaskContent })` only when you truly need clarification, a decision, acceptance criteria, authorization, or input from the human, and ask one minimal, answerable question; if none of that is needed and there is no real task action, hand control back to Dominds mainline behavior, where diligence can continue it when enabled, and when diligence is disabled with no real action, it may naturally settle.';
|
|
358
368
|
case 'side_dialog':
|
|
359
|
-
// Side Dialogs are answering a requester.
|
|
360
|
-
//
|
|
361
|
-
//
|
|
362
|
-
|
|
369
|
+
// Side Dialogs are answering a requester. Business scenario: in a reminder-only
|
|
370
|
+
// tool-followup turn, runtime already knows this is a Sideline Dialog, so the model should
|
|
371
|
+
// not infer whether askHuman or tellaskBack is appropriate. First reconcile reminders that
|
|
372
|
+
// could mislead the current answer; then ask the requester before the human whenever the
|
|
373
|
+
// requester can supply the missing requirement/decision/criteria/input.
|
|
374
|
+
return 'This is a Side Dialog. First check reminders that affect your current judgment: if a reminder is stale, distorted, conflicting, or would mislead the current action, correct or delete it; use the other reminders only as background reference. Then act from the corrected real task state: continue any clear, relevant, valuable task action. If you are missing clarification, a business decision, acceptance criteria, authorization, or input, first identify who should provide it: when the requester can provide the missing requirement clarification, business decision, acceptance criteria, or missing input, follow the current tool rules and consider `tellaskBack({ tellaskContent })` first; use `askHuman({ tellaskContent })` only when the needed clarification, decision, authorization, or input truly must come from the human. If none of that is needed and there is no real task action, hand control back to Dominds sideline behavior: it can receive reply reminders when a reply is needed, and when it is complete with no new request, it may naturally settle.';
|
|
363
375
|
default: {
|
|
364
376
|
const _exhaustive = scope;
|
|
365
377
|
throw new Error(`Unhandled en reminder dialog scope: ${String(_exhaustive)}`);
|
|
@@ -395,7 +407,7 @@ function formatReminderContextFooter(language, state) {
|
|
|
395
407
|
// When context is tight/critical, the context-preservation notice owns the turn. Do not add
|
|
396
408
|
// ordinary continuation wording that could encourage more work from old reminders.
|
|
397
409
|
return (`${base}本轮没有新的用户消息或 Dominds 提示;这是工具调用后的自动续推。` +
|
|
398
|
-
|
|
410
|
+
`这里的“没有新消息”只说明本轮没有额外用户消息或 Dominds 提示。${statusTail}`);
|
|
399
411
|
}
|
|
400
412
|
// Normal tool-followup rounds may continue real business work, but reminder maintenance
|
|
401
413
|
// paths are merely references. Runtime already knows whether this is a Main Dialog or Side
|
|
@@ -403,7 +415,7 @@ function formatReminderContextFooter(language, state) {
|
|
|
403
415
|
const scopeTail = formatZhNormalAutoContinueByDialogScope(state.dialogScope);
|
|
404
416
|
return (`${base}本轮没有新的用户消息或 Dominds 提示;这是工具调用后的自动续推。` +
|
|
405
417
|
scopeTail +
|
|
406
|
-
|
|
418
|
+
`这里的“没有新消息”只说明本轮没有额外用户消息或 Dominds 提示。${businessTail}`);
|
|
407
419
|
default: {
|
|
408
420
|
const _exhaustive = state.followingMessage;
|
|
409
421
|
throw new Error(`Unhandled zh reminder following-message state: ${String(_exhaustive)}`);
|
|
@@ -438,7 +450,7 @@ function formatReminderContextFooter(language, state) {
|
|
|
438
450
|
// When context is tight/critical, the context-preservation notice owns the turn. Do not add
|
|
439
451
|
// ordinary continuation wording that could encourage more work from old reminders.
|
|
440
452
|
return (`${base}There is no new user message or Dominds notice in this round; this is an automatic continuation after a tool call. ` +
|
|
441
|
-
`
|
|
453
|
+
`Here, "no new message" only means this round has no extra user message or Dominds notice. ${statusTail}`);
|
|
442
454
|
}
|
|
443
455
|
// Normal tool-followup rounds may continue real business work, but reminder maintenance
|
|
444
456
|
// paths are merely references. Runtime already knows whether this is a Main Dialog or Side
|
|
@@ -446,7 +458,7 @@ function formatReminderContextFooter(language, state) {
|
|
|
446
458
|
const scopeTail = formatEnNormalAutoContinueByDialogScope(state.dialogScope);
|
|
447
459
|
return (`${base}There is no new user message or Dominds notice in this round; this is an automatic continuation after a tool call. ` +
|
|
448
460
|
`${scopeTail} ` +
|
|
449
|
-
`
|
|
461
|
+
`Here, "no new message" only means this round has no extra user message or Dominds notice. ${businessTail}`);
|
|
450
462
|
default: {
|
|
451
463
|
const _exhaustive = state.followingMessage;
|
|
452
464
|
throw new Error(`Unhandled en reminder following-message state: ${String(_exhaustive)}`);
|
|
@@ -541,15 +553,19 @@ function formatReminderMaintenanceReference(language, reminders) {
|
|
|
541
553
|
}
|
|
542
554
|
if (lines.length === 0)
|
|
543
555
|
return undefined;
|
|
556
|
+
// Business scenario: this block exposes exact reminder_id maintenance channels. The footer
|
|
557
|
+
// decides what the model should do next; this note only tells the model how to repair a concrete
|
|
558
|
+
// reminder when the current user message, Dominds notice, or task state makes that repair useful.
|
|
559
|
+
// Keep it positive: stale reminders should be fixed, while accurate reminders remain references.
|
|
544
560
|
if (language === 'zh') {
|
|
545
561
|
return [
|
|
546
|
-
`${formatSystemNoticePrefix(language)}
|
|
562
|
+
`${formatSystemNoticePrefix(language)} 下面列出这些提醒项可用的修正、更新或删除方式,按 reminder_id 对照使用。处理真实用户消息、Dominds 提示或当前任务时,如果某条提醒项已经过时、失真、重复或会误导当前判断,就用对应方式维护;如果它仍然准确,就把它当作参考继续处理当前场景。`,
|
|
547
563
|
'',
|
|
548
564
|
...lines,
|
|
549
565
|
].join('\n');
|
|
550
566
|
}
|
|
551
567
|
return [
|
|
552
|
-
`${formatSystemNoticePrefix(language)}
|
|
568
|
+
`${formatSystemNoticePrefix(language)} The following are the available ways to correct, update, or delete these reminders; use the matching reminder_id. While handling a real user message, Dominds notice, or current task, if a reminder is stale, distorted, duplicate, or would mislead your current judgment, maintain it through the matching path; if it is still accurate, use it as a reference and continue with the current situation.`,
|
|
553
569
|
'',
|
|
554
570
|
...lines,
|
|
555
571
|
].join('\n');
|
|
@@ -187,6 +187,30 @@ function readOptionalPersistableDialogStatus(raw) {
|
|
|
187
187
|
}
|
|
188
188
|
return { kind: 'value', status };
|
|
189
189
|
}
|
|
190
|
+
const DIALOG_STATUS_RESOLUTION_CANDIDATES = [
|
|
191
|
+
'running',
|
|
192
|
+
'completed',
|
|
193
|
+
'archived',
|
|
194
|
+
];
|
|
195
|
+
function orderedDialogStatusCandidates(preferredStatus) {
|
|
196
|
+
return [
|
|
197
|
+
preferredStatus,
|
|
198
|
+
...DIALOG_STATUS_RESOLUTION_CANDIDATES.filter((status) => status !== preferredStatus),
|
|
199
|
+
];
|
|
200
|
+
}
|
|
201
|
+
async function restoreDialogForDisplay(dialogId, preferredStatus) {
|
|
202
|
+
for (const status of orderedDialogStatusCandidates(preferredStatus)) {
|
|
203
|
+
const metadata = await persistence_1.DialogPersistence.loadDialogMetadata(dialogId, status);
|
|
204
|
+
if (!metadata)
|
|
205
|
+
continue;
|
|
206
|
+
const dialogState = await persistence_1.DialogPersistence.restoreDialog(dialogId, status);
|
|
207
|
+
if (!dialogState) {
|
|
208
|
+
throw new Error(`Dialog ${dialogId.valueOf()} metadata exists in ${status}, but dialog restoration failed`);
|
|
209
|
+
}
|
|
210
|
+
return { status, dialogState, metadata };
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
190
214
|
function formatDeclaredDeadSideDialogNotice(language, dialogId, callName) {
|
|
191
215
|
if (language === 'zh') {
|
|
192
216
|
switch (callName) {
|
|
@@ -1027,11 +1051,18 @@ async function handleDisplayDialog(ws, packet) {
|
|
|
1027
1051
|
}));
|
|
1028
1052
|
return;
|
|
1029
1053
|
}
|
|
1030
|
-
const
|
|
1031
|
-
const
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1054
|
+
const preferredStatus = requestedStatusInput.kind === 'missing' ? 'running' : requestedStatusInput.status;
|
|
1055
|
+
const restoredForDisplay = await restoreDialogForDisplay(dialogIdObj, preferredStatus);
|
|
1056
|
+
if (!restoredForDisplay) {
|
|
1057
|
+
throw new Error(`Dialog ${dialogIdObj.valueOf()} not found in running/completed/archived; dialog context is stale`);
|
|
1058
|
+
}
|
|
1059
|
+
const { dialogState, metadata, status: requestedStatus } = restoredForDisplay;
|
|
1060
|
+
if (requestedStatus !== preferredStatus) {
|
|
1061
|
+
log.debug('display_dialog: resolved stale requested status', undefined, {
|
|
1062
|
+
dialogId: dialogIdObj.valueOf(),
|
|
1063
|
+
requestedStatus: preferredStatus,
|
|
1064
|
+
resolvedStatus: requestedStatus,
|
|
1065
|
+
});
|
|
1035
1066
|
}
|
|
1036
1067
|
const rootPrimingConfig = dialogIdObj.selfId === dialogIdObj.rootId ? (0, priming_1.getMainDialogPrimingConfig)(metadata) : undefined;
|
|
1037
1068
|
const showPrimingEventsInUi = rootPrimingConfig?.showInUi !== false;
|
|
@@ -1202,11 +1233,17 @@ async function handleDisplayDialog(ws, packet) {
|
|
|
1202
1233
|
catch (err) {
|
|
1203
1234
|
log.warn(`Failed to emit Q4H state for ${dialogIdObj}:`, err);
|
|
1204
1235
|
}
|
|
1205
|
-
// Proactively emit reminders for the newly active dialog
|
|
1206
|
-
//
|
|
1236
|
+
// Proactively emit reminders for the newly active dialog.
|
|
1237
|
+
// Historical dialogs are display-only: do not run owner reconciliation or write reminder files
|
|
1238
|
+
// just because an old browser tab reconnected to a completed/archived dialog URL.
|
|
1207
1239
|
try {
|
|
1208
|
-
|
|
1209
|
-
|
|
1240
|
+
if (requestedStatus === 'running') {
|
|
1241
|
+
await syncPendingTellaskReminderBestEffort(dialog, 'handleDisplayDialog');
|
|
1242
|
+
await dialog.processReminderUpdates();
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
await dialog.emitReminderSnapshot();
|
|
1246
|
+
}
|
|
1210
1247
|
}
|
|
1211
1248
|
catch (err) {
|
|
1212
1249
|
log.warn(`Failed to emit proactive reminders for ${dialogIdObj}:`, err);
|
|
@@ -1290,11 +1327,8 @@ async function handleAckA2H(ws, packet) {
|
|
|
1290
1327
|
return;
|
|
1291
1328
|
}
|
|
1292
1329
|
const candidateStatuses = requestedStatusInput.kind === 'value'
|
|
1293
|
-
?
|
|
1294
|
-
|
|
1295
|
-
...['running', 'completed', 'archived'].filter((status) => status !== requestedStatusInput.status),
|
|
1296
|
-
]
|
|
1297
|
-
: ['running', 'completed', 'archived'];
|
|
1330
|
+
? orderedDialogStatusCandidates(requestedStatusInput.status)
|
|
1331
|
+
: [...DIALOG_STATUS_RESOLUTION_CANDIDATES];
|
|
1298
1332
|
let removed = null;
|
|
1299
1333
|
let removedStatus = null;
|
|
1300
1334
|
for (const status of candidateStatuses) {
|
|
@@ -1383,16 +1417,26 @@ async function handleDisplayCourse(ws, packet) {
|
|
|
1383
1417
|
}));
|
|
1384
1418
|
return;
|
|
1385
1419
|
}
|
|
1386
|
-
const
|
|
1387
|
-
const
|
|
1388
|
-
if (!
|
|
1420
|
+
const preferredStatus = requestedStatusInput.kind === 'missing' ? 'running' : requestedStatusInput.status;
|
|
1421
|
+
const restoredForDisplay = await restoreDialogForDisplay(dialogId, preferredStatus);
|
|
1422
|
+
if (!restoredForDisplay) {
|
|
1389
1423
|
log.warn('Metadata not found for display_course', undefined, {
|
|
1390
1424
|
dialogId: dialogId.selfId,
|
|
1391
|
-
|
|
1425
|
+
requestedStatus: preferredStatus,
|
|
1392
1426
|
});
|
|
1393
1427
|
return;
|
|
1394
1428
|
}
|
|
1395
|
-
const
|
|
1429
|
+
const { status: requestedStatus } = restoredForDisplay;
|
|
1430
|
+
if (requestedStatus !== preferredStatus) {
|
|
1431
|
+
log.debug('display_course: resolved stale requested status', undefined, {
|
|
1432
|
+
dialogId: dialogId.valueOf(),
|
|
1433
|
+
requestedStatus: preferredStatus,
|
|
1434
|
+
resolvedStatus: requestedStatus,
|
|
1435
|
+
});
|
|
1436
|
+
}
|
|
1437
|
+
const totalCourses = (await persistence_1.DialogPersistence.getCurrentCourseNumber(dialogId, requestedStatus)) ||
|
|
1438
|
+
restoredForDisplay.dialogState.currentCourse ||
|
|
1439
|
+
course;
|
|
1396
1440
|
if (course > totalCourses) {
|
|
1397
1441
|
ws.send(JSON.stringify({
|
|
1398
1442
|
type: 'error',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dominds",
|
|
3
|
-
"version": "1.26.
|
|
3
|
+
"version": "1.26.5",
|
|
4
4
|
"description": "Dominds CLI and aggregation shell for the LongRun AI kernel/runtime packages.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"publishConfig": {
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"yaml": "^2.8.2",
|
|
56
56
|
"zod": "^4.3.6",
|
|
57
57
|
"@longrun-ai/codex-auth": "0.13.0",
|
|
58
|
-
"@longrun-ai/
|
|
59
|
-
"@longrun-ai/
|
|
58
|
+
"@longrun-ai/kernel": "1.16.0",
|
|
59
|
+
"@longrun-ai/shell": "1.16.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@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-
|
|
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-
|
|
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-nq34n_7W.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-Dou-k_rC.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-
|
|
196
|
+
//# sourceMappingURL=_basePickBy-zyTFuJGa.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_basePickBy-mFK6EVZU.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-zyTFuJGa.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-
|
|
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-Dou-k_rC.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-
|
|
836
|
+
//# sourceMappingURL=_baseUniq-nq34n_7W.js.map
|