@discomedia/utils 1.0.10 → 1.0.12

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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.0.10",
6
+ "version": "1.0.12",
7
7
  "author": "Disco Media",
8
8
  "description": "Utility functions used in Disco Media apps",
9
9
  "always-build-npm": true,
@@ -5,6 +5,7 @@ import * as misc from './misc-utils';
5
5
  import * as polygon from './polygon';
6
6
  import * as llm from './llm-openai';
7
7
  import * as llmImages from './llm-images';
8
+ import { PerformanceTimer } from './performance-timer';
8
9
  import * as ta from './technical-analysis';
9
10
  export * from './types';
10
11
  export { AlpacaTradingAPI } from './alpaca-trading-api';
@@ -121,6 +122,7 @@ export declare const disco: {
121
122
  logIfDebug: (message: string, data?: unknown, type?: "info" | "warn" | "error" | "debug" | "trace") => void;
122
123
  fetchWithRetry: typeof misc.fetchWithRetry;
123
124
  validatePolygonApiKey: typeof misc.validatePolygonApiKey;
125
+ Timer: typeof PerformanceTimer;
124
126
  };
125
127
  };
126
128
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA6BX,CAAC;;;kBAkCkQ,CAAC;;;kBAA4zC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBA/CjlJ,CAAC;;;kBA+C2xS,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAA6jc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAAjgX,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADn5Z,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA4Bd,CAAF;;;kBAoCmL,CAAC;;;kBAA4zC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBAjDl/I,CAAC;;;kBAiD4rS,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAA6jc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAAjgX,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD9zZ,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * A class to measure performance of code execution.
3
+ *
4
+ * This utility records elapsed time during execution and provides a detailed
5
+ * breakdown of elapsed time between checkpoints.
6
+ *
7
+ * Usage example:
8
+ * const timer = new PerformanceTimer();
9
+ * timer.checkpoint('Start Processing');
10
+ * // ... code for processing
11
+ * timer.checkpoint('After Task 1');
12
+ * // ... additional processing code
13
+ * timer.stop();
14
+ * console.log(timer.generateReport());
15
+ *
16
+ * Methods:
17
+ * - checkpoint(label: string): Record a timestamped checkpoint.
18
+ * - stop(): Stop the timer and compute the total elapsed time.
19
+ * - generateReport(): Return a performance report with total time and phases.
20
+ * - formatPerformanceReport(): Return a formatted string of the performance report.
21
+ * - getElapsedSeconds(): Get the current elapsed time in seconds.
22
+ */
23
+ export declare class PerformanceTimer {
24
+ private startTime;
25
+ private checkpoints;
26
+ private totalTime;
27
+ constructor();
28
+ /**
29
+ * Gets the current elapsed time in seconds.
30
+ *
31
+ * @returns The elapsed time in seconds with 3 decimal places of precision.
32
+ */
33
+ getElapsedSeconds(): number;
34
+ /**
35
+ * Records a checkpoint with the given label.
36
+ *
37
+ * @param label - A descriptive label for the checkpoint.
38
+ */
39
+ checkpoint(label: string): void;
40
+ /**
41
+ * Stops the timer and sets the total elapsed time.
42
+ */
43
+ stop(): void;
44
+ /**
45
+ * Generates a performance report containing the total elapsed time and
46
+ * breakdown of phases between checkpoints.
47
+ *
48
+ * @returns A performance report object.
49
+ * @throws Error if the timer is not stopped before generating the report.
50
+ */
51
+ analyseReportData(): PerformanceReport;
52
+ /**
53
+ * Returns a formatted string of the performance report.
54
+ *
55
+ * @returns A string detailing the total execution time and phase breakdown.
56
+ */
57
+ generateReport(): string;
58
+ }
59
+ /**
60
+ * Interface representing a single phase of performance measurement.
61
+ */
62
+ export interface PerformancePhase {
63
+ label: string;
64
+ duration: number;
65
+ }
66
+ /**
67
+ * Interface representing the full performance report.
68
+ */
69
+ export interface PerformanceReport {
70
+ totalTime: number;
71
+ phases: PerformancePhase[];
72
+ }
73
+ //# sourceMappingURL=performance-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-timer.d.ts","sourceRoot":"","sources":["../../src/performance-timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAgB;;IAQjC;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAK3B;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;;;;;OAMG;IACH,iBAAiB,IAAI,iBAAiB;IAuCtC;;;;OAIG;IACI,cAAc,IAAI,MAAM;CA4BhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B"}
@@ -1,5 +1,7 @@
1
1
  import { ChatCompletionMessageParam, ChatCompletionTool, ChatCompletionMessageToolCall } from 'openai/resources/chat/completions';
2
2
  import { ImageGenerateParams } from 'openai/resources/images';
