@mercuryo-ai/magicpay-home 0.1.10 → 0.1.12
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 +82 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/workflow-state.d.ts +85 -8
- package/dist/workflow-state.d.ts.map +1 -1
- package/dist/workflow-state.js +50 -7
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -2,28 +2,96 @@
|
|
|
2
2
|
|
|
3
3
|
[](LICENSE)
|
|
4
4
|
|
|
5
|
-
Shared
|
|
5
|
+
Shared home directory and state contract for the MagicPay CLI family.
|
|
6
6
|
|
|
7
|
-
This package owns
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
This package owns `~/.magicpay/`: the on-disk home directory where
|
|
8
|
+
MagicPay's CLIs keep their config, browser-session pointer, workflow
|
|
9
|
+
state, and related files. It is not a CLI of its own — it is consumed
|
|
10
|
+
as a dependency by:
|
|
10
11
|
|
|
11
|
-
- [`@mercuryo-ai/
|
|
12
|
+
- [`@mercuryo-ai/magicbrowse-cli`](https://www.npmjs.com/package/@mercuryo-ai/magicbrowse-cli) — browser-only CLI; uses the shared MagicPay gateway config
|
|
12
13
|
- [`@mercuryo-ai/magicpay-cli`](https://www.npmjs.com/package/@mercuryo-ai/magicpay-cli) — protected-form fills
|
|
13
14
|
- [`@mercuryo-ai/magicpay-agent-cli`](https://www.npmjs.com/package/@mercuryo-ai/magicpay-agent-cli) — combined browser + payment agent
|
|
15
|
+
- [`@mercuryo-ai/agentbrowse-cli`](https://www.npmjs.com/package/@mercuryo-ai/agentbrowse-cli) — legacy browser CLI; on a deprecation track, not for new integrations
|
|
14
16
|
|
|
15
|
-
## Do I
|
|
17
|
+
## Do I Need To Install This?
|
|
16
18
|
|
|
17
|
-
No
|
|
18
|
-
You
|
|
19
|
+
**No.** This package is pulled in automatically as a dependency of the CLIs
|
|
20
|
+
above. You do not need to install or configure it directly.
|
|
19
21
|
|
|
20
|
-
##
|
|
22
|
+
## Why This Package Exists
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
Each MagicPay CLI needs one place on disk for the shared API key, the
|
|
25
|
+
current workflow state, the browser-session pointer, mock-mode files,
|
|
26
|
+
and update-check state. Putting all of that under one named directory
|
|
27
|
+
keeps configuration, debugging, and reset operations predictable across
|
|
28
|
+
the whole CLI family.
|
|
29
|
+
|
|
30
|
+
`magicpay-home` is the owner of `~/.magicpay/` and of the typed helpers
|
|
31
|
+
the other packages call to read and write files there:
|
|
32
|
+
|
|
33
|
+
1. Defines the MagicPay home directory at `~/.magicpay/`.
|
|
34
|
+
2. Provides typed helpers for the MagicPay-specific files
|
|
35
|
+
(`config.json`, `workflow-state.json`, `browser-session.json`,
|
|
36
|
+
`update-state.json`, mock files).
|
|
37
|
+
3. Lets the CLIs share state across separate processes safely (atomic
|
|
38
|
+
writes, single-workflow lock).
|
|
39
|
+
|
|
40
|
+
> The browser library [`@mercuryo-ai/magicbrowse`](https://www.npmjs.com/package/@mercuryo-ai/magicbrowse)
|
|
41
|
+
> keeps its own runtime diagnostics under `MAGICBROWSE_HOME` (default
|
|
42
|
+
> `~/.magicbrowse/`) — `current-session.json`, `runs/<runId>.json`,
|
|
43
|
+
> `run-index.json`, named profiles. Those files are separate from the
|
|
44
|
+
> MagicPay home and are not redirected today. See
|
|
45
|
+
> [`@mercuryo-ai/magicbrowse`](https://www.npmjs.com/package/@mercuryo-ai/magicbrowse)
|
|
46
|
+
> for that layout.
|
|
47
|
+
|
|
48
|
+
## Directory Layout
|
|
49
|
+
|
|
50
|
+
All paths are relative to `~/.magicpay/` (or the OS equivalent of
|
|
51
|
+
`homedir() + "/.magicpay/"`).
|
|
52
|
+
|
|
53
|
+
All files in this table are owned and written by `magicpay-home` itself
|
|
54
|
+
(or by CLIs through `magicpay-home` helpers). The browser library's own
|
|
55
|
+
diagnostics live separately under `MAGICBROWSE_HOME` (see note above).
|
|
56
|
+
|
|
57
|
+
| Path | Purpose | Written by |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `config.json` | Shared config: MagicPay gateway (`apiKey`, `apiUrl`), browser defaults (profile, headless, proxy), updates policy. | `init` on any CLI. |
|
|
60
|
+
| `browser-session.json` | CDP endpoint and browser-session pointer the payment-side CLIs use to remember an `attach` across processes. | `magicpay-cli` and `magicpay-agent-cli`. |
|
|
61
|
+
| `workflow-state.json` | In-flight protected-form workflow state (open-data snapshot, cached transient secrets, current step). | `magicpay-cli` and `magicpay-agent-cli` only. |
|
|
62
|
+
| `update-state.json` | Last CLI update-check timestamp and cached result. | Any CLI that runs the update check. |
|
|
63
|
+
| `mock-stored-secrets.json` | Development-only mock vault items. Not used in production. | Only when the CLI is run in mock mode. |
|
|
64
|
+
| `mock-secret-requests.json` | Development-only mock secret-request log. Not used in production. | Only when the CLI is run in mock mode. |
|
|
65
|
+
| `profiles/` | Reserved directory for named browser-profile data when a CLI chooses to root profiles under MagicPay home. | Currently unused by the live CLI set; reserved path. |
|
|
66
|
+
| `runs/` | Per-run telemetry and files captured by MagicPay CLIs. | Any MagicPay CLI run that records run telemetry. |
|
|
67
|
+
|
|
68
|
+
Rules of thumb when debugging:
|
|
69
|
+
|
|
70
|
+
- **Safe to delete to reset auth:** `config.json`. The next `init` re-creates it.
|
|
71
|
+
- **Safe to delete to reset the browser session:** `browser-session.json`.
|
|
72
|
+
Next `launch` / `attach` starts fresh.
|
|
73
|
+
- **Safe to delete to reset an active workflow:** `workflow-state.json`.
|
|
74
|
+
Any active `magicpay` / `magicpay-agent` session is lost; the next
|
|
75
|
+
`start-session` begins clean.
|
|
76
|
+
- **Do not hand-edit** any of these files — they are managed by the CLIs
|
|
77
|
+
and may be rewritten at any moment.
|
|
78
|
+
|
|
79
|
+
## What The Package Provides
|
|
80
|
+
|
|
81
|
+
- Typed helpers for reading and writing `config.json`
|
|
82
|
+
(`readMagicPayConfig`, `writeMagicPayConfig`, `doctorMagicPayConfig`).
|
|
83
|
+
- Path helpers for every file and directory above (`getMagicPayHomeDir`,
|
|
84
|
+
`getMagicPayConfigPath`, `getMagicPayBrowserSessionPath`, etc.).
|
|
85
|
+
- Workflow-state helpers for the active protected-form session
|
|
86
|
+
(`loadWorkflowContext`, `saveWorkflowContext`, `clearWorkflowState`).
|
|
87
|
+
- Browser-session helpers (`loadMagicPayBrowserSession`,
|
|
88
|
+
`saveMagicPayBrowserSession`, `deleteMagicPayBrowserSession`) for the
|
|
89
|
+
CDP endpoint pointer that magicpay-cli and magicpay-agent-cli persist
|
|
90
|
+
across processes.
|
|
91
|
+
- CLI update-check helper (`checkForPackageUpdate`) with state persisted
|
|
92
|
+
in `update-state.json`.
|
|
93
|
+
- Safe concurrent writes so several MagicPay CLIs can run in the same
|
|
94
|
+
process or side-by-side without corrupting shared files.
|
|
27
95
|
|
|
28
96
|
## License
|
|
29
97
|
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { compareVersions, checkForPackageUpdate, type PackageUpdateCheckOptions,
|
|
|
2
2
|
export { type MagicPayBrowserProxyConfig, type MagicPayBrowserProxySetting, type MagicPayConfigDoctorConfigState, type MagicPayConfigDoctorFailure, type MagicPayConfigDoctorGatewayState, type MagicPayConfigDoctorIssue, type MagicPayConfigDoctorResult, type MagicPayConfigDoctorSuccess, type MagicPaySharedConfig, doctorMagicPayConfig, getMagicPayBrowserDefaults, getMagicPayConfigPath, getMagicPayHomeDir, getMagicPayProfilesDir, getMagicPayUpdateStatePath, loadGatewayConfig, normalizeMagicPayApiUrl, readMagicPayConfig, writeMagicPayConfig, } from './config.js';
|
|
3
3
|
export { deleteFileIfExists, ensureMagicPayHomeDir, ensureParentDir, atomicWriteJson, atomicWriteText, readJsonFile, } from './fs.js';
|
|
4
4
|
export { MAGICPAY_BROWSER_SESSION_FILENAME, MAGICPAY_CONFIG_FILENAME, MAGICPAY_HOME_DIRNAME, MAGICPAY_MOCK_SECRET_REQUESTS_FILENAME, MAGICPAY_MOCK_STORED_SECRETS_FILENAME, MAGICPAY_PROFILES_DIRNAME, MAGICPAY_RUNS_DIRNAME, MAGICPAY_UPDATE_STATE_FILENAME, MAGICPAY_WORKFLOW_STATE_FILENAME, getMagicPayBrowserSessionPath, getMagicPayMockSecretRequestsPath, getMagicPayMockStoredSecretsPath, getMagicPayRunsDir, getMagicPayWorkflowStatePath, } from './paths.js';
|
|
5
|
-
export { type CachedTransientSecretEntry, type MagicPaySession, type SessionOpenDataEntry, type SessionOpenDataFreshness, type SessionOpenDataProvenance, type SessionOpenDataSensitivity, type SessionOpenDataSnapshot, type SessionOpenDataSource, type MagicPayWorkflowContext, buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, clearWorkflowState, deleteCachedTransientSecret, deleteMagicPayBrowserSession, deleteWorkflowContext, getCachedTransientSecret, getSessionOpenDataValues, loadProfileFactsIntoOpenDataSnapshot, loadMagicPayBrowserSession, loadMagicPaySession, loadWorkflowContext, mergeSessionOpenDataValues, saveMagicPayBrowserSession, saveMagicPaySession, saveWorkflowContext, } from './workflow-state.js';
|
|
5
|
+
export { type CachedTransientSecretEntry, type BrowserSessionState, type BrowserSessionTransport, type MagicPayBrowserSessionCapabilities, type MagicPayBrowserSessionState, type MagicPaySession, type SessionOpenDataEntry, type SessionOpenDataFreshness, type SessionOpenDataProvenance, type SessionOpenDataSensitivity, type SessionOpenDataSnapshot, type SessionOpenDataSource, type MagicPayWorkflowContext, buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, clearWorkflowState, deleteCachedTransientSecret, deleteMagicPayBrowserSession, deleteWorkflowContext, getCachedTransientSecret, getSessionOpenDataValues, loadProfileFactsIntoOpenDataSnapshot, loadMagicPayBrowserSession, loadMagicPaySession, loadWorkflowContext, mergeSessionOpenDataValues, saveMagicPayBrowserSession, saveMagicPaySession, saveWorkflowContext, supportsMagicPayCaptchaSolve, withMagicPayCaptchaCapability, } from './workflow-state.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,qBAAqB,EACrB,sCAAsC,EACtC,qCAAqC,EACrC,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,iCAAiC,EACjC,gCAAgC,EAChC,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,qBAAqB,EACrB,sCAAsC,EACtC,qCAAqC,EACrC,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,iCAAiC,EACjC,gCAAgC,EAChC,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kCAAkC,EACvC,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,kCAAkC,EAClC,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,4 @@ export { compareVersions, checkForPackageUpdate, } from './cli-update-check.js';
|
|
|
2
2
|
export { doctorMagicPayConfig, getMagicPayBrowserDefaults, getMagicPayConfigPath, getMagicPayHomeDir, getMagicPayProfilesDir, getMagicPayUpdateStatePath, loadGatewayConfig, normalizeMagicPayApiUrl, readMagicPayConfig, writeMagicPayConfig, } from './config.js';
|
|
3
3
|
export { deleteFileIfExists, ensureMagicPayHomeDir, ensureParentDir, atomicWriteJson, atomicWriteText, readJsonFile, } from './fs.js';
|
|
4
4
|
export { MAGICPAY_BROWSER_SESSION_FILENAME, MAGICPAY_CONFIG_FILENAME, MAGICPAY_HOME_DIRNAME, MAGICPAY_MOCK_SECRET_REQUESTS_FILENAME, MAGICPAY_MOCK_STORED_SECRETS_FILENAME, MAGICPAY_PROFILES_DIRNAME, MAGICPAY_RUNS_DIRNAME, MAGICPAY_UPDATE_STATE_FILENAME, MAGICPAY_WORKFLOW_STATE_FILENAME, getMagicPayBrowserSessionPath, getMagicPayMockSecretRequestsPath, getMagicPayMockStoredSecretsPath, getMagicPayRunsDir, getMagicPayWorkflowStatePath, } from './paths.js';
|
|
5
|
-
export { buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, clearWorkflowState, deleteCachedTransientSecret, deleteMagicPayBrowserSession, deleteWorkflowContext, getCachedTransientSecret, getSessionOpenDataValues, loadProfileFactsIntoOpenDataSnapshot, loadMagicPayBrowserSession, loadMagicPaySession, loadWorkflowContext, mergeSessionOpenDataValues, saveMagicPayBrowserSession, saveMagicPaySession, saveWorkflowContext, } from './workflow-state.js';
|
|
5
|
+
export { buildWorkflowContextForPersistence, cacheTransientSecret, canHydrateWorkflowContext, cleanupTransientSecretCache, clearWorkflowState, deleteCachedTransientSecret, deleteMagicPayBrowserSession, deleteWorkflowContext, getCachedTransientSecret, getSessionOpenDataValues, loadProfileFactsIntoOpenDataSnapshot, loadMagicPayBrowserSession, loadMagicPaySession, loadWorkflowContext, mergeSessionOpenDataValues, saveMagicPayBrowserSession, saveMagicPaySession, saveWorkflowContext, supportsMagicPayCaptchaSolve, withMagicPayCaptchaCapability, } from './workflow-state.js';
|
package/dist/workflow-state.d.ts
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
|
+
import type { MagicBrowseMatchGroupSubject, MagicBrowseSubmitTargetDescriptor, OpenDataTargetDescriptor, ProtectedRedactionProfiles } from '@mercuryo-ai/magicbrowse';
|
|
1
2
|
import type { MagicPayProfileFacts, SecretCatalog, SecretRequestSnapshot } from '@mercuryo-ai/magicpay-sdk';
|
|
2
|
-
|
|
3
|
+
export interface BrowserSessionIdentity {
|
|
4
|
+
browserInstanceRef: string;
|
|
5
|
+
endpoint: string;
|
|
6
|
+
pid?: number;
|
|
7
|
+
profile?: string;
|
|
8
|
+
provider?: string;
|
|
9
|
+
launchedAt: string;
|
|
10
|
+
ownership: 'magicbrowse' | 'external';
|
|
11
|
+
}
|
|
12
|
+
export interface BrowserSessionTransport {
|
|
13
|
+
endpoint?: string;
|
|
14
|
+
proxyMode?: 'direct' | 'proxy';
|
|
15
|
+
proxy?: {
|
|
16
|
+
server: string;
|
|
17
|
+
username?: string;
|
|
18
|
+
password?: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export type BrowserRuntimePage = Record<string, unknown> & {
|
|
22
|
+
url?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
scopeEpoch?: number;
|
|
25
|
+
};
|
|
26
|
+
export type BrowserRuntimeTarget = (OpenDataTargetDescriptor | MagicBrowseSubmitTargetDescriptor) & Record<string, unknown> & {
|
|
27
|
+
pageRef: string;
|
|
28
|
+
lifecycle: 'live' | 'stale' | 'gone';
|
|
29
|
+
availability: {
|
|
30
|
+
state: 'available' | 'unavailable' | 'hidden' | string;
|
|
31
|
+
reason?: string;
|
|
32
|
+
};
|
|
33
|
+
capability: 'actionable' | 'field' | string;
|
|
34
|
+
allowedActions: string[];
|
|
35
|
+
acceptancePolicy?: string;
|
|
36
|
+
surfaceRef?: string;
|
|
37
|
+
ownerRef?: string;
|
|
38
|
+
};
|
|
39
|
+
export type BrowserRuntimeFillableForm = MagicBrowseMatchGroupSubject & Record<string, unknown> & {
|
|
40
|
+
observedAt?: string;
|
|
41
|
+
presence?: 'present' | 'unknown' | 'absent';
|
|
42
|
+
scopeEpoch?: number;
|
|
43
|
+
};
|
|
44
|
+
export interface BrowserSessionState {
|
|
45
|
+
cdpUrl: string;
|
|
46
|
+
pid?: number;
|
|
47
|
+
launchedAt: string;
|
|
48
|
+
port?: number;
|
|
49
|
+
profile?: string;
|
|
50
|
+
identity?: BrowserSessionIdentity;
|
|
51
|
+
transport?: BrowserSessionTransport;
|
|
52
|
+
runtime?: {
|
|
53
|
+
currentPageRef?: string;
|
|
54
|
+
pages?: Record<string, BrowserRuntimePage>;
|
|
55
|
+
targets?: Record<string, BrowserRuntimeTarget>;
|
|
56
|
+
fillableForms?: Record<string, BrowserRuntimeFillableForm>;
|
|
57
|
+
protectedExposureByPage?: Record<string, unknown>;
|
|
58
|
+
protectedRedactionProfiles?: ProtectedRedactionProfiles;
|
|
59
|
+
secretCatalogByHost?: Record<string, SecretCatalog & {
|
|
60
|
+
source?: string;
|
|
61
|
+
}>;
|
|
62
|
+
[key: string]: unknown;
|
|
63
|
+
};
|
|
64
|
+
stickyOwner?: Record<string, unknown>;
|
|
65
|
+
magicBrowseSessionId?: string;
|
|
66
|
+
runId?: string;
|
|
67
|
+
}
|
|
3
68
|
export interface CachedTransientSecretEntry {
|
|
4
69
|
requestId: string;
|
|
5
70
|
fillRef: string;
|
|
@@ -12,6 +77,12 @@ export interface CachedTransientSecretEntry {
|
|
|
12
77
|
export type SessionOpenDataSource = 'profile_facts' | 'session_open_value';
|
|
13
78
|
export type SessionOpenDataFreshness = 'profile_snapshot' | 'session_learned';
|
|
14
79
|
export type SessionOpenDataSensitivity = 'open' | 'protected';
|
|
80
|
+
export type SessionOpenDataApplicability = {
|
|
81
|
+
target: 'global';
|
|
82
|
+
} | {
|
|
83
|
+
target: 'host';
|
|
84
|
+
value: string;
|
|
85
|
+
};
|
|
15
86
|
export interface SessionOpenDataProvenance {
|
|
16
87
|
kind: 'profile_facts' | 'data_resolve' | 'data_provide';
|
|
17
88
|
requestId?: string;
|
|
@@ -22,10 +93,7 @@ export interface SessionOpenDataEntry {
|
|
|
22
93
|
source: SessionOpenDataSource;
|
|
23
94
|
freshness: SessionOpenDataFreshness;
|
|
24
95
|
sensitivity: SessionOpenDataSensitivity;
|
|
25
|
-
applicability:
|
|
26
|
-
target: 'global' | 'host';
|
|
27
|
-
value?: string;
|
|
28
|
-
};
|
|
96
|
+
applicability: SessionOpenDataApplicability;
|
|
29
97
|
updatedAt: string;
|
|
30
98
|
factsUpdatedAt?: string;
|
|
31
99
|
provenance: SessionOpenDataProvenance;
|
|
@@ -47,8 +115,16 @@ export interface MagicPayWorkflowContext {
|
|
|
47
115
|
transientSecretCache?: Record<string, CachedTransientSecretEntry>;
|
|
48
116
|
openDataSnapshot?: SessionOpenDataSnapshot;
|
|
49
117
|
}
|
|
50
|
-
export interface
|
|
118
|
+
export interface MagicPayBrowserSessionCapabilities {
|
|
119
|
+
captchaSolve?: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface MagicPayBrowserSessionState extends BrowserSessionState {
|
|
122
|
+
capabilities?: MagicPayBrowserSessionCapabilities;
|
|
123
|
+
}
|
|
124
|
+
export interface MagicPaySession extends MagicPayBrowserSessionState, MagicPayWorkflowContext {
|
|
51
125
|
}
|
|
126
|
+
export declare function withMagicPayCaptchaCapability<T extends BrowserSessionState>(session: T, captchaSolve?: boolean): T & MagicPayBrowserSessionState;
|
|
127
|
+
export declare function supportsMagicPayCaptchaSolve(session: MagicPayBrowserSessionState | BrowserSessionState | null | undefined): boolean;
|
|
52
128
|
export declare function loadProfileFactsIntoOpenDataSnapshot(session: MagicPayWorkflowContext, profileFacts: MagicPayProfileFacts, options?: {
|
|
53
129
|
loadedAt?: string;
|
|
54
130
|
}): SessionOpenDataSnapshot;
|
|
@@ -75,9 +151,10 @@ export declare function clearWorkflowState(session: MagicPaySession): MagicPaySe
|
|
|
75
151
|
export declare function loadWorkflowContext(): MagicPayWorkflowContext | null;
|
|
76
152
|
export declare function saveWorkflowContext(context: MagicPayWorkflowContext): void;
|
|
77
153
|
export declare function deleteWorkflowContext(): void;
|
|
78
|
-
export declare function saveMagicPayBrowserSession(session:
|
|
79
|
-
export declare function loadMagicPayBrowserSession():
|
|
154
|
+
export declare function saveMagicPayBrowserSession(session: MagicPayBrowserSessionState): void;
|
|
155
|
+
export declare function loadMagicPayBrowserSession(): MagicPayBrowserSessionState | null;
|
|
80
156
|
export declare function deleteMagicPayBrowserSession(): void;
|
|
81
157
|
export declare function saveMagicPaySession(session: MagicPaySession): void;
|
|
82
158
|
export declare function loadMagicPaySession(): MagicPaySession | null;
|
|
159
|
+
export declare function resolveBrowserSessionId(session: Pick<BrowserSessionState, 'cdpUrl' | 'identity' | 'pid' | 'magicBrowseSessionId'>): string;
|
|
83
160
|
//# sourceMappingURL=workflow-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-state.d.ts","sourceRoot":"","sources":["../src/workflow-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-state.d.ts","sourceRoot":"","sources":["../src/workflow-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAQnC,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,aAAa,GAAG,UAAU,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,wBAAwB,GAAG,iCAAiC,CAAC,GAC/F,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACrC,YAAY,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,UAAU,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,0BAA0B,GAAG,4BAA4B,GACnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEJ,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC3D,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;QACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,oBAAoB,CAAC;AAC3E,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAC9E,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,WAAW,CAAC;AAC9D,MAAM,MAAM,4BAA4B,GACpC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,wBAAwB,CAAC;IACpC,WAAW,EAAE,0BAA0B,CAAC;IACxC,aAAa,EAAE,4BAA4B,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,yBAAyB,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC/D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAClE,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,YAAY,CAAC,EAAE,kCAAkC,CAAC;CACnD;AAED,MAAM,WAAW,eAAgB,SAAQ,2BAA2B,EAAE,uBAAuB;CAAG;AAEhG,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,mBAAmB,EACzE,OAAO,EAAE,CAAC,EACV,YAAY,UAAO,GAClB,CAAC,GAAG,2BAA2B,CASjC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,2BAA2B,GAAG,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC5E,OAAO,CAET;AAwJD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,uBAAuB,EAChC,YAAY,EAAE,oBAAoB,EAClC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,uBAAuB,CAiCzB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,WAAW,CAAC,EAAE,0BAA0B,CAAC;CACrC,GACL,uBAAuB,CAgCzB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,oBAAoB,EAAE,CAexB;AA0BD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,OAAO,CAqBT;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,0BAA0B,GAChC,0BAA0B,CAQ5B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,0BAA0B,GAAG,IAAI,CAGnC;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE,MAAM,GAChB,OAAO,CAYT;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,uBAAuB,EAChC,wBAAwB,EAAE,MAAM,GAC/B,uBAAuB,GAAG,IAAI,CAyBhC;AAED,wBAAgB,yBAAyB,CACvC,wBAAwB,EAAE,MAAM,EAChC,eAAe,EAAE,uBAAuB,GACvC,OAAO,CAKT;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAa5E;AAED,wBAAgB,mBAAmB,IAAI,uBAAuB,GAAG,IAAI,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAE1E;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAErF;AAED,wBAAgB,0BAA0B,IAAI,2BAA2B,GAAG,IAAI,CAE/E;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAwCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAQlE;AAED,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CA6B5D;AAYD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,sBAAsB,CAAC,GACzF,MAAM,CAcR"}
|
package/dist/workflow-state.js
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
import { createBrowserSessionStore, resolveBrowserSessionId, } from '@mercuryo-ai/agentbrowse';
|
|
2
1
|
import { deleteFileIfExists, atomicWriteJson, readJsonFile } from './fs.js';
|
|
3
|
-
import {
|
|
2
|
+
import { getMagicPayBrowserSessionPath, getMagicPayWorkflowStatePath, } from './paths.js';
|
|
3
|
+
export function withMagicPayCaptchaCapability(session, captchaSolve = true) {
|
|
4
|
+
const currentCapabilities = session.capabilities;
|
|
5
|
+
return {
|
|
6
|
+
...session,
|
|
7
|
+
capabilities: {
|
|
8
|
+
...(currentCapabilities ?? {}),
|
|
9
|
+
captchaSolve,
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function supportsMagicPayCaptchaSolve(session) {
|
|
14
|
+
return session?.capabilities?.captchaSolve === true;
|
|
15
|
+
}
|
|
4
16
|
function isSupportedOpenDataValue(value) {
|
|
5
17
|
return typeof value === 'string' || (typeof value === 'number' && Number.isFinite(value));
|
|
6
18
|
}
|
|
@@ -58,7 +70,7 @@ function openDataEntryIdentity(entry) {
|
|
|
58
70
|
return [
|
|
59
71
|
normalizeOpenDataFieldKey(entry.fieldKey),
|
|
60
72
|
entry.applicability.target,
|
|
61
|
-
normalizeScopeValue(entry.applicability.value),
|
|
73
|
+
normalizeScopeValue(entry.applicability.target === 'host' ? entry.applicability.value : undefined),
|
|
62
74
|
entry.value,
|
|
63
75
|
].join('::');
|
|
64
76
|
}
|
|
@@ -176,10 +188,19 @@ export function getSessionOpenDataValues(session, fieldKey, options = {}) {
|
|
|
176
188
|
.map((entry) => cloneOpenDataEntry(entry));
|
|
177
189
|
}
|
|
178
190
|
function getMagicPayBrowserSessionStore() {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
191
|
+
const sessionPath = getMagicPayBrowserSessionPath();
|
|
192
|
+
return {
|
|
193
|
+
save(session) {
|
|
194
|
+
atomicWriteJson(sessionPath, session);
|
|
195
|
+
},
|
|
196
|
+
load() {
|
|
197
|
+
const session = readJsonFile(sessionPath);
|
|
198
|
+
return session?.cdpUrl ? session : null;
|
|
199
|
+
},
|
|
200
|
+
delete() {
|
|
201
|
+
deleteFileIfExists(sessionPath);
|
|
202
|
+
},
|
|
203
|
+
};
|
|
183
204
|
}
|
|
184
205
|
function isExpired(expiresAt, now) {
|
|
185
206
|
if (!expiresAt) {
|
|
@@ -346,3 +367,25 @@ export function loadMagicPaySession() {
|
|
|
346
367
|
return null;
|
|
347
368
|
}
|
|
348
369
|
}
|
|
370
|
+
function parseBrowserInstanceRef(cdpUrl) {
|
|
371
|
+
try {
|
|
372
|
+
const url = new URL(cdpUrl);
|
|
373
|
+
const pathname = url.pathname.replace(/^\/+/, '').replace(/\/+$/, '');
|
|
374
|
+
return `${url.host}${pathname ? `/${pathname}` : ''}`;
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
return cdpUrl.replace(/^https?:\/\//, '').replace(/^wss?:\/\//, '').replace(/\/+$/, '');
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
export function resolveBrowserSessionId(session) {
|
|
381
|
+
if (session.magicBrowseSessionId) {
|
|
382
|
+
return session.magicBrowseSessionId;
|
|
383
|
+
}
|
|
384
|
+
if (session.identity?.browserInstanceRef) {
|
|
385
|
+
return session.identity.browserInstanceRef;
|
|
386
|
+
}
|
|
387
|
+
if (typeof session.pid === 'number' && Number.isFinite(session.pid) && session.pid > 0) {
|
|
388
|
+
return `pid-${session.pid}`;
|
|
389
|
+
}
|
|
390
|
+
return `cdp-${parseBrowserInstanceRef(session.cdpUrl)}`;
|
|
391
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mercuryo-ai/magicpay-home",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Internal shared local home/config/state contract for MagicPay product CLIs",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@mercuryo-ai/
|
|
24
|
-
"@mercuryo-ai/magicpay-sdk": "0.1.
|
|
23
|
+
"@mercuryo-ai/magicbrowse": "0.0.1",
|
|
24
|
+
"@mercuryo-ai/magicpay-sdk": "0.1.4"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.0.0",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"vitest": "^4.0.18"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
|
-
"build": "pnpm --dir ../.. --filter @mercuryo-ai/
|
|
33
|
-
"check-types": "pnpm --dir ../.. --filter @mercuryo-ai/
|
|
32
|
+
"build": "pnpm --dir ../.. --filter @mercuryo-ai/magicbrowse build && pnpm --dir ../.. --filter @mercuryo-ai/magicpay-sdk build && node -e \"require('node:fs').rmSync('dist',{ recursive: true, force: true, maxRetries: 10, retryDelay: 50 })\" && tsc -p tsconfig.build.json",
|
|
33
|
+
"check-types": "pnpm --dir ../.. --filter @mercuryo-ai/magicbrowse build && pnpm --dir ../.. --filter @mercuryo-ai/magicpay-sdk build && tsc --noEmit",
|
|
34
34
|
"pack:verify": "node scripts/verify-pack-artifact.mjs",
|
|
35
35
|
"smoke:pack-install": "node scripts/verify-pack-install-smoke.mjs",
|
|
36
36
|
"test": "npm run test:deps && vitest run",
|
|
37
|
-
"test:deps": "pnpm --dir ../.. --filter @mercuryo-ai/
|
|
37
|
+
"test:deps": "pnpm --dir ../.. --filter @mercuryo-ai/magicbrowse build && pnpm --dir ../.. --filter @mercuryo-ai/magicpay-sdk build"
|
|
38
38
|
}
|
|
39
39
|
}
|