@camstack/addon-import-alexa 0.2.162 → 0.2.163
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/CHANGELOG.md +6 -0
- package/dist/_stub.js +1 -1
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_import_alexa_page-Ck3EMdmv.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_import_alexa_page-CwP9H68T.mjs} +2 -2
- package/dist/addon.js +43 -1
- package/dist/addon.mjs +43 -1
- package/dist/{hostInit-CoSVGWK6.mjs → hostInit-Dy4CxmqQ.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-BA8fy0_J.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-DarhMhK_.mjs} +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.163] - 2026-10-28
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- The Amazon login proxy logs each step it takes (without secrets), and the start log names the region
|
|
15
|
+
|
|
10
16
|
## [0.2.162] - 2026-10-28
|
|
11
17
|
|
|
12
18
|
### Changed
|
package/dist/_stub.js
CHANGED
|
@@ -10,7 +10,7 @@ import "./trash-2-BVrrPiKB.mjs";
|
|
|
10
10
|
import { t as Fe } from "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-B3qxfxBT.mjs";
|
|
11
11
|
import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare__react_mf_2_dom__loadShare__.js-CIPmAyPi.mjs";
|
|
12
12
|
import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-Bct5qZia.mjs";
|
|
13
|
-
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-
|
|
13
|
+
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-DarhMhK_.mjs";
|
|
14
14
|
import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-tXm1x5EZ.mjs";
|
|
15
15
|
import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-BHqOw8oh.mjs";
|
|
16
16
|
import "./_virtual_mf___mfe_internal__addon_import_alexa_page__loadShare___mf_0_camstack_mf_1_sdk__loadShare__.js-BmoaT3cr.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-
|
|
1
|
+
import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-DarhMhK_.mjs";
|
|
2
2
|
//#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_import_alexa_page
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.344",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_import_alexa_page",
|
package/dist/addon.js
CHANGED
|
@@ -132745,6 +132745,40 @@ var ALEXA_API_USER_AGENT_POSTFIX = `AlexaRemote/${{
|
|
|
132745
132745
|
readmeFilename: "readme.md"
|
|
132746
132746
|
}.version}`;
|
|
132747
132747
|
//#endregion
|
|
132748
|
+
//#region src/alexa-proxy-trace.ts
|
|
132749
|
+
/**
|
|
132750
|
+
* Sanitised one-line trace of the alexa-cookie2 proxy's own log lines.
|
|
132751
|
+
*
|
|
132752
|
+
* alexa-cookie2 logs every step it takes (routing, upstream request, redirect),
|
|
132753
|
+
* but its lines also carry headers, cookies and query values. This keeps only
|
|
132754
|
+
* what diagnoses a failed login: the method, the path or upstream host, and the
|
|
132755
|
+
* redirect target — always WITHOUT a query string or fragment. Any line that is
|
|
132756
|
+
* not one of the known step lines yields `null` and is never traced.
|
|
132757
|
+
*/
|
|
132758
|
+
var ROUTER_RE = /^Router: (\S+) \/ ([A-Z]+) \//;
|
|
132759
|
+
var PROXY_REQUEST_RE = /^Alexa-Cookie: Proxy-Request: ([A-Z]+) (\S+)$/;
|
|
132760
|
+
var PROXY_RESPONSE_RE = /^Alexa-Cookie: Proxy Response from Host: (\S+)$/;
|
|
132761
|
+
var REDIRECT_ORIGINAL_RE = /^Redirect: Original Location ----> (\S+)$/;
|
|
132762
|
+
var REDIRECT_FINAL_RE = /^Redirect: Final Location ----> (\S+)$/;
|
|
132763
|
+
/** Cut a URL or path at its query string or fragment. */
|
|
132764
|
+
function stripQuery(target) {
|
|
132765
|
+
const cut = target.search(/[?#]/);
|
|
132766
|
+
return cut === -1 ? target : target.slice(0, cut);
|
|
132767
|
+
}
|
|
132768
|
+
function sanitizeProxyTraceLine(line) {
|
|
132769
|
+
const router = ROUTER_RE.exec(line);
|
|
132770
|
+
if (router !== null) return `router ${router[2]} ${stripQuery(router[1] ?? "")}`;
|
|
132771
|
+
const request = PROXY_REQUEST_RE.exec(line);
|
|
132772
|
+
if (request !== null) return `proxy-request ${request[1]} ${stripQuery(request[2] ?? "")}`;
|
|
132773
|
+
const response = PROXY_RESPONSE_RE.exec(line);
|
|
132774
|
+
if (response !== null) return `proxy-response host=${response[1]}`;
|
|
132775
|
+
const original = REDIRECT_ORIGINAL_RE.exec(line);
|
|
132776
|
+
if (original !== null) return `redirect-original ${stripQuery(original[1] ?? "")}`;
|
|
132777
|
+
const final = REDIRECT_FINAL_RE.exec(line);
|
|
132778
|
+
if (final !== null) return `redirect-final ${stripQuery(final[1] ?? "")}`;
|
|
132779
|
+
return null;
|
|
132780
|
+
}
|
|
132781
|
+
//#endregion
|
|
132748
132782
|
//#region src/alexa-proxy-login.ts
|
|
132749
132783
|
/**
|
|
132750
132784
|
* INTERACTIVE Amazon login via `alexa-remote2`'s built-in proxy auth mode, behind the
|
|
@@ -132855,6 +132889,11 @@ var AlexaProxyLoginSession = class {
|
|
|
132855
132889
|
apiUserAgentPostfix: ALEXA_API_USER_AGENT_POSTFIX,
|
|
132856
132890
|
logger: (...args) => {
|
|
132857
132891
|
const line = args.map(String).join(" ");
|
|
132892
|
+
const trace = sanitizeProxyTraceLine(line);
|
|
132893
|
+
if (trace !== null) {
|
|
132894
|
+
this.#logger.info(`alexa proxy-login: ${trace}`, { meta: { sessionId: this.#opts.sessionId } });
|
|
132895
|
+
return;
|
|
132896
|
+
}
|
|
132858
132897
|
if (SECRET_LINE_RE.test(line)) return;
|
|
132859
132898
|
this.#logger.debug("alexa proxy-login", { meta: {
|
|
132860
132899
|
sessionId: this.#opts.sessionId,
|
|
@@ -132916,7 +132955,10 @@ var AlexaProxyLoginSession = class {
|
|
|
132916
132955
|
if (isProxyReadyError(err)) {
|
|
132917
132956
|
if (this.#phase === "starting") {
|
|
132918
132957
|
this.#phase = "awaiting-login";
|
|
132919
|
-
this.#logger.info("alexa proxy-login: proxy ready — awaiting Amazon login", { meta: {
|
|
132958
|
+
this.#logger.info("alexa proxy-login: proxy ready — awaiting Amazon login", { meta: {
|
|
132959
|
+
sessionId: this.#opts.sessionId,
|
|
132960
|
+
amazonDomain: this.#opts.amazonDomain
|
|
132961
|
+
} });
|
|
132920
132962
|
}
|
|
132921
132963
|
return;
|
|
132922
132964
|
}
|
package/dist/addon.mjs
CHANGED
|
@@ -132744,6 +132744,40 @@ var ALEXA_API_USER_AGENT_POSTFIX = `AlexaRemote/${{
|
|
|
132744
132744
|
readmeFilename: "readme.md"
|
|
132745
132745
|
}.version}`;
|
|
132746
132746
|
//#endregion
|
|
132747
|
+
//#region src/alexa-proxy-trace.ts
|
|
132748
|
+
/**
|
|
132749
|
+
* Sanitised one-line trace of the alexa-cookie2 proxy's own log lines.
|
|
132750
|
+
*
|
|
132751
|
+
* alexa-cookie2 logs every step it takes (routing, upstream request, redirect),
|
|
132752
|
+
* but its lines also carry headers, cookies and query values. This keeps only
|
|
132753
|
+
* what diagnoses a failed login: the method, the path or upstream host, and the
|
|
132754
|
+
* redirect target — always WITHOUT a query string or fragment. Any line that is
|
|
132755
|
+
* not one of the known step lines yields `null` and is never traced.
|
|
132756
|
+
*/
|
|
132757
|
+
var ROUTER_RE = /^Router: (\S+) \/ ([A-Z]+) \//;
|
|
132758
|
+
var PROXY_REQUEST_RE = /^Alexa-Cookie: Proxy-Request: ([A-Z]+) (\S+)$/;
|
|
132759
|
+
var PROXY_RESPONSE_RE = /^Alexa-Cookie: Proxy Response from Host: (\S+)$/;
|
|
132760
|
+
var REDIRECT_ORIGINAL_RE = /^Redirect: Original Location ----> (\S+)$/;
|
|
132761
|
+
var REDIRECT_FINAL_RE = /^Redirect: Final Location ----> (\S+)$/;
|
|
132762
|
+
/** Cut a URL or path at its query string or fragment. */
|
|
132763
|
+
function stripQuery(target) {
|
|
132764
|
+
const cut = target.search(/[?#]/);
|
|
132765
|
+
return cut === -1 ? target : target.slice(0, cut);
|
|
132766
|
+
}
|
|
132767
|
+
function sanitizeProxyTraceLine(line) {
|
|
132768
|
+
const router = ROUTER_RE.exec(line);
|
|
132769
|
+
if (router !== null) return `router ${router[2]} ${stripQuery(router[1] ?? "")}`;
|
|
132770
|
+
const request = PROXY_REQUEST_RE.exec(line);
|
|
132771
|
+
if (request !== null) return `proxy-request ${request[1]} ${stripQuery(request[2] ?? "")}`;
|
|
132772
|
+
const response = PROXY_RESPONSE_RE.exec(line);
|
|
132773
|
+
if (response !== null) return `proxy-response host=${response[1]}`;
|
|
132774
|
+
const original = REDIRECT_ORIGINAL_RE.exec(line);
|
|
132775
|
+
if (original !== null) return `redirect-original ${stripQuery(original[1] ?? "")}`;
|
|
132776
|
+
const final = REDIRECT_FINAL_RE.exec(line);
|
|
132777
|
+
if (final !== null) return `redirect-final ${stripQuery(final[1] ?? "")}`;
|
|
132778
|
+
return null;
|
|
132779
|
+
}
|
|
132780
|
+
//#endregion
|
|
132747
132781
|
//#region src/alexa-proxy-login.ts
|
|
132748
132782
|
/**
|
|
132749
132783
|
* INTERACTIVE Amazon login via `alexa-remote2`'s built-in proxy auth mode, behind the
|
|
@@ -132854,6 +132888,11 @@ var AlexaProxyLoginSession = class {
|
|
|
132854
132888
|
apiUserAgentPostfix: ALEXA_API_USER_AGENT_POSTFIX,
|
|
132855
132889
|
logger: (...args) => {
|
|
132856
132890
|
const line = args.map(String).join(" ");
|
|
132891
|
+
const trace = sanitizeProxyTraceLine(line);
|
|
132892
|
+
if (trace !== null) {
|
|
132893
|
+
this.#logger.info(`alexa proxy-login: ${trace}`, { meta: { sessionId: this.#opts.sessionId } });
|
|
132894
|
+
return;
|
|
132895
|
+
}
|
|
132857
132896
|
if (SECRET_LINE_RE.test(line)) return;
|
|
132858
132897
|
this.#logger.debug("alexa proxy-login", { meta: {
|
|
132859
132898
|
sessionId: this.#opts.sessionId,
|
|
@@ -132915,7 +132954,10 @@ var AlexaProxyLoginSession = class {
|
|
|
132915
132954
|
if (isProxyReadyError(err)) {
|
|
132916
132955
|
if (this.#phase === "starting") {
|
|
132917
132956
|
this.#phase = "awaiting-login";
|
|
132918
|
-
this.#logger.info("alexa proxy-login: proxy ready — awaiting Amazon login", { meta: {
|
|
132957
|
+
this.#logger.info("alexa proxy-login: proxy ready — awaiting Amazon login", { meta: {
|
|
132958
|
+
sessionId: this.#opts.sessionId,
|
|
132959
|
+
amazonDomain: this.#opts.amazonDomain
|
|
132960
|
+
} });
|
|
132919
132961
|
}
|
|
132920
132962
|
return;
|
|
132921
132963
|
}
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_import_alexa_page__remoteEntry_js-DarhMhK_.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_import_alexa_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_import_alexa_page-CwP9H68T.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-import-alexa",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.163",
|
|
4
4
|
"description": "Alexa device-import provider for CamStack — imports the smart-home devices in a user's Alexa account via the unofficial alexa-remote2 cookie/token client (the inverse of the Alexa exporter)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|