@hs-x/cli 0.4.12 → 0.4.14
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 +21 -7
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +3 -0
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/deploy.d.ts +10 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +37 -13
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +346 -32
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +22 -6
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/project-lifecycle.d.ts +10 -0
- package/dist/commands/project-lifecycle.d.ts.map +1 -1
- package/dist/commands/project-lifecycle.js +120 -33
- package/dist/commands/project-lifecycle.js.map +1 -1
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +2 -0
- package/dist/commands/project.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/dev/account-selection.d.ts +55 -0
- package/dist/dev/account-selection.d.ts.map +1 -1
- package/dist/dev/account-selection.js +120 -0
- package/dist/dev/account-selection.js.map +1 -1
- package/dist/dev/browser-log-bridge.d.ts +13 -8
- package/dist/dev/browser-log-bridge.d.ts.map +1 -1
- package/dist/dev/browser-log-bridge.js +37 -17
- package/dist/dev/browser-log-bridge.js.map +1 -1
- package/dist/dev/clipboard.d.ts +9 -0
- package/dist/dev/clipboard.d.ts.map +1 -0
- package/dist/dev/clipboard.js +42 -0
- package/dist/dev/clipboard.js.map +1 -0
- package/dist/dev/compat-shim.d.ts +19 -4
- package/dist/dev/compat-shim.d.ts.map +1 -1
- package/dist/dev/compat-shim.js +31 -4
- package/dist/dev/compat-shim.js.map +1 -1
- package/dist/dev/component-selection.d.ts +12 -0
- package/dist/dev/component-selection.d.ts.map +1 -1
- package/dist/dev/component-selection.js +29 -0
- package/dist/dev/component-selection.js.map +1 -1
- package/dist/dev/frontend-log-relay.d.ts +12 -0
- package/dist/dev/frontend-log-relay.d.ts.map +1 -1
- package/dist/dev/frontend-log-relay.js +31 -20
- package/dist/dev/frontend-log-relay.js.map +1 -1
- package/dist/dev/hubspot-log-lane.d.ts +27 -0
- package/dist/dev/hubspot-log-lane.d.ts.map +1 -0
- package/dist/dev/hubspot-log-lane.js +73 -0
- package/dist/dev/hubspot-log-lane.js.map +1 -0
- package/dist/dev/hubspot-logs-poller.d.ts +7 -1
- package/dist/dev/hubspot-logs-poller.d.ts.map +1 -1
- package/dist/dev/hubspot-logs-poller.js +28 -1
- package/dist/dev/hubspot-logs-poller.js.map +1 -1
- package/dist/dev/keyboard.d.ts +21 -3
- package/dist/dev/keyboard.d.ts.map +1 -1
- package/dist/dev/keyboard.js +106 -6
- package/dist/dev/keyboard.js.map +1 -1
- package/dist/dev/local-proxy.d.ts +90 -0
- package/dist/dev/local-proxy.d.ts.map +1 -0
- package/dist/dev/local-proxy.js +186 -0
- package/dist/dev/local-proxy.js.map +1 -0
- package/dist/dev/log-server.d.ts +9 -0
- package/dist/dev/log-server.d.ts.map +1 -1
- package/dist/dev/log-server.js +46 -3
- package/dist/dev/log-server.js.map +1 -1
- package/dist/dev/production-app-check.d.ts +23 -0
- package/dist/dev/production-app-check.d.ts.map +1 -0
- package/dist/dev/production-app-check.js +28 -0
- package/dist/dev/production-app-check.js.map +1 -0
- package/dist/dev/session-manager.d.ts +51 -1
- package/dist/dev/session-manager.d.ts.map +1 -1
- package/dist/dev/session-manager.js +155 -12
- package/dist/dev/session-manager.js.map +1 -1
- package/dist/dev/startup-progress.d.ts +7 -0
- package/dist/dev/startup-progress.d.ts.map +1 -0
- package/dist/dev/startup-progress.js +27 -0
- package/dist/dev/startup-progress.js.map +1 -0
- package/dist/dev/stream-event-format.d.ts +10 -1
- package/dist/dev/stream-event-format.d.ts.map +1 -1
- package/dist/dev/stream-event-format.js +157 -5
- package/dist/dev/stream-event-format.js.map +1 -1
- package/dist/dev/stream-renderer.d.ts +34 -1
- package/dist/dev/stream-renderer.d.ts.map +1 -1
- package/dist/dev/stream-renderer.js +371 -60
- package/dist/dev/stream-renderer.js.map +1 -1
- package/dist/dev/trace-markdown.d.ts +25 -0
- package/dist/dev/trace-markdown.d.ts.map +1 -0
- package/dist/dev/trace-markdown.js +159 -0
- package/dist/dev/trace-markdown.js.map +1 -0
- package/dist/hubspot-app-logs.d.ts +9 -0
- package/dist/hubspot-app-logs.d.ts.map +1 -1
- package/dist/hubspot-app-logs.js +6 -4
- package/dist/hubspot-app-logs.js.map +1 -1
- package/dist/hubspot-developer-client.js +3 -0
- package/dist/hubspot-developer-client.js.map +1 -1
- package/dist/hubspot-project.d.ts +2 -0
- package/dist/hubspot-project.d.ts.map +1 -1
- package/dist/hubspot-project.js +13 -1
- package/dist/hubspot-project.js.map +1 -1
- package/dist/prompt.d.ts +15 -0
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +66 -15
- package/dist/prompt.js.map +1 -1
- package/dist/reporter/human.d.ts.map +1 -1
- package/dist/reporter/human.js +6 -1
- package/dist/reporter/human.js.map +1 -1
- package/dist/reporter/style.d.ts +10 -0
- package/dist/reporter/style.d.ts.map +1 -1
- package/dist/reporter/style.js +39 -0
- package/dist/reporter/style.js.map +1 -1
- package/dist/services/hubspot-dev-client.js +3 -0
- package/dist/services/hubspot-dev-client.js.map +1 -1
- package/package.json +9 -8
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { connect } from 'node:net';
|
|
4
|
+
import { join, resolve } from 'node:path';
|
|
5
|
+
export const HUBSPOT_LOCAL_CONFIG_FILENAME = 'local.json';
|
|
6
|
+
const PROBE_TIMEOUT_MS = 1_000;
|
|
7
|
+
export async function readHubSpotLocalProxyMappings(appRoot) {
|
|
8
|
+
let raw;
|
|
9
|
+
try {
|
|
10
|
+
raw = await readFile(join(appRoot, HUBSPOT_LOCAL_CONFIG_FILENAME), 'utf8');
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
let parsed;
|
|
16
|
+
try {
|
|
17
|
+
parsed = JSON.parse(raw);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// The dev server logs its own parse error and ignores the file.
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const proxy = typeof parsed === 'object' && parsed !== null
|
|
24
|
+
? parsed.proxy
|
|
25
|
+
: undefined;
|
|
26
|
+
if (typeof proxy !== 'object' || proxy === null)
|
|
27
|
+
return [];
|
|
28
|
+
return Object.entries(proxy).flatMap(([from, to]) => typeof to === 'string' && to.length > 0 ? [{ from, to }] : []);
|
|
29
|
+
}
|
|
30
|
+
export async function probeHubSpotLocalProxyMappings(mappings, probe = isTcpTargetListening) {
|
|
31
|
+
return Promise.all(mappings.map(async (mapping) => ({ ...mapping, reachable: await probe(mapping.to) })));
|
|
32
|
+
}
|
|
33
|
+
/** True when something accepts a TCP connection at the target URL's host:port. */
|
|
34
|
+
export function isTcpTargetListening(target) {
|
|
35
|
+
let url;
|
|
36
|
+
try {
|
|
37
|
+
url = new URL(target);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return Promise.resolve(false);
|
|
41
|
+
}
|
|
42
|
+
const port = Number(url.port || (url.protocol === 'https:' ? 443 : 80));
|
|
43
|
+
const host = url.hostname.replace(/^\[|\]$/g, '');
|
|
44
|
+
return new Promise((resolve) => {
|
|
45
|
+
const socket = connect({ host, port });
|
|
46
|
+
const finish = (result) => {
|
|
47
|
+
socket.removeAllListeners();
|
|
48
|
+
socket.destroy();
|
|
49
|
+
resolve(result);
|
|
50
|
+
};
|
|
51
|
+
socket.setTimeout(PROBE_TIMEOUT_MS, () => finish(false));
|
|
52
|
+
socket.once('connect', () => finish(true));
|
|
53
|
+
socket.once('error', () => finish(false));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export const HUBSPOT_LOCAL_PROXY_MODES = ['auto', 'always', 'never'];
|
|
57
|
+
export const DEFAULT_HUBSPOT_LOCAL_PROXY_MODE = 'auto';
|
|
58
|
+
export function resolveHubSpotLocalProxyMode(raw) {
|
|
59
|
+
const value = raw?.trim().toLowerCase();
|
|
60
|
+
return value === 'always' || value === 'never' ? value : DEFAULT_HUBSPOT_LOCAL_PROXY_MODE;
|
|
61
|
+
}
|
|
62
|
+
/** Whether HubSpot's dev server should enter local proxy mode for this run. */
|
|
63
|
+
export function hubSpotLocalProxyApplies(mode, probes) {
|
|
64
|
+
if (probes.length === 0)
|
|
65
|
+
return false;
|
|
66
|
+
if (mode === 'always')
|
|
67
|
+
return true;
|
|
68
|
+
if (mode === 'never')
|
|
69
|
+
return false;
|
|
70
|
+
return probes.some((probe) => probe.reachable);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The origin the card's log bridge posts to through `hubspot.fetch`. It only
|
|
74
|
+
* has to be a syntactically valid origin: in proxy mode the dev server rewrites
|
|
75
|
+
* it to hs-x's local sidecar before any network is involved, and the card
|
|
76
|
+
* iframe never resolves it.
|
|
77
|
+
*/
|
|
78
|
+
export const HSX_LOCAL_PROXY_ORIGIN = 'https://hsx-dev.local';
|
|
79
|
+
export const HSX_LOCAL_PROXY_RELAY_PATH = '/__hsx/relay';
|
|
80
|
+
/**
|
|
81
|
+
* Decide the proxy map for one start. Proxy mode is all-or-nothing for the
|
|
82
|
+
* app's fetches, so it is entered only where `hs project dev` would enter it
|
|
83
|
+
* (all mappings live) or on explicit `always`; the hs-x relay mapping rides
|
|
84
|
+
* along whenever proxy mode is on and a sidecar URL is given.
|
|
85
|
+
*/
|
|
86
|
+
export function planHubSpotLocalProxy(input) {
|
|
87
|
+
const blocker = input.mode === 'never'
|
|
88
|
+
? 'never'
|
|
89
|
+
: input.mode === 'always'
|
|
90
|
+
? undefined
|
|
91
|
+
: input.probes.length === 0
|
|
92
|
+
? 'no-mappings'
|
|
93
|
+
: input.probes.some((probe) => !probe.reachable)
|
|
94
|
+
? 'dead-target'
|
|
95
|
+
: undefined;
|
|
96
|
+
const on = blocker === undefined;
|
|
97
|
+
const mappings = input.probes.map((probe) => ({ ...probe, applied: on }));
|
|
98
|
+
const relay = on && Boolean(input.relayTarget);
|
|
99
|
+
const proxy = {};
|
|
100
|
+
if (on) {
|
|
101
|
+
for (const mapping of mappings)
|
|
102
|
+
proxy[mapping.from] = mapping.to;
|
|
103
|
+
if (relay && input.relayTarget)
|
|
104
|
+
proxy[HSX_LOCAL_PROXY_ORIGIN] = input.relayTarget;
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
proxy: Object.keys(proxy).length > 0 ? proxy : undefined,
|
|
108
|
+
mappings,
|
|
109
|
+
relay,
|
|
110
|
+
...(blocker ? { blocker } : {}),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
// The dev server reads `<app root>/local.json` through the default `fs`
|
|
114
|
+
// export during `start()`. Serialize callers so overlapping starts cannot
|
|
115
|
+
// restore each other's wrapper out of order.
|
|
116
|
+
let hideTail = Promise.resolve();
|
|
117
|
+
/**
|
|
118
|
+
* Run one upstream dev-server start with `<appRoot>/local.json` presented as
|
|
119
|
+
* `{ proxy }` — the user's file (if any) is never touched. HubSpot's
|
|
120
|
+
* `loadLocalConfig` probes `fs.existsSync` and then `fs.readFileSync`, both
|
|
121
|
+
* through the default `fs` export, so both are answered for that one path.
|
|
122
|
+
*/
|
|
123
|
+
export async function withHubSpotLocalProxyMappings(appRoot, proxy, operation) {
|
|
124
|
+
let release;
|
|
125
|
+
const prior = hideTail;
|
|
126
|
+
hideTail = new Promise((done) => {
|
|
127
|
+
release = done;
|
|
128
|
+
});
|
|
129
|
+
await prior;
|
|
130
|
+
const target = resolve(appRoot, HUBSPOT_LOCAL_CONFIG_FILENAME);
|
|
131
|
+
const matches = (candidate) => typeof candidate === 'string' && resolve(candidate) === target;
|
|
132
|
+
const originalExistsSync = fs.existsSync;
|
|
133
|
+
const originalReadFileSync = fs.readFileSync;
|
|
134
|
+
const content = Buffer.from(JSON.stringify({ proxy }), 'utf8');
|
|
135
|
+
const existsSyncWithProxy = (candidate) => matches(candidate) ? true : originalExistsSync.call(fs, candidate);
|
|
136
|
+
const readFileSyncWithProxy = ((candidate, options) => matches(candidate)
|
|
137
|
+
? typeof options === 'string' ||
|
|
138
|
+
(typeof options === 'object' &&
|
|
139
|
+
options !== null &&
|
|
140
|
+
'encoding' in options &&
|
|
141
|
+
options.encoding)
|
|
142
|
+
? content.toString('utf8')
|
|
143
|
+
: content
|
|
144
|
+
: originalReadFileSync.call(fs, candidate, options));
|
|
145
|
+
fs.existsSync = existsSyncWithProxy;
|
|
146
|
+
fs.readFileSync = readFileSyncWithProxy;
|
|
147
|
+
try {
|
|
148
|
+
return await operation();
|
|
149
|
+
}
|
|
150
|
+
finally {
|
|
151
|
+
if (fs.existsSync === existsSyncWithProxy)
|
|
152
|
+
fs.existsSync = originalExistsSync;
|
|
153
|
+
if (fs.readFileSync === readFileSyncWithProxy)
|
|
154
|
+
fs.readFileSync = originalReadFileSync;
|
|
155
|
+
release();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Run one upstream dev-server start with `<appRoot>/local.json` hidden from
|
|
160
|
+
* `fs.existsSync`, which is the only probe HubSpot's `loadLocalConfig` makes
|
|
161
|
+
* before reading the file. Nothing on disk changes, and the original method
|
|
162
|
+
* is restored as soon as the operation settles.
|
|
163
|
+
*/
|
|
164
|
+
export async function withHubSpotLocalProxyHidden(appRoot, operation) {
|
|
165
|
+
let release;
|
|
166
|
+
const prior = hideTail;
|
|
167
|
+
hideTail = new Promise((done) => {
|
|
168
|
+
release = done;
|
|
169
|
+
});
|
|
170
|
+
await prior;
|
|
171
|
+
const hidden = resolve(appRoot, HUBSPOT_LOCAL_CONFIG_FILENAME);
|
|
172
|
+
const originalExistsSync = fs.existsSync;
|
|
173
|
+
const existsSyncWithoutLocalConfig = (target) => typeof target === 'string' && resolve(target) === hidden
|
|
174
|
+
? false
|
|
175
|
+
: originalExistsSync.call(fs, target);
|
|
176
|
+
fs.existsSync = existsSyncWithoutLocalConfig;
|
|
177
|
+
try {
|
|
178
|
+
return await operation();
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
if (fs.existsSync === existsSyncWithoutLocalConfig)
|
|
182
|
+
fs.existsSync = originalExistsSync;
|
|
183
|
+
release();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=local-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-proxy.js","sourceRoot":"","sources":["../../src/dev/local-proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/dev/log-server.d.ts
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Routes:
|
|
9
9
|
* POST /__hsx/log — single log or batched array. CORS open for localhost callers.
|
|
10
|
+
* POST /__hsx/relay — card log/state payloads arriving through HubSpot's local
|
|
11
|
+
* proxy mode (the dev server posts from this machine).
|
|
10
12
|
* GET /__hsx/health
|
|
11
13
|
*/
|
|
12
14
|
import type { DevEventBus } from './event-bus.js';
|
|
@@ -28,6 +30,13 @@ export interface DevLogServerOptions {
|
|
|
28
30
|
* guessed tunnel URL cannot inject frontend/backend/request rows.
|
|
29
31
|
*/
|
|
30
32
|
readonly authToken?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Handler slot for `/__hsx/relay`. The dev session installs its relay after
|
|
35
|
+
* the server is up, so the slot is read per request rather than at start.
|
|
36
|
+
*/
|
|
37
|
+
readonly relay?: {
|
|
38
|
+
current?: ((payload: unknown) => unknown) | undefined;
|
|
39
|
+
};
|
|
31
40
|
}
|
|
32
41
|
interface IncomingLog {
|
|
33
42
|
readonly level?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-server.d.ts","sourceRoot":"","sources":["../../src/dev/log-server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log-server.d.ts","sourceRoot":"","sources":["../../src/dev/log-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,gBAAgB,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;KAAE,CAAC;CAC5E;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CAC5C;AAKD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CA8BxF"}
|
package/dist/dev/log-server.js
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Routes:
|
|
9
9
|
* POST /__hsx/log — single log or batched array. CORS open for localhost callers.
|
|
10
|
+
* POST /__hsx/relay — card log/state payloads arriving through HubSpot's local
|
|
11
|
+
* proxy mode (the dev server posts from this machine).
|
|
10
12
|
* GET /__hsx/health
|
|
11
13
|
*/
|
|
12
14
|
import { timingSafeEqual } from 'node:crypto';
|
|
@@ -14,9 +16,9 @@ import { createServer } from 'node:http';
|
|
|
14
16
|
const DEFAULT_MAX_BODY_BYTES = 256 * 1024;
|
|
15
17
|
const ALLOWED_LEVELS = new Set(['debug', 'info', 'warn', 'error']);
|
|
16
18
|
export async function startDevLogServer(opts) {
|
|
17
|
-
const { bus, host = '127.0.0.1', port = 0, maxBodyBytes = DEFAULT_MAX_BODY_BYTES, authToken, } = opts;
|
|
19
|
+
const { bus, host = '127.0.0.1', port = 0, maxBodyBytes = DEFAULT_MAX_BODY_BYTES, authToken, relay, } = opts;
|
|
18
20
|
const server = createServer((req, res) => {
|
|
19
|
-
handle(req, res, { bus, maxBodyBytes, authToken });
|
|
21
|
+
handle(req, res, { bus, maxBodyBytes, authToken, relay });
|
|
20
22
|
});
|
|
21
23
|
await new Promise((resolve, reject) => {
|
|
22
24
|
server.once('error', reject);
|
|
@@ -69,6 +71,39 @@ function handle(req, res, ctx) {
|
|
|
69
71
|
});
|
|
70
72
|
return;
|
|
71
73
|
}
|
|
74
|
+
if (req.method === 'POST' && url.pathname === '/__hsx/relay') {
|
|
75
|
+
// Only HubSpot's dev server in this machine's proxy mode posts here, so
|
|
76
|
+
// loopback is the whole audience; never accept it from a tunnel.
|
|
77
|
+
if (!isLoopbackHost(singleHeader(req.headers.host))) {
|
|
78
|
+
res.writeHead(403, { 'Content-Type': 'application/json' });
|
|
79
|
+
res.end('{"error":"loopback only"}');
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
void readJsonBody(req, ctx.maxBodyBytes).then(async (result) => {
|
|
83
|
+
if (result.kind === 'error') {
|
|
84
|
+
const status = result.reason === 'BODY_TOO_LARGE' ? 413 : 400;
|
|
85
|
+
res.writeHead(status, { 'Content-Type': 'application/json' });
|
|
86
|
+
res.end(JSON.stringify({ error: result.reason }));
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const handler = ctx.relay?.current;
|
|
90
|
+
if (!handler) {
|
|
91
|
+
res.writeHead(503, { 'Content-Type': 'application/json' });
|
|
92
|
+
res.end('{"ok":false,"error":"relay not ready"}');
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
let reply;
|
|
96
|
+
try {
|
|
97
|
+
reply = await handler(result.body);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
reply = { ok: false };
|
|
101
|
+
}
|
|
102
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
103
|
+
res.end(JSON.stringify(reply && typeof reply === 'object' ? reply : { ok: true }));
|
|
104
|
+
});
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
72
107
|
if (req.method === 'POST' && url.pathname === '/__hsx/event') {
|
|
73
108
|
if (!isAuthorizedDevTelemetry(req, url, ctx.authToken)) {
|
|
74
109
|
res.writeHead(401, { 'Content-Type': 'application/json' });
|
|
@@ -200,7 +235,15 @@ function ingestEnvelope(bus, envelope) {
|
|
|
200
235
|
ts: Date.now(),
|
|
201
236
|
msg: summary,
|
|
202
237
|
...(req.capabilityId ? { source: req.capabilityId } : {}),
|
|
203
|
-
|
|
238
|
+
fields: {
|
|
239
|
+
method,
|
|
240
|
+
path,
|
|
241
|
+
status,
|
|
242
|
+
...(typeof req.durationMs === 'number' ? { durationMs: req.durationMs } : {}),
|
|
243
|
+
...(req.capabilityId ? { capabilityId: req.capabilityId } : {}),
|
|
244
|
+
...(req.portalId ? { portalId: req.portalId } : {}),
|
|
245
|
+
...(traceId ? { traceId } : {}),
|
|
246
|
+
},
|
|
204
247
|
});
|
|
205
248
|
}
|
|
206
249
|
if (envelope.logs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-server.js","sourceRoot":"","sources":["../../src/dev/log-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAA0D,YAAY,EAAE,MAAM,WAAW,CAAC;AAmDjG,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAyB;IAC/D,MAAM,EACJ,GAAG,EACH,IAAI,GAAG,WAAW,EAClB,IAAI,GAAG,CAAC,EACR,YAAY,GAAG,sBAAsB,EACrC,SAAS,GACV,GAAG,IAAI,CAAC;IAET,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,UAAU,IAAI,IAAI,SAAS,EAAE;QAClC,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CACb,GAAoB,EACpB,GAAmB,EACnB,GAA8E;IAE9E,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;QAC7D,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9D,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QAC7D,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9D,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAgC,CAAC;YACzD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7C,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IACrB,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,SAAS,CAAC,GAAoB,EAAE,GAAmB;IAC1D,yEAAyE;IACzE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACzC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IACrD,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,8CAA8C,CAAC,CAAC;IAC9F,IAAI,GAAG,CAAC,OAAO,CAAC,wCAAwC,CAAC,KAAK,MAAM,EAAE,CAAC;QACrE,GAAG,CAAC,SAAS,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAoB;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAoB,EACpB,GAAQ,EACR,QAA4B;IAE5B,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,SAAS,GACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QACtC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAoB,EAAE,GAAQ,EAAE,QAA4B;IACtF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,OAAO,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,KAA6C;IACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,KAAa;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,cAAc,CAAC,UAA8B;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3D,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,CAAC;AAC5F,CAAC;AAMD,KAAK,UAAU,YAAY,CAAC,GAAoB,EAAE,QAAgB;IAChE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAe,CAAC;QAC5B,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC;QACvB,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;YACxB,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAqB,CAAC;IACtD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAmB,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB,EAAE,QAA2B;IACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC7B,MAAM,OAAO,GACX,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzH,MAAM,KAAK,GAAa,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,SAAS;YACf,KAAK;YACL,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,GAAG,EAAE,OAAO;YACZ,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,KAAK,GAAsC;gBAC/C,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAiB,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,KAAkB,CAAC,CAAC,CAAC,MAAM;gBACnF,EAAE,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC/C,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM;oBACvB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxE,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YACF,IAAI,KAAK,CAAC,GAAG;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAgB,EAAE,GAAgB;IACnD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAiB,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,KAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3F,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,KAAK,GAAsC;QAC/C,IAAI,EAAE,UAAU;QAChB,KAAK;QACL,EAAE,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACpD,GAAG;QACH,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"log-server.js","sourceRoot":"","sources":["../../src/dev/log-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hs project dev` refuses to start on a marketplace app that real portals
|
|
3
|
+
* have installed without an explicit go-ahead, because local development can
|
|
4
|
+
* sync configuration changes that reach those installs. hs-x owns the dev
|
|
5
|
+
* loop, so it asks the same question with the same numbers.
|
|
6
|
+
*/
|
|
7
|
+
import type { HubSpotDeveloperClient } from '@hs-x/hubspot-cli';
|
|
8
|
+
export type HubSpotProductionInstallCheck = {
|
|
9
|
+
readonly ok: true;
|
|
10
|
+
readonly appId: number;
|
|
11
|
+
readonly installCount: number;
|
|
12
|
+
} | {
|
|
13
|
+
readonly ok: false;
|
|
14
|
+
readonly reason: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function checkHubSpotProductionInstalls(input: {
|
|
17
|
+
readonly client: HubSpotDeveloperClient;
|
|
18
|
+
readonly projectName: string;
|
|
19
|
+
readonly appUid: string;
|
|
20
|
+
}): Promise<HubSpotProductionInstallCheck>;
|
|
21
|
+
export declare function describeHubSpotProductionInstallWarning(appName: string, installCount: number): string;
|
|
22
|
+
export declare const HUBSPOT_PRODUCTION_APP_CONFIRMATION = "Proceed with local development of this production app?";
|
|
23
|
+
//# sourceMappingURL=production-app-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-app-check.d.ts","sourceRoot":"","sources":["../../src/dev/production-app-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,MAAM,6BAA6B,GACrC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAczC;AAED,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,CAGR;AAED,eAAO,MAAM,mCAAmC,2DACU,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hs project dev` refuses to start on a marketplace app that real portals
|
|
3
|
+
* have installed without an explicit go-ahead, because local development can
|
|
4
|
+
* sync configuration changes that reach those installs. hs-x owns the dev
|
|
5
|
+
* loop, so it asks the same question with the same numbers.
|
|
6
|
+
*/
|
|
7
|
+
export async function checkHubSpotProductionInstalls(input) {
|
|
8
|
+
try {
|
|
9
|
+
const appId = await input.client.projects.resolveAppId({
|
|
10
|
+
projectName: input.projectName,
|
|
11
|
+
appUid: input.appUid,
|
|
12
|
+
});
|
|
13
|
+
const installCount = await input.client.projects.productionInstallCount({ appId });
|
|
14
|
+
if (installCount === undefined) {
|
|
15
|
+
return { ok: false, reason: 'HubSpot did not report an install count for this app.' };
|
|
16
|
+
}
|
|
17
|
+
return { ok: true, appId, installCount };
|
|
18
|
+
}
|
|
19
|
+
catch (cause) {
|
|
20
|
+
return { ok: false, reason: cause instanceof Error ? cause.message : String(cause) };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function describeHubSpotProductionInstallWarning(appName, installCount) {
|
|
24
|
+
const accounts = installCount === 1 ? 'production account' : 'production accounts';
|
|
25
|
+
return `${appName} is installed in ${installCount} ${accounts}. Some changes made during local development may need to be synced to HubSpot, which will impact those existing installs. HubSpot strongly recommends developing against a copy of this app instead.`;
|
|
26
|
+
}
|
|
27
|
+
export const HUBSPOT_PRODUCTION_APP_CONFIRMATION = 'Proceed with local development of this production app?';
|
|
28
|
+
//# sourceMappingURL=production-app-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-app-check.js","sourceRoot":"","sources":["../../src/dev/production-app-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAIpD;IACC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YACrD,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uDAAuD,EAAE,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,OAAe,EACf,YAAoB;IAEpB,MAAM,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACnF,OAAO,GAAG,OAAO,oBAAoB,YAAY,IAAI,QAAQ,sMAAsM,CAAC;AACtQ,CAAC;AAED,MAAM,CAAC,MAAM,mCAAmC,GAC9C,wDAAwD,CAAC"}
|
|
@@ -10,8 +10,11 @@
|
|
|
10
10
|
* See docs/phase-1.5/spike-ui-extension-dev-session.md.
|
|
11
11
|
*/
|
|
12
12
|
import { type CapturedConsoleEntry } from './console-capture.js';
|
|
13
|
-
import { type FrontendLogEntry } from './frontend-log-relay.js';
|
|
13
|
+
import { type FrontendLogEntry, type FrontendLogRelayTransport } from './frontend-log-relay.js';
|
|
14
|
+
import { type HubSpotLocalProxyMode, type HubSpotLocalProxyProbe } from './local-proxy.js';
|
|
14
15
|
export interface DevSessionStart {
|
|
16
|
+
/** Human-readable startup phases; never includes credentials or source contents. */
|
|
17
|
+
readonly onStartupProgress?: (label: string) => void;
|
|
15
18
|
/** Backward-compatible shorthand when project and testing accounts are the same. */
|
|
16
19
|
readonly accountId?: number;
|
|
17
20
|
readonly projectAccountId?: number;
|
|
@@ -26,6 +29,16 @@ export interface DevSessionStart {
|
|
|
26
29
|
readonly preserveState?: boolean;
|
|
27
30
|
/** Receives stdout/stderr-style logs from locally executed HubSpot app functions. */
|
|
28
31
|
readonly onBackendLog?: (entry: CapturedConsoleEntry) => void;
|
|
32
|
+
/** How to treat `<app root>/local.json` proxy mappings (`--local-proxy`, default auto). */
|
|
33
|
+
readonly localProxyMode?: HubSpotLocalProxyMode;
|
|
34
|
+
/**
|
|
35
|
+
* hs-x sidecar base URL (the log server). When HubSpot cannot run app
|
|
36
|
+
* functions locally, the card's logs travel `hubspot.fetch` → HubSpot's local
|
|
37
|
+
* proxy → this URL instead, so it doubles as the relay target.
|
|
38
|
+
*/
|
|
39
|
+
readonly relayUrl?: string;
|
|
40
|
+
/** Receives the relay handler the sidecar should call for `/__hsx/relay` posts. */
|
|
41
|
+
readonly onRelayReady?: (handle: (payload: unknown) => unknown) => void;
|
|
29
42
|
/** Called every successful heartbeat (used by the request-log renderer). */
|
|
30
43
|
readonly onHeartbeat?: (info: {
|
|
31
44
|
at: Date;
|
|
@@ -51,6 +64,14 @@ export interface HeartbeatFailure {
|
|
|
51
64
|
readonly status?: number;
|
|
52
65
|
readonly message: string;
|
|
53
66
|
}
|
|
67
|
+
export interface DevSessionFrontendLogs {
|
|
68
|
+
/** True when the console relay (and reload-state) is live on some transport. */
|
|
69
|
+
readonly active: boolean;
|
|
70
|
+
/** `serverless` (local app function) or `fetch` (HubSpot's local proxy → sidecar). */
|
|
71
|
+
readonly transport?: FrontendLogRelayTransport;
|
|
72
|
+
/** Human-readable reason the relay stayed off; present whenever `active` is false. */
|
|
73
|
+
readonly unavailableReason?: string;
|
|
74
|
+
}
|
|
54
75
|
export interface DevSessionHandle {
|
|
55
76
|
readonly sessionId: number;
|
|
56
77
|
readonly ports: ReadonlyArray<{
|
|
@@ -58,7 +79,36 @@ export interface DevSessionHandle {
|
|
|
58
79
|
port: number;
|
|
59
80
|
}>;
|
|
60
81
|
readonly nodeUids: readonly string[];
|
|
82
|
+
readonly frontendLogs: DevSessionFrontendLogs;
|
|
83
|
+
readonly localProxy: DevSessionLocalProxy;
|
|
61
84
|
cleanup(): Promise<void>;
|
|
62
85
|
}
|
|
86
|
+
export interface DevSessionLocalProxy {
|
|
87
|
+
readonly mode: HubSpotLocalProxyMode;
|
|
88
|
+
/**
|
|
89
|
+
* `hubspot.fetch` origins rewritten by `<app root>/local.json`, with
|
|
90
|
+
* reachability and whether the mapping was applied this start (auto drops
|
|
91
|
+
* mappings whose target is not listening; never drops them all).
|
|
92
|
+
*/
|
|
93
|
+
readonly mappings: readonly (HubSpotLocalProxyProbe & {
|
|
94
|
+
readonly applied: boolean;
|
|
95
|
+
})[];
|
|
96
|
+
/**
|
|
97
|
+
* True when HubSpot's dev server is in local proxy mode: every `hubspot.fetch`
|
|
98
|
+
* is issued from this machine — applied mappings go to their local target,
|
|
99
|
+
* anything else straight to the real origin. False means HubSpot's own proxy
|
|
100
|
+
* handles every fetch (signed by HubSpot).
|
|
101
|
+
*/
|
|
102
|
+
readonly active: boolean;
|
|
103
|
+
/** True when the hs-x relay mapping is part of the map (frontend logs via fetch). */
|
|
104
|
+
readonly relay: boolean;
|
|
105
|
+
/** Why proxy mode is off; absent when it is on. */
|
|
106
|
+
readonly blocker?: import('./local-proxy.js').HubSpotLocalProxyBlocker;
|
|
107
|
+
/**
|
|
108
|
+
* True when a client secret was found for HubSpot's local signer, so fetches
|
|
109
|
+
* that leave this machine carry HubSpot signature headers.
|
|
110
|
+
*/
|
|
111
|
+
readonly signed: boolean;
|
|
112
|
+
}
|
|
63
113
|
export declare function startDevSession(input: DevSessionStart): Promise<DevSessionHandle>;
|
|
64
114
|
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/dev/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,OAAO,EAAE,KAAK,oBAAoB,EAAkB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/dev/session-manager.ts"],"names":[],"mappings":"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"}
|