@appstrata/protocol 0.1.0 → 1.0.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.
package/dist/client/proxy.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Uses the message protocol for handshake and RPC-based capability operations.
|
|
5
5
|
*/
|
|
6
|
-
import { LifecyclePhase, type SignagePlayer, type AppContext, type Capability, type LogLevel, type
|
|
6
|
+
import { LifecyclePhase, type SignagePlayer, type AppContext, type Capability, type LogLevel, type StorageApi, type ProxyApi, type MediaCacheApi, type StaticApi, type InteractionApi } from "@appstrata/core";
|
|
7
7
|
import type { Transport } from "../transport/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* ProxyPlayer - App-side SignagePlayer that communicates with the Host via the message protocol.
|
|
@@ -19,9 +19,6 @@ export declare class ProxyPlayer implements SignagePlayer {
|
|
|
19
19
|
private readyPromise;
|
|
20
20
|
private resolveReady;
|
|
21
21
|
private isReady;
|
|
22
|
-
private _terminated;
|
|
23
|
-
private _startTime;
|
|
24
|
-
private _pendingTotalDuration;
|
|
25
22
|
private initHandlers;
|
|
26
23
|
private showHandlers;
|
|
27
24
|
private startHandlers;
|
|
@@ -59,9 +56,7 @@ export declare class ProxyPlayer implements SignagePlayer {
|
|
|
59
56
|
onStop(handler: () => void): void;
|
|
60
57
|
private invokeLateSubscriber;
|
|
61
58
|
onContextChange(handler: (context: AppContext) => void): void;
|
|
62
|
-
|
|
63
|
-
notifyEstimatedEnd(options: EstimatedEndOptions): void;
|
|
64
|
-
notifyNoContent(options?: NoContentOptions): void;
|
|
59
|
+
markComplete(): void;
|
|
65
60
|
get storage(): StorageApi | undefined;
|
|
66
61
|
get proxy(): ProxyApi | undefined;
|
|
67
62
|
get mediaCache(): MediaCacheApi | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/client/proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EAEd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/client/proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EAEd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,QAAQ,EAIb,KAAK,aAAa,EAGlB,KAAK,SAAS,EACd,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAavD;;;;GAIG;AACH,qBAAa,WAAY,YAAW,aAAa;IAC/C,QAAQ,CAAC,UAAU,WAAW;IAC9B,cAAc,EAAE,cAAc,CAAuB;IAErD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,GAAG,CAAY;IAGvB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,qBAAqB,CAA4C;IACzE,OAAO,CAAC,mBAAmB,CAAgD;IAE3E;;;;OAIG;gBACS,SAAS,EAAE,SAAS;IAuChC;;OAEG;IACH,OAAO,CAAC,SAAS;IAmBjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgCnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,uBAAuB;IAczB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAKjC,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7D,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAcpD,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAOjC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAOlC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAOjC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAOjC,OAAO,CAAC,oBAAoB;IAY5B,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAQ7D,YAAY,IAAI,IAAI;IAUpB,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS,CAwBpC;IAED,IAAI,KAAK,IAAI,QAAQ,GAAG,SAAS,CAqBhC;IAED,IAAI,UAAU,IAAI,aAAa,GAAG,SAAS,CA8B1C;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAoBlC;IAED,IAAI,WAAW,IAAI,cAAc,GAAG,SAAS,CAW5C;IAMD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAI5D"}
|
package/dist/client/proxy.js
CHANGED
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
* Uses the message protocol for handshake and RPC-based capability operations.
|
|
5
5
|
*/
|
|
6
6
|
import { LifecyclePhase, createLogger } from "@appstrata/core";
|
|
7
|
-
const PHASE_ORDER = {
|
|
8
|
-
[LifecyclePhase.None]: 0,
|
|
9
|
-
[LifecyclePhase.Init]: 1,
|
|
10
|
-
[LifecyclePhase.Show]: 2,
|
|
11
|
-
[LifecyclePhase.Start]: 3,
|
|
12
|
-
[LifecyclePhase.Hide]: 4,
|
|
13
|
-
[LifecyclePhase.Stop]: 5,
|
|
14
|
-
};
|
|
15
7
|
import { RpcClient } from "./rpc.js";
|
|
16
8
|
const logger = createLogger("ProxyPlayer");
|
|
17
9
|
import { wireContextToAppContext, isReadyMessage, isEventMessage, generateRequestId, } from "../messages.js";
|
|
@@ -32,10 +24,6 @@ export class ProxyPlayer {
|
|
|
32
24
|
// Context state
|
|
33
25
|
this.context = null;
|
|
34
26
|
this.isReady = false;
|
|
35
|
-
// Playback control state
|
|
36
|
-
this._terminated = false;
|
|
37
|
-
this._startTime = null;
|
|
38
|
-
this._pendingTotalDuration = null;
|
|
39
27
|
// Lifecycle handlers
|
|
40
28
|
this.initHandlers = new Set();
|
|
41
29
|
this.showHandlers = new Set();
|
|
@@ -129,28 +117,15 @@ export class ProxyPlayer {
|
|
|
129
117
|
*/
|
|
130
118
|
handleEvent(msg) {
|
|
131
119
|
const eventName = msg.name;
|
|
132
|
-
const suppressible = this._terminated && this.context?.duration == null;
|
|
133
120
|
if (eventName === "show") {
|
|
134
|
-
if (suppressible)
|
|
135
|
-
return;
|
|
136
121
|
this.lifecyclePhase = LifecyclePhase.Show;
|
|
137
122
|
this.fireLifecycleHandlers(this.showHandlers);
|
|
138
123
|
}
|
|
139
124
|
else if (eventName === "start") {
|
|
140
|
-
if (suppressible)
|
|
141
|
-
return;
|
|
142
125
|
this.lifecyclePhase = LifecyclePhase.Start;
|
|
143
|
-
this._startTime = Date.now();
|
|
144
|
-
if (this._pendingTotalDuration != null) {
|
|
145
|
-
const expectedFinishTime = this._startTime + this._pendingTotalDuration * 1000;
|
|
146
|
-
this._pendingTotalDuration = null;
|
|
147
|
-
this.rpc.notify("notifyEstimatedEnd", { expectedFinishTime });
|
|
148
|
-
}
|
|
149
126
|
this.fireLifecycleHandlers(this.startHandlers);
|
|
150
127
|
}
|
|
151
128
|
else if (eventName === "hide") {
|
|
152
|
-
if (suppressible && PHASE_ORDER[this.lifecyclePhase] < PHASE_ORDER[LifecyclePhase.Show])
|
|
153
|
-
return;
|
|
154
129
|
this.lifecyclePhase = LifecyclePhase.Hide;
|
|
155
130
|
this.fireLifecycleHandlers(this.hideHandlers);
|
|
156
131
|
}
|
|
@@ -228,13 +203,13 @@ export class ProxyPlayer {
|
|
|
228
203
|
}
|
|
229
204
|
onShow(handler) {
|
|
230
205
|
this.showHandlers.add(handler);
|
|
231
|
-
if (this.lifecyclePhase === LifecyclePhase.Show
|
|
206
|
+
if (this.lifecyclePhase === LifecyclePhase.Show) {
|
|
232
207
|
this.invokeLateSubscriber(handler);
|
|
233
208
|
}
|
|
234
209
|
}
|
|
235
210
|
onStart(handler) {
|
|
236
211
|
this.startHandlers.add(handler);
|
|
237
|
-
if (this.lifecyclePhase === LifecyclePhase.Start
|
|
212
|
+
if (this.lifecyclePhase === LifecyclePhase.Start) {
|
|
238
213
|
this.invokeLateSubscriber(handler);
|
|
239
214
|
}
|
|
240
215
|
}
|
|
@@ -267,74 +242,10 @@ export class ProxyPlayer {
|
|
|
267
242
|
// ═══════════════════════════════════════════════════════════════════════
|
|
268
243
|
// PLAYBACK CONTROL
|
|
269
244
|
// ═══════════════════════════════════════════════════════════════════════
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
logger.
|
|
273
|
-
|
|
274
|
-
}
|
|
275
|
-
this._terminated = true;
|
|
276
|
-
this.rpc.notify("notifyComplete");
|
|
277
|
-
}
|
|
278
|
-
notifyEstimatedEnd(options) {
|
|
279
|
-
if (this._terminated) {
|
|
280
|
-
logger.warn("ignoring notifyEstimatedEnd() call after session ended");
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
if ('finishTime' in options && 'totalDuration' in options) {
|
|
284
|
-
logger.warn("EstimatedEndOptions has both finishTime and totalDuration, using finishTime");
|
|
285
|
-
}
|
|
286
|
-
if ('finishTime' in options && options.finishTime != null) {
|
|
287
|
-
if (options.finishTime <= Date.now()) {
|
|
288
|
-
logger.warn("notifyEstimatedEnd: finishTime must not be in the past");
|
|
289
|
-
return;
|
|
290
|
-
}
|
|
291
|
-
this._pendingTotalDuration = null;
|
|
292
|
-
this.rpc.notify("notifyEstimatedEnd", {
|
|
293
|
-
expectedFinishTime: options.finishTime,
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
else if ('totalDuration' in options && options.totalDuration != null) {
|
|
297
|
-
if (options.totalDuration <= 0) {
|
|
298
|
-
logger.warn("notifyEstimatedEnd: totalDuration must be positive");
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
if (this._startTime != null) {
|
|
302
|
-
this.rpc.notify("notifyEstimatedEnd", {
|
|
303
|
-
expectedFinishTime: this._startTime + options.totalDuration * 1000,
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
this._pendingTotalDuration = options.totalDuration;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
notifyNoContent(options) {
|
|
312
|
-
if (this._terminated) {
|
|
313
|
-
logger.warn("ignoring notifyNoContent() call after session ended");
|
|
314
|
-
return;
|
|
315
|
-
}
|
|
316
|
-
this._terminated = true;
|
|
317
|
-
const wirePayload = {};
|
|
318
|
-
if (options?.reason) {
|
|
319
|
-
wirePayload.reason = options.reason;
|
|
320
|
-
}
|
|
321
|
-
if (options && 'retryIn' in options && options.retryIn != null) {
|
|
322
|
-
if (options.retryIn <= 0) {
|
|
323
|
-
logger.warn("notifyNoContent: retryIn must be positive");
|
|
324
|
-
}
|
|
325
|
-
else {
|
|
326
|
-
wirePayload.retryNotBefore = Date.now() + options.retryIn * 1000;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
else if (options && 'retryAt' in options && options.retryAt != null) {
|
|
330
|
-
if (options.retryAt <= Date.now()) {
|
|
331
|
-
logger.warn("notifyNoContent: retryAt must not be in the past");
|
|
332
|
-
}
|
|
333
|
-
else {
|
|
334
|
-
wirePayload.retryNotBefore = options.retryAt;
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
this.rpc.notify("notifyNoContent", wirePayload);
|
|
245
|
+
markComplete() {
|
|
246
|
+
this.rpc.call("markComplete").catch((error) => {
|
|
247
|
+
logger.error("markComplete failed", error);
|
|
248
|
+
});
|
|
338
249
|
}
|
|
339
250
|
// ═══════════════════════════════════════════════════════════════════════
|
|
340
251
|
// CAPABILITY APIS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-bridge.d.ts","sourceRoot":"","sources":["../../src/host/message-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAG/H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAkBvD,MAAM,WAAW,mBAAmB;IAElC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAErB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA4E;IAC1F,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgC;IACnD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,wBAAwB,CAAC,CAAa;IAC9C,OAAO,CAAC,aAAa,CAAsB;gBAE/B,MAAM,EAAE,mBAAmB;IAqBvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"message-bridge.d.ts","sourceRoot":"","sources":["../../src/host/message-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAG/H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAkBvD,MAAM,WAAW,mBAAmB;IAElC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAErB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA4E;IAC1F,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgC;IACnD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,wBAAwB,CAAC,CAAa;IAC9C,OAAO,CAAC,aAAa,CAAsB;gBAE/B,MAAM,EAAE,mBAAmB;IAqBvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,mBAAmB;IAkEjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;OAQG;YACW,SAAS;IAyBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAoBxB,QAAQ,IAAI,IAAI;IAIhB,SAAS,IAAI,IAAI;IAIjB,QAAQ,IAAI,IAAI;IAIhB,QAAQ,IAAI,IAAI;IAIhB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAK5C;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;CAUhB"}
|
|
@@ -182,9 +182,7 @@ export class MessageBridge {
|
|
|
182
182
|
const player = this.config.player;
|
|
183
183
|
const handlers = {
|
|
184
184
|
// Core operations
|
|
185
|
-
"
|
|
186
|
-
"notifyEstimatedEnd": () => player.notifyEstimatedEnd(payload),
|
|
187
|
-
"notifyNoContent": () => player.notifyNoContent(payload),
|
|
185
|
+
"markComplete": () => player.markComplete(),
|
|
188
186
|
// Storage operations
|
|
189
187
|
"storage.get": async () => {
|
|
190
188
|
this.requireCapability(player.storage, "Storage");
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/messages.js
CHANGED
|
@@ -87,19 +87,8 @@ export function generateRequestId() {
|
|
|
87
87
|
*/
|
|
88
88
|
export function wireContextToAppContext(wireContext) {
|
|
89
89
|
const capabilities = wireContext.capabilities || [];
|
|
90
|
-
let duration;
|
|
91
|
-
if (wireContext.duration === -1) {
|
|
92
|
-
duration = undefined;
|
|
93
|
-
}
|
|
94
|
-
else if (wireContext.duration === -2) {
|
|
95
|
-
duration = Infinity;
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
duration = wireContext.duration;
|
|
99
|
-
}
|
|
100
90
|
return {
|
|
101
91
|
...wireContext,
|
|
102
|
-
duration,
|
|
103
92
|
hasCapability: (capability) => capabilities.includes(capability)
|
|
104
93
|
};
|
|
105
94
|
}
|
|
@@ -120,22 +109,10 @@ export function appContextToWire(context) {
|
|
|
120
109
|
capabilities.push(cap);
|
|
121
110
|
}
|
|
122
111
|
}
|
|
123
|
-
// Convert duration: null/undefined -> -1, Infinity -> -2
|
|
124
|
-
let wireDuration;
|
|
125
|
-
if (context.duration == null) {
|
|
126
|
-
wireDuration = -1;
|
|
127
|
-
}
|
|
128
|
-
else if (context.duration === Infinity) {
|
|
129
|
-
wireDuration = -2;
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
wireDuration = context.duration;
|
|
133
|
-
}
|
|
134
112
|
// Copy all properties except hasCapability, then add capabilities array
|
|
135
113
|
const { hasCapability, ...rest } = context;
|
|
136
114
|
return {
|
|
137
115
|
...rest,
|
|
138
|
-
duration: wireDuration,
|
|
139
116
|
capabilities,
|
|
140
117
|
};
|
|
141
118
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appstrata/protocol",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "AppStrata protocol implementation - messages, transport, client and host",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"access": "restricted"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@appstrata/core": "
|
|
44
|
+
"@appstrata/core": "1.0.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@jest/globals": "^29.7.0",
|