@ztimson/momentum 0.53.1 → 0.58.0

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 (86) hide show
  1. package/README.md +200 -148
  2. package/bin/build-models.mjs +28 -37
  3. package/dist/actions.d.ts +32 -43
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/ai.d.ts +38 -17
  6. package/dist/ai.d.ts.map +1 -1
  7. package/dist/analytics.d.ts +169 -36
  8. package/dist/analytics.d.ts.map +1 -1
  9. package/dist/api.d.ts +22 -22
  10. package/dist/api.d.ts.map +1 -1
  11. package/dist/asset-controller.d.ts +92 -0
  12. package/dist/asset-controller.d.ts.map +1 -0
  13. package/dist/audit.d.ts +22 -0
  14. package/dist/audit.d.ts.map +1 -0
  15. package/dist/auth.d.ts +39 -92
  16. package/dist/auth.d.ts.map +1 -1
  17. package/dist/call.d.ts +39 -0
  18. package/dist/call.d.ts.map +1 -0
  19. package/dist/captcha.d.ts +14 -0
  20. package/dist/captcha.d.ts.map +1 -0
  21. package/dist/client.d.ts +44 -33
  22. package/dist/client.d.ts.map +1 -1
  23. package/dist/core.d.ts +50 -21
  24. package/dist/core.d.ts.map +1 -1
  25. package/dist/data.d.ts +59 -77
  26. package/dist/data.d.ts.map +1 -1
  27. package/dist/dialog.d.ts +11 -0
  28. package/dist/dialog.d.ts.map +1 -0
  29. package/dist/discounts.d.ts +8 -12
  30. package/dist/discounts.d.ts.map +1 -1
  31. package/dist/email.d.ts +19 -19
  32. package/dist/email.d.ts.map +1 -1
  33. package/dist/forms.d.ts +6 -13
  34. package/dist/forms.d.ts.map +1 -1
  35. package/dist/groups.d.ts +22 -16
  36. package/dist/groups.d.ts.map +1 -1
  37. package/dist/index.d.ts +13 -3
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4446 -0
  40. package/dist/index.mjs +3422 -1731
  41. package/dist/logger.d.ts +78 -48
  42. package/dist/logger.d.ts.map +1 -1
  43. package/dist/momentum.d.ts +69 -15
  44. package/dist/momentum.d.ts.map +1 -1
  45. package/dist/momentum.worker.d.mts +2 -0
  46. package/dist/momentum.worker.d.mts.map +1 -0
  47. package/dist/momentum.worker.mjs +103 -0
  48. package/dist/notifications.d.ts +39 -0
  49. package/dist/notifications.d.ts.map +1 -0
  50. package/dist/pdf.d.ts +31 -14
  51. package/dist/pdf.d.ts.map +1 -1
  52. package/dist/products.d.ts +47 -0
  53. package/dist/products.d.ts.map +1 -0
  54. package/dist/routes.d.ts +40 -0
  55. package/dist/routes.d.ts.map +1 -0
  56. package/dist/schemas.d.ts +79 -0
  57. package/dist/schemas.d.ts.map +1 -0
  58. package/dist/settings.d.ts +30 -14
  59. package/dist/settings.d.ts.map +1 -1
  60. package/dist/sms.d.ts +14 -0
  61. package/dist/sms.d.ts.map +1 -0
  62. package/dist/sockets.d.ts +21 -10
  63. package/dist/sockets.d.ts.map +1 -1
  64. package/dist/static.d.ts +4 -2
  65. package/dist/static.d.ts.map +1 -1
  66. package/dist/storage.d.ts +103 -24
  67. package/dist/storage.d.ts.map +1 -1
  68. package/dist/templates.d.ts +23 -0
  69. package/dist/templates.d.ts.map +1 -0
  70. package/dist/tokens.d.ts +50 -0
  71. package/dist/tokens.d.ts.map +1 -0
  72. package/dist/totp.d.ts +45 -0
  73. package/dist/totp.d.ts.map +1 -0
  74. package/dist/transactions.d.ts +153 -0
  75. package/dist/transactions.d.ts.map +1 -0
  76. package/dist/users.d.ts +63 -25
  77. package/dist/users.d.ts.map +1 -1
  78. package/dist/webRtc.d.ts +39 -0
  79. package/dist/webRtc.d.ts.map +1 -0
  80. package/package.json +53 -43
  81. package/dist/index.cjs +0 -2755
  82. package/dist/momentum.worker.js +0 -16
  83. package/dist/payments.d.ts +0 -184
  84. package/dist/payments.d.ts.map +0 -1
  85. package/dist/phone.d.ts +0 -19
  86. package/dist/phone.d.ts.map +0 -1
