dominds 1.2.6 → 1.2.7

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 (100) hide show
  1. package/dist/apps/override-paths.js +20 -2
  2. package/dist/apps/teammates.js +102 -1
  3. package/dist/dialog.js +5 -0
  4. package/dist/llm/kernel-driver/drive.js +5 -2
  5. package/dist/llm/kernel-driver/flow.js +3 -0
  6. package/dist/problems.js +67 -16
  7. package/dist/server/websocket-handler.js +17 -0
  8. package/dist/static/assets/{_basePickBy-5YF_9hQW.js → _basePickBy-BMCtwrV7.js} +3 -3
  9. package/dist/static/assets/{_basePickBy-5YF_9hQW.js.map → _basePickBy-BMCtwrV7.js.map} +1 -1
  10. package/dist/static/assets/{_baseUniq-jhU9AUhp.js → _baseUniq-BuyCgJiA.js} +2 -2
  11. package/dist/static/assets/{_baseUniq-jhU9AUhp.js.map → _baseUniq-BuyCgJiA.js.map} +1 -1
  12. package/dist/static/assets/{arc-CxfO0spY.js → arc-BDuN8lwA.js} +2 -2
  13. package/dist/static/assets/{arc-CxfO0spY.js.map → arc-BDuN8lwA.js.map} +1 -1
  14. package/dist/static/assets/{architectureDiagram-VXUJARFQ-DdfdIFQM.js → architectureDiagram-VXUJARFQ-C-ekqGAD.js} +7 -7
  15. package/dist/static/assets/{architectureDiagram-VXUJARFQ-DdfdIFQM.js.map → architectureDiagram-VXUJARFQ-C-ekqGAD.js.map} +1 -1
  16. package/dist/static/assets/{blockDiagram-VD42YOAC-Cwqz2taZ.js → blockDiagram-VD42YOAC-CgQiNuuQ.js} +7 -7
  17. package/dist/static/assets/{blockDiagram-VD42YOAC-Cwqz2taZ.js.map → blockDiagram-VD42YOAC-CgQiNuuQ.js.map} +1 -1
  18. package/dist/static/assets/{c4Diagram-YG6GDRKO-B4tMGdJJ.js → c4Diagram-YG6GDRKO-DONC39q-.js} +3 -3
  19. package/dist/static/assets/{c4Diagram-YG6GDRKO-B4tMGdJJ.js.map → c4Diagram-YG6GDRKO-DONC39q-.js.map} +1 -1
  20. package/dist/static/assets/{channel-vcTCKrpR.js → channel-CJTFwXIG.js} +2 -2
  21. package/dist/static/assets/{channel-vcTCKrpR.js.map → channel-CJTFwXIG.js.map} +1 -1
  22. package/dist/static/assets/{chunk-4BX2VUAB-9jaRyZiz.js → chunk-4BX2VUAB-NaIy4uLJ.js} +2 -2
  23. package/dist/static/assets/{chunk-4BX2VUAB-9jaRyZiz.js.map → chunk-4BX2VUAB-NaIy4uLJ.js.map} +1 -1
  24. package/dist/static/assets/{chunk-55IACEB6-CqFPCghN.js → chunk-55IACEB6-JUKI_Ayx.js} +2 -2
  25. package/dist/static/assets/{chunk-55IACEB6-CqFPCghN.js.map → chunk-55IACEB6-JUKI_Ayx.js.map} +1 -1
  26. package/dist/static/assets/{chunk-B4BG7PRW-BVwJVEzB.js → chunk-B4BG7PRW-dIswFJDn.js} +5 -5
  27. package/dist/static/assets/{chunk-B4BG7PRW-BVwJVEzB.js.map → chunk-B4BG7PRW-dIswFJDn.js.map} +1 -1
  28. package/dist/static/assets/{chunk-DI55MBZ5-i9DDRLYs.js → chunk-DI55MBZ5-DU2b_N30.js} +4 -4
  29. package/dist/static/assets/{chunk-DI55MBZ5-i9DDRLYs.js.map → chunk-DI55MBZ5-DU2b_N30.js.map} +1 -1
  30. package/dist/static/assets/{chunk-FMBD7UC4-DtB9tnhF.js → chunk-FMBD7UC4-BgExcScw.js} +2 -2
  31. package/dist/static/assets/{chunk-FMBD7UC4-DtB9tnhF.js.map → chunk-FMBD7UC4-BgExcScw.js.map} +1 -1
  32. package/dist/static/assets/{chunk-QN33PNHL-Bzbixp1o.js → chunk-QN33PNHL-bitxyqh7.js} +2 -2
  33. package/dist/static/assets/{chunk-QN33PNHL-Bzbixp1o.js.map → chunk-QN33PNHL-bitxyqh7.js.map} +1 -1
  34. package/dist/static/assets/{chunk-QZHKN3VN-CI-C5uv0.js → chunk-QZHKN3VN-Cor8u7DT.js} +2 -2
  35. package/dist/static/assets/{chunk-QZHKN3VN-CI-C5uv0.js.map → chunk-QZHKN3VN-Cor8u7DT.js.map} +1 -1
  36. package/dist/static/assets/{chunk-TZMSLE5B-CANsFBw_.js → chunk-TZMSLE5B-Aceoxav_.js} +2 -2
  37. package/dist/static/assets/{chunk-TZMSLE5B-CANsFBw_.js.map → chunk-TZMSLE5B-Aceoxav_.js.map} +1 -1
  38. package/dist/static/assets/{classDiagram-2ON5EDUG-D00eOaDx.js → classDiagram-2ON5EDUG-D1Q6a8Hg.js} +6 -6
  39. package/dist/static/assets/{classDiagram-2ON5EDUG-D00eOaDx.js.map → classDiagram-2ON5EDUG-D1Q6a8Hg.js.map} +1 -1
  40. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-D00eOaDx.js → classDiagram-v2-WZHVMYZB-D1Q6a8Hg.js} +6 -6
  41. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-D00eOaDx.js.map → classDiagram-v2-WZHVMYZB-D1Q6a8Hg.js.map} +1 -1
  42. package/dist/static/assets/{clone-BvOc2yso.js → clone-MlWbv1V0.js} +2 -2
  43. package/dist/static/assets/{clone-BvOc2yso.js.map → clone-MlWbv1V0.js.map} +1 -1
  44. package/dist/static/assets/{cose-bilkent-S5V4N54A-DSYAdAyx.js → cose-bilkent-S5V4N54A-DWPCXSrn.js} +2 -2
  45. package/dist/static/assets/{cose-bilkent-S5V4N54A-DSYAdAyx.js.map → cose-bilkent-S5V4N54A-DWPCXSrn.js.map} +1 -1
  46. package/dist/static/assets/{dagre-6UL2VRFP-B7J4YtNM.js → dagre-6UL2VRFP-C8ptQ9V3.js} +7 -7
  47. package/dist/static/assets/{dagre-6UL2VRFP-B7J4YtNM.js.map → dagre-6UL2VRFP-C8ptQ9V3.js.map} +1 -1
  48. package/dist/static/assets/{diagram-PSM6KHXK-htuDE0_8.js → diagram-PSM6KHXK-Bgf1FqkE.js} +8 -8
  49. package/dist/static/assets/{diagram-PSM6KHXK-htuDE0_8.js.map → diagram-PSM6KHXK-Bgf1FqkE.js.map} +1 -1
  50. package/dist/static/assets/{diagram-QEK2KX5R-g1GZbARf.js → diagram-QEK2KX5R-BZ5xzofU.js} +7 -7
  51. package/dist/static/assets/{diagram-QEK2KX5R-g1GZbARf.js.map → diagram-QEK2KX5R-BZ5xzofU.js.map} +1 -1
  52. package/dist/static/assets/{diagram-S2PKOQOG-DYvwVsZm.js → diagram-S2PKOQOG-Dwp47T9I.js} +7 -7
  53. package/dist/static/assets/{diagram-S2PKOQOG-DYvwVsZm.js.map → diagram-S2PKOQOG-Dwp47T9I.js.map} +1 -1
  54. package/dist/static/assets/{erDiagram-Q2GNP2WA-CuCw1fng.js → erDiagram-Q2GNP2WA-Cx4weIHl.js} +5 -5
  55. package/dist/static/assets/{erDiagram-Q2GNP2WA-CuCw1fng.js.map → erDiagram-Q2GNP2WA-Cx4weIHl.js.map} +1 -1
  56. package/dist/static/assets/{flowDiagram-NV44I4VS-B7e0sjm_.js → flowDiagram-NV44I4VS-vNUuIeRk.js} +6 -6
  57. package/dist/static/assets/{flowDiagram-NV44I4VS-B7e0sjm_.js.map → flowDiagram-NV44I4VS-vNUuIeRk.js.map} +1 -1
  58. package/dist/static/assets/{ganttDiagram-JELNMOA3-BZRuh3DE.js → ganttDiagram-JELNMOA3-BEfozJAr.js} +3 -3
  59. package/dist/static/assets/{ganttDiagram-JELNMOA3-BZRuh3DE.js.map → ganttDiagram-JELNMOA3-BEfozJAr.js.map} +1 -1
  60. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-B8lN7T9U.js → gitGraphDiagram-V2S2FVAM-eHxwc3d9.js} +8 -8
  61. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-B8lN7T9U.js.map → gitGraphDiagram-V2S2FVAM-eHxwc3d9.js.map} +1 -1
  62. package/dist/static/assets/{graph-CVmBZVHx.js → graph-C6a6uAok.js} +3 -3
  63. package/dist/static/assets/{graph-CVmBZVHx.js.map → graph-C6a6uAok.js.map} +1 -1
  64. package/dist/static/assets/{index-BMt8OZ6H.js → index-D3TQbAKh.js} +82 -33
  65. package/dist/static/assets/index-D3TQbAKh.js.map +1 -0
  66. package/dist/static/assets/{infoDiagram-HS3SLOUP-Bs7DwY4Q.js → infoDiagram-HS3SLOUP-CX0NiId3.js} +6 -6
  67. package/dist/static/assets/{infoDiagram-HS3SLOUP-Bs7DwY4Q.js.map → infoDiagram-HS3SLOUP-CX0NiId3.js.map} +1 -1
  68. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-7zHAqy6Q.js → journeyDiagram-XKPGCS4Q-C1IepPZ-.js} +5 -5
  69. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-7zHAqy6Q.js.map → journeyDiagram-XKPGCS4Q-C1IepPZ-.js.map} +1 -1
  70. package/dist/static/assets/{kanban-definition-3W4ZIXB7-DJaBY2Ug.js → kanban-definition-3W4ZIXB7-uMNX4Z1W.js} +3 -3
  71. package/dist/static/assets/{kanban-definition-3W4ZIXB7-DJaBY2Ug.js.map → kanban-definition-3W4ZIXB7-uMNX4Z1W.js.map} +1 -1
  72. package/dist/static/assets/{layout-DCgFs2G2.js → layout-CpE3kk5z.js} +5 -5
  73. package/dist/static/assets/{layout-DCgFs2G2.js.map → layout-CpE3kk5z.js.map} +1 -1
  74. package/dist/static/assets/{linear-3qLxTIu4.js → linear-DV8laXr9.js} +2 -2
  75. package/dist/static/assets/{linear-3qLxTIu4.js.map → linear-DV8laXr9.js.map} +1 -1
  76. package/dist/static/assets/{mindmap-definition-VGOIOE7T-D8LVSYNe.js → mindmap-definition-VGOIOE7T-CKjgVM9S.js} +4 -4
  77. package/dist/static/assets/{mindmap-definition-VGOIOE7T-D8LVSYNe.js.map → mindmap-definition-VGOIOE7T-CKjgVM9S.js.map} +1 -1
  78. package/dist/static/assets/{pieDiagram-ADFJNKIX-K7J0sf-_.js → pieDiagram-ADFJNKIX-BBonlNyT.js} +8 -8
  79. package/dist/static/assets/{pieDiagram-ADFJNKIX-K7J0sf-_.js.map → pieDiagram-ADFJNKIX-BBonlNyT.js.map} +1 -1
  80. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BjOUsjH1.js → quadrantDiagram-AYHSOK5B-BTI8HbBu.js} +3 -3
  81. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BjOUsjH1.js.map → quadrantDiagram-AYHSOK5B-BTI8HbBu.js.map} +1 -1
  82. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-B2Q3tMos.js → requirementDiagram-UZGBJVZJ-ZtSr9Q5R.js} +4 -4
  83. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-B2Q3tMos.js.map → requirementDiagram-UZGBJVZJ-ZtSr9Q5R.js.map} +1 -1
  84. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-BG5wvCeZ.js → sankeyDiagram-TZEHDZUN-DibLVGzg.js} +2 -2
  85. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-BG5wvCeZ.js.map → sankeyDiagram-TZEHDZUN-DibLVGzg.js.map} +1 -1
  86. package/dist/static/assets/{sequenceDiagram-WL72ISMW-BuLOLu3-.js → sequenceDiagram-WL72ISMW-qXatfzVt.js} +4 -4
  87. package/dist/static/assets/{sequenceDiagram-WL72ISMW-BuLOLu3-.js.map → sequenceDiagram-WL72ISMW-qXatfzVt.js.map} +1 -1
  88. package/dist/static/assets/{stateDiagram-FKZM4ZOC-CWCqsmNr.js → stateDiagram-FKZM4ZOC-7fgxCQHo.js} +9 -9
  89. package/dist/static/assets/{stateDiagram-FKZM4ZOC-CWCqsmNr.js.map → stateDiagram-FKZM4ZOC-7fgxCQHo.js.map} +1 -1
  90. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-DYbP1xu4.js → stateDiagram-v2-4FDKWEC3-DcWlOAnF.js} +5 -5
  91. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-DYbP1xu4.js.map → stateDiagram-v2-4FDKWEC3-DcWlOAnF.js.map} +1 -1
  92. package/dist/static/assets/{timeline-definition-IT6M3QCI-DaPtomWv.js → timeline-definition-IT6M3QCI-iX2MRdpY.js} +3 -3
  93. package/dist/static/assets/{timeline-definition-IT6M3QCI-DaPtomWv.js.map → timeline-definition-IT6M3QCI-iX2MRdpY.js.map} +1 -1
  94. package/dist/static/assets/{treemap-GDKQZRPO-cEZjfkb6.js → treemap-GDKQZRPO-AVRnyXu1.js} +5 -5
  95. package/dist/static/assets/{treemap-GDKQZRPO-cEZjfkb6.js.map → treemap-GDKQZRPO-AVRnyXu1.js.map} +1 -1
  96. package/dist/static/assets/{xychartDiagram-PRI3JC2R-7zI4Kz0F.js → xychartDiagram-PRI3JC2R-DVYEo5aJ.js} +3 -3
  97. package/dist/static/assets/{xychartDiagram-PRI3JC2R-7zI4Kz0F.js.map → xychartDiagram-PRI3JC2R-DVYEo5aJ.js.map} +1 -1
  98. package/dist/static/index.html +1 -1
  99. package/package.json +1 -1
  100. package/dist/static/assets/index-BMt8OZ6H.js.map +0 -1
