@powerhousedao/common 4.1.0-dev.86 → 4.1.0-dev.87

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.
@@ -1,2 +1,2 @@
1
- export * from "./get-revision-from-date.js";
1
+ export {};
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export * from "./get-revision-from-date.js";
1
+ export {};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/common",
3
- "version": "4.1.0-dev.86",
3
+ "version": "4.1.0-dev.87",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "files": [
@@ -23,10 +23,10 @@
23
23
  "@types/luxon": "^3.7.1",
24
24
  "luxon": "^3.7.1",
25
25
  "react-i18next": "^13.5.0",
26
- "@powerhousedao/builder-tools": "4.1.0-dev.86",
27
- "document-drive": "4.1.0-dev.86",
28
- "document-model": "4.1.0-dev.86",
29
- "@powerhousedao/design-system": "4.1.0-dev.86"
26
+ "@powerhousedao/builder-tools": "4.1.0-dev.87",
27
+ "document-drive": "4.1.0-dev.87",
28
+ "document-model": "4.1.0-dev.87",
29
+ "@powerhousedao/design-system": "4.1.0-dev.87"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@storybook/addon-actions": "^8.6.7",
@@ -65,9 +65,9 @@
65
65
  "vite-plugin-node-polyfills": "^0.24.0",
66
66
  "vitest": "^3.2.4",
67
67
  "zod": "^3.24.3",
68
- "@powerhousedao/config": "4.1.0-dev.86",
69
- "@powerhousedao/reactor-browser": "4.1.0-dev.86",
70
- "document-model": "4.1.0-dev.86"
68
+ "@powerhousedao/config": "4.1.0-dev.87",
69
+ "@powerhousedao/reactor-browser": "4.1.0-dev.87",
70
+ "document-model": "4.1.0-dev.87"
71
71
  },