package/dist/ai.d.ts CHANGED
@@ -1,36 +1,57 @@
1
- import { PathEventEmitter } from '@ztimson/utils';
2
- import { Api } from './api';
1
+ import { PathEventEmitter } from './core';
2
+ import { Momentum } from './momentum';
3
+ export type AiInfo = {
4
+ /** Service provider: Anthropic, OpenAI, Ollama */
5
+ readonly host: string;
6
+ /** Assistant LLM version */
7
+ readonly model: string;
8
+ };
9
+ export type AiMessage = {
10
+ /** Message type */
11
+ readonly role: 'assistant' | 'function' | 'system' | 'tool' | 'user';
12
+ /** OpenAI tool call */
13
+ readonly name?: string;
14
+ /** Anthropic tool call */
15
+ readonly tool_use_id?: string;
16
+ /** Ollama tool call */
17
+ readonly tool_call_id?: string;
18
+ /** Message value */
19
+ readonly content: string;
20
+ };
3
21
  /** AI integrations */
4
22
  export declare class Ai extends PathEventEmitter {
5
- private readonly api;
6
- constructor(api: Api | string);
23
+ protected momentum: Momentum;
24
+ constructor(momentum: Momentum);
25
+ /** Cancel current AI requests */
26
+ abort(): Promise<void>;
7
27
  /**
8
28
  * Ask the AI assistant a question
9
29
  * @param {string} question Users question
10
- * @param {any} context Additional data to aid response
30
+ * @param {context: string, stream: Function} options context - Any hidden context information. stream - Receive response in chunks
11
31
  * @return {Promise<string>} AI's response
12
32
  */
13
- ask(question: string, context?: any): Promise<string>;
33
+ ask(question: string, options?: {
34
+ context?: any;
35
+ files?: File[];
36
+ stream?: (chunk: {
37
+ text?: string;
38
+ done?: boolean;
39
+ }) => any;
40
+ }): Promise<string>;
14
41
  /**
15
42
  * Clear AI assistant memory & context
16
43
  * @return {Promise<void>} Resolves once complete
17
44
  */
18
- clear(): import('@ztimson/utils').PromiseProgress<any>;
45
+ clear(): Promise<void>;
19
46
  /**
20
47
  * Current chat history
21
- * @return {Promise<{role: string, content: string}[]>}
48
+ * @return {Promise<AiMessage[]>}
22
49
  */
23
- history(): Promise<{
24
- role: string;
25
- content: string;
26
- }[]>;
50
+ history(): Promise<AiMessage[]>;
27
51
  /**
28
52
  * Get model info
29
- * @return {Promise<{host: string, model: string}>} Model Info
53
+ * @return {AiInfo>} Model Info
30
54
  */
31
- info(): Promise<{
32
- host: string;
33
- model: string;
34
- }>;
55
+ info(): Promise<AiInfo>;
35
56
  }
36
57
  //# sourceMappingURL=ai.d.ts.map
