@fias/arche-sdk 1.1.0 → 1.1.2
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/README.md +10 -5
- package/dist/bridge.d.ts +8 -1
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +14 -3
- package/dist/bridge.js.map +1 -1
- package/dist/index.mjs +15 -5
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +6 -2
- package/dist/provider.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,11 +19,13 @@ npm run dev:mock
|
|
|
19
19
|
# Open http://localhost:3200 in your browser
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
For real AI testing with live entity invocations (costs credits)
|
|
22
|
+
For real AI testing with live entity invocations (costs credits), click the **MOCK** badge in the toolbar to switch to live mode. If you haven't saved an API key yet, the harness will prompt you to enter one.
|
|
23
|
+
|
|
24
|
+
Alternatively, use the CLI:
|
|
23
25
|
|
|
24
26
|
```bash
|
|
25
|
-
npx fias-dev login
|
|
26
|
-
npm run dev:harness
|
|
27
|
+
npx fias-dev login # Save your API key (one-time)
|
|
28
|
+
npm run dev:harness # Start harness in live mode
|
|
27
29
|
```
|
|
28
30
|
|
|
29
31
|
When you're ready to submit:
|
|
@@ -313,9 +315,12 @@ npm run dev:harness # Connects to FIAS production API
|
|
|
313
315
|
The harness provides:
|
|
314
316
|
|
|
315
317
|
- An iframe embedding your plugin (same sandbox attributes as production)
|
|
316
|
-
- A toolbar
|
|
318
|
+
- A toolbar with:
|
|
319
|
+
- Clickable **MOCK/LIVE** badge to toggle between modes
|
|
320
|
+
- **DARK/LIGHT** theme badge
|
|
321
|
+
- Credit balance (visible in live mode)
|
|
322
|
+
- Theme toggle and reload buttons
|
|
317
323
|
- A dev console showing all bridge messages with timestamps
|
|
318
|
-
- Theme toggle and reload buttons
|
|
319
324
|
|
|
320
325
|
### Dev Preview (alternative)
|
|
321
326
|
|
package/dist/bridge.d.ts
CHANGED
|
@@ -14,7 +14,13 @@ export declare class FiasBridge {
|
|
|
14
14
|
private currentPath;
|
|
15
15
|
private themeListeners;
|
|
16
16
|
private navigationListeners;
|
|
17
|
+
private listening;
|
|
17
18
|
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Register the message listener. Safe to call multiple times —
|
|
21
|
+
* will not add duplicate listeners.
|
|
22
|
+
*/
|
|
23
|
+
attach(): void;
|
|
18
24
|
/**
|
|
19
25
|
* Wait for the host to send the init message.
|
|
20
26
|
*/
|
|
@@ -42,7 +48,8 @@ export declare class FiasBridge {
|
|
|
42
48
|
onThemeUpdate(listener: (theme: FiasTheme) => void): () => void;
|
|
43
49
|
onNavigationUpdate(listener: (path: string) => void): () => void;
|
|
44
50
|
/**
|
|
45
|
-
* Clean up event listeners
|
|
51
|
+
* Clean up event listeners and pending requests.
|
|
52
|
+
* After destroy(), the bridge can be re-activated by calling attach().
|
|
46
53
|
*/
|
|
47
54
|
destroy(): void;
|
|
48
55
|
private handleMessage;
|
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAgBjB;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,mBAAmB,CAAqC;;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAgBjB;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,mBAAmB,CAAqC;IAChE,OAAO,CAAC,SAAS,CAAS;;IAU1B;;;OAGG;IACH,MAAM,IAAI,IAAI;IAOd;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAgB,GAAG,IAAI;IAI5F;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB7E,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,gBAAgB,EAAE;IAIpC,QAAQ,IAAI,SAAS,GAAG,IAAI;IAI5B,cAAc,IAAI,MAAM;IAIxB,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;IAK/D,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAKhE;;;OAGG;IACH,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,aAAa,CAiDnB;IAEF,OAAO,CAAC,IAAI;CAWb;AAOD,wBAAgB,SAAS,IAAI,UAAU,CAKtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC"}
|
package/dist/bridge.js
CHANGED
|
@@ -24,6 +24,7 @@ class FiasBridge {
|
|
|
24
24
|
this.currentPath = '';
|
|
25
25
|
this.themeListeners = new Set();
|
|
26
26
|
this.navigationListeners = new Set();
|
|
27
|
+
this.listening = false;
|
|
27
28
|
this.handleMessage = (event) => {
|
|
28
29
|
const data = event.data;
|
|
29
30
|
if (!data || typeof data !== 'object' || !data.type)
|
|
@@ -74,8 +75,16 @@ class FiasBridge {
|
|
|
74
75
|
this.initPromise = new Promise((resolve) => {
|
|
75
76
|
this.initResolve = resolve;
|
|
76
77
|
});
|
|
77
|
-
|
|
78
|
+
this.attach();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Register the message listener. Safe to call multiple times —
|
|
82
|
+
* will not add duplicate listeners.
|
|
83
|
+
*/
|
|
84
|
+
attach() {
|
|
85
|
+
if (typeof window !== 'undefined' && !this.listening) {
|
|
78
86
|
window.addEventListener('message', this.handleMessage);
|
|
87
|
+
this.listening = true;
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
90
|
/**
|
|
@@ -144,11 +153,13 @@ class FiasBridge {
|
|
|
144
153
|
return () => this.navigationListeners.delete(listener);
|
|
145
154
|
}
|
|
146
155
|
/**
|
|
147
|
-
* Clean up event listeners
|
|
156
|
+
* Clean up event listeners and pending requests.
|
|
157
|
+
* After destroy(), the bridge can be re-activated by calling attach().
|
|
148
158
|
*/
|
|
149
159
|
destroy() {
|
|
150
|
-
if (typeof window !== 'undefined') {
|
|
160
|
+
if (typeof window !== 'undefined' && this.listening) {
|
|
151
161
|
window.removeEventListener('message', this.handleMessage);
|
|
162
|
+
this.listening = false;
|
|
152
163
|
}
|
|
153
164
|
for (const pending of this.pendingRequests.values()) {
|
|
154
165
|
clearTimeout(pending.timer);
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -23,6 +23,7 @@ var FiasBridge = class {
|
|
|
23
23
|
this.currentPath = "";
|
|
24
24
|
this.themeListeners = /* @__PURE__ */ new Set();
|
|
25
25
|
this.navigationListeners = /* @__PURE__ */ new Set();
|
|
26
|
+
this.listening = false;
|
|
26
27
|
this.handleMessage = (event) => {
|
|
27
28
|
const data = event.data;
|
|
28
29
|
if (!data || typeof data !== "object" || !data.type) return;
|
|
@@ -66,8 +67,16 @@ var FiasBridge = class {
|
|
|
66
67
|
this.initPromise = new Promise((resolve) => {
|
|
67
68
|
this.initResolve = resolve;
|
|
68
69
|
});
|
|
69
|
-
|
|
70
|
+
this.attach();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Register the message listener. Safe to call multiple times —
|
|
74
|
+
* will not add duplicate listeners.
|
|
75
|
+
*/
|
|
76
|
+
attach() {
|
|
77
|
+
if (typeof window !== "undefined" && !this.listening) {
|
|
70
78
|
window.addEventListener("message", this.handleMessage);
|
|
79
|
+
this.listening = true;
|
|
71
80
|
}
|
|
72
81
|
}
|
|
73
82
|
/**
|
|
@@ -135,11 +144,13 @@ var FiasBridge = class {
|
|
|
135
144
|
return () => this.navigationListeners.delete(listener);
|
|
136
145
|
}
|
|
137
146
|
/**
|
|
138
|
-
* Clean up event listeners
|
|
147
|
+
* Clean up event listeners and pending requests.
|
|
148
|
+
* After destroy(), the bridge can be re-activated by calling attach().
|
|
139
149
|
*/
|
|
140
150
|
destroy() {
|
|
141
|
-
if (typeof window !== "undefined") {
|
|
151
|
+
if (typeof window !== "undefined" && this.listening) {
|
|
142
152
|
window.removeEventListener("message", this.handleMessage);
|
|
153
|
+
this.listening = false;
|
|
143
154
|
}
|
|
144
155
|
for (const pending of this.pendingRequests.values()) {
|
|
145
156
|
clearTimeout(pending.timer);
|
|
@@ -175,7 +186,7 @@ function resetBridge() {
|
|
|
175
186
|
import { jsx } from "react/jsx-runtime";
|
|
176
187
|
function FiasProvider({ children }) {
|
|
177
188
|
const [ready, setReady] = useState(false);
|
|
178
|
-
const bridge = useMemo(() =>
|
|
189
|
+
const bridge = useMemo(() => getBridge(), []);
|
|
179
190
|
useEffect(() => {
|
|
180
191
|
let mounted = true;
|
|
181
192
|
bridge.waitForInit().then(() => {
|
|
@@ -186,7 +197,6 @@ function FiasProvider({ children }) {
|
|
|
186
197
|
});
|
|
187
198
|
return () => {
|
|
188
199
|
mounted = false;
|
|
189
|
-
bridge.destroy();
|
|
190
200
|
};
|
|
191
201
|
}, [bridge]);
|
|
192
202
|
if (!ready) {
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,kDA8B3D"}
|
package/dist/provider.js
CHANGED
|
@@ -25,7 +25,7 @@ const bridge_1 = require("./bridge");
|
|
|
25
25
|
*/
|
|
26
26
|
function FiasProvider({ children }) {
|
|
27
27
|
const [ready, setReady] = (0, react_1.useState)(false);
|
|
28
|
-
const bridge = (0, react_1.useMemo)(() =>
|
|
28
|
+
const bridge = (0, react_1.useMemo)(() => (0, bridge_1.getBridge)(), []);
|
|
29
29
|
(0, react_1.useEffect)(() => {
|
|
30
30
|
let mounted = true;
|
|
31
31
|
bridge.waitForInit().then(() => {
|
|
@@ -36,7 +36,11 @@ function FiasProvider({ children }) {
|
|
|
36
36
|
});
|
|
37
37
|
return () => {
|
|
38
38
|
mounted = false;
|
|
39
|
-
bridge.destroy()
|
|
39
|
+
// Do NOT call bridge.destroy() here. The bridge singleton must persist
|
|
40
|
+
// for the lifetime of the page. React StrictMode runs effects twice
|
|
41
|
+
// (mount → cleanup → mount), and destroying the bridge on the first
|
|
42
|
+
// cleanup permanently removes the message listener, causing the second
|
|
43
|
+
// mount's waitForInit() to hang forever.
|
|
40
44
|
};
|
|
41
45
|
}, [bridge]);
|
|
42
46
|
if (!ready) {
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";;AA0BA,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";;AA0BA,oCA8BC;;AAxDD,iCAA4D;AAC5D,uCAA8C;AAC9C,qCAAqC;AAMrC;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAqB;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,kBAAS,GAAE,EAAE,EAAE,CAAC,CAAC;IAE9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,KAAK,CAAC;YAChB,uEAAuE;YACvE,oEAAoE;YACpE,oEAAoE;YACpE,uEAAuE;YACvE,yCAAyC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,uBAAC,2BAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YAAG,QAAQ,GAA8B,CAAC;AAC5F,CAAC"}
|