72
72
  "scripts": {
73
73
  "tsc": "tsc",
@@ -1,25 +0,0 @@
1
- import type { UseAnalyticsQueryResult } from "@powerhousedao/reactor-browser";
2
- type BarItem = {
3
- id: string;
4
- type: "bar";
5
- addSize: 0 | 1 | 2 | 3 | 4;
6
- delSize: 0 | 1 | 2 | 3 | 4;
7
- additions: number;
8
- deletions: number;
9
- timestampUtcMs: string;
10
- startDate: Date;
11
- endDate: Date;
12
- revision?: number;
13
- };
14
- type DividerItem = {
15
- id: string;
16
- type: "divider";
17
- revision?: number;
18
- startDate?: Date;
19
- endDate?: Date;
20
- };
21
- type TimelineItem = BarItem | DividerItem;
22
- export type UseTimelineItemsResult = UseAnalyticsQueryResult<TimelineItem[]>;
23
- export declare const useTimelineItems: (documentId?: string, startTimestamp?: string, driveId?: string) => UseTimelineItemsResult;
24
- export {};
25
- //# sourceMappingURL=useTimelineItems.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTimelineItems.d.ts","sourceRoot":"","sources":["../../hooks/useTimelineItems.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAa9E,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AAwF1C,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC;AAE7E,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,UAAU,MAAM,KACf,sBAwBF,CAAC"}
@@ -1,104 +0,0 @@
1
- import { AnalyticsGranularity, AnalyticsPath, } from "@powerhousedao/analytics-engine-core";
2
- import { useAnalyticsQuery } from "@powerhousedao/reactor-browser";
3
- import { DateTime } from "luxon";
4
- const getBarSize = (value) => {
5
- if (value <= 0)
6
- return 0;
7
- if (value > 0 && value <= 50)
8
- return 1;
9
- if (value > 50 && value <= 100)
10
- return 2;
11
- if (value > 100 && value <= 250)
12
- return 3;
13
- return 4;
14
- };
15
- function addItemsDividers(items) {
16
- if (!items.length)
17
- return [];
18
- const result = [];
19
- items.forEach((item, index) => {
20
- result.push(item);
21
- // Check if there's a next item and if they're not in consecutive hours
22
- if (index < items.length - 1) {
23
- const currentDate = new Date(item.startDate);
24
- const nextDate = new Date(items[index + 1].startDate);
25
- const currentHour = currentDate.getHours();
26
- const nextHour = nextDate.getHours();
27
- // Get day parts (without time) for comparison
28
- const currentDay = currentDate.toDateString();
29
- const nextDay = nextDate.toDateString();
30
- // If different days or non-consecutive hours on the same day
31
- if (currentDay !== nextDay ||
32
- (currentDay === nextDay && Math.abs(nextHour - currentHour) > 1)) {
33
- result.push({
34
- id: `divider-${item.id}-${items[index + 1].id}`,
35
- type: "divider",
36
- revision: 0,
37
- });
38
- }
39
- }
40
- });
41
- return result;
42
- }
43
- function metricsToItems(metrics) {
44
- if (!metrics)
45
- return [];
46
- const items = metrics
47
- .sort((a, b) => {
48
- const aDate = new Date(a.start);
49
- const bDate = new Date(b.start);
50
- return aDate.getTime() - bDate.getTime();
51
- })
52
- .filter((result) => {
53
- return result.rows.every((row) => row.value > 0);
54
- })
55
- .map((result) => {
56
- const { additions, deletions } = result.rows.reduce((acc, row) => {
57
- if (row.dimensions.changes.path ===
58
- "ph/diff/changes/add") {
59
- acc.additions += row.value;
60
- }
61
- else if (row.dimensions.changes.path ===
62
- "ph/diff/changes/remove") {
63
- acc.deletions += row.value;
64
- }
65
- return acc;
66
- }, { additions: 0, deletions: 0 });
67
- const startDate = new Date(result.start);
68
- return {
69
- id: startDate.toISOString(),
70
- type: "bar",
71
- addSize: getBarSize(additions),
72
- delSize: getBarSize(deletions),
73
- additions,
74
- deletions,
75
- timestampUtcMs: startDate.toISOString(),
76
- startDate: startDate,
77
- endDate: new Date(result.end),
78
- revision: 0,
79
- };
80
- });
81
- return addItemsDividers(items);
82
- }
83
- export const useTimelineItems = (documentId, startTimestamp, driveId) => {
84
- const start = startTimestamp
85
- ? DateTime.fromISO(startTimestamp)
86
- : DateTime.now().startOf("day");
87
- return useAnalyticsQuery({
88
- start,
89
- end: DateTime.now().endOf("day"),
90
- granularity: AnalyticsGranularity.Hourly,
91
- metrics: ["Count"],
92
- select: {
93
- changes: [AnalyticsPath.fromString(`ph/diff/changes`)],
94
- document: [AnalyticsPath.fromString(`ph/diff/document/${documentId}`)],
95
- },
96
- lod: {
97
- changes: 4,
98
- },
99
- }, {
100
- sources: [AnalyticsPath.fromString(`ph/diff/${driveId}/${documentId}`)],
101
- select: metricsToItems,
102
- });
103
- };
104
- //# sourceMappingURL=useTimelineItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTimelineItems.js","sourceRoot":"","sources":["../../hooks/useTimelineItems.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Operation } from "document-model";
2
- export declare const getRevisionFromDate: (startDate?: Date, endDate?: Date, operations?: Operation[]) => number;
3
- //# sourceMappingURL=get-revision-from-date.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-revision-from-date.d.ts","sourceRoot":"","sources":["../../utils/get-revision-from-date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,mBAAmB,GAC9B,YAAY,IAAI,EAChB,UAAU,IAAI,EACd,aAAY,SAAS,EAAO,WAU7B,CAAC"}
@@ -1,10 +0,0 @@
1
- export const getRevisionFromDate = (startDate, endDate, operations = []) => {
2
- if (!startDate || !endDate)
3
- return 0;
4
- const operation = operations.find((operation) => {
5
- const operationDate = new Date(operation.timestampUtcMs);
6
- return operationDate >= startDate && operationDate <= endDate;
7
- });
8
- return operation ? operation.index : 0;
9
- };
10
- //# sourceMappingURL=get-revision-from-date.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-revision-from-date.js","sourceRoot":"","sources":["../../utils/get-revision-from-date.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAgB,EAChB,OAAc,EACd,aAA0B,EAAE,EAC5B,EAAE;IACF,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,OAAO,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC"}