package/dist/ai.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAM,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,sBAAsB;AACtB,qBAAa,EAAG,SAAQ,gBAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAO;gBAEf,GAAG,EAAE,GAAG,GAAG,MAAM;IAK7B;;;;;OAKG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAWrD;;;OAGG;IACH,KAAK;IAKL;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAOrD;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;CAG9C"}
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAM,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,MAAM,GAAG;IACpB,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACrE,uBAAuB;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,sBAAsB;AACtB,qBAAa,EAAG,SAAQ,gBAAgB;IAC3B,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIxC,iCAAiC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB;;;;;OAKG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,OAAO,CAAA;SAAC,KAAK,GAAG,CAAA;KAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BrJ;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAO/B;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvB"}
@@ -1,64 +1,197 @@
1
- import { PathEventEmitter } from '@ztimson/utils';
2
- import { Api } from './api';
1
+ import { AssetController } from './asset-controller';
2
+ import { Meta } from './core';
3
+ import { Momentum } from './momentum';
4
+ export type AnalyticInfo = Meta & {
5
+ /** Track ad campaign */
6
+ readonly adCampaign: {
7
+ /** Source of the ad campaign (e.g., search engine or platform) */
8
+ readonly source?: string;
9
+ /** Medium of the ad campaign (e.g., cost-per-click, email) */
10
+ readonly medium?: string;
11
+ /** Name of the ad campaign */
12
+ readonly campaign?: string;
13
+ /** Search term or keywords used in the campaign */
14
+ readonly term?: string;
15
+ /** Specific content that triggered the campaign */
16
+ readonly content?: string;
17
+ };
18
+ /** Browser information */
19
+ readonly browser: {
20
+ /** Browser name */
21
+ readonly name?: string;
22
+ /** Browser version */
23
+ readonly version?: string;
24
+ /** Browser major version */
25
+ readonly major?: string;
26
+ };
27
+ /** CAPTCHA score 0-1 (0 = bot, 1 = human) */
28
+ readonly captcha?: number;
29
+ /** User consent for additional tracking */
30
+ readonly consent?: boolean;
31
+ /** CPU information */
32
+ readonly cpu: {
33
+ /** CPU architecture */
34
+ readonly architecture?: string;
35
+ /** Number of CPU cors */
36
+ readonly cores?: number | 'Unknown';
37
+ };
38
+ /** Device information */
39
+ readonly device: {
40
+ /** Device type (mobile, etc...) */
41
+ readonly type?: string;
42
+ /** Manufacturer */
43
+ readonly vendor?: string;
44
+ /** Device name */
45
+ readonly model?: string;
46
+ };
47
+ /** JavaScript Engine information */
48
+ readonly engine: {
49
+ /** Name of engine */
50
+ readonly name?: string;
51
+ /** Engine version */
52
+ readonly version?: string;
53
+ };
54
+ /** originating IP */
55
+ readonly ip?: string;
56
+ /** System language */
57
+ readonly lang?: string;
58
+ /** JavaScript heap size */
59
+ readonly mem?: number | 'Unknown';
60
+ /** Custom metrics */
61
+ readonly metrics: {
62
+ [key: string]: Metric;
63
+ };
64
+ /** Network speed in bytes-per-second */
65
+ readonly net?: number;
66
+ /** Operating System */
67
+ readonly os: {
68
+ /** OS name */
69
+ readonly name?: string;
70
+ /** OS version */
71
+ readonly version?: string;
72
+ };
73
+ /** User journey */
74
+ readonly pages: {
75
+ page: string | 'CLOSED';
76
+ timestamp: Date;
77
+ duration?: number;
78
+ meta?: any;
79
+ }[];
80
+ /** Website performance */
81
+ readonly performance?: Performance;
82
+ /** Referer */
83
+ readonly referer?: string;
84
+ /** Screen resolution */
85
+ readonly res?: number[];
86
+ /** IP Trace */
87
+ readonly trace?: IpTrace;
88
+ /** Timezone offset */
89
+ readonly tz?: string;
90
+ /** Original user agent string */
91
+ readonly ua?: string;
92
+ };
3
93
  export type IpTrace = {
4
94
  /** Ip trace target */
5
- query: string;
95
+ readonly query: string;
6
96
  /** Trace result */
7
- status: string;
97
+ readonly status: string;
8
98
  /** Geolocated continent */
9
- continent: string;
99
+ readonly continent: string;
10
100
  /** Geolocated continent shortcode */
11
- continentCode: string;
101
+ readonly continentCode: string;
12
102
  /** Geolocated country */
13
- country: string;
103
+ readonly country: string;
14
104
  /** Geolocated country shortcode */
15
- countryCode: string;
105
+ readonly countryCode: string;
16
106
  /** Geolocated country region shortcode */
17
- region: string;
107
+ readonly region: string;
18
108
  /** Geolocated country region */
19
- regionName: string;
109
+ readonly regionName: string;
20
110
  /** Geolocated city */
21
- city: string;
111
+ readonly city: string;
22
112
  /** Geolocated city district/suburb */
23
- district: string;
113
+ readonly district: string;
24
114
  /** Geolocated postal code/zip */
25
- zip: string;
115
+ readonly zip: string;
26
116
  /** Geolocated latitude */
27
- lat: number;
28
- /** Geolocate longitude */
29
- lon: number;
117
+ readonly lat: number;
118
+ /** Geolocated longitude */
119
+ readonly lon: number;
30
120
  /** Geolocated timezone */
31
- timezone: string;
121
+ readonly timezone: string;
32
122
  /** Geolocated timezone offset */
33
- offset: number;
123
+ readonly offset: number;
34
124
  /** Geolocated currency */
35
- currency: string;
125
+ readonly currency: string;
36
126
  /** Address provider */
37
- isp: string;
127
+ readonly isp: string;
38
128
  /** Registered organization */
39
- org: string;
129
+ readonly org: string;
40
130
  /** AS number and organization */
41
- as: string;
131
+ readonly as: string;
42
132
  /** AS organization */
43
- asname: string;
44
- /** Cellular */
45
- mobile: boolean;
133
+ readonly asname: string;
134
+ /** Cellular network */
135
+ readonly mobile: boolean;
46
136
  /** Known proxy, VPN or Tor exit node */
47
- proxy: boolean;
137
+ readonly proxy: boolean;
48
138
  /** Known Host/Datacenter */
49
- hosting: boolean;
139
+ readonly hosting: boolean;
50
140
  /** Failed trace reason */
51
- message?: string;
141
+ readonly message?: string;
142
+ };
143
+ /** Analytics metric */
144
+ export type Metric<T = any> = {
145
+ /** Name of metric */
146
+ name: string;
147
+ /** Metric category for grouping */
148
+ category?: string;
149
+ /** Metric value */
150
+ value: T;
151
+ /** Aggregation strategy, defaults to add */
152
+ strategy?: 'add' | 'avg' | 'count' | 'min' | 'max' | 'set';
153
+ };
154
+ export type Performance = {
155
+ /** Time until first contentful paint (ms) */
156
+ fcp: number;
157
+ /** Time until largest contentful paint (ms) */
158
+ lcp: number;
159
+ /** Time until first byte (ms) */
160
+ ttfb: number;
161
+ /** DOM load time (ms) */
162
+ dom: number;
163
+ /** Total load time (ms) */
164
+ total: number;
52
165
  };