@@ -24,10 +24,11 @@ async function isRegularFile(filePathAbs) {
24
24
  }
25
25
  }
26
26
  /**
27
- * Resolve a workspace override file path for a given app-relative file path.
27
+ * Resolve an app asset override file path for a given app-relative file path.
28
28
  *
29
29
  * Priority order (read-time):
30
30
  * 1) `<rtws>/.apps/override/<app-id>/<rel>`
31
+ * 2) `<integrator-app-root>/.apps/override/<app-id>/<rel>` (in provided order)
31
32
  */
32
33
  async function resolveAppOverrideFileAbs(params) {
33
34
  const normalized = normalizeRelNoTraversal(params.appRelPath);
@@ -35,7 +36,24 @@ async function resolveAppOverrideFileAbs(params) {
35
36
  return { kind: 'none' };
36
37
  const preferredAbs = path_1.default.resolve(params.rtwsRootAbs, '.apps', 'override', params.appId, normalized);
37
38
  if (await isRegularFile(preferredAbs)) {
38
- return { kind: 'found', filePathAbs: preferredAbs, source: 'override' };
39
+ return {
40
+ kind: 'found',
41
+ filePathAbs: preferredAbs,
42
+ source: 'rtws_override',
43
+ ownerAppId: null,
44
+ };
45
+ }
46
+ const owners = params.appOverrideOwners ?? [];
47
+ for (const owner of owners) {
48
+ const candidateAbs = path_1.default.resolve(owner.packageRootAbs, '.apps', 'override', params.appId, normalized);
49
+ if (await isRegularFile(candidateAbs)) {
50
+ return {
51
+ kind: 'found',
52
+ filePathAbs: candidateAbs,
53
+ source: 'app_override',
54
+ ownerAppId: owner.appId,
55
+ };
56
+ }
39
57
  }
40
58
  return { kind: 'none' };
41
59
  }
@@ -8,22 +8,123 @@ const promises_1 = __importDefault(require("fs/promises"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const yaml_1 = __importDefault(require("yaml"));
10
10
  const enabled_apps_1 = require("./enabled-apps");
11
+ const manifest_1 = require("./manifest");
11
12
  const override_paths_1 = require("./override-paths");
13
+ const package_info_1 = require("./package-info");
12
14
  function isRecord(v) {
13
15
  return typeof v === 'object' && v !== null && !Array.isArray(v);
14
16
  }
17
+ async function loadEnabledAppDependencyGraph(params) {
18
+ const enabledIds = new Set(params.enabledApps.map((app) => app.id));
19
+ const out = new Map();
20
+ for (const app of params.enabledApps) {
21
+ try {
22
+ const pkgInfo = await (0, package_info_1.readPackageInfo)({ packageRootAbs: app.packageRootAbs });
23
+ const loaded = await (0, manifest_1.loadDomindsAppManifest)({
24
+ packageRootAbs: app.packageRootAbs,
25
+ manifestRelPath: pkgInfo.manifestRelPath,
26
+ });
27
+ if (loaded.kind !== 'ok') {
28
+ out.set(app.id, new Set());
29
+ continue;
30
+ }
31
+ const deps = new Set();
32
+ for (const dep of loaded.manifest.dependencies ?? []) {
33
+ const depId = dep.id.trim();
34
+ if (depId === '' || !enabledIds.has(depId))
35
+ continue;
36
+ deps.add(depId);
37
+ }
38
+ out.set(app.id, deps);
39
+ }
40
+ catch {
41
+ // Fail-open for override owner discovery: unresolved owner deps just don't contribute overrides.
42
+ out.set(app.id, new Set());
43
+ }
44
+ }
45
+ return out;
46
+ }
47
+ function computeOverrideOwnersByTarget(params) {
48
+ const packageRootByAppId = new Map();
49
+ const ownersByDep = new Map();
50
+ for (const app of params.enabledApps) {
51
+ packageRootByAppId.set(app.id, app.packageRootAbs);
52
+ }
53
+ for (const [ownerId, depIds] of params.depGraphByOwner.entries()) {
54
+ for (const depId of depIds) {
55
+ const owners = ownersByDep.get(depId);
56
+ if (owners) {
57
+ owners.push(ownerId);
58
+ }
59
+ else {
60
+ ownersByDep.set(depId, [ownerId]);
61
+ }
62
+ }
63
+ }
64
+ const result = new Map();
65
+ for (const targetApp of params.enabledApps) {
66
+ const targetId = targetApp.id;
67
+ const depthByOwner = new Map();
68
+ const queue = [];
69
+ for (const ownerId of ownersByDep.get(targetId) ?? []) {
70
+ if (ownerId === targetId)
71
+ continue;
72
+ depthByOwner.set(ownerId, 1);
73
+ queue.push({ ownerId, depth: 1 });
74
+ }
75
+ // Use shortest dependency distance from target to owner so traversal remains bounded
76
+ // even when enabled apps contain dependency cycles.
77
+ for (let i = 0; i < queue.length; i += 1) {
78
+ const current = queue[i];
79
+ const nextOwners = ownersByDep.get(current.ownerId) ?? [];
80
+ for (const nextOwnerId of nextOwners) {
81
+ if (nextOwnerId === targetId)
82
+ continue;
83
+ const nextDepth = current.depth + 1;
84
+ const prevDepth = depthByOwner.get(nextOwnerId);
85
+ if (prevDepth !== undefined && prevDepth <= nextDepth)
86
+ continue;
87
+ depthByOwner.set(nextOwnerId, nextDepth);
88
+ queue.push({ ownerId: nextOwnerId, depth: nextDepth });
89
+ }
90
+ }
91
+ const owners = [...depthByOwner.entries()]
92
+ .sort((a, b) => {
93
+ if (a[1] !== b[1])
94
+ return b[1] - a[1];
95
+ return a[0].localeCompare(b[0]);
96
+ })
97
+ .map(([ownerId]) => {
98
+ const packageRootAbs = packageRootByAppId.get(ownerId);
99
+ if (!packageRootAbs)
100
+ return null;
101
+ return { appId: ownerId, packageRootAbs };
102
+ })
103
+ .filter((owner) => owner !== null);
104
+ result.set(targetId, owners);
105
+ }
106
+ return result;
107
+ }
15
108
  async function loadEnabledAppTeammates(params) {
16
109
  const snap = await (0, enabled_apps_1.loadEnabledAppsSnapshot)({ rtwsRootAbs: params.rtwsRootAbs });
110
+ const enabledApps = snap.enabledApps.map((app) => ({
111
+ id: app.id,
112
+ packageRootAbs: app.installJson.package.rootAbs,
113
+ }));
114
+ const depGraphByOwner = await loadEnabledAppDependencyGraph({ enabledApps });
115
+ const overrideOwnersByTarget = computeOverrideOwnersByTarget({ enabledApps, depGraphByOwner });
17
116
  const out = [];
18
117
  for (const app of snap.enabledApps) {
19
118
  const rel = app.installJson.contributes?.teammatesYamlRelPath;
20
119
  if (!rel)
21
120
  continue;
22
- // Workspace overrides (new root + legacy root).
121
+ const appOverrideOwners = overrideOwnersByTarget.get(app.id) ?? [];
122
+ // Priority: rtws override > app override (integrator-provided) > app defaults.
23
123
  const override = await (0, override_paths_1.resolveAppOverrideFileAbs)({
24
124
  rtwsRootAbs: params.rtwsRootAbs,
25
125
  appId: app.id,
26
126
  appRelPath: rel,
127
+ appOverrideOwners,
27
128
  });
28
129
  const filePathAbs = override.kind === 'found'
29
130
  ? override.filePathAbs
package/dist/dialog.js CHANGED
@@ -514,6 +514,7 @@ class Dialog {
514
514
  msgId: (0, id_1.generateShortId)(),
515
515
  grammar: 'markdown',
516
516
  userLanguageCode: this._lastUserLanguageCode,
517
+ origin: 'runtime',
517
518
  }
518
519
  : prompt;
519
520
  const trimmed = prepared.content.trim();
@@ -532,6 +533,7 @@ class Dialog {
532
533
  msgId: normalized.msgId,
533
534
  grammar: normalized.grammar,
534
535
  userLanguageCode: normalized.userLanguageCode,
536
+ origin: normalized.origin,
535
537
  q4hAnswerCallIds: normalized.q4hAnswerCallIds,
536
538
  runControl: undefined,
537
539
  };
@@ -550,6 +552,7 @@ class Dialog {
550
552
  msgId: options.msgId,
551
553
  grammar: options.grammar,
552
554
  userLanguageCode: options.userLanguageCode ?? this._lastUserLanguageCode,
555
+ origin: options.origin,
553
556
  q4hAnswerCallIds: options.q4hAnswerCallIds,
554
557
  runControl: options.runControl,
555
558
  };
@@ -560,6 +563,7 @@ class Dialog {
560
563
  msgId: options.msgId,
561
564
  grammar: options.grammar,
562
565
  userLanguageCode: options.userLanguageCode ?? this._lastUserLanguageCode,
566
+ origin: options.origin,
563
567
  q4hAnswerCallIds: options.q4hAnswerCallIds,
564
568
  },
565
569
  runControl: options.runControl,
@@ -622,6 +626,7 @@ class Dialog {
622
626
  msgId: (0, id_1.generateShortId)(),
623
627
  grammar: 'markdown',
624
628
  userLanguageCode: this._lastUserLanguageCode,
629
+ origin: 'runtime',
625
630
  };
626
631
  const runControlSpec = options?.runControl ?? this._activeRunControlSpec;
627
632
  let nextPrompt = basePrompt;
@@ -65,7 +65,7 @@ function normalizeQ4HAnswerCallIds(raw) {
65
65
  function isUserOriginPrompt(prompt) {
66
66
  if (!prompt)
67
67
  return false;
68
- return (prompt.origin ?? 'user') === 'user';
68
+ return prompt.origin === 'user';
69
69
  }
70
70
  function resolveModelInfo(providerCfg, model) {
71
71
  return providerCfg.models[model];
@@ -392,6 +392,7 @@ function resolveUpNextPrompt(dlg) {
392
392
  content: upNext.prompt,
393
393
  msgId: upNext.msgId,
394
394
  grammar: upNext.grammar ?? 'markdown',
395
+ origin: upNext.origin,
395
396
  userLanguageCode: upNext.userLanguageCode,
396
397
  q4hAnswerCallIds: upNext.q4hAnswerCallIds,
397
398
  runControl: normalizedRunControl,
@@ -912,6 +913,7 @@ async function maybeContinueWithHealthPromptBeforeDiligence(args) {
912
913
  content: guideText,
913
914
  msgId: (0, id_1.generateShortId)(),
914
915
  grammar: 'markdown',
916
+ origin: 'runtime',
915
917
  userLanguageCode: language,
916
918
  },
917
919
  resetTaskdoc: false,
@@ -1051,6 +1053,7 @@ async function driveDialogStreamCore(dlg, humanPrompt, driveOptions, callbacks)
1051
1053
  content: guideText,
1052
1054
  msgId: (0, id_1.generateShortId)(),
1053
1055
  grammar: 'markdown',
1056
+ origin: 'runtime',
1054
1057
  userLanguageCode: language,
1055
1058
  };
1056
1059
  }
@@ -1064,7 +1067,7 @@ async function driveDialogStreamCore(dlg, humanPrompt, driveOptions, callbacks)
1064
1067
  await dlg.notifyGeneratingStart(currentPrompt?.msgId);
1065
1068
  try {
1066
1069
  if (currentPrompt) {
1067
- const origin = currentPrompt.origin ?? 'user';
1070
+ const origin = currentPrompt.origin;
1068
1071
  if (origin === 'diligence_push' &&
1069
1072
  (dlg.disableDiligencePush || suppressDiligencePushForDrive)) {
1070
1073
  log_1.log.debug('kernel-driver skip diligence prompt after disable toggle', undefined, {
@@ -61,6 +61,7 @@ function resolveEffectivePrompt(dialog, humanPrompt) {
61
61
  content: upNext.prompt,
62
62
  msgId: upNext.msgId,
63
63
  grammar: upNext.grammar ?? 'markdown',
64
+ origin: upNext.origin,
64
65
  userLanguageCode: upNext.userLanguageCode === 'zh' || upNext.userLanguageCode === 'en'
65
66
  ? upNext.userLanguageCode
66
67
  : undefined,
@@ -214,6 +215,7 @@ async function executeDriveRound(args) {
214
215
  content: guideText,
215
216
  msgId: (0, id_1.generateShortId)(),
216
217
  grammar: 'markdown',
218
+ origin: 'runtime',
217
219
  userLanguageCode: language,
218
220
  };
219
221
  }
@@ -335,6 +337,7 @@ async function executeDriveRound(args) {
335
337
  content: followUp.prompt,
336
338
  msgId: followUp.msgId,
337
339
  grammar: followUp.grammar ?? 'markdown',
340
+ origin: followUp.origin,
338
341
  userLanguageCode: followUp.userLanguageCode === 'zh' || followUp.userLanguageCode === 'en'
339
342
  ? followUp.userLanguageCode
340
343
  : undefined,
package/dist/problems.js CHANGED
@@ -7,6 +7,7 @@ exports.upsertProblem = upsertProblem;
7
7
  exports.removeProblem = removeProblem;
8
8
  exports.removeProblemsByPrefix = removeProblemsByPrefix;
9
9
  exports.reconcileProblemsByPrefix = reconcileProblemsByPrefix;
10
+ exports.clearResolvedProblems = clearResolvedProblems;
10
11
  const time_1 = require("./shared/utils/time");
11
12
  let broadcastToClients;
12
13
  let problemsVersion = 0;
@@ -28,18 +29,11 @@ function createProblemsSnapshotMessage() {
28
29
  }
29
30
  function upsertProblem(problem) {
30
31
  const existing = problemsById.get(problem.id);
31
- if (existing) {
32
- // If nothing changed, avoid version churn.
33
- const same = existing.kind === problem.kind &&
34
- existing.severity === problem.severity &&
35
- existing.source === problem.source &&
36
- existing.message === problem.message &&
37
- JSON.stringify(existing.detail) === JSON.stringify(problem.detail);
38
- if (same) {
39
- return;
40
- }
32
+ const next = toActiveProblemRecord(problem, existing);
33
+ if (existing && problemRecordsEqual(existing, next)) {
34
+ return;
41
35
  }
42
- problemsById.set(problem.id, problem);
36
+ problemsById.set(problem.id, next);
43
37
  problemsVersion++;
44
38
  broadcastSnapshot();
45
39
  }
@@ -74,19 +68,28 @@ function reconcileProblemsByPrefix(prefix, desired) {
74
68
  // Upsert desired problems (without broadcasting per insert).
75
69
  for (const p of desired) {
76
70
  const existing = problemsById.get(p.id);
77
- if (existing && problemsEqual(existing, p)) {
71
+ const next = toActiveProblemRecord(p, existing);
72
+ if (existing && problemRecordsEqual(existing, next)) {
78
73
  continue;
79
74
  }
80
- problemsById.set(p.id, p);
75
+ problemsById.set(p.id, next);
81
76
  changed = true;
82
77
  }
83
- // Remove stale problems under prefix.
78
+ // Mark stale problems under prefix as resolved; keep history until explicit clear.
79
+ const resolvedAt = (0, time_1.formatUnifiedTimestamp)(new Date());
84
80
  for (const id of problemsById.keys()) {
85
81
  if (!id.startsWith(prefix))
86
82
  continue;
87
83
  if (keepIds.has(id))
88
84
  continue;
89
- problemsById.delete(id);
85
+ const existing = problemsById.get(id);
86
+ if (!existing || existing.resolved === true)
87
+ continue;
88
+ problemsById.set(id, {
89
+ ...existing,
90
+ resolved: true,
91
+ resolvedAt,
92
+ });
90
93
  changed = true;
91
94
  }
92
95
  if (changed) {
@@ -94,16 +97,64 @@ function reconcileProblemsByPrefix(prefix, desired) {
94
97
  broadcastSnapshot();
95
98
  }
96
99
  }
100
+ function clearResolvedProblems() {
101
+ let removed = 0;
102
+ for (const [id, problem] of problemsById.entries()) {
103
+ if (problem.resolved !== true)
104
+ continue;
105
+ problemsById.delete(id);
106
+ removed += 1;
107
+ }
108
+ if (removed > 0) {
109
+ problemsVersion++;
110
+ broadcastSnapshot();
111
+ }
112
+ return removed;
113
+ }
97
114
  function broadcastSnapshot() {
98
115
  if (!broadcastToClients) {
99
116
  return;
100
117
  }
101
118
  broadcastToClients(createProblemsSnapshotMessage());
102
119
  }
103
- function problemsEqual(a, b) {
120
+ function problemPayloadEqual(a, b) {
104
121
  return (a.kind === b.kind &&
105
122
  a.severity === b.severity &&
106
123
  a.source === b.source &&
107
124
  a.message === b.message &&
108
125
  JSON.stringify(a.detail) === JSON.stringify(b.detail));
109
126
  }
127
+ function problemRecordsEqual(a, b) {
128
+ return (problemPayloadEqual(a, b) &&
129
+ a.occurredAt === b.occurredAt &&
130
+ a.resolved === b.resolved &&
131
+ a.resolvedAt === b.resolvedAt);
132
+ }
133
+ function toActiveProblemRecord(problem, existing) {
134
+ const occurredAt = typeof problem.timestamp === 'string' && problem.timestamp.trim() !== ''
135
+ ? problem.timestamp
136
+ : (0, time_1.formatUnifiedTimestamp)(new Date());
137
+ if (!existing) {
138
+ return {
139
+ ...problem,
140
+ occurredAt,
141
+ resolved: false,
142
+ resolvedAt: null,
143
+ };
144
+ }
145
+ // A resolved problem becoming desired again starts a new active lifecycle.
146
+ if (existing.resolved === true) {
147
+ return {
148
+ ...problem,
149
+ occurredAt,
150
+ resolved: false,
151
+ resolvedAt: null,
152
+ };
153
+ }
154
+ return {
155
+ ...problem,
156
+ occurredAt: existing.occurredAt ?? occurredAt,
157
+ resolved: false,
158
+ resolvedAt: null,
159
+ };
160
+ }
@@ -99,6 +99,7 @@ async function queueUserSupplementAtGenerationBoundary(dialog, prompt) {
99
99
  msgId: prompt.msgId,
100
100
  grammar: prompt.grammar,
101
101
  userLanguageCode: prompt.userLanguageCode,
102
+ origin: 'user',
102
103
  });
103
104
  (0, evt_registry_1.postDialogEvent)(dialog, {
104
105
  type: 'queue_user_msg_evt',
@@ -199,6 +200,9 @@ async function handleWebSocketMessage(ws, packet) {
199
200
  case 'get_problems':
200
201
  await handleGetProblems(ws, packet);
201
202
  break;
203
+ case 'clear_resolved_problems':
204
+ await handleClearResolvedProblems(ws, packet);
205
+ break;
202
206
  case 'create_dialog':
203
207
  await handleCreateDialog(ws, packet);
204
208
  break;
@@ -516,6 +520,18 @@ async function handleGetProblems(ws, packet) {
516
520
  const _req = packet;
517
521
  ws.send(JSON.stringify((0, problems_1.createProblemsSnapshotMessage)()));
518
522
  }
523
+ async function handleClearResolvedProblems(ws, packet) {
524
+ if (packet.type !== 'clear_resolved_problems') {
525
+ throw new Error('Internal error: handleClearResolvedProblems called with non clear_resolved_problems packet');
526
+ }
527
+ const _req = packet;
528
+ const removedCount = (0, problems_1.clearResolvedProblems)();
529
+ ws.send(JSON.stringify({
530
+ type: 'clear_resolved_problems_result',
531
+ removedCount,
532
+ timestamp: (0, time_1.formatUnifiedTimestamp)(new Date()),
533
+ }));
534
+ }
519
535
  async function handleSetUiLanguage(ws, packet) {
520
536
  if (packet.type !== 'set_ui_language') {
521
537
  throw new Error('Internal error: handleSetUiLanguage called with non set_ui_language packet');
@@ -1214,6 +1230,7 @@ async function handleUserAnswer2Q4H(ws, packet) {
1214
1230
  msgId: effectivePrompt.msgId,
1215
1231
  grammar: effectivePrompt.grammar,
1216
1232
  userLanguageCode: effectivePrompt.userLanguageCode,
1233
+ origin: 'user',
1217
1234
  q4hAnswerCallIds: askHumanCallIds,
1218
1235
  runControl: undefined,
1219
1236
  });
@@ -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-jhU9AUhp.js";
2
- import { aR as isObject, aA as baseRest, aS as isIterateeCall, aT as keysIn, aU as eq, aV as isArrayLike, aW as isArray, aX as identity, aY as isIndex, aZ as assignValue } from "./index-BMt8OZ6H.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-BuyCgJiA.js";
2
+ import { aR as isObject, aA as baseRest, aS as isIterateeCall, aT as keysIn, aU as eq, aV as isArrayLike, aW as isArray, aX as identity, aY as isIndex, aZ as assignValue } from "./index-D3TQbAKh.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-5YF_9hQW.js.map
196
+ //# sourceMappingURL=_basePickBy-BMCtwrV7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_basePickBy-5YF_9hQW.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-BMCtwrV7.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 { be as isObjectLike, bf as baseGetTag, aW as isArray, bg as Symbol$1, aV as isArrayLike, bh as arrayLikeKeys, bi as baseKeys, bj as memoize, bk as isArguments, bl as copyObject, aT as keysIn, bm as getPrototype, bn as cloneArrayBuffer, bo as cloneTypedArray, bp as getTag, bc as baseUnary, bq as nodeUtil, aR as isObject, br as copyArray, bs as isBuffer, bt as cloneBuffer, bu as initCloneObject, bv as Stack, aZ as assignValue, bw as MapCache, aU as eq, bx as Uint8Array, by as isTypedArray, bz as isLength, aY as isIndex, aX as identity, ba as baseFor, bA as Set } from "./index-BMt8OZ6H.js";
1
+ import { be as isObjectLike, bf as baseGetTag, aW as isArray, bg as Symbol$1, aV as isArrayLike, bh as arrayLikeKeys, bi as baseKeys, bj as memoize, bk as isArguments, bl as copyObject, aT as keysIn, bm as getPrototype, bn as cloneArrayBuffer, bo as cloneTypedArray, bp as getTag, bc as baseUnary, bq as nodeUtil, aR as isObject, br as copyArray, bs as isBuffer, bt as cloneBuffer, bu as initCloneObject, bv as Stack, aZ as assignValue, bw as MapCache, aU as eq, bx as Uint8Array, by as isTypedArray, bz as isLength, aY as isIndex, aX as identity, ba as baseFor, bA as Set } from "./index-D3TQbAKh.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-jhU9AUhp.js.map
836
+ //# sourceMappingURL=_baseUniq-BuyCgJiA.js.map