3
+ import { Tool } from 'openai/resources/responses/responses';
4
+ export { Tool };
3
5
  /**
4
6
  * Represents OpenAI models
5
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"llm-types.d.ts","sourceRoot":"","sources":["../../../src/types/llm-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-types.d.ts","sourceRoot":"","sources":["../../../src/types/llm-types.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import * as misc from './misc-utils';
5
5
  import * as polygon from './polygon';
6
6
  import * as llm from './llm-openai';
7
7
  import * as llmImages from './llm-images';
8
+ import { PerformanceTimer } from './performance-timer';
8
9
  import * as ta from './technical-analysis';
9
10
  export * from './types';
10
11
  export { AlpacaTradingAPI } from './alpaca-trading-api';
@@ -121,6 +122,7 @@ export declare const disco: {
121
122
  logIfDebug: (message: string, data?: unknown, type?: "info" | "warn" | "error" | "debug" | "trace") => void;
122
123
  fetchWithRetry: typeof misc.fetchWithRetry;
123
124
  validatePolygonApiKey: typeof misc.validatePolygonApiKey;
125
+ Timer: typeof PerformanceTimer;
124
126
  };
125
127
  };
126
128
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA6BX,CAAC;;;kBAkCkQ,CAAC;;;kBAA4zC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBA/CjlJ,CAAC;;;kBA+C2xS,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAA6jc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAAjgX,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADn5Z,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA4Bd,CAAF;;;kBAoCmL,CAAC;;;kBAA4zC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBAjDl/I,CAAC;;;kBAiD4rS,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAA6jc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAAjgX,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD9zZ,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * A class to measure performance of code execution.
3
+ *
4
+ * This utility records elapsed time during execution and provides a detailed
5
+ * breakdown of elapsed time between checkpoints.
6
+ *
7
+ * Usage example:
8
+ * const timer = new PerformanceTimer();
9
+ * timer.checkpoint('Start Processing');
10
+ * // ... code for processing
11
+ * timer.checkpoint('After Task 1');
12
+ * // ... additional processing code
13
+ * timer.stop();
14
+ * console.log(timer.generateReport());
15
+ *
16
+ * Methods:
17
+ * - checkpoint(label: string): Record a timestamped checkpoint.
18
+ * - stop(): Stop the timer and compute the total elapsed time.
19
+ * - generateReport(): Return a performance report with total time and phases.
20
+ * - formatPerformanceReport(): Return a formatted string of the performance report.
21
+ * - getElapsedSeconds(): Get the current elapsed time in seconds.
22
+ */
23
+ export declare class PerformanceTimer {
24
+ private startTime;
25
+ private checkpoints;
26
+ private totalTime;
27
+ constructor();
28
+ /**
29
+ * Gets the current elapsed time in seconds.
30
+ *
31
+ * @returns The elapsed time in seconds with 3 decimal places of precision.
32
+ */
33
+ getElapsedSeconds(): number;
34
+ /**
35
+ * Records a checkpoint with the given label.
36
+ *
37
+ * @param label - A descriptive label for the checkpoint.
38
+ */
39
+ checkpoint(label: string): void;
40
+ /**
41
+ * Stops the timer and sets the total elapsed time.
42
+ */
43
+ stop(): void;
44
+ /**
45
+ * Generates a performance report containing the total elapsed time and
46
+ * breakdown of phases between checkpoints.
47
+ *
48
+ * @returns A performance report object.
49
+ * @throws Error if the timer is not stopped before generating the report.
50
+ */
51
+ analyseReportData(): PerformanceReport;
52
+ /**
53
+ * Returns a formatted string of the performance report.
54
+ *
55
+ * @returns A string detailing the total execution time and phase breakdown.
56
+ */
57
+ generateReport(): string;
58
+ }
59
+ /**
60
+ * Interface representing a single phase of performance measurement.
61
+ */
62
+ export interface PerformancePhase {
63
+ label: string;
64
+ duration: number;
65
+ }
66
+ /**
67
+ * Interface representing the full performance report.
68
+ */
69
+ export interface PerformanceReport {
70
+ totalTime: number;
71
+ phases: PerformancePhase[];
72
+ }
73
+ //# sourceMappingURL=performance-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance-timer.d.ts","sourceRoot":"","sources":["../../src/performance-timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,SAAS,CAAgB;;IAQjC;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAK3B;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;;;;;OAMG;IACH,iBAAiB,IAAI,iBAAiB;IAuCtC;;;;OAIG;IACI,cAAc,IAAI,MAAM;CA4BhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B"}
@@ -1,5 +1,7 @@
1
1
  import { ChatCompletionMessageParam, ChatCompletionTool, ChatCompletionMessageToolCall } from 'openai/resources/chat/completions';
2
2
  import { ImageGenerateParams } from 'openai/resources/images';
3
+ import { Tool } from 'openai/resources/responses/responses';
4
+ export { Tool };
3
5
  /**
4
6
  * Represents OpenAI models
5
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"llm-types.d.ts","sourceRoot":"","sources":["../../../src/types/llm-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-types.d.ts","sourceRoot":"","sources":["../../../src/types/llm-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.0.10",
6
+ "version": "1.0.12",
7
7
  "author": "Disco Media",
8
8
  "description": "Utility functions used in Disco Media apps",
9
9
  "always-build-npm": true,