53
166
  /** Audience metrics and metadata */
54
- export declare class Analytics extends PathEventEmitter {
55
- private readonly api;
56
- constructor(api: Api | string);
57
- /**
58
- * Perform IP trace
59
- * @param {string} ip IP address to trace
60
- * @return {Promise<IpTrace>} Trace results
61
- */
167
+ export declare class Analytics extends AssetController<AnalyticInfo> {
168
+ protected momentum: Momentum;
169
+ private lastPage?;
170
+ private _ready?;
171
+ readonly ready: Promise<void>;
172
+ private _performance;
173
+ performance: Promise<Performance>;
174
+ private _consented?;
175
+ readonly consented: Promise<boolean>;
176
+ _consent?: boolean;
177
+ get consent(): boolean | undefined;
178
+ set consent(value: boolean | undefined);
179
+ private _id;
180
+ get id(): string;
181
+ private set id(value);
182
+ private _new;
183
+ private set new(value);
184
+ get new(): boolean;
185
+ constructor(momentum: Momentum);
186
+ private canPromptAgain;
187
+ private collectNavigationMetrics;
188
+ private collectLCPMetrics;
189
+ private init;
190
+ consentPrompt(content?: string): Promise<boolean>;
191
+ speedTest(format: true, bytes?: number): Promise<string>;
192
+ speedTest(format?: false, bytes?: number): Promise<number>;
62
193
  ipTrace(ip: string): Promise<IpTrace>;
194
+ metric(name: string | [string, string], value: number, strategy?: string): Promise<void>;
195
+ page(page?: string, meta?: any): Promise<void>;
63
196
  }
64
197
  //# sourceMappingURL=analytics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAM,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,OAAO,GAAG;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oCAAoC;AACpC,qBAAa,SAAU,SAAQ,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAO;gBAEf,GAAG,EAAE,GAAG,GAAG,MAAM;IAK7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQrC"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
package/dist/api.d.ts CHANGED
@@ -1,50 +1,50 @@
1
- import { Http, HttpDefaults, HttpRequestOptions, IPathEventEmitter, PromiseProgress } from '@ztimson/utils';
1
+ import { Http, HttpRequestOptions, IPathEventEmitter, PromiseProgress } from '@ztimson/utils';
2
+ import { Momentum } from './momentum';
2
3
  /** Overall Momentum health */
3
4
  export type Health = {
4
5
  /** Momentum status */
5
- status: 'offline' | 'ok' | 'degraded' | 'error';
6
+ readonly status: 'offline' | 'ok' | 'degraded' | 'error';
6
7
  /** Actions module */
7
- actions: ModuleStatus;
8
+ readonly actions: ModuleStatus;
8
9
  /** AI module */
9
- ai: ModuleStatus;
10
+ readonly ai: ModuleStatus;
10
11
  /** Database module */
11
- database: ModuleStatus;
12
+ readonly database: ModuleStatus;
12
13
  /** Email module */
13
- email: ModuleStatus;
14
+ readonly email: ModuleStatus;
14
15
  /** Payments module */
15
- payments: ModuleStatus;
16
+ readonly payments: ModuleStatus;
16
17
  /** Phone module */
17
- phone: ModuleStatus;
18
+ readonly phone: ModuleStatus;
19
+ /** WebRTC TURN server */
20
+ readonly webrtc: ModuleStatus;
18
21
  /** Version number */
19
- version: string;
22
+ readonly version: string;
20
23
  /** Last commit */
21
- commit: string;
24
+ readonly commit: string;
25
+ /** Cluster nodes */
26
+ readonly cluster?: string[];
27
+ /** Uptime in seconds */
28
+ readonly uptime?: number;
22
29
  };
23
30
  /** Momentum module status */
24
31
  export type ModuleStatus = 'disabled' | 'ok' | 'warn' | 'error';
25
- /** API options */
26
- export type ApiOptions = {
27
- http?: HttpDefaults;
28
- persist?: boolean;
29
- };
30
32
  /** Create API requests */
31
33
  export declare class Api extends Http implements IPathEventEmitter {
32
- readonly url: string;
33
- readonly opts: ApiOptions;
34
+ private momentum;
34
35
  private emitter;
35
36
  private pending;
36
37
  private storageKey;
37
- readonly host: string;
38
38
  get sameOrigin(): boolean;
39
39
  private _token;
40
40
  /** Current API token */
41
41
  get token(): string | null;
42
42
  set token(token: string | null);
43
- constructor(url?: string, opts?: ApiOptions);
44
- emit: (event: string | import('@ztimson/utils').PathEvent, ...args: any[]) => void;
43
+ constructor(momentum: Momentum);
44
+ emit: (event: import('@ztimson/utils').Event, ...args: any[]) => void;
45
45
  off: (listener: import('@ztimson/utils').PathListener) => void;
46
- on: (event: string | string[], listener: import('@ztimson/utils').PathListener) => import('@ztimson/utils').PathUnsubscribe;
47
- once: (event: string | string[], listener?: import('@ztimson/utils').PathListener) => Promise<any>;
46
+ on: (event: import('@ztimson/utils').Event | import('@ztimson/utils').Event[], listener: import('@ztimson/utils').PathListener) => import('@ztimson/utils').PathUnsubscribe;
47
+ once: (event: import('@ztimson/utils').Event | import('@ztimson/utils').Event[], listener?: import('@ztimson/utils').PathListener) => Promise<any>;
48
48
  relayEvents: (emitter: IPathEventEmitter) => void;
49
49
  /**
50
50
  * Fetch current Momentum status
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,IAAI,EACJ,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,MAAM,gBAAgB,CAAC;AAExB,8BAA8B;AAC9B,MAAM,MAAM,MAAM,GAAG;IACpB,sBAAsB;IACtB,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;IAChD,qBAAqB;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,gBAAgB;IAChB,EAAE,EAAE,YAAY,CAAC;IACjB,sBAAsB;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,mBAAmB;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,sBAAsB;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,mBAAmB;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;CACf,CAAA;AAED,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE,kBAAkB;AAClB,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC;AAEF,0BAA0B;AAC1B,qBAAa,GAAI,SAAQ,IAAK,YAAW,iBAAiB;aA0B7B,GAAG,EAAE,MAAM;aAAoC,IAAI,EAAE,UAAU;IAzB3F,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,UAAU,CAAU;IAE5B,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAC;IAEvB,IAAI,UAAU,YAGb;IAED,OAAO,CAAC,MAAM,CAAuB;IACrC,wBAAwB;IACxB,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAAwB;IAClD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAS7B;gBAE2B,GAAG,GAAE,MAAwB,EAAkB,IAAI,GAAE,UAAe;IAWhG,IAAI,+EAAwC;IAC5C,GAAG,4DAAuC;IAC1C,EAAE,0HAAsC;IACxC,IAAI,+FAAwC;IAC5C,WAAW,uCAA+C;IAE1D;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAO9B;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC;CAgB3D"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,IAAI,EACJ,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,8BAA8B;AAC9B,MAAM,MAAM,MAAM,GAAG;IACpB,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC;IACzD,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,mBAAmB;IACnB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,mBAAmB;IACnB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,yBAAyB;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kBAAkB;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oBAAoB;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE,0BAA0B;AAC1B,qBAAa,GAAI,SAAQ,IAAK,YAAW,iBAAiB;IA0B7C,OAAO,CAAC,QAAQ;IAzB5B,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,UAAU,CAAU;IAE5B,IAAI,UAAU,YAGb;IAED,OAAO,CAAC,MAAM,CAAuB;IACrC,wBAAwB;IACxB,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAAwB;IAClD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAW7B;gBAEmB,QAAQ,EAAE,QAAQ;IAUtC,IAAI,kEAAwC;IAC5C,GAAG,4DAAuC;IAC1C,EAAE,0KAAsC;IACxC,IAAI,+IAAwC;IAC5C,WAAW,uCAA+C;IAE1D;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAO9B;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC;CAqB3D"}
@@ -0,0 +1,92 @@
1
+ import { Cache, CacheOptions, PathEvent, PathEventEmitter } from '@ztimson/utils';
2
+ import { Meta, TreeNode, Unsubscribe } from './core';
3
+ import { Momentum } from './momentum';
4
+ export type ControllerOptions<T> = any & {
5
+ module: string;
6
+ key?: keyof T;
7
+ storage?: null | keyof CacheOptions['persistentStorage'];
8
+ path?: string;
9
+ };
10
+ /** Boilerplate for connecting to API controllers */
11
+ export declare class AssetController<T extends Meta> extends PathEventEmitter {
12
+ protected momentum: Momentum;
13
+ protected readonly subscribers: {
14
+ [key: string]: Unsubscribe;
15
+ };
16
+ cache: Cache<string, T>;
17
+ opts: ControllerOptions<T>;
18
+ constructor(momentum: Momentum, opts: ControllerOptions<T>);
19
+ /**
20
+ * Process raw data before caching & returning
21
+ * @hidden
22
+ */
23
+ protected afterRead(value: any): T;
24
+ /**
25
+ * Process raw data before sending
26
+ * @hidden
27
+ */
28
+ protected beforeWrite(value: any): T;
29
+ /**
30
+ * Fetch all assets as array
31
+ * @param {boolean} reload Force reload instead of using cache
32
+ * @return {Promise<T[]>} All assets as array
33
+ */
34
+ all(reload?: boolean): Promise<T[]>;
35
+ /**
36
+ * Create new asset
37
+ * @param {T} value Asset that will be created
38
+ * @return {Promise<T>} Saved result
39
+ */
40
+ create(value: T): Promise<T>;
41
+ /**
42
+ * Delete asset
43
+ * @param {string} key Asset primary key
44
+ * @return {Promise<number>} Returns on success
45
+ */
46
+ delete(key?: string): Promise<number>;
47
+ /**
48
+ * Read single asset
49
+ * @param {string} key Asset primary key
50
+ * @param {boolean} reload Force reload instead of using cache
51
+ * @return {Promise<T>} Discovered asset
52
+ */
53
+ read(key: string, reload?: boolean): Promise<T>;
54
+ /**
55
+ * Update exiting asset
56
+ * @param {T} value Asset that will be updated
57
+ * @return {Promise<T>} Saved result
58
+ */
59
+ update(value: Partial<T>): Promise<T>;
60
+ /**
61
+ * Subscribe to live updates with callback
62
+ * @param {(value: T[]) => any | null} callback Received changes
63
+ * @param opts Additional options: path - scope to events within path, reload - Re-fetch even if cached
64
+ * @return {() => void} Function to unsubscribe
65
+ */
66
+ sync(callback?: ((event: PathEvent, value: any) => any) | null, opts?: {
67
+ path?: string;
68
+ reload?: boolean;
69
+ }): Unsubscribe;
70
+ }
71
+ export declare class TreeAssetController<T extends Meta & {
72
+ path: string;
73
+ }> extends AssetController<T> {
74
+ /**
75
+ * Get all schemas organized into a map
76
+ * @param {boolean} reload Reload instead of using cache
77
+ * @return {Promise<TreeNode<Schema>[]>} Schemas as a map
78
+ */
79
+ map(reload?: boolean): Promise<TreeNode<T>[]>;
80
+ /**
81
+ * Subscribe to live updates with optional callback
82
+ * @param {(schema: Schema[]) => any} callback Receives latest data
83
+ * @param opts path - scope events, tree - return as a map or array
84
+ * @return {() => void}
85
+ */
86
+ sync(callback?: (event: PathEvent, value: any) => any, opts?: {
87
+ path?: string;
88
+ map?: boolean;
89
+ reload?: boolean;
90
+ }): Unsubscribe;
91
+ }
92
+ //# sourceMappingURL=asset-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-controller.d.ts","sourceRoot":"","sources":["../src/asset-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAC,IAAI,EAAwB,KAAK,QAAQ,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;AAC9E,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,GAAG,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACd,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAA;AAED,oDAAoD;AACpD,qBAAa,eAAe,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,gBAAgB;IAMxD,SAAS,CAAC,QAAQ,EAAE,QAAQ;IALxC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAC,CAAM;IAElE,KAAK,EAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzB,IAAI,EAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAEN,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAoBpE;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC;IAElC;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC;IAEpC;;;;OAIG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IASzC;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYlC;;;;OAIG;IACG,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3C;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IASrD;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAY3C;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,GAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAM,GAAG,WAAW;CAe1H;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,IAAI,GAAG;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC3F;;;;OAIG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAKnD;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,IAAI,GAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAM,GAAG,WAAW;CAKhI"}
@@ -0,0 +1,22 @@
1
+ import { Meta, PathEventEmitter } from './core';
2
+ import { Momentum } from './momentum';
3
+ /** Object history */
4
+ export type AuditLog<T = any> = Meta & {
5
+ /** Target module */
6
+ module: string;
7
+ /** Document ID */
8
+ id: string;
9
+ /** Changes */
10
+ delta: any;
11
+ };
12
+ export declare class Audit extends PathEventEmitter {
13
+ protected momentum: Momentum;
14
+ constructor(momentum: Momentum);
15
+ available(): Promise<{
16
+ [module: string]: string;
17
+ }>;
18
+ available(module: string): Promise<string[]>;
19
+ history(module: string, pk?: string): Promise<AuditLog[]>;
20
+ rollback(id: string): Promise<AuditLog<any>[]>;
21
+ }
22
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,qBAAqB;AACrB,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG;IACtC,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc;IACd,KAAK,EAAE,GAAG,CAAC;CACX,CAAA;AAED,qBAAa,KAAM,SAAQ,gBAAgB;IAE9B,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIlC,SAAS,IAAI,OAAO,CAAC;QAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAChD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzD,QAAQ,CAAC,EAAE,EAAE,MAAM;CAIzB"}